Commit Graph

1516 Commits

Author SHA1 Message Date
Adam Obuchowicz
4a249688e8
Unify Frontend App (#11287)
Fixes #10668
Fixes #8484

Summary of changes:
* `gui2` and `dashboard` are merged to `gui` directory. Various configs were merged (package.json, playwrigth, TS...). The src and e2e directories are split to `dashboard` and `project-view` for now.
* E2E tests run two servers on different ports. The tests are organized in projects. This is also to be changed soon, as we plan to [use better mocking in GUI/ProjectView](#9726)
* ESlint configs were merged to central `eslint.config.mjs`, and that file was moved to repository root. We kept the dashboard lints, but they can be relaxed. The dashboard code was changed to meet GUI lints.
* Also, the versions of linter plugins were bumped, and code fixed.
* The ide-desktop/client no longer has `dashboard` dependency - the only type used there was moved to common package.
* `common` package moved to `app`.
2024-10-11 18:23:02 +00:00
Sergei Garin
239a6803bf
Fix updating conflicting project (#11111)
This PR fixes a bug, when uploading a duplicate project to local backend threw a crash on windows.


https://github.com/user-attachments/assets/fe1bd7a7-d840-4bb1-b3f6-e0beec70fcd4
I found a bug when we upload a project to a remote backend, it throws a 500 error. Notified @PabloBuchu about that.

Also, @hubertp proved that the ProjectManager always duplicates a project no matter which option we choose(either "update" or "rename“).  So I removed the "update" button if we upload a project locally
2024-10-10 14:51:59 +00:00
Adam Obuchowicz
7c5124094e
Add lint for jsdocs in GUI2 (#11234)
Part of #10526 (without TS structures: interfaces, type aliases etc.)

Added lints checking for jsdocs presence (and their format) and generated stub with TODO for missing ones. Now only 344 docs are missing 🙃

# Important Notes
Many changes are just automated, but they are in the middle commit. So recommended way of reviewing is review `Add jsdoc to eslint config` for checking config changes, and then `Some of the missing documentation and fixes`.
2024-10-09 12:26:56 +00:00
somebody1234
7a00e6ef26
Dashboard improvements (from 24 September 2024 + 30 September 2024) (#11219)
- Close https://github.com/enso-org/cloud-v2/issues/1508
- ⚠️ Labels modal - add selection indicator where user can (de)select multiple labels
- Checkboxes currently still cause the dialog to (incorrectly) close
- Edit datalink -> select enso secret -> options are too narrow for enso path. Strip enso://Users(Teams), if possible make the options list longer on the left side
- Added (or rather, re-enabled via CSS) horizontal scroll instead
- Make Versions, Sessions, Settings as tabs similar to documentation panel in graph editor
- Edit description in context menu should open asset panel with description input active
- Edit secret should be moved to asset panel (same like datalink)
- Dim background when "edit description", "edit secret", or "edit datalink" are clicked/triggered via shortcut to highlight input
- Hide unused (= no backend support) columns and icons: accessed by projects and accessed data
- *Partial* frontend fixes for https://github.com/enso-org/cloud-v2/issues/1529
- (1) Fix settings title being horizontally centered and split on multiple lines
- (2)  backend issue
- (3)  out of scope
- (4)  backend issue
- (5)  out of scope
- (6)  out of scope
- (7)  backend issue
- (8)  already fixed in #11126
- (9)  out of scope (potentially requires a way to trigger a tooltip on a disabled button)
- (10)  out of scope
- (11)  out of scope
- (12)  out of scope
- (13) URL encode `enso://` URLs in "copy as path"
- (14) Double click on datalink make asset open and close (not sure if this has already been fixed)
- (15) Clicking anywhere on Asset Panel no longer deselects assets (not sure if this has already been fixed)
- (16)  addressed in #11268
- (17) Make list of labels in Asset Panel (right sidebar) horizontal instead of (incorrectly) vertical
- (18) Only show "Billing" settings tab for organization admins
- Use "workspace" instead of "network" icon for project tabs
- Other fixes:
- Fix Asset Panel (right sidebar) not being able to be toggled off if it is temporarily open (when triggered from editing description, or editing secret, or editing datalink)
- Make "cancel" and "reset" buttons default to outline variant, instead of ghost variant
- Fix style of dropdown
- Change Datalink editor dialog so that object keys are above inputs, not beside them. This gives inputs much more horizontal space for children of deeply nested objects.

Issues left to fix:
- Checkboxes currently still cause the dialog to (incorrectly) close
- "Edit description" actions etc. do not properly focus inputs

Issues left to do (out of scope):
- Show username of user currently using a project (possibly as tooltip?) if the project is currently disabled.
- Dropdown and autocomplete entries should be in their own dialog, so that they can escape the parent dialog if they are too long

# Important Notes
None
2024-10-09 09:10:49 +00:00
marthasharkey
37621a9f90
Full white space rendering and links fix (#11238) 2024-10-03 16:01:26 +00:00
Adam Obuchowicz
c7cc5f0be0
Run integration in CI. (#11198)
Added a step for packaging IDE which runs integration tests.

This is an additional step, not a job, because here I'm sure the package will exist and won't be built unnecessarily twice. Technically I could make a job downloading it from GH action, but didn't want to invest time to rust scripts. Once Bazel will be fully introduced, the integration test will be improved.

# Important Notes
Fixes #8487
2024-10-03 13:41:22 +00:00
marthasharkey
5f1d32f1aa
Scatterplot: Add filter down node functionality (#11162) 2024-10-02 13:35:11 +00:00
marthasharkey
7b63b66453
use new icon for adding new nodes (#11213) 2024-10-02 09:49:14 +00:00
Ilya Bogdanov
eea23b178e
Input nodes (#11165)
Closes #10696

https://github.com/user-attachments/assets/1163a288-7b91-462d-9774-beaf4fc34416
2024-09-30 21:20:08 +00:00
Sergei Garin
d7a87c41f3
Increase z-index for dialogs/popovers (#11168) 2024-09-30 12:31:31 +03:00
somebody1234
5bdd564176
Replace imports of tailwind-variants with imports of #/utilities/tailwindVariants (#11209)
- Replace imports of `tailwind-variants` with imports of `#/utilities/tailwindVariants`
- A very minor change, just wanted to do it for consistency's sake

# Important Notes
None
2024-09-30 08:31:37 +00:00
AdRiley
28a470d705
graph editor icons (#11208) 2024-09-28 16:23:31 +01:00
James Dunkerley
41000b88f1
Fix signing yet again. (#11206)
- Add a new file to list of things to sign...
2024-09-27 20:58:17 +00:00
Adam Obuchowicz
e6b904d012
Integration Tests (#11186)
A stub for integration tests to be run locally; part of #8487

To run tests, you need to:
1. Build IDE package: `./run ide build`
2. set ENSO_TEST_USER and ENSO_TEST_USER_PASSWORD to some working credentials (I used my personal account, but there will be also test user soon)
3. run `corepack pnpm -r --filter enso exec playwright test`

The tests are run with a separate projects directory set up in tmpdir, so any local workspace dir is not affected.

The only test so far just checks if it's possible to log in and create a new project.
2024-09-27 15:11:13 +00:00
Hubert Plociniczak
d4ecac5b68
Don't coerce arg passed to electron (#11200)
Approving to trigger a nightly,

Apparently argument was already a bool.
:fingers-crossed: this is the last fix.
2024-09-27 14:06:59 +01:00
somebody1234
5afcb15ff2
Use color Google and GitHub icons in Login screen (#11194)
- Make Google and GitHub icons full color again

# Important Notes
None
2024-09-27 11:19:10 +00:00
Adam Obuchowicz
79d40820cc
Autosized Component Browser Input (#11161)
Closes #11011

When the code in Component Browser input is longer than the initial width, the CB is extended.

[Screencast From 2024-09-24 14-13-51.webm](https://github.com/user-attachments/assets/ae9df4e2-dcc8-46aa-9977-32f470fd85fd)
2024-09-27 09:08:15 +00:00
somebody1234
f0d02de5c8
E2E tests for setup flow (#11148)
- Add E2E tests for setup flow
- Remove `styled.Checkbox` in favor of `ariaComponents.Checkbox`
- Remove `styled.Input` in favor of `ariaComponents.Input`
- Remove `styled.Button` in favor of `ariaComponents.Button`
- Rename unnecessary `Settings` prefix from components in `Settings/`

# Important Notes
None
2024-09-27 07:05:10 +00:00
somebody1234
f6c262c062
Do not show loading spinner for created projects (#11164)
- Fix https://github.com/enso-org/cloud-v2/issues/1501
- The `Created` project state does not mean the project is opening, so the loading spinner should not appear.
- Regression accidentally introduced by myself in 609d5abbc0 (diff-79e1f8800be680c64a41e2c428927c1f176b728a6a24d5f8c4d02cfc2a3922f9)

# Important Notes
None
2024-09-25 14:00:57 +00:00
somebody1234
c18d581c3e
Fix rest of user/team permissions checks and "new label" dialog (#11126)
- Fix remaining permissions checks to check for team permissions as well, not just user permissions
- Fix https://github.com/enso-org/cloud-v2/issues/1498
- Switch "new label" dialog from `Modal` (old) to `Popover` (new)
- Fix https://github.com/enso-org/cloud-v2/issues/1500
- Show correct project state even for projects not opened as tabs
- Unconditionally show project play icon instead of network (graph) icon, even when user lacks access (no exec permissions, or in the trash category)
- Disable (attempting to) open project in trash via double click

# Important Notes
None
2024-09-25 13:15:52 +00:00
Kaz Wesley
edb4a11c28
Toolbar fixes (#11157)
Fix a couple of issues in the new viz toolbar API.
2024-09-24 13:11:54 +00:00
Paweł Grabarz
e2cf20af5f
Fix application start when YDOC_SERVER_URL is undefined (#11160) 2024-09-24 11:05:25 +00:00
Sergei Garin
e6c038513b
Fix focusing after clicking "Rename" in context menu (#11130)
This PR fixes a behavior when we try to focus an editable span after clicking on "Rename" in the  Context menu
2024-09-24 10:56:26 +00:00
marthasharkey
a04ae1c9ad
scatterplot- on point click (#11142) 2024-09-24 09:14:39 +00:00
Sergei Garin
7baca4d2a1
Fix selecting directory after creating (#11109)
This PR fixes a bug, when directories after creation were not toggled into editing mode
2024-09-24 08:19:38 +00:00
Kaz Wesley
a8810e19f2
New visualization UI API (#11077)
- Improve visualization UI APIs:
- Isolate visualizations within a Vue Custom Element to prevent any unintended interaction between GUI and visualization CSS/JS.
- New visualization-menus API: Visualizations no longer create toolbars using the GUI's components; a simpler JS interface moves the responsibility for appearance of controls to the GUI.
- Simplify visualization configuration interface. Properties that should not be exposed to visualizations have been removed. Visualizations no longer need logic implementing fullscreen mode; the `size` property reflects the current renderable area.
- Visualizations no longer use a `VisualizationContainer`; the visualization simply renders its content at its root.
- Viz dropdowns: Buttons always show arrows (fixes #10809)
- Fullscreen mode: Fix rendering size of scatter plot and other visualizations
- JSON visualization interactivity: Fix intermittent incorrectly non-interactive state
- Viz toolbars: Fix squished-looking rightmost button.

Other API changes:
- `Interaction` no longer includes `GraphNavigator` with pointer events.
2024-09-23 18:31:26 +00:00
James Dunkerley
3f748fdf5c
Change new project text (#11152)
Following feedback from @NedHarding and @AdRiley
![image](https://github.com/user-attachments/assets/820f53e6-70ef-4355-a8a3-52dda1fce6ab)

![image](https://github.com/user-attachments/assets/aa474c2c-73d3-4355-a4aa-ef3990ff6207)
2024-09-23 16:51:32 +00:00
Adam Obuchowicz
3941634036
Table Widget: removing columns and rows (#11151)
Fixes: #10758

[Screencast from 2024-09-23 13-19-31.webm](https://github.com/user-attachments/assets/aa28708e-f4c9-400a-966d-1d82abe99f1e)

# Important Notes
To add custom options, I needed to bump AGGrid version. But not the newest one, as it made some bugs I failed to fix.
2024-09-23 14:24:40 +00:00
Kaz Wesley
3481d20dc6
Component comment fixes (#11144)
<img width="315" alt="Screenshot 2024-09-20 at 10 07 36" src="https://github.com/user-attachments/assets/8886feb7-99f3-4c44-bd2a-c7795f951f8e">

- Comment position when menu is hidden does not obscure input arrow (fixes #11114)
- Comment is not inside a larger invisible bounding box (fixes #11140)
2024-09-23 12:51:19 +00:00
somebody1234
1fc4fe6b6e
Fix width of settings sections when only a single column is visible (#11138)
- Fix settings columns having zero width when only a single column is visible

# Important Notes
None
2024-09-23 09:35:18 +00:00
Hubert Plociniczak
c4ace00a4d
Disable signing artifacts for PRs and develop (#11094)
* Disable signing artifacts for PRs and develop

Added `*-sign-artifacts` to disable/enable signing. By default it is
true, except for PRs and develop.

* nit

* typo

* lint

* linting
2024-09-23 10:00:27 +02:00
Paweł Grabarz
c996707027
Add support for touch-based graph navigation and selection (#11056)
Fixes #9493

Tested on windows desktop (standard mouse), macbook touchpad and iphone, which should behave similarily to windows touchscreen devices.
2024-09-20 16:31:45 +00:00
marthasharkey
b53d7b0521
scatterplot- time series support (#11085) 2024-09-20 15:48:28 +00:00
somebody1234
9126ab23e4
Decode URL pathname for opened file (#11118)
- Attempt to fix an issue where a project opened by double clicking does not URL decode the path to be opened.
- Unable to properly test as I don't normally use Windows (file associations do not work on Linux as we use an AppImage for that platform.)

# Important Notes
None
2024-09-18 09:51:11 +00:00
Sergei Garin
38685dafa9
Fix JsonSchema input sizing (#11097)
* Fix closing delete dialog

* FIx json schema input

* Fix input

* Remove test line
2024-09-18 12:28:34 +03:00
Sergei Garin
55869327d9
Wip/sergeigarin/fix-focus (#11112)
* Fix selecting directory after creating

* Fix focusing
2024-09-18 12:28:05 +03:00
Adam Obuchowicz
5725e2427d
Allow numbers starting with dot in WidgetNumber (#11108)
[Screencast from 2024-09-17 13-20-40.webm](https://github.com/user-attachments/assets/561adebb-7d93-4939-9dde-5453d5f304be)
2024-09-17 13:07:06 +00:00
Adam Obuchowicz
dfc04f4222
Renaming project: fix invalid state when the name does not change (#11103)
Fixes #11101

I did not add tests for it, because I think we'll remove this rename feature in the future.
2024-09-17 13:26:06 +02:00
Adam Obuchowicz
667ce038e7
Fix node removing bug, caused by spurious watchEffect effect. (#11099)
Fixes [#11062](https://github.com/enso-org/enso/issues/11062)

Modified watchEffect to be consistent with Vue behavior + tests. Before the scheduled effects were run even if stopped.

Why it fixes nodes removal? See [this comment](https://github.com/enso-org/enso/issues/11062#issuecomment-2352975474)
2024-09-17 07:12:59 +00:00
Sergei Garin
b14f19f8f7
Fix table dissapear after switching tabs (#11096) 2024-09-16 19:14:09 +00:00
James Dunkerley
0e9821519d
Widget work for AWS (#11095)
- Added `to_display_text` for `S3_File` and `Enso_File`.
- Improved widget for `AWS_Credential` allowing use of Enso secrets.
- Adjust `S3.list_objects` to return `S3_File` objects, allowing easier drill down.
- Fix for merging inherited config with direct config in widgets.
- Add missing constant types to Date.Diff widget.

![image](https://github.com/user-attachments/assets/ea125a09-5067-4dee-bef2-3d7c8d551260)
2024-09-16 18:56:14 +00:00
Sergei Garin
0b91002933
Fix importing conflicting files (#11087)
Closes: enso-org/cloud-v2#1484
2024-09-16 16:16:11 +00:00
James Dunkerley
6ca2c337d0
Disable Invite button for solo/free. (#11089)
Currently shows up in solo mode, enough to just have the Upgrade button.
2024-09-16 15:18:09 +00:00
Adam Obuchowicz
53e101566a
Fix Numeric Input cooperation with Drop Down (#11091)
Fixes #11063

The blur on Numeric Input was removed in https://github.com/enso-org/enso/pull/10337 and then reintroduced in https://github.com/enso-org/enso/pull/10512. I guess it was to handle `tab` properly, so I added another way of handling `tab` and removed blur again (with explanation).
2024-09-16 14:46:58 +00:00
Sergei Garin
bea9d3670a
Follow-up for Remote backend fixes PR (#11080)
This PR is a follow-up for https://github.com/enso-org/enso/pull/11067 that addresses the issues raised in the PR
2024-09-16 12:18:03 +00:00
somebody1234
cad50a5b63
Dashboard fixes (#11059)
- Fix https://github.com/enso-org/cloud-v2/issues/1482
- Fix "clear trash" not doing anything
- Show "shared with" column as "root folder", but only owners (TODO: actually it should only show the first item in the permissions list)
- Fix https://github.com/enso-org/cloud-v2/issues/1480
- Fix importing .enso-projects not doing anything
- Could not repro crash. Also note that we do want to be able to upload files
- Partly address https://github.com/enso-org/cloud-v2/issues/1479
- Remove "invite" and "share" buttons on top right
- Hide "upgrade" button on top right if on Team or Enterprise plan
- Warn when deleting folder (for now warns for all folders otherwise we may need to expand the folder to know whether it is empty)
- Fix importing projects via upload button
- Fix importing projects via drag
- Hide cut on running projects
- Partly address https://github.com/enso-org/cloud-v2/issues/1481
- Fix "edit secret" not showing dialog
- Fix multiple selection context menu in Team space

# Important Notes
None
2024-09-16 09:03:49 +00:00
Hubert Plociniczak
8fab4f5ea6
Workaround for Electron sanbox issues on Ubuntu (#11038)
* Workaround for Electron sanbox issues on Ubuntu

Disabling sanbox, while a non-secure option, appears to be currently the
only option to workaround Electron issues on latest Ubuntu (24.04).
When passed to Enso it is treated as a regular argument, preventing the
start of the product.
This change treats `--no-sandbox` specially by ignoring all arguments
that precede it (and including itself).

* address review
2024-09-13 23:25:32 +02:00
somebody1234
066d4ea609
Local dashboard fixes (#11066)
- Fix https://github.com/enso-org/cloud-v2/issues/1479
- See #11059 for rest of fixes.
- When you add a new folder it is now selected and in rename mode
- Double click opening no longer adds (2) to the name when there are no duplicates
- When dragging a file to upload, the "Drop here to upload box" now properly disappears after dropping
- Fix removing folder from favorites list

Other changes:
- Switch "delete user" modal to new "Dialog" and "Form" components instead of old "Modal" and HTML "form" components

# Important Notes
None
2024-09-13 16:49:14 +00:00
Sergei Garin
bdadedbde5
Cloud backend issues (#11067)
Closes: enso-org/cloud-v2#1481
2024-09-13 15:46:30 +00:00
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