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
Daniel Gak Anagrov
51f0b31fde
feat: record delete workspace activity ( #5646 )
2025-10-06 10:29:21 +01:00
Iain Sproat
ef290d3d6b
fix(/auth/token): should not be cached ( #5644 )
2025-10-03 16:11:54 +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
Iain Sproat
7d439fe6de
fix(server/passwordreset): prevent user enumeration through brute force ( #5633 )
2025-10-03 14:04:53 +01: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
Kristaps Fabians Geikins
a5769a1c23
fix: view/group create/read when resourceIdString contains $prefix ids ( #5640 )
...
* fix resolution in create
* fix retrieval
* minor fix
2025-10-03 14:58:43 +03:00
Kristaps Fabians Geikins
d394e1cd9b
fix: various presentations mode fixes related to resetting ( #5635 )
...
* better workspace feature flag ops
* user activity is correctly tracked
* more fixes
2025-10-03 12:39:59 +03:00
Iain Sproat
25718ae3dc
fix(server/checkout): only enable checkout session if billing integration enabled ( #5624 )
2025-10-02 16:52:17 +01:00
Mike
1774fff3db
Fix: Various presentation fixes ( #5619 )
2025-10-02 16:17:06 +02:00
Mike
7c2be90f74
Feat: Add saved view subscription to presentations ( #5614 )
2025-10-02 12:50:12 +02:00
Kristaps Fabians Geikins
b801442bac
feat: saved views subscriptions ( #5601 )
...
* implemented
* init tests + fixes
* tests
* WIP FE subs
* WIP new post update handlers
* more post merge fixes
* switch over to full subs for post mutation updates
* moved over more post update to subs
* drag across groups seems to work again?
* group subs
* stuff seems to work
2025-10-02 11:58:08 +03:00
Chuck Driesler
47cb1a83a2
chore(automate): drop unused query ( #5610 )
2025-10-01 11:12:52 +01:00
Kristaps Fabians Geikins
43803b9517
feat: optimized saved view previews & thumbnails ( #5563 )
...
* init new API routes
* WIP output & migration
* WIP endpoint
* endpoint works
* frontend adjusted fully
* aiven extras fixx + migration
* simpler migration
* add deprecation notice
* test fixes
* gqlgen
* testss fix
2025-09-30 11:08:08 +03:00
Gergő Jedlicska
fc118bc82c
fix(server): log blocked email domain error as an info message ( #5599 )
2025-09-30 09:56:52 +02:00
Mike
6224f80e4c
Fix: Pass embed token to preview ( #5590 )
2025-09-30 08:39:13 +02: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
Mike
5565d4cd58
Feat: Add SpeckleCon promo banner ( #5569 )
2025-09-29 11:28:32 +02:00
Gergő Jedlicska
e8d3292486
block gmail signups ( #5564 )
...
* feat(server): block gmail signup with google sso
* feat(server): allow signup with an invite even if its gmail
* fix(server): use lower case and trim for emails
2025-09-25 16:50:34 +02:00
Kristaps Fabians Geikins
b6136e1afb
fix(server): a couple of saved views positioning fixes ( #5550 )
...
* fix(server): fix move auth check for saved views
* fix throw un positioning between invalid views
2025-09-24 18:26:21 +02:00
Gergő Jedlicska
85e127f690
Gergo/workspace scoping ( #5546 )
...
* fix(workspaces): project.workspace should be behind a token scope
* fix(workspace): add limited workspace resolver to projects
* Update FE
---------
Co-authored-by: Mike Tasset <mike.tasset@gmail.com >
2025-09-24 16:51:43 +02:00
Iain Sproat
ec59dd160a
feat(core/admin): server admin can mark user email as being verified ( #5482 )
2025-09-24 12:17:30 +01:00
Kristaps Fabians Geikins
99c26db777
feat: MVP manual view positioning ( #5500 )
...
* init migration
* WIP position calculations
* view retrieval sorting
* WIP specific position resolution
* position calc
* new positioning draft
* workz?
* improved error
* even better logging
* moar
* troubleshooting
* works??
* delete junk
* fixed rebalancing
* some tests
* lint fix
* test fix
* more fixes and tests
* more tests and fixes
* fix testsss
* more tests
* moaar
* fix group drop
* errorToString updates
2025-09-24 11:58:46 +02:00
Kristaps Fabians Geikins
77e36d37b3
feat: allow view title & description updates for non-owner contributors ( #5532 )
...
* new policies
* backend updated
* updated frontend
2025-09-24 09:26:03 +02:00
Chuck Driesler
48ddd79c6f
feat(mike): gift for mike ( #5515 )
2025-09-23 10:26:20 +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
Gergő Jedlicska
c3d452ad0c
Gergo/cxpla 278 v2 server api endpoint with masking support ( #5414 )
...
* WIP: streaming masking endpoint
* feat(objects): working object streaming with filtering
* feat(object-loader): use the new objects endpoint
* fix(server): allow downloading of public project data
* feat(objectloader-2): include object masking in objectloader
* feat(objectloader2): make attribute masking optional
* fix(server): remove unused imports
2025-09-18 15:56:41 +02:00
andrewwallacespeckle
ab5756e144
Update docblock. Update condition in data.ts
2025-09-18 12:46:02 +01:00
andrewwallacespeckle
1899e60f18
fix server build
2025-09-18 12:41:48 +01:00
Iain Sproat
1267a27e69
fix(email): pino does not like log functions in inline logic ( #5481 )
2025-09-17 17:10:44 +01:00
Iain Sproat
9b8157fedc
feat(server/emails): emit delivery status in email.sent payload ( #5455 )
2025-09-17 10:46:22 +01:00
Kristaps Fabians Geikins
dfdd5ce305
fix(fe2): fix saved federated view loaded camera coords ( #5456 )
...
* various loading issues resolved
* fix: viewer zoomToObject unnecessarily triggering
2025-09-16 10:46:23 +03:00
andrewwallacespeckle
e4f9168670
fix build
2025-09-15 17:03:20 +01:00
andrewwallacespeckle
324520f83d
feat(fe): use email verification timeout from server
2025-09-15 16:16:14 +01:00
Kristaps Fabians Geikins
689d2c5638
feat(fe2): filter color serialization ( #5437 )
...
* feat(fe2): filter color serialization
* early load fix
2025-09-15 15:02:18 +03:00
Mike
cac15190da
Feat: Presentations base ( #5389 )
2025-09-15 10:01:59 +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
Chuck Driesler
d555bd9e57
feat(sso): allow sso session duration overrides ( #5289 )
...
* feat(sso): allow secret sso session overrides
* fix(sso): better timeout config
* chore(sso): fix test definitions
2025-09-11 20:03:56 +02: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
0afdaf5fc0
fix(server/fileuploads): deprecated endpoint now uses postgres queue ( #5410 )
2025-09-11 15:57:31 +02:00
Iain Sproat
0c9b65c52d
chore(server/fileuploads): separate garbage collection for logging/alerting ( #5405 )
...
- separate exceeded attempts from no remaining compute budget so we can log differently
- this enables each to be alerted differently
2025-09-11 12:47:26 +02:00
Daniel Gak Anagrov
2c122a138d
feat(workspaces): apply prepared transactions to workspaces ( #5383 )
...
* feat(multiregion): replace user replication
* chore(multiregion): optimise replication
* maybe it's this
* postgres is fun
* once more
* chore(multiregion): only replicate test user creation during multiregion tests
* feat: improved replicate_query logic
* fix: minor
* fix: starting issue
* feat: included user create and delete specs to multiregion
* feat: removed console logs
* fix: user defaults
* fix: multiregion test helper
* fix: update scenarios for users
* refactor(multiregion): swap replicateQuery concept to asMultiregionOperation (#5301 )
feat(multiregion): introduced asMultregionOperator, refactor test to user builder classes
* chore: renamings
* fix: remove comments
* feat: remove user replication
* refactor: simplified spec usages
* chore: comments
* chore: branches and favs
* chore: more tests
* chore: more tests
* fix linting
* fix tests
* feat: dropping replication
* refactor: moved project delete to service
* fix: comment
* feat: updateStreamFactory and updateProjectFacotry
* deleteProjectFactory + replicateFactory
* deleteWorkspaceFactory
* fix: selector
* fix: tests
* fix tests, finished createStreamFactory
* feat: simplify changes
* fix: remove comment
* fix: minor strucutres
* fix: moveProjectToRegion
* fix: moved branch creation outside of multiregion scope
* fix: branch creation
* fix: tests
* fix: ci tests
* fix: removed log form test
* fix: on specs, no random regionKeys
* review fixes
* feat: workspace replciation
* fix: mr comments
* feat: removed test
* fix: worksapce test creation
* fix: mr issues
* updated mutations
* feat: drop workspace random defaults
---------
Co-authored-by: Charles Driesler <chuck@speckle.systems >
2025-09-11 10:08:26 +02: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
Daniel Gak Anagrov
1f5003bd32
feat(multiregion): cron job to detect regions out of sync ( #5392 )
...
* feat: basic structure
* fix: detect regions out of sync
* feat: added sync logic
* fix: tests
* feat: merge all strategy
* fix: mr comments
* fix: updatedAt in updates
* feat: project updatedAt no longer is a hidden operation
* feat: project region sync
* feat: delete project on cross-region-move
* removal: unnecesary permisions
* fix: caching issue
* fix: saved views on project cross region move
2025-09-10 16:35:48 +01:00
Iain Sproat
4620875ece
fix(server/fileuploads): profile.email not users.email ( #5411 )
2025-09-10 11:56:29 +01:00
Iain Sproat
46aaa9a15b
fix(server/fileuploads): add user:email scope to token ( #5409 )
...
- allows file importer to report user metrics
2025-09-10 11:01:05 +01:00
Iain Sproat
24d159d3cb
fix(server/fileuploads): garbage collector should collect queued jobs which have reached max attempts ( #5401 )
2025-09-09 15:06:08 +01:00
Iain Sproat
79ef564e1b
feat(server/fileuploads): background jobs draws down a compute budget ( #5349 )
2025-09-08 16:26:41 +01:00