Commit Graph

607 Commits

Author SHA1 Message Date
andrewwallacespeckle b59f232ed3 feat(fe): Support hyperlinks in comments
feat(fe): Support hyperlinks in comments
2025-07-16 10:02:20 +01:00
andrewwallacespeckle 8f104dcd24 Remove comment 2025-07-15 15:10:38 +01:00
andrewwallacespeckle 8eb1376606 Add links. "Remove link" button 2025-07-15 14:02:13 +01:00
Mike ed875f0134 Feat: Enable embedding private/workspace projects (#5047) 2025-07-15 13:25:12 +02:00
Mike f1739b46b2 Feat: Remove SpeckleCon banner/workspace explainer code (#5071) 2025-07-15 12:49:49 +02:00
Chuck Driesler 2c66b3aef5 fix(embedTokens): return all metadata on embed token create (#5055)
* fix(embedTokens): return all metadata on embed token create

* chore(embedTokens): no !

* fix(embedTokens): more correct type usage

* fix(embedTokens): update codegen.yml
2025-07-10 14:36:14 +01:00
Chuck Driesler aa29a09ebc feat(tokens): create embed-specific tokens (#5013)
* feat(tokens): create embed-specific tokens

* fix(tokens): repo functions and policy sketch

* chore(authz): embed token policies and tests

* chore(authz): fine

* chore(gql): lint descriptions

* fix(embedTokens): better api surface, repo structure

* chore(embedTokens): test fixes

* fix(embeds): check resource access

* fix(embeds): use resource access util
2025-07-07 12:02:38 +01:00
Kristaps Fabians Geikins cf6d997b93 fix(fe): show last upload failed in list view (#5035) 2025-07-04 11:10:17 +03:00
Kristaps Fabians Geikins 7e01c6f769 feat(fe2): improved file import error handling (#5016)
* WIP error dialog

* import error reporting

* dialog content memoization

* dialog work

* more cleanup

* apollo cache adjustments

* add jobId to uploads table

* fix showing old pending version state

* feat(fe2): prevent user from leaving page if active uploads (#5017)

* feat(fe2): prevent user leaving if active uploads

* fixxes
2025-07-02 11:01:41 +03:00
andrewwallacespeckle 2fddcd78b7 feat(server+fe): Implement LimitedWorkspace for PendingWorkspaceCollaborator (#4984) 2025-06-27 09:35:37 +01:00
andrewwallacespeckle 4ce5a28b4a Add new query 2025-06-20 10:40:05 +02:00
andrewwallacespeckle 9b1f75f36d Merge branch 'main' into andrew/web-3627-implement-frontend-of-preventing-workspace-creations 2025-06-20 10:35:13 +02:00
Kristaps Fabians Geikins 3b641024cc feat(fe2): enable large file uploads (#4965) 2025-06-20 10:50:16 +03:00
andrewwallacespeckle 922b97ddfc Merge branch 'main' into andrew/web-3627-implement-frontend-of-preventing-workspace-creations 2025-06-19 16:39:46 +02:00
andrewwallacespeckle 6d54aa3451 Disable workspace switch +. Add hasAccessToFeature 2025-06-19 16:39:16 +02:00
andrewwallacespeckle 63d5908492 Merge branch 'andrew/web-3627-implement-frontend-of-preventing-workspace-creations' of https://github.com/specklesystems/speckle-server into andrew/web-3627-implement-frontend-of-preventing-workspace-creations 2025-06-19 16:17:17 +02:00
andrewwallacespeckle 7e413f4bce Contact us button 2025-06-19 16:16:49 +02:00
Gergő Jedlicska 01bb883bc4 fix(gatekeeper): add missing feature from access check api 2025-06-19 16:15:29 +02:00
andrewwallacespeckle fa1f6cd78e Merge branch 'main' into andrew/web-3619-output-more-workspaces-in-the-join-workspage-step 2025-06-19 15:46:29 +02:00
andrewwallacespeckle 249a3e6c82 WIP Business 2025-06-19 15:32:42 +02:00
andrewwallacespeckle c1e5be6bc3 Initial UI work 2025-06-19 14:18:03 +02: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
andrewwallacespeckle 31bc8b4d93 Show invites in card list 2025-06-18 16:12:13 +02: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
andrewwallacespeckle d9e9531d47 fix(fe): workspace members pagination not loading additional pages 2025-06-16 13:28:01 +02:00
Benjamin Ottensten 12821b5f6c Merge branch 'main' into andrew/web-3448-enable-auto-joining-a-workspace-as-a-setting 2025-06-13 12:31:28 +02: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
Mike d8c0528120 Fix: Always use primary email for domain verification (#4909) 2025-06-10 11:03:57 +02:00
andrewwallacespeckle 3468db5015 Update discoverability confirmation dialog 2025-06-05 15:46:06 +02:00
andrewwallacespeckle f5c4ab3b16 Remove unused card 2025-06-05 14:43:21 +02:00
andrewwallacespeckle 2b9b504746 Remove unused GQL 2025-06-05 14:16:30 +02:00
andrewwallacespeckle eb325ccfd8 More permissions 2025-06-05 12:47:01 +02:00
andrewwallacespeckle 742865370a Permissions. SSO to new layout 2025-06-05 12:17:43 +02:00
andrewwallacespeckle 650c17add6 GQL 2025-06-05 11:38:29 +02:00
andrewwallacespeckle b85bfc83e0 Merge branch 'main' into andrew/web-3448-enable-auto-joining-a-workspace-as-a-setting 2025-06-05 11:28:40 +02:00
andrewwallacespeckle 61224cf0c0 feat(fe): Update invite dialog copy depending on default seat
feat(fe): Update invite dialog copy depending on default seat
2025-06-05 11:26:21 +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
andrewwallacespeckle 57accc35e7 Update copy based on isSelfServePlan 2025-06-04 16:29:48 +02:00
andrewwallacespeckle 610dd5d2b2 Update copy depending on default seat 2025-06-04 16:23:01 +02:00
andrewwallacespeckle 37eabb2a06 Swap to radio 2025-06-04 15:41:22 +02:00
andrewwallacespeckle 8c2bf6165d Add defaultseat 2025-06-04 15:14:46 +02:00
andrewwallacespeckle 0e83b259e1 Fix merge 2025-06-04 15:06:10 +02:00
andrewwallacespeckle adf0ccdc11 Updated domain management 2025-06-04 14:47:16 +02:00
andrewwallacespeckle aec4ad5339 Removed optimistic response 2025-06-04 10:59:56 +02:00
andrewwallacespeckle 8f6f772397 Fix build. Add else toast 2025-06-04 09:57:03 +02:00
andrewwallacespeckle 8374c49107 Merge branch 'main' into andrew/web-3448-enable-auto-joining-a-workspace-as-a-setting 2025-06-03 17:20:49 +02:00
andrewwallacespeckle 18136ff210 feat(fe): Add default seat selection to workspace security settings 2025-06-03 10:27:20 +02:00