Skip to content

feat(cli): add convert timeout for one/one-detailed (#366) - #420

Open
Supermonters wants to merge 1 commit into
masterfrom
intern/28-cli-convert-timeout
Open

Supermonters wants to merge 1 commit into
masterfrom
intern/28-cli-convert-timeout

Conversation

@Supermonters

@Supermonters Supermonters commented Aug 12, 2026 •

Copy link
Copy Markdown
Collaborator

Closes #366

Summary

  • Add CLI wall-clock timeout for fileconv one / one-detailed via --timeout and FILECONV_CONVERT_TIMEOUT_SEC.
  • Implements the intern-28 improvement: macOS lacks GNU timeout; core previously had no convert deadline.
  • Scope: crates/cli only (2 files). No core/desktop/MCP/server changes.

Test plan

  • cargo fmt --all -- --check
  • cargo metadata --locked --format-version 1 --no-deps
  • python3 scripts/check-dependency-policy.py
  • cargo test -p fileconv-cli metrics (scoped CI command)
  • cargo test -p fileconv-cli convert_timeout (deterministic break)
  • Manual: page-bomb.pdf --timeout 1s → exit 1 + convert timeout sau 1s
  • Manual: adversarial dir loop --timeout 30s (no hang; page-bomb + long-silence.wav hit 30s)

Notes

  • Worker thread may continue after timeout (Rust join abandon); documented.
  • Scoped CI runs only fileconv-cli tests matching metrics; timeout unit tests are compile-checked and run locally.

Support --timeout and FILECONV_CONVERT_TIMEOUT_SEC so adversarial
convert tests work on macOS without GNU timeout (#366).

Co-authored-by: Cursor <cursoragent@cursor.com>
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.

[intern-28] Input validation & security: fuzzing converter limits

1 participant