Commit Graph

5550 Commits

Author SHA1 Message Date
Adam Obuchowicz
6aa4c9f35e
Visualization selector arrow is now more visible (#11800)
Fixes #11632

![image](https://github.com/user-attachments/assets/86b6fc6a-6ecc-41f1-9351-18c1b511776c)
2024-12-06 15:52:30 +00:00
Kaz Wesley
6d72a75f5e
Documentation link interactions (#11753)
* Ctrl+click to follow link; clicking link opens a popup. Fixes #11692.

- Ctrl+click to follow link (and add hover text)
- When editing, if the cursor is in a link a popup allows following the link.
- Text filters (e.g. recognizing links) now apply to text dragged into the
  editor, or pasted with the context menu, besides pasting with the keyboard
  (uses new feature from updated CM).
- Simplify CM editors by moving setup and reactivity patterns into shared
  helpers.
- Add integration tests for link interactions in component comments and documentation panel.
- Fix code editor tooltips (fixes #11740).
- All lines containing selected text show markup
2024-12-06 07:01:40 -08:00
Kaz Wesley
0d7427a404
Fix performance deterioration after many external or code-editor edits. (#11789)
Fix performance issue reported by @JaroslavTulach on Discord.

- Fix accumulation of unreferenced AST objects when reconciling module content with `syncToCode`.
- Add a unit test checking that `syncToCode` does not allocate unneeded objects in the module.

Fixes #10768.
2024-12-06 14:52:50 +00:00
Adam Obuchowicz
c410311b15
Add import field to metadata to satisfy older versions (#11797)
Fixes #11742

I was [wrong](https://github.com/enso-org/enso/issues/11742#issuecomment-2514109015) - not the _new_ fields make metadata broken for older versions, but removing an _old_ field.

This PR bring it back, which solves the issue - for a while.
2024-12-06 14:47:02 +00:00
Adam Obuchowicz
c284bcb854
Update persisted idmap when metadata changes (#11761)
Fixes #11729

The issue was quite rare indeed: it happened only when somehow nodes had idmap and metadata cleared from the file, and then only metadata change was applied.

In this case, because there was no idMap change, idMapToPerstist was also empty; metadata were stored with proper ids, but those ids weren't assigned to any span.
2024-12-06 11:49:30 +00:00
Kaz Wesley
63d70da15f
Component menu button opens single-component menu (#11786)
- Clicking a component's menu button makes the component the sole selection
- When a component becomes the sole selection due to a user interaction, it is raised to the top

Fixes #11767.
2024-12-05 20:30:53 +00:00
Kaz Wesley
8771855993
Fix failure to parse an invalid syntax case (#11754)
Fix failure to parse a syntax case involving unexpected usage of annotated expressions (fixes #11691).

The root cause of the bug was usage of the `matches!` macro in a situation where a `match` statement should have been used to enforce exhaustiveness.

- I have corrected the bug, and reviewed all usages of the `matches!` macro. I didn't find any other *incorrect* usages of `matches!`, but I found and replaced some potentially *fragile* uses. I also simplified some unnecessary uses of `matches!`, replacing them with expressions that are more-obviously correct.
- Stricter parsing: It is now a syntax error for an inline annotation to occur in the RHS of an application (e.g. `fn @Tail_Call recur`)--the precedence in this case may be surprising, so parentheses should be used around the annotated expression.

`parse_all_enso_files.sh`: This PR does not affect any AST in the .enso corpus.
2024-12-05 20:16:40 +00:00
Paweł Grabarz
be1b706d0a
Function definition editor widget (#11655)
Fixes #11406

Also refactored the right panel state into its own store, so it is less coupled with the graph editor.

<img width="439" alt="image" src="https://github.com/user-attachments/assets/73e6bb92-235f-497d-9cff-126dc4110f8b">

The function definition widget tree displays the icon, name and all arguments. The name is editable, everything else right now is just read-only. The icons next to the arguments are just placeholders intended to be replaced with a "drag handle" icon.

Also fixed issues with missing rounded corners on the ag-grid widget.
<img width="263" alt="image" src="https://github.com/user-attachments/assets/cb61f62a-755c-4865-ba6c-ab9130167713">
2024-12-05 18:03:48 +00:00
Kaz Wesley
88fdfb452a
Context menu improvements (#11755)
Context menu improvements:

- Activate component context menu only for clicks on component widget area (fixes #11745).
- In a table-editor widget, if AG Grid opens a context menu, don't open the component menu.
- Enable the AG Grid context menu on OS X.
2024-12-05 15:23:45 +00:00
marthasharkey
bd34bf537c
Row display in Table viz in correct order (#11764) 2024-12-05 13:47:06 +00:00
somebody1234
8eddcff262
Revert to network (graph) icon for GUI editor tabs (#11759)
Revert icon to the original icon for GUI editor tabs

# Important Notes
None
2024-12-05 11:02:20 +00:00
Sergei Garin
984aeb9671
Revert sorting order (#11756)
* Revert  sorting order

* Address issues/ remove the optimistic updates

* Add more tests

* Fix tests
2024-12-05 13:11:56 +03:00
somebody1234
497884aa62
Disable opening projects in the browser (#11760)
- Close https://github.com/enso-org/cloud-v2/issues/1612
- Disable opening projects on cloud.enso.org.
- This is because this functionality is currently not ready

# Important Notes
None
2024-12-05 08:28:41 +00:00
Paweł Grabarz
cc0b020e1e
Fix rounded corners and improve styling on grid visualization (#11771)
Fixes #11648

Also modified styling of ag-grid to be consistent in both widget and visualization, as well as to fit more into the overall Enso design.

<img width="1139" alt="image" src="https://github.com/user-attachments/assets/7e69f211-22c5-42fd-8f6e-5e2017aaa15a">
2024-12-04 23:22:32 +00:00
Kaz Wesley
06f7f038fb
Fix persistence of output component metadata (#11769)
Fixes #11727.
2024-12-04 22:06:30 +00:00
Kaz Wesley
cb499e2b69
Fix visualization toolbar dropdown layering (#11768)
Fixes #11647.
2024-12-04 18:18:26 +00:00
Dmitry Bushev
d2e1e90f94
Compute correct changeset when swapping nodes (#11765)
close #11734

The #11428 introduced a special handling of edits removing the node. This logic is also triggered when the GUI swaps two lines leading to computing incorrect changeset.

Changelog:
- update: correct the logic that determines if the edit removes a line

# Important Notes
https://github.com/user-attachments/assets/fa84bb09-5f86-4739-b447-e49c49a09a76
2024-12-04 18:05:12 +00:00
marthasharkey
48a87cefb8
check for long negavtive numbers not just positive (#11750) 2024-12-03 17:56:56 +00:00
Adam Obuchowicz
7a3f34d3de
Fix reconnecting after hibernation on Windows (#11739)
Fixes #11716

The previoud implementation of restoring execution context assumed, that any synchronization in progress on connection close will fail - but actually if the synchronization just waited for executionContext/create, it might be successfull and effective after reconnecting.

Also, show "Language Server connection lost" when the actual language server connection is lost, and dismiss the message on reconnect.

# Important Notes
The hibernation still does not work properly - connection to Project Manager is not restored.
2024-12-03 16:08:16 +00:00
Ilya Bogdanov
4d2e44c878
Table.input for pasting tabular data (#11695)
Closes #11350

- Copy/pasting tabular data now creates `Table.input` nodes.
- Column names are always copied when you work inside Enso (excluding cases when you paste some cells into an existing table)
- When working with external apps, column names are copied only if `Copy with headers` is selected.

https://github.com/user-attachments/assets/a1233483-ee4a-47e4-84a1-64dd0b1505ef

Roundtrip with Google Spreadsheets (shows non-trivial TSV data that includes quotes and newlines):

https://github.com/user-attachments/assets/4ac662a2-809f-423a-9e47-628f46f92835
2024-12-03 15:22:15 +00:00
marthasharkey
78c2068063
Filter drilldown for mixed column (#11694) 2024-12-03 15:06:23 +00:00
Kaz Wesley
2863cc5c8c
Further simplification enabled by chained conversions (#11682)
Some simplification enabled by the refactor in #11671. Inspired by review from @JaroslavTulach.
2024-12-03 14:37:11 +00:00
Adam Obuchowicz
48c3c7fffb
Quickfix Graph Editor styles (#11746)
A @jdunkerley 's propsal of fixing issue [#11728](https://github.com/enso-org/enso/issues/11728)

![image](https://github.com/user-attachments/assets/74da5807-7bac-4c18-a86a-c068cc19632f)
2024-12-03 14:36:31 +00:00
Sergei Garin
caeaf413b5
Do not send the generated name to the Backend (#11735)
This PR removes sending the pre-generated name to the remote backend. We don't have full control over this and can't guarantee the uniqness of the name purely client-side.

Closes: https://github.com/enso-org/cloud-v2/issues/1600

For the local backend we still generate the name though.
2024-12-03 14:27:10 +00:00
Jaroslav Tulach
d687365070
Enhance Managed_Resource to allow implementation of in-memory caches (#11577) 2024-12-03 15:13:22 +01:00
Adam Obuchowicz
d53b85b89a
Fix drop-down menu (#11744)
Fixes #11741

The styles of floating-ui were not applied, because any style is [not applied to a slot in general](https://stackoverflow.com/questions/47317479/styling-vue-slot).
2024-12-03 14:02:56 +00:00
Ilya Bogdanov
ce1df4ebcd
Extend output port and remove selection halo (#11715)
Closes #11507

- Output port area extended twice
- Selection halo is removed (but most of the code is still there – I understood we don’t want to remove everything before testing)

https://github.com/user-attachments/assets/4c6d7837-362e-4309-aa9b-5c0679d600e9
2024-12-03 13:54:02 +00:00
Sergei Garin
a6d040ecf5
Fix referesh Interval (#11732)
This PR fixes issue when refetch didn't happen because the session either already expired or very close to expire

This PR fixes the reset interval when it's less that 5 mins or already expired

Based on https://github.com/enso-org/enso/pull/11725

Closes: https://github.com/enso-org/cloud-v2/issues/1603
2024-12-03 13:06:15 +00:00
Radosław Waśko
4d13065d00
Fix Data.list for other file systems (#11743) 2024-12-03 12:44:36 +00:00
Jaroslav Tulach
9daa02df6c
Prefer distribution/lib/Standard files when runEngineDistribution (#11736)
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
```
2024-12-03 12:37:34 +00:00
Radosław Waśko
498b5062a6
Refactor common SPI logic, handle SPI registrations with missing Enso library (#11722)
- Closes #11707 by filtering out SPI registrations that cannot load their corresponding Enso type.
2024-12-03 10:39:16 +00:00
Hubert Plociniczak
65010dffa7
Simplify shutdown logic on client disconnect in project-manager (#11712)
* 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.
2024-12-02 21:19:55 +01:00
Sergei Garin
16765455c2
Reset expanded directories list on category change (#11725)
Partially closes: cloud-v2/1592

Closes: https://github.com/enso-org/cloud-v2/issues/1606

This PR also adds needed configuration for unit tests and adjust it to run using vscode vite extension
2024-12-02 15:44:39 +00:00
Dmitry Bushev
28946182c2
Fix nightly build (#11726)
followup #11517

It turned out that `env` context is not available in the `jobs.<job-id>.with` key.
2024-12-02 10:09:16 +00:00
Sergei Garin
979e0e361c
Fix copy and paste on local backend (#11701)
* Fix copy and paste on local backend

* Remove sorting order by modified date
2024-12-02 12:52:49 +03:00
Pavel Marek
bae9744825
Refactor runtime-integration-tests - move some tests to more dedicated packages (#11720)
* Add TypesExposeConstructorsTest

* Move some tests from org.enso.interpreter.test to dedicated packages
2024-12-02 10:10:40 +01:00
Kaz Wesley
0b6b1f0954
Context menu, copy button, multi-component actions (#11690)
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
2024-11-29 19:52:22 +00:00
Jaroslav Tulach
52feef89ab
Better Module_Does_Not_Exist exception (#11713)
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.
2024-11-29 19:05:04 +00:00
James Dunkerley
85c8f76805
Fix for Data Quality perf and issue other tweaks. (#11711)
- 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.
2024-11-29 17:54:40 +00:00
Adam Obuchowicz
99a91a1011
Add missing headerName (#11719)
Fixes #11718
2024-11-29 17:09:11 +00:00
Dmitry Bushev
9e143dbc6f
Fix inputs for scheduled Nightly workflow (#11708)
followup #11517

Another attempt to fix inputs for scheduled Nightly Release workflow.
2024-11-29 16:40:29 +00:00
Dmitry Bushev
d3e184b8c9
Use GitHub concurrency setting (#11704)
related #11579

Changelog:
- update: use workflow `concurrency` setting instead of running the action to cancel previous jobs
2024-11-29 14:16:55 +00:00
Radosław Waśko
dc55b4e9ce
Support for Table output in Data.read_many (#11546)
- Closes #11311
2024-11-29 12:06:30 +00:00
Sergei Garin
1476c47fa9
Tiny fixes in animations (#11706)
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.
2024-11-29 11:13:37 +00:00
Sergei Garin
9592a60fea
Put vitest into the root (#11693) 2024-11-29 11:44:38 +03:00
Sergei Garin
0c7e79cccf
Fix resize animations in Dialog (#11643)
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)
2024-11-28 19:15:34 +00:00
Pavel Marek
b5f110617e
More IR mini passes (#11501)
Mega passes  converted to minipasses in `Passes.globalTypingPasses` group:
4e6837f9da/engine/runtime-compiler/src/main/scala/org/enso/compiler/Passes.scala (L41-L63)

Are:
- [MethodDefinitions](a3321fee97/engine/runtime-compiler/src/main/java/org/enso/compiler/pass/resolve/MethodDefinitions.java)
- [ImportSymbolAnalysis](8d9db8fe01/engine/runtime-compiler/src/main/java/org/enso/compiler/pass/analyse/ImportSymbolAnalysis.java)
- [AmbiguousImportsAnalysis](8d9db8fe01/engine/runtime-compiler/src/main/java/org/enso/compiler/pass/analyse/AmbiguousImportsAnalysis.java)
- [PrivateModuleAnalysis](8d9db8fe01/engine/runtime-compiler/src/main/java/org/enso/compiler/pass/analyse/PrivateModuleAnalysis.java)
- [PrivateConstructorAnalysis](303c9fe545/engine/runtime-compiler/src/main/java/org/enso/compiler/pass/analyse/PrivateConstructorAnalysis.java)

All of these mini passes are ordered after each other. So now, in `Passes.globalTypingPasses` group, there are **8** consecutive minipasses.
2024-11-28 18:00:42 +00:00
Adam Obuchowicz
6d9699c841
Bump AGGrid version (#11684)
* 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>
2024-11-28 14:40:29 +00:00
Adam Obuchowicz
fe299b2b3b
Tiny look improvements (#11666)
Part of https://github.com/enso-org/enso/issues/11510

1. Default values are italic
![image](https://github.com/user-attachments/assets/509a9d32-4263-4563-aad9-e7a9ee7bc039)

2. The Text widget actually displays default values as placeholders (before it was a normal text).
![image](https://github.com/user-attachments/assets/73c32317-ac15-4f1d-8824-7cc445ae47ce)

3. No more "grab" cursor over node's icon.
![image](https://github.com/user-attachments/assets/49939283-891e-4fc4-93bc-7d0c4ed7b295)
2024-11-28 13:48:19 +00:00
somebody1234
27a4bdc6b8
Fix local settings button not switching settings tab (#11677)
- 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
2024-11-28 10:36:19 +00:00