Gergő Jedlicska
72ecb9197b
feat(gatekeeper): intoduce the enterprise plan ( #4882 )
...
* feat(gatekeeper): intoduce the enterprise plan
* chore(server): remove more "magic strings"
* test(shared): fix plan tests with enterprise case
* Small change to format plan name
---------
Co-authored-by: Mike Tasset <mike.tasset@gmail.com >
2025-06-05 11:07:59 +02:00
Daniel Gak Anagrov
460245a71b
fix(versions): object history hidden when quering by project ( #4884 )
2025-06-04 10:44:08 +02:00
Daniel Gak Anagrov
23b61769b7
feat(fileupload): added eventBus and mixpanel monitoring
2025-06-02 08:22:20 +02:00
Gergő Jedlicska
8f37710c9e
feat(workspaces): expose the can read memeber email policy ( #4863 )
2025-05-30 17:07:07 +02:00
Chuck Driesler
0eb8d1f352
feat(workspaces): add workspace level default seat property ( #4851 )
...
* feat(workspaces): default workspace seat field
* chore(workspaces): add tests for default seat type
2025-05-30 12:30:20 +01:00
Gergő Jedlicska
c76ed87580
feat(workspaces): allow reading emails of invited users ( #4828 )
...
* feat(workspaces): allow reading emails of invited users
* feat(workspaces): expose workspace member email in workspace team query
to ws admins
* feat(workspaces): add email to join requests view for admins
* chore(workspaces): fix join request type
2025-05-30 11:01:06 +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
Iain Sproat
1349ea714e
fix(server): ensure object IDs are like MD5 hashes; 32 character hexadecimal ( #4392 )
2025-05-28 08:43:31 +01:00
Gergő Jedlicska
2e86a723c6
feat(fileimport-service): add next gen file importer ( #4697 )
...
* feat(fileimport-service): add next gen file importer
* feat(fileimports): integrate server and fileimporter
* chore(dui3): remove leftover artifacts
* fix(server): test typing fixes
* fix(fileimports): test and pr comment fixes
* feat(fileimports: moare test fixes
* fix(fileimports): tests and yarn dedupe
2025-05-23 10:27:00 +02:00
Chuck Driesler
780d001a1e
feat(embed): expose embed feature access at project level ( #4796 )
...
* feat(embed): expose embed feature access at project level
* fix(embeds): use switch
2025-05-22 12:22:06 +01:00
Chuck Driesler
0f5c22329b
Chuck/web 3465 auto join discoverable workspace setting ( #4791 )
...
* feat(workspaces): enable toggle for auto-join discoverable workspaces
* fix(workspaces): include auto-join flag on LimitedWorkspace
* chore(workspaces): gqlgen
2025-05-22 10:11:05 +01:00
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