Commit Graph

300 Commits

Author SHA1 Message Date
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
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
andrewwallacespeckle 6d3b91e969 Map legacy condition values to new format 2025-09-18 12:59:17 +01:00
andrewwallacespeckle ab5756e144 Update docblock. Update condition in data.ts 2025-09-18 12:46:02 +01:00
andrewwallacespeckle 4f68e4441c fix tests 2025-09-18 12:21:23 +01:00
andrewwallacespeckle 1d265ce7ce fix(fe): condition serialization 2025-09-18 12:04:31 +01:00
andrewwallacespeckle a529787eae fix(fe): filter logic serialization 2025-09-18 11:57:42 +01:00
Jedd Morgan a37058ac1d Enable skp imports experimentally (#5438) 2025-09-15 13:36:24 +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 79ef564e1b feat(server/fileuploads): background jobs draws down a compute budget (#5349) 2025-09-08 16:26:41 +01:00
andrewwallacespeckle a51003667e fix(fe): legacy filter migration 2025-09-08 14:45:01 +01:00
andrewwallacespeckle f6970b3d69 Remove propertyFilter from serialization 2025-09-05 11:30:22 +01:00
andrewwallacespeckle bd83fe21d2 Merge branch 'main' into andrew/web-3879-update-filtering-panel-stacked-filtering 2025-09-04 17:45:56 +01:00
andrewwallacespeckle 7573f2602e pr comment 2025-09-04 15:42:42 +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
andrewwallacespeckle 759f996eed Merge branch 'main' into andrew/web-3879-update-filtering-panel-stacked-filtering 2025-09-04 11:33:38 +01: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
andrewwallacespeckle 146ab719cd Merge branch 'main' into andrew/web-3879-update-filtering-panel-stacked-filtering 2025-09-03 16:07:12 +01: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
Jedd Morgan af7b0a2de2 Chore(fileimport)!: Limit file types (#5356)
* Limit file types

* frontend follow up, of sorts

* feat(frontend): fix long file type list

---------

Co-authored-by: Iain Sproat <68657+iainsproat@users.noreply.github.com>
Co-authored-by: Gergo Jedlicska <gergo@jedlicska.com>
2025-09-03 12:43:31 +02:00
andrewwallacespeckle 7d53951869 Serialization 2025-09-02 18:56:02 +01:00
andrewwallacespeckle e00fd6bc1a Merge branch 'main' into andrew/web-3879-update-filtering-panel-stacked-filtering 2025-09-02 13:25:31 +01:00
Benjamin Ottensten 4fc1aa6d40 Support drag and drop for moving views into groups (#5353)
* Initiale drag and drop moving to group

* Update some styling

* Reenable ungrouped groups

* Support moving to ungrouped from dropdown

* Remove unneeded comments

* undo unnecessary groupId changes

* group cleanup

* clean up drag logic

---------

Co-authored-by: Kristaps Fabians Geikins <fabis94@live.com>
2025-09-02 14:09:38 +02:00
andrewwallacespeckle e2b8c50085 Merge 2025-09-02 11:21:58 +01: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
andrewwallacespeckle 3cfb7bdff5 Merge main 2025-09-01 17:00:16 +01:00
Mike 08eb1f7a1d Feat: Bashboards in app (#5333) 2025-09-01 14:24:17 +02:00
Kristaps Fabians Geikins 1fe74181de fix: default viewMode.edgesEnabled to true if not set (#5352) 2025-09-01 14:59:39 +03: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
Benjamin Ottensten cba989722b Fix: Various fixes around saved views (#5345)
* Update empty state copy

* Various copy changes

* Make search smaller

* Tweak spacings

* Better position search

* Polish styling of button group

* Add tooltip to visibility icons

* Fix position of saved view tooltip

* Changes to ··· menus

* Update copy in view details modal

* Fix styling of group empty state

* Fix width of group title while renaming

* Capitalize date

* Change icon color

* Fix truncation

* Add tooltips to all actions

* Undo truncation hover fix

I need to find a different way to fix this. Later.
2025-08-29 15:31:07 +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 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
andrewwallacespeckle d9610ecca8 Merge branch 'main' into andrew/web-3879-update-filtering-panel-stacked-filtering 2025-08-27 10:40:28 +01: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
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
andrewwallacespeckle 7a2ff4dec1 Merge branch 'main' into andrew/web-3879-update-filtering-panel-stacked-filtering 2025-08-26 10:23:33 +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
andrewwallacespeckle 84e11ae277 Merge branch 'main' into andrew/web-3879-update-filtering-panel-stacked-filtering 2025-08-20 14:24:38 +01:00
Iain Sproat 7a222c6aae chore(feature flags): remove legacyIfcImporterEnabled & experimentalIfcImporterEnabled (#5270)
- experimentalIfcImporterEnabled is now assumed to be permanently true
- legacyIfcImporterEnabled is now assumed to be permanently false
2025-08-20 13:54:15 +01:00
andrewwallacespeckle 4e0efba217 New Viewer API & big tidy up 2025-08-20 13:33:08 +01:00
Kristaps Fabians Geikins cf298994a8 fix(server): viewerResources failing w/ nonexistent view (#5271) 2025-08-20 13:06:17 +03:00
Kristaps Fabians Geikins 4650936bf0 feat: saved views disclaimers (#5265) 2025-08-20 10:19:57 +03:00
Kristaps Fabians Geikins 0c957ed9cc feat: setting home views (#5250)
* frontend update works

* starting viewer resources saved view tests

* test fix

* viewerResources new resolver + adjustment for home views

* create/update view fixing up and tests

* sort of works?

* fixing more race conditions

* loading preview

* disable home view stuff when federated

* fixing up links

* tests and home view fix
2025-08-18 14:35:59 +03:00
Iain Sproat 0721831a00 feat(server): FF_USERS_INVITE_SCOPE_IS_PUBLIC flag to make users:invite scope public (#5244) 2025-08-18 10:25:34 +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