377 Commits

Author SHA1 Message Date
huanld c99f40bb20 feat: customize speckle-server for ATAD - auth bypass, file upload, frontend cleanup
Release pipeline / Get version (push) Has been cancelled
Release pipeline / Get Chart Name (push) Has been cancelled
Release pipeline / tests (push) Has been cancelled
Release pipeline / builds (push) Has been cancelled
Release pipeline / builds-ghcr (push) Has been cancelled
Release pipeline / test-deployments (push) Has been cancelled
Release pipeline / deploy (push) Has been cancelled
Release pipeline / Helm chart oci (push) Has been cancelled
Release pipeline / npm (push) Has been cancelled
Release pipeline / snyk (push) Has been cancelled
2026-04-21 16:32:12 +07:00
huanld 6cd126af41 feat: custom IFC converter with C++ geometry injection
Release pipeline / Get version (push) Has been cancelled
Release pipeline / Get Chart Name (push) Has been cancelled
Release pipeline / tests (push) Has been cancelled
Release pipeline / builds (push) Has been cancelled
Release pipeline / builds-ghcr (push) Has been cancelled
Release pipeline / test-deployments (push) Has been cancelled
Release pipeline / deploy (push) Has been cancelled
Release pipeline / Helm chart oci (push) Has been cancelled
Release pipeline / npm (push) Has been cancelled
Release pipeline / snyk (push) Has been cancelled
- Add custom IFC converter using web-ifc C++ DLL for geometry extraction
- Add GeometryInjector.cs: patches Speckle objects with mesh geometry
- Add NativeIfcGeometry.cs: P/Invoke bindings to WebIfcDll
- Add CustomMeshConverterFactory.cs: custom Xbim mesh converter
- Configure fileimport-service dotnet IFC pipeline
- Add VPS deployment config (docker-compose-vps.yml)
- Add dev scripts: run_backend.bat, run_frontend.bat, start_dev.bat
- Update .gitignore: exclude scratch/IFC-toolkit, engine_web-ifc
- Memory optimization for Xbim (MemoryModel mode)
2026-04-16 06:46:41 +07:00
Iain Sproat 0d739416cf chore(deps): bump various dependencies with documented vulnerabilities (#5680) 2025-10-06 17:02:34 +01:00
Iain Sproat b828daf5d2 chore(deps): revert bumps to dependencies (#5676) 2025-10-06 15:04:46 +01:00
Iain Sproat 1e5433a3b3 Revert "chore(deps): bump mocha to 10.8.2 and nanoid to 3.3.11 (#5665)" (#5675)
This reverts commit 3a0fbd1ece.
2025-10-06 15:49:42 +02:00
Iain Sproat 3a0fbd1ece chore(deps): bump mocha to 10.8.2 and nanoid to 3.3.11 (#5665)
* chore(deps): bump mocha to 10.8.2

* fix conflict resolution
2025-10-06 12:10:01 +01:00
Iain Sproat 974795545b chore(deps): bump store2 to 2.14.4 (#5664) 2025-10-06 12:03:56 +01:00
Kristaps Fabians Geikins 2b2d68a5a5 chore: get rid of datadog ci to get rid of vuln deps (#5661) 2025-10-06 13:57:51 +03:00
Iain Sproat a220668097 chore(deps): bump @babel/runtime to ^7.26.10 (#5657) 2025-10-06 11:38:26 +01:00
Kristaps Fabians Geikins 0624d5ed53 chore: bump dompurify to fix xss vuln (#5651)
* chore: bump dumpurify to fix xss vuln

* lint fix
2025-10-06 13:37:54 +03:00
Kristaps Fabians Geikins 40512d45d1 chore: bump ui-components deps to get rid of vulns (#5656) 2025-10-06 13:35:03 +03:00
Iain Sproat fd7251c2f4 chore(deps): bump ipx to 2.1.1 (#5655) 2025-10-06 11:30:34 +01:00
Kristaps Fabians Geikins d162c2a9b1 Chore: bump vite to fix vulns (#5653) 2025-10-06 13:25:26 +03:00
Iain Sproat 2af0f49e58 chore(deps): bump undici (#5654) 2025-10-06 11:24:05 +01:00
Iain Sproat 872d28cc12 chore(deps): bump rollup to ^2.79.2 (#5652) 2025-10-06 11:16:26 +01:00
Daniel Gak Anagrov c8f70a366b feat: add debug, bumped rover version (#5630) 2025-10-03 09:28:13 +01:00
Kristaps Fabians Geikins 43803b9517 feat: optimized saved view previews & thumbnails (#5563)
* init new API routes

* WIP output & migration

* WIP endpoint

* endpoint works

* frontend adjusted fully

* aiven extras fixx + migration

* simpler migration

* add deprecation notice

* test fixes

* gqlgen

* testss fix
2025-09-30 11:08:08 +03:00
Iain Sproat c644151865 chore(deps): bump cipher-base to 1.0.5 (#5580)
https://github.com/specklesystems/speckle-server/security/dependabot/357
2025-09-29 12:49:37 +01:00
Iain Sproat a6f7c0e500 chore(deps): bump linkifyjs to 4.3.2 (#5578) 2025-09-29 12:16:10 +01:00
Kristaps Fabians Geikins 754b8fceea chore: bump path-to-regexp (#5579) 2025-09-29 14:10:28 +03:00
Kristaps Fabians Geikins 2b9b8b293e chore: bump devalue to 5.3.2 (#5577) 2025-09-29 14:03:38 +03:00
Iain Sproat 908806f35a chore(deps): bump tar-fs to 3.1.1 and 2.1.4 (#5576) 2025-09-29 11:59:07 +01:00
Iain Sproat 5ef1149ac9 chore(deps): bump pbkdf2 to 3.1.5 (#5571)
- https://github.com/specklesystems/speckle-server/security/dependabot/343
2025-09-29 11:56:17 +01:00
Kristaps Fabians Geikins f4827bcffd chore: bump axios to 1.12.0 (#5575) 2025-09-29 13:55:55 +03:00
Kristaps Fabians Geikins 7b3ed22a68 chore: bump koa to 2.16.2 (#5574) 2025-09-29 13:51:05 +03:00
Kristaps Fabians Geikins 80fd1f542f chore: bump form-data to 4.0.4 (#5573) 2025-09-29 13:49:24 +03:00
Iain Sproat 6065158a89 chore(deps): bump elliptic to 6.6.1 (#5572)
- https://github.com/specklesystems/speckle-server/security/dependabot/304
2025-09-29 11:44:16 +01:00
Iain Sproat 7ea9818b29 chore(deps): bump cipher-base to 1.0.7 (#5570) 2025-09-29 11:37:57 +01:00
Iain Sproat c659e410a1 chore(deps): bump sha.js to 2.4.12 (#5452) 2025-09-16 08:41:34 +01:00
Kristaps Fabians Geikins 3f061d7bca chore: form-data vuln fixes (#5440)
Co-authored-by: Iain Sproat <68657+iainsproat@users.noreply.github.com>
2025-09-15 14:26:44 +01:00
Iain Sproat 3c0a00dd93 chore(dep): bump sha.js (#5439) 2025-09-15 13:32:30 +01:00
Kristaps Fabians Geikins 71f3a25e33 chore: fix qs/body-parser/express (#5447) 2025-09-15 14:54:53 +03:00
Kristaps Fabians Geikins f0794fc4bc chore: vite vuln bump (#5446) 2025-09-15 14:54:46 +03:00
Kristaps Fabians Geikins 0301584725 chore: fix various ui-components build related vulns (#5443)
* fix cipher-base

* fix elliptic

* pbkdf2 fixed

* fix tarfs
2025-09-15 14:54:35 +03:00
Iain Sproat 83f9a11d67 chore(deps): bump undici to 5.29.0 (#5445) 2025-09-15 12:27:09 +01:00
Iain Sproat 9868b15969 chore(deps): bump bull-board/express and ejs (#5444)
* chore(deps): bump bull-board/express and ejs
- resolve vulnerability in ejs

* more specific resolution
2025-09-15 12:08:08 +01:00
Gergő Jedlicska 87b621e92a feat(server): various fixes (#5360) 2025-09-05 13:24:56 +02: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
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
Kristaps Fabians Geikins 9688ef68ea fix(fe2): more fixes and performance improvements (#5281)
* fix(fe2): further preview image cleanup/optimization

* server log streaming

* more hydration mismatch fixes

* lint fix
2025-08-21 09:57:47 +03:00
Kristaps Fabians Geikins 47b9e9c5bc fix(fe2): various performance fixes (#5278)
* fix(fe2): buggy merge policies causing cache read failures

* improved CWV reporting

* improved preview lcp

* more eager load improvements

* more eager load improvements

* SSR friendly relative time

* import fixes
2025-08-21 07:50:57 +03:00
Kristaps Fabians Geikins 79ccd28828 feat: saved views search (#5266)
* feat: saved view search

* caching fixes

* clean up chromatic
2025-08-20 10:58:35 +03:00
Kristaps Fabians Geikins 4650936bf0 feat: saved views disclaimers (#5265) 2025-08-20 10:19:57 +03:00
Kristaps Fabians Geikins ea5dadbdb2 feat: move view into group dialog (#5211)
* looking into dialog premature closing

* fixed group select

* rover update

* tests
2025-08-12 13:32:38 +03:00
Jack ce44ab0965 changed lucide version in package.json and updated yarn.lock 2025-08-07 11:59:07 +01:00
Kristaps Fabians Geikins a6287fc06d feat(fe2 & server): saved views foundation (list & view) + bits n bobs (#5163)
* init db migration

* WIP store view

* create service call

* WIP insertion

* insert sort of works

* moving code arounmd

* creation tests

* avoid duplicate entries

* fixes from main

* basic group retrieval works

* group filtering works

* WIP view listing

* filter by acl

* fixes + WIP single group retrieval

* wip pivot

* more pivot query fixes

* tests fixed after pivot

* views list tests

* fixing test command

* business plan only checks

* more tests for coverage

* .dts import fix

* cli fix

* anutha one

* auth policy tests for business plan access

* WIP saved views panel base

* BE listing adjustments

* WIP group rendering

* group render done

* WIP post create cache updates

* listing fine?

* my vs theirs

* auto open

* minor fixes

* click load omg

* nicely loading views

* type fix

* less spammy loading

* another type fix:

* more lint fix

* test fix

* codecov disable

* moar coverage

* fix sidebar flashin

* more test coverage

* more test cvoverage

* minor adfjustments

* adj

* saved view wipe fixes

* CSR viewer

* more improvements

* extra feature flag checks

* lint fix

* feature flags fix

* more test fixes
2025-08-05 11:52:50 +03:00
Adam Hathcock 9220a3ee4b ol2(feat) remove dexie dependency (#5148)
* add new indexed db wrapper

* remove dexie and use new idb

* change storage durability

* allow undefined gets

* some clean up

* linting fixes

* add db close

* cleaner upgrade DB and more clean up

* fix database issues by deleting things instead of upgrading them
2025-07-28 15:57:07 +01:00
Daniel Gak Anagrov 9ecb3bf0f2 fix(ci): fix code cov noise (#5118)
* fix: testcov noise due to nyc empty reports

* fix: codecov yml format
2025-07-21 15:14:19 +02:00
Gergő Jedlicska 1465df5923 chore(server): bump sharp to fix CI (#5094) 2025-07-17 11:02:17 +02:00
Alexandru Popovici f3974dd9d0 Alex/text updates (#5012)
* feat(viewer-lib): Text updates:
- Update to latest troika-three-text version
- Started working on the new TextBatch whoich will actually batch texts
- Augmented BatchedText type from troika
- Renamed old SpeckleText to TextLabel

* feat)viewer-lib): Copied over the batched version for the speckle text into our text material since troika won't export it

* feat(viewer-lib): First draft on text batching

* feat(viewer-lib): WIP on TextBatch and SpeckleText

* feat(viewer-lib): SpeckleText batch now has working TAS and BAS. Overloaded getBatches to also take an array of geometry types and added GeometryType.TEXT in places where required alongisde MESH

* feat(viewer-lib): Text batch has correctly transformed texts

* feat(viewer-lib): Patched troika BatchedText to allow per text opacity. Draw ranges for text batches are now functional

* feat(viewer-lib): Fixed an issue with the BAS not correctly reporting bounds. Had to override two methods completely in our SpeckleText extension of the BatchedText just so that we don't do stupid things and still get good performance when dealing with a huge number of texts

* feat(viewer-lib): Added text batch object count limit. Default is 5k. Implemented proper material caching and cloning inside SpeckleText. Overriden the default updateBounds function so that we don't waste tens of millisecons per frame!!! pointlessly

* feat(viewer-lib): Implemented TextBatchObject along with individual text batch object transform manipulation at batch level.

* chore(viewer-lib): Updated the pipelines to not render text geometries twice

* feat(viewer-lib): Implemented RTE for batched text rendering. As with the rest of the geometry types, RTE is automaic and will only be used when needed

* feat(viewer-lib): Integrated remaining text v3 features: alignments and maxWidth

* feat(viwer-lib): Implemented billboarding and RTE billboarding for text.

* feat(viewer-lib): Text batches now report correct object materials and can be filtered properly

* fix(viewer-lib): Some Fixes:
- The need for text RTE is now correctly being computed on the right text dimensions
- Sequential update ranges now correctly apply materials to all of them

* fix(viewer-lib): RTE text box is now correctly transformed. The text batch object only uses the TAS for intersecting since it's BAS is redundant.

* feat(viewer-lib): Text batches now correctly use gradient/ramp textures along with sample indices for colored filtering.

* feat(viewer-lib): Implemented raycasting for billboarded text batches in the most simple and robust way I was capable of. Lacks TAS speedup but it's a compromise we have to make and one which we probably will never regret

* feat(viewer-lib): Good progress on reworking TextLabel, which replaces the old multi purpose SpeckleText, which we use internally for measurements. More precise rendering, no more rogue margins between text and background. Regular billboarding now also works, along with non-billboarded rendering

* feat(viewer-lib): Finally a unified billboarding solution in SpeckleBasicMaterial. Supporting both world and screen billboarding; SpeckleTextMaterial now extends SpeckleBasicMaterial; TextLabel now has proper control over size and margins. No more weird offsets. Added background margins to the text params which work in both world and screen space.

* feat(viewer-lib): Implemented raycasting for all billboarding types. Spent quite some time on the screen billboarding one because of a stupid mistake

* chore(viewer-lib): Added (vibed) type declaration file for troika's Text class and fixed compiler errors for TextLabel

* chore(viewer-lib): Renamed SpeckleText to SpeckleBatchedText and fixed all compiler errors. Updated type definition file

* feat(viewer-lib): Integrated TextLabel with measurements. Simplified a lot of code

* fix(viewer-lib): Some updates and fixes to text and measurements integration
- Screen space billboarding now also takes an NDC offset alongside the size.
- Added auto margin calculation for TextLabel background so it's always centered regardless of anchor-ing
- DPR is automatically factored in for TextLabel
- Some changes to sizes and margins for measurements

* fix(viewer-lib): Bunch of fixes and tweaks

* fix(viewer-lib): Area measurement's area plane no longer overdraws on top of the area value text label via simple stenciling

* fix(viewer-lib): Fixed CI build

* fix(viewer-lib): Fixed CI build

* feat(viewer-lib): Slightly reduces the size and h margin of text gizmos for measurements

* fix(viewer-lib): Fixed incorrect text transformation when neither RTE nor billboarded

* chore(viewer-lib): Added review suggestions
2025-07-15 14:48:13 +03:00