Iain Sproat
fd4588c99b
feat(server/previews): retry dead preview resurrection if no backpressure ( #5099 )
2025-07-17 13:09:29 +01: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
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
Gergő Jedlicska
a5d624166b
feat(backgroundjobs): add new background jobs module for file imports ( #5041 )
...
* feat(backgroundjobs): add new background jobs module for file imports
queueing
* fix(fileuploads): a merge gone wrong
* feat(backgroundjobs): rename rhino queue env var
* test(backgroundjob): use deep equal claude
* fix(fileuploads): sync PR review
* feat(backgroundjobs): add origin server url to the background jobs table
* test(backgroundjobs): make tests pass
2025-07-10 18:04:16 +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
Iain Sproat
556c2791b3
feat(file imports): large file uploads now work on docker compose ( #5037 )
2025-07-07 11:00:55 +01:00
Iain Sproat
9dd95a372b
chore(server): include token id in auth context ( #5025 )
...
- it is relevant to understand which token was used to act on behalf of an user
2025-07-03 10:23:07 +01:00
Iain Sproat
96c7394864
chore(server/previews): handle case where project deleted while preview generated ( #4612 )
2025-07-01 15:25:20 +01:00
Kristaps Fabians Geikins
ed507c265b
fix(server): not firing upload created/processed subs in next gen uploads ( #4991 )
...
* fix(server): not firing upload created subs in next gen uploads
* lint fixes
* upload finished fixes
* test fixes
* fixed file_import_started
2025-06-26 15:33:11 +03:00
Kristaps Fabians Geikins
c047ac7be1
chore(server): move cursor utils to db helper ( #4988 )
...
* chore(server): move cursor utils to db helper
* move collection
2025-06-26 13:57:55 +03:00
Iain Sproat
943a9a7047
fix(file imports): allow up to 24 hours by default for large files ( #4990 )
2025-06-26 11:10:48 +01:00
Iain Sproat
a7e928438d
fix(file import): consistently apply time outs and increase default to 30 min ( #4982 )
2025-06-25 15:48:57 +01:00
Iain Sproat
d7d564d0d4
feat(file imports): next gen allows multiple file types ( #4953 )
2025-06-19 08:50:42 +01: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
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
Iain Sproat
5db8d41d13
fix(tests): typo ( #4911 )
2025-06-10 11:58:11 +01:00
Daniel Gak Anagrov
11948b40de
feat(gatekeeper): track seat updates ( #4865 )
2025-06-05 12:41:05 +02:00
Iain Sproat
dae238f705
feat(fileimport service): allow dedicated Redis server for queue ( #4858 )
2025-06-03 08:55:54 +01:00
Daniel Gak Anagrov
23b61769b7
feat(fileupload): added eventBus and mixpanel monitoring
2025-06-02 08:22:20 +02:00
Daniel Gak Anagrov
3e9f87177d
feat(workspaces): Delete, Cancel, CancelSheduled mixpanel BE events
2025-05-29 11:15:06 +02:00
Daniel Gak Anagrov
0b04719834
feat: moved workspaces Create and Upgrade mixpanel events to backend ( #4816 )
2025-05-28 13:30:55 +02:00
Kristaps Fabians Geikins
9998ed2586
feat: personal project limits ( #4759 )
...
* base limits cleanup
* history limit tests
* canCreatePersonal & tests
* canInvite block
* WIP model check
* fix tests
* shared tests fix
* lodash import fix
* lint fix
* help update
* hopefully fixing test
* CR comment
2025-05-20 14:56:05 +03:00
Kristaps Fabians Geikins
d2f2d95bb5
chore(server): migrate remaining tests to TS ( #4772 )
...
* auth tests migrated
* core tests
* pwdreset
* authz tests
2025-05-20 14:24:48 +03:00
Daniel Gak Anagrov
d69b835ab9
refactor(workspaces): fixed minor comments ( #4764 )
...
* fixed minor comments
2025-05-20 10:31:23 +02:00
Iain Sproat
3098100ca9
Merge branch 'main' into iain/task-id-to-request-context
2025-05-19 14:30:31 +01:00
Iain Sproat
185734d851
Merge pull request #4050 from specklesystems/iain/ratelimiter-should-respect-configuration
...
fix(ratelimiter): do not check rates if rate limiter disabled
2025-05-19 14:27:28 +01:00
Iain Sproat
cb7ff5247d
Merge branch 'main' into iain/task-id-to-request-context
2025-05-19 14:26:26 +01:00
Iain Sproat
43b0190720
Merge branch 'main' into iain/ratelimiter-should-respect-configuration
2025-05-19 13:37:26 +01:00
Chuck Driesler
969ca64a1b
feat(workspaces): toggle embedded viewer branding ( #4762 )
...
* feat(viewer): embedded viewer option to hide speckle branding
* chore(viewer): can edit embed options policy
* chore(embeds): tests for new policy and gql
2025-05-19 13:19:38 +01:00
Daniel Gak Anagrov
e67c27914c
feat(workspaces): backfill workspace tracking ( #4749 )
...
* added a chron job that updates all workspaces properties to mixpanel
2025-05-19 11:54:52 +02:00
andrewwallacespeckle
2f17b3f8b8
fix(server): Remove mailchimp step and journey ids ( #4750 )
...
* fix(server): Remove mailchimp step and journey ids
* Fix pre-commit - add end
* feat(server): use both onboardin and newsletter list audiences
* Fix type
* Remove unused triggerMailchimpCustomerJourney function
---------
Co-authored-by: Gergő Jedlicska <gergo@jedlicska.com >
2025-05-15 12:24:50 +02:00
Kristaps Fabians Geikins
4db1531064
feat: "workspace" project visibility ( #4704 )
...
* WIP new visi
* test fixes
* visibility seems to work
* authz policies & authorizeResolver updated
* various test fixes
* users tests
* frontend changes
* minor adjustments
* shared test fix
* test fixes
* force rerun CI
2025-05-14 15:20:26 +03:00
Daniel Gak Anagrov
82547b1411
feat(fileuploads): nexGenFileUpload populates messages to new job queue ( #4702 )
...
* add file import job to nextGen import endpoint
* moved queue, organized code
* add tests, minor refactoring
2025-05-14 12:32:54 +02:00
Kristaps Fabians Geikins
b406d0e32d
chore(server): node16 & export maps support for server ( #4698 )
...
* chore(server): node16 & export maps support for server
* moar cleanup
* lint fixc
2025-05-12 14:27:34 +03:00
Gergő Jedlicska
2fdcf1bd1d
refactor(shared): unified queue handling ( #4691 )
...
* feat(shared): unified queue initialization in shared
* feat(queues): use the new queue creation everywhere
* chore(shared): move to redis module
* chore(shared): fix export maps
* chore(fileimport): add deps properly
* fix(shared): import fix
* fix(everything): moear imports
* fix(server): cjs imports
2025-05-08 16:58:43 +02:00
Iain Sproat
15d67ba589
Merge pull request #4121 from specklesystems/iain/refactor-blob-storage
...
refactor(server/file upload): avoid extra http call
2025-05-07 15:11:15 +01:00
Kristaps Fabians Geikins
cf833a7719
fix(server): project role updates after workspace role/seat changes ( #4599 )
...
* fix(workspaces): workspace role sync
* role changes fixed + validated
* seat changes validated
* fix tests
---------
Co-authored-by: Charles Driesler <chuck@speckle.systems >
2025-04-29 10:49:37 +03:00
Iain Sproat
62c8b571f9
Merge branch 'main' into iain/refactor-blob-storage
2025-04-28 15:06:30 +01:00
Iain Sproat
a5d59a4f38
Fix broken references after merge
2025-04-28 15:02:04 +01:00
Iain Sproat
baec1e9156
tests(integration/blobs): can anonymously get blob from public project ( #4614 )
...
* tests(integration/blobs): can anonymously get blob from public project
* fix public access
* more fixes
---------
Co-authored-by: Kristaps Fabians Geikins <fabis94@live.com >
2025-04-28 12:26:50 +03:00
Iain Sproat
413937c0fa
Merge branch 'main' into iain/ratelimiter-should-respect-configuration
2025-04-28 08:16:19 +01:00
Iain Sproat
4529b6b37b
Merge branch 'main' into iain/refactor-blob-storage
2025-04-26 08:19:21 +01:00
Kristaps Fabians Geikins
e18f1a6eb5
fix(server): blob read should not require write scope ( #4610 )
2025-04-25 18:47:36 +03:00
Kristaps Fabians Geikins
eef0a37042
fix: blob upload should use auth policies ( #4594 )
...
* fix: blob upload should use auth policies
* tests fix
2025-04-25 09:13:22 +03:00
Kristaps Fabians Geikins
f1ae0916c6
feat(server): improved user/server profile mp tracking ( #4540 )
...
* user tracking
* server profile tracking
* style
2025-04-23 15:19:24 +03:00
Kristaps Fabians Geikins
d96726318f
fix(server): cache logger not respecting level
2025-04-23 14:41:01 +03:00