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

Run page improvements #67

Open
2 of 6 tasks
ewels opened this issue Oct 6, 2023 · 1 comment
Open
2 of 6 tasks

Run page improvements #67

ewels opened this issue Oct 6, 2023 · 1 comment

Comments

@ewels
Copy link
Member

ewels commented Oct 6, 2023

In #66 I added a new page where you can run MultiQC in the browser, using WebAssembly.

It works ok, but there are some improvements that could be made:

  • File listing in the browser is a bit basic, looks a bit rubbish
  • Rewrite to use Pyodide web workers running on separate threads, instead of locking up the main browser thread.
  • Replace file mounting method
    • Can only mount a single directory, once and can't mount files, only directories
    • showDirectoryPicker method is experimental and doesn't work in many browsers
    • Could maybe use something like this? (demo)
  • Button to zip + download multiqc_data directory
  • Allow new report without page reload
    • If more files dropped on file dropper after report generation, clear previous report and continue.
  • [Stretch] Have a accordion / modal with a form to set some config options, eg. title / theme etc.
@ewels
Copy link
Member Author

ewels commented Oct 8, 2023

I think for the filesystem we need to ditch the File System Access API completely and go back to something a bit more regular like this to scoop up files from the browser UI. Can hopefully tie those listed files into a pyodide filesystem interface such as MEMFS. Could allow repeated drops to continually add files then and keep updating the list from the Python side.

@ewels ewels changed the title Improve run page Run page improvements Oct 10, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant