Commit Graph

382 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 d1871b3979 chore: apply viewer optimizations, tailscale networking fixes, and Dev environment configurations
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-16 13:55:08 +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
Daniel Gak Anagrov 55f91d2cdf fix(gql): scopes, roles, auth (#5724)
* fix(workspace): auto approval
* fix(scopes): access scopes across the server
* fix(hasAccessRole): establish for all mutations
* feat(token): scoping does not require the token to exist
* chore(scopes): added additional roles
* fix: replaced UNAUTHORIZED_ACCESS_ERROR with UNAUTHORIZED
* fix(email): user list scopes
2025-10-29 09:53:11 +00:00
Daniel Gak Anagrov e8c960fc30 fix(notifications): revert notifications except migration (#5671) 2025-10-06 13:48:10 +01:00
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
Kristaps Fabians Geikins b801442bac feat: saved views subscriptions (#5601)
* implemented

* init tests + fixes

* tests

* WIP FE subs

* WIP new post update handlers

* more post merge fixes

* switch over to full subs for post mutation updates

* moved over more post update to subs

* drag across groups seems to work again?

* group subs

* stuff seems to work
2025-10-02 11:58:08 +03: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
Mike 6224f80e4c Fix: Pass embed token to preview (#5590) 2025-09-30 08:39:13 +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
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
Iain Sproat c9338c1ee3 fix(server/emails): move guard to caller and fix circular reference (#5427) 2025-09-12 12:53:01 +01:00
Iain Sproat 18265b6278 feat(server/emails): support require TLS configuration option EMAIL_REQUIRE_TLS (#5425) 2025-09-12 12:06:25 +01:00
Iain Sproat a0f23dcefe fix(server/email): emails configuration is secure by default but can be overridden (#5417) 2025-09-11 17:06:36 +01:00
Iain Sproat 2be6fa3d08 Revert "chore(server/email): log error if email cannot be verified (#5408)" (#5416)
This reverts commit 1ce92e2980.
2025-09-10 17:28:00 +01:00
Iain Sproat 1ce92e2980 chore(server/email): log error if email cannot be verified (#5408) 2025-09-10 16:59:17 +01:00
Daniel Gak Anagrov 87082062c9 feat(multiregion): avoiding prepared transaction with only one database (#5336)
* feat: avoiding prepared transaction with only one database
* scope 2pc monitor specs to multiregion only
2025-09-04 14:42:55 +01:00
Daniel Gak Anagrov 75aa5d9b2d feat(ci): reinstate multiregion tests (#5365)
* feat(multiregion): replace user replication

* chore(multiregion): optimise replication

* maybe it's this

* postgres is fun

* once more

* chore(multiregion): only replicate test user creation during multiregion tests

* feat: improved replicate_query logic

* fix: minor

* fix: starting issue

* feat: included user create and delete specs to multiregion

* feat: removed console logs

* fix: user defaults

* fix: multiregion test helper

* fix: update scenarios for users

* refactor(multiregion): swap replicateQuery concept to asMultiregionOperation (#5301)

feat(multiregion): introduced asMultregionOperator, refactor test to user builder classes

* chore: renamings

* fix: remove comments

* feat: remove user replication

* refactor: simplified spec usages

* chore: comments

* chore: branches and favs

* chore: more tests

* chore: more tests

* fix linting

* fix tests

* feat: dropping replication

* refactor: moved project delete to service

* fix: comment

* feat: updateStreamFactory and updateProjectFacotry

* deleteProjectFactory + replicateFactory

* deleteWorkspaceFactory

* fix: selector

* fix: tests

* fix tests, finished createStreamFactory

* feat: simplify changes

* fix: remove comment

* fix: minor strucutres

* fix: moveProjectToRegion

* fix: moved branch creation outside of multiregion scope

* fix: branch creation

* fix: tests

* fix: ci tests

* fix: removed log form test

* fix: on specs, no random regionKeys

* feat: simplify ci for postgres

* try: fix health check

* feat: fixed tests in ci

* try: entrypoint

* try: entrypoint

* try: entrypoint

* try: POSTGRES_INITDB_ARGS

* feat: apply POSTGRES_INITDB_ARGS to all server tests

* fix: broken test

* fix: reinstate max health attempts

* fix: after merge

* fix: after merge

---------

Co-authored-by: Charles Driesler <chuck@speckle.systems>
2025-09-04 14:49:02 +02:00
Daniel Gak Anagrov 399c998fd7 feat(multiregion): apply prepared transactions to projects (#5322)
* feat(multiregion): replace user replication

* chore(multiregion): optimise replication

* maybe it's this

* postgres is fun

* once more

* chore(multiregion): only replicate test user creation during multiregion tests

* feat: improved replicate_query logic

* fix: minor

* fix: starting issue

* feat: included user create and delete specs to multiregion

* feat: removed console logs

* fix: user defaults

* fix: multiregion test helper

* fix: update scenarios for users

* refactor(multiregion): swap replicateQuery concept to asMultiregionOperation (#5301)

feat(multiregion): introduced asMultregionOperator, refactor test to user builder classes

* chore: renamings

* fix: remove comments

* feat: remove user replication

* refactor: simplified spec usages

* chore: comments

* chore: branches and favs

* chore: more tests

* chore: more tests

* fix linting

* fix tests

* feat: dropping replication

* refactor: moved project delete to service

* fix: comment

* feat: updateStreamFactory and updateProjectFacotry

* deleteProjectFactory + replicateFactory

* deleteWorkspaceFactory

* fix: selector

* fix: tests

* fix tests, finished createStreamFactory

* feat: simplify changes

* fix: remove comment

* fix: minor strucutres

* fix: moveProjectToRegion

* fix: moved branch creation outside of multiregion scope

* fix: branch creation

* fix: tests

* fix: ci tests

* fix: removed log form test

* fix: on specs, no random regionKeys

* review fixes

* fix: mr comments

* feat: removed test

---------

Co-authored-by: Charles Driesler <chuck@speckle.systems>
2025-09-04 13:07:19 +02:00
Mike 08eb1f7a1d Feat: Bashboards in app (#5333) 2025-09-01 14:24:17 +02:00
Chuck Driesler 8a9b4829d9 feat(multiregion): replace user replication (#5253) 2025-08-28 10:02:53 +02: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
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
Kristaps Fabians Geikins 3adf458e7a fix: various activity broadcast issues (#5269) 2025-08-20 11:35:04 +03:00
Daniel Gak Anagrov 3d67e56fbc [WIP] feat: proposal structre for 2pc operations in multiregion (#5159)
* feat: proposal structre for 2pc operations in multiregion

* feat: minor restructure

* feat: added another test

* fix(2PC): refactor to include return value and errors

* fix(2PC): improve and test tests

* fix(2PC): improve logging

---------

Co-authored-by: Charles Driesler <chuck@speckle.systems>
2025-08-15 10:50:01 +01:00
Kristaps Fabians Geikins d013fe1dd7 feat: tightening up saved views permissions (#5239)
* updated auth policies

* added auth checks to resolvers

* tests for single view resolvers
2025-08-14 12:45:08 +03:00
Kristaps Fabians Geikins 0c837715a3 feat: support group delete (#5215)
* backend implemented

* added create to group, but search seems busted

* group search fixed

* moar group retrieval fixes

* more recalculations

* support group delete

* delete confirm dialogs
2025-08-13 10:14:44 +03:00
Daniel Gak Anagrov ba8a62dd2a feat: added schedule for deleting stale prepared transactions (#5169) 2025-08-12 15:23:27 +01:00
Kristaps Fabians Geikins 21e8ec3e27 feat: saved view delete (#5192)
* canUpdate auth policy

* delete mutation WIP

* backend works

* frontend working

* minor adjustments

* test fix

* switch to new empty state

* beefing up coverage

* cr fix
2025-08-07 12:13:39 +03:00
Charles Driesler 9c637c27a4 Merge branch 'main' into oguzhan/acc-connector 2025-08-05 11:45:44 +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
Charles Driesler 6da00d524c fix(acc): policy and usage in FE 2025-08-05 00:52:16 +01:00
Chuck Driesler 64d7aece29 chore(acc): mo repos mo services 2025-07-28 17:02:18 +01:00
Chuck Driesler e894477cd3 fix(acc): env variables and repo functions 2025-07-25 21:18:43 +01:00
Chuck Driesler ce7a004ce0 Merge branch 'main' into oguzhan/acc-connector 2025-07-24 12:40:01 +01:00
Kristaps Fabians Geikins 8d72ae9cab fix(server): extra fixes for running TS directly (#5135) 2025-07-23 12:44:19 +03:00
Kristaps Fabians Geikins 4b06f42db7 chore(server): run TS files directly (no compilation) (#5134)
* sort of works

* type fixes

* added option to run old way too
2025-07-23 11:20:40 +02:00
Chuck Driesler 06f12c134c Merge branch 'main' into oguzhan/acc-connector 2025-07-22 20:24:52 +01:00
Chuck Driesler c60a093a0a fix(acc): updated table shape 2025-07-22 14:13:12 +01:00
Kristaps Fabians Geikins cad77b92c9 feat(fe2): conditional cross origin isolation on viewer page (#5124)
* feat(fe2): conditional cross origin isolation on viewer page

* minor change

* minor cleanup
2025-07-22 10:14:49 +03:00
Iain Sproat fd4588c99b feat(server/previews): retry dead preview resurrection if no backpressure (#5099) 2025-07-17 13:09:29 +01:00
Chuck Driesler d2f2d7bcfd feat(automate): allow function authors to regenerate function tokens (#5057)
* feat(automate): expose function regeneration endpoint

* chore(automate): remember to call the function

* fix(automate): use correct auth code action

* fix(automate): token regenerate policy

* fix(automate): expose function regen token policy

* feat(automate): workspace automation settings tab

* feat(automate): function token regeneration dialog

* fix(automate): improve gql usage in vue components

* chore(authz): tests for automate function policies

* fix(automate): use paginated query

* fix(automate): resolve initial result
2025-07-17 11:24:58 +02:00
oguzhankoral cfadedd287 Webhooks and TODOs for next steps 2025-07-14 19:18:57 +03:00
Kristaps Fabians Geikins b29331705e chore(server): get rid of duplicate gql TS types (#5065) 2025-07-14 11:31:12 +03:00
Iain Sproat 2bbfb8cede feat(server/email verification): configurable timeout (#5061) 2025-07-14 08:56:27 +01:00
Kristaps Fabians Geikins bde148f286 chore(server): migrating fully to ESM (#5042)
* wip

* some extra fixes

* stuff kinda works?

* need to figure out mocks

* need to figure out mocks

* fix db listener

* gqlgen fix

* minor gqlgen watch adjustment

* lint fixes

* delete old codegen file

* converting migrations to ESM

* getModuleDIrectory

* vitest sort of works

* added back ts-vitest

* resolve gql double load

* fixing test timeout configs

* TSC lint fix

* fix automate tests

* moar debugging

* debugging

* more debugging

* codegen update

* server works

* yargs migrated

* chore(server): getting rid of global mocks for Server ESM (#5046)

* got rid of email mock

* got rid of comment mocks

* got rid of multi region mocks

* got rid of stripe mock

* admin override mock updated

* removed final mock

* fixing import.meta.resolve calls

* another import.meta.resolve fix

* added requested test

* nyc ESM fix

* removed unneeded deps + linting

* yarn lock forgot to commit

* tryna fix flakyness

* email capture util fix

* sendEmail fix

* fix TSX check

* sender transporter fix + CR comments

* merge main fix

* test fixx

* circleci fix

* gqlgen bigint fix

* error formatter fix

* more error formatting improvements

* esmloader added to Dockerfile

* more dockerfile fixes

* bg jobs fix
2025-07-14 10:26:19 +03:00
oguzhankoral 2c77364e9a Merge remote-tracking branch 'origin/main' into oguzhan/acc-connector 2025-07-11 05:32:10 +03:00
oguzhankoral 22bb18cc10 Initial implementation 2025-07-11 05:29:12 +03:00