Commit Graph

2660 Commits

Author SHA1 Message Date
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
andrewwallacespeckle 4e8bcf5540 fix server build 2025-09-08 12:54:29 +01:00
Iain Sproat 36fdde28bb fix(server/emails): improve error handling of failed emails (#5390) 2025-09-05 16:14:36 +01:00
Gergő Jedlicska 87b621e92a feat(server): various fixes (#5360) 2025-09-05 13:24:56 +02:00
Kristaps Fabians Geikins faab48964b fix: groups removing all references on last view delete (#5387) 2025-09-05 12:00:23 +03:00
Kristaps Fabians Geikins e771a75164 feat: update view date only on move/replace (#5382) 2025-09-05 10:18:44 +03:00
Daniel Gak Anagrov 87082062c9 feat(multiregion): avoiding prepared transaction with only one database (#5336)
* feat: avoiding prepared transaction with only one database
* scope 2pc monitor specs to multiregion only
2025-09-04 14:42:55 +01:00
Gergő Jedlicska 7e1add4295 switch server hostapp support to slug (#5374)
* feat(shared): add missing sourceApps

* feat(shared): add missing source apps

* feat(server): map version source apps to slugs

* fix(shared): rhino search key

* fix(shared): search key ordering

* fix(server): lower case compare soureceApplications
2025-09-04 15:13:59 +02:00
Daniel Gak Anagrov 75aa5d9b2d feat(ci): reinstate multiregion tests (#5365)
* 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

* feat: simplify ci for postgres

* try: fix health check

* feat: fixed tests in ci

* try: entrypoint

* try: entrypoint

* try: entrypoint

* try: POSTGRES_INITDB_ARGS

* feat: apply POSTGRES_INITDB_ARGS to all server tests

* fix: broken test

* fix: reinstate max health attempts

* fix: after merge

* fix: after merge

---------

Co-authored-by: Charles Driesler <chuck@speckle.systems>
2025-09-04 14:49:02 +02:00
Daniel Gak Anagrov 399c998fd7 feat(multiregion): apply prepared transactions to projects (#5322)
* 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

* fix: mr comments

* feat: removed test

---------

Co-authored-by: Charles Driesler <chuck@speckle.systems>
2025-09-04 13:07:19 +02:00
Kristaps Fabians Geikins 2c72b8e7b8 fix: evict cache on saved view group delete (#5378) 2025-09-04 11:40:38 +03:00
Kristaps Fabians Geikins 3497eed931 feat: opening a model w/ a home view targets latest version (#5376)
* model link resolution updated

* finalization

* lint fix
2025-09-04 10:02:02 +03:00
Kristaps Fabians Geikins 51065ab635 feat: show ungrouped saved view group as disclosure (#5366)
* feat: show ungrouped saved view group as disclosure

* tests fix

* fix Ungrouped appearing at the end of the list
2025-09-04 10:01:51 +03:00
Kristaps Fabians Geikins 3558087b1f feat: allow moving views for non-author project contributors+ (#5373)
* new auth policies & fragments

* server changes

* frontend changes
2025-09-03 15:28:42 +03:00
Alexandru Popovici e80e0de74c Programmatic Measurements (#5346)
* feat(viewer-lib): Added MeasurementData and stuck with shared library defined measurement related types

* feat(viewer-lib): Some updates:
- Removed unnecessary calculations in point to point measurement. More lean now. Implemented serialization/deserialization
- Tempoarary serialization/deserializaton for the rest of the measurement types
- MeasurementsExtension now is able to load measurements from MeasurementData objects
- Updated viewer's export list to not export mesurements related types that are now exclusively exported by the shared library

* feat(viewer): Perpendicular measurements simplification (a little bit) and serialization/deserialization

* chore(frontend): Updated measurement types imports

* chore(viewer-lib): Removed the old normal indicator line from the perpendicular measurement

* feat(viewer-lib): Updates:
- Generic fromMeasurementData and toMeasurementData for all measurements since it's unniversal
- Each measurement type serializes/deserializes only specialized data
- Implemented ponint measurement serializing/deserializing and programmatic functionining

* feat(viewer-lib): Area mesurement serialization/deserialization

* feat(viewer-lib): Updates:
- Each measurement subtype now reports the MeasurementType it belongs to
- MeasurementsExtension now emits a MeasurementsChanged event with all the measurements as payload whenever the measurements change
- units and precision are no longer serialized/deserialized on a per-measurement basis
- Added sync API member addMeasurement

* chore(viewer-lib): Fix compiler error

* chore(viewer-lib): Added measurements getter in MeasurementExtension

* feat(fe2): save/reload measurements integration (#5351)

* measurements idempotent api

* extra adjustments, stuff seems to work

* lint fix

* more lint fix

* fix for visible going false

* better identification

* fix FlyControls change action

---------

Co-authored-by: Kristaps Fabians Geikins <fabians@speckle.systems>
2025-09-02 09:46:30 +03:00
Mike 08eb1f7a1d Feat: Bashboards in app (#5333) 2025-09-01 14:24:17 +02:00
Mike 3a0829aa93 Feat: Add Intelligence SU Promo banner (#5348) 2025-09-01 11:59:25 +02:00
Kristaps Fabians Geikins a074aedd65 feat: enable saved views for all workspace plans (#5343)
* feat: enable saved views for all workspace plans

* more test fixes
2025-09-01 10:25:10 +03:00
Iain Sproat fdf3b93e95 fix(server/fileuploads): prevent file upload jobs silently failing (#5327) 2025-08-29 14:46:40 +01:00
Kristaps Fabians Geikins 3d8e9ab152 feat(server): hide empty groups if ur not group author (#5344) 2025-08-29 15:43:49 +03:00
Iain Sproat 22f13b152d fix(server/workspace): reduce log level for user-configured oidc problem (#5341)
* fix(server/workspace): reduce log level for user-configured oidc problem

* status code should not be 500 as it is a user error
2025-08-29 11:16:48 +01:00
Daniel Gak Anagrov b568e6d946 refactor(multiregion): reduce create stream usages in specs (#5319)
Co-authored-by: Charles Driesler <chuck@speckle.systems>
2025-08-28 14:21:26 +02:00
Kristaps Fabians Geikins e7ed024d52 fix: prevent making a home view personal (#5334) 2025-08-28 14:32:35 +03:00
Kristaps Fabians Geikins dbb3c4a374 feat: make saved views shared by default + copy/ui changes (#5331)
* make default visibility public

* show icon for private

* make view shared/private menu

* Public -> Shared
2025-08-28 13:07:02 +03:00
Kristaps Fabians Geikins 8dbd342a40 feat(fe2): view modes stored in saved views (and elsewhere) (#5320)
* feat(fe2): view modes stored in saved views (and elsewhere)

* lint fixes
2025-08-28 11:40:58 +03:00
Kristaps Fabians Geikins bb29033508 feat(fe2): name saved view groups upon creation (#5330) 2025-08-28 11:39:26 +03:00
Chuck Driesler 8a9b4829d9 feat(multiregion): replace user replication (#5253) 2025-08-28 10:02:53 +02:00
Kristaps Fabians Geikins 5bbcfb0c95 feat(server): savedView.updatedAt prevent change on visibility update (#5316) 2025-08-27 11:59:03 +03: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
Gergő Jedlicska c353966993 move acc integration to a per workspace feature access (#5308)
* feat(workspaces): move acc integration to a per workspace feature access
item

* chore(workspaces): remove leftover todo
2025-08-26 17:48:00 +01:00
Daniel Gak Anagrov 8fbe1322e1 chore(multiregion): drop db defaults for project (#5305)
* feat: added migration
* chore: move defaults and other functions outside of repository fn
2025-08-26 16:40:22 +02: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
Gergő Jedlicska 6982023dca feat(gatekeeper): add per workspace feature flags (#5303)
* feat(gatekeeper): add per workspace feature flags

* feat(workspaces): add admin api for granting and removing access to
workspace features

* fix(workspaces): use the correct constant name

* fix(workspaces): more test type fixes

* fix(shared): fix tests and types

* fix(workspaces): properly use exhaustive switch statement

* fix(workspaces): add new workspace plan feature to switch

* fix(workspaces): use regular integer, its fine for now...

* fix(workspaces): feature flag retention post checkout

* fix(gatekeeper): fix upsert plan tests
2025-08-26 10:23:02 +01:00
Kristaps Fabians Geikins 624b56eacf chore(fe2): even more performant and even less hydration mismatches (#5292)
* fix(fe2): more preview related mismatch fixes

* moar

* a bunch of preloads

* more preloads

* batchlink

* undo cache only

* lint fix

* more query opt

* rate limiter adjustments to account for batched reqs
2025-08-22 08:22:18 +03:00
Kristaps Fabians Geikins d17113c154 fix(fe2): full cache reset on log out (#5276)
* fix(fe2): full cache reset on log out

* avoid full reload

* minor adjustment

* minor adjustment

* lint fix
2025-08-21 08:56:12 +03:00