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
Alessandro Magionami
a38bbd4066
feat(workspaces): add viewers count
2025-03-26 10:24:14 +01:00
Alessandro Magionami
3102a75d3b
Merge branch 'main' of github.com:specklesystems/speckle-server into alessandro/web-2867-expose-used-and-available-seats
2025-03-26 09:21:12 +01:00
Alessandro Magionami
5d6d0769fd
Merge pull request #4236 from specklesystems/alessandro/web-2803-downscale-workspace-subscription
...
Alessandro/web 2803 downscale workspace subscription
2025-03-26 09:14:41 +01:00
Kristaps Fabians Geikins
a6a4ceee86
feat: true-myth result structures & other auth policy improvements ( #4262 )
...
* fixing up typing
* better dynamic loader mechanism
* buildReqLoaders cleanup
* added caching to loaders
* ensuring all loaders are async
* fe2 plugins error handling fix
* feat(shared): true-myth result structures & other auth policy improvements
* moving workspaceCore loaders to correct place
2025-03-25 17:49:02 +01:00
Alessandro Magionami
55648c3125
Merge branch 'main' of github.com:specklesystems/speckle-server into alessandro/web-2867-expose-used-and-available-seats
2025-03-25 15:26:12 +01: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
eaf3b3a479
feat(gatekeeper): seats counts
2025-03-25 09:47:13 +01:00
Alessandro Magionami
01042e9d2d
Merge branch 'main' of github.com:specklesystems/speckle-server into alessandro/web-2803-downscale-workspace-subscription
2025-03-24 11:06:33 +01:00
Alessandro Magionami
6a09d07c59
feat(workspaces): fix filter type
2025-03-24 11:05:38 +01:00
Alessandro Magionami
9429e47b93
feat(workspaces): add filter by seatType in workspace team
2025-03-24 10:29:36 +01:00
Gergő Jedlicska
968d2f2520
auth/lib ( #4242 )
...
* 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
* fix(server): you need to await !!!! otherwise it crashes the server.
---------
Co-authored-by: Charles Driesler <chuck@speckle.systems >
Co-authored-by: Kristaps Fabians Geikins <fabis94@users.noreply.github.com >
Co-authored-by: Gergő Jedlicska <gjedlicska@users.noreply.github.com >
2025-03-21 16:37:36 +01:00
Chuck Driesler
66da283a79
Revert "feat(authz): shared authz pipeline ( #4151 )" ( #4241 )
...
This reverts commit cb8aa31b66 .
2025-03-21 15:41:17 +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
362a0e6141
Merge branch 'main' of github.com:specklesystems/speckle-server into alessandro/web-2803-downscale-workspace-subscription
2025-03-21 11:14:49 +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
Mike
b1e3a4bb72
Feat: Add createdAt to workspace team WorkspaceCollaborator ( #4227 )
2025-03-20 12:50:10 +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
Chuck Driesler
d39c52a324
feat(regions): use queue for moves ( #4060 )
...
* 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
* feat(regions): queue wip
* fix(regions): trigger job instead of performing change synchronously
* chore(regions): update tests for job queue
* fix(regions): use the queue
2025-03-20 10:35:39 +00:00
Alessandro Magionami
7e944b182e
Merge branch 'main' of github.com:specklesystems/speckle-server into alessandro/web-2803-downscale-workspace-subscription
2025-03-20 10:32:21 +01: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
Alessandro Magionami
96bfedefe8
chore(gatekeeper): take end billing cycle date from stripe
2025-03-18 13:05:19 +01: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
Chuck Driesler
9dba10db01
fix(sso): email capitalization again ( #4164 )
...
* fix(sso): more capitalization
* chore(sso): comment
* chore(sso): fix test
2025-03-11 17:35:38 +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
andrewwallacespeckle
d1f040051d
refactor(server): Update system emails ( #4074 )
...
* Update email verification. And workspace invite emails.
* Footer logos
* Workspace requests
* Trial
* Misc emails
* New logo
* Updates to font, spacing and footer
* Remove space
* Update invite emails
* Correct classes
2025-03-07 15:30:03 +00: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
Iain Sproat
5655b3e758
fix(metrics): pass registry in to modules ( #4113 )
...
- ensure metrics are added to the correct registry
2025-03-06 08:37:05 +00: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
Chuck Driesler
9b7c56de9f
fix(workspaces): emit role updated on join request approved ( #4100 )
2025-03-03 09:19:22 +00:00
Iain Sproat
04f84c31f3
fix(server/automate): logger should have request context and request ID sent to execution engine ( #4092 )
...
* fix(server/automate): logger should have request context
* WIP - pass in request Id
* WIP
* fix(automate): better logging for automate processes
* chore(automate): slight log improvement
* fix(automate): just in case
---------
Co-authored-by: Charles Driesler <chuck@speckle.systems >
2025-02-28 18:22:00 +00:00
Alessandro Magionami
6d153bd485
Merge pull request #4091 from specklesystems/alessandro/web-2765-ensure-seat-is-assigned-to-users-on-workspace-role-change
...
Alessandro/web 2765 ensure seat is assigned to users on workspace role change
2025-02-28 17:44:12 +01:00
Chuck Driesler
3cc68bb0e2
feat(automate): use updated hybrid function search ( #4085 )
...
* fix(automate): use new function query for workspace functions
* fix(automate): include workspace resource claims in auth flow
* chore(automate): do not use btoa
2025-02-28 16:03:34 +00:00
Alessandro Magionami
cae5b36681
test(workspaces): fix tests
2025-02-28 11:47:05 +01: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
Iain Sproat
ce08e5e02d
refactor(server): logging directory renamed to observability ( #4077 )
2025-02-28 08:43:54 +00:00
Alessandro Magionami
938127bf4b
feat(workspaces): add listeners to assign workspace seats
2025-02-27 16:21:44 +01:00
Alessandro Magionami
9275ea1ee9
feat(workspaces): assign workspace seat logic
2025-02-27 16:20:33 +01:00
Mike
7cecffbabf
Feat: Deep links on members settings ( #4069 )
2025-02-27 10:47:18 +01:00
Chuck Driesler
1cceb30273
chore(sso): improve misconfigured log ( #4080 )
2025-02-26 22:17:09 +00: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