Commit Graph

2694 Commits

Author SHA1 Message Date
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