Commit Graph

131 Commits

Author SHA1 Message Date
Iain Sproat 91c61682cb Include punctuation 2025-03-12 11:51:32 +00:00
Iain Sproat 7d179845a3 incorporate PR comments 2025-03-12 11:50:21 +00:00
Iain Sproat 0ac69bc54b fix(shared): ensureError should not bury original message
- if 'e', the original cause, is not an Error, it is buried by the fallback message.
- this PR ensures that the original cause is included in the error message
2025-03-12 11:31:25 +00:00
Iain Sproat e9a90717a4 Observe load and render times in metrics
- makes new durations optional (so requests in flight aren't dropped during deployment)
- Adds durations as a label to existing metric
- Attempt to produce durations in error cases (so we can see long load times etc..)
2025-03-11 12:56:21 +00:00
Gergő Jedlicska 3fc61c2dbd feat(preview-service): add load and render duration calculation to preview service 2025-03-11 12:59:50 +01:00
andrewwallacespeckle 4699c99c8d Update labels of Onboarding Plans to align with marketing site (#4138) 2025-03-07 15:50:33 +00:00
Gergő Jedlicska 61609de97e gergo/previews (#3765)
* feat(preview-generator): add new preview generator webapp

* wip(preview-service): reworking the preview service backend

* feat(previews): logging

* feat(preview-service): streamline payloads

* fix(preview-service): do not log the full payload

* feat(preview-service): build new preview service

* feat(preview-service): add separate response queue

* feat(previews): integrate preview queues with the server

* feat(previews): use module alias

* chore(previews): remove old preview service code

* feat(previews): log stuff on job statuses

* fix(previews): add missing deps and scripts

* fix(previews): package deps fix

* fix(server): moar typing fixes

* Metrics related to jobs: total count, request failures, response errors & durations

* duration should include unit.
- histogram metric should be summary
- error responses include duration in seconds
- attempt to remove metric before adding it (prevent errors with duplicate metrics)

* fix(server, frontend): some ts fixes

* fixes

* fix(frontend): remove unneeded ts-expect-error

* chore(preview-service): eslint

* TS fix

* feat(previews): more smoal fixes

* fix(preview-service): alias loading

* feat(helm): updates for new preview service queue setup

* feat(preview-service): launch new browser for each job

* feat(preview-service): add timeout, fix liveliness

* fix(helm): add access to new secret in service accounts

* tidy metrics into a separate file

* Remove broken preview service acceptance test

* fix broken import

* Add metrics to test

* feat(preview-service): handle preview service shutdown properly

* fix(previews): merge bork

---------

Co-authored-by: Iain Sproat <68657+iainsproat@users.noreply.github.com>
Co-authored-by: Kristaps Fabians Geikins <fabis94@live.com>
2025-03-06 14:26:56 +01:00
Mike a13145332b Feat: Base for new billing settings (#4115) 2025-03-05 18:16:05 +01:00
Kristaps Fabians Geikins 954b1a9f11 feat: plan prices accurately read from Stripe (#4104)
* WIP prices + new caching utils

* cached workspace plan prices

* GQL API done

* integrated in frontend

* fixed missing FF

* CR fixes

* integration tests

* removed non-existant team yearly env var
2025-03-05 12:23:38 +02:00
andrewwallacespeckle c384996978 refactor(fe): New workspace actions route to avoid slug conflicts (#4107)
* Remove blockedSlugs

* Update workspace action routes to use /actions

* Re-add blockedWords
2025-03-04 14:43:07 +00:00
andrewwallacespeckle 29c464f4c3 Update validateWorkspaceSlug (#4102) 2025-03-03 14:38:00 +00:00
Alessandro Magionami 01fb463a7c Merge pull request #4052 from specklesystems/alessandro/web-2728-full-seat-products-for-new-paid-plans
chore(gatekeeper): rename workspace plans
2025-02-28 10:23:08 +01:00
Iain Sproat 51087d53fc refactor(shared/logging): tidy up logger constructor (#4081) 2025-02-28 08:48:09 +00:00
Alessandro Magionami ee92b254bc Merge branch 'main' of github.com:specklesystems/speckle-server into alessandro/web-2728-full-seat-products-for-new-paid-plans 2025-02-28 09:37:57 +01:00
andrewwallacespeckle 8c69f22e27 feat: Update user tags in Mailchimp when user completes onboarding questions (#4000)
* Add new updateMailchimpMemberTags function and use it in FE

* Pass tag data from FE

* Plan > Use case

* move onboarding types to shared package

* Check newsletter consent

* Changes from PR

* GQL
2025-02-27 11:29:00 +00:00
Kristaps Fabians Geikins ec092fb042 chore: move common workspace plan/feature config to @speckle/shared (#4064)
fix: gqlgen regenerated
2025-02-27 11:18:30 +02:00
Kristaps Fabians Geikins daec5f6b26 feat(fe2): add extra metadata to seq logs for improved observability (#4073) 2025-02-26 14:29:55 +02:00
Mike 2ecb98146a Feat: prevent non work emails (#3993) 2025-02-26 10:55:02 +01:00
Alessandro Magionami df28c3d8f8 chore(gatekeeper): ignore new plans if ff is disabled 2025-02-25 11:05:57 +01:00
Kristaps Fabians Geikins eb050bb649 feat(server): new plans + disabled checkout/upgrade/sidegrade (#4057)
* feat(server): new plans + disabled checkout/upgrade/sidegrade

* pushed in CR fixes
2025-02-25 09:46:46 +01:00
Gergő Jedlicska 5b0bb3b65d gergo/web 2635 set up new plans in the backend (#4031)
* feat(gatekeeper): add new free plan option as an unpaid workspace plan

* feat(workspaces): add feature flag for new plans

* feat(gatekeeper): add free plan option to workspace plans

* Added button in FE

* Make button more beautifuller

* feat(gatekeeper): enable creating workspaces on a free plan

* Fix

* Fix FE linting

---------

Co-authored-by: Mike Tasset <mike.tasset@gmail.com>
2025-02-21 14:49:04 +01:00
Kristaps Fabians Geikins 1d2a594f0a chore: upgrade TS 5.2 -> 5.7.3 & ESLint to 9.20.1 (#4032)
* chore: upgrade TS 5.2 -> 5.7.3

* vite dts fix

* lint fix

* resolutions fix

* ui comp build fix

* precommit fix?

* latest eslint version

* autoloader fix

* undo unnecessary viewer change

* eslint fixes fe2 + trying disabled type linting

* lint fixes
2025-02-20 14:18:18 +02:00
Mike 45d138e682 Fix: Typo in slug error (#4035) 2025-02-20 11:45:14 +01:00
Mike 6c254a8c65 Fix: Short ID generation + error (#4034) 2025-02-20 09:36:57 +01:00
Kristaps Fabians Geikins 49438f089d chore: all CI server test jobs have all FFs on by default (#4016) 2025-02-18 14:23:15 +02:00
Mike f376cfcc46 Fix: Always force email verification (#3990) 2025-02-15 08:30:57 +01:00
Chuck Driesler c382064585 feat(regions): move project branches and commits (#3843)
* feat(regions): repo functions for copying project branches and commits

* chore(regions): wire up move to resolver

* chore(regions): successful basic test of project region change

* fix(regions): sabrina carpenter please please please

* fix(regions): repair multiregion test setup

* chore(regions): appease ts

* chore(multiregion): update test multiregion config

* chore(multiregion): fix test docker config and test

* chore(multiregion): use transaction

* chore(multiregion): maybe this will work

* fix(multiregion): drop subs synchronously

* chore(multiregion): desperate test logs

* chore(multiregion): somehow that worked?

* chore(multiregion): add load-bearing log statement

* chore(multiregion): move services

* fix(multiregion): test drop waits

* chore(regions): fix import

* chore(regions): make test a bit more thorough for good measure

* fix(regions): speed up inserts

* fix(regions): ignore workspace conflict on move
2025-02-13 14:39:23 +00:00
Gergő Jedlicska c4a6da410b feat(core): drop the closure table pls (#3900)
* feat(core): drop the closure table pls

* feat(core): remove closures feature flag

* feat(core): remove more closure stuff

* feat(core): only drop closure table if it exists
2025-02-07 14:06:53 +01:00
Iain Sproat 55315feb59 fix(server/diffdownload): fix the bug where client connection close events were not propogated to the database stream connection (#3921)
* WIP: trying to catch a bug

* great success

* reinstate gzip

* Remove feature flag

* remove stream-chain dependency

* remove superfluous logging lines

* re-align with original where possible

* re-align package.json

* More re-alignment with main branch before the previous 'fix'

* A smaller failing example
2025-02-04 11:09:53 +01:00
Björn Steinhagen 3c7b6e2626 style: changing etabs short to edb (#3910) 2025-01-29 13:45:30 +00:00
Iain Sproat 32c310f849 fix(server/objects): solves database connection resource leak when client connections are prematurely closed (#3889) 2025-01-28 15:56:21 +01:00
andrewwallacespeckle fc634ebfe5 Add force onboarding FF (#3897) 2025-01-28 10:04:54 +01:00
andrewwallacespeckle e68e3173a8 Add FF_FORCE_EMAIL_VERIFICATION (#3866) 2025-01-22 13:40:57 +00:00
Kristaps Fabians Geikins 347fa4b462 feat(server): improving knex query stack traces (#3855)
* feat(server): improving knex query stack traces

* minor cleanup

* more improvements
2025-01-21 10:59:09 +01:00
Kristaps Fabians Geikins 3351e09418 feat(server): logging stack traces for db errors + allow async stack traces through env var (#3819) 2025-01-14 17:25:30 +01:00
Gergő Jedlicska db8de114d3 feat(server): new projects are placed in a configurable region (#3801)
* feat(server): log subscription started messages with info

* feat(server): create projects in a default region

* feat(server): allow project default region config

* feat(server): load project region from multi region config
2025-01-13 18:38:44 +01:00
Iain Sproat da6dbb94a6 fix(knex): bump knex from 2.4.1 to 2.5.1 to resolve leaking db connections (#3751) 2025-01-06 11:11:49 +00:00
Iain Sproat 571338c604 feat(feature flags): consolidate multi region & multi region blob storage (#3709) 2024-12-18 15:28:19 +00:00
Iain Sproat 0115e654b7 feat(database monitor): handles multi-region and connection pooling (#3685) 2024-12-17 09:36:39 +00:00
Iain Sproat c4def81ae2 feat(server options): allow connection timeouts to be configured (#3701)
* feat(server options): allow connection timeouts to be configured

* feat(postgres config): allow connection parameters to be configured
2024-12-16 13:39:40 +00:00
Iain Sproat 89caea32eb chore(knex): adds comments around config choices. No code changes (#3696) 2024-12-16 10:14:14 +00:00
andrewwallacespeckle 87221cac88 feature(fe2): View mode FE integration (#3651)
* Improve shortcuts

* WIP

* View Mode menu

* Styling updates

* split activeControls

* Reusable Menu component

* Menu updates

* Sun menu updates

* Tidyups

* CommonAlert

* Updates

* WIP change to currentViewMode

* Serialization

* defineModel

* Tidy up emits

* Remove v-model

* Force close other panels

* Remove transition

* More robust isTypingComment

* activeControl > activePanel

* View menu shortcuts

* Explode menu definemodel

* Small changes from Benjamin

* Add colors view mode

* Fix server problem in data.ts

* Fix build
2024-12-12 17:19:57 +00:00
Kristaps Fabians Geikins 8d0cbad8b6 feat(server): multi region blob support (#3653)
Co-authored-by: Iain Sproat <68657+iainsproat@users.noreply.github.com>
2024-12-10 09:05:18 +00:00
Iain Sproat 9b1b1dfb71 feat(server/feature flags): adds multi-region blob storage ff (#3643) 2024-12-05 15:13:34 +02:00
Kristaps Fabians Geikins 4b6e7af19d feat(fe2): scope comment mentions to parent project collaborators (#3635)
* backend done

* get rid of email mention

* project scoped mentions work

* lint fix

* better user sanitization safety

* tests fix
2024-12-05 13:33:05 +02:00
Adam Hathcock 1ac972f02a feat(file imports): adds an experimental IFC parser (#3525)
* first pass of CLI ifc converter

* some updates

* closer

* yarn works

* can execute ifc?

* change exe

* remove extra venv needs

* invocation works

* fixed dockerfile and url

* refactor(fileimport): temp results path should not be hardcoded in parsers

* update importer to output stuff

* fix up argments

* remove dead code

* adjust dockerfile to have tini and workdir better

* fix node to a specific version

* Add shell statement and pin yarn version

* add ifc converter c# to ignore

* merge fix

* move ifc c#

* fix the api usage

* update the importer to new SDK

* Adds a feature flag `FF_FILEIMPORT_IFC_DOTNET_ENABLED` for enabling .Net IFC parser

* move directories

* put back ifc js

* use FF and reversions

* needs token too

* fix docker?

* one last copy fix

* adjust prettier ignore

* change to enable

* fix helm chart nesting

* Amend healthcheck node binary path

* Add FF_FILEIMPORT_IFC_DOTNET_ENABLED to feature flag parser

* Allow app to write to /.config directory

* fix: volume name has to be lower case

* update ifc importing

---------

Co-authored-by: Iain Sproat <68657+iainsproat@users.noreply.github.com>
Co-authored-by: root <root@Clynelish>
2024-11-29 06:34:08 +01:00
Kristaps Fabians Geikins 1800dbbdbd feat(server): improved subscription testing DX + tests for common subs + new subs (#3554)
* userProjectsUpdated.added test

* multi region support

* userStreamAdded

* commit subs tested

* fix for proj workspace assignment

* undo commitHelper main changes

* disable all ffs mode

* createTestWorkspace support when workspaces arent enabled

* project create fix

* workspace projects updated subscription

* WIP new workspace sub

* updated workspaceCreated

* updated workspaceUpdated

* BE for workspace updated sub

* workspace updated sub

* ts err fix
2024-11-27 15:41:04 +02:00
Chuck Driesler 853fb5e338 fix(automate): support success object result level (#3537) 2024-11-25 11:19:09 +00:00
Björn Steinhagen fd35e6653c TEKLAS to TKL (#3486)
Change source app abbreviation from TEKLAS to TKL or something else
2024-11-13 16:42:27 +00:00
Gergő Jedlicska 6038611974 feat(webhook-service): learn to speak multi region (#3473)
* feat(webhook-service): learn to speak multi region

* refactor(webhook-service): remove unnecesary factories

* docs(activities): brain dump

* fix(shared): need to add knex as a dev dep

* fix(shared): align dev dep
2024-11-11 17:10:29 +01:00