Commit Graph

5562 Commits

Author SHA1 Message Date
marthasharkey
a984aa59e5
Refactor drilldown code and add SQL_Server set up (#11809) 2024-12-09 17:57:03 +00:00
marthasharkey
97302313c5
Correctly format big integers (#11799) 2024-12-09 17:48:40 +00:00
marthasharkey
e3745b2527
Fix Dates in row visualization (#11813) 2024-12-09 17:22:12 +00:00
Paweł Grabarz
7e47a65b72
Color edges according to source node. (#11810)
Fixes #11536

<img width="238" alt="image" src="https://github.com/user-attachments/assets/e253b188-a6ce-468f-864c-9e814a8a2584">

Also fixed incorrect edge offset when dragging an target-connected edge.

<img width="140" alt="image" src="https://github.com/user-attachments/assets/d75ac860-c614-4f40-9cbc-b955e94f5a58">
(cursor painted in, because it wasn't captured by the screenshot 😅)

# Important Notes
Split away edge layout code away from the component to separate file. That code is likely to be significantly changed soon, but no significant modifications were made right now.
2024-12-09 15:29:35 +00:00
Jaroslav Tulach
3e23e72bed
Avoid storing 0.0.0-dev into package.yaml (#11805)
Storing `0.0.0-dev` into `package.yaml` makes little sense:
- no two _development version_ are the same
- there is no way to _download_ `0.0.0-dev` version via `ensoup`
- regular releases refuse to process `0.0.0-dev` projects

Better to avoid storing such _development version_ at all.
2024-12-09 14:57:14 +00:00
Kaz Wesley
a666ef0abe
Highlight missing required arguments (#11803)
Highlight names of absent required arguments.

<img width="947" alt="Captura de ecrã 2024-12-06, às 09 10 11" src="https://github.com/user-attachments/assets/aaf8afcc-3998-4685-9e99-81a123f920b7">

(UI demo; implementation only applies the effect to same arguments that cause a "Provide a value" error)

Fixes #11631.
2024-12-09 14:19:50 +00:00
Dmitry Bushev
485840fefd
Project Manager fails to create directory when one exists (#11804)
close #11758

Changelog:
- update: FileSystemService fails to create directory if one exists
2024-12-09 12:16:06 +00:00
Radosław Waśko
106e112cea
Bump required launcher version for new engine releases, forcing an upgrade to compatible version (#11796)
- Closes #11794
2024-12-09 08:54:01 +00:00
Jaroslav Tulach
81b0fcc3ef
Adding "Warnings note" to suspicious sections in types documentation. (#11775) 2024-12-07 07:50:00 +01:00
Kaz Wesley
7b4d46e72e
Recognize Markdown link title syntax (#11791)
Recognize Markdown link title syntax. We don't use the title content because we display the 'Ctrl-Click to follow link...' message, but this PR hides the title when displaying the link in rendered view.
2024-12-06 17:22:10 +00:00
Kaz Wesley
1347ee05ab
CodeEditor: Indent with tab (#11790)
In the code editor, Tab indents the current line and Shift+Tab unindents.

Suggested by @JaroslavTulach. Fixes #11070.
2024-12-06 17:14:24 +00:00
Kaz Wesley
640d66294e
Paste HTML as Markdown in documentation editor (#11773)
Convert HTML clipboard data to Markdown when pasting into documentation editor:

https://github.com/user-attachments/assets/e87ba419-7465-48a7-bb08-101a76012a72

# Important Notes
- The best HTML-to-Markdown converter available seems to be Lexical. It's a large dependency, but this implementation lazily loads it only when rich pasting functionality is needed. In the future, we could cut it down a lot; we only need (parts of) the node definitions, the transformers, and (parts of) the core.
- Not all formatting in the example webpage is supported yet; some issues added to #11772.
- Also: Fix undo/redo in documentation editor (prevent graph editor from also handling).
2024-12-06 17:00:24 +00:00
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