Commit Graph

4783 Commits

Author SHA1 Message Date
Adam Obuchowicz
291db8aa07
Moving nodes or camera with arrows (#10179)
Fixes #10029

[Screencast from 2024-06-05 11-40-50.webm](https://github.com/enso-org/enso/assets/3919101/8dcb9099-5489-488c-86dc-560325e84f52)
2024-06-06 16:47:02 +00:00
Jaroslav Tulach
01d292af30
Updating IGV documentation (#10193)
Updating IGV documentation. Putting Run and Debug actions into popup menus. Enabling breakpoints in Enso source files.
2024-06-06 16:36:27 +00:00
Sergei Garin
4beded2438
Refactor Stripe integration (#10191)
This PR improves intergration with Stripe functionality:

1. Moves Stripe into a separate provider
2. Add bakn card component extracted into a separate component
2024-06-06 14:36:41 +00:00
Jaroslav Tulach
396d70ddc0
Execute foreign function and check autoscoped constructor result (#10187)
Fixes #10151 and also fixes #10180 and fixes #10186.
2024-06-06 13:16:27 +00:00
Sergei Garin
d21140e422
Small refinements across dashboard components (#10188)
This PR:

1. Improves typography across the components
2. Refactors Terms of service modal to `<Field />` component
3. Changes the way we render background for modals (we no longer need ::before and relative hacks)
4. Adds ability to nest `<Text />` components and remove paddings of the nested text elements. this is helpful if we want to change styling of a particular word inside the text or we want to display 2 text nodes closer to each other
5. Remove timeot before showing a tooltip on button elements.
2024-06-06 08:59:48 +00:00
Hubert Plociniczak
1bc14252df
Extract mutable builder from ModuleScope (#9914)
Refactored mutable parts of `ModuleScope` into builder to make it easier to reduce unnecessary locks.

# Important Notes
Elements of ModuleScope (types, imports etc) are used while _building_ of it may still be in progress. In order to make static typing happy, every `ModuleScope.Builder` can be exposed as (unmodifiable) `ModuleScope`.
2024-06-05 16:57:08 +00:00
Radosław Waśko
698f4b5640
Remove workaround for #8937 after it has been fixed (#10149)
- Since #8937 was fixed by #10104 the workaround is no longer needed
2024-06-05 14:23:12 +00:00
Sergei Garin
149a2c8965
Radio and RadioGroup components (#10178)
This PR adds 2 new components:
1. Radio
2. RadioGroup

Also makes Form 99% feature-complete

This shall be merged after https://github.com/enso-org/enso/pull/10176
2024-06-05 13:19:33 +00:00
Sergei Garin
e6ecaff4c4
Improve Dialog behavior (#10176)
This PR improves the DX and UX of dialogs/popovers:
1. Now the content is wrapped in `<Suspense />` and `<ErrorBoundary />`
2. Dialogs no longer close if they are underlay below the other dialogs
3. Provides an ability to close the dialog underlay component using dialog context
2024-06-05 10:41:40 +00:00
Sergei Garin
4e92d784e2
Don't hide visual tooltip when mouse goes from target to tooltip (#10177) 2024-06-05 09:05:33 +00:00
Jaroslav Tulach
8332118ff4
What's the name of my method? (#10164)
While working on #10056 I realized the names of method and closure nodes are incomprehensible to anyone. This PR replaces the infamous `<anonymous>` with a name hinting where the method actually is.

# Important Notes
I assume this change will be visible not only in IGV, but also in _stacktraces_ and we may need to adjust few tests.
2024-06-05 07:49:53 +00:00
GregoryTravis
5fad3558a6
BigDecimalBuilder and arithmetic operations. (#9950)
* hack

* make a column

* add

* no scale=0 on BD type

* a test

* wip

* 3 arithmetic ops

* /

* wip

* BigDecimalPowerOp

* wip

* mod test

* NumericBinaryOpReturningBigDecimal

* with scalar

* misc arithmetic tests

* fix integralBigDecimalToInteger

* mixed columns

* bigdecimal pow via double

* cleanup

* j2e on get

* arithmetic exception

* mod 0

* cleanup

* fmt

* changelog

* check type first

* merge

* mc error message

* add BD case to Builder.java

* fmt

* changelog

* add BD case to StorageConverter.java

* fmt

* fix test
2024-06-04 13:59:31 -04:00
Dmitry Bushev
106007cb89
Implement the ydoc js bundle test (#10160)
close #9929

Changelog:
- update: customize Ydoc main hostname and port with environment variables
- add: Ydoc initialization test
2024-06-04 17:45:26 +00:00
AdRiley
7c35781a14
Add select/remove column by type (#10159)
* stash

* Working first pass

* Tests

* remove columns

* more tests

* More tests

* DB_Table

* In DB

* Deprecate

* Update documentation

* More docs

* Remove strict

* Remove tests

* Fix widgets

* Add doc

* Spaces

* Fix In-DB
2024-06-04 16:23:46 +01:00
marthasharkey
24d209abf9
Add Columns_To_Add type to move away from Integer | Nothing (#10152)
Adds new type "Coulmns_To_Add" that replaces the Integer | Nothing type
And adds new widget to split_to_columns and tokenise_to_columns
<img width="397" alt="image" src="https://github.com/enso-org/enso/assets/170310417/1b155682-0992-4cc0-8964-62b389ee7072">

Closes #10041
2024-06-04 15:06:08 +00:00
Radosław Waśko
7cf80f3196
Handle UTF BOM when decoding text (#10130)
- Improve BOM handling: detect and skip the BOM character, Default encoding that detects encoding based on BOM if present, warnings if unexpected BOM is encountered.
- Closes #9849
- Windows-1252 fallback will be done as a separate PR as it has additional complexity. Tracked in ticket #10148.
2024-06-04 13:22:19 +00:00
GregoryTravis
1c2955655c
Add no_warning_propagation flag to Vector.build and Builder.new (#10079)
* no_warning_propagation flag

* doc

* benchmarks

* change to propagate_warnings, test

* fix java benchmark

* add benchmark to main
2024-06-04 09:06:09 -04:00
James Dunkerley
f1a1901058
Bug fix for read by line. (#10161)
Needs to pass -1 not Nothing to JSON.
2024-06-03 21:33:45 +00:00
Kaz Wesley
1b60e2531f
Fix visualization z-indexes (#10158)
Prevent visualizations (such as table) and visualization container (including toolbar) from drawing above widgets (such as dropdown).

<img width="245" alt="image" src="https://github.com/enso-org/enso/assets/1047859/51b86256-1d6d-4cf1-9e88-3b36d13f39b8">

Dropdown now covers visualization toolbars.

<img width="245" alt="image" src="https://github.com/enso-org/enso/assets/1047859/b7fe9e47-4121-47a5-9b8a-335449d25734">

Dropdown now covers table column resize handle.

Fixes #9783.
2024-06-03 17:58:12 +00:00
Sergei Garin
448272a2f9
Fetch EULA in background if user already accepted it (#10153) 2024-06-03 17:15:37 +03:00
Sergei Garin
6adf590d9f
Improve Form typings (#10119)
This PR improves ergonimics and typesafety when using new Form component.
Also it passes validation state into react-aria-components
2024-06-03 09:03:12 +00:00
Dmitry Bushev
d08cb704b0
Record interaction between GUI and LS (#10107)
close #8328

Changelog:
- add: message callbacks to JsonRpc and Binary servers
- update: use events log to collect the RPC messages
2024-06-03 06:50:59 +00:00
Jaroslav Tulach
9632f04e9b
Directly allocate warnings asVectorEnsoObjects (#10143) 2024-06-01 06:23:49 +02:00
AdRiley
af4177e61f
Make table default visualisation (#10128)
Makes table the default vis type.

Before:
![image](https://github.com/enso-org/enso/assets/1720119/8a5d113a-ac06-4dd8-afdb-151cdbc149ab)

After:
![image](https://github.com/enso-org/enso/assets/1720119/d7c33cf7-355d-4517-8967-1963ff506f97)

Closes #10093
2024-05-31 15:02:02 +00:00
Jaroslav Tulach
500e39810f
Support --module-path in VSCode extension (#10146) 2024-05-31 14:47:12 +02:00
James Dunkerley
ffdfc7195e
Linter and small widget change (#10136)
Linter issues to allow doc site generation.
Small change in order for aggregate column.
2024-05-31 12:30:38 +00:00
Sergei Garin
28655e13d7
Frontend adjustments for Stripe refactoring (#10054)
#### Tl;dr
Closes: enso-org/cloud-v2#1185
This PR changes endpoints according to the comment left by @PabloBuchu: https://github.com/enso-org/cloud-v2/issues/1185#issuecomment-2114606101


#### This Change:
Changes endpoint names and fixes subscription flow

---
2024-05-31 09:59:25 +00:00
AdRiley
06327f8fde
Add statistic product (#10122)
Add Statistic.Product

![image](https://github.com/enso-org/enso/assets/1720119/f7fc7bb5-9efe-4dbe-9150-cd9e5101c553)
2024-05-31 09:29:52 +00:00
Adam Obuchowicz
2ca2533a89
Adjust plus button position and new node created. (#10124) (#10127) 2024-05-31 08:26:45 +00:00
Pavel Marek
270f708e4f
Implement private methods (#10060)
Add support for private methods. Most of the changes are in parser and compiler. The runtime checking of private functions was already present since #9692

# Important Notes
- Only top-level methods can be declared `private`.
- private method cannot be called from different project
- private method cannot be accessed from polyglot code (private method does not exist for polyglot code)
2024-05-31 08:00:20 +00:00
Dmitry Bushev
41c82e06b3
Timers use single executor (#10131)
followup to #10118

Changelog:
- update: use main execution thread for scheduling timer events
2024-05-30 19:50:25 +00:00
Jaroslav Tulach
c4bf9182aa
Give qualified name of type a location (#10138)
Tests and fixes #9084.
2024-05-30 19:15:46 +00:00
Pavel Marek
9027596b1b
Fix build of stdlib benchmarks after ydoc PR (#10140)
A quickfix for a broken build of `std-benchmarks`. A recent error is, e.g., in https://github.com/enso-org/enso/actions/runs/9294745663/job/25580483426#step:7:1343. io.helidon modules are missed on the module-path when invoking std lib benchmarks. This PR adds them via dependency on `componentModulesPath`.
2024-05-30 16:33:48 +00:00
Dmitry Bushev
f83ae1382e
Temporarily disable Ydoc startup (#10141)
related #10134
2024-05-30 16:28:16 +00:00
Pavel Marek
4f49a7fad6
Remove spurious warnings from zinc compiler (#10133)
* Ensure all relevant sbt projects have annotationProcSetting

* Remove unused `syntax-rust-definition/javaModuleName` key.

* Add annotationProcSetting to more projects
2024-05-30 18:24:04 +02:00
Jaroslav Tulach
b2cf2f75fb
Extract the State from thunk's scope (#10120) 2024-05-30 17:24:06 +02:00
somebody1234
c94507dd3b
Duplicate and restore project (#9816)
- Close https://github.com/enso-org/cloud-v2/issues/943
- Add buttons in "versions" tab on the right hand side panel to restore and duplicate projects.

# Important Notes
- There is an UI issue when restoring a project - the placeholder UI is removed one render tick later than the "list versions" query is refetched, so an extra version appears for one frame.
2024-05-30 09:30:42 +00:00
Adam Obuchowicz
65737b34f5
Consider currently written path when opening file browser (#10076)
We pass the current path as default to show(Open|Save)FileDialog.

# Important Notes
There is `wrapper` method of Ast, I assumed it is suitable also for Groups.
2024-05-30 07:25:25 +00:00
Hubert Plociniczak
ca8d715d5a
Hotfix for finding parser library (#10123)
* Hotfix for finding parser library

Since ydoc is now started by language server, parser is initialized
differently and attempts to find `libenso_parser.so` in
`component/runner` rather than `component` directory.

* Add fallbacks

* fix native image build
2024-05-29 23:43:53 +02:00
Adam Obuchowicz
e9452ea8ad
Quickfix for panic (#10125) 2024-05-29 15:38:43 +01:00
Paweł Grabarz
322662ee9d
Implement node ports below visualizations (#10113)
fixes #9830, #10108

![image](https://github.com/enso-org/enso/assets/919491/8ae50912-1dfb-4389-b51a-44022b334b89)
2024-05-29 13:20:53 +00:00
Pavel Marek
56b289ae79
Move common testing functionality to a separate project (#10112)
Introduce a new `test-utils` project, and moves the `TestBase` there. Moreover, `TestBase` is renamed to `TestUtils` and is no longer an abstract class.

# Important Notes
`test-utils` project does not depend on junit, so it can be used, for example, by any benchmarks as well.
2024-05-29 11:50:03 +00:00
Adam Obuchowicz
b84f082d90
Clear Changelog (#10077)
Cleared changelog, as last "officially" released was old, and was with old GUI.

Updated the list of gathered statistics

# Important Notes
I also removed the old changelog of libraries and engine, despite it not being rewritten in the meantime, but I assumed nobody will be interested in differences between alpha versions from 2 years ago.
2024-05-29 11:27:32 +00:00
Adam Obuchowicz
f9ffa47e32
Fix record once (#10109)
Fixes #10103
2024-05-29 10:34:32 +00:00
Dmitry Bushev
79e20adcc0
Local dashboard shouldn't be showing system files (#10072)
close #10071

Changelog:
- update: `--filesystem-list` command to filter the hidden files
- update: project manager shim middleware to filter the hidden fiels
2024-05-29 09:26:35 +00:00
Dmitry Bushev
9baf555616
Fix TimersTest (#10118)
Fix `TimersTest.clearInterval`
2024-05-29 04:16:17 +00:00
marthasharkey
a9f14b1da9
Add check for null values in table visualization (#10116) 2024-05-28 16:24:25 +00:00
Jaroslav Tulach
6897f0d30c
Suspended arguments need one more child scope (#10104) 2024-05-28 17:53:08 +02:00
Radosław Waśko
233f28235a
Small fixes to Postgres integration (#10105)
- Better message when saving datalink in disabled Output context:
![image](https://github.com/enso-org/enso/assets/1436948/540d615b-79ff-4811-8262-a0475a7b6923)
Before it was:
![image](https://github.com/enso-org/enso/assets/1436948/51198bf1-1e50-41bc-a56b-f829bc32d09a)

- Hack to get Postgres widget to display connection options:
![image](https://github.com/enso-org/enso/assets/1436948/39f3db39-1163-4815-b59f-c629d812e2ab)
Before the `Postgres` constructor was created without any parameters and it was not showing any parameters for modification.
2024-05-28 14:34:44 +00:00
Dmitry Bushev
858e646328
Start Ydoc with the language server (#9862)
- related #7954

Changelog:
- update: Ydoc starts with the language server on the `localhost:1234` by default. The hostname and ports can be configured by setting environment variables `LANGUAGE_SERVER_YDOC_HOSTNAME` and `LANGUAGE_SERVER_YDOC_PORT`
- update: by default `npm dev run` uses the node Ydoc server. You can control it with `POLYGLOT_YDOC_SERVER` env variable. For example,
```
env POLYGLOT_YDOC_SERVER='true' npm --workspace=enso-gui2 run dev
```
To connect to the Ydoc server running on the 1234 port (the one started with the language server)
⠀
```
env POLYGLOT_YDOC_SERVER='ws://127.0.0.1:1235' npm --workspace=enso-gui2 run dev
```
To connect to the provided URL. Can be useful for debugging when you start a separate Ydoc process.
- update: run `npm install` before the engine build. It is required to create the Ydoc JS bundle.
2024-05-28 13:51:42 +00:00