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
Kristaps Fabians Geikins
10832655d4
fix(server): all project created subs firing for workspace guests + req ctx cache fix for subs ( #4453 )
...
* WIP sub fix
* fix sub resolver caching issue
2025-04-16 11:21:17 +03:00
Alessandro Magionami
0c18acc452
Alessandro/web 2945 comments hide body ( #4385 )
...
* chore(core): move limits logic into shared
* feat(comments): limit text and rawText for comments
* chore(core): removed test moved to shared
* chore(comments): generate gql types
* feat(comments): rework comment history limits
* chore(comments): fix tests
* chore(shared): add dayjs as dependency
---------
Co-authored-by: Gergő Jedlicska <gergo@jedlicska.com >
2025-04-15 10:44:12 +02:00
Kristaps Fabians Geikins
b287702145
feat: version checks + generally improved auth error messaging ( #4384 )
...
* foundation for new version checks
* canUpdate policy
* can req render
* canReceive
* BE implemented
* FE checks implemented?
* test fix
* improved auth error messaging
* fix lint
2025-04-14 10:43:48 +01:00
Gergő Jedlicska
61ca128ce2
gergo/multiCurrency ( #4379 )
...
* feat(gatekeeper): support multiple currencies
* feat(helm): add new currency based prices to helm chart
* chore(env): add example currency based pricing values
* fix(ci): update price ids to the proper values
* feat(helm): rename price ids to fit multi currency
* feat(gatekeeper): currency input for checkout session
* Updated prices in the FE
* chore(gatekeeper): remove old checkout session flow
* Updated prices in the FE
* Fix FE
* Fix pipeline
---------
Co-authored-by: Mike Tasset <mike.tasset@gmail.com >
2025-04-11 17:37:47 +02:00
Alessandro Magionami
d9cdeb4bf5
chore(core): make resolver model or project check more reliable
2025-04-11 15:15:21 +02:00
Alessandro Magionami
05e4e51c1a
Merge branch 'main' of github.com:specklesystems/speckle-server into alessandro/web-2944-versions-limits
2025-04-11 14:54:13 +02:00
Kristaps Fabians Geikins
f59c0a72c6
feat: model related auth checks in BE & FE ( #4374 )
...
* limit fragment cleanup
* be updated
* model checks in FE
* tests fix
* fakes util fix
2025-04-11 10:09:54 +03:00
Kristaps Fabians Geikins
b6c21fd506
feat: comment read/write auth policies in BE & FE ( #4368 )
...
* webhooks perm minor fix
* tryna get fileimport service to work
* new comment policies - shared
* BE done?
* checks implemented in FE
* lint fix
* tests fix
* readme fix
2025-04-10 15:14:34 +03:00
Chuck Driesler
f29fc322a3
fix(authz): allow optional workspace id to validate move ( #4367 )
2025-04-10 11:04:59 +01:00
Alessandro Magionami
36b3f2b11a
Merge branch 'main' of github.com:specklesystems/speckle-server into alessandro/web-2944-versions-hide-referencedobject
2025-04-10 10:16:27 +02:00
Alessandro Magionami
73a8719556
feat(core): complete referencedObject resolver for models and projects versions
2025-04-10 10:10:49 +02:00
Alessandro Magionami
96698452f2
feat(core): limit returned commits in streams and breanches
2025-04-10 10:09:54 +02:00
Chuck Driesler
a67022f5fb
fix(authz): branches are models too ( #4360 )
...
* fix(authz): branches are models too
* fix(authz): also check token resource access
2025-04-09 20:15:51 +02:00
Kristaps Fabians Geikins
5f88f562d3
feat: updated various "read/update" settings related permission checks ( #4356 )
...
* a bunch more tests
* updated GQL resolvers
* project create checks implemented
* project update/settings related checks in FE
* a bunch of tests
* tests fix
* disable app schema check
2025-04-09 16:13:09 +03:00
Gergő Jedlicska
b24add762c
feat(gatekeeper): disable workspace plan migrations ( #4354 )
2025-04-09 13:02:28 +02:00
Chuck Driesler
cb7243cfbe
feat(authz): Project.canCreateModel and Project.canMoveToWorkspace policies ( #4342 )
...
* feat(authz): Project.canCreateModel policy
* feat(authz): Project.canMoveToWorkspace policy
* fix(authz): expose policies as permissions objects
* chore(authz): actually use the policies lol
* chore(authz): add tests for new policies
* fix(authz): skip affected test
* fix(authz): pr comments
* fix(authz): better errors, better tests
* chore(authz): remove references to deleted error
2025-04-08 15:29:12 +01:00
Kristaps Fabians Geikins
ec2fb34283
feat(shared): new policies for minor fragment refactor ( #4343 )
...
* canUpdate + reworked fragments
* feat(shared): new policies for minor fragment refactor
* some cleanup
* canUpdate tests
* ensureMinimumProjectRoleFragment test
* checkIfPubliclyReadableProjectFragment tests
* get rid of LoadersOf/ErrorsOf
* python dep update
2025-04-08 12:28:20 +03:00
Alessandro Magionami
8d554e726d
feat(core): add workspace limits
2025-04-07 16:55:45 +02:00
Alessandro Magionami
6f5415e66d
Merge branch 'main' of github.com:specklesystems/speckle-server into alessandro/web-2944-versions-hide-referencedobject
2025-04-07 12:48:58 +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
Alessandro Magionami
d067c5148c
chore(core): limit versions
2025-04-04 10:54:15 +02:00
Gergő Jedlicska
f501cc4ad5
gergo/web 2888 workspace project cancreate ( #4294 )
...
* WIP can create project
* WIP can create project more work
* complete body, stencil tests
* feat(shared): move workspace plan types into shared
* test progress wip
* feat(shared): add more logic to canCreateWorkspaceProject
* a few more tests, as a treat
* chore(authz): round out tests
* fixed loaders, new GQL checks, dataLoaders in auth loaders
* fix(authz): get workspace limits loader
* chore(authz): update loaders
* frontend fixed up to snuff
* fix(authz): fix workspace plans for tests
* fix(authz): classic
* fix(authz): 0 counts
---------
Co-authored-by: Chuck Driesler <chuck@speckle.systems >
Co-authored-by: Kristaps Fabians Geikins <fabis94@live.com >
2025-04-01 16:38:20 +01:00
Kristaps Fabians Geikins
a83bae8d84
feat: Workspace/ProjectCollaborator/WorkspaceCollaborator seatType ( #4284 )
...
* Workspace & ProjectCollaborator seat type
* minor adjustment to FE
* minor adjustment to FE
2025-03-31 13:07:35 +03: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
Gergő Jedlicska
4c28697d0c
feat(shared): rework policy internals to work with loader errors in checks and policy fragments ( #4276 )
...
* feat(shared): rework policy internals to work with loader errors in checks and policy fragments
* fix(server): auth reintegration
2025-03-27 11:30:54 +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
Chuck Driesler
c6e0714bc4
chore(authz): hoist authorizeresolver ( #4253 )
...
* chore(authz): hoist deleteStreamAndNotify
* chore(authz): hoist updateStreamAndNotify
* chore(authz): comment
2025-03-24 16:51:19 +00:00
Gergő Jedlicska
25d0802234
fix(server): project access fix for discoverable projects ( #4246 )
2025-03-22 15:42:35 +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
Kristaps Fabians Geikins
ebade45d43
feat: remove project discoverability concept from UI ( #4125 )
...
* feat: remove project discoverability concept from UI
* test fix
2025-03-07 13:09:03 +02: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
Iain Sproat
ce08e5e02d
refactor(server): logging directory renamed to observability ( #4077 )
2025-02-28 08:43:54 +00: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
6051917b59
chore(server): refactor activityStream invocations - batch #7 - streams ( #4014 )
...
* chore(server): refactor activityStream invocations - batch #7 - streams
* test fix
* more test fixes
* CR comment fix
2025-02-24 12:34:56 +02:00
Kristaps Fabians Geikins
4b7740eb17
Merge branch 'main' into fabians/web-2415-6
2025-02-17 15:15:52 +02:00
Kristaps Fabians Geikins
f51d632ef7
Merge branch 'main' into fabians/web-2415-4
2025-02-17 14:23:33 +02:00
Kristaps Fabians Geikins
4dcfbb251b
chore(server): moving out branch sub reporting to separate listeners
2025-02-17 13:56:02 +02:00
Kristaps Fabians Geikins
4278e20467
chore(server): refactor activityStream invocations - batch #3 - branches
2025-02-17 13:55:43 +02:00
Mike
f376cfcc46
Fix: Always force email verification ( #3990 )
2025-02-15 08:30:57 +01:00
andrewwallacespeckle
967eec9db4
Sanitize model names in server ( #3970 )
2025-02-12 16:50:02 +01: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
ebc0f84c96
fix(server): previewUrl assumed project would always be found ( #3947 )
...
- adds guard against null project
2025-02-06 17:50:04 +00:00
Iain Sproat
0ce23be6f3
chore(logging): log messages related to a request should include request ID ( #3945 )
...
- this requires passing the request logger through to the method invoking the logger
2025-02-06 16:04:51 +00:00
Alessandro Magionami
276c3a761c
fix(emails): add ff for new email verification flow ( #3893 )
...
* fix(emails): add ff for new email verification flow
* test(emails): disable test with ff off
2025-01-24 19:39:55 +01:00
Kristaps Fabians Geikins
9b46747815
chore(server): refactor activityStream invocations - batch #6 - project invites
2025-01-24 18:35:21 +02:00
Kristaps Fabians Geikins
9775c488a1
chore(server): moving out version sub reporting to separate listeners
2025-01-24 17:52:34 +02:00
Gergő Jedlicska
a282220a72
chore(server): fix nullable type for model author ( #3883 )
...
* chore(server): fix nullable type for model author
* updated fe2 gql types
---------
Co-authored-by: Kristaps Fabians Geikins <fabis94@live.com >
2025-01-24 16:40:25 +01:00