Commit Graph

7832 Commits

Author SHA1 Message Date
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
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
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
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
andrewwallacespeckle 3343e24da3 fix(fe): hide automations tab from workspace guests 2025-05-21 13:37:31 +02:00
Alexandru Popovici f8701d8cd3 fix(viewer-lib): Loader disposes of the object loader instance after it's not longer required (#4783) 2025-05-21 14:12:08 +03:00
andrewwallacespeckle f2774a83bd feat: make specklecon banner dismissible
feat: make specklecon banner dismissible
2025-05-21 12:14:03 +02:00
andrewwallacespeckle ce00d948bd GQL 2025-05-21 11:50:04 +02:00
andrewwallacespeckle 58fdd245ef Merge branch 'main' into andrew/specklecon-banner-dismissable 2025-05-21 11:49:54 +02:00
Mike d38488b152 Feat: Add Intercom tracking events (#4780) 2025-05-21 11:42:45 +02:00
andrewwallacespeckle a4278e5863 Merge branch 'main' into andrew/specklecon-banner-dismissable 2025-05-21 11:40:40 +02:00
Chuck Driesler 9724a3daef feat(workspaces): sort discoverable workspaces by member count (#4779)
* fix(workspaces): order discoverable workspaces by team size

* fix(workspaces): emit workspace admins from LimitedWorkspace

* chore(workspaces): drop some comments
2025-05-21 10:04:44 +01:00
Alexandru Popovici a385823b2d feat(viewer): objectloader2 integration (#4267)
* 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

* saved comment

* fix(viewer-sandbox): Fixed compiler error

* ignore tshy

* chore(frontend): Attempt to make viewer loading sequential

---------

Co-authored-by: Adam Hathcock <adam@hathcock.uk>
Co-authored-by: Kristaps Fabians Geikins <fabis94@live.com>
Co-authored-by: Iain Sproat <68657+iainsproat@users.noreply.github.com>
2025-05-21 10:05:50 +03:00
Mike aaa4e1ab71 Feat: Add embed option to disable title link (#4778) 2025-05-20 22:25:03 +02:00
Mike 3a2564d44c Feat: Add option to hide Speckle branding on embed (#4777) 2025-05-20 15:48:57 +02:00
andrewwallacespeckle bc34c210b3 fix(fe): Add canCreateModel check to ProjectDashboardCard empty state
fix(fe): Add canCreateModel check to ProjectDashboardCard empty state
2025-05-20 14:58:11 +02:00
andrewwallacespeckle aafa685ae5 fix(fe): Add canCreateModel check to ProjectDashboardCard empty state 2025-05-20 14:45:21 +02:00
andrewwallacespeckle 6a1d277b16 fix(server): Add user to mailchimp onboarding audience if they are not in it
fix(server): Add user to mailchimp onboarding audience if they are not in it
2025-05-20 14:30:10 +02:00
Kristaps Fabians Geikins 9998ed2586 feat: personal project limits (#4759)
* base limits cleanup

* history limit tests

* canCreatePersonal & tests

* canInvite block

* WIP model check

* fix tests

* shared tests fix

* lodash import fix

* lint fix

* help update

* hopefully fixing test

* CR comment
2025-05-20 14:56:05 +03:00
andrewwallacespeckle c571d51d27 feat: add speckleConBannerDismissed to activeUser.meta 2025-05-20 13:55:32 +02:00
Kristaps Fabians Geikins d2f2d95bb5 chore(server): migrate remaining tests to TS (#4772)
* auth tests migrated

* core tests

* pwdreset

* authz tests
2025-05-20 14:24:48 +03:00
andrewwallacespeckle 38efa75bb8 Merge branch 'main' into andrew/fix-mailchimp-user-not-found-error 2025-05-20 12:46:32 +02:00
Iain Sproat eabfab2555 chore(feature flags): defaults all to false, and additional commentary on expected permanence, dependencies, & licensing (#4124) 2025-05-20 11:45:25 +01:00
Kristaps Fabians Geikins 7d64667ea0 fix(fe2): project delete btn not following auth policy (#4770) 2025-05-20 13:32:07 +03:00
andrewwallacespeckle 506176bf8e fix(server): Add user to onboarding audience if they are not in it 2025-05-20 12:23:48 +02:00
Iain Sproat 7573e74d83 Merge pull request #4766 from specklesystems/iain/web-3259-use-docker-registry-instead-of-saving-images-to-tarball
ci(docker): use registry instead of workspace
2025-05-20 10:46:02 +01:00
Kristaps Fabians Geikins 814bd2ca40 chore: branch -> model in error msg (#4768)
* chore: branch -> model in error msg

* tests fix
2025-05-20 12:27:05 +03:00
Alexandru Popovici 854deffdcb fix(viewer-lib): Depth bias for screen space outline is now being computed as a relative value when using viewe modes (#4769) 2025-05-20 11:59:51 +03:00
Daniel Gak Anagrov d69b835ab9 refactor(workspaces): fixed minor comments (#4764)
* fixed minor comments
2025-05-20 10:31:23 +02:00
Iain Sproat 902c182a1b Merge pull request #4097 from specklesystems/iain/task-id-to-request-context
chore(server/logging): email logging should include request or task Id
2025-05-20 09:15:55 +01:00
Iain Sproat 0e10218510 fix 2025-05-20 09:01:43 +01:00
Iain Sproat ea8c7d02bf Merge branch 'main' into iain/task-id-to-request-context 2025-05-20 09:00:54 +01:00
Iain Sproat 70121ca3d7 fixes 2025-05-20 08:46:37 +01:00
Iain Sproat cda139f53f chore(server/auth): improve error messages (#4207)
* chore(server/auth): improve error messages

* fix tests
2025-05-20 09:45:00 +02:00
Iain Sproat 7e600cd910 Incorporate PR comments 2025-05-20 08:32:49 +01:00
Iain Sproat 52916dd21e Renaming 2025-05-19 20:33:05 +01:00
Iain Sproat 853aa6f1e9 Merge pull request #4626 from specklesystems/iain/web-3198-payment-failed-leads-to-404-on-missing-subscription
fix(server/billing): better handle incomplete checkout
2025-05-19 18:07:57 +01:00
Iain Sproat 739dfdc0b1 docker-publish-postgres-container after tests 2025-05-19 17:58:16 +01:00