Daniel Gak Anagrov
3ca4a11ca3
feat(notifications): basic listener structure, notification record, delayed mechanism ( #5432 )
...
* feat: basic notification listener sturcuture
* feat: clean up generated gql
* chore: edited structure
* feat: added basic repo
* feat: ported comment email to job queue
* feat: ported stream access request accepted
* feat: added notification insertion
* fix: minor typings
* feat: delayed notifications
* updated types
* feat: fixed gql
* notifications are listed
* index on notifications
* feat: while loop skiping for update locked
* delayed notification for access request
* take into account user prefrences
* on comment view, notification is marked as read
* feat: added gql notifications
* feat: avoid raising errors
* fix: error added scopes
* fix: mr comments
* fix: cursor and service method
* feat: added stronger types to notifications and versioning logic
* minor: rows updated
2025-10-06 12:19:12 +01:00
Kristaps Fabians Geikins
936a0b9019
fix: allow toggling home view on others' views ( #5643 )
...
* fix: allow toggling home view on others' views
* lint fix
2025-10-03 16:52:00 +03:00
Oğuzhan Koral
05e00d2c5c
feat(acc): revamp ( #5501 )
...
* chore(acc): put permission gql in correct place
* feat(acc): swap to new rvt import
* fix(acc): add oda secrets
* feat(acc): auth cookies
* feat(acc): introduce integrations as workspace setting
* feat(acc): create sync item from models
* fix(acc): bump
* fix(acc): naming lost in merge
* feat(acc): no acc tab - table under settings
* chore(acc): new sync but will disapper
* feat(acc): see statuses over model list
* chore(acc): fix return type
* chore(acc): type saga
* chore(acc): status badge
* chore(acc): refactor acc gql (#5556 )
* checkpoint
* fix(acc): refactor gql items
* feat(acc): double button
* chore(acc): gqlgen
* fix(acc): model ids are not project ids
* chore(acc): bump function version
* chore(acc): split up clients
* feat(acc): more-optimised gql folder fetching schema
* feat(acc): acc folder contents gql impl
* feat(acc): apollo cache optimisations
* chore(acc): gqlgen
* fix(acc): return something for
* fix(acc): handle null values correctly
* chore(acc): specify prod functions
---------
Co-authored-by: Chuck Driesler <chuck@speckle.systems >
2025-10-03 13:54:17 +01:00
Daniel Gak Anagrov
d41f59be11
feat(savedViews): share presentations ( #5523 )
...
* share presentations basics
* fix: issues and resolvers
* missing gqlgen
* fix
* fix: gql types
* feat: minor changes
* fix: fk and policies
* feat: add shareLink
* feat: remove useless error
* fix: minor
* fix: tests
2025-09-29 13:30:05 +01:00
Gergő Jedlicska
84ed580ea4
feat(dashboards): create new dashboard share api ( #5468 )
...
* feat(dashboards): create new dashboard share api
* feat(dashboards): add enable / disable dashboard share flows
* test(dashboards): add more unittests to dashboard sharing
* Add sharing modal
* Update sidebar
* Update share token mutation
* feat(dashboards): share check for projects, tokens return modified
objects
* Updated tokens
* Fix
* Middleware
* Add default case
* fix(tokens): respect the tokens.revoked parameter
* fix(shared): can read dashboard now requires an active server session
* fix(server): handle dashboard no projects error in server
---------
Co-authored-by: Mike Tasset <mike.tasset@gmail.com >
2025-09-18 16:01:07 +02:00
Iain Sproat
c9338c1ee3
fix(server/emails): move guard to caller and fix circular reference ( #5427 )
2025-09-12 12:53:01 +01:00
Iain Sproat
18265b6278
feat(server/emails): support require TLS configuration option EMAIL_REQUIRE_TLS ( #5425 )
2025-09-12 12:06:25 +01:00
Iain Sproat
a0f23dcefe
fix(server/email): emails configuration is secure by default but can be overridden ( #5417 )
2025-09-11 17:06:36 +01:00
Iain Sproat
2be6fa3d08
Revert "chore(server/email): log error if email cannot be verified ( #5408 )" ( #5416 )
...
This reverts commit 1ce92e2980 .
2025-09-10 17:28:00 +01:00
Iain Sproat
1ce92e2980
chore(server/email): log error if email cannot be verified ( #5408 )
2025-09-10 16:59:17 +01:00
Mike
08eb1f7a1d
Feat: Bashboards in app ( #5333 )
2025-09-01 14:24:17 +02:00
Chuck Driesler
8a9b4829d9
feat(multiregion): replace user replication ( #5253 )
2025-08-28 10:02:53 +02:00
Kristaps Fabians Geikins
9d9a456b28
chore(fe2): upgrade to nuxt 4 ( #5306 )
...
* actual npm update
* migrating plugin
* fix hydration (todo redis)
* fix dashboard title
* linting fixes
* fix ssr dev logs
* fix shared build
* more linting fixes
* more lint fixes
* preview dockerfile fix
* fix max stack trace issue
2025-08-27 10:26:32 +03:00
Iain Sproat
ea6676238e
chore(feature flags): merge background jobs with next gen file importer ( #5273 )
...
* chore(feature flags): remove legacyIfcImporterEnabled & experimentalIfcImporterEnabled
- experimentalIfcImporterEnabled is now assumed to be permanently true
- legacyIfcImporterEnabled is now assumed to be permanently false
* chore(feature flags): merge background jobs with next gen file importer
* remove reference to Redis from metrics
* fix README linting
* Update README instructions
* Add port for healthz to definition
2025-08-26 12:21:31 +01:00
Daniel Gak Anagrov
3d67e56fbc
[WIP] feat: proposal structre for 2pc operations in multiregion ( #5159 )
...
* feat: proposal structre for 2pc operations in multiregion
* feat: minor restructure
* feat: added another test
* fix(2PC): refactor to include return value and errors
* fix(2PC): improve and test tests
* fix(2PC): improve logging
---------
Co-authored-by: Charles Driesler <chuck@speckle.systems >
2025-08-15 10:50:01 +01:00
Kristaps Fabians Geikins
d013fe1dd7
feat: tightening up saved views permissions ( #5239 )
...
* updated auth policies
* added auth checks to resolvers
* tests for single view resolvers
2025-08-14 12:45:08 +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
Daniel Gak Anagrov
ba8a62dd2a
feat: added schedule for deleting stale prepared transactions ( #5169 )
2025-08-12 15:23:27 +01: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
Chuck Driesler
e894477cd3
fix(acc): env variables and repo functions
2025-07-25 21:18:43 +01: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
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
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
96c7394864
chore(server/previews): handle case where project deleted while preview generated ( #4612 )
2025-07-01 15:25:20 +01: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
Iain Sproat
dae238f705
feat(fileimport service): allow dedicated Redis server for queue ( #4858 )
2025-06-03 08:55:54 +01: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
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
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
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
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