Commit graph

3 commits

Author SHA1 Message Date
Ethan Troy
ae54b031fa Add YouTube/URL conversion command (ENG-644) 2026-03-17 20:35:39 -04:00
Ethan Troy
a93ed8341d Fix Python detection on macOS/Windows and settings UX issues (#13)
- Debounce Python path input (1.5s) to stop firing on every keystroke
- Guard against empty paths crashing spawn()
- Cancel debounce timer on settings tab hide/re-render
- Fire pending refreshDependencies() on hide so status stays current
- Add platform-specific Python fallback paths (Homebrew, Framework, Windows AppData)
- Prefer the first Python where markitdown actually imports over stale metadata
- Verify actual MarkItDown import in check_install.py, not just package metadata
- Add ALLOWED_PACKAGES allowlist to check_install.py
- Remove APPDATA path traversal in favor of LOCALAPPDATA
2026-03-17 20:11:42 -04:00
Ethan Troy
d6fa068498
Rewrite plugin v2: fix shell injection, modularize, add features (ENG-533)
## Summary
- **Security**: Replaced shell injection-vulnerable `exec()` calls with `spawn()` using argument arrays and `shell: false`, bundling Python wrapper scripts that use `argparse`
- **Architecture**: Decomposed monolithic 735-line `main.ts` into 12 focused modules across `src/` and `python/`
- **Features**: Added image extraction from PDFs, plugin arguments editor, context menu conversion, batch progress indicators, setup wizard, and Unicode support via `PYTHONUTF8=1`
- **Compatibility**: Reverted minAppVersion to 0.15.0, python3 fallback for macOS/Linux

Closes ENG-533
2026-02-17 01:08:20 -05:00