Commit Graph

1279 Commits

Author SHA1 Message Date
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
Iain Sproat 7d439fe6de fix(server/passwordreset): prevent user enumeration through brute force (#5633) 2025-10-03 14:04:53 +01: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 d394e1cd9b fix: various presentations mode fixes related to resetting (#5635)
* better workspace feature flag ops

* user activity is correctly tracked

* more fixes
2025-10-03 12:39:59 +03:00
Mike 1774fff3db Fix: Various presentation fixes (#5619) 2025-10-02 16:17:06 +02:00
Mike 7c2be90f74 Feat: Add saved view subscription to presentations (#5614) 2025-10-02 12:50:12 +02: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
Chuck Driesler 47cb1a83a2 chore(automate): drop unused query (#5610) 2025-10-01 11:12:52 +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
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
Mike 5565d4cd58 Feat: Add SpeckleCon promo banner (#5569) 2025-09-29 11:28:32 +02:00
Gergő Jedlicska 85e127f690 Gergo/workspace scoping (#5546)
* fix(workspaces): project.workspace should be behind a token scope

* fix(workspace): add limited workspace resolver to projects

* Update FE

---------

Co-authored-by: Mike Tasset <mike.tasset@gmail.com>
2025-09-24 16:51:43 +02:00
Iain Sproat ec59dd160a feat(core/admin): server admin can mark user email as being verified (#5482) 2025-09-24 12:17:30 +01:00
Kristaps Fabians Geikins 99c26db777 feat: MVP manual view positioning (#5500)
* init migration

* WIP position calculations

* view retrieval sorting

* WIP specific position resolution

* position calc

* new positioning draft

* workz?

* improved error

* even better logging

* moar

* troubleshooting

* works??

* delete junk

* fixed rebalancing

* some tests

* lint fix

* test fix

* more fixes and tests

* more tests and fixes

* fix testsss

* more tests

* moaar

* fix group drop

* errorToString updates
2025-09-24 11:58:46 +02:00
Kristaps Fabians Geikins 77e36d37b3 feat: allow view title & description updates for non-owner contributors (#5532)
* new policies

* backend updated

* updated frontend
2025-09-24 09:26:03 +02:00
Chuck Driesler 48ddd79c6f feat(mike): gift for mike (#5515) 2025-09-23 10:26:20 +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
Gergő Jedlicska c3d452ad0c Gergo/cxpla 278 v2 server api endpoint with masking support (#5414)
* WIP: streaming masking endpoint

* feat(objects): working object streaming with filtering

* feat(object-loader): use the new objects endpoint

* fix(server): allow downloading of public project data

* feat(objectloader-2): include object masking in objectloader

* feat(objectloader2): make attribute masking optional

* fix(server): remove unused imports
2025-09-18 15:56:41 +02:00
Kristaps Fabians Geikins dfdd5ce305 fix(fe2): fix saved federated view loaded camera coords (#5456)
* various loading issues resolved

* fix: viewer zoomToObject unnecessarily triggering
2025-09-16 10:46:23 +03:00
andrewwallacespeckle 324520f83d feat(fe): use email verification timeout from server 2025-09-15 16:16:14 +01:00
Mike cac15190da Feat: Presentations base (#5389) 2025-09-15 10:01:59 +02:00
Daniel Gak Anagrov 2c122a138d feat(workspaces): apply prepared transactions to workspaces (#5383)
* 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

* feat: workspace replciation

* fix: mr comments

* feat: removed test

* fix: worksapce test creation

* fix: mr issues

* updated mutations

* feat: drop workspace random defaults

---------

Co-authored-by: Charles Driesler <chuck@speckle.systems>
2025-09-11 10:08:26 +02:00
Daniel Gak Anagrov 1f5003bd32 feat(multiregion): cron job to detect regions out of sync (#5392)
* feat: basic structure

* fix: detect regions out of sync

* feat: added sync logic

* fix: tests

* feat: merge all strategy

* fix: mr comments

* fix: updatedAt in updates

* feat: project updatedAt no longer is a hidden operation

* feat: project region sync

* feat: delete project on cross-region-move

* removal: unnecesary permisions

* fix: caching issue

* fix: saved views on project cross region move
2025-09-10 16:35:48 +01:00
Gergő Jedlicska 87b621e92a feat(server): various fixes (#5360) 2025-09-05 13:24:56 +02:00
Gergő Jedlicska 7e1add4295 switch server hostapp support to slug (#5374)
* feat(shared): add missing sourceApps

* feat(shared): add missing source apps

* feat(server): map version source apps to slugs

* fix(shared): rhino search key

* fix(shared): search key ordering

* fix(server): lower case compare soureceApplications
2025-09-04 15:13:59 +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
Kristaps Fabians Geikins 3497eed931 feat: opening a model w/ a home view targets latest version (#5376)
* model link resolution updated

* finalization

* lint fix
2025-09-04 10:02:02 +03:00
Kristaps Fabians Geikins 3558087b1f feat: allow moving views for non-author project contributors+ (#5373)
* new auth policies & fragments

* server changes

* frontend changes
2025-09-03 15:28:42 +03:00
Mike 08eb1f7a1d Feat: Bashboards in app (#5333) 2025-09-01 14:24:17 +02:00
Mike 3a0829aa93 Feat: Add Intelligence SU Promo banner (#5348) 2025-09-01 11:59:25 +02:00
Kristaps Fabians Geikins 3d8e9ab152 feat(server): hide empty groups if ur not group author (#5344) 2025-08-29 15:43:49 +03:00
Daniel Gak Anagrov b568e6d946 refactor(multiregion): reduce create stream usages in specs (#5319)
Co-authored-by: Charles Driesler <chuck@speckle.systems>
2025-08-28 14:21:26 +02:00
Chuck Driesler 8a9b4829d9 feat(multiregion): replace user replication (#5253) 2025-08-28 10:02:53 +02:00
Daniel Gak Anagrov 8fbe1322e1 chore(multiregion): drop db defaults for project (#5305)
* feat: added migration
* chore: move defaults and other functions outside of repository fn
2025-08-26 16:40:22 +02:00
Gergő Jedlicska 6982023dca feat(gatekeeper): add per workspace feature flags (#5303)
* feat(gatekeeper): add per workspace feature flags

* feat(workspaces): add admin api for granting and removing access to
workspace features

* fix(workspaces): use the correct constant name

* fix(workspaces): more test type fixes

* fix(shared): fix tests and types

* fix(workspaces): properly use exhaustive switch statement

* fix(workspaces): add new workspace plan feature to switch

* fix(workspaces): use regular integer, its fine for now...

* fix(workspaces): feature flag retention post checkout

* fix(gatekeeper): fix upsert plan tests
2025-08-26 10:23:02 +01:00
Kristaps Fabians Geikins 624b56eacf chore(fe2): even more performant and even less hydration mismatches (#5292)
* fix(fe2): more preview related mismatch fixes

* moar

* a bunch of preloads

* more preloads

* batchlink

* undo cache only

* lint fix

* more query opt

* rate limiter adjustments to account for batched reqs
2025-08-22 08:22:18 +03:00
Kristaps Fabians Geikins 4650936bf0 feat: saved views disclaimers (#5265) 2025-08-20 10:19:57 +03:00
Kristaps Fabians Geikins c7c15f83d5 feat: reworked saved views filters -> Personal/Shared (#5260)
* backend adjusted

* works it seems?

* styling seems ok

* clickable view bg

* test fixes
2025-08-19 12:32:38 +03:00
Kristaps Fabians Geikins 0c957ed9cc feat: setting home views (#5250)
* frontend update works

* starting viewer resources saved view tests

* test fix

* viewerResources new resolver + adjustment for home views

* create/update view fixing up and tests

* sort of works?

* fixing more race conditions

* loading preview

* disable home view stuff when federated

* fixing up links

* tests and home view fix
2025-08-18 14:35:59 +03:00
Iain Sproat 0721831a00 feat(server): FF_USERS_INVITE_SCOPE_IS_PUBLIC flag to make users:invite scope public (#5244) 2025-08-18 10:25:34 +01:00
Chuck Driesler 308e8c389b feat(tokens): enable resource limits for PAT creation (#5241)
* feat(tokens): enabled resource limits on PAT

* fix(tokens): gotta use those variables
2025-08-14 15:14:19 +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 be0155a95d feat: rename a group (#5228)
* add disclosure edit mode support

* group update backend works

* WIP group title edit

* rename seems to work

* fix menu overflow

* remove comment

* optimistic responser fix

* rename validation

* disclosure sync fix
2025-08-13 17:38:20 +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
Kristaps Fabians Geikins 34290877fa feat: list & create groups (#5206)
* WIP group create

* create and list group works

* test fix

* safe router
2025-08-12 11:28:52 +03:00
Kristaps Fabians Geikins 0f5096fb2e feat: copy link to view + load original version (#5202)
* frontend nearly there

* backend adjustment sort of there

* WIP url busted issue

* does it work?

* how about now

* loading seems to work now
2025-08-11 16:02:35 +03:00
Kristaps Fabians Geikins f87edcb50f feat: saved view update dialog (#5196)
* view update BE foundation

* WIP update service call

* a bunch of tests

* WIP edit view dialog

* fix for auto submit

* frontend works
2025-08-08 13:27:15 +03: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