Prefer `distribution/lib/Standard/*` files over the files in `built-distribution/enso-engine-*/enso-0.0.0-dev/lib/Standard/`. This solves the common error when _one debugs thru files_ and edits them just to find out _they are rewritten by next build_.
# Important Notes
The support for locating `alternativeFile` is only enabled for developers. E.g. when Enso version is `0.0.0-dev`. This is satisfied when one uses:
```bash
enso$ sbt
sbt:enso> runEngineDistribution --run test/Base_Tests --debug
```
* Drop soft-shutdown on last client disconnect
Suspend on Windows confuses the reconnection logic and triggers a full
shutdown. This change simply drop shutdown on last client disconnect and
expects and explicit command.
* Various cherry-picks
Minor cherry-picks from the debugging branch. Should reduce the amount
of non-critical warnings.
Context menu, copy button, multi-component actions
https://github.com/user-attachments/assets/14243102-3848-43fc-82bb-a48648536985
- The 'More' menu can now be opened under the mouse, through the context menu action (right click/control-click on Mac/menu button on keyboard).
- Add copy-components button to menu.
- The menu can now be opened while multiple components are selected; if the clicked component was among the selected components, the selection will be preserved. Some menu actions--currently *copy* and *delete*, apply to all selected components. These actions will change their displayed labels when multiple components are selected. If a single-component action is executed, the component it was applied to will become the sole selection.
Fixes#11633, #11634
The previous code was throwing `UnknownIdentifierException` when a module wasn't found. That's pretty misleading. Especially when Truffle infrastructure converts such exception to another one. Enso has a dedicated error when module cannot be found. Let's use that one.
- Fix bug where `DB_Table` data quality indicators broke deserialization in the table viz.
- Memorization of the untrimmed data quality indicator and move to it being an operation and column function.
- If more than 10,000 rows then use a sample for untrimmed.
- ALIASes for blank functions.
- Fix for Snowflake drill down.
- Bug fix for Long and Double columns with Nothings at end.
This PR improves the behavior of `useMeasure`: it used to ignore measuring the initial bounds if it's disabled by default. Now the behavior is fixed.
Also this PR removes the scrollbar appearing while resizing.
This PR fixes the Resize animations in Dialog component:
1. Removes resize for initial mount / fullscreen dialogs
2. Fixes measuring the content size
3. Fixes bugs in `useMeasure` hook
4. Adds memoization for Text and Loader components (because of react-compiler and because this components accept only primitive values)
* Bump AGGrid version + some fixes
* Make styles in AgGridTableView global
* CHANGELOG
* Remove debug logs
* Fix integration test
* Fix unit test
---------
Co-authored-by: James Dunkerley <jdunkerley@users.noreply.github.com>
- Make sure both settings tab and page are changed when the button next to the "Local" category is clicked
- Hide "save" and "cancel" button in settings sections if the user can't edit any of the inputs
- Disable all dragging out of "trash" category (specifically, "trash" to "cloud" category)
# Important Notes
None
* Delegate slf4j in HostClassLoader to system class loader
That way in Enso and Java code any usage of slf4j will use the same
configuration as the rest of the process that started it.
Tricky to test, will post an example in GH PR.
* Semi-working test
* Make sure memory appender starts clean
Appender is re-used among many tests, collecting all logs. This is
problematic when we want to test the contents of logs.
Disabling causing the rebuild of AMIs so we can control the release in the cloud.
Nightlies pushed to the ECR but not AMI built.
Manual releases will be built and become the image run.
To be improved later.
Fixes#11604
Most issues were caused by a problem with Project List flooding the network with its requests - this was fixed on develop.
But one assertion was flaky - it assumed we will see the "real" run result on `write` node, but sometimes it is immediately overwritten by dry run.
But the most important part of this PR is adding traces to Electron packages - it's should be much easier now to debug E2E test failures.
Also renamed the previously misnamed "E2E tests" to "[GUI] integration tests".
- As asked for by @PabloBuchu, related to https://github.com/enso-org/cloud-v2/pull/1580/
- Fixes nightly Extra tests:
- Ensures that the Cloud suite **is actually ran**
- Enables logging of all tests and the Test Report on the nightly to make it possible to inspect what was being run.
Followup to #11517
Fixes the scheduled dispatch of Nightly Release workflow. The scheduled dispatch requires the `workflow_call` section specifying the inputs.
Adjust operator parsing to allow chained conversions, like `3.14 : Integer : Text`.
Change the precedence and associativity of the `:` operator, when used as a binary operator in an expression:
- It is now **left-associative**
- It now has **lower** precedence than `->` (previously they were equal)
# Important Notes
One previously-reasonable syntax has **changed interpretation**: `x->x:Type` is no longer a valid way to write a casting function, and would likely result in a type error. There was 1 instance of this syntax in our .enso sources.
Currently, license directories are owned by both libs (`/distribution/` entry) and engine (`/tools/` entry) teams, and require review from both teams even though there are no related changes in the PR.
License changes are caused by changed dependencies in either libs or the engine. By making the license directories unowned, only the necessary reviewers will be added to the PR
close#11478
Changelog:
- add: `run release deploy-ydoc-polyglot` and `run release deploy-ydoc-nodejs` commands that build Ydoc Docker images and push them to ECR repository
- add: Ydoc native-image build for Linux PR checks
- update: CI release configuration to deploy (push to ECR repo) Ydoc Docker images during the Nightly and Release steps
Fixes occasional issues on CI https://github.com/enso-org/enso/actions/runs/12028665644/job/33537703634?pr=11663#step:7:3840
```
- should interrupt running execution context *** FAILED *** (2 seconds, 295 milliseconds)
0 did not equal 1 (RuntimeAsyncCommandsTest.scala:254)
```
The issue is caused by the asynchronous nature of the test. By the point when the interrupt command is sent the program is already terminated but the test assumes that the program is still running.
Fix failing integration tests:
- Fix a Vue Teleporter crash that became reachable when the dropdown arrow is displayed more often (#11620).
- Fix a new drag-and-drop test that didn't work in CI.
- Update mock data for multi-type expression updates (https://github.com/enso-org/enso/pull/11583).
# Important Notes
- The new `ConditionalTeleport` component should be used for any `Teleport` that uses the `disabled` prop and has a `to` that isn't always a valid teleportation target.
If a data quality metric is added to the array sent in the table viz json for a table/column the metric will be added to the columns tooltip without the need for any frontend/ts changes.
This doesn't change anything for the users but here is a screenshot to show the same functionality:
![dqm-enso-driven](https://github.com/user-attachments/assets/7bf83d35-0d63-49ac-8d70-1f86dbedc169)
`ydoc-server` compilation requires generation of `ydoc.cjs` resource that can take time and slow down the libraries development (building the enso distribution). This PR splits Ydoc into a library and the server part to avoid JS resources generation during the compilation of the language server.
Changelog:
- refactor: Ydoc into ~~`ydoc`~~ `ydoc-polyglot` library and `ydoc-server` server parts
- update: language server to depend on the ~~`ydoc`~~ `ydoc-polyglot` library
Closes#11534
- Visualizations are partially transparent by default
- The initial z-order is undetermined at the project load
- Node is moved on top of other if it is dragged (before it only happened if it was **selected**, which is not the same)
- Changed rendering for edges slightly, to avoid visible edge ends underneath visualization. The implementation of additional offsets is rather naive, but it works.
https://github.com/user-attachments/assets/fba44816-eed9-471d-83a7-8fe6e5892477
close#11481
Changelog:
- update: handle `MultiTypeValue` results in the execution instrument
- update: language server protocol supports multi-type values
- update: GUI uses only the first type of a multi-type value when
# Important Notes
GUI uses only the first type of the intersection. See the difference between `Integer&Text` and `Text&Integer`:
https://github.com/user-attachments/assets/29efc89b-c223-4043-8dff-9cdae1987f0c