Plan 005: Replace the error-page report placeholder
Executor: follow every step and verification gate. Modify only listed files. Stop and report if a STOP condition occurs.
Status
- Priority: P2
- Effort: S
- Risk: LOW
- Depends on: none
- Category: bug/dx
- Planned at: commit
c16bc4f, 2026-07-16
Why this matters
The global error page tells users to create a bug issue, but the anchor points to href="TODO". The support path is therefore non-functional when a user most needs it.
Current state
app/error.vue:48-54 renders a new-tab link with href="TODO".
- The link is presented as the bug-report workflow for users encountering errors.
- No issue URL or configurable support destination is defined in the reviewed files.
Commands and expected results
| Purpose |
Command |
Expected result |
| Lint |
pnpm run lint -- app/error.vue |
exit 0 |
| Typecheck |
pnpm run typecheck |
exit 0 |
| Tests |
pnpm run test |
all relevant tests pass |
Scope
In scope:
app/error.vue
- Runtime/public configuration only if maintainers want the destination environment-configurable
- A focused render test if the repository test setup supports it
Out of scope:
- Redesigning the error page
- Automatically pre-filling issue bodies with potentially sensitive error details
Steps
Step 1: Choose a maintained destination
Use the repository's canonical GitHub issue-new URL or an environment-configured support URL. Prefer a stable URL and avoid embedding runtime error details in a public query string.
Verify: Link opens the intended public issue/support page in a new tab.
Step 2: Add a regression check
Test or statically validate that the rendered link is not a placeholder and retains safe external-link attributes.
Verify: pnpm run lint -- app/error.vue and the focused test pass.
Test plan
- Error page renders a non-placeholder href.
- Link retains
target="_blank" and rel="nofollow noopener noreferrer".
- Other status-code rendering remains unchanged.
Done criteria
STOP conditions
- Maintainers have a different canonical support channel; use it rather than inventing a destination.
- The destination requires authentication or exposes private issue tracking.
Maintenance notes
If the issue URL changes, keep it centralized/configured so the error page does not silently regress.
Issue body
Bug Description
The global error page contains a bug-report link with href="TODO", so users cannot follow the promised reporting workflow.
Evidence
Expected Behavior
The link opens the repository's maintained public bug-report workflow.
Acceptance Criteria
- Replace the placeholder with the canonical destination.
- Preserve safe external-link attributes.
- Add a focused regression check or equivalent validation.
- Lint/typecheck/tests pass.
Plan 005: Replace the error-page report placeholder
Status
c16bc4f, 2026-07-16Why this matters
The global error page tells users to create a bug issue, but the anchor points to
href="TODO". The support path is therefore non-functional when a user most needs it.Current state
app/error.vue:48-54renders a new-tab link withhref="TODO".Commands and expected results
pnpm run lint -- app/error.vuepnpm run typecheckpnpm run testScope
In scope:
app/error.vueOut of scope:
Steps
Step 1: Choose a maintained destination
Use the repository's canonical GitHub issue-new URL or an environment-configured support URL. Prefer a stable URL and avoid embedding runtime error details in a public query string.
Verify: Link opens the intended public issue/support page in a new tab.
Step 2: Add a regression check
Test or statically validate that the rendered link is not a placeholder and retains safe external-link attributes.
Verify:
pnpm run lint -- app/error.vueand the focused test pass.Test plan
target="_blank"andrel="nofollow noopener noreferrer".Done criteria
TODOplaceholder remains in the report linkSTOP conditions
Maintenance notes
If the issue URL changes, keep it centralized/configured so the error page does not silently regress.
Issue body
Bug Description
The global error page contains a bug-report link with
href="TODO", so users cannot follow the promised reporting workflow.Evidence
app/error.vue:48-54Expected Behavior
The link opens the repository's maintained public bug-report workflow.
Acceptance Criteria