Commit Graph

1528 Commits

Author SHA1 Message Date
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
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
Ilya Bogdanov
42ba5ee8a2
Fix editing number and string literals from code editor (#10693)
Closes #10684

https://github.com/user-attachments/assets/a6b42121-b684-414c-a370-f64174621212
2024-07-31 14:07:10 +00:00
Adam Obuchowicz
347ef0260f
Fix docpanel scrollArea height (#10721) 2024-07-31 11:02:01 +00:00
Adam Obuchowicz
a64b2c0a08
Remove unnecessary chrome flags (#10619)
Fixes #10487

During my tests, these flags were not needed; without them, electron app displays exactly the same cert warnings as with them:
```
Loading the window address 'https://localhost:8080/?engine.projectManagerUrl=ws%3A%2F%2F127.0.0.1%3A30535'.
[30750:0722/121629.281911:ERROR:cert_verify_proc_builtin.cc(1051)] CertVerifyProcBuiltin for localhost failed:
----- Certificate i=0 (CN=127.0.0.1) -----
ERROR: No matching issuer found
```
in CLI and
![Screenshot from 2024-07-22 10-13-12](https://github.com/user-attachments/assets/82a73c9a-ca46-4880-b94e-e979d30ae97c)

in web console.
2024-07-29 15:00:50 +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
Dmitry Bushev
4dfbbd53f3
Reapply "Persist a subset of IdMap (#10347)" (#10626) (#10700)
Re-enable the IdMap optimization. It was reverted in #10626

#10674 Fixed the issue with loading dynamic widgets.
2024-07-29 08:38:18 +00:00
somebody1234
eb0796c837
Change text under profile picture input (#10694)
- See https://github.com/enso-org/cloud-v2/issues/1408
- Change text under profile picture input

# Important Notes
None
2024-07-29 08:19:51 +00:00
marthasharkey
20a04dbb80
Fix copying cell value in grid (#10680)
<img width="365" alt="image" src="https://github.com/user-attachments/assets/e28c94d3-cbfc-45b0-9f8e-2f833bf2f0f4">

Copy only copies the cell value and no longer the cell value and the header name
Copy with headers will still copy the header name and cell value
2024-07-26 17:31:21 +00:00
somebody1234
fde2f71419
Restructure app/ide-desktop/client/ for consistency with other modules (#10649)
- Change paths from `foo-bar` to `@/fooBar` to be consistent with GUI module naming

# Important Notes
None
2024-07-26 15:14:31 +00:00
marthasharkey
c4e8ae143e
Ag grid boolean inference turned off for mixed type column (#10683)
If one value in a column is a boolean ag-grid renders all values in the column as a checkbox when cellDataTypes is true. This becomes a problem when getting a row of mixed type, so in this situation cellDataType will be set to false.

Bug:
![row-mixed-type-bug-problem](https://github.com/user-attachments/assets/5fcdd96d-8422-4370-b71e-94181ac42e2e)


Fix:
![row-mixed-type-bug-fix](https://github.com/user-attachments/assets/9ad18d1b-1b55-4351-a3ee-57a390b91fc4)
2024-07-26 14:53:02 +00:00
Paweł Grabarz
b95a390854
Avoid calling wasm parser immediately on widget module load. (#10688)
Fixes a race condition causing error in RC4:
```
index-ykDiQPdr.js:38 TypeError: Cannot read properties of undefined (reading '__wbindgen_add_to_stack_pointer')
```
2024-07-26 14:38:42 +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
Ilya Bogdanov
8c4a40c9ff
fix: extended menu button (#10671) 2024-07-25 19:16:30 +00:00
marthasharkey
6189eb3a1c
Text Format Improvements (#10655)
- changes the font to match JSON viz
- changes colour of symbols to #df8800
- shows selected formatting option as button icon
![text-format-imp-1](https://github.com/user-attachments/assets/81a74837-5ae1-44c2-a78e-c351d7f67736)


- removes grid toolbar for single item visualizations
<img width="320" alt="image" src="https://github.com/user-attachments/assets/b6de6f80-0222-40bf-bd74-4e70e8ad1c31">

- sort styling for narrow components
-
![image](https://github.com/user-attachments/assets/2fb8b1f0-0071-4d9f-86b2-f15b0638f64b)
2024-07-25 16:01:31 +00:00
Ilya Bogdanov
5366dd384f
Fix doc panel images (#10673)
Transformers from our custom plugins were ignored because of misconfiguration of lexical markdown plugin.

Part of #10435


https://github.com/user-attachments/assets/48b22546-9893-42f8-9a3b-5ed6070c4eaf
2024-07-25 15:31:33 +00:00
Paweł Grabarz
8a3180eb89
Refactor node layout to handle arbitrary widget sizes, add Table.new widget stub (#10599)
Implements #10484, also fixed an issue with dropdown arrow icon being pointed in the wrong direction.

Changed the way we handle spacing around ports and other rounded widgets. Now it is the innermost token element that actually pads itself when appropriate, allowing rounded widgets to stay tightly nested together. This cleans up an issue we've had with an unnecessary padding at the end of node, and makes margins easier to control in general.


<img width="371" alt="image" src="https://github.com/user-attachments/assets/4aa2ae0f-06f6-45fd-b7a1-1b7c0f60d395">
2024-07-25 14:26:29 +00: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
c7e27433dc
Fix Project Manager shim for GUI (#10653)
- Fix #10588
- Add missing `--filesystem-exists` functionality to PM shim
- Add warning to PM shim when any future methods are added to the actual PM but not the shim

Unrelated changes:
- Remove unused methods from PM shim

# Important Notes
None
2024-07-24 12:08:16 +00:00
Adam Obuchowicz
82052e81aa
Fix list widget reordering (#10654)
Fixes, but does not close #10651 - I will try adding some e2e tests for dragging (again).

The problem is, that removing/hiding element in the same frame as dragging starts, the drag is stopped immediately. It is presented here: https://jsfiddle.net/1g34jhe9/ (change `HIDE_IN_NEXT_FRAME` to compare).

In our case, the element removal was technically postponed to `nextTick`, but that is not enough after some version bump, as this tick occures after DOM recalculating, not necessarily after _rendering_ - changed it to setTimeout with proper comment.
2024-07-24 10:59:38 +00:00
Kaz Wesley
e5b85bf16e
Space-precedence does not apply to value-level operators (#10597)
In a sequence of value-level operators, whitespace does not affect relative precedence. Functional operators still follow the space-precedence rules.

The "functional" operators are: `>> << |> |>> <| <<| : .`, application, and any operator containing `<-` or `->`. All other operators are considered value-level operators.

Asymmetric whitespace can still be used to form *operator sections* of value-level operators, e.g. `+2 * 3` is still equivalent to `x -> (x+2) * 3`.

Precedence of application is unchanged, so `f x+y` is still equivalent to `f (x + y)` and `f x+y * z` is still equivalent to `(f (x + y)) * z`.

Any attempt to use spacing to override value-level operator precedence will be caught by the new enso linter. Mixed spacing (for clarity) in value-operator expressions is allowed, as long as it is consistent with the precedences of the operators.

Closes #10366.

# Important Notes
Precedence warnings:
- The parser emits a warning if the whitespace in an expression is inconsistent with its effective precedence.
- A new enso linter can be run with `./run libraries lint`. It parses all `.enso` files in `distribution/lib` and `test`, and reports any errors or warnings. It can also be run on individual files: `cargo run --release --bin check_syntax -- file1 file2...` (the result may be easier to read than the `./run` output).
- The linter is also run as part of `./run lint`, so it is checked in CI.

Additional language change:
- The exponentiation operator (`^`) now has higher precedence than the multiplication class (`*`, `/`, `%`). This change did not affect any current enso files.

Library changes:
- The libraries have been updated. The new warnings were used to identify all affected code; the changes themselves have not been programmatically verified (in many cases their equivalence relies on the commutativity of string concatenation).
2024-07-24 10:55:44 +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
somebody1234
7a26334519
Check version (#10646)
- Close https://github.com/enso-org/cloud-v2/issues/1299
- Add component that checks whether the current version of the desktop app is out of date
- Add Devtools toggle so that the functionality is testable in dev servers

# Important Notes
- This functionality is disabled when it is not applicable:
- On the Electron watch mode (as development branches do not need to be the latest version)
- Note however that built apps (`./run ide build`) do still have the check enabled.
- On the cloud dashboard without Electron (as it cannot be updated)
2024-07-24 08:52:14 +00:00
Sergei Garin
db669a67fb
Billing Page iteration one (#10497)
#### Tl;dr
Closes: enso-org/cloud-v2#1158
This PR adds a redirect to the stripe page where the user can manage his subscription

<details><summary>Demo Presentation</summary>
<p>

https://github.com/enso-org/enso/assets/61194245/360fdc7e-46ff-49fa-9936-e5c61fe6f917

</p>
</details>

---

#### Context:
Our first iteration was to add our billing page but after a few iterations, we decided to postpone it in favor of more important features.

#### This Change:
1. creates a link for a private user session
2. redirect the user to that page (open in a new tab) when the user clicks on the billing tab

#### Test Plan:
Go over how you plan to test it. Your test plan should be more thorough the riskier the change is. For major changes, I like to describe how I E2E tested it and will monitor the rollout.

---
2024-07-23 19:10:21 +00:00
marthasharkey
da1ceed253
Use a class for styling rather than <a> (#10617)
this changes from using `<a>` to `<div class='link'>` for the cells with on double click behaviour in the table viz
2024-07-23 13:08:17 +00:00
marthasharkey
8af3fd42b9
Wip/mk/whitespace chars monospace font table viz (#10563)
- closes #10247

Partial (default) setting:
<img width="885" alt="image" src="https://github.com/user-attachments/assets/18dd7304-a7d6-47cf-8606-11025fa3b7a7">

Full:
<img width="892" alt="image" src="https://github.com/user-attachments/assets/e059ea6b-6cc0-47b7-b784-7a5f926eb000">

Off:
<img width="944" alt="image" src="https://github.com/user-attachments/assets/5f51c642-9adb-4b92-808f-c98a03a1a69c">

Dropdown:
![10247-dropdown](https://github.com/user-attachments/assets/76a6ebec-8a9c-4d7e-8421-997afed2bf52)
2024-07-23 12:20:44 +00:00
Sergei Garin
c11f5aeed2
Fix the OAuth redirect on windows (#10629) 2024-07-23 10:27:27 +00:00
somebody1234
7e4c25c167
Use correct URL for YDoc server on Cloud (#10566)
- Fix https://github.com/enso-org/cloud-v2/issues/1314
- Use correct URL for YDoc server on Cloud

# Important Notes
- Note that Cloud Projects should also be checked on the desktop app.
2024-07-23 07:46:02 +00:00
Adam Obuchowicz
8bce22a122
Visuali fixes in multiselect drop-down (#10607)
* Visuali fixes in multiselect drop-down

* Changelog

* Apply @kazcw review

Merging as Vector incomparable issue nothing to do with this.
2024-07-23 07:39:53 +01:00
Hubert Plociniczak
033e4ae323
Revert "Persist a subset of IdMap (#10347)" (#10626)
This reverts commit b2c4559678.

Merging as just failing the Vector tests addressed in another PR.
2024-07-22 17:24:13 +01:00
somebody1234
5bc873178a
Fixes (including downloading Local projects from nested directories) (#10585)
- Address part of https://github.com/enso-org/cloud-v2/issues/1350
- Turns out the reason downloads were broken were (I assume) the query string was getting lost - so the Electron server never passed the correct parent directory to the backend.
- Fix "Escape" key using old project ID and navigating to a nonexistent tab
- Fix validation for tab names (previously all strings were passing validation due to an incorrect custom predicate being passed to `zod`)
- Add clip path to entire tab bar so that the bottoms of tabs are cut off on hover if they are next to the currently selected tab.
- Add s-shaped curve to hovered tabs, so that their edges match the edges of the currently selected tab.
- Avoid navigating back to "Data Catalog" page when closing a project tab, when the project tab is not the currently open page.
- Fix size of paywall icons in "Shared With" column (16px to be consistent with all other icons)

# Important Notes
None
2024-07-22 09:40:14 +00:00
marthasharkey
5066b5764e
remove control + click opening enso in browser (#10596)
this removed the bug that when you control + clicked on a linked cell it would open enso in browser
2024-07-22 08:45:15 +00:00
Adam Obuchowicz
59f438e00d
Improve output node (#10577)
Fixes #10459

The node is no longer removable and have special icon; if consist of only an identifier (a typical case for collapsed node), the identifier is replaced with icon (like self arguments in normal components).

[Screencast from 2024-07-17 15-18-28.webm](https://github.com/user-attachments/assets/91d48759-3d44-47ac-bbd2-b9a6085ade82)
2024-07-19 11:50:14 +00:00
Ilya Bogdanov
82e7221c92
Fix pasting external images in docs (#10590)
First part of https://github.com/enso-org/enso/issues/10435

See individual commits for description of changes.

https://github.com/user-attachments/assets/022f3251-722d-43ac-b056-52360ddd7b04
2024-07-19 04:58:59 +00:00
Kaz Wesley
4cff789b69
Refactor precedence for whitespace changes (#10569)
Single-phase whitespace-aware precedence resolution.

#### Performance
![newplot(4)](https://github.com/user-attachments/assets/9822b0dc-17c3-4d2d-adf7-eb8b1c240522)
Since this is a major refactor of the core of the parser, I benchmarked it; it's about 3% faster.

# Important Notes
- Move operator-identifier recognition to lexer.
- Move compound-token assembly out of precedence resolver
2024-07-18 15:48:20 +00:00
Ilya Bogdanov
22495e0592
Fix doc panel resizing (#10591)
One of the tasks in https://github.com/enso-org/enso/issues/10435
2024-07-18 13:01:05 +00:00
Hubert Plociniczak
473a51cee7
Always write Config's namespace and dashboard accepts a default one (#10572)
Closes #10564. Dashboard accepts only projects with non-empty namespace.
The change in project-manager ensures that we serialize `namespace` even if it is a default one.
The change in dashboard ensures that namespace can be empty.
2024-07-18 10:29:37 +00:00
somebody1234
0f31fee5ef
Auto scroll for all types of drags (#10584)
- Partly addresses https://github.com/enso-org/cloud-v2/issues/1350
- Enable autoscroll for any type of drag (previously only enabled for selections)

# Important Notes
- So I implemented this ages ago, not sure why I never opened a PR... I guess it's possible that I just never got around to testing whether it worked properly
2024-07-18 08:49:39 +00:00
somebody1234
27515c49d4
Dashboard support for renaming assets from Graph Editor (#10383)
- Close https://github.com/enso-org/cloud-v2/issues/1318
- Rename tab when project is renamed
- Update project name in GUI when renamed on Cloud backend (since it does not trigger a LS rename when on the cloud backend)

# Important Notes
None
2024-07-18 04:49:55 +00:00
somebody1234
836a7e1272
Still more dashboard fixes (#10573)
- Close https://github.com/enso-org/cloud-v2/issues/1369
- Add button to refresh project logs
- Fix https://github.com/enso-org/cloud-v2/issues/1385
- Fix issues related to Data Links
- Fix freeze when closing tab (e.g. project tab) (regression introduced when switching to `react-aria` Tabs, oops...)

# Important Notes
None
2024-07-17 23:52:27 +00:00
Ilya Bogdanov
d1c04fdd30
Fix issue with documentation panel focus (#10558)
Fixes #10471
2024-07-17 14:23:46 +00:00
somebody1234
ebf4cd5c1f
Inline modules in app/ide-desktop/ (#10305)
- Remove unnecessary modules
- Remove `ts-plugin-namespace-auto-import` as it was a workaround to use the non-conventional `import *` convention
- Remove `esbuild-plugin-copy-directories` as it is unuse
- Inline modules that are only ever used once
- Inline `project-manager-shim` into `gui2` - it is only used during `gui2`'s dev mode
- Inline `content-config` into `client`
- Flatten `app/ide-desktop/lib/` to `app/ide-desktop/`
- Flatten `app/ide-desktop/lib/dashboard/` to `app/dashboard/`

# Important Notes
- As mentioned above, all remaining modules have been moved up from `app/ide-desktop/lib/` to `app/ide-desktop/`. It's not ideal but I'd rather hold off on moving them anywhere else before we have a consensus on what should go where.
- (That is to say, this may not be the final directory structure - but I figure it's fine to get *something* done so that hopefully the rest of the restructuring is simpler.)
2024-07-17 09:10:42 +00:00
AdRiley
2d6c86398d
Update icons (#10570) 2024-07-16 20:46:38 +01:00
AdRiley
cd1d61710f
Rename run workflow button to write (#10568)
Request from Product team to not have a run button. Renaming it to write
2024-07-16 18:04:31 +00:00
somebody1234
418a6b5372
Single instance (#10552)
- Close #10169
- Open files in the existing instance of the IDE when double clicked.

# Important Notes
None
2024-07-16 17:51:38 +00:00
somebody1234
06274a2c5b
Fix React warnings (#10404)
Fix some React warnings:
- Fix warning about nested `button`s when close button is in tab button
- The fix for now is to change the outer `button` to a link without a `href`. It's not ideal but we still want to use the CSS that comes with buttons, we just can't have nested `button` elements in HTML.
- Fix warning about setting state outside of a `useEffect` when deciding to show Local category when user is not enabled
- Fix passing invalid `isInvalid` prop to plain HTML element in ToS modal

# Important Notes
None
2024-07-16 15:52:00 +00:00
Adam Obuchowicz
73b12d0d60
Fix flaky test (#10565)
One of our tests was flaky: one check failed immediately because there were two drop-down elements. I've never caught them in the screenshot, so it's probably near-one-frame state caused by some transitioning.

I added a "wait-check" for single drop-down.
2024-07-16 13:45:20 +00:00
somebody1234
cf9d757457
Even more dashboard fixes (#10541)
- Fix https://github.com/enso-org/cloud-v2/issues/1383
- Fix file download - both on Electron, and in browser
- Refresh versions list when uploading neww file version
- Fix app crashing when asset is opened in asset panel while switching to Local Backend
- Don't show asset id when asset is opened in asset panel, but user is on the Local backend, resulting in the internal Asset ID being shown
- Fix drag-n-drop
- ⚠️ `npm run dev` is NOT fixed in this PR - however it should already be fixed in another PR which has already been merged. This needs testing to confirm whether it is fixed though.

Other changes:
- Add support for "duplicate project" endpoint on Local Backend
- Fix downloading project from nested directory on Local Backend (not working)
- Refactor more E2E tests to use the "new" architecture
- Simplify "new" E2E architecture to minimize boilerplate

# Important Notes
- When testing downloads, both Electron and browser should be tested as they use completely separate implementations for how files are downloaded.
2024-07-16 09:55:45 +00:00
Kaz Wesley
11d2a44792
Cloud file browser (#10513)
https://github.com/user-attachments/assets/54cc375d-2a77-431c-af85-75fc872e2bcc

Closes #10167.
2024-07-15 15:22:51 +00:00
AdRiley
d1b5bd9767
Add paragraph (#10548)
Forcing in as Engine issue is nothing to do with this.
2024-07-15 11:33:29 +01:00
somebody1234
151438157e
Optimize assets table (#10522)
- Fix https://github.com/enso-org/cloud-v2/issues/1379
- Stop re-rendering the entire `AssetsTable` on every `AssetEvent`
- This is achieved by using `zustand` for fine-grained reactivity.

Other misc fixes:
- Fix "unique key prop" error in sidebar
- Vertically center asset panel toggle icon in top bar
- Limit width of asset names (show tooltip when asset name is too wide)

# Important Notes
None
2024-07-15 10:06:15 +00:00
Adam Obuchowicz
bfb1d8e6b7
Move warning msg below viz (#10546)
Fixes [10450](https://github.com/enso-org/enso/issues/10450)

![image](https://github.com/user-attachments/assets/21efe4e0-922b-4a83-8f6e-ddaea360e655)
2024-07-13 16:42:31 +00:00
Ilya Bogdanov
3d967ae3b7
Add shortcuts.md (#10523)
Brings back `shortcuts.md` that was removed when refactoring the repo.

We plan to auto-generate this file from the list of our shortcuts, but for now, a manually edited and imperfect document is better than no document.
2024-07-12 14:46:10 +00:00
Sergei Garin
9e19092288
Fix devtools (#10540)
Merging as requested bypassing a few checks to let stuff progress.
2024-07-12 12:41:34 +01:00
Paweł Grabarz
1096489cc8
Use ExternalId for NodeId and preserve it through argument deletions. (#10512)
Fixes #10311

Using `ExternalId` for `NodeId` allows us to match the idea of node identity with engine. That means any bugs that would cause the identity to change will be immediately visible on UI due to misplaced metadata or node being unnecessarily rerendered from scratch. This change and an addional bugfix of argument deletion handling makes the node view stable on edits and allows tabbing through arguments.

https://github.com/enso-org/enso/assets/919491/72d9ec29-54ed-4899-aac1-6678a001a21d
2024-07-12 10:45:57 +00:00
marthasharkey
4c0fbf0e19
rename tooltip message, sort sorting for truncated data and re introduce the row label (#10533)
closes #10530

this renames the tooltip from using 'node' to 'component,

<img width="341" alt="image" src="https://github.com/enso-org/enso/assets/170310417/1ee35556-a982-47aa-99ac-544108b11afe">

![row-label](https://github.com/enso-org/enso/assets/170310417/d81482d9-df49-45da-b447-571a8e9171ea)
2024-07-11 18:28:47 +00:00
Kaz Wesley
017cf4f98e
Fix permissions style (#10534) 2024-07-11 11:14:03 -07:00
marthasharkey
b189ceae47
re-add truncated check to column sort (#10521)
closes #10490
2024-07-11 12:30:53 +00:00
Sergei Garin
70887ea30c
Fix logout (#10524) 2024-07-11 14:34:33 +03:00
marthasharkey
1f1b4d1bec
reintroduce column sort (#10496)
This re introduces the column sort behaviour that was lost when the type indicator was added
![column-sort](https://github.com/enso-org/enso/assets/170310417/fe33faed-d816-4447-bd57-755fd3c06856)
2024-07-10 21:25:59 +00:00
Kaz Wesley
32e843c614
Expose backend API to IDE (#10442)
Move `Backend` and supporting APIs from `dashboard` to `enso-common`.

Closes #10400.

# Important Notes
- The utility modules required by `Backend` have been moved to `enso-common`. Those defining general-purpose helpers for working with standard types are now in a submodule `utilities/data` to match the IDE organization; in the future we can merge them with the `util/data` gui2 subtree. Moved utilities are reexported from their dashboard locations, so that moved and not-yet-moved modules can be imported consistently.
- The `text` module has been moved to `enso-common`; the IDE doesn't have any localization mechanism yet, so we can share this one.
2024-07-10 21:04:37 +00:00
Adam Obuchowicz
60c1a0e1f6
Record control tweaks (#10509)
Fixes #10388

[Screencast from 2024-07-10 13-55-46.webm](https://github.com/enso-org/enso/assets/3919101/4ad7c039-84f6-4e42-aad9-5e287ccd88bb)

# Important Notes
Also, removed unnecessary  setExecutionEnvironment call on startup
2024-07-10 20:19:23 +00:00
Sergei Garin
09521f9a39
Fix opening local projects (#10511)
Related #10510

Await in the middle of the `getProjectDetails` leads to a non-deterministic result (in case if project opens during the await we get placeholder data with status = 'opened'
2024-07-10 18:03:02 +00:00
Sergei Garin
4ce557b3d8
Add ability to choose a plan in enso devtools (#10499)
* Add ability to choose user plan in devtools

* move devtools into a dedicated folder

* use enterprize in mocks

* try fix issues
2024-07-10 20:46:54 +03:00
Ilya Bogdanov
6ebcc1ddf9
Remove navigation buttons from nav bar (#10506)
Closes #10485

<img width="516" alt="Screenshot 2024-07-10 at 3 07 22 PM" src="https://github.com/enso-org/enso/assets/6566674/417b8e6a-8f4b-409c-8646-a3d424ccbca7">

# Important Notes
This task is done as per the attached issue. However, this change is not reflected in the latest version of Figma design as far as I’m aware.
2024-07-10 13:36:35 +00:00
somebody1234
da6af3e896
Scope CSS code (#10489)
- Fix #10470
- Fix scoped styles for GUI

# Important Notes
None
2024-07-10 11:49:38 +00:00
marthasharkey
530d10d9bd
hide row count for some table visualizations (#10492)
This will hide the row count when `all_rows_count` isn't sent in the JSON for visualization. This will keep the row count for Vectors, Maps, Tables, Columns but hide for other single value thing in tables.
<img width="585" alt="image" src="https://github.com/enso-org/enso/assets/170310417/843e022d-4265-4845-a9c1-c4404d0db64f">
2024-07-10 10:39:53 +00:00
Adam Obuchowicz
38bbd8b6e6
Numeric input does not allow non-numeric value (#10457)
Fixes #9838 (see the "backlog refinement" comment there).

When someone want's to accept invalid input, it gets reverted to last recorded valid value.
2024-07-10 10:38:38 +00:00
Sergei Garin
590526a7a6
Rename Organization -> Enterprise (#10502) 2024-07-10 12:47:28 +03:00
somebody1234
b55086de75
More dashboard fixes (#10494)
- Fix context menu floating some distance away from the right side when clicking near right edge
- Add a line beside nested categories to make it clearer that it's not a UI glitch
- Fix watch mode for electron app

# Important Notes
None
2024-07-10 09:04:20 +00:00
Kaz Wesley
bc92035683
Share tanstack QueryClient between dashboard and IDE (#10431)
* Share tanstack QueryClient between dashboard and IDE

Part of #10400.

* Lint

* Review: Use enso-common

* Remove outdated README

* Naming

* Fix

* Lint

* enso-common CODEOWNERS: GUI+Dashboard

* Review: Prepare for GUI to be run from cloud entry point

* Lint

* Lint

* Fix e2e tests

* Fix e2e tests in CI?

* Clean CI build

* Revert "Clean CI build"

This reverts commit 73f2fb7972.

* Fix redundant dependency

* Work around a vue-query bug

* Lint

* fmt
2024-07-09 11:01:10 -04:00
Sergei Garin
e4da96e943
Fix opening projects (#10433)
#### Tl;dr
- Closes: enso-org/cloud-v2#1338
This PR fixes bugs with opened projects. Now all projects close/open properly and list of opened projects stored in the single place

---

#### Context:
Few sentences on the high level context for the change. Link to relevant design docs or discussion.

#### This Change:
What this change does in the larger context. Specific details to highlight for review:
1. Removes a bunch of useEffects across the Dashboard page
2. Project status now a react-query state, can be reused across the app
3. Eliminated the need of `waitIntilProjectIsOpened`

---
2024-07-09 14:47:46 +00:00
somebody1234
9229010cb6
Dashboard fixes (#10423)
- Fix some of https://github.com/enso-org/cloud-v2/issues/1350
- Move close icon back to right hand side of tabs
- Change icon for Local category to a computer
- Fix rendering of buttons in the delete pop up
- Remove "Versions" and "Sessions" buttons in Local mode from properties sidebar
- Also remove "Shared with" and "Labels" in Local mode
- Show real path of all assets in properties sidebar when in Local mode
- Opening Settings properly closes the user menu again
- "Export" tooltip changed to "Download"
- "Open help chat" button removed for now

Notes:
- re: Download within a folder doesn't work - this is due to the frontend using a PM endpoint that doesn't support specifying the parent directory
2024-07-09 12:54:09 +00:00
Dmitry Bushev
b2c4559678
Persist a subset of IdMap (#10347)
close #9257

Changelog:
- update: Store in the file only the subset of IdMap containing the IDs used in the metadata section on the 2nd line. The full IdMap is transmitted as a parameter of the `text/applyEdit` request.
2024-07-08 17:59:50 +00:00
somebody1234
30d97750bf
Replace Button variant="custom" with appropriate variant whenever possible (#10315)
Buttons were switched to `variant="custom"` as low hanging fruit in order to remove `UnstyledButton` (which was strictly inferior UX wise).

- Switch buttons to use `variant="submit"` or `variant="cancel"` as appropriate
- Replace both `ButtonBar` and `HorizontalMenuBar` with `ButtonGroup`

# Important Notes
None
2024-07-08 14:32:24 +00:00
James Dunkerley
d65371096b
Deserialise large integer and decimals from JSON automatically. (#10463)
- Sort large integer and decimal JSON deserialization.
- Change type to be Integer instead of BigInt for large integers.
- Add tests.
- Update Table viz.
- Preserve white space in JSON viz.
![image](https://github.com/enso-org/enso/assets/4699705/48c83616-c0ed-4cb4-862a-34cd4fff09aa)

![image](https://github.com/enso-org/enso/assets/4699705/5bae9ccd-1d0f-4b70-aea5-d4cebc3d9df8)
2024-07-05 21:56:08 +00:00
Paweł Grabarz
d9972d547a
Migrate to pnpm (#10422)
Fixes #10197

# Important Notes
From now on, package installation will be using `pnpm install`. Installing it globally is fine for convenience, but it can also be used as `corepack pnpm install` without having to install anything other than node. For now, all other scripts are still invoked using `npm`, so we can still invoke them with usual `--workspace` setting. As far as I can tell that doesn't really have any other side effects and is identical as running the script through `pnpm run` in respective workspace project subdirectory.
2024-07-05 11:13:04 +00:00
James Dunkerley
0661f17d1c
Tune Text.trim, fix for Text.split (#10445)
- Rename `Location.Start` to `Location.Left`.
- Rename `Location.End` to `Location.Right`.
- Use auto-scoping for `Location`.
- Tune widgets for `Text.trim`.
- Correct signature of `Text.split`.
- Adjist `generateLocallyUniqueIdent` to not fail on bad signature.
2024-07-04 22:24:56 +00:00
Kaz Wesley
d46e4ac609
Doc editor and code editor are toggleable docks (#10413)
Dock improvements:
- Right and bottom docks are toggled with buttons.
- Bottom dock:
- Fills available width.
- Height resize handle behaves like right dock's.
- Documentation editor: Top toolbar is outside scrollable area.
- Extended menu: Entries have icons.
- Add component button: Now in bottom-right.

https://github.com/enso-org/enso/assets/1047859/19d64fed-74ab-48c2-af0e-48f140fa8474

Closes #10385, #10386.

# Important Notes
- `unrefElement`: Fixed a type-safety bug in; documented a reactivity limitation.
- `keyboardBusy`: Fixed a bug where shortcuts were ignored after clicking any button.
- Fixed right-dock slide-in animation.
2024-07-04 20:55:59 +00:00
Kaz Wesley
48eb173357
External documentation (#10396)
- Button shown in CB and circular menu opens documentation in new window.
- F1 key opens documentation for selected node.

https://github.com/enso-org/enso/assets/1047859/24d7e8cc-3f5c-4644-9d11-7deb5d1a8767

Closes #10276.
2024-07-04 16:01:00 +00:00
James Dunkerley
891f176e9c
Auto create the root folder if not present. (#10444)
Adds `filesystem-exists` to Project Manager CLI.
If the root folder isn't present will add it at start up.
2024-07-04 14:58:47 +00:00
marthasharkey
ee44aec7e1
Decimal in table viz (#10439) 2024-07-04 14:08:59 +00:00
Adam Obuchowicz
91ad82ef51
Add node button is above port (#10443)
Fixes #10270

![image](https://github.com/enso-org/enso/assets/3919101/d8beb8d8-f828-482c-bd8b-0a8d86ae29d3)
2024-07-04 14:01:07 +00:00
somebody1234
d5a04a767e
Fix errors in GUI WebSockets (#10421)
- Fix https://github.com/enso-org/cloud-v2/issues/1337
- Fix #10381 (same issue)
- This was caused by queued execution context tasks delaying the disposal of the WebSocket connections - I guess because the WebSocket is closed, either the queue never reaches that point, or retries take too long to reach that point?
- There was also another issue caused by the Dashboard incorrectly caching the `project`, causing the endpoint URLs to become outdated.

Misc changes:
- Change `Editor.tsx` to not return two different component trees. This avoids React unmounting and re-mounting the GUI app.

# Important Notes
None
2024-07-04 12:48:57 +00:00
Sergei Garin
3de873f97c
Fix searchbar visuals (#10436)
https://github.com/enso-org/enso/assets/61194245/27ea6c4a-e8cb-4e03-8932-f5d75918af0c
2024-07-03 18:20:17 +00:00
marthasharkey
ee39fd7f53
Visualise excelwork book sheets, db tables/schemas and add node adding gets to query them (#10362)
changes to current table (and db table) on index click:
- node added on double click
- tooltip added
- cursor changes to pointer
- styled as a link

![7473-table-w-links](https://github.com/enso-org/enso/assets/170310417/5e60c177-3f83-4db7-be86-fa8a9d493204)


Row table types:
Added on click to show value
![7473-row-links](https://github.com/enso-org/enso/assets/170310417/82f878ea-420d-4308-99bf-c77a6340a8c3)



Excel Workbook connections
- show sheet names in column
- sheet names are clickable that add a 'read' node for the corresponding sheet
- Shown in table with header title: Sheets

![7473-excel-links-sheets](https://github.com/enso-org/enso/assets/170310417/748f524e-5cca-4c20-b458-132af9a57ec1)


SQLite Connection:
- shows available schemas in column
- schemas are clickable that add a 'query' node for the corresponding schema/table
![7473-sql-lite-links](https://github.com/enso-org/enso/assets/170310417/21a8006f-c462-4128-874d-05380d3bab00)


Postgres Connection:
- shows available tables in a column
- tables are clickable and add a 'query' node for the corresponding table
![7473-postgres-links](https://github.com/enso-org/enso/assets/170310417/66b134ff-80fd-4995-b445-505919e25cfa)

JS_Object
- style keys as links
![7473-json-links](https://github.com/enso-org/enso/assets/170310417/9ec17c85-c1f4-42ab-b40a-06d6bc29d54f)
2024-07-03 13:58:07 +00:00
James Dunkerley
4bb82fae4a
Fix issues with Date.new Widgets and Some Viz Fixes. (#10430)
- Do not include nothing values for optional parameters when serializing widgets.
- Serialize Nothing as `{"type": "Nothing"}` for the default JSON viz.
- Add JS Object support for decimal.
- Fix `to_json` for large integers

![image](https://github.com/enso-org/enso/assets/4699705/88a404a3-537d-4be7-9a47-c896d2f8b378)

![image](https://github.com/enso-org/enso/assets/4699705/ce09955e-b377-431a-aca3-28f442c772a6)

![image](https://github.com/enso-org/enso/assets/4699705/d0c99a0b-1964-4874-8d87-41979a17a359)

![image](https://github.com/enso-org/enso/assets/4699705/32ade951-0921-4837-9c35-9b60488f863f)

![image](https://github.com/enso-org/enso/assets/4699705/f0fba27a-dfcc-4f17-a883-deb23757f74e)
2024-07-03 06:41:40 +00:00
James Dunkerley
08ec3acdd4
Fade the background and darken text. (#10424)
Another go at getting colours right...

![image](https://github.com/enso-org/enso/assets/4699705/68bced90-fca5-41c9-a1c9-6ea0c29f274a)

Mute the background colour and darken text.

![image](https://github.com/enso-org/enso/assets/4699705/e0c4d5f1-82c9-4838-b7ff-a3887a59885b)
2024-07-02 17:21:20 +00:00
Kaz Wesley
2168cfdf6b
Top-level add-node button creates disconnected component. (#10416)
Closes #10389.
2024-07-02 12:59:06 +00:00
James Dunkerley
69b5f719e8
Adjust Colours. (#10417)
- Change the lightness of the component colours to match Figma.
- Remove the background image from tailwind.css.
- Alter the code editor background to be white.
- Make the selection colour much brighter in the dashboard.

![image](https://github.com/enso-org/enso/assets/4699705/4ae8f03a-bdeb-48cf-86eb-aa058a2a1b01)

![image](https://github.com/enso-org/enso/assets/4699705/eb5d4cf8-d275-4c0d-b876-4a29ce7768bf)

![image](https://github.com/enso-org/enso/assets/4699705/0df64403-75e5-4e44-a818-58cedbbcd3c9)

# Important Notes
Removed the `is-hidden-file` package from the project manager shim. It seems to be unreliable in Win11 and as just for local testing made just do dot file logic.
2024-07-01 20:01:18 +00:00
AdRiley
a07ccc68d4
Add zoom icon (#10405)
![image](https://github.com/enso-org/enso/assets/1720119/cdc790f0-62c9-4fee-819a-f5e51bb54ff7)
2024-06-28 16:16:28 +00:00