Commit Graph

323 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
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
Gergő Jedlicska 0ab254efb4 feat(policies): allow god mode admins to create dashboards (#5612) 2025-10-01 13:55:34 +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
Kristaps Fabians Geikins 6a06f12e94 fix(fe2): better fatal error metadata (#5547) 2025-09-24 17:13:22 +02: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
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