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
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
Mike
3a0829aa93
Feat: Add Intelligence SU Promo banner ( #5348 )
2025-09-01 11:59:25 +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
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
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
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
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
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
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
Kristaps Fabians Geikins
e34a44bf66
fix(server): incorrectly dealing w/ different email casing ( #5131 )
...
* fix(server): incorrectly dealing w/ different email casing
* Cr comments
2025-07-23 10:19:46 +03: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
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
Chuck Driesler
2c66b3aef5
fix(embedTokens): return all metadata on embed token create ( #5055 )
...
* fix(embedTokens): return all metadata on embed token create
* chore(embedTokens): no !
* fix(embedTokens): more correct type usage
* fix(embedTokens): update codegen.yml
2025-07-10 14:36:14 +01: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
Chuck Driesler
c35b2ce8c2
fix(embeds): private embed pagination ( #5040 )
...
* feat(tokens): create embed-specific tokens
* fix(tokens): repo functions and policy sketch
* chore(authz): embed token policies and tests
* chore(authz): fine
* chore(gql): lint descriptions
* fix(embedTokens): better api surface, repo structure
* chore(embedTokens): test fixes
* fix(embeds): check resource access
* fix(embeds): use resource access util
* fix(embedTokens): paginate tokens, emit policy checks
* fix(embeds): better query typing
* chore(embeds): rename property
2025-07-08 13:17:26 +01:00
Chuck Driesler
aa29a09ebc
feat(tokens): create embed-specific tokens ( #5013 )
...
* feat(tokens): create embed-specific tokens
* fix(tokens): repo functions and policy sketch
* chore(authz): embed token policies and tests
* chore(authz): fine
* chore(gql): lint descriptions
* fix(embedTokens): better api surface, repo structure
* chore(embedTokens): test fixes
* fix(embeds): check resource access
* fix(embeds): use resource access util
2025-07-07 12:02:38 +01:00
Chuck Driesler
2f36e518a0
fix(multiregion): make move region job safe for replication ( #4907 )
...
* chore(multiregion): failing test for move project region
* fix(multiregion): unblock replication after regional move
* fix(regions): try-catch replication
* fix(regions): cache roles within job
* fix(regions): toggle region key in target db
2025-06-25 15:47:34 +01:00
Gergő Jedlicska
4a2d85d68c
feat(server): web 3485 prevent accounts from creating new workspaces ( #4913 )
...
* feat(shared): rename user workspaces loader
* feat(gatekeeper): intoduce the enterprise plan
* chore(server): remove more "magic strings"
* refactor(shared): extract user is workspace admin to an auth fragment
* feat(shared): add can createWorkspacePolicy
* feat(workspaces): WIP block workspace creation
* feat(server): add can create workspace checks
* feat(workspaces): enforce canCreateWorkspace policy on the workspace
creation mutation
* feat(shared): allow workspace admins and guests to create workspaces
even if they are part of an exclusive workspace
* test(shared): use test fake properly
* fix(server): eligble workspace typing fixes
* test(shared): fix more workspace fakes
* fix(workspacesCore): add missing loader
* fix(shared): use proper exhaustive switch cases, they stop bugs from
happening
* feat(shared): introduce workspacePlanHasAccessToFeature function with tests
* chore(workspaces): fix more PR comments
* fix(workspaces): naming
* fix(workspaces): some more
2025-06-18 08:58:26 +01:00
Daniel Gak Anagrov
2cd108c3ee
feat(objects): Improve gql loading logic around limits ( #4885 )
2025-06-16 08:57:08 +02:00
Daniel Gak Anagrov
460245a71b
fix(versions): object history hidden when quering by project ( #4884 )
2025-06-04 10:44:08 +02:00
Kristaps Fabians Geikins
bfe6688989
chore(server): extra logging to debug Query.project nullability issue ( #4847 )
2025-05-29 16:11:32 +03:00
Iain Sproat
33e480185e
fix(passport): google strategy handle invalid grant errors ( #4742 )
2025-05-28 09:41:26 +01:00
andrewwallacespeckle
a4278e5863
Merge branch 'main' into andrew/specklecon-banner-dismissable
2025-05-21 11:40:40 +02:00
Kristaps Fabians Geikins
9998ed2586
feat: personal project limits ( #4759 )
...
* base limits cleanup
* history limit tests
* canCreatePersonal & tests
* canInvite block
* WIP model check
* fix tests
* shared tests fix
* lodash import fix
* lint fix
* help update
* hopefully fixing test
* CR comment
2025-05-20 14:56:05 +03:00
andrewwallacespeckle
c571d51d27
feat: add speckleConBannerDismissed to activeUser.meta
2025-05-20 13:55:32 +02:00
Iain Sproat
43b0190720
Merge branch 'main' into iain/ratelimiter-should-respect-configuration
2025-05-19 13:37:26 +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
Chuck Driesler
19ea8b2879
fix(authz): expose canInvite gql queries ( #4712 )
2025-05-12 21:10:47 +01:00
Kristaps Fabians Geikins
b406d0e32d
chore(server): node16 & export maps support for server ( #4698 )
...
* chore(server): node16 & export maps support for server
* moar cleanup
* lint fixc
2025-05-12 14:27:34 +03:00
Chuck Driesler
b6ec9dca5b
fix(authz): canPublish and canLoad policies ( #4673 )
2025-05-06 14:27:20 +01:00
Kristaps Fabians Geikins
c6dcf18bdb
feat(server): workspace project invite auto-accept (for existing wp members) ( #4622 )
...
* WIP ts
* DI fix & tests moved to TS
* auto-accept seems to work
* CR comments
2025-04-30 17:39:07 +03:00
Iain Sproat
413937c0fa
Merge branch 'main' into iain/ratelimiter-should-respect-configuration
2025-04-28 08:16:19 +01: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
908fd9ed74
feat(core): filter projects by role
2025-04-22 18:16:12 +02:00
Iain Sproat
920099c39f
chore(readable code): use TIME_MS for readable durations
...
- we recently added TIME_MS helper; this applies it to existing durations
2025-04-18 17:51:43 +01:00
Kristaps Fabians Geikins
2de4fef006
fix: project settings options not checking permissions ( #4472 )
2025-04-17 12:53:17 +03:00
Iain Sproat
e14cbf3453
Merge branch 'main' into iain/web-2732-observability-for-improved-reliability-core
2025-04-16 14:58:00 +01:00
Kristaps Fabians Geikins
62cc07b072
feat(server): add new workspace disclaimer fields to user meta ( #4434 )
...
* feat(server): add new workspace disclaimer fields to user meta
* unrelated tests fix
2025-04-16 12:47:33 +03:00
Kristaps Fabians Geikins
10832655d4
fix(server): all project created subs firing for workspace guests + req ctx cache fix for subs ( #4453 )
...
* WIP sub fix
* fix sub resolver caching issue
2025-04-16 11:21:17 +03:00
Alessandro Magionami
0c18acc452
Alessandro/web 2945 comments hide body ( #4385 )
...
* chore(core): move limits logic into shared
* feat(comments): limit text and rawText for comments
* chore(core): removed test moved to shared
* chore(comments): generate gql types
* feat(comments): rework comment history limits
* chore(comments): fix tests
* chore(shared): add dayjs as dependency
---------
Co-authored-by: Gergő Jedlicska <gergo@jedlicska.com >
2025-04-15 10:44:12 +02:00
Iain Sproat
528854669a
All resolvers in core
2025-04-14 20:04:04 +01:00
Iain Sproat
2ffce0d45e
Projects
2025-04-14 18:26:56 +01:00
Iain Sproat
dff07edf87
chore(server/core/logging): add operation logging to mutations
2025-04-14 18:17:37 +01:00
Kristaps Fabians Geikins
b287702145
feat: version checks + generally improved auth error messaging ( #4384 )
...
* foundation for new version checks
* canUpdate policy
* can req render
* canReceive
* BE implemented
* FE checks implemented?
* test fix
* improved auth error messaging
* fix lint
2025-04-14 10:43:48 +01:00