Commit Graph

1622 Commits

Author SHA1 Message Date
Radosław Waśko
d75e20c1d2
Save Database connection as data link, SQL Server data link support (#11343)
- Closes #11294
2024-10-17 09:06:57 +00:00
Adam Obuchowicz
a45e233f03
Table widget: reordering rows and columns (#11271)
Fixes #10759

[Screencast From 2024-10-14 13-51-24.webm](https://github.com/user-attachments/assets/372c6f1b-8281-4bdc-9f46-fa90c3e32764)

# Important Notes
In this task, I also fixed some badly looking spacing after editing vector.
2024-10-17 07:49:01 +00:00
Kaz Wesley
d15a5853a3
syncToCode: Test case for rename binding (#11340)
Add a test case ensuring that the `Ast.syncToCode` algorithm is able to maintain AST identities when a binding and its reference are renamed. This is an important case, as mentioned here: https://github.com/enso-org/enso/issues/11304#issuecomment-2417168559
2024-10-17 07:26:32 +00:00
Sergei Garin
3711b25fa7
Allow updating local assets (#11314)
* Allow updating local assets

* Update shim

* Fix duplicate upload

* Manually invalidate once we upload file

* Fix queryKey

* upd prettier ignore

* revert prettier ignore
2024-10-15 14:32:52 +03:00
Adam Obuchowicz
d1ee7fadce
Remove download font scripts (#11317)
The fonts were added (by mistake) anyway, but they are rarely changed, and the scripts add unnecessary complexity.

This also fixes some post- #11287 problems.
2024-10-14 16:11:42 +00:00
Radosław Waśko
244effde0c
Enable audit logs for Snowflake backend (#11306)
- Closes #11292
- Tries to fix #11300
2024-10-14 14:30:42 +00:00
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
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
Adam Obuchowicz
8908a73f6a
Fix Vector Drag (#11057) 2024-09-12 11:20:49 +01: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
marthasharkey
4ac59827df
Scatterplot fixes (#11041) 2024-09-11 14:03:40 +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
Ilya Bogdanov
a0a4a2fef3
Add regression e2e test for empty graph (#11031)
Closes #11026
2024-09-11 11:40:24 +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
Kaz Wesley
1bcbc00004
Update Vue (#11016)
See: https://blog.vuejs.org/posts/vue-3-5
2024-09-10 13:18:35 -04: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
Adam Obuchowicz
32f10a55f4
Use enso paths in cloud browser (#11001)
Fixes #10947
2024-09-09 22:56:52 +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
Adam Obuchowicz
414eee0b48
Fix initialization after reconnecting (#11014)
Fixes #10948

The problem was in the binary reconnecting: we sent the first "initProtocol" message, but the connection was reset, and then we try to initialize again. While looking good, the problem was that the party websocket we use queued the first initProtocol message and re-send it by itself on reconnect. Our initProtocol was also sent, but it did not get any response, blocking any further request like `writeBytes`.
2024-09-09 13:49:03 +00:00
James Dunkerley
7556d8f794
Add file to be signed. (#11010) 2024-09-09 11:49:16 +01: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
Ilya Bogdanov
7431f1c1b9
Fix CB visualization buttons (#11005)
Fixes #10472

Remove fullscreen button, fix Show/hide button, remove resize handles.

https://github.com/user-attachments/assets/7108bf7e-2f45-4c24-a8c3-d0b3c0135a20
2024-09-09 09:18:05 +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
AdRiley
60ea64e799
Add Not Paragraph icon (#11006)
![image](https://github.com/user-attachments/assets/d597b972-d154-4669-8f9b-fb9fa162e4cf)
2024-09-06 21:59:47 +00:00
Paweł Grabarz
6bfdda33a9
Do not crash on empty main function body. (#10990)
Fixes #10976

https://github.com/user-attachments/assets/00b2279d-2acf-468b-8c3c-aa6885cba23d


Addressed issue of empty body block being incorrectly "repaired" into an empty group, geneating invalid `()` syntax. Appending nodes to an empty function now actually replaces its body block, instead of creating a temporary orphan body block node.

Note that empty main function is still considered an error on the engine side, but it doesn't impact the IDE in negative way. Things work again as soon as a node is inserted.

Also fixed a few issues causing hot-reloading to break. Now edited AST code properly hot-reloads all affected modules without breaking the app.
2024-09-06 18:45:20 +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
marthasharkey
32a1894b04
only show filter/sort node button if node is a table (#10957) 2024-09-06 10:16:45 +00:00
marthasharkey
836953289e
Wip/mk/scatter plot visual improvements (#10959)
* add mutliseries support to d3

* fix types

* fix scales when multiseries

* fix tests

* fix all tests

* basic hardcoded legend working, on only one plot at a time

* basic legend

* legend populating correctly with wrong label names

* legend with tooltip for full length names

* remove unused variale

* key on all nodes

* tooltips on points and labels

* turn on/off d3 'brush' so tool tip is availible to the user

* use colourScale

* fix type problems

* use default colour

* rename variables and remove unneeded code

* fix label

* sort labels in legend

* is multiseries show legend and dont show y label

* address comments

* fix type problem

* Update distribution/lib/Standard/Visualization/0.0.0-dev/src/Scatter_Plot.enso

Co-authored-by: James Dunkerley <jdunkerley@users.noreply.github.com>

---------

Co-authored-by: James Dunkerley <jdunkerley@users.noreply.github.com>
2024-09-06 10:12:55 +01:00
Ilya Bogdanov
ab246539d1
Move component browser help (#10900)
Closes: #10592

https://github.com/user-attachments/assets/12f3d155-b4ea-4c78-a8a5-fb771c80f3f2
2024-09-06 09:00:25 +00:00
AdRiley
2819b42fd5
Add select icon (#10986)
![image](https://github.com/user-attachments/assets/dd30a11b-f2d0-4164-a5e7-228f349c9626)
2024-09-06 07:38:15 +00:00
Sergei Garin
3be8770a0a
Setup Screen Improvements (#10844) 2024-09-05 16:11:02 +00:00
James Dunkerley
e6ea3b2607
Default Project, Templates and Docs (#10980)
- Linting updates.
- Add an `Examples.welcome` and adjust the start up project to use it.
- Merge all of Cass's work into the source code.
- Make example render in mono space font.
2024-09-05 14:36:08 +00:00
Kaz Wesley
ecaee13056
Fix small-plus alignment when visualization is open (#10965) 2024-09-05 09:11:36 -04: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
James Dunkerley
26678f3e71
Couple of small fixes for vizzes. (#10963)
- Improve logic for white space rendering (render leading/trailing in partial, change the tab rendering).
- Escape HTML characters.
- Fix for the geo viz starting zoom and center.

![image](https://github.com/user-attachments/assets/ac8c8893-14b5-4242-ba82-b821797546a1)

![image](https://github.com/user-attachments/assets/a179b4ad-d295-4783-97d9-803b6958cb95)

![image](https://github.com/user-attachments/assets/e4be7a81-28ff-4e79-b6e0-9aadae059270)
2024-09-03 20:17:08 +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
Ilya Bogdanov
da3490ebb7
Disable record button temporarily (#10953)
Related: https://github.com/enso-org/enso/issues/10949
2024-09-02 19:51:35 +00:00
Ilya Bogdanov
3442a3a086
Ignore port updates on removed nodes (#10950)
Fixes #10888, #10925
2024-09-02 19:43:15 +00:00
Ilya Bogdanov
3a310dce87
Fix component list scrolling (#10937)
Fixes https://github.com/enso-org/enso/issues/10927
2024-09-02 17:09:43 +00:00
marthasharkey
9e5773a865
text format selection bug (#10940)
* re introduce dropdown functionality

* on change re draw row heights
2024-09-02 17:24:01 +01: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
Ilya Bogdanov
de5ef92e36
fix viewport jumping when adding new nodes (#10920)
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2024-08-31 09:42:19 +03:00
James Dunkerley
018b676607
Update what needs to be re-signed. (#10922) 2024-08-29 20:25:36 +02: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
2c1fe33f3f
Update launch.json and flake.nix (#10854)
- Update `launch.json` to use PNPM-compatible commands
- `launch.json` is currently used for "Run and Debug" configurations in VS Code
- Update hash of rust-toolchain in `flake.nix`
- `flake.nix` is used in combination with direnv to download and add the appropriate tooling binaries to `$PATH`, on systems with direnv (and Nix) installed

# Important Notes
None
2024-08-28 16:17:48 +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
Kaz Wesley
92995d191f
Fix deletion-failure bug (#10888) (#10889)
Fix intermittent deletion failures (#10888)

- Fix bug in deletion logic (the `syncModule` itself was passed to a function that tried to commit it as an edit)
- Refactor APIs to avoid similar bugs (remove `direct` edit option)

# Important Notes
- `graphStore.getMutable` provides safer access to some of the functionality that was exposed by `direct` editing.
- `graphStore.transact` has been eliminated; it was redundant with `graphStore.batchEdits`.
2024-08-28 14:28:43 +00:00
Kaz Wesley
bd5ab43cf6
Improve component comment positioning (#10885)
Implement #10691
- Comment moves out of way of menu as needed.
- Animate comment and error shifting when menu is toggled.
- Match comment/component spacing to component/error spacing.

https://github.com/user-attachments/assets/7daa342d-a7f1-4f63-b934-1519724a59a5
2024-08-28 14:10:25 +00:00
Kaz Wesley
27f7d14140
Fix collapsed function renaming (#10884)
Fix #10763 and related issues:
- Fix bug preventing `WidgetFunctionName` from matching
- Fix missing icon when `WidgetFunctionName` matches
- Add testing for `WidgetFunctionName`
- Fix `WidgetFunctionName` padding
2024-08-28 11:05:19 +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
Kaz Wesley
582b7f9a2e
Fullscreen improvements (#10876)
Implements #10686.
- Add fullscreen modes to doc editor and code editor
- Contain fullscreen view within graph editor tab
- Prevent persisting or synchronizing fullscreen state
- Animate transition

https://github.com/user-attachments/assets/e88801c2-8c56-494b-8500-95fbd76c4322
2024-08-23 13:00:44 +00:00
Paweł Grabarz
7653280e33
Remove all usages of unstable rust features (#10813)
Removed all `#![feature]` flags, except for `#![feature(test)]`. Once parser benchmarks are ported to something that is compatible with stable rust, we will be able to switch to it.
2024-08-22 14:09:17 +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
Kaz Wesley
6261018591
Fix circular menu z-index and position (#10867)
Dropdown now covers circular menu (fixes issue from #10666).

<img width="295" alt="Screenshot 2024-08-21 at 07 59 24" src="https://github.com/user-attachments/assets/9793b185-a575-4a05-8964-da35c26fecc9">
2024-08-21 20:48:53 +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
Adam Obuchowicz
c294e05fd7
Do not propagate arrow events from Table Widget (#10859)
A trivial fix for bug reported in https://github.com/enso-org/enso/issues/10856

Without it, navigating selection in table widget is also displacing node.
2024-08-21 13:19:52 +00:00
Adam Obuchowicz
a9198c8d06
Make tab accept the text input (#10857)
Fixes #10855

Added handler for `tab` key. We cannot accept input on blur, as sometimes it should not be accepted (as when user clicks at drop-down option where text widget was providing filtering pattern).
2024-08-21 13:08:23 +00:00
Kaz Wesley
45a54b93cd
Dropdown improvements (#10853)
Implement changes requested in #10666.

#### Align left edge with widget

Top-level argument (edge aligned to TLA boundary):

<img width="639" alt="Screenshot 2024-08-20 at 10 10 27" src="https://github.com/user-attachments/assets/eb1712bf-1cbc-4a5d-bdb6-7458f94a27f4">

Nested (edge aligned to start of widget text):

<img width="519" alt="Screenshot 2024-08-20 at 10 11 47" src="https://github.com/user-attachments/assets/477ffe6e-ac00-41fb-bfb0-4d22c25c0f8b">

#### Adjust height

<img width="134" alt="Screenshot 2024-08-20 at 10 06 20" src="https://github.com/user-attachments/assets/17ac485e-deeb-4afd-973b-fc8c182ffb1d">

# Important Notes
- Also some HTML/CSS simplification in `CircularMenu`.
2024-08-21 12:53:11 +00:00
Adam Obuchowicz
2919e5833c
Update filtering in new CB (#10847)
Fixes #10604

Removed many parts of `filtering.ts` and `input.ts` - now our filtering is not "context aware", in the component browsing mode we just take entire input as filtering pattern.

[Screencast from 2024-08-20 11-49-20.webm](https://github.com/user-attachments/assets/23137036-5f46-4982-bac7-9196461e7c9c)

# Important Notes
As we agreed during refinement, I did not focus on exact unit testing - we need to first try the new design out.
2024-08-21 10:59:45 +00:00
Adam Obuchowicz
22263e8ff9
Y-docs: Fix write capability recovery (#10851)
When receiving no write capability in `text/openFile` response, the method returned error without synchronizing, but session state stayed at 'Opening' - this resulted in automatic success on the next retry without actually trying.

Added additional state to handle recovery from missing write capability errors.

# Important Notes
tested by applying the patch below (which simulates problem reported by James):

```diff
diff --git a/app/ydoc-shared/src/languageServer.ts b/app/ydoc-shared/src/languageServer.ts
index e1403f50420247575b437df8c603e5f1701b5e1d..753bbf9f9f449f6130c79040e44607ce0c308f7f 100644
--- a/app/ydoc-shared/src/languageServer.ts
+++ b/app/ydoc-shared/src/languageServer.ts
@@ -3,6 +3,7 @@ import { bytesToHex } from '@noble/hashes/utils'
import { Client, RequestManager } from '@open-rpc/client-js'
import debug from 'debug'
import { ObservableV2 } from 'lib0/observable'
+import { wait } from 'lib0/promise.js'
import { uuidv4 } from 'lib0/random'
import { z } from 'zod'
import { walkFs } from './languageServer/files'
@@ -268,9 +269,25 @@ export class LanguageServer extends ObservableV2<Notifications & TransportEvents
return this.request('session/initProtocolConnection', { clientId }, false)
}

+  private openCalls = 0
/** [Documentation](https://github.com/enso-org/enso/blob/develop/docs/language-server/protocol-language-server.md#textopenfile) */
openTextFile(path: Path): Promise<LsRpcResult<response.OpenTextFile>> {
-    return this.request<response.OpenTextFile>('text/openFile', { path })
+    if (this.openCalls === 0) {
+      this.openCalls = 1
+      return wait(1000).then(() =>
+        Err(new LsRpcError('Simluated timeout', 'text/openFile', { path })),
+      )
+    } else if (this.openCalls === 1) {
+      this.openCalls = 2
+      return this.request<response.OpenTextFile>('text/openFile', { path }).then(value => {
+        if (value.ok) {
+          value.value.writeCapability = null
+        }
+        return value
+      })
+    } else {
+      return this.request<response.OpenTextFile>('text/openFile', { path })
+    }
}

/** [Documentation](https://github.com/enso-org/enso/blob/develop/docs/language-server/protocol-language-server.md#textclosefile) */
```
2024-08-20 14:42:25 +00:00
Kaz Wesley
95e50f48c9
Fix multiselect stability (#10838)
Fix #10543.
2024-08-20 12:45:35 +00:00
Adam Obuchowicz
921632e38d
New design of CB: two modes (#10814)
Fixes #10603

[Screencast from 2024-08-14 12-10-51.webm](https://github.com/user-attachments/assets/fcd5bfa4-b128-4a84-a19f-c14e78dae8c9)

What is not yet implemented: the filtering. That means that spaces keep their special meaning, and we still display modules and types.

The component list itself was refactored to a separate vue component.

The logic of default visualization type in preview changed a bit: as now there is no selected component, we remember with what suggestion have we switched to code edit mode.
2024-08-19 13:28:38 +00:00
Kaz Wesley
2cfd6fa672
Don't select node when output port is clicked. (#10834)
* Don't select node when output port is clicked.

If we select a node on any click, it is not possible to connect from a node's
output port to a hidden-by-default port.

Reverts one commit from #10800.
2024-08-19 08:52:47 -04:00
marthasharkey
b2237f77c7
Add drilldown to XML (#10824)
This adds the drilldown behaviour to XML_Elements.

![10557-xml-drilldown](https://github.com/user-attachments/assets/062d7de9-c157-4ea2-8a9b-a39f91c26581)
2024-08-19 10:12:42 +00:00
Kaz Wesley
b442a38894
Reactive Asts (#10777)
Reactively track reads of fields of all `Ast` objects residing in the `graphStore`'s `syncModule` (i.e. the committed module state). Tracking includes reading the `parent` field of a node.

Note that non-`Ast` structured fields (e.g. `ArgumentDefinition`) are not themselves reactive--an access is tracked when obtaining the object from the `Ast`, not when accessing the inner object's fields. Structured fields are low-level, and mostly not exposed outside `Ast`, so I don't think transitively proxying them would be worth the overhead.

Implements #10697.
2024-08-16 16:35:48 +00:00
marthasharkey
ca396f5d15
Sort toolbar rendering for narrow nodes (#10831) 2024-08-16 15:04:01 +00:00
Paweł Grabarz
4d2cc04e17
More robust ydoc server watch (#10817)
Fixed occasional issues with ydoc server starting in dev mode, which were caused by missing dist file, then nodemon failing to trigger a file watch event after esbuild completion. Now esbuild is directly responsible for managing a child process, without needing an additional layer of file watchers.
2024-08-14 13:17:53 +00:00
Kaz Wesley
a8551c7268
Select node on menu click (#10800)
* Select node on any click

Implements #10689.
2024-08-13 12:30:11 -04:00
Kaz Wesley
82e81acc9c
Wheel/pan zooming maintains pointer scene pos (#10802)
When zooming with the mouse wheel or trackpad gesture, translate the viewport position to keep the same scene point under the cursor.

Implements #10420.
2024-08-13 16:14:04 +00:00
Radosław Waśko
fc3ac6ced1
Various fixes to visualizations (#10745)
- Closes #10716 by un-marking the `Snowflake_Connection` as `private`.
- Does the same to `SQLServer_Connection`.
- Makes sure that `Snowflake_Connection` has correct visualization and enables links for it.
- Adds a fallback in `to_default_visualization_data` and in Table's `prepare_visualization` so that if `to_js_object` of a given type is malformed, we still get some kind of visualization + debug info about the underlying error.
2024-08-13 15:20:55 +00:00
marthasharkey
057beec373
Create node from sort and filter (#10704)
- closes #10491

When the user applies filters or sorts to the table visualisation. A button appears that will allow the user to add components reflecting the sort/filter to the work flow.

- single sort
![10491-single-sort](https://github.com/user-attachments/assets/5cac4365-d525-49ad-a91b-91eb03f53641)

- multi sort
![10491-multi-sort](https://github.com/user-attachments/assets/1f41b77a-47b0-4e73-8632-7094bbbdfbef)

- filter
![10491-filter](https://github.com/user-attachments/assets/78912d9e-7df0-43e6-ba47-0e91279fa1b5)

- true/false filter
![10491-filter-boolean](https://github.com/user-attachments/assets/fc2fc8bd-99f5-46c3-b798-ea3b8b97fd3f)

- sort and filter
![10491-filter-sort](https://github.com/user-attachments/assets/85557220-898f-4d46-9254-d3c4206d52ec)
2024-08-13 15:12:07 +00:00
Kaz Wesley
fa69e17bd1
Show scrollbars when scene is scrollable (#10797)
Implements #10681.
2024-08-13 09:01:04 -04:00
Kaz Wesley
89f50676cd
Fix breadcrumb height (#10801)
Fixes #10652 (extended menu padding seems to have been fixed already; remaining
visual differences are due to icons using different proportions of 16x16 area,
`text1` in particular is tall).
2024-08-13 08:59:44 -04: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
Paweł Grabarz
31e589e362
Do not default to development ydoc server in prod build. (#10786)
Fixes https://github.com/enso-org/enso/issues/10784
2024-08-12 16:52:44 +00:00
Adam Obuchowicz
6eece5f8d6
Table Editor Widget (#10774)
Fixes #10293

The Table Editor Widget allows adding rows and columns, editing cells and renaming columns.

[Screencast from 2024-08-07 13-17-37.webm](https://github.com/user-attachments/assets/d2e708b5-6516-4107-bc17-f018e455c111)

# Important Notes
* The parts of Table Visualization which were useful for the widget were put in vue component. On this occasion, we use aggrid vue.
2024-08-12 14:45:58 +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
marthasharkey
0d5d01a294
Wip/mk/drive drilldown from enso (#10724)
This moves some of the drilldown logic to the enso code and utilises the new 'get_rows' method for Table
2024-08-12 12:51:51 +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
Adam Obuchowicz
09c4b7a993
Fix file open retry in ydocs server (#10787)
There is a code for exponential back off, but the result with error was lost at one place.

Tested by mocking timeouts in our `lanugageServer.ts`

Fixes #10606
2024-08-12 09:57:29 +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
12d690079c
Fix doc editor sync (#10766)
Fixes #10527.
2024-08-07 15:43:26 +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
Kaz Wesley
aafdef1aeb
Improve parser contextualization (#10734) 2024-08-05 15:46:58 +00: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