Skip to content

webui: add file picker#728

Merged
ilius merged 15 commits into
ilius:masterfrom
glowinthedark:webui-picker
Jun 21, 2026
Merged

webui: add file picker#728
ilius merged 15 commits into
ilius:masterfrom
glowinthedark:webui-picker

Conversation

@glowinthedark

@glowinthedark glowinthedark commented Jun 20, 2026

Copy link
Copy Markdown
Contributor

Problem description

The current Web UI requires user to enter the full path to input and output files, basically just pasting it from somewhere, which is clunky and not easy to use.

Solution

A. Provide path auto-suggest when user starts typing in the inputs
B. Add a 📁 Browse button that mimics a desktop-style file picker.

Changes

  • add js and ws://listDir hooks for directory/file path autosuggest on user input
  • add 📁 browse buttons for ws://listDir
  • (cleanup) browse.html: replace hard-coded format list with existing /config endpoint

glwnd added 2 commits June 20, 2026 17:27
- add directory/file path autosuggest on user input
- add 📁 browse buttons for input output files and corresponding ws://listDir action
- browse.html: replace hard-coded format list with ws://config call
@glowinthedark

glowinthedark commented Jun 20, 2026

Copy link
Copy Markdown
Contributor Author

@ilius: i see there is an error specifically on 3.12, the agent identified it's probably collect-coverage.sh#L4

and can be fixed by changing:

rootDir=$(dirname $(dirname $(realpath $(dirname "$0"))))

to

rootDir=$(git rev-parse --show-toplevel)

no sure if this is the real root cause, and if that needs to be in this pr or not 🤔

Update

not sure if the test failure is intermittent or not but using rootDir=$(git rev-parse --show-toplevel) seems to make the workflow pass successfully; here is the result with a side branch:

https://github.com/glowinthedark/pyglossary/actions/runs/27878724674

please let me know if you want this fixed in this pr - I'm assuming not in this scope, right?

@glowinthedark

Copy link
Copy Markdown
Contributor Author

@ilius: another issue gml5.2 pointed out which I suspect has nothing to do with the test failure is that sqlite3.connect("file::memory:") requires uri=True to work as expected since this is URI syntax and python should parse it before handing it over to the C native module, otherwise it's treated as an actual disc file, so should either be sqlite3.connect("file::memory:", uri=True) or simply sqlite3.connect(":memory:")

Comment thread pyglossary/ui/argparse_main.py Outdated
@ilius ilius merged commit b340d53 into ilius:master Jun 21, 2026
9 checks passed
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

Successfully merging this pull request may close these issues.

2 participants