webui-client issueshttps://gitlab.fit.cvut.cz/algorithms-library-toolkit/webui-client/-/issues2020-10-30T15:48:20+01:00https://gitlab.fit.cvut.cz/algorithms-library-toolkit/webui-client/-/issues/45Add a link to docs in string input dialog2020-10-30T15:48:20+01:00Tomáš PeckaAdd a link to docs in string input dialogthe formats may be confusingthe formats may be confusingTomáš PeckaTomáš Peckahttps://gitlab.fit.cvut.cz/algorithms-library-toolkit/webui-client/-/issues/46Log higher priority messages to stderr2020-11-15T14:39:13+01:00Tomáš PeckaLog higher priority messages to stderrWe forward logs from docker containers to hosts journald in deployment. Docker [apparently](1) logs only stderr messages as critical. However, spdlog logs everything to stdout.
Probably we have to create two sinks for the worker loggers...We forward logs from docker containers to hosts journald in deployment. Docker [apparently](1) logs only stderr messages as critical. However, spdlog logs everything to stdout.
Probably we have to create two sinks for the worker loggers.
[1] https://github.com/docker/docker-ce/blob/96d50fd61df5a62a26609523619f5a5386b7d6db/components/engine/daemon/logger/journald/journald.go#L122Tomáš PeckaTomáš Peckahttps://gitlab.fit.cvut.cz/algorithms-library-toolkit/webui-client/-/issues/42show algorithm's verbose output2021-11-14T18:44:30+01:00Tomáš Peckashow algorithm's verbose outputTomáš PeckaTomáš Peckahttps://gitlab.fit.cvut.cz/algorithms-library-toolkit/webui-client/-/issues/47(De)serialize sheet into/from URL2021-11-21T11:35:57+01:00Tomáš Pecka(De)serialize sheet into/from URLbut our Json is kinda big
- IDs might be shorter?
- run through gzip + base64
Or perhaps add database of links?but our Json is kinda big
- IDs might be shorter?
- run through gzip + base64
Or perhaps add database of links?https://gitlab.fit.cvut.cz/algorithms-library-toolkit/webui-client/-/issues/61Parse doxygen comments and visualize them2021-11-29T09:13:34+01:00Hana LitavskáParse doxygen comments and visualize themBPhttps://gitlab.fit.cvut.cz/algorithms-library-toolkit/webui-client/-/issues/66Reduce bundle size2022-02-20T13:55:19+01:00Tomáš PeckaReduce bundle sizeToday's build of 73460371 (this does not have the `algorithms.json` bundled anymore):
```
File sizes after gzip:
737.9 KB build/static/js/2.a28c4d21.chunk.js
35.84 KB build/static/js/main.364ca3d4.chunk.js
775 B build/stati...Today's build of 73460371 (this does not have the `algorithms.json` bundled anymore):
```
File sizes after gzip:
737.9 KB build/static/js/2.a28c4d21.chunk.js
35.84 KB build/static/js/main.364ca3d4.chunk.js
775 B build/static/js/runtime-main.595ff79e.js
135 B build/static/css/main.876345ae.chunk.css
```
Still too much I guess.
As per https://create-react-app.dev/docs/analyzing-the-bundle-size/:
Externals:
* 72.4% by viz.js (1.98 MB, graphviz dependency) !!!
* 6.2% by MUI (174 KB, not much to do I guess)
* 4.1% by react (114KB, not much to do I guess)
* 2.1% by immutable.js (60KB, used only for Maps in redux)
Our code is not that big.
Find out how to reduce viz.js size. Their [github repo](https://github.com/mdaines/viz.js/) says they compiled the C code with Emscripten :( Is there a way how not to bundle whole viz.js?Tomáš PeckaTomáš Peckahttps://gitlab.fit.cvut.cz/algorithms-library-toolkit/webui-client/-/issues/40algorithms.json should probably be fetched from the server2022-02-20T20:27:07+01:00Tomáš Peckaalgorithms.json should probably be fetched from the server... so we do not have to bundle it into the client and rebuild everytime we want to upgrade backend... so we do not have to bundle it into the client and rebuild everytime we want to upgrade backendTomáš PeckaTomáš Peckahttps://gitlab.fit.cvut.cz/algorithms-library-toolkit/webui-client/-/issues/69server: enable compression over HTTP2022-02-25T12:07:21+01:00Tomáš Peckaserver: enable compression over HTTPThe server probably does not compress responses. Firefox dev console shows 550kB transferred and 550kB file. The compression should lower that significantly.
https://ktor.io/docs/compression.html#configure_content_typeThe server probably does not compress responses. Firefox dev console shows 550kB transferred and 550kB file. The compression should lower that significantly.
https://ktor.io/docs/compression.html#configure_content_typeTomáš PeckaTomáš Peckahttps://gitlab.fit.cvut.cz/algorithms-library-toolkit/webui-client/-/issues/52Verbose output nodes2022-03-25T15:31:16+01:00Tomáš PeckaVerbose output nodesThe verbose output nodes were introduced in !15.
However, they are kind of hacked in there. Worker just reports them as "output nodes" and the webui processes it just as it was an output node.
I think that from the view of the worker, it...The verbose output nodes were introduced in !15.
However, they are kind of hacked in there. Worker just reports them as "output nodes" and the webui processes it just as it was an output node.
I think that from the view of the worker, it is fine.
However, the webui should distinguish between an actual output node and "verbose node".
So, what I propose:
* The verbose output should be distinguished visually (another color might suffice)
* The verbose output should be typeset in verbatim as it is just a stream of printable bytes. Some algorithms, like `minimize` even try to print a table in plaintextBPhttps://gitlab.fit.cvut.cz/algorithms-library-toolkit/webui-client/-/issues/57show documentation for algorithm boxes on canvas2022-03-25T15:31:18+01:00Tomáš Peckashow documentation for algorithm boxes on canvasMaybe a small (i) icon that shows a popup with documentation.Maybe a small (i) icon that shows a popup with documentation.BPhttps://gitlab.fit.cvut.cz/algorithms-library-toolkit/webui-client/-/issues/56templated algorithms (like string::Parse) should show the template arguments ...2022-03-25T15:31:19+01:00Tomáš Peckatemplated algorithms (like string::Parse) should show the template arguments in the Box on canvasI think templated algos should show its template params on the algorithm canvas.
User can't possibly remember which template specialization he put on the canvas.I think templated algos should show its template params on the algorithm canvas.
User can't possibly remember which template specialization he put on the canvas.BPhttps://gitlab.fit.cvut.cz/algorithms-library-toolkit/webui-client/-/issues/58Add a form for specifying grammars without a need to learn ALT input language2022-04-17T10:59:24+02:00Hana LitavskáAdd a form for specifying grammars without a need to learn ALT input languageBPhttps://gitlab.fit.cvut.cz/algorithms-library-toolkit/webui-client/-/issues/71Add input and output boxes with Parse2022-04-19T17:35:22+02:00Hana LitavskáAdd input and output boxes with ParseAdd input and output boxes for string input that will be parsed to grammar, automaton... Using string::Parse templated algorithm.Add input and output boxes for string input that will be parsed to grammar, automaton... Using string::Parse templated algorithm.BPHana LitavskáHana Litavskáhttps://gitlab.fit.cvut.cz/algorithms-library-toolkit/webui-client/-/issues/51(Finite) Automaton output nodes2022-04-20T19:02:48+02:00Tomáš Pecka(Finite) Automaton output nodesI think we should create a new outputnode that will parse the automaton and display it as a [table](https://v4.mui.com/components/tables/).
Or, alternatively, we could merge this into the DotOutput node and add two [tabs](https://v4.mui...I think we should create a new outputnode that will parse the automaton and display it as a [table](https://v4.mui.com/components/tables/).
Or, alternatively, we could merge this into the DotOutput node and add two [tabs](https://v4.mui.com/components/tabs/) there (Table, Dot) so user can easily see both versions.
Personally, I like the later version but adding "Discussion needed" label.BPhttps://gitlab.fit.cvut.cz/algorithms-library-toolkit/webui-client/-/issues/64Filter by return type / argument types2022-04-25T14:06:13+02:00Hana LitavskáFilter by return type / argument typesBPhttps://gitlab.fit.cvut.cz/algorithms-library-toolkit/webui-client/-/issues/75Add a form for automaton input2022-05-02T23:07:39+02:00Hana LitavskáAdd a form for automaton inputAdd form for table input. Discussed here https://gitlab.fit.cvut.cz/algorithms-library-toolkit/webui-client/issues/51Add form for table input. Discussed here https://gitlab.fit.cvut.cz/algorithms-library-toolkit/webui-client/issues/51BPhttps://gitlab.fit.cvut.cz/algorithms-library-toolkit/webui-client/-/issues/65We don't need to list all overloadeded functions2022-05-10T19:21:55+02:00Tomáš PeckaWe don't need to list all overloadeded functionsAs of now, we list all overloads of a function, e.g. `string::Compose`.
When user selects a `string::Compose` for e.g. `alphabet::BarSymbol` instead of `automaton::DFA`, it works, because the selection of the overload is left to the ALT,...As of now, we list all overloads of a function, e.g. `string::Compose`.
When user selects a `string::Compose` for e.g. `alphabet::BarSymbol` instead of `automaton::DFA`, it works, because the selection of the overload is left to the ALT, so it is actually not needed.
But we give user a visual warning that he chose a wrong overload (even if it works).
I'd like this to change.
* Let's list only one overload in the algorithm menu with a dropdown bar that shows all of them with appropriate docs (should the docs differ for every overload or should we unify the docs for all overloads?).
* Let's give the warning to the user only if he connects an edge from the box with a return value that cannot be used is absolutely not viable, i.e., it can't be used as an input for any of the overloads.
* However I am not sure how to deal with outputs of such overloaded box. Should we guess what the output is?BPHana LitavskáHana Litavskáhttps://gitlab.fit.cvut.cz/algorithms-library-toolkit/webui-client/-/issues/50Filter ALT algorithms2022-05-10T19:53:39+02:00Tomáš PeckaFilter ALT algorithmsI don't think we want to map all the provided algorithms from ALT 1:1. For instance, I don't think we need `example::*` algos.
So let's either
* write a filter for some algorithms
* do not link some libs to the result.
This is someth...I don't think we want to map all the provided algorithms from ALT 1:1. For instance, I don't think we need `example::*` algos.
So let's either
* write a filter for some algorithms
* do not link some libs to the result.
This is something that should probably be done in cooperation with #40.BPhttps://gitlab.fit.cvut.cz/algorithms-library-toolkit/webui-client/-/issues/37Restyle algorithm overload list element - it is too large2022-05-13T08:27:37+02:00Tomáš PeckaRestyle algorithm overload list element - it is too largeThe algorithm overload div still takes a lot of space. Finding a specific overload for algorithms like `string::Compose` is pain.
![Screenshot_2020-10-12_ALT_WebUI](/uploads/35f9c51bc59a60a4d7913ca459a1afb6/Screenshot_2020-10-12_ALT_Web...The algorithm overload div still takes a lot of space. Finding a specific overload for algorithms like `string::Compose` is pain.
![Screenshot_2020-10-12_ALT_WebUI](/uploads/35f9c51bc59a60a4d7913ca459a1afb6/Screenshot_2020-10-12_ALT_WebUI.png)
Ideas how to improve it:
- name of argument and its type can be on a single line. If the name of the argument is longer than (lets say) 15 characters, abbreviate it with `...`.
- I was actually thinking about removing the name of the parameter and repace it with the input index. But I see that we reference the name in the docs. This is something that can't probably be done better (parsing doxygen? probably not, thank you). In the future we should solve this on the `automata-library` level. Maybe use a docstring for each parameter separatelyinstead of the full doxygen (what do you think, @travnja3 ?)
- Result and its type similarly
- Smaller margins around those <code>hr</code> tags and Result and Parameters headers.
I think making it smaller at least about one third would be desirable.BPhttps://gitlab.fit.cvut.cz/algorithms-library-toolkit/webui-client/-/issues/82Introduce parser generators for ALT formats2022-05-13T12:04:50+02:00Tomáš PeckaIntroduce parser generators for ALT formatsThese handwritten parsers are hard to maintain.
Look e.g. into [peggy.js](https://github.com/peggyjs/peggy), the successor of peg.jsThese handwritten parsers are hard to maintain.
Look e.g. into [peggy.js](https://github.com/peggyjs/peggy), the successor of peg.jsTomáš PeckaTomáš Pecka