Kristaps Fabians Geikins
211922b6a6
chore: get rid of all old workspace plan code ( #4624 )
...
* first batch of changes
* tests fix
* FE fixed
* renaming constants
* test fixes
* moar test fixes
* another test fix
* reenable app rover check
---------
Co-authored-by: Gergő Jedlicska <gergo@jedlicska.com >
2025-04-30 19:18:32 +02:00
Chuck Driesler
76b84e2068
fix(workspaces): wrapper type on limited workspace team ( #4635 )
2025-04-30 16:42:57 +01:00
Kristaps Fabians Geikins
c6dcf18bdb
feat(server): workspace project invite auto-accept (for existing wp members) ( #4622 )
...
* WIP ts
* DI fix & tests moved to TS
* auto-accept seems to work
* CR comments
2025-04-30 17:39:07 +03:00
Kristaps Fabians Geikins
cf833a7719
fix(server): project role updates after workspace role/seat changes ( #4599 )
...
* fix(workspaces): workspace role sync
* role changes fixed + validated
* seat changes validated
* fix tests
---------
Co-authored-by: Charles Driesler <chuck@speckle.systems >
2025-04-29 10:49:37 +03:00
Mike
d6d8de41dc
Feat: Increase invite limit from 10 to 200 ( #4618 )
2025-04-28 16:43:58 +02:00
Kristaps Fabians Geikins
5df39ce4ce
feat(server): allow activeUser.query to retrieve implicitly accessible projects ( #4593 )
2025-04-25 09:13:13 +03:00
Chuck Driesler
9dfd36431f
fix(invites): projectinvitablecollaborators should only return members ( #4493 )
2025-04-18 11:04:07 +02:00
Kristaps Fabians Geikins
93bc55630b
fix(server): prevent creating project contributor invite to viewer se… ( #4462 )
...
* fix(server): prevent creating project contributor invite to viewer seat member
* undo regionConfig change
* moar cleanup
2025-04-17 05:00:33 +01:00
Kristaps Fabians Geikins
62cc07b072
feat(server): add new workspace disclaimer fields to user meta ( #4434 )
...
* feat(server): add new workspace disclaimer fields to user meta
* unrelated tests fix
2025-04-16 12:47:33 +03:00
Chuck Driesler
cebae959ae
feat(authz): Workspace.canInvite and Project.canInvite ( #4419 )
2025-04-16 09:01:53 +01:00
Chuck Driesler
7cddc87deb
fix(workspaces): use new roles for project moves on new plans ( #4316 )
...
* chore(workspaces): move project role mapping in tests
* fix(workspaces): new world move project to workspace
* chore(workspaces): adjust move project tests
* fix(workspaces): that's on me
2025-04-08 15:32:05 +01:00
Gergő Jedlicska
a3644a50c5
gergo/web 2931 introduce missing workspace plans ( #4323 )
...
* fix(gatekeeper): missing priceId-s should stop the server from booting
* feat(shared): add all new workspace plans
* feat(billing): add new world plans
* feat(ci): use stripe sandbox id-s from test env vars
* chore(ci): remove defunct stripe context
* chore(server-env): fix server env example
* feat(gatekeeper): add missing plans to graphql schema
* test(gatekeeper): update plan upgrade tests to match implementation
* fix(ci): update ci .env source
* fix(ci): we do need some secrets from stripe
* fix(ci): run gql schema introspect with the test env
* fix(frontend): format new plan names
* chore(ci): temp disable gql schema checks
* feat(helm): add unlimited seat prices env vars
* feat(helm): add unlimited seat prices to values
* feat(gatekeeper): do not load priceId-s as a side effect, load with module init
2025-04-07 15:24:57 +02:00
Kristaps Fabians Geikins
820a1e2ebf
feat(server): workspace roles taken into account in project queries ( #4319 )
...
* Workspace.projects fixed
* Query.project tested & fixed
* personalOnly flag added
* withProjectRoleOnly flag
* authorizeResolver implicit workspace roles
* minor cleanup
* reorg + support for throwing auth errors
* global error mapping
* undo special borkage
* CR fixes
* more CR fixes
* shared tests fix
* minor adjustment
* tests fix
* see if removing cached roles fixes it?
* more fixes
* clean up debugging garbage
2025-04-07 12:52:07 +03:00
Kristaps Fabians Geikins
e3d3c1446b
feat: enable domain discoverability on workspace creation ( #4235 )
...
* frontend changes implemented
* WIP BE
* backend seems to work
* CR fixes
2025-04-07 12:34:45 +03:00
Chuck Driesler
35e99d6ee7
feat(workspaces): emit who will be added to workspace for a given project move ( #4332 )
...
* wip
* feat(workspaces): preflight service wip
* feat(workspaces): move project to workspace dry run
* fix(workspaces): add tests and refine query
* chore(workspaces): gqlgen
2025-04-07 10:27:08 +01:00
Chuck Driesler
855185245e
feat(workspaces): consolidate workspace role/seat reporting ( #4315 )
...
* feat(workspaces: shuffle seat type counts around
* fix(workspaces): use new counts
* fix(workspaces): better field placement
* Updated FE
* chore(workspaces): fix tests
* fix(workspaces): use correct flags
* fix(workspaces): correct another test
* fix(workspaces): use correct model count function
---------
Co-authored-by: Mike Tasset <mike.tasset@gmail.com >
2025-04-04 10:27:49 +01:00
Alessandro Magionami
4a7d37e3d7
Merge pull request #4300 from specklesystems/alessandro/web-2874-return-user-counts-by-role-and-seat-type
...
Alessandro/web 2874 return user counts by role and seat type
2025-03-31 18:50:15 +02:00
Alessandro Magionami
de1054720b
feat(workspaces): member by role counts
2025-03-31 17:15:36 +02:00
Alessandro Magionami
d7ced64168
chore(workspaces): code review changes
2025-03-31 14:32:29 +02:00
Alessandro Magionami
0187cef785
chore(workspaces): code review changes
2025-03-31 12:09:52 +02:00
Alessandro Magionami
6c99ddb215
feat(workspaces): fix tests
2025-03-31 10:52:05 +02:00
Alessandro Magionami
34bebce186
Merge branch 'main' of github.com:specklesystems/speckle-server into alessandro/web-2906-list-invitable-workspace-members-in-a-project
2025-03-31 09:38:36 +02:00
Alessandro Magionami
9b106b49a1
feat(workspaces): resolver for invitable collaborators
2025-03-31 09:38:17 +02:00
Alessandro Magionami
bbef398cd3
feat(workspaces): repository functions for invitable collaborators
2025-03-31 09:37:52 +02:00
Chuck Driesler
7be2e39913
chore(tests): dramatically reduce scope/time of multi-region tests ( #4282 )
...
* chore(tests): limit multiregion ci to multiregion tests
* fix(multiregion): unsure if this works
* fix(multiregion): ope we got deleted
2025-03-28 00:28:38 +00:00
Kristaps Fabians Geikins
c54d15fd93
feat: authz frontend foundation + reworked errors ( #4275 )
...
* feat: authz frontend foundation + reworked errors
* lint fixes
* test fix
* fixed noCache() util
2025-03-27 16:13:35 +02:00
Kristaps Fabians Geikins
20789281e1
chore: back to 1 extra region in tests ( #4277 )
...
* chore: back to 1 extra region in tests
* chore: back to 1 extra region in tests
* commenting out multiple multiregion tests
2025-03-27 15:28:00 +02:00
Kristaps Fabians Geikins
f76a2c34d3
chore: add no floating promises lint rule ( #4249 )
...
* chore: add no floating promises lint rule
* minor cleanup
* fix test by only running if node 22 or greater
---------
Co-authored-by: Iain Sproat <68657+iainsproat@users.noreply.github.com >
2025-03-25 13:36:49 +02:00
Alessandro Magionami
9429e47b93
feat(workspaces): add filter by seatType in workspace team
2025-03-24 10:29:36 +01:00
Chuck Driesler
cb8aa31b66
feat(authz): shared authz pipeline ( #4151 )
...
* wip
* wip
* feat(authz): wip policy shape
* wip
* fix(authz): canReadProject with latest pattern
* wip
* feat(shared): simplify authz checks and policies
* feat(shared): port role weights into shared
* test(shared): some more tests for authz
* test(shared): more query project tests
* typo!
* feat(shared): ff loading refinements
* feat(shared): example authorization policy integration
* authz loaders init
* chore(authz): naming etc
* wip
* fix(authz): authz error objects
Co-authored-by: Kristaps Fabians Geikins <fabis94@users.noreply.github.com >
Co-authored-by: Gergő Jedlicska <gjedlicska@users.noreply.github.com >
* fix(authz): use correct role weights
* chore(authz): use codes from errors in tests
* chore(authz): wow
* chore(authz): fix more tests, add more tests
* chore(authz): fix some tests, add some tests (again)
* fix(authz): fix tests again
---------
Co-authored-by: Gergő Jedlicska <gergo@jedlicska.com >
Co-authored-by: Kristaps Fabians Geikins <fabis94@users.noreply.github.com >
Co-authored-by: Gergő Jedlicska <gjedlicska@users.noreply.github.com >
2025-03-21 14:45:36 +01:00
Alessandro Magionami
89f20bbae3
Merge pull request #4229 from specklesystems/alessandro/web-2869-filter-dismissed-workspace-join-requests
...
fix(workspaces): filter out dismissed join requests
2025-03-20 13:20:45 +01:00
Kristaps Fabians Geikins
e24c26e3d2
feat: getting rid of defaultProjectRole setting ( #4221 )
...
* feat: getting rid of defaultProjectRole setting
* get stdout reporting in CI
* yarn lock fix
* fix package.json
* better CI test output
* pinning mocha-multi
2025-03-20 12:58:30 +02:00
Alessandro Magionami
4b138a7653
fix(workspaces): filter out dismissed join requests
2025-03-20 10:30:59 +01:00
Kristaps Fabians Geikins
b55e197d00
chore(server): refactor seat updated to be its own event ( #4214 )
...
* chore(server): refactor seat updated to be its own event
* minor cleanup
* test fix
2025-03-19 12:17:27 +02:00
Kristaps Fabians Geikins
d903e8ffc4
feat(server): support editor -> viewer seat downgrades ( #4181 )
...
* new seat based project role checks implemented
* everything done
* minor bugfix
2025-03-14 14:21:25 +02:00
Chuck Driesler
8dfbf24d91
feat(workspaces): enable move project region ( #4135 )
2025-03-13 19:39:59 +00:00
Kristaps Fabians Geikins
28b49107b7
feat(server): upgrade workspace seat type ( #4158 )
...
* feat(server): upgrade workspace seat type
* test/lint fixes
2025-03-11 12:41:18 +02:00
Chuck Driesler
9f83d1f74e
feat(regions): trigger project move with job ( #4010 )
2025-03-07 09:18:12 +00:00
Kristaps Fabians Geikins
fb6dc448ca
feat(server): prevent viewer seat from becoming project contributor/owner + extra fixes ( #4117 )
...
* unrelated fixes that i noticed
* tests for fix
* tests & working restrictions
* test fix
* test fixx
2025-03-06 13:26:16 +02:00
Chuck Driesler
063750cac7
feat(workspaces): track last visited workspace and project ( #4086 )
...
* feat(workspaces): track last visited workspace and project
* fix(workspaces): some renaming
* fix(workspaces): appease ts
* fix(tests): repair meta tests
2025-03-03 22:35:01 +00:00
Alessandro Magionami
b6f269b8ea
feat(workspaces): code review changes
2025-02-28 11:14:28 +01:00
Alessandro Magionami
b6faa09bfc
Merge branch 'main' of github.com:specklesystems/speckle-server into alessandro/web-2765-ensure-seat-is-assigned-to-users-on-workspace-role-change
2025-02-28 10:44:29 +01:00
Chuck Driesler
0cafe77013
feat(regions): change project region once move is complete ( #3995 )
...
* chore(regions): failing test for moving blobs
* fix(blobs): use blob storage table
* chore(regions): include file_uploads table for thoroughness
* fix(regions): extract repeated string to utils
* chore(regions): move validation as own service
* feat(regions): update project region key after move
* chore(regions): update tests to make gql requests
2025-02-28 09:35:44 +00:00
Alessandro Magionami
9275ea1ee9
feat(workspaces): assign workspace seat logic
2025-02-27 16:20:33 +01:00
Chuck Driesler
025ae104db
feat(regions): move file uploads and blobs ( #3977 )
...
* chore(regions): failing test for moving blobs
* fix(blobs): use blob storage table
* chore(regions): include file_uploads table for thoroughness
* fix(regions): extract repeated string to utils
2025-02-26 19:34:50 +00:00
Alessandro Magionami
4228c3396b
Merge pull request #3957 from specklesystems/chuck/web-2435-move-comments-and-webhooks-without-attachments
...
feat(regions): move project comments and webhooks
2025-02-26 15:51:14 +01:00
Iain Sproat
eabb50a6d2
tests(workspaceJoinRequests): fix broken tests with invalid scopes ( #4071 )
2025-02-26 11:23:16 +00:00
Mike
2ecb98146a
Feat: prevent non work emails ( #3993 )
2025-02-26 10:55:02 +01:00
Alessandro Magionami
a9dd835de9
feat(workspaces): team resolver for limited workspace ( #4040 )
2025-02-25 12:19:50 +01:00
Alessandro Magionami
fd68c6ef2a
feat(workspaces): user workspace join requests ( #4023 )
...
* feat(workspaces): user workspace join requests
* chore(workspaces): return limited workspace
* chore(workspaces): fix tests
* chore(workspaces): add index for userId
* chore(shared): fix totalcount on getpaginateditems
* chore(workspaces): add workspace core resolvers to throw specific error
2025-02-25 12:19:21 +01:00