* WIP error dialog
* import error reporting
* dialog content memoization
* dialog work
* more cleanup
* apollo cache adjustments
* add jobId to uploads table
* fix showing old pending version state
* feat(fe2): prevent user from leaving page if active uploads (#5017)
* feat(fe2): prevent user leaving if active uploads
* fixxes
* 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>
* 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
* 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>
* chore(preview-frontend): Disabled outlines to avoid the extra complexity and weird artifacts
* chore(preview-frontend): Pinned the viewer version
* chore(preview-frontend): Added lockfile
* chore(preview-frontend): Bumped viewer version
* chore(preview-frontend): lockfile
* a bunch more tests
* updated GQL resolvers
* project create checks implemented
* project update/settings related checks in FE
* a bunch of tests
* tests fix
* disable app schema check
* test(shared): add more tests to auth policies
* test(shared): add more tests to auth policies
* chore(authz): fix export
* chore(authz): test env fix
* chore(authz): more test fixes
---------
Co-authored-by: Charles Driesler <chuck@speckle.systems>
* feat: getting rid of defaultProjectRole setting
* get stdout reporting in CI
* yarn lock fix
* fix package.json
* better CI test output
* pinning mocha-multi
* feat(preview-generator): add new preview generator webapp
* wip(preview-service): reworking the preview service backend
* feat(previews): logging
* feat(preview-service): streamline payloads
* fix(preview-service): do not log the full payload
* feat(preview-service): build new preview service
* feat(preview-service): add separate response queue
* feat(previews): integrate preview queues with the server
* feat(previews): use module alias
* chore(previews): remove old preview service code
* feat(previews): log stuff on job statuses
* fix(previews): add missing deps and scripts
* fix(previews): package deps fix
* fix(server): moar typing fixes
* Metrics related to jobs: total count, request failures, response errors & durations
* duration should include unit.
- histogram metric should be summary
- error responses include duration in seconds
- attempt to remove metric before adding it (prevent errors with duplicate metrics)
* fix(server, frontend): some ts fixes
* fixes
* fix(frontend): remove unneeded ts-expect-error
* chore(preview-service): eslint
* TS fix
* feat(previews): more smoal fixes
* fix(preview-service): alias loading
* feat(helm): updates for new preview service queue setup
* feat(preview-service): launch new browser for each job
* feat(preview-service): add timeout, fix liveliness
* fix(helm): add access to new secret in service accounts
* tidy metrics into a separate file
* Remove broken preview service acceptance test
* fix broken import
* Add metrics to test
* feat(preview-service): handle preview service shutdown properly
* fix(previews): merge bork
---------
Co-authored-by: Iain Sproat <68657+iainsproat@users.noreply.github.com>
Co-authored-by: Kristaps Fabians Geikins <fabis94@live.com>
* WIP: trying to catch a bug
* great success
* reinstate gzip
* Remove feature flag
* remove stream-chain dependency
* remove superfluous logging lines
* re-align with original where possible
* re-align package.json
* More re-alignment with main branch before the previous 'fix'
* A smaller failing example