Commit Graph

2455 Commits

Author SHA1 Message Date
oguzhankoral 22bb18cc10 Initial implementation 2025-07-11 05:29:12 +03: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
Kristaps Fabians Geikins f30ef2f9fa feat: set model name/description on file upload (#4937)
* WIP except description

* description implemented

* added defaultTo to migration
2025-06-13 13:44:40 +03:00
Kristaps Fabians Geikins cfa0b249d1 feat: seat type selection in invite flows (#4908)
* backend seems to work

* bigger menu support

* FE nearly done

* merge fix

* ui changes

* workspace invite disclaimer

* project disclaimer

* project invite viewer -> editor flow

* extra minor fixes

* Change project role input label

* extra test assertions

---------

Co-authored-by: Benjamin Ottensten <benjamin.ottensten@gmail.com>
2025-06-13 09:45:58 +03:00
Daniel Gak Anagrov 32f1700f37 fix(workspaces): switch property seats and viewers count (#4934) 2025-06-12 11:20:57 +02:00
Iain Sproat 5db8d41d13 fix(tests): typo (#4911) 2025-06-10 11:58:11 +01:00
Chuck Driesler 85e600aa98 feat(viewer): include selected object application ids in viewer state (#4802)
* feat(viewer): include selected object application ids in viewer state

* fix(viewer): selected object application ids as map

* fix(viewer): drop legacy key
2025-06-09 17:10:28 +01:00
Iain Sproat d20cde3a68 feat(fileimport): provide admin dashboard for queue (#4904)
* feat(fileimport): provide admin dashboard for queue

* mitigate deprecation warning

* fix typo in GitHub Action
2025-06-09 13:36:43 +02:00
Daniel Gak Anagrov 11948b40de feat(gatekeeper): track seat updates (#4865) 2025-06-05 12:41:05 +02:00
Gergő Jedlicska 72ecb9197b feat(gatekeeper): intoduce the enterprise plan (#4882)
* feat(gatekeeper): intoduce the enterprise plan

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

* test(shared): fix plan tests with enterprise case

* Small change to format plan name

---------

Co-authored-by: Mike Tasset <mike.tasset@gmail.com>
2025-06-05 11:07:59 +02:00
Daniel Gak Anagrov 460245a71b fix(versions): object history hidden when quering by project (#4884) 2025-06-04 10:44:08 +02:00