Iain Sproat
875a1a1783
feat(previews): retry errored previews if feature flag enabled ( #4498 )
2025-07-16 15:30:19 +01:00
Daniel Gak Anagrov
c7d97eb25c
feat(activity): cronjob to backfill workspace seats, plans and subcriptions and project acl activity ( #5027 )
...
* feat: backfill as a scheduled execution
2025-07-14 16:28:04 +02:00
Chuck Driesler
dc3cfb4263
chore(tokens): small cleanup of error message ( #5068 )
2025-07-14 12:15:32 +01:00
Gergő Jedlicska
a1c370aafe
feat(billing): allow tax id collection during checkout ( #5066 )
2025-07-14 10:43:37 +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
520e931211
Gergo/web 3685 create new standalone python app for speckleifc based parser ( #5051 )
...
* 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(ifc_importer): initial importer app implementation with a sleeping
worker
* chore(pre-commit): remove black as a formatter, its now handled by ruff
* fix(ifc-importer): better handling of max job attempt
* feat(eslint): ignore package from eslint
2025-07-11 20:12:43 +02:00
Iain Sproat
ba6c0dfef5
fix(server/dockerfile): bump node version to 22 ( #5060 )
2025-07-11 11:46:23 +02: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
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
Gergő Jedlicska
8c5d4d9654
fix(commits): return last commit of branch / stream even if its behind
...
the history limit
2025-07-10 12:50:26 +01:00
Daniel Gak Anagrov
c2a28f8674
fix( #5018 ): avatar can be removed ( #5022 )
...
* fix: avatar can be removed
* feat: added tests for activeUser updates
2025-07-10 11:45:32 +02: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
26070c5338
fix(embedTokens): use arg ( #5050 )
...
* fix(embedTokens): use arg
* chore(scripts): revert test command change
2025-07-09 14:11:34 +01: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
Iain Sproat
f769ff4572
fix(server/fileuploads): longer time out before expiry, from last converted time ( #5039 )
2025-07-08 09:42:36 +01:00
Iain Sproat
f55083a933
feat(server): add deprecation notice to /api/file/:fileType/:streamId/:branchName? ( #5032 )
2025-07-07 12:08:24 +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
Daniel Gak Anagrov
3e7e11b8a1
feat(gatekeeper): add error log on seat mismatch ( #5004 )
...
* feat: added a specific errors on downscale issues
2025-07-07 12:28:59 +02:00
Iain Sproat
556c2791b3
feat(file imports): large file uploads now work on docker compose ( #5037 )
2025-07-07 11:00:55 +01:00
Jedd Morgan
c4778bfa42
feat(file-import): experimental ifc openshell importer ( #5028 )
...
* first pass
* second pass
* undo local changes
* Refactors env vars to feature flags, adds helm chart values
* fix documentation of feature flag
* fix typo
* adjusted speckleifc pinned version
* renamed enableLegacyIfcImporter helm ff to legacyIfcImporterEnabled
* Added experimental ifcimporter to next-gen file importer
* Fix next-gen import service redis url fallbakcs
* add missing server url envvar
---------
Co-authored-by: Iain Sproat <68657+iainsproat@users.noreply.github.com >
2025-07-04 17:01:25 +01:00
Iain Sproat
d80fe58c1f
feat(server/fileuploads): remove experimental next gen REST API ( #5034 )
2025-07-03 18:59:17 +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
8628e845bd
chore(server/logging): metadata for file import error logs ( #5021 )
2025-07-02 15:17:24 +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
Iain Sproat
96c7394864
chore(server/previews): handle case where project deleted while preview generated ( #4612 )
2025-07-01 15:25:20 +01:00
Daniel Gak Anagrov
7de0229b76
fix: avoid workpaces to turn free when susbscription is present ( #5015 )
2025-07-01 13:08:24 +02:00
Iain Sproat
a749a96791
fix(server/auth/google): handle error parameter in request query ( #5003 )
...
- callback queries with query parameter key of `error` and value of `access_denied` were not being handled and resulting in passportService case for no user, no error, and a failureType of null.
- tokenerror seems not to result in google verify callback being called, so moving the logic to handle it to the passport authentication callback
2025-07-01 07:38:07 +01:00
Daniel Gak Anagrov
a4ab20c938
feat(activity): add workspace billing events and seats to activity ( #4944 )
...
* feat: improved gatekeeper eventsfor workspace history
* feat: userId on seat assign
* feat: record workspace seat events
* feat: workspace removals as activity
* feat: emit role and seat events on create workspace
* fix: reordered events for workspace creation
2025-06-30 16:49:36 +02:00
Kristaps Fabians Geikins
290fdb3e6d
feat(server): dev-only endpoint for monitoring bull queues ( #5000 )
...
* feat(server): dev-only endpoint for monitoring bull queues
* cr comments
2025-06-30 16:12:45 +03:00
Iain Sproat
a6c473f682
fix(server): correctly handle content-disposition ( #5008 )
...
- non-ascii filenames were not handled correctly causing 500 errors when file attempted to be downloaded
2025-06-30 13:57:09 +01:00
Kristaps Fabians Geikins
18800c9fba
fix(server): shouldnt use main region config if FF off ( #5009 )
2025-06-30 15:20:14 +03:00
Kristaps Fabians Geikins
5ef0e67ac7
fix: making pg LISTEN/NOTIFY skip pool ( #5007 )
2025-06-30 14:54:12 +03:00
Kristaps Fabians Geikins
c57262aa44
chore: log listen/notify connection strings ( #5006 )
...
* chore: log listen/notify connection strings
* re-adding multiRegionConfig alias
* CR comments
* type fix
2025-06-30 11:59:28 +03:00
Kristaps Fabians Geikins
0ae4ba63a9
fix(server): externally managed DB connection for notifs ( #5002 )
...
* fix(server): externally managed DB connection for notifs
* weakMap based listener tracking
2025-06-27 17:31:32 +03:00
Kristaps Fabians Geikins
c8bbab864a
chore(server): improved db notif logging for issue troubleshooting ( #5001 )
2025-06-27 15:41:30 +03:00
Iain Sproat
e99bcccb4f
chore(server): no need for two alerts on this, log at warn ( #4999 )
...
- there is an alert which specifically finds this event type
- no need to also log at error level, which causes a second alert to fire
2025-06-27 11:32:10 +01:00
Iain Sproat
0bac6434f5
fix(server/blobstorage): removes ability to define blob ID on upload ( #4995 )
2025-06-27 10:48:59 +01:00
Kristaps Fabians Geikins
6b9e5d0925
fix(server): not emitting seat updated on role add ( #4998 )
2025-06-27 12:20:32 +03:00
andrewwallacespeckle
2fddcd78b7
feat(server+fe): Implement LimitedWorkspace for PendingWorkspaceCollaborator ( #4984 )
2025-06-27 09:35:37 +01:00
Kristaps Fabians Geikins
fd1a3cf341
fix(server): using project scoped db for fileupload sub handlers ( #4994 )
2025-06-26 17:56:15 +03:00
Kristaps Fabians Geikins
1ae7e79d5b
fix(server): file upload sub auth checks ( #4992 )
2025-06-26 16:46:39 +03: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
Chuck Driesler
08410ffb7d
fix(regions): fix for flaky move region test ( #4989 )
2025-06-26 11:14:50 +02:00
Iain Sproat
febe2a9e4e
fix(file imports): ensure correct server url is used by parser ( #4987 )
2025-06-26 09:08:39 +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
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