Commit Graph

7866 Commits

Author SHA1 Message Date
andrewwallacespeckle 9b421d3508 Merge branch 'main' into andrew/web-3448-enable-auto-joining-a-workspace-as-a-setting 2025-05-27 10:21:46 +02:00
Iain Sproat 8077364ff1 ci(pre-commit): temporarily disable helm documentation check (#4821) 2025-05-27 08:55:23 +01:00
Alexandru Popovici 73d55046ed fix(sandbox): Load a valid strea, (#4810) 2025-05-26 13:48:37 +01:00
Mike ce03abb602 Feat: Nudge users to use workemail (#4811) 2025-05-26 14:39:32 +02:00
Alexandru Popovici a43aaedcca On Demand Automatic RTE (#4808)
* chore(viewer-lib): testing numbers

* feat(viewer-lib): Implemented a way to compute the projected pixxel difference between fp32 and fp64 as it would happen on the GPU. With this we can determine which streams need RTE

* feata(viewer-lib): Proper precision loss detection

* feat(viewer-lib): Removed default 'USE_RTE' defines from all non instanced mesh materials. Updated standard shader to compile and work properly in non RTE mode

* fix(viewer-lib): non-RTE vertex transform also takes pivot into account

* feat(viewer-lib): All required vertex programs now have proper non-RT vertex and shadow transformation pipelines

* feat(viewer-lib): Mesh batch determines if it needs RTE on it's own

* feat(viewer-lib): Shadowmap now also renders properly with selective RTE

* feat(viewer-lib): Instanced batches no longer use RTE regardless of the RTE need source

* feat(viewer-lib): Lines now have no RTE by default and it's only enabled on demand by the batch when required

* feat(viewer-lib): Points and point clouds no longer use RTE by default. It's enabled on demand
2025-05-26 15:22:26 +03:00
Mike f38556db20 Fix: Update workspace invite checks to canInvite permission (#4814) 2025-05-26 13:08:54 +02:00
Mike b74c2fe197 Fix: Change project can invite to permission result (#4813) 2025-05-26 12:18:51 +02:00
Daniel Gak Anagrov 06e19fbd50 feat(gatekeeper): add updatedAt field to workspace plans (#4786)
* feat(gatekeeper): add updatedAt field to workspace plans

* fix: lint error

* fix: added updatedAt test

* fix: shared test
2025-05-26 11:35:53 +02:00
Alexandru Popovici 0ef0a13979 Pro Measurement Tools (#4452)
* feat(viewer-lib): WIP on area measurement

* feat(viewer-lib): WIP on area measurement. Basics are working. Needs more bling

* feat(viewer-lib): Implemented polygon triangulation for measured area

* chore(shared): Updated MeasurementType

* Add Area control to measure panel

* feat(viewer-lib): Real time updates of the fill polygon and area value

* feat(viewer-lib): Added pole of innacessibility as area label anchor using the polylabel libraryh

* feat(viewer-lib): Fixed fill polygon material

* feat(viewer-lib): Changed the surface normal indicator from the faulty disc to a outlined rectangle. Looks and works much better now

* fix(viewer-lib): Measurements get clipped by sections planes

* faet(viewer-lib): Measurements can now optionally define their own snapping method. Area measurement snaps to first point in screen space. Generic vertex snap still applies if enabled

* fix(viewer-lib): Forgot to project the measured point

* feat(viewer-lib): Double click auto-finishes the area measurmenet by instantly joining with the first point. Right clikc removes current area measurement point so you can 'undo'

* fix(viewer-lib: Fixed a stupid bug relatedto text because somebody thought that making it 'async' would be sooooo cool...

* fix(frontend): Prevent zoom on double click when using area measurement

* chore(viewer-lib): Refined and fomralized a bit now that the general idea of a measurement has got more complex

* chore(viewer-lib): Moved state switching a bit

* chore(viewer-lib): Replaced the old disc normal indicator with the new one and made it standard. Added an option to the gizmo's style that determines the pixels size of the normal indicator

* chore(viewer-lib): Documented the area measurement tool

* chore(viewer-lib): Some updates:
- Implemented proper bounds getter for area measurement
- Got rid of the static vector buffers in Measurement and replaced them with consts where needed
- Reduced the min click timing from 250ms to 150ms
- Other small adjustments

* feat(viewer-lib): Added the option to chain measurements

* chore(frontend-2): Added toggle for measurement chaining

* chore(viewer-lib): Perpendicular measurement chaining now align on the same line as requested

* feat(viewer-lib): Implemented point (coordinate) measurement:
- Added support for billboard offseting in NDC in the shader via vec2 offset uniform. Not a dream come true, but required mostly because of how troika works
- SpeckleText background now follows text anchoring
- Implemented new POINT measurement type

* chore(viewer-lib): Separated label position calculation. We now update only the label transform each frame, instead of updating the entire label redunantly

* chore(viewer-lib): Offsets are now constants. Removed redundant vector and matrix creation

* chore(frontend-2): Placeholder radio button for point measurement type. Fixed compile errors

* fix(viewer-lib): Fixes WEB-3105. Export all measurement types

* updated icons

* Update description

---------

Co-authored-by: andrewwallacespeckle <andrew@speckle.systems>
Co-authored-by: Mike Tasset <mike.tasset@gmail.com>
2025-05-26 12:10:19 +03:00
Mike 13686d9332 Fix: Remove flex from admin list to avoid gaps (#4809) 2025-05-26 10:06:22 +02:00
Chuck Driesler 22c596e985 chore(sso): logs related to grant types (#4806) 2025-05-23 15:49:27 +01:00
Gergő Jedlicska e612886fd8 fix(fileimports): missing redis url from env vars (#4805) 2025-05-23 14:14:40 +02:00
Iain Sproat a8da9641e9 docs(README): include additional postinstall instruction in README (#4804) 2025-05-23 10:27:24 +02:00
Gergő Jedlicska 2e86a723c6 feat(fileimport-service): add next gen file importer (#4697)
* feat(fileimport-service): add next gen file importer

* feat(fileimports): integrate server and fileimporter

* chore(dui3): remove leftover artifacts

* fix(server): test typing fixes

* fix(fileimports): test and pr comment fixes

* feat(fileimports: moare test fixes

* fix(fileimports): tests and yarn dedupe
2025-05-23 10:27:00 +02:00
Gergő Jedlicska 34cb632011 feat(full-stack): handle v2 automation result schema in the app (#4797)
* feat(full-stack): handle v2 automation result schema in the app

* fix(automate): lost length in merge

---------

Co-authored-by: Charles Driesler <chuck@speckle.systems>
2025-05-23 10:26:36 +02:00
andrewwallacespeckle 7c24dcf96d Wording 2025-05-23 09:54:47 +02:00
andrewwallacespeckle 4db4fdf0f3 Merge branch 'main' into andrew/web-3448-enable-auto-joining-a-workspace-as-a-setting 2025-05-23 09:44:50 +02:00
andrewwallacespeckle fc32b19817 feat(fe): Improve domain discoverability
feat(fe): Improve domain discoverability
2025-05-23 09:43:32 +02:00
Iain Sproat 05f5ad08ca chore(yarn): move postinstall to yarn build:public (#4793) 2025-05-22 19:15:36 +01:00
Mike cc60140967 Feat: Disable Speckle branding on embeds (#4801) 2025-05-22 17:02:04 +02:00
Chuck Driesler 70f07fc725 fix(embed): use correct id (#4798) 2025-05-22 15:35:44 +01:00
Adam Hathcock 3a5d06bd21 OL2: add vide coded disposals and tests (#4790)
* add vide coded disposals and tests

* Fix prettier issues

* Fix tests
2025-05-22 15:05:20 +01:00
andrewwallacespeckle 02fcbfe6ec Small ux improvements 2025-05-22 15:50:40 +02:00
andrewwallacespeckle c15ea3fc65 Use Benjamins copy 2025-05-22 15:48:59 +02:00
andrewwallacespeckle c55e18cf35 Merge branch 'main' into andrew/show-admins-in-discoverable-workspace-card 2025-05-22 15:44:10 +02:00
andrewwallacespeckle 54b89a3da6 DomainMangement component 2025-05-22 15:29:34 +02:00
andrewwallacespeckle 709879be6a Move domain protection to component 2025-05-22 14:45:32 +02:00
andrewwallacespeckle 83627298ad Move Discoverability to component 2025-05-22 14:42:30 +02:00
andrewwallacespeckle 15bfeea48e refactor(fe): security page 2025-05-22 14:30:00 +02:00
Chuck Driesler 780d001a1e feat(embed): expose embed feature access at project level (#4796)
* feat(embed): expose embed feature access at project level

* fix(embeds): use switch
2025-05-22 12:22:06 +01:00
andrewwallacespeckle 11b2b57486 Layout fixes 2025-05-22 13:01:48 +02:00
andrewwallacespeckle 10ae782a7b Update pagination limit 2025-05-22 12:53:11 +02:00
andrewwallacespeckle d9d1c21fb0 Merge branch 'main' into andrew/show-admins-in-discoverable-workspace-card 2025-05-22 12:51:46 +02:00
andrewwallacespeckle 36f7f809bd Updates to cards 2025-05-22 12:48:17 +02:00
Kristaps Fabians Geikins fd061d1159 feat(fe2): proper file upload access checks (#4785)
* feat(fe2): proper file upload access checks

* updated disabled upload empty state

* perm check fix
2025-05-22 12:45:39 +03:00
Iain Sproat 7e824a8781 chore(docker compose deps & deployment test): use valkey instead of redis (#4788) 2025-05-22 10:40:47 +01:00
Chuck Driesler 0f5c22329b Chuck/web 3465 auto join discoverable workspace setting (#4791)
* feat(workspaces): enable toggle for auto-join discoverable workspaces

* fix(workspaces): include auto-join flag on LimitedWorkspace

* chore(workspaces): gqlgen
2025-05-22 10:11:05 +01:00
andrewwallacespeckle 9b977a5f43 Merge branch 'main' into andrew/show-admins-in-discoverable-workspace-card 2025-05-22 10:43:34 +02:00
andrewwallacespeckle e8f85e8d7c UI updates 2025-05-22 10:43:23 +02:00
Adam Hathcock 2cba323bfd feat(main) objectloader2 should fail faster for missing json (#4578)
* feat(viewer-sandbox): Made a sandbox function that will only invoke the object-loader loading objects

* first pass of creating an objectloader2

* updated build + added vitest

* try to get viewer sandbox to use new code

* sandbox type fix

* refactor a bit

* can download root

* intermediate commit for downloader/caching queue

* can download stuff!

* refactor files

* intro isBase and fix isString

* move single download to downloader

* fix download

* PR feedback

* some intermediate commit

* do clean up and download better

* clean up promises and linting

* can generate values while downloading and caching

* add a finish method

* remove unused functions

* remove asBase

* add temporary docs

* add more docs with mermaid

* add more test models

* add response validation

* add tests and redo options

* add test for download batch

* fix downloader tests and change Item to have clearer Base items

* add tests and refactor a little

* use fetch in downloader as an option

* use optional in-memory indexdb instead of monkey patching the global one

* more refactors for options for objectloader2

* add tests for objectloader2

* adjust single download

* benchmark loading and adjust ol2 batches

* download more!

* adjust to use hash privates

* refactored again with renaming

* cleanup

* make setupCacheDb throw instead

* use BatchedPool for downloads!

* fix tests

* adjust timings and add adaptive waiting

* Only wait if queue wasn't empty and queue size was full

* fix tests

* fix file names and some private usage

* fix interval and private usage

* rename vars

* use params for methods

* fix params for constructors and tests

* fix params for constructors and tests again

* using dexie

* faster settings but doesn't end well

* fixed end, optimized and removed logs

* fix tests

* fix types?

* update lock with WSL

* add e2e small model test

* fix/update yarn.lock

* Remove unused eslint ignore to fix pre-commit

* prettier fixes

* fix real DB usage

* rename methods to better match OL1

* rename methods to better match OL1 again

* add extra header collection

* add headers correctly

* test getTotalObjectCount

* feat(viewer-lib): Replaced old object loader with Adam's  objectloder2

* fix(viewer-lib): Removed the old object loader. Removed unneeded pause time in speckle loader

* Testing

* only deferred if not downloaded....don't save everything

* Lockfile

* pool isn't adjustable, adjust download buckets, dexie read is faster

* chore

* fix(viewer-lib): Fixed compiler errors

* fix getObject access with real indexeddb...adjust buffer for deferred access

* Fix disposal and pausing

* don't index item!

* fix dockerfiles to use OL2

* fix Dockerfile

* Fix dockerfile

* defer correctly and use record to add/lookup/remove to

* delete stuff correctly

* chore(sandbox): Enabled viewer loading

* use objects instead of arrays to avoid findIndex

* remove extra count

* add a found cache to avoid some db hits

* order matters for deferment

* move found map to deferment

* change option numbers

* 2 level cache with expiry

* defer everything, use loader to track what is requested....expire only found items

* add deferment disposal

* oops mismerge

* chore(sandbox): Default stream

* Beta version of CachePump and CacheReader

* Clean up initialization

* More clean up

* chore(objectloader2): Fixed CI compiler error

* chore(objectloader2): Fixed prettier

* add cachePump tests

* add cacheReader tests

* fixed more tests

* fixed final tests

* moving stuff around and lock return value

* try to move stuff out of objectloader2

* use a factory

* rename factory

* formatting

* eslist fixes

* try allocating no strings

* add comments

* small refactor and add another test

* fix deferment expiration and have test

* use byte size for max memory cache size

* fix deferment manager tests

* use a set of keys to determine if the whole batch was gathered

* saved comment

* fix(viewer-sandbox): Fixed compiler error

* remove extra disposal

* simplify the error handling

---------

Co-authored-by: AlexandruPopovici <alexandrupopoviciioan@gmail.com>
Co-authored-by: Kristaps Fabians Geikins <fabis94@live.com>
Co-authored-by: Iain Sproat <68657+iainsproat@users.noreply.github.com>
2025-05-22 08:29:50 +01:00
Alexandru Popovici b50076ee29 Explode + Outlines (#4792)
* fix(viewer-lib): Implemented event for explode extension that allows section outline to sync up

* chore(sandbox): Fixed compile error
2025-05-22 10:03:31 +03:00
Alexandru Popovici daefbbf2a3 fix(viewer-lib): Added relative epsilon to section outlines. Added constant epsilon to setting orbit controls position and target (#4781) 2025-05-22 09:43:00 +03:00
Iain Sproat 3b08570f57 fix(frontend): typo: lose, loose, louse, luce (#4794) 2025-05-22 06:11:30 +01:00
andrewwallacespeckle 9f074b664d Condensed workspace card 2025-05-21 15:47:53 +02:00
andrewwallacespeckle 3e9b96aca9 feat(fe): show admins in discoverable workspace card 2025-05-21 15:18:22 +02:00
Adam Hathcock 7b72968fd7 Merge pull request #4787 from specklesystems/adam/ol2-fix-disposal-downloader 2025-05-21 13:52:16 +01:00
andrewwallacespeckle 67138e4d1e fix(fe): hide automations tab from workspace guests
fix(fe): hide automations tab from workspace guests
2025-05-21 14:48:22 +02:00
Adam Hathcock fbd74dafe1 fix serverDownloader disposal. Correct linting errors 2025-05-21 13:35:21 +01:00
Mike 3dc8c78f97 Fix: Some intercom improvements (#4782) 2025-05-21 14:31:26 +02:00
andrewwallacespeckle 501f6b24d1 fix: optional chaining 2025-05-21 13:47:06 +02:00