Commit Graph

274 Commits

Author SHA1 Message Date
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
andrewwallacespeckle d12e80035d fix(fe2): keyboard shortcuts in viewer don't work (#2389)
* feat: use shift for shortcuts. Swap onKeyStroke for useMagicKeys

* refactor: simplify control shortcuts

* Revert changes to input.ts

* refactor: Make more DRY

* Revert "refactor: Make more DRY"

This reverts commit a508fcfb9d2fef0cd2635911bc57410989166a50.

* Revert "Revert changes to input.ts"

This reverts commit c47300d0104d09f9fa0ae9bc9e86e994f0a46206.

* Revert "refactor: simplify control shortcuts"

This reverts commit a867d6e34d06a7a6436ff4bdb6c4a7db94d3ca21.

* Fix broken space

* Refactor Viewer Controls and Keyboard Shortcuts

* Fix keyboard shortcut mapping to handle string keys correctly

* refactor: string enum

* remove filters shortcut
2024-07-10 11:11:20 +01:00
Kristaps Fabians Geikins 0b2ca9a515 feat: add missing FE1 fields to the FE2 GQL schema (#2471)
* WIP version create

* commitCreate migrated

* minor cleanup

* commitReceived migrated

* added Project.object

* Project.comment introduced

* moving away old API usages in FE1

* ProjectMutations.batchDelete

* project pending access requests

* WIP project access req tests

* project access req tests done

* ModelByName test

* version mutation tests

* project.object tests

* batch delete tests

* minor improvements to redirect logging
2024-07-10 11:33:53 +02:00
andrewwallacespeckle a72ef6178d refactor: isAllowedType checks for hidden speckle types (#2481) 2024-07-09 15:32:18 +01:00
Kristaps Fabians Geikins 95184b6883 chore(server): marking all old (non-FE2) GQL schema fields as deprecated (#2435)
* some fe2 copy changes + everything upp to automate deprecated

* blobstorage & comments & branches/commits

* all core assets reviewed

* server invites

* webhooks

* minor copy update

* updating copy
2024-07-08 14:09:55 +02:00
Alexandru Popovici ccd1c14e09 Threads Undead Patch (#2475)
* Fixed sandbox lint error

* Gave up with trying to enforce a standard basis across camera controller and applications. Now getPosition and getTarget will always be in whatever basis the camera controller is set to be

* No more pre-transformation to (0, 1, 0) for canonical and speckle views and when computin nearest point on geometry

* Reverted transformations from onboarding

* Updated comments

* Fixed the issue where if thread was active at stream load time, the camera position and orientation would be off. This specific issue occured only at startup and it was because the min.max radius for the orbit controls were not yet computed, the frontend calling setView before the orbit controls had a chance to update and compute it's min/max. Also fixed an issue where min distance computation was not using the correct camera positon, but rather the goal position
2024-07-05 10:28:56 +03:00
Alexandru Popovici 15e9ad9462 Oboarding undead-patch (#2456)
* Fixed sandbox lint error

* Added back the polar view and setting it. Changed the onboarding hardoced vectors from Z up to Y up, since that's what the camera controller now requires when setting inline views
2024-06-28 21:05:08 +02:00
Kristaps Fabians Geikins 6bfffca0a9 fix: various invite flow fixes & improvements (#2451)
* fix(fe2): show signup CTA for non-registered invitees [web-1144]

* fix: server invite signup error

* WIP project error access block

* feat(fe2): better 'no project access' error screens

* CR fix
2024-06-28 17:26:11 +02:00
Mike Tasset 566562466f Changed ServerManagementTable to LayoutTable 2024-06-27 15:39:32 +02:00
Benjamin Ottensten fc76fd9f4f Various polishing around the product (#2427)
* Update header navigation

Logo, share button color, breadcrumb colors, spacings

* Updates to main button component

Shadows, border on secondary button, less spacings to icons

* Update spacings in dialog after bew button styling

* Use secondary button in embed dialog

* Update select inputs

Spacing, icon, border on dropdown, smaller avatars

* Update inputs to use the new styling

* Various copy updates

* Update icons

Smaller icons, outline instead of solid, removed some icons that were unnecessary

* Switch order of actions in Delete dialog

* Update styling of inline New model action

* Remove strange BG effect on comments component

* Update styling of hide/isolate actions in viewer

Was necessary after the button styling change. But new copy also makes it more usable.

* Fix alignment issue in selection info panel

* Align styling in Viewer panel component

* Clean up measure usage tips

A permanent "Right click to cancel measurement" tip isn't needed

* Panel spacing

* Update actions in the add model to viewer dialog

* Update permissions input in new project dialog

* Two minor things

* Remove unnecessary flex classes

---------

Co-authored-by: andrewwallacespeckle <andrew@speckle.systems>
2024-06-25 14:43:50 +02:00
Alexandru Popovici f844b6d22e Viewer Navigation (#2416)
* Added model-viewer's orbit camera control implementation. All the features from the old orbit controls are now functional with the new one

* Figured out the relation between radius and fov. Added zoom decelariting when getting closer to origin. This feature was present in the old controller but lacking in this one

* WIP

* Added infinite zooming

* First version of infinite zoom and zoom to cursor

* A few improvements on zoom to cursor. Inifite zoom and zoom to cursor now work together. Simplified the implementation

* Added orthographic camera functionality in the controller without hte special features

* Zoom to cursor now works with orthographic projections. Switching between perspective and orthographic while keeping all functionality correct now works

* Minor cleanup a ton more to come

* Added controls dampening in the sandbox

* Adapted frontend to the new controller plus some additional changes to the controller options in general

* Implemented setting inline and polar viewers. However mosts of the time spent was dedicated into understanding why the frontend checks for changes in the camera each frame, and if it finds one forces the camera viewer to the inline one. I haven't figured out why it's doing this and it seems very wasteful. There probably is a better way of achieving the same thing

* Orbit Controller now computes it;s cartesian value based on spherical in a function so it can be used in multiple places. Replaced getting the current camera position with the target camera position in frontend frame update callback as the old camera controller did

* Follow mode now works properly

* Sandbox fix

* Disabled debug spheres

* WIP on fly controls

* Correct basis transformations for fly controls

* Added QE up/down movement to fly controls

* Minimum radius is now dynamic and accounts for scene size

* Fixed an issue with zooming to cursor when infinetely zooming

* Fixed inconsistencies between zooming normally and infinetely for both zooming to cursors and otherwise

* Further fixing zooming to cursor when infinetely zooming

* Zoom radius modulation

* Fine tuning zooming radius and wheel modulation. I think I got to some defaults that seem good enough for all scene scales.

* Defaulted to 30ms decau time for dampers

* Added a 'tasOnly' argument in all 'intersect' variants. This will only intersect the TAS(es) and provide an intersection result. When requesting an intersection with 'firstOnly' set, onyl the first intersected TAS will be queried further and it's first intersected BAS will provide the intersection result. Conditioned zooming to cursors by needing to have any geometry under the cursor; Fixed some small issues with  functions in the acceleration structures.

* Restricted intersecting onyl when zooming

* Geometry intersection when zooming does not affect infinetely zoom anymore, only zoom to cursor

* Temporary disabled firstHitOnly

* raycastFirst now works correctly in the context of tasOnly param true or false

* Added dampers to the fly controls so we have consistency across various camera controller types.

* Added statinary function

* WIP on controls

* Debuging orbit controller issues on ipad

* More consolidation work on the interface for SpeckleControl and our current implementations for it

* Added controller toggle-ing

* Making the controllers work from immediate data

* There are no more spaces left I can transform from/to. Done them all. Works fine now essentially. Just need to clean stuff up

* SpeckleControls now provide an 'up' vector, and basis transformation is computed that way rather than requirig a mat4 directly. Fixed two issues with event locking on orbit and fly

* More cleanup, more fixes, more grind

* Controllers now have consistency in the basis they provide the position and target into. As well as the fromPositionAndTarget function. It will always be in a basis where (0,1,0) is up. This is required because certain parts of three.js assume that basis

* FlyController is now properly relative-itiez

* Sorted out options for both controls. Dampening is now done via options

* Small fixes for frontend integration

* Fixed the issue with quaternions misaligning around PI

* Added consistent orthographic resizing

* Fixed camera focusing when in orthographic mode

* Implemented disabling/enabling rotations with the new controls. Removed PolarView since it was never used. Canonical views WIP

* Made the HybridCameraController with the simplest implementation possible that seamslessly combines both camera controls. This is for testing to get an idea about how it feels. Removed zoomToCursors when not on geometry. Increased regular zoom speed

* Using constants since move speed is a modifier

* lock fix

* Removed HybridCameraController. Increased maximum zoom. Removed toggling camera controls with Space. New way to apply canonic views, this time a correct one
2024-06-25 15:21:47 +03:00
andrewwallacespeckle d019e327c1 feat(fe2): Improve property name display and search functionality in filtering (#2396)
* feat(fe2): Improve property name display and search functionality in filtering

* Improve Revit property handling and type safety

* Improve getPropertyName

* Revert "Improve getPropertyName"

This reverts commit 21aaabdd13294bdae7a678fc8fb5454b6b174703.
2024-06-21 15:46:50 +01:00
andrewwallacespeckle 67b778b926 feat: ensure consistent ordering of nodes to match ViewerLayoutPanel (#2279)
* feat: ensure consistent ordering of nodes to match ViewerLayoutPanel

* feat: Order rootNodes based on resourceItems

* Revert "feat: Order rootNodes based on resourceItems"

This reverts commit 5029e361e762c0a6d9245638f7b269f7beeb8f37.

* Revert "feat: ensure consistent ordering of nodes to match ViewerLayoutPanel"

This reverts commit e2f557bf319f21ab5c477929021de1d12236ade9.

* fix: change rawSpeckleData to computed. order scene explorer items.

* Fix to unnamed models after call with Fabians
2024-06-21 15:20:17 +01:00
andrewwallacespeckle 71d1ea7f62 fix: add a title so full name can be hovered (#2412) 2024-06-20 13:30:44 +01:00
andrewwallacespeckle 7132fdbd8d feat(fe2): Filter out ViewerExplorerTreeItem children with speckle_type displaystyle (#2388)
* feat(fe2): Filter out ViewerExplorerTreeItem children with displaystyle speckle_type value

* Centralise node type filtering logic
2024-06-20 12:11:12 +01:00
andrewwallacespeckle 875a49e1ef feat: don't truncate StringFilterItem (#2378) 2024-06-20 11:57:38 +01:00
Kristaps Fabians Geikins f074be89aa fix(fe2): error msg templating + Filters undefined error fix (#2411)
* fix(fe2): error msg templating + Filters undefined error fix

* fixx

* fixx
2024-06-20 13:11:05 +03:00
Kristaps Fabians Geikins 689bb4e941 feat: function update flow re-introduced (#2410) 2024-06-20 12:24:15 +03:00
Mike 04dd67aa4f Merge pull request #2407 from specklesystems/mike/web-450-improve-design-when-attaching-a-file
Fix: Improve comment/reply attachment styling
2024-06-20 10:22:04 +02:00
Mike Tasset db37fb6b08 Added back dark class 2024-06-20 09:02:30 +02:00
Mike Tasset 0f21ffcd0f Removed accidental bg class 2024-06-20 09:00:38 +02:00
Mike Tasset 05d1c9061e Removed accidental bg class 2024-06-20 08:59:58 +02:00
Mike Tasset 97f579052c Fixed classes 2024-06-20 08:48:43 +02:00
Mike Tasset e84bc61240 Fix pipeline; used wrong prop value 2024-06-19 17:07:18 +02:00
Mike Tasset c72999d382 Fix pipeline; used wrong prop value 2024-06-19 17:00:55 +02:00
Mike 5f1b3846b3 Merge pull request #2387 from specklesystems/mike/WEB-1112-change-downloads-link
Fix: Change /downloads links to https://speckle.systems/features/connectors/
2024-06-19 16:54:11 +02:00
Mike Tasset ee20ed4139 Rename alt text 2024-06-19 16:52:28 +02:00
Mike Tasset 146d714c26 Minor spacing tweaks based on feedback 2024-06-19 14:59:47 +02:00
Mike Tasset 52a3a07ea6 Minor tweaks to spacing 2024-06-19 11:48:18 +02:00
Mike Tasset 1f8e5ab778 Minor tweaks to spacing 2024-06-19 00:44:09 +02:00
Mike Tasset dc2684fa4b Changed layout of comment box/attachments 2024-06-19 00:29:34 +02:00
andrewwallacespeckle 6b73826e3f fix: add title to view menu buttons (#2382) 2024-06-18 17:28:17 +02:00
Mike Tasset 8f4fcb912c Changed anchor back to nuxtlink, changed hardcoded string to variable 2024-06-18 13:33:30 +02:00
Mike Tasset 8ce60110a3 Change /downloads links to features/connectors 2024-06-18 10:55:56 +02:00
Kristaps Fabians Geikins ef4bb520cf fix(fe2): ugly function card hydration issue (#2381)
* fix(fe2): ugly function card hydration issue

* comment adjustment

* minor optimization
2024-06-18 08:40:25 +03:00
Kristaps Fabians Geikins 8a55eae516 feat: sourcemaps + testing (#2366)
* feat: sourcemaps + testing

* feat: source map upload in CI
2024-06-13 16:33:43 +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
Benjamin Ottensten b58cc9e389 Adjust table so run details btn is visible (#2351) 2024-06-12 09:49:20 +02:00
Benjamin Ottensten 06ee534b9e Don't tint projects select input (#2350) 2024-06-11 21:37:20 +02:00
Benjamin Ottensten 0e35e0c440 Update use/select actions on functions (#2352)
* Update butto copy on functions page

* Remove btns on function cards in some cases

Have a cleaner layout on the automations empty state and in the function gallery.

* Change behaviour of select btn on function card

- "Select" -> "✔︎ Selected" on click
- Click again to unselect

* fixx

---------

Co-authored-by: Kristaps Fabians Geikins <fabis94@live.com>
2024-06-11 18:08:21 +02:00
Kristaps Fabians Geikins a32ddfd183 fix(fe2): minor automate form validation improvement 2024-06-11 17:40:19 +03:00
Kristaps Fabians Geikins 2f8272b6ae feat(shared): modularized package & node16 support (#2336)
* feat(shared): modularized package & node16 support

* lockfile update

* various fixes

* moar fixes

* added znv and zod as devdeps of shared

* lockfile update
2024-06-11 14:12:13 +03:00
Benjamin Ottensten 6a524a704a Try to fix linting errors (#2353) 2024-06-10 16:54:30 +02:00
Benjamin Ottensten c29b4f2aac Fix automation creation form (#2349)
Bug: You couldn't proceed from step 2 if the function didn't have any parameters.
2024-06-10 15:43:00 +02:00
andrewwallacespeckle 899c0baf4e feat(fe2): Highlight objects on hover (#2322)
* WIP - Need to confirm with Benjamin & Alex

* feat(fe2): Models and Filters Highlighting

* feat(fe2): highlight object on hover of selection info

* refactor: use composable for object highlighting in Viewer components

* Remove from StringFilterItem.

* Update StringFilterItem.vue

* Fix for selection issue that happens when you select something from the tree explorer that is already being selected by it's parent and also highlighted with the mouse

---------

Co-authored-by: AlexandruPopovici <alexandrupopoviciioan@gmail.com>
2024-06-07 14:26:49 +02:00
Kristaps Fabians Geikins c12c470d13 feat(fe2): prevent automation param validation until submit (#2340)
* feat(fe2): prevent automation param validation until submit

* minor fix

* fix for empty string being accepted as a valid value
2024-06-07 13:17:20 +03:00
andrewwallacespeckle 242391bceb feat(fe2): Allow user to decide viewer zoom on addition of new model (#2337)
* feat - Add switch to toggle zoomToObject

* Remove switch, add Toast

* Formatting changes
2024-06-07 11:51:33 +02:00
Benjamin Ottensten ee4d91faf6 Remove various hover transitions around the viewer (#2342)
To make it feel more snappy
2024-06-07 11:37:42 +02:00
Kristaps Fabians Geikins d9f2ffe72a fix(fe2): refetch on automate page open (#2341) 2024-06-07 12:15:24 +03:00
Kristaps Fabians Geikins bdf27f6218 feat: some mp analytics related to automate actions (#2299)
* fix(fe2): better resiliency for when mp cant be loaded

* WIP mixpanel track calls

* more resiliency improvements

* added all clientside tracking calls

* run finished event

* minor adjustment

* feat(automate): revert automationRunTriggerinAssociation

* feat(automate): track manual run triggers

* feat(automate): backend track automation run created events

* fix(automate): manual trigger type gql schema fix

* feat(automate): add source based filter to run trigger tracking

* fix(automate): fix trigger mock

* various minor adjustments

* remove comment

---------

Co-authored-by: Gergő Jedlicska <gergo@jedlicska.com>
2024-06-07 10:21:24 +03:00