Commit Graph

1147 Commits

Author SHA1 Message Date
andrewwallacespeckle a4278e5863 Merge branch 'main' into andrew/specklecon-banner-dismissable 2025-05-21 11:40:40 +02:00
Chuck Driesler 9724a3daef feat(workspaces): sort discoverable workspaces by member count (#4779)
* fix(workspaces): order discoverable workspaces by team size

* fix(workspaces): emit workspace admins from LimitedWorkspace

* chore(workspaces): drop some comments
2025-05-21 10:04:44 +01: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
Kristaps Fabians Geikins d2f2d95bb5 chore(server): migrate remaining tests to TS (#4772)
* auth tests migrated

* core tests

* pwdreset

* authz tests
2025-05-20 14:24:48 +03:00
Kristaps Fabians Geikins 814bd2ca40 chore: branch -> model in error msg (#4768)
* chore: branch -> model in error msg

* tests fix
2025-05-20 12:27:05 +03:00
Iain Sproat ea8c7d02bf Merge branch 'main' into iain/task-id-to-request-context 2025-05-20 09:00:54 +01:00
Daniel Gak Anagrov fa5f2eb1f5 feat(workspaces): added GQL fitlering capabilities to activeUser workspaces
*  added filtering mechanism for getWorkspaces completed or not completed workspaces
* added filtering mechanism to filter workspaces of active user by string hitting on slug or name
2025-05-19 16:30:56 +02:00
Iain Sproat 3098100ca9 Merge branch 'main' into iain/task-id-to-request-context 2025-05-19 14:30:31 +01:00
Iain Sproat 185734d851 Merge pull request #4050 from specklesystems/iain/ratelimiter-should-respect-configuration
fix(ratelimiter): do not check rates if rate limiter disabled
2025-05-19 14:27:28 +01:00
Iain Sproat cb7ff5247d Merge branch 'main' into iain/task-id-to-request-context 2025-05-19 14:26:26 +01:00
Iain Sproat 1f1fa7de1b Merge pull request #4602 from specklesystems/iain/minor-logging-fixes
chore(server): minor log metadata fix and tidy of .env.example files
2025-05-19 14:23:24 +01:00
Iain Sproat 43b0190720 Merge branch 'main' into iain/ratelimiter-should-respect-configuration 2025-05-19 13:37:26 +01:00
Chuck Driesler 969ca64a1b feat(workspaces): toggle embedded viewer branding (#4762)
* feat(viewer): embedded viewer option to hide speckle branding

* chore(viewer): can edit embed options policy

* chore(embeds): tests for new policy and gql
2025-05-19 13:19:38 +01:00
Iain Sproat f91d2f6d59 Merge branch 'main' into iain/minor-logging-fixes 2025-05-19 12:31:30 +01:00
Chuck Driesler a8ae414bde chore(workspaces): drop legacy join() (#4752)
* fix(workspaces): drop legacy discoverable workspace join

* fix(workspaces): one more reference
2025-05-15 13:22:42 +01:00
andrewwallacespeckle 2f17b3f8b8 fix(server): Remove mailchimp step and journey ids (#4750)
* fix(server): Remove mailchimp step and journey ids

* Fix pre-commit - add end

* feat(server): use both onboardin and newsletter list audiences

* Fix type

* Remove unused triggerMailchimpCustomerJourney function

---------

Co-authored-by: Gergő Jedlicska <gergo@jedlicska.com>
2025-05-15 12:24:50 +02:00
Kristaps Fabians Geikins 7a59ba5ab8 chore(server): remove unused stream isPublic/isDiscoverable fields (#4743) 2025-05-15 09:18:06 +03: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
Iain Sproat ef290baff1 fix(server): throw stream not found error if stream not found 2025-05-13 14:41:32 +01:00
Iain Sproat a266fe0010 fix(server): log message includes all referenced properties 2025-05-13 10:24:42 +01:00
Iain Sproat 5cf56a3a24 remove irrelevant nesting 2025-05-13 08:46:12 +01:00
Iain Sproat 965d6b3fb6 User errors should be info, not error level 2025-05-13 08:42:40 +01:00
Iain Sproat 163928d9b4 fix(server): log errors at appropriate level
- some objects endpoints were logging user-related errors at an incorrect log level
2025-05-13 08:32:11 +01: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
Daniel Gak Anagrov b15d5b836c feat(fileupload): create new endpoint for file upload (#4693)
* fix(server): remove redundant code from bad merge

* wrong router

* WIP: http api for receiving file import results

* Lints

* fix

* WIP: tests

* test fix

* auth middleware has implicit requirement for param named streamId

* complete tests and fixes

* can run the old way alongside the existing, no conflicts

* tidying

* correct error thrown

* feat(fileUploads): new upload endpoint skeleton

* feat(fileUploads): added coverage for new file importer endpoint

* fix(workspaces): added tests, fix bugged on handling after stream

* refactor: removed useless file

* fix: comments, added tests

* feat: added modelId to file upload table

* fix: ensureError log

---------

Co-authored-by: Iain Sproat <68657+iainsproat@users.noreply.github.com>
2025-05-09 00:16:29 +02:00
Kristaps Fabians Geikins d995a9837e Revert "Revert "feat(server): workspace project invites as implicit workspace invites"" (#4672)
* Revert "Revert "feat(server): workspace project invites as implicit workspace…"

This reverts commit 220015ece6.

* fix invites leak
2025-05-07 14:08:40 +03:00
Chuck Driesler b6ec9dca5b fix(authz): canPublish and canLoad policies (#4673) 2025-05-06 14:27:20 +01:00
Kristaps Fabians Geikins 220015ece6 Revert "feat(server): workspace project invites as implicit workspace invites…" (#4671)
This reverts commit 22bd90d304.
2025-05-06 16:21:12 +03:00
Kristaps Fabians Geikins 22bd90d304 feat(server): workspace project invites as implicit workspace invites (#4634) 2025-05-06 14:20:29 +03:00
Chuck Driesler 848f04d861 feat(automate): create test automations without functions (#4657)
* feat(automate): test automations without functions (almost)

* fix(automate): drop function select from test automation creation

* fix(automate): partial test automation panel

* feat(automate): environment configuration in test automation

* fix(automate): closer fit rows

* fix(automate): create test automation runs without functions
2025-05-06 10:48:21 +01:00
Kristaps Fabians Geikins 211922b6a6 chore: get rid of all old workspace plan code (#4624)
* first batch of changes

* tests fix

* FE fixed

* renaming constants

* test fixes

* moar test fixes

* another test fix

* reenable app rover check

---------

Co-authored-by: Gergő Jedlicska <gergo@jedlicska.com>
2025-04-30 19:18:32 +02:00
Chuck Driesler 76b84e2068 fix(workspaces): wrapper type on limited workspace team (#4635) 2025-04-30 16:42:57 +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
Chuck Driesler c060d6097d fix(workspaces): include name and id on discoverableworkspacecollaborator (#4629)
* fix(workspaces): show more info for discoverable workspace members

* chore(workspaces): something silly with gqlgen

* Update FE

* Fix FE

---------

Co-authored-by: Mike Tasset <mike.tasset@gmail.com>
2025-04-30 13:52:12 +01:00
Alessandro Magionami 437ee6d20b feat(core): add project field on invites (#4588)
* feat(core): add project field on invites

* chore(workspaces): add workspaceSlug on invite
2025-04-29 13:06:35 +03:00
Kristaps Fabians Geikins cf833a7719 fix(server): project role updates after workspace role/seat changes (#4599)
* fix(workspaces): workspace role sync

* role changes fixed + validated

* seat changes validated

* fix tests

---------

Co-authored-by: Charles Driesler <chuck@speckle.systems>
2025-04-29 10:49:37 +03:00
Iain Sproat 76decb78f3 Fix references 2025-04-28 15:23:32 +01:00
Iain Sproat 413937c0fa Merge branch 'main' into iain/ratelimiter-should-respect-configuration 2025-04-28 08:16:19 +01:00
Iain Sproat c6e8d1ba77 Merge branch 'main' into iain/task-id-to-request-context 2025-04-26 08:30:20 +01:00
Iain Sproat 40b64f4e25 Fix log metadata that is occassionally undefined 2025-04-25 10:49:58 +01:00
Iain Sproat 83f4d4d9f1 chore(server): minor log metadata fix and tidy of .env.example files 2025-04-25 09:42:33 +01:00
Kristaps Fabians Geikins 9a18a6e1c2 feat(server): ProjectCollaborator.workspaceRole (#4598) 2025-04-25 11:02:37 +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
Kristaps Fabians Geikins 4eaf5c2d36 fix(server): not caching serverInfo to redis (#4581) 2025-04-23 17:16:11 +03:00
Kristaps Fabians Geikins e5cad76eca fix(server): not caching serverInfo to redis (#4580)
* fix(server): not caching serverInfo to redis

* clear cache on startup
2025-04-23 17:02:50 +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 89391d92ab feat(server): get workspace seat usage w/o a subscription (#4574)
* feat(server): get workspace seat usage w/o a subscription

* minor cleanup
2025-04-23 15:26:02 +03: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