Commit Graph

63 Commits

Author SHA1 Message Date
Kristaps Fabians Geikins b3e216a1ef feat(fe2): improved auth error logging (#5089) 2025-07-16 17:04:37 +03:00
Mike c6e0239ccf Fix: Remove clearToken function (#5087) 2025-07-16 14:33:59 +02:00
Mike 5ae27ca5e1 Fix: Dont use cookie for auth token (#5086) 2025-07-16 14:17:42 +02:00
Mike 394b33d7d7 Fix: Rename embed token (#5084) 2025-07-16 10:39:59 +02:00
Mike ed875f0134 Feat: Enable embedding private/workspace projects (#5047) 2025-07-15 13:25:12 +02:00
Mike d8c0528120 Fix: Always use primary email for domain verification (#4909) 2025-06-10 11:03:57 +02:00
andrewwallacespeckle 19f7d8acd1 fix(fe): fix signup error parsing to display server messages 2025-05-30 13:27:55 +02:00
Kristaps Fabians Geikins 596312ab0e feat(frontend): personal project limit disclaimers & prompts (#4822)
* ProjectsAdd wrapper

* WorkspaceMoveProject wrapper added

* move wrapper finalized

* passing through location

* more cleanup

* model add wrapper

* permissions cleanup

* add invite wrapper

* vue-tippy bugfix

* ViewerLimitsDialog prep

* upgrade limit alert prep

* limit alerts

* movemanager fix

* new add flow

* slug update fix

* add model flow

* invites?

* some extra fixes

* move unmount fix?

* more fixes

* vue-tsc update

* style: remove h-32 for smaller screens

* vue-tsc parser fix

* prep for new viewer limits dialog

* updated viewer dialogs

* comment variant cleanup

* CR comments

---------

Co-authored-by: michalspeckle <michal@speckle.systems>
2025-05-28 12:12:18 +03:00
Mike ce03abb602 Feat: Nudge users to use workemail (#4811) 2025-05-26 14:39:32 +02: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
Mike a8ad4eeba0 Chore: Remove all noPersonalEmails related logic (#4726) 2025-05-13 14:42:08 +02:00
andrewwallacespeckle 0730c391da feat(fe): shuffle onboarding question options 2025-05-08 13:44:22 +02:00
Mike f44cd8560e Fix: Cleanup unused onboarding FE code (#4645) 2025-05-06 17:04:10 +02:00
Mike 17efb42b7a Feat: Set onboarding questions to user profile (#4637) 2025-04-30 22:18:13 +02:00
Mike 7866f43044 Feat: Include book a demo step when creating an account (#4621) 2025-04-30 12:58:36 +02:00
Mike f09e6a24bf Fix: revert redirect update legacy projects check (#4565) 2025-04-23 10:30:28 +02:00
Mike 6cfcb529de Fix: active projects (#4557)
* Fix: active projects

* fix

* fix
2025-04-23 08:56:37 +02:00
Mike 0b0fa2f24f Fix: project to move query (#4529) 2025-04-22 14:03:58 +02:00
Mike 6271f62c3e Fix: Dont show legacy projects in workspace switcher if there are none, added middleware (#4400) 2025-04-14 12:20:42 +02:00
Mike 1603c7ef10 Fix: Use correct count for projects to move (#4378) 2025-04-10 22:38:44 +02:00
Mike 2cd63c571b Fix: Dashboard redirects (#4371) 2025-04-10 20:18:26 +02: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
Gergő Jedlicska f501cc4ad5 gergo/web 2888 workspace project cancreate (#4294)
* WIP can create project

* WIP can create project more work

* complete body, stencil tests

* feat(shared): move workspace plan types into shared

* test progress wip

* feat(shared): add more logic to canCreateWorkspaceProject

* a few more tests, as a treat

* chore(authz): round out tests

* fixed loaders, new GQL checks, dataLoaders in auth loaders

* fix(authz): get workspace limits loader

* chore(authz): update loaders

* frontend fixed up to snuff

* fix(authz): fix workspace plans for tests

* fix(authz): classic

* fix(authz): 0 counts

---------

Co-authored-by: Chuck Driesler <chuck@speckle.systems>
Co-authored-by: Kristaps Fabians Geikins <fabis94@live.com>
2025-04-01 16:38:20 +01:00
Chuck Driesler 3d6fff31a3 fix(authz): workspace id loading (#4290) 2025-03-28 23:09:31 +00:00
Kristaps Fabians Geikins c54d15fd93 feat: authz frontend foundation + reworked errors (#4275)
* feat: authz frontend foundation + reworked errors

* lint fixes

* test fix

* fixed noCache() util
2025-03-27 16:13:35 +02:00
Mike ec435df79d Feat: New navigation (#4179) 2025-03-13 15:23:41 +01:00
andrewwallacespeckle 4699c99c8d Update labels of Onboarding Plans to align with marketing site (#4138) 2025-03-07 15:50:33 +00:00
andrewwallacespeckle fc8f15e012 Changes from call with Fabs and Mike (#4108) 2025-03-04 13:55:16 +00:00
andrewwallacespeckle 876a0ee217 feat(fe2): Create/Join Workspace as part of signup flow (#3997)
* New middleware. New page structure

* Changes from designs

* New workspace creation flow

* FF Hide SSO

* No middleware with no FF

* When to show join

* Update Join description text based on count

* Use new FF

* Major changes

* Update join text

* New FF in middleware

* Discoverable Banners

* Fix cache warning

* Undo merge conflict

* Revert merge conflicts

* Remove unneeded change

* Rename

* Revert merge issues

* Fix error

* Remove FF

* Check workspaces is enabled

* Use FF to show old onboarding flow

* Remove unused FF

* Fixes from PR

* Remove Region & SSO

* Revert workspace wizard changes

* WorkspaceDiscoverableWorkspacesCard

* Remove old code that was hidden with FF

* Fix

* Changes from call with Mike

* Fix typo

* Fix typo

* Update JoinPage.vue

---------

Co-authored-by: Mike Tasset <mike.tasset@gmail.com>
2025-03-03 13:05:07 +00:00
andrewwallacespeckle 8c69f22e27 feat: Update user tags in Mailchimp when user completes onboarding questions (#4000)
* Add new updateMailchimpMemberTags function and use it in FE

* Pass tag data from FE

* Plan > Use case

* move onboarding types to shared package

* Check newsletter consent

* Changes from PR

* GQL
2025-02-27 11:29:00 +00:00
Mike 2ecb98146a Feat: prevent non work emails (#3993) 2025-02-26 10:55:02 +01:00
Iain Sproat ec98f8d4cb chore(fe1): remove deprecated frontend (#3998)
---------

Co-authored-by: Kristaps Fabians Geikins <fabis94@live.com>
2025-02-18 12:36:52 +00:00
andrewwallacespeckle eb7aa64c10 Still go through middleware when no FF for force onboarding (#4012) 2025-02-18 10:00:44 +00: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 a88e55db1d Fix: Align forgot password screens (#3895) 2025-01-24 22:11:36 +01: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
Chuck Driesler 52bb1116ed SSO (#3376)
* feat(workspaces): add workspace sso feature flag

* feat(workspaceSso): wip validate sso

* feat(workspaces): validate and add sso provider to the workspace with user sso sessions

* feat(workspaces): validate and add sso provider to the workspace with user sso sessions

* WIP

* fix(sso): restructure to handle all branches at end of flow

* fix(sso): add and validate emails used for sso

* fix(sso): park progress

* chore(workspaces): review sso login/valdate

* fix(sso): adjust validate url

* chore(sso): auth header puzzle

* fix(sso): happy-path config

* chore(gql): gqlgen

* fix(sso): almost almost

* fix(sso): auth endpoint

* a lil more terse

* fix(sso): light at the end of the tunnel

* fix(sso): improve catch block error messages

* fix(sso): session lifespan => validUntil

* fix(sso): I think we've got it

* feat(sso): limited workspace values for public sso login

* fix(sso): use factory functions

* fix(sso): til decrypt is single-use

* fix(sso): correct usage of access codes

* fix(sso): use finalize middleware in all routes

* chore(sso): cheeky tweak

* fix(sso): move some types around

* fix(sso): stencil final shape I'm sleepy

* fix(sso): more factories more factories

* fix(sso): on to final boss of factories

* fix(sso): needs a haircut but she works

* fix(sso): init rest w function, not side-effects

* fix(sso): /authn => /sso

* chore(sso): errors

* chore(sso): test test test

* chore(sso): test all the corners

---------

Co-authored-by: Gergő Jedlicska <gergo@jedlicska.com>
Co-authored-by: Mike Tasset <mike.tasset@gmail.com>
2024-10-31 13:20:53 +01:00
Kristaps Fabians Geikins 2e272b321e feat(fe2): fix mp.reset() usage to avoid too many distinct ids + utm tracking not working on homepage (#2851)
* reset() fix

* fix(fe2): utm tracking on homepage route
2024-09-03 10:49:27 +03:00
Kristaps Fabians Geikins 248511070a fix(fe2): not firing workspace invites queries if FF is off (#2685)
* fix(fe2): not firing workspace invites queries if FF is off

* added .value to ref
2024-08-19 14:18:25 +03:00
Kristaps Fabians Geikins 2bb7802fb9 feat: accept & decline workspace invite as a registered member (#2675)
* abstract base invite banner

* WIP banner actions

* WIP modify obj

* minor fix

* invite accept/decline cache mutations

* banner accept/decline basically works

* new block for accepting workspace invite

* WIP wrong account flow

* login/registration block changes

* add email invite related changes

* add new email FE

* add email w/ invite works

* final adjustments

* minor fixes

* addressing cr comments

* no-FF support

* extra workspace ff checks
2024-08-19 13:01:25 +03:00
Kristaps Fabians Geikins ee5ae8af62 fix(fe2): accept invite before onboarding after sign up (#2491)
* explicitly ordering global middlewares

* various subscription fixes & WIP project invite middleware

* SSR invite accept & toast notifs seem to work

* backend support for mixpanel

* mixpanel be logic -> shared

* minor fix

* finissh

* lint fix

* minor comment adjustments

* better adblock handling
2024-07-11 11:45:11 +03:00
Kristaps Fabians Geikins 83d8035dc2 chore: upgrade to eslint 9 (#2348)
* root + server

* frontend

* frontend-2

* dui3

* dui3

* tailwind theme

* ui-components

* preview service

* viewer

* viewer-sandbox

* fileimport-service

* webhook service

* objectloader

* shared

* ui-components-nuxt

* WIP full config

* WIP full linter

* eslint projectwide util

* minor fix

* removing redundant ci

* clean up test errors

* fixed prettier formatting

* CI improvements

* TSC lint fix

* 'buildBatch' needs to be async since some batch types (like Text) require it. Removed a disabled liniting rule from ObjLoader

* removed unnecessary void

---------

Co-authored-by: AlexandruPopovici <alexandrupopoviciioan@gmail.com>
2024-06-12 14:38:02 +03:00
Kristaps Fabians Geikins 73abba06cf feat(fe2): pagination for various automate UIs (#2324)
* WIP infinite load helper

* finished automations pagination

* runs pagination working

* fn pagination

* minor cleanup

* subscription cache mutation fixes

* filtered cache update fix

* minor changes
2024-06-05 12:18:13 +03:00
andrewwallacespeckle 19a48f7dff feat(fe2): add survicate nps survey (#2154)
* Initial Plugin

* Add survey id. Working - with errors

* Check Onboarding cookie

* Removing existing feedback request

* Working Survicate for testing

* Remove old feedback Banner/Dialog

* Update env

* feat(server): projects query optimization

* added version count resolution

* PR Comments

* Fix brittle date

* Add client suffix

* Changes from call with Fabians

* Final changes

* Skip initialization if the survicateWorkspaceKey is empty or undefined

---------

Co-authored-by: Kristaps Fabians Geikins <fabis94@live.com>
2024-03-27 14:26:34 +00:00
Kristaps Fabians Geikins 15b7bf3e53 chore(fe2): datadog user identification setup 2024-03-18 14:33:25 +02:00
Kristaps Fabians Geikins 6af6c656a4 feat(fe2): app authorization workflow redesign [WBX-217] (#2044)
* WIP

* new permissions table

* permissions grouped

* updated scope descriptions

* more scope copy adjustments

* allow auth error handling

* manually closable toast notification

* fixed mentions rendering

* error view

* not you? feature

* cleanup

* minor styling changes

* WIP table

* finished authorized apps table

* minor cleanup

* cleaning up comment

* testing changes
2024-02-23 16:50:07 +02:00
Kristaps Fabians Geikins dd7409dcb2 feat(fe2): implementing various RUM tools for trialing (#2066)
* basic raygun setup

* testing seq logging

* minor fixes

* more accurate user identification

* logrocket adjustments

* speedcurve seems to work?

* added debugbear

* minor cleanup

* chore(helm chart): adds new web app analytics ids/keys to fe2 env vars
- assumes none are secrets

* Quote all secrets to prevent interpretation as digits

---------

Co-authored-by: Iain Sproat <68657+iainsproat@users.noreply.github.com>
2024-02-22 10:51:13 +02:00
Kristaps Fabians Geikins 53b62076d0 feat: extra mp properties to troubleshoot odd events [WBX-294] (#2068)
* fix(fe2): remove mp Sign Up track, rely on the server to do this

* adding server version
2024-02-21 19:13:00 +02:00
Kristaps Fabians Geikins 0a63afb6aa feat: various observability improvements (#2027)
* feat(server): adding userId to req logs

* feat(server): adding userId to gql logs

* feat(fe2): adding userId to logger calls

* feat(fe2): more userId logging additions

* even more thorough logging in FE2

* more adjustments

* add country to fe2 logs

* added prop to help distinguish gql req time logs

* get initial SSR req id in CSR logs

* improved 'fetch failed' error

* better rate limit error message

* minor improvements
2024-02-09 13:56:13 +02:00
Kristaps Fabians Geikins 86b535d751 chore(fe2): project page load speed optimization (#1974)
* merging queries for faster load

* preload plugin

* latest threads/models query optimization
2024-01-18 11:00:48 +02:00