Skip to content

fix: prefill bug reports from machines with a large plugin library - #56

Merged
patrickiel merged 1 commit into
mainfrom
issue-35-bug-report-diagnostics-linux
Nov 10, 2026
Merged

patrickiel merged 1 commit into
mainfrom
issue-35-bug-report-diagnostics-linux

Conversation

@patrickiel

Copy link
Copy Markdown
Owner

What was wrong

Info → Feedback → Report a bug puts the diagnostics into the GitHub form URL, but drops them completely once that URL is longer than MAX_ISSUE_URL_LENGTH (6000 chars). On the Linux test machine known_plugins.xml lists 202 plugins, 198 of them from the LSP bundle. Their names alone take ~6.9 KB once encoded, so every report from that machine overflowed and the form opened with an empty Diagnostics field. This had nothing to do with Linux itself: the Windows machine just has fewer plugins. The native URL hand-off (Process::openDocument → xdg-open) is fine. JUCE escapes every query value before the shell sees it.

Change

  • diagnostics.ts: DiagRow gets an optional shorter list of stand-in values. Only the two rows that grow with the library have them:

    • Installed: vendor counts (LSP VST3: 198 · Plectrify: 2 · 1 with no vendor), then a single total.
    • Skipped: kept whole at the first level (a skipped file is a likely crash suspect), then a count.

    Both say (names left out to fit the issue form). abridgedDiagnostics(report) returns the report at each level, full version first.

  • issueReport.ts: buildBugReportUrl accepts the versions in order and uses the first one that fits. It reports abridged, and still reports overflowed when none fit.

  • InfoPanel.svelte: passes in the abridged versions. The clipboard fallback now only applies when even the shortest version does not fit.

The Copy button and the on-screen report are unchanged and always show the full list.

Verification

  • pnpm format, pnpm check (0 errors) and pnpm test (792 passed) in ui/. The new tests include an end-to-end case with a library shaped like the LSP one: the full report overflows, the abridged one prefills.
  • svelte-autofixer on InfoPanel.svelte: no issues.
  • Not yet tested by hand in the Linux app: open Info → Report a bug and check that the Diagnostics field is filled.

Closes #35

Report a bug dropped the whole diagnostics block once its URL passed the
6000-character cap. On Linux the LSP bundle alone installs ~200 plugins,
and their names push the report past the cap, so the form opened with the
required Diagnostics field empty.

The report now carries shorter stand-ins for the rows that grow with the
library (Installed, Skipped), and the bug URL takes the fullest version
that fits: plugin names cut to per-vendor counts first, then to totals.
The abridged report says itself that the names were left out. Only when
no version fits does the old clipboard fallback apply.

Closes #35
@cloudflare-workers-and-pages

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Updated (UTC)
✅ Deployment successful!
View logs
plectrify-site dc77de0 Nov 10 2026, 08:40 PM

@patrickiel
patrickiel merged commit dbb88c3 into main Nov 10, 2026
7 checks passed
@patrickiel
patrickiel deleted the issue-35-bug-report-diagnostics-linux branch November 10, 2026 20:40
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.

Report a bug doesn't add diagnostics on Linux

1 participant