- related #7954
Changelog:
- update: Ydoc starts with the language server on the `localhost:1234` by default. The hostname and ports can be configured by setting environment variables `LANGUAGE_SERVER_YDOC_HOSTNAME` and `LANGUAGE_SERVER_YDOC_PORT`
- update: by default `npm dev run` uses the node Ydoc server. You can control it with `POLYGLOT_YDOC_SERVER` env variable. For example,
```
env POLYGLOT_YDOC_SERVER='true' npm --workspace=enso-gui2 run dev
```
To connect to the Ydoc server running on the 1234 port (the one started with the language server)
⠀
```
env POLYGLOT_YDOC_SERVER='ws://127.0.0.1:1235' npm --workspace=enso-gui2 run dev
```
To connect to the provided URL. Can be useful for debugging when you start a separate Ydoc process.
- update: run `npm install` before the engine build. It is required to create the Ydoc JS bundle.
This change is a re-do of old PR https://github.com/enso-org/enso/pull/8270 that has been abandoned a while ago.
The change attempts to address to case of random `InterruptedExceptions` that can result when a task is interrupted while waiting on a lock. In comparison to the original PR, this change introduces `withXYZLock` methods with a `Callable` parameter. As a result we ensure correct acquisition/release semantics, logging and handling of interruptions.
# Important Notes
https://github.com/enso-org/enso/pull/8270 was too much hassle to rebase against latest develop.
fixes#9730
Added a `logEvent` method to remote backend implementation in dashboard. Added an always-present remote backend instance that can be used for logging even when running a local project (intentional behavior).
# Important Notes
Because the backend implementation requires access to always fresh session token, the logger needs to be periodically updated on GUI side, so it can continue to function. To accomplish that, I simplified the app loading logic to treat GUI as an ordinary react component, so its props can be updated with normal react rendering flow. That refactor also removed the dynamic GUI asset loading code that was only needed for Rust GUI.
Fixes#9938
The documentation panel openness and size state are saved in localStorage. On initial graph entry, the documentation panel is automatically opened if the graph's function is documented.
- Add ranged number widget to `at` and `get`.
- Add defaults to `at` and `get` picking the first item.
- PRIVATE on various Excel_Workbook methods. It still works like a connection but not shown in CB.
Introduce APIs that will be used by the Markdown formatting bar UI; use new APIs to simplify `ExtendedMenu`.
# Important Notes
New APIs:
- `DropdownMenu`: Encapsulates the dropdown pattern, i.e. a toggle button that opens a floating pane.
- `MenuButton`: A low-level control that adds button behavior to any element; all other buttons are now implemented using it.
Changes:
- `ToggleButton` and `SvgButton` now accept an optional `label` parameter.
close#9172
Changelog:
- update: insert `Empty` IR node for the empty method definition bodies
- update: generate node resulting in `Nothing` for `Empty` IR nodes
- refactor: remove redundant checked exceptions in `EnsoParserTest`
We had some false test failures: https://github.com/enso-org/enso/actions/runs/9178969067/job/25240028635
The problem was the connection, which, while not being completely broken, still wasn't updated to proper position, thus taking clicks meant for the background. Now, I use proper locator click, so the test should wait for click spot being clear.
Also added locator-based clicks where I felt it's proper.
Fixes#9984
Added a flag to `File_Browse` widget configuration specifying if we require an existing file. Also, the FileBrowserWidget will match against all "Writable_File", also displaying Save dialog.
Ensure strict errors are off to prevent unrecoverable errors in IDE.
Also partially reverted a change that prevented application of changes on errors (errors are still logged, as intended).
Closes#10014.
- Supersedes #9966 as I wanted to test these changes in one go.
- Fixes#10037 caused by lack of CI check and my oversight (forgot to run full tests after a minor change).
- Fixes a regression after [file metadata fields were renamed](c09d856ac8 (diff-9f59b6a0ee3155efecdc70c1ea0c90ab5cde00b5623d84363118b1793f941c46R2037)).
- Fixes handling of creating new datalinks and using them after cache was cleared (e.g. workflow restart).
- This was caused by troubles with path resolver.
- The fix addresses the most common issue and adds a test for it (test flushes the caches to ensure path resolver is used instead of the cached value).
- Some related issues were discovered on the cloud side, tracked by https://github.com/enso-org/cloud-v2/issues/1252
#### Tl;dr
Closes: enso-org/cloud-v2#1186
This PR significantly improves the invitation UX and add ability to view/resend/copy/delete invitations
<details><summary>Demo Presentation</summary>
<p>
https://github.com/enso-org/enso/assets/61194245/62124243-50ce-47e1-bcac-789463b5e755
</p>
</details>
---
#### Context:
#### This Change:
What the change does in the larger context? Specific details to highlight for review:
1. Redesign the Invitation dialog
2. Add the ability to edit emails after typing ` `
3. Adds ability to use different separators: `<space>`, `<semicolon>`, `<colon>` or `<newline>`
4. Shows Invitation on the `members` page in settings.
5. Adds ability to remove, resend, copy or delete invitations
6. Improve the UI of dialogs, buttons
#### 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.
---
* kill the electron process instead of restarting
limit the port range with single one
Make ENSO_CLOUD_REDIRECT optional, use window.location.origin by default
* Revert server changes
* limit the amount of ports in server
- Always use `Arguments:` for parameters or fields.
- Always use `> Example` for examples.
- Align sections behind `!` or `?` headers.
- Whitespace fixes.
In the component browser input field, render the source node as an icon instead of its identifier; an edge connects the icon to the source node's output port.
https://github.com/enso-org/enso/assets/1047859/a36a8a55-6717-4887-a72c-2b2eafde4260Closes#9210.
# Important Notes
- Fix node selection being visible (but glitched) while editing node.
- Fix bug in CB positioning when editing a node at non-default zoom.
- Fix disconnected edge hover allowing self-connection.
- Consolidate some color logic in `nodeColors`.