Commit Graph

5221 Commits

Author SHA1 Message Date
Radosław Waśko
ba56f8e89b
Snowflake Dialect - pt. 7 (#10612)
- Closes #9486
- All tests are succeeding or marked pending
- Created follow up tickets for things that still need to be addressed, including:
- Fixing upload / table update #10609
- Fixing `Count_Distinct` on Boolean columns #10611
- Running the tests on CI is not part of this PR - to be addressed separately
2024-07-23 06:58:11 +00:00
Adam Obuchowicz
71bae7e4b0
initProtocol endpoint returns success when already initialized (#10542)
* initProtocol endpoint returns success when already initialized

* Fix test

* Docs and return error when clientId differs

* fmt

* fix: session management test

* misc: json connection controller

---------

Co-authored-by: Dmitry Bushev <bushevdv@gmail.com>

Issue with Vector nothing to do with this.
2024-07-23 07:45:53 +01:00
Adam Obuchowicz
8bce22a122
Visuali fixes in multiselect drop-down (#10607)
* Visuali fixes in multiselect drop-down

* Changelog

* Apply @kazcw review

Merging as Vector incomparable issue nothing to do with this.
2024-07-23 07:39:53 +01:00
Jaroslav Tulach
b6bbfc5cda
Prevent re-entrant execution of finalizers (#10602)
Fixes #10211 by avoiding re-entrant execution of finalizers.
2024-07-22 20:11:54 +00:00
Hubert Plociniczak
033e4ae323
Revert "Persist a subset of IdMap (#10347)" (#10626)
This reverts commit b2c4559678.

Merging as just failing the Vector tests addressed in another PR.
2024-07-22 17:24:13 +01:00
Radosław Waśko
e02d5d431d
Update Codeowners - now the Libs team owns the project template (#10621)
Just a codeeditors change.
2024-07-22 13:37:46 +01:00
somebody1234
5bc873178a
Fixes (including downloading Local projects from nested directories) (#10585)
- Address part of https://github.com/enso-org/cloud-v2/issues/1350
- Turns out the reason downloads were broken were (I assume) the query string was getting lost - so the Electron server never passed the correct parent directory to the backend.
- Fix "Escape" key using old project ID and navigating to a nonexistent tab
- Fix validation for tab names (previously all strings were passing validation due to an incorrect custom predicate being passed to `zod`)
- Add clip path to entire tab bar so that the bottoms of tabs are cut off on hover if they are next to the currently selected tab.
- Add s-shaped curve to hovered tabs, so that their edges match the edges of the currently selected tab.
- Avoid navigating back to "Data Catalog" page when closing a project tab, when the project tab is not the currently open page.
- Fix size of paywall icons in "Shared With" column (16px to be consistent with all other icons)

# Important Notes
None
2024-07-22 09:40:14 +00:00
marthasharkey
5066b5764e
remove control + click opening enso in browser (#10596)
this removed the bug that when you control + clicked on a linked cell it would open enso in browser
2024-07-22 08:45:15 +00:00
Radosław Waśko
7fd8701690
Snowflake Dialect pt. 6 - Union, Distinct and other improvements (#10576)
- Part of #9486
- Fixes `Table.union`, `merge` and `distinct` tests
- Replaces `distinct_on` in `Context` that was actually a Postgres specific addition leaking into the base with a more abstract `Context_Extension` mechanism.
- This allows us to implement the Snowflake-specific `DISTINCT` using `QUALIFY`.
2024-07-19 16:04:00 +00:00
GregoryTravis
2e0fa89928
Enable and fix mixed-comparison Decimal tests (#10583)
* from_string to from_text

* dec

* int/dec tests

* tests for f/d conversion warnings

* test warnings on mixed comparisons

* return inline types

* review

* disable mixed comparison test

* chaqngelog

* wip

* wip

* wip

* enable tests

* fix tests

* impl

* Revert "impl"

This reverts commit baeea8989f.
2024-07-19 11:55:46 -04:00
Adam Obuchowicz
59f438e00d
Improve output node (#10577)
Fixes #10459

The node is no longer removable and have special icon; if consist of only an identifier (a typical case for collapsed node), the identifier is replaced with icon (like self arguments in normal components).

[Screencast from 2024-07-17 15-18-28.webm](https://github.com/user-attachments/assets/91d48759-3d44-47ac-bbd2-b9a6085ade82)
2024-07-19 11:50:14 +00:00
Ilya Bogdanov
82e7221c92
Fix pasting external images in docs (#10590)
First part of https://github.com/enso-org/enso/issues/10435

See individual commits for description of changes.

https://github.com/user-attachments/assets/022f3251-722d-43ac-b056-52360ddd7b04
2024-07-19 04:58:59 +00:00
Jaroslav Tulach
c0f5759e07
Speeding up Ordering_Comparator (#10593) 2024-07-19 04:08:53 +02:00
Pavel Marek
451d7cb452
System.exit does proper context hard exit. (#10363)
The `System.exit 42` component is treated the same way as any other Panic error - it does not interfere with other component evaluation:
![image](https://github.com/user-attachments/assets/516490b5-755f-453e-8dc9-744437dc51bd)

After removing the `System.exit 42` component, the workflow works as expected. I have also tried opening the project with the component and then removing it.
2024-07-18 18:10:36 +00:00
Jaroslav Tulach
c20eab2af9
Detect compilation while benchmarking (#10574)
Enables `engine.TruffleCompilation` in `std-benchmarks`, collects the logs and dumps compilation into to `System.err` when a benchmark is influenced by dynamic compilation.
2024-07-18 15:49:16 +00:00
Kaz Wesley
4cff789b69
Refactor precedence for whitespace changes (#10569)
Single-phase whitespace-aware precedence resolution.

#### Performance
![newplot(4)](https://github.com/user-attachments/assets/9822b0dc-17c3-4d2d-adf7-eb8b1c240522)
Since this is a major refactor of the core of the parser, I benchmarked it; it's about 3% faster.

# Important Notes
- Move operator-identifier recognition to lexer.
- Move compound-token assembly out of precedence resolver
2024-07-18 15:48:20 +00:00
Ilya Bogdanov
22495e0592
Fix doc panel resizing (#10591)
One of the tasks in https://github.com/enso-org/enso/issues/10435
2024-07-18 13:01:05 +00:00
James Dunkerley
15810a4675
Linting fixes. (#10589)
Generating Doc data so fixed linting.
2024-07-18 12:42:34 +00:00
Radosław Waśko
4e310d723d
Refactor: split IrToTruffle::processModule into smaller sub-methods (#10587)
- This PR only re-arranges code, splitting the **huge** `processModule` function into a few smaller ones.
- I decided to do it, because when I was working with `processModule` on #9812 I was constantly getting lost in this huge method (this **one** method had 570 lines!) - there is too much happening at once there. Now it's been split into smaller methods, each dealing with one thing.
2024-07-18 12:14:11 +00:00
Hubert Plociniczak
473a51cee7
Always write Config's namespace and dashboard accepts a default one (#10572)
Closes #10564. Dashboard accepts only projects with non-empty namespace.
The change in project-manager ensures that we serialize `namespace` even if it is a default one.
The change in dashboard ensures that namespace can be empty.
2024-07-18 10:29:37 +00:00
somebody1234
0f31fee5ef
Auto scroll for all types of drags (#10584)
- Partly addresses https://github.com/enso-org/cloud-v2/issues/1350
- Enable autoscroll for any type of drag (previously only enabled for selections)

# Important Notes
- So I implemented this ages ago, not sure why I never opened a PR... I guess it's possible that I just never got around to testing whether it worked properly
2024-07-18 08:49:39 +00:00
Pavel Marek
154d5c0516
VSCode: Add support for methods in type body (#10560)
VSCode extension structure supports methods in type bodies.

![image](https://github.com/user-attachments/assets/f8b4771d-45c9-4884-89b6-9c884fe84a78)
2024-07-18 06:43:23 +00:00
somebody1234
27515c49d4
Dashboard support for renaming assets from Graph Editor (#10383)
- Close https://github.com/enso-org/cloud-v2/issues/1318
- Rename tab when project is renamed
- Update project name in GUI when renamed on Cloud backend (since it does not trigger a LS rename when on the cloud backend)

# Important Notes
None
2024-07-18 04:49:55 +00:00
somebody1234
836a7e1272
Still more dashboard fixes (#10573)
- Close https://github.com/enso-org/cloud-v2/issues/1369
- Add button to refresh project logs
- Fix https://github.com/enso-org/cloud-v2/issues/1385
- Fix issues related to Data Links
- Fix freeze when closing tab (e.g. project tab) (regression introduced when switching to `react-aria` Tabs, oops...)

# Important Notes
None
2024-07-17 23:52:27 +00:00
Hubert Plociniczak
700a638f1e
Ignore ProcessBuilder logs (#10578) 2024-07-17 21:38:16 +00:00
James Dunkerley
771402acf6
Widget Improvements (#10575)
- New centralised `make_any_selector` for creating dropdown for various types.
- Updated `Filter_Condition.default_widget` to be auto-scoped.
![image](https://github.com/user-attachments/assets/2786d512-6716-4d4b-b119-15054611c11c)
- Nested structure for Simple_Expressions.
![image](https://github.com/user-attachments/assets/09eda332-0888-41e7-8462-fc8566959da5)
2024-07-17 19:53:17 +00:00
Hubert Plociniczak
39898da664
Reduce the number of log INFO events (#10500)
Reducing the number of log events that we spam regular users. Not the last PR in that area, but already a progress.
Also replaced `fileWalk` with a stream approach hoping that maybe it is a bit more stable on Windows.
2024-07-17 14:29:48 +00:00
Ilya Bogdanov
d1c04fdd30
Fix issue with documentation panel focus (#10558)
Fixes #10471
2024-07-17 14:23:46 +00:00
somebody1234
ebf4cd5c1f
Inline modules in app/ide-desktop/ (#10305)
- Remove unnecessary modules
- Remove `ts-plugin-namespace-auto-import` as it was a workaround to use the non-conventional `import *` convention
- Remove `esbuild-plugin-copy-directories` as it is unuse
- Inline modules that are only ever used once
- Inline `project-manager-shim` into `gui2` - it is only used during `gui2`'s dev mode
- Inline `content-config` into `client`
- Flatten `app/ide-desktop/lib/` to `app/ide-desktop/`
- Flatten `app/ide-desktop/lib/dashboard/` to `app/dashboard/`

# Important Notes
- As mentioned above, all remaining modules have been moved up from `app/ide-desktop/lib/` to `app/ide-desktop/`. It's not ideal but I'd rather hold off on moving them anywhere else before we have a consensus on what should go where.
- (That is to say, this may not be the final directory structure - but I figure it's fine to get *something* done so that hopefully the rest of the restructuring is simpler.)
2024-07-17 09:10:42 +00:00
AdRiley
2d6c86398d
Update icons (#10570) 2024-07-16 20:46:38 +01:00
GregoryTravis
0268cbb55b
Various Decimal usability tweaks (#10517) 2024-07-16 18:37:25 +00:00
AdRiley
cd1d61710f
Rename run workflow button to write (#10568)
Request from Product team to not have a run button. Renaming it to write
2024-07-16 18:04:31 +00:00
somebody1234
418a6b5372
Single instance (#10552)
- Close #10169
- Open files in the existing instance of the IDE when double clicked.

# Important Notes
None
2024-07-16 17:51:38 +00:00
Jaroslav Tulach
a33f632a73
Make EnsoOutputStream fast again! (#10559)
Will fix #10550 by properly using `@TruffleBoundary` annotation
2024-07-16 17:30:56 +00:00
James Dunkerley
2442ebc52e
Restore Encoding.Default. (#10567)
Following the fix of Input Stream, restore the encoding parts.

No significant performance impact on reading the client test data.
2024-07-16 16:49:46 +00:00
somebody1234
06274a2c5b
Fix React warnings (#10404)
Fix some React warnings:
- Fix warning about nested `button`s when close button is in tab button
- The fix for now is to change the outer `button` to a link without a `href`. It's not ideal but we still want to use the CSS that comes with buttons, we just can't have nested `button` elements in HTML.
- Fix warning about setting state outside of a `useEffect` when deciding to show Local category when user is not enabled
- Fix passing invalid `isInvalid` prop to plain HTML element in ToS modal

# Important Notes
None
2024-07-16 15:52:00 +00:00
Jaroslav Tulach
c367e76e44
Renaming launcher executable to ensoup (#10535)
Closes #10476.

# Important Notes
Let's see what exactly fails on the CI and fix that then...
2024-07-16 14:30:23 +00:00
Hubert Plociniczak
9e553397b6
Log FS service failures (#10562)
Without the original falure somehow logged, it is impossible to figure
out the crashes.
2024-07-16 16:28:27 +02:00
Adam Obuchowicz
73b12d0d60
Fix flaky test (#10565)
One of our tests was flaky: one check failed immediately because there were two drop-down elements. I've never caught them in the screenshot, so it's probably near-one-frame state caused by some transitioning.

I added a "wait-check" for single drop-down.
2024-07-16 13:45:20 +00:00
somebody1234
cf9d757457
Even more dashboard fixes (#10541)
- Fix https://github.com/enso-org/cloud-v2/issues/1383
- Fix file download - both on Electron, and in browser
- Refresh versions list when uploading neww file version
- Fix app crashing when asset is opened in asset panel while switching to Local Backend
- Don't show asset id when asset is opened in asset panel, but user is on the Local backend, resulting in the internal Asset ID being shown
- Fix drag-n-drop
- ⚠️ `npm run dev` is NOT fixed in this PR - however it should already be fixed in another PR which has already been merged. This needs testing to confirm whether it is fixed though.

Other changes:
- Add support for "duplicate project" endpoint on Local Backend
- Fix downloading project from nested directory on Local Backend (not working)
- Refactor more E2E tests to use the "new" architecture
- Simplify "new" E2E architecture to minimize boilerplate

# Important Notes
- When testing downloads, both Electron and browser should be tested as they use completely separate implementations for how files are downloaded.
2024-07-16 09:55:45 +00:00
Radosław Waśko
a30b0c60eb
Snowflake Dialect pt. 5 (#10528)
- Related to #9486
- Batching of expression tests
- Fixing arithmetic by simplifying `%` and `/` operations
- Trying to share some more tables, sometimes improving performance sometimes not really
- Adding sorting and other fixes to tests to make them pass: Missing_Values_Spec, Filter_Spec, Map_Spec
- Fixing warnings related to materialization of Decimal->Integer, thus fixing Join_Spec.
2024-07-16 09:38:57 +00:00
Hubert Plociniczak
a992c8aa4f
Fix context lock removal (#10273)
* Fix context lock removal

Removal of context lock assumed that one still holds a lock on it. This
is no longer the case when using a `withContextLock` block that
correctly manages the resource. This change fixes the
`IllegalMonitorStateException`.
Closes #10354.

* address review

* Add missing file

* Hiding ContextLock internals from other than ReentrantLocking classes

---------

Co-authored-by: Jaroslav Tulach <jaroslav.tulach@enso.org>
2024-07-16 09:58:03 +02:00
James Dunkerley
cc1ac87c99
Linting, XML to_table and fix JSON viz for XML (#10554)
- Linting fixes.
- `XML_Document` and `XML_Element` have `to_table` method.
- Add `to_default_visualization_data` to `XML_Document` and `XML_Element`.
- Add support to Table viz to render.

![image](https://github.com/user-attachments/assets/f01a3508-443e-48db-ad4f-605094a04c2b)

![image](https://github.com/user-attachments/assets/c7573b68-7549-494f-9c59-ea240178c0eb)
2024-07-15 18:33:37 +00:00
Kaz Wesley
11d2a44792
Cloud file browser (#10513)
https://github.com/user-attachments/assets/54cc375d-2a77-431c-af85-75fc872e2bcc

Closes #10167.
2024-07-15 15:22:51 +00:00
Hubert Plociniczak
e585904291
Mitigate Language Server visualizations DOS scenario on startup (#10549)
* Mitiigate LS DDOS scenario on startup

For a medium-size project with a lot of visualizations, Language Server
will be flooded with visualization requests on startup. Due to an
existing limit for the job execution engine, some of those requests
might have been silently dropped.
This change lifts that limit until a better fix can be invented.

Additionally, a slow startup might lead to a timeout when serving open
file request. This change adds some retries as a fallback
mechanism/progress monitoring.

* add runtime-fat-jar to a list of aggregates
2024-07-15 16:45:07 +02:00
Jaroslav Tulach
69da3d5999
Underline syntax errors in VSCode (#10553) 2024-07-15 15:31:15 +02:00
Pavel Marek
79a1fdbed5
Add ExportImportResolutionBenchmark (#10043)
Vast majority of CPU time in ExportsResolution is spent in [BindingsMap.SymbolRestriction.optimize](9a37357247/engine/runtime-compiler/src/main/scala/org/enso/compiler/phase/ExportsResolution.scala (L173)). #10369 dealt with this. This PR only adds the `ExportImportResolutionBenchmark`.

# Important Notes
- Introduce new [ExportImportResolutionBenchmark](9e70f675d8/engine/runtime-benchmarks/src/main/java/org/enso/compiler/benchmarks/exportimport/ExportImportResolutionBenchmark.java) that measures the performance of import and export resolution only.
- Note that the already existing [ImportStandardLibrariesBenchmark](4d49b00375/engine/runtime-benchmarks/src/main/java/org/enso/compiler/benchmarks/module/ImportStandardLibrariesBenchmark.java) is probably fine for the purpose, but I just wanted to be sure that **ONLY** the import/export resolution is measured and nothing else, so I have isolated that into a new benchmark.
2024-07-15 10:38:05 +00:00
AdRiley
d1b5bd9767
Add paragraph (#10548)
Forcing in as Engine issue is nothing to do with this.
2024-07-15 11:33:29 +01:00
somebody1234
151438157e
Optimize assets table (#10522)
- Fix https://github.com/enso-org/cloud-v2/issues/1379
- Stop re-rendering the entire `AssetsTable` on every `AssetEvent`
- This is achieved by using `zustand` for fine-grained reactivity.

Other misc fixes:
- Fix "unique key prop" error in sidebar
- Vertically center asset panel toggle icon in top bar
- Limit width of asset names (show tooltip when asset name is too wide)

# Important Notes
None
2024-07-15 10:06:15 +00:00
Adam Obuchowicz
bfb1d8e6b7
Move warning msg below viz (#10546)
Fixes [10450](https://github.com/enso-org/enso/issues/10450)

![image](https://github.com/user-attachments/assets/21efe4e0-922b-4a83-8f6e-ddaea360e655)
2024-07-13 16:42:31 +00:00