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
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
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
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
Daniel Gak Anagrov
e5fb1361c6
fix: getting all user projects on deletion and user filter ( #5112 )
...
* fix: getting all user projects on deletion and user filter
2025-07-21 10:07:46 +02:00
Daniel Gak Anagrov
ba3d9ade22
feat(activity): moved project roles to activity ( #5019 )
...
* feat: moved project roles to activity
* fix: added previous project role filed on activity
* fix: remvoke does not get logged as an actvity for every project in a workspace when removed from workspace
* fix: on delete user account, emit also seat and project event
Co-authored-by: Charles Driesler <chuck@speckle.systems >
2025-07-10 11:44:54 +02:00
Iain Sproat
4738b97091
feat(server/fileuploads): use a presigned url to upload large files ( #4901 )
2025-06-17 17:38:47 +01:00
Kristaps Fabians Geikins
4db1531064
feat: "workspace" project visibility ( #4704 )
...
* WIP new visi
* test fixes
* visibility seems to work
* authz policies & authorizeResolver updated
* various test fixes
* users tests
* frontend changes
* minor adjustments
* shared test fix
* test fixes
* force rerun CI
2025-05-14 15:20:26 +03:00
Kristaps Fabians Geikins
5df39ce4ce
feat(server): allow activeUser.query to retrieve implicitly accessible projects ( #4593 )
2025-04-25 09:13:13 +03:00
Alessandro Magionami
3afe6a917b
Merge pull request #4545 from specklesystems/alessandro/web-3127-sort-projects-in-the-project-selection-step
...
Alessandro/web 3127 sort projects in the project selection step
2025-04-23 14:54:54 +02:00
Kristaps Fabians Geikins
f1ae0916c6
feat(server): improved user/server profile mp tracking ( #4540 )
...
* user tracking
* server profile tracking
* style
2025-04-23 15:19:24 +03:00
Alessandro Magionami
73d83e543c
chore(core): add comment on type
2025-04-23 10:46:02 +02:00
Alessandro Magionami
908fd9ed74
feat(core): filter projects by role
2025-04-22 18:16:12 +02:00
Kristaps Fabians Geikins
820a1e2ebf
feat(server): workspace roles taken into account in project queries ( #4319 )
...
* Workspace.projects fixed
* Query.project tested & fixed
* personalOnly flag added
* withProjectRoleOnly flag
* authorizeResolver implicit workspace roles
* minor cleanup
* reorg + support for throwing auth errors
* global error mapping
* undo special borkage
* CR fixes
* more CR fixes
* shared tests fix
* minor adjustment
* tests fix
* see if removing cached roles fixes it?
* more fixes
* clean up debugging garbage
2025-04-07 12:52:07 +03:00
Chuck Driesler
c6e0714bc4
chore(authz): hoist authorizeresolver ( #4253 )
...
* chore(authz): hoist deleteStreamAndNotify
* chore(authz): hoist updateStreamAndNotify
* chore(authz): comment
2025-03-24 16:51:19 +00:00
Kristaps Fabians Geikins
d903e8ffc4
feat(server): support editor -> viewer seat downgrades ( #4181 )
...
* new seat based project role checks implemented
* everything done
* minor bugfix
2025-03-14 14:21:25 +02:00
Kristaps Fabians Geikins
1d2a594f0a
chore: upgrade TS 5.2 -> 5.7.3 & ESLint to 9.20.1 ( #4032 )
...
* chore: upgrade TS 5.2 -> 5.7.3
* vite dts fix
* lint fix
* resolutions fix
* ui comp build fix
* precommit fix?
* latest eslint version
* autoloader fix
* undo unnecessary viewer change
* eslint fixes fe2 + trying disabled type linting
* lint fixes
2025-02-20 14:18:18 +02:00
Kristaps Fabians Geikins
4b7740eb17
Merge branch 'main' into fabians/web-2415-6
2025-02-17 15:15:52 +02:00
Iain Sproat
0ce23be6f3
chore(logging): log messages related to a request should include request ID ( #3945 )
...
- this requires passing the request logger through to the method invoking the logger
2025-02-06 16:04:51 +00:00
Kristaps Fabians Geikins
9b46747815
chore(server): refactor activityStream invocations - batch #6 - project invites
2025-01-24 18:35:21 +02:00
Kristaps Fabians Geikins
2e8863eb64
fix(server): dataloader batching being broken ( #3838 )
...
* fix(server): dataloader batching being broken
* feat(server): optimized stream collaborator retrieval
* test fix
2025-01-17 12:41:58 +02:00
Alessandro Magionami
da49ec6625
feat(core): user projects filterable by workspace
2024-12-17 12:25:23 +01:00
Kristaps Fabians Geikins
4b6e7af19d
feat(fe2): scope comment mentions to parent project collaborators ( #3635 )
...
* backend done
* get rid of email mention
* project scoped mentions work
* lint fix
* better user sanitization safety
* tests fix
2024-12-05 13:33:05 +02:00
Gergő Jedlicska
c68090a041
feat(projects): filter projects, that are not available under sso ( #3585 )
...
* feat(projects): filter projects, that are not available under sso
* feat(fe2): add SSO authentication warning banner
* Use specific fragment types
* fix(streams): stream load behavior should match old implementation
* Add user id to ProjectsHiddenProjectWarning_User fragment
* GQL gen
* Copy update
* fix(streams): admin override logic
* chore: gqlcodegen
* Update fragment name
---------
Co-authored-by: andrewwallacespeckle <andrew@speckle.systems >
2024-12-03 11:51:27 +01:00
Gergő Jedlicska
73cc7e67d3
gergo/webhookRegions ( #3459 )
...
* feat(webhooks): multi region webhook resolver
* feat(webhooks): multi region webhook cleanup
* fix(webhooks): DI fixes
* feat(activitystream): region aware save activity
* feat(accessrequests): multi region
* feat(cli): allow multi region project and commit download
* feat(postgres): make docker postgres 0 day multi region ready
* feat(cli): allow multi region project and commit download properly
* fix(cross-server-sync): di fix
* feat(activitystream): non region aware activities, they are not project data
* fix(webhooks): triggers need to be included
* feat(stream/projectCreate): activity save is not needed any more, its all event based
* feat(multiRegion): get all registered db clients
* fix(regions): test equal in any order
* fix(projectDownload): need to await
2024-11-08 10:45:39 +01:00
Gergő Jedlicska
f210d9b749
gergo/web 2109 project region based db connection selector ( #3434 )
...
* feat(projects): add project regions, default to null
* feat(multiregion): add projectRegion Db client lookup logic
* feat(multiregion): add project region repositories and caching
* feat(multiRegion): db initialization and get project db client
* feat(docker-compose): add second db for regions testing
* feat(multiRegion): initialize region with pubs and subs working
* fix(multiRegion): get region client even if it was registered in another pod
* feat(workspaces): create workspace resolver split
* feat: update server region metadata
* feat(projects): rewrite project creation
* feat(multiRegion): getRegionDb
* fix(workspaces): get projects now can retur null
* feat(multiRegion): make local multi region DB-s work
* feat: set d efault workspace region
* CR changes
* tests
* feat(multiRegion): bind region properly
* fe update
* test fixes
* feat(multiRegion): automatically create aiven extras plugin
* ci(postgres): use published postgres with aiven extras
* fix(multiRegion): roll back the aiven extras migration, there is a better way
* tests fix
* fix(billing): we do not need to add a seat, if the workspace is on a plan, but has no sub
---------
Co-authored-by: Kristaps Fabians Geikins <fabis94@live.com >
2024-11-06 17:29:08 +01:00
Kristaps Fabians Geikins
284d94f8ca
chore(server): core IoC #104 - validatePermissionsWriteStreamFactory
2024-10-22 12:22:36 +03:00
Kristaps Fabians Geikins
b128d13dbe
chore(server): core IoC #103 - validatePermissionsReadStream
2024-10-22 12:16:04 +03:00
Kristaps Fabians Geikins
30371332d3
chore(server): core IoC #102 - adminProjectListFactory
2024-10-22 12:04:35 +03:00
Kristaps Fabians Geikins
766a189465
chore(server): core IoC #62 - deleteUserFactory
2024-10-15 14:22:06 +03:00
Kristaps Fabians Geikins
d2e5385ee4
chore(server): core IoC #49 - markOnboardingBaseStreamFactory
2024-10-14 16:18:13 +03:00
Kristaps Fabians Geikins
30331c6f8e
chore(server): core IoC #48 - markCommitStreamUpdatedFactory
2024-10-14 16:01:53 +03:00
Kristaps Fabians Geikins
f976a929a9
chore(server): core IoC #47 - markBranchStreamUpdatedFactory
2024-10-14 15:55:37 +03:00
Kristaps Fabians Geikins
212d05d222
chore(server): core IoC #46 - getUserStreamsPageFactory
2024-10-14 15:45:42 +03:00
Kristaps Fabians Geikins
9d9813ae84
chore(server): core IoC #44 - remaining streams dataloaders
2024-10-14 15:34:51 +03:00
Kristaps Fabians Geikins
cd5cb3d4cf
chore(server): core IoC #41 - legacyGetStreamUsersFactory
2024-10-14 11:38:05 +03:00
Kristaps Fabians Geikins
2b0fbee43e
chore(server): core IoC #40 - favoriteStreamFactory
2024-10-14 10:59:49 +03:00
Kristaps Fabians Geikins
7fa3b22366
chore(server): core IoC 39 - getFavoriteStreamsCollectionFactory ( #3220 )
2024-10-10 10:27:20 +02:00
Kristaps Fabians Geikins
cd45fa7cde
chore(server): core IoC 37 - legacyGetStreamsFactory
2024-10-10 11:01:50 +03:00
Kristaps Fabians Geikins
82162963ee
chore(server): core IoC 37 - getDiscoverableStreamsFactory
2024-10-10 10:59:37 +03:00
Kristaps Fabians Geikins
491f837ff1
chore(server): IoC 36 - createOnboardingStreamFactory
2024-10-10 10:58:51 +03:00
Kristaps Fabians Geikins
6cb5022ac4
chore(server): IoC 35 - updateStreamRoleAndNotify
2024-10-09 16:31:20 +03:00
Kristaps Fabians Geikins
a3252f88f3
chore(server): IoC 34 - updateStreamAndNotifyFactory
2024-10-09 12:54:10 +03:00
Kristaps Fabians Geikins
ad9cb3aafd
chore(server): IoC 33 - deleteStreamAndNotifyFactory
2024-10-09 12:37:57 +03:00
Kristaps Fabians Geikins
aa4f319277
chore(server): IoC 32 - createStreamFactory ( #3204 )
2024-10-09 11:10:20 +03:00
Kristaps Fabians Geikins
380fe049e6
chore(server): IoC 31 - getStreamCollaboratorsFactory
2024-10-09 10:39:29 +03:00
Kristaps Fabians Geikins
04b03cc341
chore(server): IoC 30 - getCommitStream(s)Factory
2024-10-09 10:39:16 +03:00
Kristaps Fabians Geikins
5b5dd201e2
chore(server): IoC 29 - getStream(s)Factory
2024-10-09 10:39:00 +03:00