webui-client issueshttps://gitlab.fit.cvut.cz/algorithms-library-toolkit/webui-client/-/issues2022-10-16T19:35:49+02:00https://gitlab.fit.cvut.cz/algorithms-library-toolkit/webui-client/-/issues/89Input box types string and String are confusing2022-10-16T19:35:49+02:00Tomáš PeckaInput box types string and String are confusingStudent did come up with this which is wrong [webui_export.json](/uploads/fbe40c1ecdb3876cce424f1fda76afd5/webui_export.json)
We need to redesign this, it's very confusing because
* string is unparsed but sometimes (when?) this std::st...Student did come up with this which is wrong [webui_export.json](/uploads/fbe40c1ecdb3876cce424f1fda76afd5/webui_export.json)
We need to redesign this, it's very confusing because
* string is unparsed but sometimes (when?) this std::string is lifted to our string::LinearString (String)
* String type is `string::*`, it also needs to delimit symbols with whitespace and for linear string we need to wrap it in quotes (e.g . `"a h o j"`)
cc @bilybranhttps://gitlab.fit.cvut.cz/algorithms-library-toolkit/webui-client/-/issues/86show measurements2022-05-19T19:11:28+02:00Tomáš Peckashow measurementsWe can run algorithms within measurements frame and report those. We just need an API for measurements, printing the frame report is not enoughWe can run algorithms within measurements frame and report those. We just need an API for measurements, printing the frame report is not enoughhttps://gitlab.fit.cvut.cz/algorithms-library-toolkit/webui-client/-/issues/85Implement explicit cast node2022-05-19T19:10:21+02:00Tomáš PeckaImplement explicit cast nodeI guess this should work like a node where you select cast target from a dropdown menu (see `casts` from worker definitions).
We can probably filter the targets based on the previous result type but I am not sure how that plays out with...I guess this should work like a node where you select cast target from a dropdown menu (see `casts` from worker definitions).
We can probably filter the targets based on the previous result type but I am not sure how that plays out with the merged result types now.https://gitlab.fit.cvut.cz/algorithms-library-toolkit/webui-client/-/issues/84Drop JMS "load balancer"2022-05-07T13:45:23+02:00Tomáš PeckaDrop JMS "load balancer"Look into implementations of load balancing. Do we really need the middleware API server implementing JMS?
Isn't it enough to just configure API server's nginx to be the load balancer and redirect the requests to one of the (worker) IPs...Look into implementations of load balancing. Do we really need the middleware API server implementing JMS?
Isn't it enough to just configure API server's nginx to be the load balancer and redirect the requests to one of the (worker) IPs? Is this easily scalable? Or do we need to hardcode the IPs into the nginx config?
I'd like this because this means that we can drop the API KTOR server and JMS.
On the other hand, all the workers would be API servers. Also with current state we have a 100% FIFO for requests (once worker finishes, it takes another job). With nginx load balancing we would have N queues that are processed individually. So for instance when there are two queues (A, B) and `len(A) = 10`, len(B) = 5` it can happen that A would be emptied first when B jobs run longer. Or perhaps not? https://guo365.github.io/study/nginx.org/en/docs/admin-guide/HTTP%20load%20balancer.html#maxconnsTomáš PeckaTomáš Peckahttps://gitlab.fit.cvut.cz/algorithms-library-toolkit/webui-client/-/issues/83Document how to build and run webui for modified ALT Core2022-05-11T23:37:58+02:00Martin ProkopičDocument how to build and run webui for modified ALT CoreHi, I would like to implement some custom algorithms for ALT and use them from the webui, but I am facing a lack of documentation on the build process. I somehow did it last year for my Bachelor's thesis, but the only thing I remember no...Hi, I would like to implement some custom algorithms for ALT and use them from the webui, but I am facing a lack of documentation on the build process. I somehow did it last year for my Bachelor's thesis, but the only thing I remember now is that it was a mess and took way too long.
I would like step-by-step instructions (commands to copy and paste are enough) how to get from a cloned algorithm-library-toolkit-core repo with modified source to open browser with working webui based on the modified code. The only prerequisite would be installed Docker. It should also allow for incremental builds, so users don't have to wait half an hour after each change.
This should then be added to the README or the website.Tomáš PeckaTomáš Peckahttps://gitlab.fit.cvut.cz/algorithms-library-toolkit/webui-client/-/issues/74Improve StateMaker usability for drawing automatons2022-03-25T15:53:18+01:00Martin ProkopičImprove StateMaker usability for drawing automatons- save and restore state positions when closing and reopening automaton output
- draw transitions as Bezier curves with ability to move the control points
- export to TikZ directly from StateMaker to preserve the layout- save and restore state positions when closing and reopening automaton output
- draw transitions as Bezier curves with ability to move the control points
- export to TikZ directly from StateMaker to preserve the layouthttps://gitlab.fit.cvut.cz/algorithms-library-toolkit/webui-client/-/issues/72The input json validation should be more robust2022-03-13T10:36:09+01:00Tomáš PeckaThe input json validation should be more robustWe don't validate the input JSON that much. For instance, a single key can appear in both algorithm and input/output nodes, this should be forbidden and we should reject such JSONs.We don't validate the input JSON that much. For instance, a single key can appear in both algorithm and input/output nodes, this should be forbidden and we should reject such JSONs.Tomáš PeckaTomáš Peckahttps://gitlab.fit.cvut.cz/algorithms-library-toolkit/webui-client/-/issues/68Rename repository to 'webui'2022-02-23T12:53:46+01:00Tomáš PeckaRename repository to 'webui'Let's rename the repository to 'webui'.
The name 'webui-client' is there for historical reasons only. Originally we used 3 repos (one for each subproject).
But now we use monorepo for the three services, it's not client only anymore.Let's rename the repository to 'webui'.
The name 'webui-client' is there for historical reasons only. Originally we used 3 repos (one for each subproject).
But now we use monorepo for the three services, it's not client only anymore.Tomáš PeckaTomáš Peckahttps://gitlab.fit.cvut.cz/algorithms-library-toolkit/webui-client/-/issues/63Create a second instance that will work with ALT dev branches2021-11-29T10:11:57+01:00Hana LitavskáCreate a second instance that will work with ALT dev branchesCreate a second instance that will work with ALT dev branches, not master. Or create a special worker and special queues.Create a second instance that will work with ALT dev branches, not master. Or create a special worker and special queues.BPhttps://gitlab.fit.cvut.cz/algorithms-library-toolkit/webui-client/-/issues/62Custom function node2022-05-13T13:47:02+02:00Hana LitavskáCustom function nodeBPhttps://gitlab.fit.cvut.cz/algorithms-library-toolkit/webui-client/-/issues/60Link from algorithm to the source code2021-11-29T09:24:38+01:00Hana LitavskáLink from algorithm to the source codeBPhttps://gitlab.fit.cvut.cz/algorithms-library-toolkit/webui-client/-/issues/59Extend statemaker with pushdown automata2021-11-29T09:16:25+01:00Hana LitavskáExtend statemaker with pushdown automataBPhttps://gitlab.fit.cvut.cz/algorithms-library-toolkit/webui-client/-/issues/55Offline version2021-11-26T10:13:56+01:00Tomáš PeckaOffline versionWrap webui-client together with some implementation of a single worker and a server into an (electron) app usable offline.Wrap webui-client together with some implementation of a single worker and a server into an (electron) app usable offline.https://gitlab.fit.cvut.cz/algorithms-library-toolkit/webui-client/-/issues/54Make the JSON describing AlgoGraph smaller2021-11-21T11:35:57+01:00Tomáš PeckaMake the JSON describing AlgoGraph smallerSome work was done in #47. But, I think we can make the JSON smaller and get smaller links.
However, proceed with caution. We must be able to parse older JSONs as well.
Perhaps, we can also gzip the base64 encoded-json to make it small...Some work was done in #47. But, I think we can make the JSON smaller and get smaller links.
However, proceed with caution. We must be able to parse older JSONs as well.
Perhaps, we can also gzip the base64 encoded-json to make it smaller. I believe there is going to be a npm-packaged library for (un)gzipping.BPhttps://gitlab.fit.cvut.cz/algorithms-library-toolkit/webui-client/-/issues/53Add switch to show/hide verbose output nodes2021-11-21T11:29:17+01:00Tomáš PeckaAdd switch to show/hide verbose output nodesPerhaps we can add a checkbox somewhere to allow/disallow showing verbose output of some nodes?
If so, do we wan't to propagate this value into the worker so it does not report it?Perhaps we can add a checkbox somewhere to allow/disallow showing verbose output of some nodes?
If so, do we wan't to propagate this value into the worker so it does not report it?BPhttps://gitlab.fit.cvut.cz/algorithms-library-toolkit/webui-client/-/issues/38Statemaker and "multiedges"2020-10-30T18:14:06+01:00Tomáš PeckaStatemaker and "multiedges"Statemaker can be very confusing when having two parallel edges. Students are used to doing something like this from AAG course (see pic) which obviously results in wrong alphabet and `string::Parse` failure.
![Snímek_z_2020-10-15_17-08...Statemaker can be very confusing when having two parallel edges. Students are used to doing something like this from AAG course (see pic) which obviously results in wrong alphabet and `string::Parse` failure.
![Snímek_z_2020-10-15_17-08-07](/uploads/57c166acd6492813cc4f8135782169f6/Snímek_z_2020-10-15_17-08-07.png)
Solution: Probably show a warning? Or parse it into individual symbols/transitions?https://gitlab.fit.cvut.cz/algorithms-library-toolkit/webui-client/-/issues/34Ideas for features2022-05-15T22:59:36+02:00Tomáš PeckaIdeas for featuresFeel free to edit this issue.
* [x] Create a database containing mapping hash -> algorithm graph so students can easily load some predefined examples. We could then just add links to coursepages. (#47)
* [ ] Extend statemaker with gra...Feel free to edit this issue.
* [x] Create a database containing mapping hash -> algorithm graph so students can easily load some predefined examples. We could then just add links to coursepages. (#47)
* [ ] Extend statemaker with grammars and pushdown automata (#58, #59)
* [x] Latex output (#36)
* [ ] Link from algorithm to the source code (#60)
* [x] ~~Parse doxygen comments and visualize somehow (#61)~~
* [x] Filter algorithms in AlgorithmsJsonParseGenerator (or whatever it is called now) (#50)
* [ ] Custom function node (#62)
* [ ] Create a second instance that will work with ALT dev branches, not master. Or create a special worker and special queues. (#63)
* [x] Filter by return type / argument types. (#64)