Commit Graph

58 Commits

Author SHA1 Message Date
Sergei Garin
b5122348da
MFA (#10875)
* Draft checkbox component

* Fixes in Setup Page

* Invite Users

* Add usergroup setup after subscription

* Fix comments

* Refetch Interval + Feature Toggles

* Fix lint

* Address issues

* Fix Dialog

* Assign users to the user group

* Use transitions to navigate between steps

* Small fixes

* Improve styling for scrollbars

* Fix typescript

* OTP input

* Fix setup logic

* Show Setup dialog only for admins

* Add otp

* OTP input

* 2FA settings section

* Small improvements

* Fixes

* Small fixes

* Remove w-full

* TOTP at login

* Fixes in 2FA

* Fixes in types

* Fix totp

* Merge fixes

* Merge fixes x2

* Merge fixes x2

* Fix types

* Fix types

* Fix cancel button

* Fix reset button

* Fix types

* Fix prettier

* Fix prettier

* Fix lint

* Fix lint

* Fix control

* Address prettier

* Fix MFA mock

* Fix sign in message

* Fix tests

* Address CR

* Fix types
2024-09-13 16:00:31 +03:00
Sergei Garin
3c1db7dbc1
Remove edit name on mod+click (#11058)
Closes: enso-org/cloud-v2#1476
2024-09-13 12:51:35 +00:00
Sergei Garin
16a4466156
Handle 403 for listGroups and getOrganization (#11044)
Closes: enso-org/cloud-v2#1470

This PR handles 403 responses for certain RemoteBackend endpoints
2024-09-13 12:43:02 +00:00
James Dunkerley
8eb9e21e40
Updated feature list (#11061)
Update the list of what is in what...
![image](https://github.com/user-attachments/assets/65abca35-9e39-4a7c-a001-230923ff04d3)
2024-09-12 20:09:00 +00:00
Sergei Garin
ea0f5a1962
Open a welcome dialog after user signed up (#11029)
Closes: enso-org/cloud-v2#1475
2024-09-11 15:26:14 +00:00
James Dunkerley
a33376c8d7
Better workaround for missing root folder. (#11046)
With the changes for asset directory the auto-creation condition was failing.

This should make it work again.
2024-09-11 13:18:27 +00:00
Adam Obuchowicz
497da82b10
Fix file associations on Windows + opening project bug (#11030)
* Fixes [#10983](https://github.com/enso-org/enso/issues/10983) The `ext` field was not set according to the documentation in rust
* Also discovered a regression in opening project by passing argument/clicking the file: we store the file location as `file://` URL, but without caution, it made a havoc with windows paths.

# Important Notes
- [x] **Need to confirm that everything works on macOS** (installation with file associations + opening project when process is running and when not)
2024-09-11 10:44:52 +00:00
somebody1234
097f5b231d
Fix Datalinks (#11003)
- Fix https://github.com/enso-org/enso/pull/10929#issuecomment-2333467567
- Fix incorrect requests being sent for newly created Datalinks
- Fix Datalinks being created in the root folder instead of the current folder due to clicks on the dialog deselecting the currently selected folder
- Fix auto-scroll caused by Assets Table refreshing

# Important Notes
None
2024-09-10 14:59:04 +00:00
Sergei Garin
1fdaf37add
Fix skipping creating a user if we don't change the default name (#11013)
Closes: enso-org/cloud-v2#1473

This PR fixes a bug introduced in #10946
2024-09-09 22:30:53 +00:00
James Dunkerley
7b4b635fa8
Add Row Number starts at 0 and other tweaks. (#11017)
- Change default to be from 0.
- Alter widgets so always shown.
- Tweaks to the Welcome screen following review with Product Team.
- Use 0 for default seed option in `Index_Sub_Range.Sample`.
- Add ALIASES for aggregate and running.
- Add more imports for `Widgets.enso` to fix extension methods not working.
2024-09-09 20:26:59 +00:00
James Dunkerley
a86e37b36f
Expand Templates (#10994)
- Update all the templates to the newest versions.
- Fix any defects in the templates.
- Update the rust and scala code to package and download the templates.
- Update the front end to have images for every template (with some Gemini assists).

https://github.com/user-attachments/assets/59a1f845-f409-45bb-9c77-fe3a2d1262b1
2024-09-09 10:27:04 +00:00
Sergei Garin
f418f49ea5
Fix edge cut off in plan select at first (#11007)
- Closes: enso-org/cloud-v2#1454

This PR fixes the Plan selector grid. Also it aligns cards vertically
2024-09-09 08:38:42 +00:00
somebody1234
51733ee876
Move some Drive state to zustand (#10913)
- Move Asset Panel open state to zustand
- This avoids re-rendering the entire Data Catalog view every time an asset is clicked
- Move Asset Panel props to zustand
- Move search suggestions to zustand
- Memoize `AssetRow` to avoid re-rendering every row when unnecessary

# Important Notes
It's not a perfect solution to the performance issues, however selection performance seems to have improved quite nicely.
2024-09-08 07:38:13 +00:00
somebody1234
9ec60299e4
Local Dashboard fixes (#10958)
- Fix most of https://github.com/enso-org/cloud-v2/issues/1459
- Prevent click + click from triggering rename on Windows and Linux. Behavior is preserved on macOS.
- Fix text in Drive when root folder is empty
- Properly remove the "Drop here to upload box" after a file is dropped
- "Copy as path" now unconditionally uses `/` for path delimiters, even on Windows
- Duplicating a project in the root folder on Windows no longer errors
- Extra folders in the sidebar now (correctly) show folder name, rather than path, on Windows
- Mouse pointer when dragging to a folder is now move, not copy

Not addressed:
- [no-repro] Tooltips should have some latency before showing up
- This should already be the case, although it may work weirdly (once the tooltip opens, there is no delay on subsequent tooltips opening until the last tooltip closes.)
- [no-repro] Ctrl-click should add to selection
- Column width should be resizable
- This requires a refactor and therefore is considered out of scope for this PR
- [no-repro] Choosing root folder needs a file browser
- [no-repro] Choosing root folder doesn't do anything get the same list as we had before
- [no-repro] Open in explorer didn't work in a file but did on project - possibly fixed by path changes.
- [no-repro] Opening an enso-project by double clicking resulted on it being renamed with a (2)

Related changes:
- Make "root directory" picker's file browser default to the current root directory

# Important Notes
None
2024-09-08 06:54:41 +00:00
somebody1234
3420a05a84
Dashboard improvements 08/26/2024 (#10946)
- Address part of https://github.com/enso-org/cloud-v2/issues/1453
- Many of the other issues are addressed in other PRs.
- Username in "Set username" dialog defaults to user email
- Hide "Share with" column for Free and Solo plans
- Reorder categories in left sidebar
- Previous: Cloud, My Files, Recent, Trash, ...Users, ...Teams
- New: Cloud, Me (formerly My Files), ...Users, Teams, Recent, Trash

- Fix #10968
- Show column toggles on Local category too (previously was explicitly specialcased to only be visible on Cloud categories as a remnant of the old design with the backend switcher at the top)
- Added to this PR as this PR already touches the column toggles

# Important Notes
None
2024-09-06 15:13:56 +00:00
somebody1234
3bcc694af9
Settings improvements (#10924)
- Address https://github.com/enso-org/cloud-v2/issues/1457
- Show x instead of a circle for close tab icon on Windows and Linux
- Free / Solo no longer shows Organization, Members, User Groups, and Activity Log
- Invite button should only be there for the admin in Team or above (should already be present)
- Should list the required symbols in the password change.
- Changing headshot appeared briefly and then disappeared.
- Fix https://github.com/enso-org/cloud-v2/issues/1455
- The `Alert` component no longer focuses itself on every keystroke.
- Fix #10988
- Same issue as above.

Other related changes:
- Fix word wrapping in tooltips when a word is wider than the entire tooltip
- Add word wrapping to "members" table in members tab
- Limit length of "email" column of members table in "user groups" tab
- Hide empty sections
- Add text to empty "user groups" table in "user groups" tab
- ~~Close "set organization name" modal when organization name is set~~
- Already fixed by another PR

# Important Notes
None
2024-09-06 14:29:26 +00:00
somebody1234
c87053d600
Compute correct root path for Solo users (#10993)
- Change paths for cloud assets for users on Solo plan to be `enso://User/<username>/<path>` instead of the legacy `enso://<username>/<path>`

# Important Notes
None
2024-09-06 13:58:12 +00:00
Sergei Garin
d242ed18bb
Mark cloud as beta (#10992) 2024-09-06 14:17:57 +01:00
somebody1234
fa1e14945a
Fix permissions for Asset Panel for Team-owned assets (#10929)
- Fix https://github.com/enso-org/cloud-v2/issues/1452
- Previously, the team's permission was not being detected as the user's own permission

# Important Notes
None
2024-09-06 11:18:14 +00:00
Sergei Garin
3be8770a0a
Setup Screen Improvements (#10844) 2024-09-05 16:11:02 +00:00
Paweł Grabarz
cab161a602
Prevent node name collisions when drag-and-dropping multiple files (#10979)
# Important Notes
Fixed a few warnings in dashboard caused by missing or misplaced key attributes.
2024-09-05 12:27:18 +00:00
Sergei Garin
77183e50e9
Adjust Refresh Interval in Assets table (#10775) 2024-09-04 16:22:50 +00:00
somebody1234
dc5fb1554a
Remove optimistic query hooks (#10907)
- One of many PRs that should improve Dashboard performance.
- `useMutationState` seems to be taking quite a bit of time (224ms out of 1199ms) in this trace on Firefox:
- However, I haven't really noticed any real difference, although I haven't tried too hard to find a differene
- That said, this also vastly simplifies the code in `backendHooks.ts` (by removing the vast majority of the methods)
- As a downside, well, we will no longer have optimistic updates - but I guess we are preferring a stale-while-revalidate approach anyway (React Query) when it doesn't degrade UX

![image](https://github.com/user-attachments/assets/61899313-7aaf-4158-b382-0a293a97bb71)

![image](https://github.com/user-attachments/assets/f025dd7d-7755-4000-81cd-f57efce4c4bc)

# Important Notes
None
2024-09-03 11:17:30 +00:00
Sergei Garin
4709076061
Improve the Signup experience (#10926)
Closes: enso-org/cloud-v2#1460

This PR refactors the signup experience.
1. The confirmation page is redesigned. Now it shows instructions on what user should do next
2. Once user sign up, we navigate him to the next page, where user can either open a email client and follow the link or enter the code manually.
2024-09-02 15:56:16 +00:00
somebody1234
848e8699d7
Dashboard UX improvements (#10868)
- Fix dropdown focus issues
- Keyboard navigation to/from dropdowns and between options
- Mouse focus to/from dropdowns (there is no mouse navigation between options)
- Use new inputs in "new secret" modal
- Simplify form types
- Switch activity log date filters to use `DatePicker` which is a wrapper around a `react-aria-components` input
- Update `react-aria-components`
- Prevent Navigator2D from handling event if it has already been `defaultPrevented`
- Switch from `*` imports to `{}` imports for various files
- Switch assets table row headings to use new components

# Important Notes
None
2024-08-29 05:54:21 +00:00
somebody1234
0ef074b8e9
Require accepting Terms of Service and Privacy Policy when registering (#10772)
- Frontend part of https://github.com/enso-org/cloud-v2/issues/1427
- Show ToS immediately, before login screen
- Add entries to devtools to be able to clear ToS

# Important Notes
None
2024-08-28 17:51:31 +00:00
somebody1234
50d919d952
Simplify button variants (#10828)
- Remove "cancel" variant in favor of "outline" variant
- Remove "bar" variant in favor of "outline" variant
- Buttons in the Drive Bar have been switched to a new "outline-light" variant that is the same as the "outline" variant except with the border color of the "bar" variant
- Rename "tertiary" variant to "accent"
- Remove `components/Input` and `components/ControlledInput` which are no longer used

# Important Notes
None
2024-08-28 17:05:20 +00:00
somebody1234
01c49ce7a2
Support multiple local directories (#10664)
- Add support for multiple local directories
- Save primary local root directory in `localStorage`
- Fix primary local root directory not updating in some conditions
- Save additional local root directories in `localStorage`
- Add buttons to browse for and reset primary local root directory

# Important Notes
None
2024-08-28 16:06:29 +00:00
somebody1234
bd3ebc5000
Fix "Missing queryFn" error when reloading with project openn (#10894)
- Fix https://github.com/enso-org/cloud-v2/issues/1451
- Fix "Missing queryFn" error due to
- This is done by providing a default value to the query. A more ideal solution may be to use the full query with the `queryFn`, but this is not an option here as the full query for this query requires a lot more info, some of which we don't have.

# Important Notes
- Test opening a top-level project and then refreshing
- Test opening a project in a nested directory and then refreshing (to make sure the query is not being executed just because the corresponding row is visible)
2024-08-27 07:40:27 +00:00
somebody1234
60ae6f9bdb
Hotfix opening links in browser (#10869)
Fix regression causing the link to user registration to not be opened in browser.

# Important Notes
None
2024-08-22 12:41:06 +00:00
somebody1234
1c76ad50d1
Accept/decline invite to new organization (#10822)
- Frontend part of https://github.com/enso-org/cloud-v2/issues/1403
- Add a new dialog (like the Version dialog) that appears over the Drive view (unlike the ToS dialog which appears in place of the Drive view)

# Important Notes
None
2024-08-22 11:49:12 +00:00
somebody1234
8d7b684019
User & Team spaces (#10477)
- Depends on https://github.com/enso-org/cloud-v2/pull/1344
- Implement https://github.com/enso-org/cloud-v2/issues/1342
- Refactor `Category` type to allow for extra metadata (user/team id and home directory path)
- Show list of users and teams in sidebar
- Add "My Files" category for users with team/enterprise plan - because in that case, the directory opened by the "Cloud" category is the organization's root directory, not the user's root directory

# Important Notes
None
2024-08-21 18:10:56 +00:00
somebody1234
0fc09f8723
Show errors in forms in authentication flow (#10739)
- Fix https://github.com/enso-org/cloud-v2/issues/1422
- Show errors on "login" page by switching to custom Form component
- Also convert "registration", "reset password" and "forgot password" pages to use the new component
- Preserve email when navigating between auth pages

# Important Notes
None
2024-08-13 11:50:07 +00:00
somebody1234
1d0dfe17f8
Fix flaky dashboard E2E tests (#10773)
- Potentially fixes https://github.com/enso-org/enso/issues/10667
- Potentially fixes a similar issue with labels test failiing

# Important Notes
None
2024-08-12 12:55:49 +00:00
Paweł Grabarz
b277132950
Fix test report artifact upload error handling (#10789)
Fixed error handling for test report file discovery, skipping not-found errors. Applied flaky dashboard e2e test fix to missed test suite.
2024-08-12 10:25:18 +00:00
somebody1234
5079b21207
Switch from applying optimistic updates to invalidating queries (#10601)
- The update handling is no longer reactive, so it will no longer cause unnecessary re-renders

Other changes:
- Rename `Root` component to `UIProviders` to be more descriptive

# Important Notes
None
2024-08-09 08:05:45 +00:00
Paweł Grabarz
b286adaae4
Split ydoc server into separate module (#10735)
# Important Notes
The command to run the gui dev environment has been changed. Invoking the old command will print a message about that.
From now on, use `pnpm dev:gui2` in repository root.
2024-08-08 12:12:05 +00:00
Kaz Wesley
3a4b942aae
Help tab (#10771)
Add context sensitive help to right side panel; implements #10582.

https://github.com/user-attachments/assets/0d6bce44-735a-4deb-86c9-72a088ab1d59

# Important Notes
- The rightmost (i.e. current) breadcrumb is no longer clickable.
2024-08-07 14:49:24 +00:00
Hubert Plociniczak
0c55ee50cf
Debug Ydoc/LS interaction without making code changes (#10687)
* Debug Ydoc without making code changes

Previously the log statements were guarded by a constant. Now log
statements are printed if YDOC_DEBUG=true env var is set during launch.

* debug LS RPCs

* bump vite to 5.3.5

* s/YDOC_DEBUG/YDOC_LS_DEBUG

* Address PR comment

* nit

* nit

* fix tests

* yet another linting problem
2024-08-06 19:53:36 +02:00
Sergei Garin
c179701a00
Fix Subscribe form UX (#10744) 2024-08-05 16:57:48 +03:00
somebody1234
1fda574656
Keep subscription payment form open until plan is successful (#10732)
- Keep payment form open until `plan` on `users/me` matches the new plan being upgraded to
- 3 second delay between fetches on `users/me`
- 30 second timeout after which an error message is displayed
- Note that currently this just keeps the form submit button spinning for longer, rather than having an extra dedicated full-page loading spinner.

# Important Notes
None
2024-08-01 11:58:55 +00:00
somebody1234
d9fc3a0fb6
Dashboard improvements (#10715)
- Frontend part of https://github.com/enso-org/cloud-v2/issues/1397
- Show organization details to everyone (behavior unchanged)
- ⚠️ Allow editing only for admins
- ⚠️ Currently there is no backend endpoint to get organization permissions
- Stop (incorrectly) submitting *all* settings inputs twice
- Frontend part of https://github.com/enso-org/cloud-v2/issues/1396
- Fix "remove invitation" sending wrong request
- Stop sending `organizationId` in "create invitation" request
- Not adding `email` autocomplete to `/registration`
- Currently already exists
- but it will need to be revisited after the new sign up flow PR is merged.
- Fix https://github.com/enso-org/cloud-v2/issues/1407
- Fix project open request being sent multiple times
- Address https://github.com/enso-org/enso/issues/10633#issuecomment-2252540802
- Fix path to local projects (previously gave the path to their containing folder

Other fixes:
- Various fixes for autocomplete:
- Fix autocomplete appearance (dropdown is no longer detached from main input)
- Add tooltips for overflowing autocomplete entries
- Add tooltips for overflowing usernames in "manage permissions" modal
- Animate height of "asset search bar" dropdown and "autocomplete" dropdown
- Auto-size names of object keys in Datalink input

Other changes:
- Avoid gap with missing background on right side of tab bar when resizing window due to the clip path being animated
- Add <kbd>Cmd</kbd>+<kbd>W</kbd> and <kbd>Cmd</kbd>+<kbd>Option</kbd>+<kbd>W</kbd> to close tab
- Make <kbd>Escape</kbd> only close tab if it is the Settings tab (a temporary tab)

# Important Notes
None
2024-08-01 11:29:05 +00:00
Sergei Garin
a5922e0844
New Signup flow (#10616) 2024-08-01 09:35:41 +00:00
somebody1234
636d0d11bf
Move selected rows state of Data Catalog to zustand store (#10637)
- Eliminates lag when using drag-to-select (the `SelectionBrush`) by moving the state into a zustand store.
- This avoids the lag because now the entire Data Catalog no longer has to rerender, because the state is no longer stored in the `AssetsTable` component that contains all the rows (and would therefore rerender all the rows when its state changes)

# Important Notes
- The lag is present on Chromium, but any lag in general is generally more visible on Firefox, so it's highly recommended to test on Firefox as well as Electron
- On current develop, *any* drag selection should be enough to trigger the lag (typically 200ms JS + 200ms rendering). If it's not reproducible, then you may need to create more assets.
2024-08-01 07:58:15 +00:00
somebody1234
e609b1cff8
Add .enso-project extension when downloading project files from cloud (#10701)
- See https://github.com/enso-org/cloud-v2/issues/1372#issuecomment-2255172443

# Important Notes
- I don't seem to be able to test, as `get_project_details` seems to be returning a value without `url` for some reason
2024-07-29 09:53:24 +00:00
somebody1234
9e5c4750c9
Fix Data Catalog showing spinners when refetching (#10647)
- Fix https://github.com/enso-org/cloud-v2/issues/1400
- The code was incorrectly changed to  consider `isFetching` as a loading state (`isFetching` actually represents the state when there is already cached (stale) data, but updated data is being fetched.)

# Important Notes
None
2024-07-26 12:03:50 +00:00
somebody1234
c46262dfb5 Format TS code (#10648) 2024-07-26 17:47:59 +10:00
somebody1234
4b96be8ef8 Edit prettier config (#10648) 2024-07-26 17:47:59 +10:00
somebody1234
d0b67bc50d
Reenable "Local" settings tab (#10659)
- Re-enable the "Local" settings tab
- It contains a single input to change the root directory of
- Add settings icon to jump to "Local" settings tab, next to "Local" category

# Important Notes
None
2024-07-25 08:54:51 +00:00
somebody1234
609d5abbc0
Only allow creating single project at a time (#10586)
- Close https://github.com/enso-org/cloud-v2/issues/1390
- Show loading spinner and disable "New Empty Project" if the new project is still being created or opened.

# Important Notes
None
2024-07-24 10:04:02 +00:00