Commit Graph

557 Commits

Author SHA1 Message Date
Mike Tasset 7ff54963aa Merged main 2025-08-05 15:08:34 +02:00
Kristaps Fabians Geikins a6287fc06d feat(fe2 & server): saved views foundation (list & view) + bits n bobs (#5163)
* init db migration

* WIP store view

* create service call

* WIP insertion

* insert sort of works

* moving code arounmd

* creation tests

* avoid duplicate entries

* fixes from main

* basic group retrieval works

* group filtering works

* WIP view listing

* filter by acl

* fixes + WIP single group retrieval

* wip pivot

* more pivot query fixes

* tests fixed after pivot

* views list tests

* fixing test command

* business plan only checks

* more tests for coverage

* .dts import fix

* cli fix

* anutha one

* auth policy tests for business plan access

* WIP saved views panel base

* BE listing adjustments

* WIP group rendering

* group render done

* WIP post create cache updates

* listing fine?

* my vs theirs

* auto open

* minor fixes

* click load omg

* nicely loading views

* type fix

* less spammy loading

* another type fix:

* more lint fix

* test fix

* codecov disable

* moar coverage

* fix sidebar flashin

* more test coverage

* more test cvoverage

* minor adfjustments

* adj

* saved view wipe fixes

* CSR viewer

* more improvements

* extra feature flag checks

* lint fix

* feature flags fix

* more test fixes
2025-08-05 11:52:50 +03:00
Mike Tasset 6a62e3ab4d Merge branch 'main' into feature/initial-viewer-ui-updates 2025-07-29 12:59:51 +02:00
Gergő Jedlicska c8056d71f3 feat(ifc-import-service): integrate the specklepy parser (#5147)
* feat(ifc-import-service): integrate the specklepy parser

* chore(ifc-import-service): lock packages
2025-07-28 12:46:27 +02:00
andrewwallacespeckle 000bb1742b Models Panel WIP 2025-07-25 18:22:14 +01:00
andrewwallacespeckle 0d8cf29a66 feat(fe): new models panel first draft 2025-07-25 15:40:55 +01:00
Mike Tasset 9db513f835 Combined right sidepanel 2025-07-24 21:31:03 +02:00
Mike Tasset 60a6f6bc39 Merged main 2025-07-24 15:06:39 +02:00
Mike 24b6f1f329 Feat: Improved workspace switcher (#5058) 2025-07-24 12:31:43 +02:00
Daniel Gak Anagrov f8c8170e48 feat(fileImport): gql mutation for nextGen (#5132)
* feat: drafted gql mutation

* fix: warning issue

* unified naming of action

* feat(file_uplaod): moved finishFileUplaod test to graphql

* fix: tests

* removed nextGen rest endpoint

* fix: Int type, adapted fileupload next gen call

* feat: udpated gqlgen

* improved fileimport errors

* fix: access control

* mr comments

* fix: tests

* fix: import
2025-07-24 08:00:52 +02:00
Mike Tasset 1473785da6 Merge branch 'main' into feature/initial-viewer-ui-updates 2025-07-23 13:38:01 +02:00
andrewwallacespeckle 4780503d64 fix(fe): add role to ProjectModelPageVersionsProjectFragment 2025-07-21 20:05:56 +01:00
Mike Tasset 98daca5c60 Add bottom and right panels 2025-07-21 00:05:25 +02:00
Chuck Driesler d2f2d7bcfd feat(automate): allow function authors to regenerate function tokens (#5057)
* feat(automate): expose function regeneration endpoint

* chore(automate): remember to call the function

* fix(automate): use correct auth code action

* fix(automate): token regenerate policy

* fix(automate): expose function regen token policy

* feat(automate): workspace automation settings tab

* feat(automate): function token regeneration dialog

* fix(automate): improve gql usage in vue components

* chore(authz): tests for automate function policies

* fix(automate): use paginated query

* fix(automate): resolve initial result
2025-07-17 11:24:58 +02:00
Mike fd30917f27 Feat: Add resource ID to token table (#5093) 2025-07-17 10:10:11 +02: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 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 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