Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rewrite error-trace view with VSCode Webview UI toolkit #261

Closed
lemmy opened this issue May 28, 2022 · 3 comments · Fixed by #289
Closed

Rewrite error-trace view with VSCode Webview UI toolkit #261

lemmy opened this issue May 28, 2022 · 3 comments · Fixed by #289
Labels
enhancement New feature or request help wanted Extra attention is needed

Comments

@lemmy
Copy link
Member

lemmy commented May 28, 2022

https://code.visualstudio.com/blogs/2021/10/11/webview-ui-toolkit

#260
#259
#258
#257
#256
#255
#250
#239
#229
#215
#164

@lemmy lemmy added enhancement New feature or request help wanted Extra attention is needed labels May 28, 2022
@afonsonf
Copy link
Collaborator

Hi, I'm available to work on this one.

My proposal would be to start migrating the check-result-view "as it is" to the webview toolkit component library following the "default samples" (https://github.com/microsoft/vscode-webview-ui-toolkit-samples). This is replacing current ui elements with equivalent webui components and moving the current ui code to typescript.

After that the ui design could be changed to address the listed issues.

@lemmy
Copy link
Member Author

lemmy commented May 3, 2023

@afonsonf It would be beneficial to determine the scalability of the webview-ui-toolkit early in the process. Currently, the HTML-based viewer tends to have slow rendering times when dealing with extensive traces (comprising hundreds of states) and intricate states (involving dozens of variables). Additionally, I recall implementing a viewport feature in the past for the older Toolbox to manage lengthy traces.

@afonsonf
Copy link
Collaborator

afonsonf commented May 3, 2023

Created here some specs to stress test the extension: https://github.com/afonsonf/vscode-tlaplus-stress-specs
In my pc, using the current version of the extension in codespaces, I can run the BigState spec until around the counter 40 and the BigTrace until around the counter 500, I would use those values as the base to achieve in the refactoring

Current state of the refactoring can be checked in the following branch (Buttons, run status, states and coveragestats done): https://github.com/afonsonf/vscode-tlaplus/tree/refactor-webview-using-vscode-toolkit

In my current implementation I made the webview stateless, does not require the state to be sent by the extension as a message, this means all the html is generated in the extension side, and not "filled" in the webview side, but still need to do some tests to check if it is better or not, if not those classes can easily be reused to "fill" the html in the webview side

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed
Development

Successfully merging a pull request may close this issue.

2 participants