Commit Graph

691 Commits

Author SHA1 Message Date
Kristaps Fabians Geikins be0155a95d feat: rename a group (#5228)
* add disclosure edit mode support

* group update backend works

* WIP group title edit

* rename seems to work

* fix menu overflow

* remove comment

* optimistic responser fix

* rename validation

* disclosure sync fix
2025-08-13 17:38:20 +03:00
Kristaps Fabians Geikins 0c837715a3 feat: support group delete (#5215)
* backend implemented

* added create to group, but search seems busted

* group search fixed

* moar group retrieval fixes

* more recalculations

* support group delete

* delete confirm dialogs
2025-08-13 10:14:44 +03:00
Kristaps Fabians Geikins 34290877fa feat: list & create groups (#5206)
* WIP group create

* create and list group works

* test fix

* safe router
2025-08-12 11:28:52 +03:00
Kristaps Fabians Geikins 0f5096fb2e feat: copy link to view + load original version (#5202)
* frontend nearly there

* backend adjustment sort of there

* WIP url busted issue

* does it work?

* how about now

* loading seems to work now
2025-08-11 16:02:35 +03:00
Kristaps Fabians Geikins f87edcb50f feat: saved view update dialog (#5196)
* view update BE foundation

* WIP update service call

* a bunch of tests

* WIP edit view dialog

* fix for auto submit

* frontend works
2025-08-08 13:27:15 +03:00
Kristaps Fabians Geikins 21e8ec3e27 feat: saved view delete (#5192)
* canUpdate auth policy

* delete mutation WIP

* backend works

* frontend working

* minor adjustments

* test fix

* switch to new empty state

* beefing up coverage

* cr fix
2025-08-07 12:13:39 +03:00
Charles Driesler 9c637c27a4 Merge branch 'main' into oguzhan/acc-connector 2025-08-05 11:45:44 +01: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
Charles Driesler 6da00d524c fix(acc): policy and usage in FE 2025-08-05 00:52:16 +01:00
Charles Driesler 4b96a9faeb fix(acc): getter gql and more 2025-08-04 23:05:39 +01:00
oguzhankoral c5d46ea267 Fix(acc): correct graphql argument for subs 2025-08-04 18:23:50 +03:00
oguzhankoral a322d76273 Fix(acc): subscriptions for update and delete 2025-08-04 18:19:23 +03:00
Charles Driesler 898e8ee149 fix(acc): query non-unique sync item urns 2025-08-01 15:21:36 +01:00
oguzhankoral d4b9d4a002 fix(acc): remove fileLineageUrn 2025-07-31 19:20:38 +03:00
oguzhankoral 44fdd95840 feat(acc): blind change on update delete mutations from lineageUrn to id 2025-07-31 18:47:40 +03:00
oguzhankoral 4a9742e4fb feat(acc): view name text input and graphql 2025-07-31 16:57:39 +03:00
Chuck Driesler 696edb1de4 Merge branch 'main' into oguzhan/acc-connector 2025-07-30 14:48:32 +02:00
Chuck Driesler 1679ac4ec1 feat(acc): sync item subscriptions 2025-07-30 00:49:05 +02:00
Chuck Driesler ec692afe87 chore(acc): on the way to pagination 2025-07-28 18:37:22 +01:00
Chuck Driesler 0674a0d3ec chore(acc): even mo services 2025-07-28 18:12:29 +01:00
Chuck Driesler 64d7aece29 chore(acc): mo repos mo services 2025-07-28 17:02:18 +01: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
Chuck Driesler ce7a004ce0 Merge branch 'main' into oguzhan/acc-connector 2025-07-24 12:40:01 +01: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
Kristaps Fabians Geikins 8d72ae9cab fix(server): extra fixes for running TS directly (#5135) 2025-07-23 12:44:19 +03:00
Kristaps Fabians Geikins 4b06f42db7 chore(server): run TS files directly (no compilation) (#5134)
* sort of works

* type fixes

* added option to run old way too
2025-07-23 11:20:40 +02:00
Kristaps Fabians Geikins e34a44bf66 fix(server): incorrectly dealing w/ different email casing (#5131)
* fix(server): incorrectly dealing w/ different email casing

* Cr comments
2025-07-23 10:19:46 +03:00
Chuck Driesler 06f12c134c Merge branch 'main' into oguzhan/acc-connector 2025-07-22 20:24:52 +01:00
oguzhankoral 154ba0ec7e Acc version id fixes 2025-07-22 14:58:12 +01:00
Chuck Driesler c60a093a0a fix(acc): updated table shape 2025-07-22 14:13:12 +01:00
Daniel Gak Anagrov e5fb1361c6 fix: getting all user projects on deletion and user filter (#5112)
* fix: getting all user projects on deletion and user filter
2025-07-21 10:07:46 +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
oguzhankoral cfadedd287 Webhooks and TODOs for next steps 2025-07-14 19:18:57 +03:00
Kristaps Fabians Geikins b29331705e chore(server): get rid of duplicate gql TS types (#5065) 2025-07-14 11:31:12 +03:00
Iain Sproat 2bbfb8cede feat(server/email verification): configurable timeout (#5061) 2025-07-14 08:56:27 +01:00
Kristaps Fabians Geikins bde148f286 chore(server): migrating fully to ESM (#5042)
* wip

* some extra fixes

* stuff kinda works?

* need to figure out mocks

* need to figure out mocks

* fix db listener

* gqlgen fix

* minor gqlgen watch adjustment

* lint fixes

* delete old codegen file

* converting migrations to ESM

* getModuleDIrectory

* vitest sort of works

* added back ts-vitest

* resolve gql double load

* fixing test timeout configs

* TSC lint fix

* fix automate tests

* moar debugging

* debugging

* more debugging

* codegen update

* server works

* yargs migrated

* chore(server): getting rid of global mocks for Server ESM (#5046)

* got rid of email mock

* got rid of comment mocks

* got rid of multi region mocks

* got rid of stripe mock

* admin override mock updated

* removed final mock

* fixing import.meta.resolve calls

* another import.meta.resolve fix

* added requested test

* nyc ESM fix

* removed unneeded deps + linting

* yarn lock forgot to commit

* tryna fix flakyness

* email capture util fix

* sendEmail fix

* fix TSX check

* sender transporter fix + CR comments

* merge main fix

* test fixx

* circleci fix

* gqlgen bigint fix

* error formatter fix

* more error formatting improvements

* esmloader added to Dockerfile

* more dockerfile fixes

* bg jobs fix
2025-07-14 10:26:19 +03:00
oguzhankoral 758f7a8bd6 subscriptions 2025-07-11 07:49:17 +03:00
oguzhankoral 2c77364e9a Merge remote-tracking branch 'origin/main' into oguzhan/acc-connector 2025-07-11 05:32:10 +03:00
oguzhankoral 22bb18cc10 Initial implementation 2025-07-11 05:29:12 +03: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
Daniel Gak Anagrov ba3d9ade22 feat(activity): moved project roles to activity (#5019)
* feat: moved project roles to activity
* fix: added previous project role filed on activity
* fix: remvoke does not get logged as an actvity for every project in a workspace when removed from workspace
* fix: on delete user account, emit also seat and project event

Co-authored-by: Charles Driesler <chuck@speckle.systems>
2025-07-10 11:44:54 +02:00
Chuck Driesler c35b2ce8c2 fix(embeds): private embed pagination (#5040)
* 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

* fix(embedTokens): paginate tokens, emit policy checks

* fix(embeds): better query typing

* chore(embeds): rename property
2025-07-08 13:17:26 +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 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
Chuck Driesler 2f36e518a0 fix(multiregion): make move region job safe for replication (#4907)
* chore(multiregion): failing test for move project region

* fix(multiregion): unblock replication after regional move

* fix(regions): try-catch replication

* fix(regions): cache roles within job

* fix(regions): toggle region key in target db
2025-06-25 15:47:34 +01:00
Iain Sproat d486ffc09a fix(logging): ensure metadata is present in logging context (#4968) 2025-06-20 15:40:26 +01:00
Gergő Jedlicska 01bb883bc4 fix(gatekeeper): add missing feature from access check api 2025-06-19 16:15:29 +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