Commit Graph

230 Commits

Author SHA1 Message Date
Mike 34b81e2de8 Feat: Usage limit banner (#4546) 2025-04-22 21:51:03 +02:00
Kristaps Fabians Geikins eb33c13e9f fix(shared): canMoveToWorkspace should check model limits (#4532)
* fix(shared): canMoveToWorkspace should check model limits

* server fix
2025-04-22 16:49:35 +03:00
Iain Sproat 920099c39f chore(readable code): use TIME_MS for readable durations
- we recently added TIME_MS helper; this applies it to existing durations
2025-04-18 17:51:43 +01:00
Gergő Jedlicska d860d79307 Merge branch 'main' of github.com:specklesystems/speckle-server into gergo/web-2991-update-limit-error-messages 2025-04-18 15:59:03 +02:00
Gergő Jedlicska 2d26c76ef2 feat(limits): better limits messages and some more fixes 2025-04-18 15:58:28 +02:00
Chuck Driesler d7aa0196fc feat(authz): automate policies (#4491) 2025-04-18 11:03:54 +02:00
Kristaps Fabians Geikins 2de4fef006 fix: project settings options not checking permissions (#4472) 2025-04-17 12:53:17 +03:00
Benjamin Ottensten 385157ac81 Feat: Various copy updates (#4467) 2025-04-17 01:13:32 +02: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
Chuck Driesler cebae959ae feat(authz): Workspace.canInvite and Project.canInvite (#4419) 2025-04-16 09:01:53 +01:00
Kristaps Fabians Geikins 0280e4e609 chore(shared): ensure @speckle/shared can be required & imported (#4442)
* chore(shared): ensure @speckle/shared can be required & imported

* ensure build is invoked before e2e tests
2025-04-15 17:27:32 +03:00
Kristaps Fabians Geikins bc5a68a3c9 fix(shared): not using #lodash alias (#4440) 2025-04-15 16:58:00 +03:00
Kristaps Fabians Geikins 82a37fba5c fix(shared): fix sso session expiration date too low in tests (#4432)
* fix(shared): canBroadcast policy test fix

* more tests fixed

* switch to using time constant

* tests fix
2025-04-15 16:24:12 +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 bf454bc003 fix(gatekeeper): fix yearly upgrade not working (#4393) 2025-04-14 06:24:20 +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
Mike 080482febd Feat: Update add-on cards (#4382) 2025-04-11 13:28:12 +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
Chuck Driesler 32796d3dd3 fix(authz): allow optional project id (#4363) 2025-04-10 10:12:00 +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 96698452f2 feat(core): limit returned commits in streams and breanches 2025-04-10 10:09:54 +02:00
Mike a3ce9fad12 Feat: Update pricing plan features (#4357)
* Feat: Update pricing plan features

* Clean up old stuff

* Add features to old plans

* pls dont complain anymore

* pls work

* fix(shared): add back features to the unlimited plan

---------

Co-authored-by: Gergő Jedlicska <gergo@jedlicska.com>
2025-04-09 21:45:28 +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
Gergő Jedlicska a986bee2fb feat(shared): add plan helpers (#4347)
* feat(shared): add plan helpers

* feat(shared): naming is hard

* feat(shared): spelling is hard
2025-04-08 19:59:30 +02:00
Iain Sproat 5fc2d5c089 Merge pull request #4180 from specklesystems/iain/preview-service-handle-errors
fix(preview service): handle errors and failures
2025-04-08 17:55:49 +01: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
Iain Sproat 58ed9fc58b Merge branch 'main' into iain/preview-service-handle-errors 2025-04-08 15:08:00 +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 52acba83f0 chore(shared): fix types 2025-04-07 18:17:46 +02:00
Alessandro Magionami efafe40b27 chore(shared): remove history limits from pro plan 2025-04-07 17:38:40 +02:00
Alessandro Magionami 729b2ba5f5 chore(shared): add limits to unlimited plans 2025-04-07 17:37:03 +02:00
Alessandro Magionami 8d554e726d feat(core): add workspace limits 2025-04-07 16:55:45 +02:00
Alessandro Magionami d640f23c7d Merge branch 'main' of github.com:specklesystems/speckle-server into alessandro/web-2944-versions-hide-referencedobject 2025-04-07 16:12:41 +02: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
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
Gergő Jedlicska a523765524 fix(shared): workspace sso fragment must be able to load limited workspace data (#4281)
* fix(shared): workspace sso fragment must be able to load limited workspace data

* fix(shared): workspace loader already has the sso error deatails needed
2025-03-28 14:25:45 +01:00
Iain Sproat d7e0af485f Merge branch 'main' into iain/preview-service-handle-errors 2025-03-28 10:37:19 +00:00
Jedd Morgan 468eaccdfa feat(fileimport-service): Make .NET parser default (#4272)
* first pass removing the FF

* legacyimporter

* removed unused import
2025-03-27 18:24:04 +00:00
Iain Sproat b73a87975b Merge branch 'main' into iain/preview-service-handle-errors 2025-03-27 15:37:48 +00:00
Iain Sproat d4c3ccd548 Use zod to split job id 2025-03-27 14:22:12 +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
Iain Sproat dfd328f236 log job attempts made 2025-03-27 11:57:41 +00:00
Iain Sproat ae817ef2ee Merge branch 'main' into iain/preview-service-handle-errors 2025-03-27 11:22:36 +00:00