Skip to content

feat(feedback): Implement bug reporting workflow and redaction - #161

Merged
PPRAMANIK62 merged 6 commits into
liliu-z:mainfrom
ShekhuGG:feedback
Aug 13, 2026
Merged

feat(feedback): Implement bug reporting workflow and redaction#161
PPRAMANIK62 merged 6 commits into
liliu-z:mainfrom
ShekhuGG:feedback

Conversation

@ShekhuGG

Copy link
Copy Markdown
Contributor

Summary

Implements the complete StashBase bug-reporting workflow so users can review a report, explicitly prepare the selected diagnostic artifacts, and hand them off to GitHub without automatic submission, GitHub authentication, or a hosted reporting service. The workflow keeps report artifacts main-process-owned, sanitizes and fail-closed scans collected data, provides a prefilled GitHub issue with the reviewed report context, and lets users either open the prepared artifacts for attachment or save a durable copy to a location they choose. Temporary prepared artifacts remain session-scoped and are cleared on the next application boot.

What changed

  • Added the dedicated local bug-report review workflow with validated description fields and explicit artifact include/exclude controls.
  • Added main-process-owned approval snapshots so the exact reviewed configuration is frozen before artifact preparation.
  • Added selected-only artifact preparation for the screenshot, sanitized application-log tail, and allowlisted diagnostics.
  • Added credential and home-path redaction with independent fail-closed scanning before preview and again before artifact writes.
  • Added a narrow sender-bound IPC/preload boundary so the renderer never receives filesystem paths, handles, raw diagnostics, unredacted logs, or artifact bytes.
  • Added the post-preparation handoff UI with explicit Open GitHub and Save Selected Artifacts actions.
  • Added main-process-owned temporary artifact storage with next-boot cleanup and no report-history/recovery surface.
  • Added native folder selection for saving a durable copy of the selected prepared artifacts outside the temporary report area.
  • Added the prefilled GitHub issue handoff containing the four reviewed sections: What happened, What did you expect to happen, Steps to reproduce, and Environment.
  • Added tests covering artifact selection and preparation, redaction, fail-closed behavior, IPC authorization, GitHub handoff, artifact saving, lifecycle cleanup, and failure paths.
  • Updated the bug-reporting design and architecture documentation to record the resulting ownership, lifecycle, privacy, and handoff contracts.

Validation

  • pnpm typecheck
  • Focused tests for the affected behavior
  • Renderer build or E2E coverage, when the change affects the UI

pnpm check was also run. The bug-reporting/redaction/Electron checks passed, but the repository-wide check currently stops at 3 retrieval tests on Windows due to expected vs actual path separator/drive normalization.

UI and visual baselines

  • This PR changes a rendered UI surface or visual state.
  • This fork PR allows maintainer edits if a reviewed Linux visual baseline update is needed.
  • This PR does not change a visual surface, or existing visual baselines remain valid.

For an intentional UI change, maintainers generate and review Linux baselines after code review. Contributors do not need to run the baseline workflow or commit PNGs.

Documentation

  • Updated the relevant design-docs/ and code-review/ contract, when this changes documented behavior or invariants.
  • No documentation update is needed.

@PPRAMANIK62

Copy link
Copy Markdown
Collaborator

Hi, @ShekhuGG, thanks for the PR.
It currently has some conflicts with the upstream main branch, are you working on them ??

@ShekhuGG

Copy link
Copy Markdown
Contributor Author

Hi, @ShekhuGG, thanks for the PR. It currently has some conflicts with the upstream main branch, are you working on them ??

Hi, yes. I will work on resolving the conflicts with upstream main and push the updated branch shortly.

ShekhuGG and others added 3 commits August 13, 2026 19:03
# Conflicts:
#	code-review/architecture.md
#	design-docs/architecture.md
#	design-docs/design/markdown.md
#	design-docs/design/preparation.md
#	electron/main.cjs
#	electron/multi-window.cjs
#	electron/multi-window.test.cjs
#	server/index.ts
@PPRAMANIK62
PPRAMANIK62 merged commit 18a635e into liliu-z:main Aug 13, 2026
4 of 5 checks passed
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.

2 participants