Commit Graph

4996 Commits

Author SHA1 Message Date
Kaz Wesley
12d690079c
Fix doc editor sync (#10766)
Fixes #10527.
2024-08-07 15:43:26 +00:00
Pavel Marek
c2c6712b77
WithWarnings uses EnsoHashMap to speed things up (#10555)
Majority of warnings handling is now done via newly introduced nodes. Moreover, the underlying representation of warnings storage in `WithWarnings` was changed from `Warning[]` to `EnsoHashMap`.

# Important Notes
- Remove `ArrayRope`.
2024-08-07 15:29:57 +00:00
Kaz Wesley
3a4b942aae
Help tab (#10771)
Add context sensitive help to right side panel; implements #10582.

https://github.com/user-attachments/assets/0d6bce44-735a-4deb-86c9-72a088ab1d59

# Important Notes
- The rightmost (i.e. current) breadcrumb is no longer clickable.
2024-08-07 14:49:24 +00:00
James Dunkerley
b8c036c476
Initial Tableau Reading Support (#10733)
- Adds `Hyper_File` allowing reading a Tableau hyper file.
- Can read the schema and table list.
- Can read the structure of a table.
- Can read data into an Enso Table.
2024-08-07 09:23:05 +00:00
Jaroslav Tulach
71285e6ff8
Import all available libraries in --repl mode (#10746)
Continuation of REPL work (#10709): Import all available libraries when running `--repl`.
2024-08-07 07:36:39 +00:00
Hubert Plociniczak
0c55ee50cf
Debug Ydoc/LS interaction without making code changes (#10687)
* Debug Ydoc without making code changes

Previously the log statements were guarded by a constant. Now log
statements are printed if YDOC_DEBUG=true env var is set during launch.

* debug LS RPCs

* bump vite to 5.3.5

* s/YDOC_DEBUG/YDOC_LS_DEBUG

* Address PR comment

* nit

* nit

* fix tests

* yet another linting problem
2024-08-06 19:53:36 +02:00
Kaz Wesley
e47bdd3e17
Implement full new-lambda syntax (#10756)
Implement full `ArgumentDefinition` syntax for new-lambda arguments, e.g `\a=1 (b:Integer = 23)-> a + b`; add backend support for new lambdas.

Emit an error when any syntactic operator is used outside of its associated syntax (fixes #10473).

Phase out complex arguments for old-lambdas: It is now a syntax error to specify default arguments for an old-lambda. This capability had no usage in real code; affected tests have been updated to test new lambdas. For now, old lambdas can continue to be used with simple arguments; if default arguments are desired, a new-style lambda can be used.
2024-08-06 17:02:32 +00:00
AdRiley
0f688d0a25
Add newlines option to text cleanse/replace (#10761)
* Auto-commit work in progress before clean build on 2024-08-06 11:32:46

* Fixed Regex and additional test

* changelog

* .

* Make non-capturing
2024-08-06 18:59:54 +03:00
Pavel Marek
f0de43a970
Add org.enso.compiler.dumpIr system prop (#10740)
Working on compiler IR is a daunting task. I have therefore added a new system property `enso.compiler.dumpIr` that will help with that. It dumps the encountered IRs to `ir-dumps` directory in the [GraphViz](www.graphviz.org) format. More info in updated docs.

Note that all the functionality to dump IRs to `dot` files was already implemented. This PR just adds the command line option and updates docs.

# Important Notes
- `--dump-graphs` cmd line option is removed as per [Jaroslav's request](https://github.com/enso-org/enso/pull/10740#pullrequestreview-2216676140).
- To dump graphs, use `-Dgraal.Dump=Truffle:2` system property passed via `JAVA_OPTS` env var.

If you run `env JAVA_OPTS='-Denso.compiler.dumpIr=true' enso --run tmp.enso` where `tmp.enso` is, e.g.:
```
from Standard.Base import all
main = 42
```
You will then have something like:
```
$ ls ir-dumps
Standard.Base.Data.Filter_Condition.dot     Standard.Base.Data.Time.dot              Standard.Base.System.Advanced.dot       Standard.Base.Warning.dot
Standard.Base.Data.Locale.dot               Standard.Base.Enso_Cloud.Enso_File.dot   Standard.Base.System.File.Advanced.dot  tmp.dot
Standard.Base.Data.Numeric.dot              Standard.Base.Errors.dot                 Standard.Base.System.File.dot
Standard.Base.Data.Numeric.Internal.dot     Standard.Base.Network.HTTP.Internal.dot  Standard.Base.System.File.Generic.dot
Standard.Base.Data.Text.Regex.Internal.dot  Standard.Base.Runtime.dot                Standard.Base.System.Internal.dot
```
You can then visualize any of these with `dot -Tsvg -O ir-dumps/tmp.dot`.

An example how that could look like is
![image.svg](https://github.com/user-attachments/assets/26ab8415-72cf-46da-bc63-f475e9fa628e)
2024-08-06 12:00:27 +00:00
Dmitry Bushev
f97dd0506a
Disable console logging for project-manager cli commands (#10690)
related: #10633

Changelog:
- fix: disable console logging for project manager CLI commands
2024-08-06 09:25:04 +00:00
Radosław Waśko
3fd14642d9
Fix upload/delete transactions in Snowflake backend (#10738)
Fixes #10609 by rewriting all our upload-related operations to rely on `DDL_Transaction` - an abstraction that handles 'transactionality' of `CREATE TABLE` statements dependent on if a given backend allows DDLs within transactions or not (if not it emulates transactionality by creating the tables outside of transaction and then dropping them on rollback).
2024-08-06 08:14:44 +00:00
Kaz Wesley
aafdef1aeb
Improve parser contextualization (#10734) 2024-08-05 15:46:58 +00:00
Sergei Garin
c179701a00
Fix Subscribe form UX (#10744) 2024-08-05 16:57:48 +03:00
Jaroslav Tulach
e94974a0a8
Internal tests run with --disable-private-check (#10743) 2024-08-05 15:22:22 +02:00
Radosław Waśko
4b35e0a99e
Propagate FS errors when creating a new project (#10708)
- Part of #10662
2024-08-05 10:58:03 +00:00
somebody1234
1fda574656
Keep subscription payment form open until plan is successful (#10732)
- Keep payment form open until `plan` on `users/me` matches the new plan being upgraded to
- 3 second delay between fetches on `users/me`
- 30 second timeout after which an error message is displayed
- Note that currently this just keeps the form submit button spinning for longer, rather than having an extra dedicated full-page loading spinner.

# Important Notes
None
2024-08-01 11:58:55 +00:00
somebody1234
d9fc3a0fb6
Dashboard improvements (#10715)
- Frontend part of https://github.com/enso-org/cloud-v2/issues/1397
- Show organization details to everyone (behavior unchanged)
- ⚠️ Allow editing only for admins
- ⚠️ Currently there is no backend endpoint to get organization permissions
- Stop (incorrectly) submitting *all* settings inputs twice
- Frontend part of https://github.com/enso-org/cloud-v2/issues/1396
- Fix "remove invitation" sending wrong request
- Stop sending `organizationId` in "create invitation" request
- Not adding `email` autocomplete to `/registration`
- Currently already exists
- but it will need to be revisited after the new sign up flow PR is merged.
- Fix https://github.com/enso-org/cloud-v2/issues/1407
- Fix project open request being sent multiple times
- Address https://github.com/enso-org/enso/issues/10633#issuecomment-2252540802
- Fix path to local projects (previously gave the path to their containing folder

Other fixes:
- Various fixes for autocomplete:
- Fix autocomplete appearance (dropdown is no longer detached from main input)
- Add tooltips for overflowing autocomplete entries
- Add tooltips for overflowing usernames in "manage permissions" modal
- Animate height of "asset search bar" dropdown and "autocomplete" dropdown
- Auto-size names of object keys in Datalink input

Other changes:
- Avoid gap with missing background on right side of tab bar when resizing window due to the clip path being animated
- Add <kbd>Cmd</kbd>+<kbd>W</kbd> and <kbd>Cmd</kbd>+<kbd>Option</kbd>+<kbd>W</kbd> to close tab
- Make <kbd>Escape</kbd> only close tab if it is the Settings tab (a temporary tab)

# Important Notes
None
2024-08-01 11:29:05 +00:00
Sergei Garin
a5922e0844
New Signup flow (#10616) 2024-08-01 09:35:41 +00:00
somebody1234
636d0d11bf
Move selected rows state of Data Catalog to zustand store (#10637)
- Eliminates lag when using drag-to-select (the `SelectionBrush`) by moving the state into a zustand store.
- This avoids the lag because now the entire Data Catalog no longer has to rerender, because the state is no longer stored in the `AssetsTable` component that contains all the rows (and would therefore rerender all the rows when its state changes)

# Important Notes
- The lag is present on Chromium, but any lag in general is generally more visible on Firefox, so it's highly recommended to test on Firefox as well as Electron
- On current develop, *any* drag selection should be enough to trigger the lag (typically 200ms JS + 200ms rendering). If it's not reproducible, then you may need to create more assets.
2024-08-01 07:58:15 +00:00
Ilya Bogdanov
42ba5ee8a2
Fix editing number and string literals from code editor (#10693)
Closes #10684

https://github.com/user-attachments/assets/a6b42121-b684-414c-a370-f64174621212
2024-07-31 14:07:10 +00:00
Adam Obuchowicz
347ef0260f
Fix docpanel scrollArea height (#10721) 2024-07-31 11:02:01 +00:00
Radosław Waśko
6ad3faf03b
Refactor Upload_Table to be more readable: split into separate smaller submodules (#10713)
- First step of #10609 - before I actually modify it, I decided I need to refactor the `Upload_Table` logic as it was quite convoluted. Doing this as a separate PR for easier review. A big 600+ line file was replaced by several smaller ones grouped by topics.
- Practically no changes apart from moving stuff into separate modules.
- One small change - added `Missing_Argument` to `SQL_Query` as I noticed that lack of defaults was giving rise to confusing errors when working with `query` in the GUI.

Before:
![image](https://github.com/user-attachments/assets/b586caec-f25c-406e-be5a-d402f10feb86)
After:
![image](https://github.com/user-attachments/assets/6b1d4206-05b1-4587-b3e1-43ca95ea7c2e)
![image](https://github.com/user-attachments/assets/58c098bd-db0c-4ee2-823c-bf5c9e758ce4)
2024-07-31 09:54:17 +00:00
Radosław Waśko
9b2f611402
Relative paths are relative to current project locally and in Cloud (#10660)
- Close #10622
- Changes `project-manager` and `ensoup` launcher to run the engine/language-server with working directory set to the directory containing currently running project.
- If the working directory is _not_ "the directory containing currently running project", a warning is written to logs. This can happen if the raw `/bin/enso` engine runner is used in a different directory.
- In the Cloud, the `File.new` interprets relative paths as cloud paths relative to the Cloud directory containing the current project. Absolute paths are unaffected.
2024-07-31 09:43:17 +00:00
Hubert Plociniczak
d43ad7ce13
Disable linting passes for IDE and repl (#10705)
There is no need to generate unused variables warnings or other linting for IDE and repl users. By default linting is enabled during compilation and for those use-cases it is now disabled via runtime options.

Closes #9883
2024-07-31 08:49:45 +00:00
AdRiley
0c552489e3
Add Initial SQL Server support (#10624)
* Squash all commits to resolve merge conflicts

* Fix merge problems

* Merge fix

* Fix port

* Fix warning

* cargo fmt

* legal review

* Small fixes

* Update instructions

* Code review feedback

* Cleanup

* typo

* Fix

* Remove leftover snowflake code

* Remove comment

* Add underscore

* Type cleanup

* Code review fix

* Cleanup

* Add datetime roundtrip test

* add comment

* drop

* Refactor

* Refactor

* Fix merge

* Fix

* Fix

* fix

* Add comment
2024-07-30 11:13:08 +01:00
Jaroslav Tulach
b9214f052c
Must specify --repl to enable debug server (#10709) 2024-07-29 18:29:55 +02:00
Adam Obuchowicz
a64b2c0a08
Remove unnecessary chrome flags (#10619)
Fixes #10487

During my tests, these flags were not needed; without them, electron app displays exactly the same cert warnings as with them:
```
Loading the window address 'https://localhost:8080/?engine.projectManagerUrl=ws%3A%2F%2F127.0.0.1%3A30535'.
[30750:0722/121629.281911:ERROR:cert_verify_proc_builtin.cc(1051)] CertVerifyProcBuiltin for localhost failed:
----- Certificate i=0 (CN=127.0.0.1) -----
ERROR: No matching issuer found
```
in CLI and
![Screenshot from 2024-07-22 10-13-12](https://github.com/user-attachments/assets/82a73c9a-ca46-4880-b94e-e979d30ae97c)

in web console.
2024-07-29 15:00:50 +00:00
Adam Obuchowicz
a638d8e54e
Changelog for new release (#10703) 2024-07-29 13:17:25 +01:00
somebody1234
e609b1cff8
Add .enso-project extension when downloading project files from cloud (#10701)
- See https://github.com/enso-org/cloud-v2/issues/1372#issuecomment-2255172443

# Important Notes
- I don't seem to be able to test, as `get_project_details` seems to be returning a value without `url` for some reason
2024-07-29 09:53:24 +00:00
Jaroslav Tulach
07bc728b6d
Avoid race condition in GC_Example test (#10665)
Re-enables https://github.com/enso-org/enso/pull/10602/files#r1690919173 - uses `IO.println` to allow us to see what the CI actually does.
2024-07-29 09:37:21 +00:00
Dmitry Bushev
4dfbbd53f3
Reapply "Persist a subset of IdMap (#10347)" (#10626) (#10700)
Re-enable the IdMap optimization. It was reverted in #10626

#10674 Fixed the issue with loading dynamic widgets.
2024-07-29 08:38:18 +00:00
somebody1234
eb0796c837
Change text under profile picture input (#10694)
- See https://github.com/enso-org/cloud-v2/issues/1408
- Change text under profile picture input

# Important Notes
None
2024-07-29 08:19:51 +00:00
Jaroslav Tulach
cb72487cc9
ContextFactory reused to initialize language-server context (#10670) 2024-07-29 09:49:14 +02:00
Hubert Plociniczak
73cb5d1dd7
Don't report stacktraces for interruptions (#10698)
Interruptions are OK now and shouldn't be reported as a warning.
This is confusing to devs.
2024-07-28 16:41:53 +02:00
Dmitry Bushev
446834b4f9
Soft delete projects by moving them to trash (#10440)
close #10357

Changelog:
- add: `LinuxTrashBin` implementing Freedesktop.org trash specification
- add: `WindowsTrashBin` calling native platform APIs for Windows
- add: `MacTrashBin` calling native platform APIs for MacOS
- update: `project/delete` method moves projects to trash and falls back to directory deletion
2024-07-27 13:37:43 +00:00
Dmitry Bushev
9e19009158
When reopening a project no dynamic widgets available (#10674)
close #10595

Changelog:
- fix: storing IdMap from the request
- update: apply updated external ids after loading the module from cache
- update: simplify the node invalidation logic

# Important Notes
https://github.com/user-attachments/assets/c93df161-3bc5-4ecf-8696-239a2498dfb8
2024-07-27 08:21:05 +00:00
GregoryTravis
f0e9616d39
Implement Runtime.Context.Dataflow_Stack_Trace for dataflow errors thrown from Enso (#9625) 2024-07-26 19:20:41 +00:00
James Dunkerley
74acc1de24
Tweaks from client Demo (#10685)
- Adjusted Filter_Condition removing keep/drop from basic filters.
- Fix Is_In to have selector.
- Fix for Date simple expressions.
- Add get_row to Table and DB_Table.
2024-07-26 18:44:36 +00:00
marthasharkey
20a04dbb80
Fix copying cell value in grid (#10680)
<img width="365" alt="image" src="https://github.com/user-attachments/assets/e28c94d3-cbfc-45b0-9f8e-2f833bf2f0f4">

Copy only copies the cell value and no longer the cell value and the header name
Copy with headers will still copy the header name and cell value
2024-07-26 17:31:21 +00:00
Hubert Plociniczak
0f055c7fb3
Additional info to debug AccessDenied problems (#10663)
Plain `Storage failure [AccessDenied].` was rather uninformative when it comes to debugging the underlying problem.
Added more detailed error messages and runners' failures should now sometimes print a detailed message.
References #10662.
2024-07-26 16:01:44 +00:00
somebody1234
fde2f71419
Restructure app/ide-desktop/client/ for consistency with other modules (#10649)
- Change paths from `foo-bar` to `@/fooBar` to be consistent with GUI module naming

# Important Notes
None
2024-07-26 15:14:31 +00:00
marthasharkey
c4e8ae143e
Ag grid boolean inference turned off for mixed type column (#10683)
If one value in a column is a boolean ag-grid renders all values in the column as a checkbox when cellDataTypes is true. This becomes a problem when getting a row of mixed type, so in this situation cellDataType will be set to false.

Bug:
![row-mixed-type-bug-problem](https://github.com/user-attachments/assets/5fcdd96d-8422-4370-b71e-94181ac42e2e)


Fix:
![row-mixed-type-bug-fix](https://github.com/user-attachments/assets/9ad18d1b-1b55-4351-a3ee-57a390b91fc4)
2024-07-26 14:53:02 +00:00
Paweł Grabarz
b95a390854
Avoid calling wasm parser immediately on widget module load. (#10688)
Fixes a race condition causing error in RC4:
```
index-ykDiQPdr.js:38 TypeError: Cannot read properties of undefined (reading '__wbindgen_add_to_stack_pointer')
```
2024-07-26 14:38:42 +00:00
somebody1234
340b22b84d
Fix .git-blame-ignore-refs (#10682)
I totally forgot that the hash changes when a commit gets rebased...

# Important Notes
None
2024-07-26 12:47:01 +00:00
somebody1234
9e5c4750c9
Fix Data Catalog showing spinners when refetching (#10647)
- Fix https://github.com/enso-org/cloud-v2/issues/1400
- The code was incorrectly changed to  consider `isFetching` as a loading state (`isFetching` actually represents the state when there is already cached (stale) data, but updated data is being fetched.)

# Important Notes
None
2024-07-26 12:03:50 +00:00
somebody1234
0d72409dd1 Update .git-blame-ignore-revs (#10648) 2024-07-26 17:47:59 +10:00
somebody1234
c46262dfb5 Format TS code (#10648) 2024-07-26 17:47:59 +10:00
somebody1234
4b96be8ef8 Edit prettier config (#10648) 2024-07-26 17:47:59 +10:00
Radosław Waśko
46e8bab429
Fix aggregate after sort in DB (#10677)
* add test for https://github.com/enso-org/enso/issues/10321

* wrap in subquery if ordering was present to fix the bug

* adding one more test just to be sure

* fix import
2024-07-26 08:43:19 +01:00
Pavel Marek
f849634db3
Atom fields are visible in debugger (#10661)
Atom fields are now visible in the debugger (both chrome inspector and VSCode's debug adapter protocol):
![image](https://github.com/user-attachments/assets/c3d19475-c271-46b6-a44e-e9aebf414b8d)
2024-07-26 06:54:39 +00:00