Commit Graph

266 Commits

Author SHA1 Message Date
Alessandro Magionami a0224e2f40 Alessandro/web 1660 workspace cost items subtotal and currency (#2793)
* chore(workspaces): workspace cost schema

* chore(workspaces): test helper for workspace cost

* feat(workspaces): workspace billing cost

* fix(workspaces): fix onProjectCreated failing for the project creator if the creator is a member

* refactor(workspaces): change workspace cost calculation to a simpler query

* test(workspaceCost): fix costing logic and tests

* fix(workspaceTests): project emmiter needs owner now

---------

Co-authored-by: Gergő Jedlicska <gergo@jedlicska.com>
2024-08-29 13:45:04 +02:00
Gergő Jedlicska 32919c89da gergo/web 1746 add resolver for workspace domain policy compliance per user (#2797)
* fix(users): verified should be a public limited user field

* feat(workspaceSecurity): update security tab copy

* feat(workspaces): add limited user domain policy compliance check
2024-08-29 11:11:08 +02:00
Mike 00db9e2a9c Feat: Add link to workspace on project (#2804) 2024-08-29 11:01:01 +02:00
Mike afd90957a8 Added FE tracking events (#2798) 2024-08-28 21:06:09 +02:00
Mike a8c08ac2f8 Fix: Fix permissions for menu items (#2791) 2024-08-28 16:57:42 +02:00
Mike 289a8fbb54 Fix: Align security styling with design (#2777) 2024-08-28 13:26:49 +02:00
Mike 15d7d358a8 Fix: Only shows 'general' workspace settings for guests (#2781) 2024-08-28 10:59:20 +02:00
Mike bebc4b922e Feat: Add links to workspace on project cards (#2773) 2024-08-27 18:24:51 +02:00
Alessandro Magionami 17aae1bd97 Merge pull request #2762 from specklesystems/alessandro/web-1684-workspace-guests-can-see-all-projects-in-the-workspace
Alessandro/web 1684 workspace guests can see all projects in the workspace
2024-08-27 15:05:13 +02:00
andrewwallacespeckle 2181130a75 Add 2024 specklecon banners (#2765) 2024-08-27 12:44:33 +01:00
Alessandro Magionami d116f935d9 chore(webhooks): test isolation 2024-08-27 11:05:38 +02:00
Mike 01c9fb4e55 Feat: Workspace creation wizard should allow for optional logo (#2757)
* Fixed reactivity, added workspace logo to create workspace modal

* Reverse order so name is focussed first

* Fix typo

* feat(workspaces): allow sending the logo on ws creation

* Fix avatar uploading

* Added default index 0

* fix(workspaces): maybe default logo

---------

Co-authored-by: Gergő Jedlicska <gergo@jedlicska.com>
2024-08-26 17:20:43 +02:00
Alessandro Magionami e75d424d0c Merge branch 'main' of github.com:specklesystems/speckle-server into alessandro/web-957-update-webhook 2024-08-26 15:16:27 +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
Alessandro Magionami 37ab694b7e Merge branch 'main' of github.com:specklesystems/speckle-server into alessandro/web-957-update-webhook 2024-08-26 12:12:14 +02:00
Mike 1bdf7f78bb Fix: Add permissions checks for settings (#2748) 2024-08-23 19:25:05 +02:00
Mike a22a2fe52f Fix: Permissions on workspace dashboard 2024-08-23 17:54:20 +02:00
Mike 976bb680f0 Feat: Add link to settings to workspace dashboard (#2745) 2024-08-23 16:29:18 +02:00
andrewwallacespeckle b957f5aa83 fix(fe2): Various bugfixes from testing (#2744)
* Update workspace header. Style login button in menu

* Fix misalignment in tabs

* Remove NuxtImg. Move file

* Update yarn.lock

* Move image to assets
2024-08-23 15:27:42 +01:00
Alessandro Magionami c56821ff4a Merge branch 'main' of github.com:specklesystems/speckle-server into alessandro/web-957-update-webhook 2024-08-23 14:41:09 +02:00
Iain Sproat acd83653a2 feat(graphql/serverinfo): provide maximum object size in bytes (#2734)
* feat(graphql/serverinfo): provide maximum object size in bytes

* Places config values in a ServerConfiguration object
- updates blobstorage to use ServerConfiguration, while retaining backwards compatibility
2024-08-23 13:06:22 +02:00
andrewwallacespeckle 5b51e3b1be feat(fe2) Implement workspaces explainer page (#2735)
* Workspaces Page

* Add NuxtImg

* New designs

* Navigate on success option

* Add sidebar item

* Fix capitalisation

* Use CommonCard
2024-08-23 11:13:50 +01:00
Alessandro Magionami b0a64af835 Merge branch 'main' of github.com:specklesystems/speckle-server into alessandro/web-957-update-webhook 2024-08-22 15:08:20 +02:00
Chuck Driesler 7bfe36ef9e feat(workspaces): create workspace button (#2645)
* fix(workspaces): it's my passion

* fix(workspaces): actually make workspaces

* Update graphql.ts

* Dechuckify

* Minor housekeeping changes

* useCreateWorkspace WIP

* Updated add workspace button

* Removed dubble dialog

---------

Co-authored-by: andrewwallacespeckle <andrew@speckle.systems>
Co-authored-by: Mike Tasset <mike.tasset@gmail.com>
2024-08-22 13:23:12 +01:00
Mike 17b89e4cb4 Feat: Added delete user from workspace button (#2726) 2024-08-22 13:35:32 +02:00
Chuck Driesler 63735eb044 feat(workspaces): work(space) invader default logos (#2708)
* feat(workspaces): add default logo index

* Added WorkspaceAvatar component

* Added WorkspaceAvatar component

* Fix issues

* Fix Avatar

---------

Co-authored-by: Mike Tasset <mike.tasset@gmail.com>
2024-08-21 13:53:37 +01:00
Mike 84b3570079 Fix: dashboard count (#2719) 2024-08-21 09:38:33 +02:00
Kristaps Fabians Geikins 1380d1d17f feat(fe2): error reporting when invite (middleware level) auto-accept doesn't work (#2711)
* feat(fe2): auto-accept error toasts

* smarter error reporting

* typo
2024-08-20 17:27:53 +03:00
Alessandro Magionami 14b91eb4e1 chore(webhooks): update webhook function refactor 2024-08-20 16:16:31 +02:00
Mike e957259970 Fix: Minor workspace related styling tweaks (#2705) 2024-08-20 15:01:18 +02:00
Kristaps Fabians Geikins e4cc0cbc83 fix(workspaces): add email to existing account workflow bugfix (#2703)
* fix(fe2): properly handling invitedTeam auth error

* fix(fe2): disable invite dialog if not workspace admin

* fix(useremails): fix for default primary:true when creating new emails

* test fix
2024-08-20 15:45:34 +03:00
Kristaps Fabians Geikins 3beed27a24 feat(fe2): workspace role select in project invite dialog (#2700)
* feat(fe2): workspace role select in project invite dialog

* lint fix
2024-08-20 14:06:18 +03:00
andrewwallacespeckle 8ca5c99aa1 Andrew/web 1338 implement new navigation (#2668)
* Initial Sidebar Implementation

* Updates to sidebar

* Use NuxtLinks in FE2 not UI-Components

* Move sidebar to component

* Active State

* Responsive menu

* Update sidebar links

* Add Projects Page. Improve routing

* Small fixes

* Responsive fixes

* TopBar refactor

* Topbar improvements

* User Menu Updates

* Responsive/Topbar improvements

* Various minor changes

* Update sidebar icon

* Revert dui3 change

* Potential fix for login issue

* Fix login issue. Improve empty state for projects

* Add Project & Workspace Invites to notification

* Revert "Add Project & Workspace Invites to notification"

This reverts commit ac33dd0cb1fc47cd5c6e2925ee2a6bbea328d94f.

* Updates to Project Invite Notifications

* Add scroll to Sidebar component

* Dashboard Card targets

* Changes to logo

* Small responsive fixes

* Remove unused alias

* Minor tidy ups

* Updates from CR

* Dashboard Header

* Add padding to non-collapsible headings

* Add Project empty state
2024-08-20 11:11:15 +01:00
Mike 4b2c78ccb7 Feat: add edit workspace avatar (#2695) 2024-08-20 09:51:28 +02:00
Mike 2f9015df27 Fix: validation for user profile details (#2693) 2024-08-20 09:34:44 +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
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
Chuck Driesler 585ba6a102 fix(automate): move automate status circle on project model card (#2677) 2024-08-19 10:03:06 +01:00
Gergő Jedlicska c8a06b754e feat(multiEmails): add multi email module with feature flag (#2676) 2024-08-19 10:04:11 +02:00
Alessandro Magionami 73e28d72c6 Alessandro/web 957 refactor webhooks module (#2664)
* chore(webhooks): fix test failing when running alone

* chore(webhooks): create domain types and repository

* chore(webhooks): create webhook refactor multiregion

* chore(webhooks): triggers field is required in graphql schema
2024-08-19 09:23:27 +02:00
Mike 17992cd882 Feat: Add empty state to dashboard (#2667) 2024-08-19 09:07:05 +02:00
andrewwallacespeckle e3f90377b5 feat(fe2): workspace project list (#2616)
* Create and Use ProjectList

* ProjectList and WorkspaceList

* Workspace Header

* Header Actions Menu

* Add projects to Workspace

* Add middleware

* Remove unused title

* Rename WorkspaceList

* useDebouncedSearch

* Merge ProjectList into Dashboard

* Make workspaceId reactive

* Remove unneeded useSubscription

* Merge Dashboard into index

* Add fragments

* Cache updates

* gql

* GQL

* Linting updates

* Updates from CR

* Changes from CR

* Changes from PR. Middleware added

* Updates from CR

* GQL

* Updates from CR

* Updates from CR

* Updates from CR

* Add id to WorkspaceHeader_Workspace

* GQL

* Fragment naming

* Use identifier

* Comment buttons not yet ready

* Fix problem with pagination
2024-08-14 15:21:38 +01:00
Kristaps Fabians Geikins 4e302ef4e5 fix(fe2): viewer comments not docking to bottom properly (#2659) 2024-08-14 11:46:39 +03:00
Mike 838d875b29 Feat: Add general workspace settings page (#2635) 2024-08-13 12:59:10 +02:00
Kristaps Fabians Geikins fc079b2b71 fix(fe2): fixes for too early viewer state init (#2634) 2024-08-12 12:05:35 +03: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
Mike 3ac6741965 Feat: Allow users to manage emails (#2613) 2024-08-09 12:49:07 +02:00