Commit Graph

452 Commits

Author SHA1 Message Date
somebody1234
efd33c0928
Run TypeScript typechecking and eslint on Lint CI (#6603)
* Run typecheck and eslint on Lint CI

* Address reviews; fix type errors in `.d.ts` files

* Remove unused parameter

* Run prettier

* Fix lint error

---------

Co-authored-by: Paweł Buchowski <pawel.buchowski@enso.org>
2023-05-23 12:22:53 +02:00
somebody1234
e35bc17794
Disable cloud backend for unverified users; use local backend as default backend; minor bugfixes (#6779)
* Disable cloud backend for unverified users

* Use local backend as default backend

* Try to fix Project Manager reconnection logic

* Set default backend to remote backend when local backend is not available

* Attempt to suppress WebSocket error console message

* Minor fix for loading spinner

* Hide "Open as folder" context menu option, when on local backend

* Remove duplicate `onSubmit` handler

* Fix live-reload

* Remove debug `console.log`

* Minor refactor; properly unset modals on click

* "created" project state for local backend, for parity with remote backend

* Hide directory path when on local backend

* Undo minor refactor

* set newDashboard & authentication flags to true

* Revert "set newDashboard & authentication flags to true"

This reverts commit 5974170866.

---------

Co-authored-by: Paweł Buchowski <pawel.buchowski@enso.org>
2023-05-23 11:05:10 +02:00
Adam Obuchowicz
a27f19fd02
Reloading file in LS after desynchronization. (#6752)
Fixes #5203

This PR changes behavior when `text/applyChange` returned error.

Before we always assumed that the change was _not_ applied, and tried to send full synchronization still assuming old file content. But this was not the case on some errors (timeouts for example). Now we instead reopen the file (getting its actual content) and then make a full invalidation.

Also added a shortcut allowing manual file reloading, what may be useful in some kinds of error (and also allowed me testing of reopening file in the application).

# Important Notes
The unit tests of sending text updates were improved: now we actually check if all expected messages are emitted from the IDE.
2023-05-23 08:19:27 +00:00
Stijn ("stain") Seghers
9a4b7d1976
Fix #6521: Main module function calls shouldn't use project namespace (#6719)
Fixes #6521: Picking a function from the CB that's defined in the main module now resolves to `Main.<func-name>` instead of `<project-name>.<func-name>`.

Note that, when collapsing nodes to a function, this referral style was already used, so this is just a change in the behaviour of the CB.
2023-05-22 14:50:25 +00:00
James Dunkerley
62fecfa474
Widgets, Vector as Column, Viz Fixes and Rename Columns (#6768)
- Fix couple of bugs in Table viz: rounding of bottom div, missing character, not including row count as an option.
- Add better JSON format for `Row`, add support for visualization in the Table viz both for `Vector Row` or `Row`.
- Fix some type signature errors.
- Move `Column_Format` to `Standard.Table.Internal`.
- Move `format_widget` to `File_Format.default_widget` and sort the signature of `Widget` methods.
- Added utility to make `Single_Choice` widgets.
- Added dropdown for delimiter on split methods.
- Removed `default_widget` from `Problem_Behavior` and `Filter_Condition`.
- Altered signature and widgets for table functions.
- Added `to_column` extension to allow easy conversion of Range and Vector to Column.
- Added `compute`, `compute_bulk`, `running` to Column to allow statistic computation.
- Added drop down for `Table.write` format parameter.
- Added drop down for `Table.rename_columns`.
- Added support for Vector of pairs for renaming columns.
- Added check when making a map from Vector if not 2 items.

![image](https://github.com/enso-org/enso/assets/4699705/beed257c-efe3-44a3-9e3a-041354701735)
2023-05-19 23:24:47 +00:00
somebody1234
658395e011
Enable require-jsdoc lint and add two lints related to React (#6403)
- Enables the `require-jsdoc` lint
- Fixes all lint errors caused by enabling this lint.

# Important Notes
- There is no option to require JSDoc for other constructs, like top-level constants.
2023-05-19 19:55:29 +00:00
Adam Obuchowicz
029b900335
Fix file uploading node expression. (#6689)
Partially fixes https://github.com/enso-org/enso/issues/5051

Fix the expression of the node representing a file being uploaded after drag'n'dropping, so it relates to the actually existing standard library function.
2023-05-19 15:03:46 +00:00
Jaroslav Tulach
08e6d21885
Display Initializing project... message when initializing project (#6661)
The current `"Project Name Uninitialized"` seems a bit scary. Why not display text describing what's really happening?

![Initializing project...](https://github.com/enso-org/enso/assets/26887752/b852ccdc-b1e4-4d3d-aa40-9e23e18ef43c)

Isn't `Initializing project...` better?
2023-05-19 06:56:37 +00:00
somebody1234
9e491e7c0b
Display "modified at" column on the cloud dashboard (#6687)
* Fix cloud-v2/#433

* Implement "last modified" for local backend

* Minor improvements to documentation

* Show nothing instead of 1970-01-01 if last modified date does not exist

* Fix type errors
2023-05-18 13:25:04 +02:00
somebody1234
0055973f62
Show spinner while loading directory (#6714) 2023-05-18 09:51:57 +02:00
Paweł Grabarz
dcdba8d1ac
Fix list editor panics during insertion (#6540)
# Important Notes
The mouse handling changes involve an unfortunate huge hack, where we enable mouse events on the mouse shape during box selection. That way we know for sure that no other shape will be able to receive mouse enter event. Then the list editor widget is modified to only actually respond to events when its background is hovered. We will definitely want a more proper way to handle mouse event contention, but it's definitely out of scope for current bugfixing.
2023-05-17 18:53:51 +00:00
somebody1234
384d3148d5
Remove project create form (#6710) 2023-05-17 13:02:33 +02:00
Stijn ("stain") Seghers
102ce7ae56
Change full-screen visualisation shortcut to shift-space (#6663)
Fixes #6260: The shortcut to open the full-screen visualisation is now `shift-space` so it doesn't interfere with the `space` shortcut to toggle the mini-visualisation.
2023-05-17 09:07:47 +00:00
Paweł Buchowski
10eeed1944
Revert "Show spinner when opening/creating a project (#6321)" (#6712)
This reverts commit 341f1275e0.
2023-05-16 22:53:59 +02:00
Michael Mauderer
3e739a76c2
Fix FRP events that deactivate visualizations. (#6638)
Addresses the issue described here: https://github.com/enso-org/enso/issues/6561#issuecomment-1536205322 .
This was caused by FRP events that would re-set the visualization path when ending the node editing. This would eventually clear the visualization before setting it again, losing the already received data.


https://github.com/enso-org/enso/assets/1428930/6e324ddf-f365-48b8-bb2a-c68b2fbd24ef

also addresses the issue described here https://github.com/enso-org/enso/issues/6561#issuecomment-1543856257


https://github.com/enso-org/enso/assets/1428930/437f7822-7c35-48ba-a055-59d6f712a813

Note that now the default visualization is already shown on the first hover of the action bar, where before it was empty. This was caused by a faulty initialization.
2023-05-16 15:51:00 +00:00
somebody1234
25eeeb7da1
Hide "shared with" column on local backend (#6684)
* Hide "shared with" column on local backend

* Constant column widths
2023-05-16 12:30:33 +02:00
somebody1234
0a3a82c07f
Fix top bar styles (#6695) 2023-05-16 12:18:38 +02:00
somebody1234
7bf9d3614c
Fix opening cloud projects (#6683) 2023-05-15 17:58:20 +02:00
Stijn ("stain") Seghers
341f1275e0
Show spinner when opening/creating a project (#6321)
Closes #5505: A spinner with the Enso logo is now shown for most of the duration when opening and creating a project.

https://user-images.githubusercontent.com/607786/234019207-e34096c7-2cb3-4ae3-abd3-291fcaf43084.mp4

# Important Notes
There's still a tiny bit of lag between the end of the spinner and when the nodes pop up, but that seemed less trivial to me to work around.
2023-05-15 14:08:56 +00:00
somebody1234
23e75f5e97
Fix logic for enabling dashboard (#6696)
* Fix logic for enabling dashboard

* Run prettier
2023-05-15 16:06:56 +02:00
somebody1234
8569ab98c2
Fix --startup.project to bypass opening dashboard (#6671) 2023-05-15 13:47:51 +02:00
Michał Wawrzyniec Urbańczyk
7748289873
Force newDashboard default on the CI-built packages. (#6680) 2023-05-15 04:03:09 +02:00
James Dunkerley
00110b8dec
Improvements to the Table visualization. (#6653)
- Moved the row count out of the grid.
- Shown for all cases.
- Added some of the JS wiring to do pages but currently hidden.
- Dropdown allowing the user to control the number of rows rendered.
- `Nothing` rendered as a italic light Nothing not just empty now.
- Function rendered as `[Function]`.
- Rounded corners on top to make it align more with look of panel.
- Dropdown for `Text.split` delimiter feed.
2023-05-12 16:51:31 +00:00
Paweł Buchowski
e62f97f26a
disable authentication and newDashboard by default (#6664) 2023-05-12 15:49:49 +02:00
somebody1234
4b64d66096
Add COOP+COEP+CORP headers (#6646)
* Revert "Revert "Add COOP+COEP+CORP headers (#6597)" (#6647)"

This reverts commit d853851984.

* Fix loading third-party resources
2023-05-12 12:58:45 +02:00
Michael Mauderer
9e71fea844
Implement loading spinner for visualisations. (#6512)
Fixes #5088. Adds a ensoGL spinner for visualizations waiting on data.

https://user-images.githubusercontent.com/1428930/236801655-67a0ffed-da5d-4e27-8797-cd8126cb86d9.mp4

# Important Notes
This spinner will not show up for the duration where visualizations are processing data on the frontend. If this is a concern, visualization need to implement heir own loading spinner, or we need to provide a unified API for them to keep the spinner visible.
2023-05-12 04:41:55 +00:00
Ilya Bogdanov
4b7afbfd36
Fix blank input port (#6614)
Fixes #6485

Conflicting requirements for the widget tree caused the issue:
1. The span tree node had a connection, and the text of the `number1` label was changed to white (as per the `Connected` color state)
2. The node configuration did not consider it a valid port because the span tree kind was `Operation`, which is not a port usually. So the port shape was not displayed, making the label blend with the node background.

I fixed the issue by considering the existence of the current connection for `Operation` nodes. Remember that it does not turn the node into a port, so after removing the connection, it's not possible to connect it back. That makes sense, in my opinion, as the resulting AST is invalid anyway. But at least we can see the label on the invalid node.


https://github.com/enso-org/enso/assets/6566674/23934966-8f72-4675-abe3-78a3f0c0cda4
2023-05-11 16:51:25 +00:00
somebody1234
866501fa81
Fix redirect paths and enable authentication and new dashboard by default (#6605)
Sets production redirect URL to `localhost:8080`. This *would* break `cloud.enso.org`, but I believe there are no plans to upload the new dashboard to `cloud.enso.org` in the near future, so this should be acceptable for the time being

# Important Notes
None
2023-05-11 15:11:03 +00:00
Stijn ("stain") Seghers
71cbb91e26
Fix #6287: wrong nested breadcrumb ordering (#6617)
Fixes #6287. When selecting a nested breadcrumb, a race condition would happen: all new breadcrumbs were being added in a separately spawned task whose execution was thus indeterministic.

https://github.com/enso-org/enso/assets/607786/73734805-292d-42ce-b08a-060a987d99bb
2023-05-11 14:59:19 +00:00
somebody1234
711e54eb9f
Whitelist AWS Cognito domains (#6643)
- Fixes [cloud-v2/#429](https://github.com/enso-org/cloud-v2/issues/429)

# Important Notes
None
2023-05-11 12:42:24 +00:00
Paweł Buchowski
d853851984
Revert "Add COOP+COEP+CORP headers (#6597)" (#6647)
This PR reverts latest changes regarding introducing COOP COEP CORP headers. It broke the map visualization (https://github.com/enso-org/enso/issues/6645)
2023-05-11 12:23:51 +00:00
Pavel Marek
a6fdfc73cd
Fix shortcuts table formatting (#6644) 2023-05-11 12:05:51 +00:00
somebody1234
9597dd361b
Add COOP+COEP+CORP headers (#6597) 2023-05-10 13:47:30 +02:00
somebody1234
0d9186b23c
Fix issues with missing sourcemaps (#6572)
* Fix issues with missing sourcemaps

* Change sourcemap back from `'inline'` to `true`

* Specialcase `/preload.cjs.map` in server

* Address review
2023-05-10 11:03:24 +02:00
somebody1234
739a7316fb
Fix asset delete; implement project delete and project rename (#6566)
* Fix cloud-v2/#421

* Implement "delete project" for local backend

* Implement "project update" for local backend

* Implement project rename; minor fixes to forms

* Fix errors

* Disallow invalid project names when using local backend
2023-05-10 10:52:05 +02:00
Stijn ("stain") Seghers
d01b0f460d
Fix #6377: Change ctrl-r shortcut (#6620)
Fixes #6377: The fact that `ctrl-r` was restoring the project to potentially the initial state was confusing. This PR changes that shortcut to `ctrl-shift-r`, as discussed in #6377.

Note that:
- `ctrl-shift-r` was already taken by the re-execution shortcut, so that got the `ctrl-alt` modifiers instead, along with the interruption shortcut for consistency.
- `ctrl-alt-shift-r` was already taken by a shortcut to refresh the whole Electron app, so that wasn't available.
2023-05-10 08:40:24 +00:00
Ilya Bogdanov
b0ce2a8d29
Fix node editing race condition (#6594)
Fixes #6411

The issue was quite popular `map2` instead of `all_with`. I also updated the code to use the modern `debounce` API instead of a hacky 0-millisecond timer.

The FRP of the project view is extremely complicated in this place, and similar race conditions can appear out of nowhere. We must consider refactoring the current implementation (everything connected to the CB).
2023-05-09 11:18:56 +00:00
somebody1234
4e7f757f53
Fix dashboard issues (part 2) (#6511)
* Fix cloud-v2/#411

* Fix cloud-v2/#412

* Fix cloud-v2/#415

* Fix cloud-v2/#414

* Run prettier

* Fix cloud-v2/#417

---------

Co-authored-by: Paweł Buchowski <pawel.buchowski@enso.org>
2023-05-09 10:33:11 +02:00
Michael Mauderer
5b0af105c1
Fix visualisation type selector artifacts rendered after node preview visualisation was closed. (#6575)
Fixes #6501.

There appears to be an issue with the children of an unlinked display object still receiving FRP mouse events. In this case, they show/hide the unlinked child, leading to it appearing again. This is mitigated by unlinking the affected element directly.

Note that while investigating this, I found that there is an untreated issue with the display object hierarchy, which cause failing tests. The failing test case has been disabled, but the linked issue ([#1405](https://github.com/enso-org/ide/issues/1405)) was closed when migrating tickets. I have re-opened it for triage.
2023-05-09 07:56:18 +00:00
somebody1234
05404300c2
Revert typescript CI Lint changes (#6602)
* Revert "Fix lint CI (#6567)"

This reverts commit 0a8f80959f.

* Revert "Run typecheck and eslint on `./run lint` (#6314)"

This reverts commit 7885145b6e.
2023-05-08 19:09:13 +02:00
Michał Wawrzyniec Urbańczyk
ee8e9e5c60
Fix the Engine version check in GUI (#6570)
This PR fixes #6560.

The fix has a few elements:
1) Bumps the Engine requirement to the latest release, namely `2023.1.1`.
2) Changed the logic of checking whether a given version matches the requirement. Previously, we relied on `VersionReq` from `semver` crate which did not behave intuitively when the required version had a prerelease suffix. Now we rely directly on Semantic Versioning rules of precedence.
3) Code cleanups, including deduplicating 3 copies of the version-checking code, and moving some tests to more sensible places.
2023-05-08 14:13:53 +00:00
Stijn ("stain") Seghers
069fcf3928
Show error pop-up when failing to rename a project (#6366)
Closes #5065: when a project can't be renamed, it now shows an error pop-up and stays in edit mode.

https://user-images.githubusercontent.com/607786/234025360-6761f7d6-c13c-479c-a0ba-8af5d81f6e87.mp4
2023-05-08 10:12:26 +00:00
GregoryTravis
f7282b7cff
"at_least_one" flag for tokenize_to_rows (#6539)
Add "at_least_one" flag for tokenize_to_rows.
2023-05-06 06:22:09 +00:00
Kaz Wesley
c957581978
Catch 5813 and avoid crash (#6585) 2023-05-05 19:53:24 +02:00
somebody1234
e1b4019b45
Fix opening links in desktop IDE (#6507)
* Fix opening links

* Address review

---------

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2023-05-05 15:49:34 +02:00
somebody1234
30f27be219
Fix dashboard issues (#6502)
* Fix cloud-v2/#406

* Fix cloud-v2/#408

* Fix cloud-v2/#405

* Fix cloud-v2/#404

* More fixes for cloud-v2/#406

* Fix cloud-v2/#410

* Remove unused variable

* Fix template names; fix template creation
2023-05-05 12:50:44 +02:00
Stijn ("stain") Seghers
0578196623
Fix #5075: stop panning on full-screen visualisation (#6530)
Closes #5075: dragging or scrolling while a visualisation is in full screen caused the camera to move in the graph editor.

The problem was that clicking on the visualisation triggered some FRP node that indicated that the project list should be closed, which then indicated that the navigator shouldn't be disabled. However, the FRP code in the graph editor interpreted "shouldn't be disabled" as "should be enabled", ignoring the fact that there's also a full-screen visualisation, which should always disable the navigator.

https://user-images.githubusercontent.com/607786/235908932-0b579d69-5fd8-438e-a82b-02678d8e6156.mp4
2023-05-05 09:04:07 +00:00
Kaz Wesley
3a832d3e53
Fix default dynamic-asssets directory (#6537)
Set the default value correctly, and use it. Fixes #6475.
2023-05-05 05:48:24 +00:00
Michael Mauderer
1817da799c
Disregard visualisation for selection of nodes. (#6487) 2023-05-04 20:43:08 +02:00
somebody1234
0a8f80959f
Fix lint CI (#6567) 2023-05-04 20:39:22 +02:00