Commit Graph

5590 Commits

Author SHA1 Message Date
Jaroslav Tulach
7998ed5218
case of and intersection types (#11850)
Also: Prefer `getURI` path when gathering location of a source
2024-12-13 16:02:51 +01:00
Radosław Waśko
e9b0ba95b0
Fix ensoup launcher upgrade mechanism (#11833)
- Closes #11821 by updating the upgrade logic to the new executable name
- Re-enables the long disabled `UpgradeSpec` to make sure this remains tested.
- If the tests were enabled we would have caught the regression in #10535
- The tests have been heavily outdated due to being disabled, many small details changed and had to be amended.
- The tests are still marked as Flaky - they were known to be problematic on CI so their failures will not stop CI for now. But at least they are run and we can see if they succeed or not. Plus when running tests locally they will fail (as all tests marked as Flaky - the failure is only ignored on CI).
- Fixes another issue with an infinite cycle when no upgrade path can be found and adds a test for this case.
- If running a development build, the minimum version check can be ignored, as the check does not really make sense for `0.0.0-dev` build.
- Thus it closes #11831 also.
- Makes sure that `GithubAPI` caches the list of releases as fetching it can take time.
2024-12-12 17:06:01 +00:00
Jaroslav Tulach
fe5e13456a
Benchmark up_to . each (#11848)
Benchmark for #5355. Seems to be fast.
2024-12-12 14:17:22 +00:00
somebody1234
1a8888d562
Remove listVersions from Backend (#11849)
- Close https://github.com/enso-org/cloud-v2/issues/1616
- Remove `listVersions` from backend

# Important Notes
None
2024-12-12 13:06:50 +00:00
Pavel Marek
4d88dd1761
Fix benchmarks upload GH Action (#11842)
Modifies the [Benchmarks Upload](https://github.com/enso-org/enso/actions/workflows/bench-upload.yml) job to also upload special `cache/index.json` file that maps filenames in the cache to their timestamps.

This is necessary for https://github.com/enso-org/enso/issues/10212 but it is also good for an Enso workflow that analyses benchmarks from the locally cloned repo. (The workflow will soon be pushed to the https://github.com/enso-org/engine-benchmark-results repo)

# Important Notes
Moreover, the `Benchmarks Upload` job fails since yesterday (https://github.com/enso-org/enso/actions/runs/12269442294/job/34233007971), because there is an old workflow ID used for the engine benchmarks.

To allow more convenient testing of the Action, I have added an ability to trigger this action manually in 857c0864b6
2024-12-12 11:33:24 +00:00
somebody1234
b83c5a15eb
Clean up integration tests and add listeners for backend calls (#11847)
- Close https://github.com/enso-org/cloud-v2/issues/1604
- Add ability to track backend calls
- Remove inconsistent integration test code
- Add skeleton classes for settings pages

# Important Notes
None
2024-12-12 09:49:58 +00:00
Jaroslav Tulach
2964457d48
Intersection types & type checks (#11600)
Implementation of **type checks** for **intersection types**. The idea is to split the list of `types[]` in `EnsoMultiValue` into two parts:
- first `methodDispatchTypes` represent the types the value _"has been cast to"_
- the rest of the types represent the types the value _"can be cast to"_

By performing this separation we address the #10882 requirements. After a type check only methods available on the `methodDispatchTypes` can be invoked. However the value can still be cast to all the possible types.
2024-12-12 07:29:00 +00:00
somebody1234
ffd0de4661
Sticky headers for settings tables (#11826)
- https://github.com/enso-org/cloud-v2/issues/1574
- Make header rows sticky
- Use solid background on header rows User Groups and Members tables in settings to avoid overlapping text
- https://github.com/enso-org/cloud-v2/issues/895
- Make "name" column sticky in assets table

# Important Notes
None
2024-12-11 23:57:17 +00:00
Adam Obuchowicz
ffec1c8004
Fix clicking-out Component Browser (#11832)
Fixes #11829

There was implicit `any` on refs, so the typechecker didn't catch missing property.
2024-12-11 23:16:27 +00:00
Radosław Waśko
44a8de337e
Fix visualization on values derived from secrets (#11843)
A very small fix to a small defect I noticed.

Before:
![image](https://github.com/user-attachments/assets/abb091bd-c626-44a2-9cd3-eddbe0e8c2cb)

After:
![image](https://github.com/user-attachments/assets/857f0e09-5960-4322-921b-c8c44e50789f)
2024-12-11 22:14:54 +00:00
AdRiley
c5ccc5a359
Color missing value messages blue (#11841)
A missing value error message is more of a something you haven't done yet message than an error. So coloring it blue is more friendly and also ties into the blue highlighting of the widget names.

Also removed the default text when it isn't text but a function call

![image](https://github.com/user-attachments/assets/3c26dae8-8f38-4ddf-aefe-4ec625e812a6)
2024-12-11 21:41:33 +00:00
somebody1234
91ccceafe4
Combine context menus into single context menu (#11763)
- Combine all context menus to a single context menu
- Remove `ContextMenus` component

# Important Notes
None
2024-12-11 21:32:12 +00:00
AdRiley
8c8a2f8572
Change table viz colors (#11839)
Change the background color of the visualisations to be not pink. Darken some of the text/icons to improve contrast

![image](https://github.com/user-attachments/assets/f78ed75b-c1a0-40ba-a0ed-db03a8682496)
2024-12-11 20:59:51 +00:00
Adam Obuchowicz
bf7fe670e5
Fix CB port color (#11834)
Fixes #11830
2024-12-11 20:08:43 +00:00
Adam Obuchowicz
f1a283be03
Increase timeout of macOS E2E tests (#11837) 2024-12-11 17:34:10 +00:00
Jaroslav Tulach
9cf7833de0
Fill in ydoc-polyfill when running backend with the IDE (#11822) 2024-12-11 14:48:08 +01:00
Gregory Michael Travis
9e00b9ddcc
Clear cache on reload (#11673) 2024-12-10 18:51:26 +00:00
Gregory Michael Travis
d79b4218fc
Fix HTTP cache assertion failure for small disks (#11738) 2024-12-10 16:54:55 +00:00
James Dunkerley
a546de7970
Some more QA fixes (#11824)
- Update error message for `order_by`.
- Add some ALIASes.
- Hide some internal methods exported by mistake.
- Reorder dropdown in set.
![image](https://github.com/user-attachments/assets/7e6df21a-8ab6-4e6c-90ff-826e88f7b53d)
![image](https://github.com/user-attachments/assets/215b3b74-5718-4033-9ec9-468695f942b5)
2024-12-10 16:36:55 +00:00
Dmitry Bushev
af4f922bce
Schedule rename symbol job after compilation (#11780)
Ensures that the rename job is scheduled after the compilation job.
2024-12-10 15:55:18 +00:00
Kaz Wesley
98605b01b9
Code editor: Reject edits causing desynchronization (#11817)
Quick-fix for #11798: If a code-editor edit cannot be applied, revert it in the editor view and display a message "Unable to apply source code edit." This prevents module corruption, but can be inconvenient when trying to perform an edit involving certain syntactically-incorrect intermediate states that are not currently representable. An upcoming PR will provide a more comprehensive solution for that case.
2024-12-10 15:31:11 +00:00
Kaz Wesley
9f0c0c0257
Fix bug causing intermittent GUI unit test failures (#11801)
Fix failing prop test caused by edge case bug in new `findDifferenceIndex`.
2024-12-10 15:05:25 +00:00
somebody1234
f6a900191a
Fix getFileDetails and getProjectDetails (#11787)
- Fix https://github.com/enso-org/cloud-v2/issues/1617
- Set `staleTime: 0` to queries to ensure they are always refetched.
- Close https://github.com/enso-org/cloud-v2/issues/1579
- Add `&presigned=true` flag to request server to generate a presigned URL.

# Important Notes
None
2024-12-10 14:45:31 +00:00
Radosław Waśko
8749719c19
Fix required launcher version (#11823)
- When comparing pre-release version, the last part is compared lexicographically. In #11796, I did not consider that `rc` is a suffix that is 'larger' than `nightly` (because `r > n`).
- Now, we set this to a relatively recent nightly build.
- The self-upgrade mechanism will use the latest available build, so once the stable version is released it will be preferred.
- The project-manager should be working again because `2024.5.1-nightly.2024.12.10 > 2024.5.1-nightly.2024.11.29` and also `2024.5.1-rc1 > 2024.5.1-nightly.2024.11.29`.
2024-12-10 14:41:18 +00:00
Radosław Waśko
adcb657666
Allow Data.list to cross data links (#11802)
- Closes #11747
- Followup will also align `/` and other properties - initial tests already added but pending.
2024-12-10 11:13:03 +00:00
Jaroslav Tulach
e879a274fd
Including opencv native libraries as a resource in enso runner binary (#11807) 2024-12-10 06:21:25 +01:00
Sergei Garin
3ad09a1537
Second iteration of Dashboard Fixes (#11781)
Fixes:

- Opening deleted folder
- Icons
- Diff view collapsed
- Password input for passwords in settings
- Save button appears only if form in settings is dirty
- Disable clear trash button if it's empty
- Disable D&D in the root folder
- Disable Create actions if user select a folder without sufficient permissions
- Many more
2024-12-09 20:43:41 +00:00
dependabot[bot]
dca68ac1c0
Bump path-to-regexp and express in /tools/legal-review-helper (#11793)
Bumps [path-to-regexp](https://github.com/pillarjs/path-to-regexp) to 0.1.12 and updates ancestor dependency [express](https://github.com/expressjs/express). These dependencies need to be updated together.


Updates `path-to-regexp` from 0.1.10 to 0.1.12
- [Release notes](https://github.com/pillarjs/path-to-regexp/releases)
- [Changelog](https://github.com/pillarjs/path-to-regexp/blob/master/History.md)
- [Commits](https://github.com/pillarjs/path-to-regexp/compare/v0.1.10...v0.1.12)

Updates `express` from 4.21.1 to 4.21.2
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/4.21.2/History.md)
- [Commits](https://github.com/expressjs/express/compare/4.21.1...4.21.2)

---
updated-dependencies:
- dependency-name: path-to-regexp
  dependency-type: indirect
- dependency-name: express
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-09 18:16:15 +00:00
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