Skip to content

Debug-mode PDF import tools are unreachable in released builds (debug/ excluded from release zip) #7

Description

@tronicum

Summary
Settings -> Advanced -> Debug mode exposes two links that open extension pages directly:

  • "Import debug" -> debug/import-debug.html
  • "PDF fuzzer" -> debug/import-pdf-fuzzer.html

(wired up in settings.js, lines ~133-141, via api.tabs.create({ url: api.runtime.getURL(...) })).

scripts/release.sh (the script that builds the store-submission zip) explicitly excludes the whole debug/ folder from the package:

zip -r "${ZIP}" . \
  ...
  --exclude "debug/*" \
  ...

Impact
Anyone who installs Inkpour from the Chrome Web Store / Firefox AMO, turns on Debug mode in Settings, and clicks either link gets a broken/missing-file result — debug/import-debug.html, debug/import-pdf-fuzzer.html, debug/import-pdf-fuzzer.js, and the bundled debug/vendor/pdf.min.js + pdf.worker.min.js are all absent from their installed package. The feature only actually works when running the extension unpacked straight from a git checkout.

Where

  • scripts/release.sh (the --exclude "debug/*" line)
  • settings.js lines ~133-141 (the two link handlers that assume these files exist)

Suggested fix (needs a product call, not just a code fix)
Either:

  1. Stop excluding debug/ from the release zip, so these tools ship with the extension (they're already gated behind an opt-in "Debug mode" toggle, so this may have been the original intent), or
  2. If debug/ is deliberately kept dev-only (size, or not wanting it in real users hands), hide/disable these two links in Settings when running from a packaged/installed build instead of showing dead links.

Filed for tracking/prioritization — not fixed yet

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions