Skip to content

Replace the error-page bug-report placeholder link #893

Description

@kylymo

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

  • Users can reach the intended report workflow
  • No TODO placeholder remains in the report link
  • Safe external-link attributes remain
  • Verification commands pass

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

  • app/error.vue:48-54

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingdocumentationImprovements or additions to documentationp2

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions