Commit Graph

2464 Commits

Author SHA1 Message Date
Daniel Gak Anagrov 3e7e11b8a1 feat(gatekeeper): add error log on seat mismatch (#5004)
* feat: added a specific errors on downscale issues
2025-07-07 12:28:59 +02:00
Iain Sproat 556c2791b3 feat(file imports): large file uploads now work on docker compose (#5037) 2025-07-07 11:00:55 +01:00
Jedd Morgan c4778bfa42 feat(file-import): experimental ifc openshell importer (#5028)
* first pass

* second pass

* undo local changes

* Refactors env vars to feature flags, adds helm chart values

* fix documentation of feature flag

* fix typo

* adjusted speckleifc pinned version

* renamed enableLegacyIfcImporter helm ff to legacyIfcImporterEnabled

* Added experimental ifcimporter to next-gen file importer

* Fix next-gen import service redis url fallbakcs

* add missing server url envvar

---------

Co-authored-by: Iain Sproat <68657+iainsproat@users.noreply.github.com>
2025-07-04 17:01:25 +01:00
Iain Sproat d80fe58c1f feat(server/fileuploads): remove experimental next gen REST API (#5034) 2025-07-03 18:59:17 +01:00
Iain Sproat 9dd95a372b chore(server): include token id in auth context (#5025)
- it is relevant to understand which token was used to act on behalf of an user
2025-07-03 10:23:07 +01:00
Iain Sproat 8628e845bd chore(server/logging): metadata for file import error logs (#5021) 2025-07-02 15:17:24 +01:00
Kristaps Fabians Geikins 7e01c6f769 feat(fe2): improved file import error handling (#5016)
* WIP error dialog

* import error reporting

* dialog content memoization

* dialog work

* more cleanup

* apollo cache adjustments

* add jobId to uploads table

* fix showing old pending version state

* feat(fe2): prevent user from leaving page if active uploads (#5017)

* feat(fe2): prevent user leaving if active uploads

* fixxes
2025-07-02 11:01:41 +03:00
Iain Sproat 96c7394864 chore(server/previews): handle case where project deleted while preview generated (#4612) 2025-07-01 15:25:20 +01:00
Daniel Gak Anagrov 7de0229b76 fix: avoid workpaces to turn free when susbscription is present (#5015) 2025-07-01 13:08:24 +02:00
Iain Sproat a749a96791 fix(server/auth/google): handle error parameter in request query (#5003)
- callback queries with query parameter key of `error` and value of `access_denied` were not being handled and resulting in passportService case for no user, no error, and a failureType of null.
- tokenerror seems not to result in google verify callback being called, so moving the logic to handle it to the passport authentication callback
2025-07-01 07:38:07 +01:00
Daniel Gak Anagrov a4ab20c938 feat(activity): add workspace billing events and seats to activity (#4944)
* feat: improved gatekeeper eventsfor workspace history
* feat: userId on seat assign
* feat: record workspace seat events
* feat: workspace removals as activity
* feat: emit role and seat events on create workspace
* fix: reordered events for workspace creation
2025-06-30 16:49:36 +02:00
Kristaps Fabians Geikins 290fdb3e6d feat(server): dev-only endpoint for monitoring bull queues (#5000)
* feat(server): dev-only endpoint for monitoring bull queues

* cr comments
2025-06-30 16:12:45 +03:00
Iain Sproat a6c473f682 fix(server): correctly handle content-disposition (#5008)
- non-ascii filenames were not handled correctly causing 500 errors when file attempted to be downloaded
2025-06-30 13:57:09 +01:00
Kristaps Fabians Geikins 18800c9fba fix(server): shouldnt use main region config if FF off (#5009) 2025-06-30 15:20:14 +03:00
Kristaps Fabians Geikins 5ef0e67ac7 fix: making pg LISTEN/NOTIFY skip pool (#5007) 2025-06-30 14:54:12 +03:00
Kristaps Fabians Geikins c57262aa44 chore: log listen/notify connection strings (#5006)
* chore: log listen/notify connection strings

* re-adding multiRegionConfig alias

* CR comments

* type fix
2025-06-30 11:59:28 +03:00
Kristaps Fabians Geikins 0ae4ba63a9 fix(server): externally managed DB connection for notifs (#5002)
* fix(server): externally managed DB connection for notifs

* weakMap based listener tracking
2025-06-27 17:31:32 +03:00
Kristaps Fabians Geikins c8bbab864a chore(server): improved db notif logging for issue troubleshooting (#5001) 2025-06-27 15:41:30 +03:00
Iain Sproat e99bcccb4f chore(server): no need for two alerts on this, log at warn (#4999)
- there is an alert which specifically finds this event type
- no need to also log at error level, which causes a second alert to fire
2025-06-27 11:32:10 +01:00
Iain Sproat 0bac6434f5 fix(server/blobstorage): removes ability to define blob ID on upload (#4995) 2025-06-27 10:48:59 +01:00
Kristaps Fabians Geikins 6b9e5d0925 fix(server): not emitting seat updated on role add (#4998) 2025-06-27 12:20:32 +03:00
andrewwallacespeckle 2fddcd78b7 feat(server+fe): Implement LimitedWorkspace for PendingWorkspaceCollaborator (#4984) 2025-06-27 09:35:37 +01:00
Kristaps Fabians Geikins fd1a3cf341 fix(server): using project scoped db for fileupload sub handlers (#4994) 2025-06-26 17:56:15 +03:00
Kristaps Fabians Geikins 1ae7e79d5b fix(server): file upload sub auth checks (#4992) 2025-06-26 16:46:39 +03:00
Kristaps Fabians Geikins ed507c265b fix(server): not firing upload created/processed subs in next gen uploads (#4991)
* fix(server): not firing upload created subs in next gen uploads

* lint fixes

* upload finished fixes

* test fixes

* fixed file_import_started
2025-06-26 15:33:11 +03:00
Kristaps Fabians Geikins c047ac7be1 chore(server): move cursor utils to db helper (#4988)
* chore(server): move cursor utils to db helper

* move collection
2025-06-26 13:57:55 +03:00
Iain Sproat 943a9a7047 fix(file imports): allow up to 24 hours by default for large files (#4990) 2025-06-26 11:10:48 +01:00
Chuck Driesler 08410ffb7d fix(regions): fix for flaky move region test (#4989) 2025-06-26 11:14:50 +02:00
Iain Sproat febe2a9e4e fix(file imports): ensure correct server url is used by parser (#4987) 2025-06-26 09:08:39 +01:00
Iain Sproat a7e928438d fix(file import): consistently apply time outs and increase default to 30 min (#4982) 2025-06-25 15:48:57 +01:00
Chuck Driesler 2f36e518a0 fix(multiregion): make move region job safe for replication (#4907)
* chore(multiregion): failing test for move project region

* fix(multiregion): unblock replication after regional move

* fix(regions): try-catch replication

* fix(regions): cache roles within job

* fix(regions): toggle region key in target db
2025-06-25 15:47:34 +01:00
Chuck Driesler 2ef38a3962 fix(regions): respect region during project move to workspace (#4985) 2025-06-25 12:54:24 +01:00
Iain Sproat 4784fdec4f chore(file imports): metrics for next gen file importer (#4977) 2025-06-25 09:36:28 +01:00
Daniel Gak Anagrov 2e0dcade5c fix: removed duplicated event (#4981) 2025-06-25 09:18:19 +02:00
Daniel Gak Anagrov 51d6a8dd67 feat(activity): added user info to checkout_subscription and subscription upgrade (#4967)
* feat: added userId to checkout_subscription
* feat: add update intent to subscription
2025-06-24 15:34:26 +02:00
Iain Sproat 4a58e66d99 feat(file importer): send skp to rhino parser (#4973) 2025-06-23 13:45:26 +01:00
Daniel Gak Anagrov 506bf9a07a feat(stream_activity): add index on actionType for stream_activity (#4947) 2025-06-23 10:03:46 +02:00
Iain Sproat 944b2cd6a4 feat(blobstorage): expire stale pending uploads (#4900) 2025-06-20 17:03:34 +01:00
Gergő Jedlicska bb82c75745 fix(fileuploads): use the correct DB for tokens (#4971) 2025-06-20 16:26:13 +01:00
Iain Sproat d486ffc09a fix(logging): ensure metadata is present in logging context (#4968) 2025-06-20 15:40:26 +01:00
Gergő Jedlicska 01bb883bc4 fix(gatekeeper): add missing feature from access check api 2025-06-19 16:15:29 +02:00
Iain Sproat d7d564d0d4 feat(file imports): next gen allows multiple file types (#4953) 2025-06-19 08:50:42 +01:00
andrewwallacespeckle c89fe339ec refactor: fix pagination with stable resolveKey, use reactive default… (#4951)
* refactor: fix pagination with stable resolveKey, use reactive defaultRoles, and remove email permission check

* Changes from call

* More changes from call

* WIP fixing team composite cursor

* paginated items fix

* minor rename

* composite cursor tools improved

* fe undoing debugging stuff

* extra fixes

* invitable collabs fix

---------

Co-authored-by: Kristaps Fabians Geikins <fabis94@live.com>
2025-06-19 10:28:31 +03:00
Gergő Jedlicska 794bd7c7e9 gergo/web 3616 add auth policy for turning on the exclusive workspace (#4956)
* feat(shared): rename user workspaces loader

* feat(gatekeeper): intoduce the enterprise plan

* chore(server): remove more "magic strings"

* refactor(shared): extract user is workspace admin to an auth fragment

* feat(shared): add can createWorkspacePolicy

* feat(workspaces): WIP block workspace creation

* feat(server): add can create workspace checks

* feat(workspaces): enforce canCreateWorkspace policy on the workspace
creation mutation

* feat(shared): allow workspace admins and guests to create workspaces
even if they are part of an exclusive workspace

* test(shared): use test fake properly

* fix(server): eligble workspace typing fixes

* test(shared): fix more workspace fakes

* fix(workspacesCore): add missing loader

* fix(shared): use proper exhaustive switch cases, they stop bugs from
happening

* feat(shared): introduce workspacePlanHasAccessToFeature function with tests

* chore(workspaces): fix more PR comments

* fix(workspaces): naming

* fix(workspaces): some more

* feat(shared): generalize workspace feature access policy

* feat(workspaces): allow toggling the isExclusive option for workspace
update
2025-06-18 12:43:27 +02:00
Gergő Jedlicska 4a2d85d68c feat(server): web 3485 prevent accounts from creating new workspaces (#4913)
* feat(shared): rename user workspaces loader

* feat(gatekeeper): intoduce the enterprise plan

* chore(server): remove more "magic strings"

* refactor(shared): extract user is workspace admin to an auth fragment

* feat(shared): add can createWorkspacePolicy

* feat(workspaces): WIP block workspace creation

* feat(server): add can create workspace checks

* feat(workspaces): enforce canCreateWorkspace policy on the workspace
creation mutation

* feat(shared): allow workspace admins and guests to create workspaces
even if they are part of an exclusive workspace

* test(shared): use test fake properly

* fix(server): eligble workspace typing fixes

* test(shared): fix more workspace fakes

* fix(workspacesCore): add missing loader

* fix(shared): use proper exhaustive switch cases, they stop bugs from
happening

* feat(shared): introduce workspacePlanHasAccessToFeature function with tests

* chore(workspaces): fix more PR comments

* fix(workspaces): naming

* fix(workspaces): some more
2025-06-18 08:58:26 +01:00
Kristaps Fabians Geikins 2be1592341 feat: show historical model uploads (#4954)
* ensure modelId is always filled

* BE seems fine

* frontendd

* pagination fix

* table max height

* lint fix

* unset tiny limit

* test fix
2025-06-18 10:56:33 +03:00
Iain Sproat 4738b97091 feat(server/fileuploads): use a presigned url to upload large files (#4901) 2025-06-17 17:38:47 +01:00
Kristaps Fabians Geikins 441aa6e54d fix: create model before uploading file (#4942) 2025-06-16 10:17:17 +03:00
Daniel Gak Anagrov 2cd108c3ee feat(objects): Improve gql loading logic around limits (#4885) 2025-06-16 08:57:08 +02:00
Iain Sproat 9021f4ed0e fix(file importer): add profile:read scope to token (#4941) 2025-06-13 13:30:06 +01:00