Commit Graph

53 Commits

Author SHA1 Message Date
andrewwallacespeckle d9e9531d47 fix(fe): workspace members pagination not loading additional pages 2025-06-16 13:28:01 +02:00
Mike 6434fddc4c Fix: Quick fix for inf loading not working on members table (#4866) 2025-06-01 21:56:32 +02:00
Mike 98cf564342 Feat: Expose user email on workspace settings member tables (#4857)
* Feat: Expose user email on workspace settings member tables

* Added permissions check

* Remove fetching items
2025-05-30 18:52:23 +02:00
Mike 3a2564d44c Feat: Add option to hide Speckle branding on embed (#4777) 2025-05-20 15:48:57 +02:00
andrewwallacespeckle 776d9c1df7 Fix invite search 2025-04-22 12:10:36 +01:00
Mike 3e307eb6fd Fix: Missing settings pages in the sidebar until hard refresh (#4520) 2025-04-22 11:21:01 +02:00
andrewwallacespeckle cf2dd84972 Add pagination to Members/Guests 2025-04-21 15:29:51 +01:00
andrewwallacespeckle 6f0fc38ed6 Members fragments 2025-04-21 15:14:27 +01:00
Mike 3c12f2bc45 Feat: Refactor workspace dashboard to improve performance (WIP) (#4500) 2025-04-21 12:13:31 +02:00
Kristaps Fabians Geikins 5f88f562d3 feat: updated various "read/update" settings related permission checks (#4356)
* a bunch more tests

* updated GQL resolvers

* project create checks implemented

* project update/settings related checks in FE

* a bunch of tests

* tests fix

* disable app schema check
2025-04-09 16:13:09 +03:00
andrewwallacespeckle 04a05dde81 Merge branch 'main' into andrew/update-members-table-remove-from-project 2025-04-07 11:10:06 +01:00
Kristaps Fabians Geikins e3d3c1446b feat: enable domain discoverability on workspace creation (#4235)
* frontend changes implemented

* WIP BE

* backend seems to work

* CR fixes
2025-04-07 12:34:45 +03:00
andrewwallacespeckle cc1b3303a2 Merge branch 'main' into andrew/update-members-table-remove-from-project 2025-04-05 16:14:22 +01:00
andrewwallacespeckle bfe74b3133 Tidy fragments. Add project update dialog 2025-04-03 14:18:10 +02:00
Mike 9798c9bee7 Fix: Remove unused query (#4317) 2025-04-03 14:11:00 +02:00
Mike d752bcb274 Feat: Update billing with new design (#4309) 2025-04-02 16:42:19 +02:00
andrewwallacespeckle 8e3ffb1793 Remove duplicate member action tables (#4313) 2025-04-02 15:43:54 +02:00
andrewwallacespeckle a10e4a74c2 fix(fe): Use slug for workspaceDomainPolicyCompliant (#4298) 2025-03-31 16:44:07 +02:00
andrewwallacespeckle 6f75f08fb5 Remove workspace Id from workspaceDomainPolicyCompliant 2025-03-31 12:04:21 +02:00
andrewwallacespeckle 0933e59941 Domain compliance 2025-03-26 22:06:50 +00:00
andrewwallacespeckle 6d1587c4da Merge branch 'main' into andrew/web-2567-update-members-and-guests-settings-pages 2025-03-21 14:22:07 +00:00
Mike 0781a4f58c Feat: New princing table for new plans (#4225) 2025-03-21 15:10:42 +01:00
andrewwallacespeckle bcb83186bd Merge branch 'main' into andrew/web-2567-update-members-and-guests-settings-pages 2025-03-21 13:02:01 +00:00
Mike 8de5094106 Feat: Increase limit for workspace team featching on workspace dashboard and table (#4234) 2025-03-21 10:24:01 +01:00
andrewwallacespeckle 8ce86e856a Work to new structures 2025-03-18 16:59:44 +00:00
andrewwallacespeckle 81b46c6ae0 Initial work 2025-03-18 14:40:36 +00:00
Mike ec435df79d Feat: New navigation (#4179) 2025-03-13 15:23:41 +01:00
Mike a13145332b Feat: Base for new billing settings (#4115) 2025-03-05 18:16:05 +01:00
Mike 7cecffbabf Feat: Deep links on members settings (#4069) 2025-02-27 10:47:18 +01:00
andrewwallacespeckle 91cb011ded feat(fe2): New user onboarding flow (#3932)
* CodeInput. verify-email page

* middleware

* Loading toast

* Countdown only for registration

* Improve middleware

* Fix middleware breaking auth flow

* Remove old notifications

* Remove old onboarding. New segmentation

* Remove skip button

* Block verify email when verified

* useUserEmails composable. Cancel addition

* Move user emails queries

* Fix fragments etc

* redirect updates

* HeaderWithEmptyPage

* Check env before enforcing

* Join workspace

* Updates

* Fix console warnings on login

* Fix register console warnings

* Working cache updates

* Verify secondary email

* Force onboarding off

* EMAIL WIP

* useIsJustRegistered state

* Improve isRequired

* Uneeded change

* Improved slots

* Updates from CR

* CR comments

* Only show message if forced

* Update onboarding middleware

* Update loading bar

* ref > computed to fix onboarding

* Resend tooltip. Better errors

* Add other to form.

* Email changes

* Updates to emails

* Remove force email FF

* Remove FF's

* Hide header on embed

* Update graphql.ts

* Re-add FF

* Update graphql.ts

* GQL Fragments

* Fix build
2025-02-14 10:20:14 +00:00
Mike e798fc4e8a Feat: Request to join workspace (#3871) 2025-01-24 14:05:53 +01:00
Mike d77af226fc Feat: Setting as pages (#3813) 2025-01-20 13:46:32 +01:00
Mike baea53e5ab Disable uploads, project creation and moving when read only (#3744) 2024-12-23 14:40:11 +01:00
Chuck Driesler e312110933 Automate Public Beta (#3472)
* feat(automate): query active user functions

* fix(automate): show automations to non-stream-owners

* feat(automate): associate function with workspace

* fix(automate): split functions page between user and example functions

* fix(automate): ugh

* fix(functions): use correct query type in different places

* fix(automate): workspace functions page

* feat(automate): query specific categories of functions

* fix(automate): checkpoint

* fix(workspaces): successful queries w local env

* fix(automate): createFunctionWithoutVersion

* fix(automate): successful associate function with workspace

* fix(automate): query and return workspaces on functions

* fix(automate): show current function workspace

* fix(automate): query functions in automation create dialog

* fix(automate): audit non-owner automation access

* refactor(automate): logs api can get the projectId from the path

* fix(automate): multiregion gql resolvers

* fix(automate): multiregion event listeners

* fix(automate): drop automationCount

* fix(automate): multiregion run status

* fix(automate): correctness

* fix(automate): successful usage of multiregion results

* fix(automate): actually finish event listeners

* chore(automate): fix tests fix tests

* fix(automate): fix tests but make it multiregion flavor

* fix(automate): logs endpoint

* fix(automate): inject projectid correctly

* fix(automate): drop user-source functions

* fix(automate): owners edit, others can view

* fix(automate): simplify queries, auto workspace association

* chore(automate): appease

* chore(automate): fix function types

* fix(automate): get to workspace functions from empty state

* chore(automate): death to all slugs

* fix(automate): no create automation from function

* fix(automate): hide workspace change, tweak role access

---------

Co-authored-by: Gergő Jedlicska <gergo@jedlicska.com>
2024-11-29 17:33:14 +01:00
andrewwallacespeckle 23d644eb2a fix(fe2): Swap cache for workspaceProjectsUpdated subscription (#3575)
* Remove cache updates. Use new subscription

* Re-add admin projectList cache update

* useLock. Updated naming

* useWorkspaceProjectsUpdatedTracking in Projects
2024-11-29 14:23:18 +00:00
Gergő Jedlicska ec27e394d9 feat(workspaces): add workspace creation state (#3578) 2024-11-28 20:50:53 +01:00
Mike 32fed39fb1 Feat: Update billing summary/add pricing table (#3506) 2024-11-18 14:47:48 +01:00
Mike 423350eb64 Feat: Add cancel billing sessions, billing alerts, assume no plan is trial plan (#3467) 2024-11-16 20:33:03 +01:00
Mike 5260111f8c Feat: Add billing summary (#3456)
* Feat: Add billing summary

* Update linting

* Fix workspacePricingPlanInformation include info object

* Fix typing

* Cleanup

* Update seat prices

* Fix casing

* Remove old billing logic
2024-11-08 11:28:23 +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
Chuck Driesler bbd5146e5a fix(workspaces): add pagination to workspace team members (#2644)
* fix(workspaces): a suggestion of paginated teams

* fix(workspaces): workspace team pagination (?)

* fix(workspaces): pagination based on acl createdAt

* fix(workspaces): fix some roles-related tests

* fix(workspaces): improve query and tests

* fix(workspaces): collaborators query without incorrect groupBy

* fix(workspaces): add default values to migration

* Fixed queries and fragments

* Merged main

* Remove comment

* chore(workspaces): update WorkspaceCollaboratorCollection mocks

* chore(workspaces): fix role test

* chore(workspaces); ope

* fix(workspaces): move workspace acl timestamps to separate table

* Merge?

* fix(workspaces) drop that table

* fix(workspaces): cursor

* fix(workspaceInvites): undo merge borkage

* fix(workspaces): rework workspace member pagination

* fix(workspaces): fix test

* fix(workspaces): test test

* fix(workspaces): literally garbage

---------

Co-authored-by: Mike Tasset <mike.tasset@gmail.com>
Co-authored-by: Gergő Jedlicska <gergo@jedlicska.com>
2024-08-29 21:17:37 +02:00
Mike 91960b34f3 Feat: Add billing tab to workspace settings (#2817) 2024-08-29 18:41:57 +02:00
Mike 289a8fbb54 Fix: Align security styling with design (#2777) 2024-08-28 13:26:49 +02:00
Gergő Jedlicska 08e941f8af Poor man's SSO (#2641)
* Implemented workspace general page

* Added notifications to user input

* Allowed non-admins to view but not edit

* Added redirect to homeroute

* Fixed validation

* Squashed commit of the following:

commit 7bf14ab8af0f76b4c9d0aa87fc08085af7c34959
Author: Chuck Driesler <chuck@speckle.systems>
Date:   Tue Aug 6 19:40:50 2024 +0200

    mob next [ci-skip] [ci skip] [skip ci]

    lastFile:packages/server/modules/workspacesCore/migrations/20240806160740_workspace_domains.ts

commit 8aa3fb0cb052c10eeeb83bf9874ae0d1c065e480
Author: Alessandro Magionami <alessandro.magionami@gmail.com>
Date:   Tue Aug 6 18:54:15 2024 +0200

    mob next [ci-skip] [ci skip] [skip ci]

    lastFile:packages/server/modules/core/domain/userEmails/operations.ts

commit 66dfd0cf6c15a789c8f96a65a3168323e83a7b9e
Author: Chuck Driesler <chuck@speckle.systems>
Date:   Tue Aug 6 18:30:22 2024 +0200

    mob next [ci-skip] [ci skip] [skip ci]

    lastFile:packages/server/modules/workspacesCore/domain/types.ts

Co-authored-by: Alessandro Magionami <alessandro.magionami@gmail.com>

* Move General to workspaces folder

* feat(workspaces): inputs on security section

* feat(workspaces): add domain to workspace mutation

* chore(workspaces): add blocked domains list

* fix(workspaces): modals with buttons

* feat(workspaceDomains): delete domain

* fix(workspaces): use  mutation

* fix(workspaces): present user verified domains as options

* Moved sidebar menu to a composable

* Added coming soon tag back

* feat(workspaces): create domains resolver for workspace

* chore(workspaces): fix tests

* chore(workspaces): fix types

* chore(workspaces): fix linter

* fix(workspaces): do some delete I think

* chore(workspaces): add domainBasedMembershipProtectionEnabled field to workspace

* chore(workspaces): improve validation for email domain

* fix(workspace): query and do the thing

* chore(workspaces): add graphql schema for domainBasedMembershipProtection

* chore(workspaces): lint and test failures

* fix(workspaces): test issues w new field

* feat(workspaces): add discoverability flag

* chore(workspaces): they made me do it

* feat(workspaces): enable toggling domain protection

* feat(workspaces): add discoverability toggle to workspace settings

* feat(workspace): auto enable discoverability on first domain registration

* feat(workspace): discoverability toggle fixes

* fix(eventBus): fix tests

* feat(workspaces): user discoverable workspaces (#2620)

* feat(workspaces): it works just trust me

* fix(workspaces): don't worry about it

* fix(workspaces); happy path success

* fix(workspaces): almost there

* fix(workspaces): successful tests!

* fix(workspaces): we have DISCOVERED (#2621)

* Fixed linting issue

* Updated query

* Updated validation rules

* Updated validation rules

* Fix unsaved file with type export

* Addressed PR comments

* Updated cache

* Updated item classes, add fragment back

* Gergo/web 1574 join workspaces via discovery (#2623)

* chore(useremails): add find verified emails by user function

* chore(workspace): table helper for workspace domains

* chore(workspace): get workspace with domains function

* chore(workspace): test get workspace with domains function

* feat(workspace): restrict workspace membership when updating workspace role

* chore(workspaces): fix types

* feat(workspaces): WIP join

* feat(workspaces): join button makes u join

* chore(useremails): fix type for find verified emails function

* feat(workspaces): join

* feat(workspace): prevent inviting user without email matching domain

* chore(workspaces): fix linter

* fix(workspaces): invoke join (gergo wrote this)

* fuck

* fix(workspaces): properly get discoverable workspaces

* fix(workspaces): test

---------

Co-authored-by: Gergő Jedlicska <gergo@jedlicska.com>
Co-authored-by: Chuck Driesler <chuck@speckle.systems>

* fix(workspaces): some query stuff

* fix(workspaces): mutate cache instead of refetch

* fix(workspaces): more adjustments to gql query and fragment structure

* fix(workspaces): queries, style, structure

* fix(workspaces): match discoverability with current styles

* chore(workspaces): lint lint lint

* fix(workspaces): got it twisted

* chore(workspaces): fix test

* fix(workspaces): route to joined workspace on join

---------

Co-authored-by: Mike Tasset <mike.tasset@gmail.com>
Co-authored-by: Chuck Driesler <chuck@speckle.systems>
Co-authored-by: Alessandro Magionami <alessandro.magionami@gmail.com>
2024-08-26 13:33:16 +02:00
Mike 1bdf7f78bb Fix: Add permissions checks for settings (#2748) 2024-08-23 19:25:05 +02:00
Kristaps Fabians Geikins 0b417c9ba0 feat(fe2): workspace invite cancel/resend + Invite dialog CTA in workspace home (#2691)
* feat(server): resend invite mutation

* invite resend/cancel from FE

* functional invite cta on workspace page
2024-08-20 10:17:42 +03:00
Mike e8a46f1d0b Feat: Add workspace projects page to settings (#2666) 2024-08-19 14:51:50 +02:00
Mike 93137cae3b Feat: Added guest table to workspace member settings (#2656) 2024-08-19 14:19:26 +02:00
Mike 838d875b29 Feat: Add general workspace settings page (#2635) 2024-08-13 12:59:10 +02:00
Kristaps Fabians Geikins 4dae1569cd feat(fe2): invite + list workspace invites (#2629)
* list invites table

* invites list works

* update last reminded date on resend

* fix FE

* WIP invitedialog + updated debounced utility

* invite create works

* exclude users correctly

* more adjustments

* minor cleanup

* using workspace invite server role

* test fix

* fixed multiple root eslint issues

* minor adjustments
2024-08-12 11:30:01 +03:00