Commit Graph

70 Commits

Author SHA1 Message Date
Gergő Jedlicska bf80347abf gergo/web 2664 workspace backend powered metrics (#3985)
* feat(workspaces): delete workspace emit event

* feat(workspaces): move workspace group metrics to the backend

* Removed FE mixpanel group update

* Remove fragment

* test(gatekeeper): add unittest to new gatekeeper service

---------

Co-authored-by: Mike Tasset <mike.tasset@gmail.com>
2025-02-17 09:50:16 +01:00
Mike 46cf4e44eb Add mixpane levents (#3916) 2025-01-30 16:50:02 +01:00
Mike 60a05d3626 Feat: Add join requests to sidebar (#3894) 2025-01-27 09:33:24 +01: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
Kristaps Fabians Geikins 489b8f547d fix(fe2): SSR memory leak caused by vue apollo (#3790)
* fix(fe2): SSR memory leak caused by vue apollo

* linting fixes
2025-01-13 10:13:59 +02:00
Kristaps Fabians Geikins adae12469b feat(fe2): remove blob storage constraint disclaimer (#3764) 2025-01-06 15:27:57 +02:00
Kristaps Fabians Geikins 4e615fdc21 Revert "feat(fe2): remove blob storage constraint disclaimer"
This reverts commit 360208cacf.
2025-01-06 15:01:46 +02:00
Kristaps Fabians Geikins 360208cacf feat(fe2): remove blob storage constraint disclaimer 2025-01-06 15:00:27 +02:00
andrewwallacespeckle be898dbe6b feat(fe2): New workspace page layout (#3716)
* prevent recursive layout rendering with named slots

* Workspace sidebar desktop

* Responsiveness

* Billing

* Edit icons

* Fragmentation

* Spacing updates

* Fragmentation

* Mobile updates

* Full notification for non-trial

* Readd workspace role

* New icon. Invite dialog

* Avatar Group count

* Add select-none

* Updates

* Updates

* Fix build

* New layout

* Mobile sidebar fix

* BillingAlert update logic

* Updates from CR

* New empty state

* Admin/Guest checks

* Changes from Benjamin

* Changes from michal

* Mobile changes

* Remove fullstop

* Update propname. Optional buttonCopy

* Improved project card grid

* Workspace page prop

---------

Co-authored-by: Mike Tasset <mike.tasset@gmail.com>
2024-12-20 13:31:39 +00:00
Mike 67f395eeff Feat: Upgrade Mixpanel browser and enable session replay (#3725) 2024-12-20 09:30:23 +01:00
Mike d3a10e4bec Feat: Add seats and estimated bill (#3684) 2024-12-18 15:54:40 +01:00
Mike ee3ac48579 Feat: Change default workspace avatars (#3670) 2024-12-11 10:11:21 +01:00
Mike abdd8e3a50 Fix: Hide disclaimer if FF is enabled (#3668) 2024-12-10 17:06:12 +01:00
Mike 4777093a16 Fix: Improve creation wizard state management (#3666) 2024-12-10 16:11:55 +01:00
Mike 384510f56c Fix: Only set once for hasSpeckleMembers (#3646) 2024-12-05 16:30:45 +01:00
Mike abaf66c3e3 Feat: Update creation event, add more properties to workspace (#3637) 2024-12-05 15:01:49 +01:00
Mike bafbe97723 Feat: Enable workspace wizard (#3634) 2024-12-05 10:16:48 +01:00
Mike 20c36d4514 Feat: Added invite event (#3631) 2024-12-04 17:10:07 +01:00
Mike 8f4593e606 Feat: Workspace creation wizard (#3625) 2024-12-04 14:19:52 +01:00
Kristaps Fabians Geikins c6b8cbc28f feat(fe2): extra confirmation for setting default region (#3609)
* feat(fe2): extra confirmation for setting default region

* formatting fix

* fixes for couple of unrelated issues i found
2024-12-03 14:25:54 +02:00
Kristaps Fabians Geikins 16897b86cb feat(fe2): show custom data residency restriction disclaimer (#3605)
* move to workspace disclaimer

* disclaimer added everywhere

* cleanup

* copy update

* Update copy

---------

Co-authored-by: Benjamin Ottensten <benjamin.ottensten@gmail.com>
2024-12-03 11:58:14 +01:00
Mike 498fea4292 Feat: disable settings access if active SSO session is required (#3589) 2024-12-02 14:50:33 +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
andrewwallacespeckle b4ecb30789 fix(fe2): Update delete sso provider composable (#3568)
* Update delete composable. Check role in Wrapper

* Use CommonCard

* Tooltip for non-admin users
2024-11-27 14:33:26 +00:00
andrewwallacespeckle 7a652fd780 feat(fe2): Update isSsoAuthenticated composable (#3566)
* Update isSsoAuthenticated composable

* remove session id

* Update graphql.ts
2024-11-27 14:19:25 +00:00
Kristaps Fabians Geikins 1800dbbdbd feat(server): improved subscription testing DX + tests for common subs + new subs (#3554)
* userProjectsUpdated.added test

* multi region support

* userStreamAdded

* commit subs tested

* fix for proj workspace assignment

* undo commitHelper main changes

* disable all ffs mode

* createTestWorkspace support when workspaces arent enabled

* project create fix

* workspace projects updated subscription

* WIP new workspace sub

* updated workspaceCreated

* updated workspaceUpdated

* BE for workspace updated sub

* workspace updated sub

* ts err fix
2024-11-27 15:41:04 +02:00
andrewwallacespeckle aac3aa7e00 Update sso.ts (#3541) 2024-11-21 15:37:55 +00:00
andrewwallacespeckle d3931f1855 feat(fe2): Frontend SSO Integration (#3464)
* Readd work from old branch

* Improved Login.vue

* Replace watch with onResult

* Server: Error improvement

* FE Middleware

* Update style

* Delete Sso. Mixpanel events

* Updates

* Improved loading state

* Invites. Register sso page

* Middleware improvements. Session error no logout

* Changes from deisgns

* Swap button to LayoutMenu

* Improve middleware

* Remove typo

* Fix errormessage

* Remove edit functionality

* New composable file for sso

* Improved names for composables. Tidyups

* Reactive errors

* Reorder Login.vue

* Improved Typeguard

* Enum

* Comments from Mike

* Add error toast

* Remove FormButton from LoginButtonBase

* Use linkComponent prop

* Move workspace select to new component

* Fragmentation

* Fix loading useFetch

* use WorkspaceAvatar

* Feature flag sso button

* Update fragment name

* Skip middleware during auth flow

* Add rules to Workspace Selector

* Reactive useWorkspacePublicSsoCheck

* AuthRegisterNewsletter types

* v-bind on Select

* Fragment WrapperSecurity

* Remove useForm from Form.vue

* Reactive values in composables

* Prevent infinite loading when no invite found

* useWorkspaceSsoValidation maybeRef

* Added comment to requireSsoEnabled

* Bugfix

* Update Button.vue

* Fix form

* Update valid model middleware

* Update LoginButtonBase.vue

* NewsletterConset ref

* use setFieldValue

* Update Login.vue

* Swap mayberef to ref

* Comments from PR

* Changes from call with Fabs

* Fix session-error bug

* Fix circleci

* Small fix to index
2024-11-21 12:50:57 +00:00
Mike 8c8f3d8a90 Added billig mixpanel events (#3521) 2024-11-20 09:05:42 +01:00
Mike 065644b31d Fix: Remove remaining billing query (#3517)
* Fix: Remove remaining billing query

* fix types
2024-11-19 18:42:18 +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
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
andrewwallacespeckle d48b935722 feat(fe2): Add change role dialog to guests table (#3375)
* Add change role dialog to guests table

* PR comments

* Disabled items based on role

* Fix build
2024-10-22 13:47:18 +01:00
andrewwallacespeckle 922f6a2b5b fix(fe2): Add Validation for Slugs (#3255)
* Don't close dialog on invalid slug

* Custom error message on textInput

* Query backend to validate slug

* Updated loading spinner

* Update to error in Create Dialog

* Add to edit. Debounce input

* GQL

* Update CreateDialog.vue

* Update Edit Dialog

* Fix typo

* Update reset to avoid error on submit

* Temporary replacement until we swap to WebFlow API

* Update Icon.vue

* Fix build!
2024-10-17 14:41:31 +01:00
andrewwallacespeckle 0c3ce07146 feat(fe2): Show model and version count in move projects to workspace dialog (#3240)
* Show model/version count in moveprojectsdialog. Update copy

* Add truncate

* Add truncate

* Change copy and text styling

* Add model and version count to fragment

* Fix gql

---------

Co-authored-by: Benjamin Ottensten <benjamin.ottensten@gmail.com>
2024-10-11 14:53:03 +01:00
andrewwallacespeckle 95b7ec51d1 fix(fe2): Use workspace slug for navigate-on-success and copyWorkspaceLink (#3236)
* Fix navigate on success on workspace creations

* Update Workspace ID to Slugs

* Navigate to workspace home on deletion of workspace project

* Revert "Navigate to workspace home on deletion of workspace project"

This reverts commit fab0d3625a4d2842245e817343e2631d332ea39e.
2024-10-10 16:40:28 +01:00
Mike 2005067a6a Feat: Add role descriptions to select inputs (#3217) 2024-10-10 15:26:14 +02:00
Kristaps Fabians Geikins 7d9bb3c4ea fix: single workspace admin cant accept own invite (#3197) 2024-10-08 12:44:17 +03:00
andrewwallacespeckle ebef771c3a refactor(fe2): Update queries to use workspaceBySlug (#3177)
* Use workspaceBySlug

* workspace invite support slug

* fix workspace invite email link

* added tests

* Update workspaceInvite query to use new option

* useSlug directly in query

---------

Co-authored-by: Fabis <fabis94@live.com>
2024-10-02 13:01:38 +01:00
Mike 378373a575 Feat: Added modal for moving projects into workspace (#3124) 2024-10-02 13:14:20 +02:00
andrewwallacespeckle 677b8202fa feat(fe2): workspace slug / short id support (#3088)
* Add edit slug dialog

* Design changes to edit button

* Slug url implementation

* Disable slug edit if non admin

* Preloading queries

* Use preloaded workspace id

* Changes pre PR

* Removed unneeded import

* feat(workspaces): migrate slug to match the workspaceId

* WIP Comments

* Add watch. Use Fragment

* Tidy create

* Tidy ups

* Tidy up Edit Dialog

* Remove comment

* Update text - changing slug does not break embeds

* Updates from CR

* Reorder ProjectList

* Feedback from Michal

---------

Co-authored-by: Gergő Jedlicska <gergo@jedlicska.com>
2024-10-01 16:23:54 +01:00
Mike ada7867793 Fix: Only update workspace in mixpanel on client-side (#3136) 2024-09-26 14:49:00 +02:00
Mike 2fb25d1379 Fix: Change add_group to people.set for workspaces (#2999) 2024-09-16 14:34:30 +02:00
Mike d2ae12c60f Feat: Added server_id to workspace mixpanel profile (#2937)
* Added server_id to workspace profile

* Change synta

* Check if billng exists before adding it

* Simplify code

* Only add server_id if client
2024-09-11 11:00:01 +02:00
Mike d88507566b Feat: Add Workspace Joined event (#2936)
* Feat: Add Workspace Joined event

* Feat: Add Workspace Joined event

* Remove event property

* Remove event property
2024-09-11 10:58:54 +02:00
Mike 7c00a1de80 Feat: Mixpanel workspace groups add properties (#2904) 2024-09-10 14:18:29 +02:00
andrewwallacespeckle dd575c0710 fix(fe2): Update cache after removing workspace members (#2890)
* Use modifyObjectField

* evict specific collaborator only

* Remove modifyObjectField

* Decrement team count, Evict filtered queries

* Use createUpdatedValue
2024-09-05 16:23:33 +01:00