PRism v0.2.0
Pre-release
Pre-release
What's Changed
- Add Claude Code GitHub Workflow by @prpande in #1
- feat: foundations slice (S0+S1) — solution scaffold, services, web API, frontend shell by @prpande in #2
- docs(claude-md): append general behavioral guidelines by @prpande in #3
- feat(inbox): S2 inbox-read — sections, dedup, polling, SSE, page by @prpande in #4
- fix(auth): make setup PAT survive validation + warning-modal flow by @prpande in #5
- fix(inbox): dedupe enricher input to survive cross-section duplicates by @prpande in #6
- Add validation-harness: teammate-distributable prompts for PRism end-to-end fixtures by @prpande in #7
- feat(run.ps1): add -Reset <Token|Auth|Full> for dev-time state-shape testing by @prpande in #8
- docs(arch-readiness): architectural-readiness spec + roadmap punch list by @prpande in #9
- build(analyzers): ban Octokit outside PRism.GitHub via Roslyn analyzer (PR 1 of arch-readiness) by @prpande in #10
- refactor(di): extract per-project AddPrism* extension methods (PR 2 of arch-readiness) by @prpande in #11
- refactor(api): named records for wire shapes (PR 3 of arch-readiness) by @prpande in #12
- docs(s3): PR detail (read) — design spec by @prpande in #13
- feat(state): add ViewedFiles + v1->v2 migration + read-only-on-future-version (S3 PR1) by @prpande in #14
- feat(iterations): weighted-distance clustering core (S3 PR2) by @prpande in #15
- fix: stop two flaky tests (SPA fallback + AppStateStore Windows rename race) by @prpande in #16
- docs: sync to current state + restructure specs/plans + maintenance policy by @prpande in #17
- docs(s3): ce-doc-review + Q1-Q6 redesign for S3 spec/plan by @prpande in #18
- feat(s3): PR detail read-side — IReviewService extensions + Task 1/2 follow-ups by @prpande in #19
- docs: track three PR #19 follow-ups in plan deferrals sidecar by @prpande in #20
- feat(prdetail): PrDetailLoader + backend endpoints (S3 PR4) by @prpande in #21
- feat(s3): PR5 — SSE per-PR fanout + active-PR poller + auth middleware (commit-by-commit reviewable) by @prpande in #22
- docs(s3): sync status surfaces post-PR5 merge by @prpande in #23
- Add code coverage instructions and test dependencies by @prpande in #24
- feat(s3): PR6 — frontend PR-detail shell (commit-by-commit reviewable) by @prpande in #25
- docs(agent): centralize shared AI guidance by @prpande in #26
- feat(s3-pr7): Files tab — file tree, iteration strip, commit picker, diff pane stub by @prpande in #27
- feat(s3-pr8): Diff Pane + Markdown Pipeline by @prpande in #28
- docs(s3): sync status surfaces post-PR8 merge by @prpande in #29
- feat(s3-pr9): Overview tab + AI summary endpoint by @prpande in #30
- fix(diff): parse patch text into hunks server-side (Option A) by @prpande in #32
- fix(events): SubscribeRequest accepts string prRef matching DELETE + SSE format by @prpande in #31
- docs(s3-pr10): apply spec / arch-readiness / roadmap updates per § 9 (S3 PR10) by @prpande in #33
- docs(s4): design spec + implementation plan for drafts + composer slice by @prpande in #34
- feat(s4-pr1): AppState wrap + migration framework + v2→v3 draft fields by @prpande in #35
- feat(s4-pr2): DraftReconciliationPipeline + matrix tests + override semantics by @prpande in #36
- feat(s4-pr3): PUT/GET /draft + POST /reload + bus events + SSE wiring + spec/02 update by @prpande in #37
- docs(spec): multi-account storage-shape scaffold (S6 PR0) by @prpande in #39
- feat(s4-pr4): frontend draft client + composer + diff-line-click integration by @prpande in #38
- feat(s4-pr5): ReplyComposer + PrRootReplyComposer + Mark-all-read by @prpande in #40
- feat(s4-pr6): DraftsTab activated + UnresolvedPanel sticky-top by @prpande in #41
- feat(s4-pr7): cross-tab presence + reload retry + Playwright E2E (closes S4) by @prpande in #42
- docs(s5): brainstorm + spec the submit-pipeline slice by @prpande in #43
- feat(s5-pr0a): IReviewService capability split + C6/C7/C9 empirical gates by @prpande in #44
- feat(s5-pr1): IReviewSubmitter seven-method seam + GitHub GraphQL pending-review pipeline by @prpande in #45
- feat(s5-pr2): SubmitPipeline state machine + v3->v4 schema migration by @prpande in #46
- feat(s5-pr3): submit endpoints + SSE events + per-PR submit lock + verdict-clear patch shape + scrubber extension by @prpande in #47
- feat(s5-pr4): Submit dialog + useSubmit + Submit Review button + verdict picker + AI validator card + Ask AI empty state by @prpande in #48
- feat(s5-pr5): foreign-pending-review modal + stale-commitOID UX + bulk-discard + submit toasts by @prpande in #49
- test(s5-pr7): DoD E2E specs for the submit pipeline + multi-tab + marker-collision by @prpande in #50
- feat(s5-pr0b): bake workers:1 into playwright.config; un-fixme 3 S4 specs by @prpande in #51
- docs(s6-pr0): implementation plan + deferrals for multi-account storage-shape scaffold by @prpande in #52
- feat(s6-pr0): multi-account storage-shape scaffold (state V5, config accounts list, versioned token cache) by @prpande in #53
- docs(s6): polish + distribution — spec and implementation plan by @prpande in #54
- fix(submit): wire mark-viewed, surface 4xx, distinguish never-stamped from drift by @prpande in #55
- docs(real-flow-e2e): spec + plan for real-flow Playwright e2e suite by @prpande in #56
- docs(frozen-pr-tests): spec + plan for live-GitHub integration suite by @prpande in #57
- Real-flow Playwright e2e suite (closes s5 [Defer] e2e Playwright test) by @prpande in #58
- test(integration): frozen-PR contract tests + iteration-clustering calibration by @prpande in #59
- docs(cross-tab-stamp): spec + plan for closing PR #55 submit-gate cross-tab bypass by @prpande in #60
- docs(on-disk-logger): on-disk log writer spec + plan + deferrals by @prpande in #61
- feat(logging): on-disk log writer for PRism.Web with field-name redaction by @prpande in #63
- feat: close cross-tab stamp poisoning (per-tab TabStamps; PR #55 F3 deferral) by @prpande in #62
- feat(diagnostics): stale-OID investigation instrumentation by @prpande in #64
- fix(sse): pr-updated wire-contract fix + stale-OID investigation finding by @prpande in #65
- test(real-flow): un-skip stale-OID spec — drive Keep-anyway override + apiClient empty-body fix by @prpande in #66
- docs(s6): amendment pass + adversarial round on polish-and-distribution spec by @prpande in #67
- docs(s5-deferrals): backfill PR #66 merge SHA (3381f3d) by @prpande in #68
- feat(s6-pr1): backend preferences allowlist + /api/submit/in-flight by @prpande in #69
- feat(s6-pr2): backend /api/auth/replace + identity-change rule + IdentityChanged SSE by @prpande in #70
- feat(s6-pr3): frontend Settings page + Header three-tab nav by @prpande in #71
- feat(s6-pr4): frontend Replace token UX by @prpande in #72
- feat(s6-pr5): cheatsheet overlay with ARIA APG focus + capture-phase Esc by @prpande in #73
- feat(s6-pr6): icon assets + branded LoadingScreen by @prpande in #74
- feat(s6-pr7): accessibility audit (DoD-checkpoint) by @prpande in #75
- feat(s6-pr8): publish.yml workflow + first-run trust copy by @prpande in #76
- feat(s6-pr9): screenshot regression + README graduation + spec doc updates by @prpande in #82
- fix(ci): skip claude-code-review on Dependabot PRs by @prpande in #83
- chore(deps): bump actions/setup-dotnet from 4 to 5 by @dependabot[bot] in #77
- chore(deps): bump actions/checkout from 4 to 6 by @dependabot[bot] in #80
- chore(deps): bump softprops/action-gh-release from 2.6.2 to 3.0.0 by @dependabot[bot] in #81
- chore(deps): bump actions/upload-artifact from 4 to 7 by @dependabot[bot] in #78
- chore(deps): bump actions/setup-node from 4 to 6 by @dependabot[bot] in #79
- docs(v1): roadmap + meta-plan for v1 completion (post-S6) by @prpande in #84
- docs(v1): amend roadmap — defer Phase 1 (single-instance) post-v1 by @prpande in #86
- docs: manual validation suite spec + Phase 1 plan + deferrals (SP1 1/5) by @prpande in #85
- PR1 Foundation — design-parity-recovery roadmap by @prpande in #87
- design parity: PR2 — PR Detail chrome (handoff CSS port + composition + parity baseline) by @prpande in #88
- design-parity-recovery PR3 — Overview tab card grid by @prpande in #89
- design-parity-recovery PR4/9: Files tab CSS port + composer-primitive lift + 2 parity baselines by @prpande in #90
- feat(pr5): design-parity-recovery PR5/9 — Drafts tab + reconciliation surface (CSS) by @prpande in #91
- feat(design-parity): PR6/9 — Setup + Settings coherence (CSS) by @prpande in #92
- PR7/9 — design-parity-recovery: browser-style PR tab strip (route b) by @prpande in #93
- feat(pr8): Ask AI drawer — design-parity-recovery PR8/9 by @prpande in #94
- PR9a: design-parity-recovery slice closure — a11y + audit + dead-code purge by @prpande in #95
- PR9b-density + PR9b-search: density toggle + global-search v1.1 tooltip (D97 + D101 closures) by @prpande in #96
- feat(s6-parity): PR9b-ai-gating — useAiGate sweep + 4 AI surface wirings (D24 D32a D48 + AiHunkAnnotation) by @prpande in #97
- feat(diff): real two-pane side-by-side diff rendering (P4-B8 slice 1) by @prpande in #98
- fix(files): visible toolbar toggle button + auto-select first file on /files landing by @prpande in #99
- feat(diff): whole-file context expansion (P4-B8 slice 2) by @prpande in #100
- docs: Electron desktop shell (v0.2.0) spec + plan by @prpande in #101
- fix(desktop): anchor sidecar cwd to binary dir so the SPA serves at / by @prpande in #102
- feat(inbox): Recently closed section — backend (PR1/3) by @prpande in #103
- feat(submit): PR-root Post + submit Discard by @prpande in #104
- feat(inbox): Recently closed section (frontend) — PR2 of merged-PR history by @prpande in #105
- feat(desktop): frameless title bar + traffic-light window controls + navbar polish by @prpande in #108
- feat(pr-detail): merged/closed PR history PR3 — read-only detail gaps (Tasks 12–17) by @prpande in #109
- fix(desktop): honor --dataDir regardless of CLI flag order by @prpande in #110
- feat(desktop): Phase C packaging — icons, electron-builder config, publish workflow by @prpande in #111
- test(desktop): Phase D — Playwright _electron e2e + TESTING.md + spec/roadmap docs by @prpande in #112
- feat(desktop): graduate Electron desktop shell to main (v0.2.0) by @prpande in #113
- fix(auth): make classic-PAT scope check hierarchy-aware; drop read:user by @prpande in #114
- docs(workflow): agent issue-resolution workflow (guidance runbook) by @prpande in #151
- fix(pr-detail): auto-merged PR never goes read-only (#116) by @prpande in #150
- fix: contain horizontal overflow in diffs and overview markdown (#115, #117) by @prpande in #149
- fix(pr-detail): color verdict buttons semantically (#123) by @prpande in #154
- fix(diff): uniform horizontal scroll + on-screen scrollbar (#115 regression) by @prpande in #155
- test(diff): regression guard for sticky/uniform horizontal scroll (#115/#149/#155) by @prpande in #156
- fix(pr-detail): drop redundant 0-drafts header in Drafts empty state (#118) by @prpande in #157
- fix(header): hide disabled ⌘K search box until palette ships (#119) by @prpande in #158
- docs(process): track deferrals as GitHub issues, not -deferrals.md sidecars by @prpande in #162
- fix(header): accent glow on nav hover, accent tint on active tab (#120) by @prpande in #163
- fix(inbox): unread accent bar replaces New badge + 30-min recency (#121, #122) by @prpande in #164
- fix(theme): rebalance light surface ladder for visible hierarchy (#124) by @prpande in #165
- feat(pr-detail): keep-alive PR tabs — view state survives navigation (PR1/3) by @prpande in #166
- feat(pr-detail): keep-alive data freshness — refetch + clearUnread + banner-clear on tab re-activation (PR2/3) by @prpande in #168
- fix(pr-tabstrip): filled-chip chrome for inactive tabs + 4px nav gap (#126) by @prpande in #167
- test(pr-detail): keep-alive PR3 — test migration, a11y isolation, e2e + docs by @prpande in #169
- feat(highlight): IDE-like syntax highlighting for PR-detail Overview markdown (PR1/2) by @prpande in #170
- feat(inbox,pr-detail): reusable accent loading spinner (#125) by @prpande in #172
- feat(highlight): diff-pane syntax highlighting (PR2/2) by @prpande in #178
- feat(#129): PR Overview root-comment standalone cards + connecting rail by @prpande in #179
- Test-reliability sweep: un-mask + gate the e2e suite, fix flakes, unify profiles by @prpande in #175
- fix(#180): keep-alive Files tab loses selected file + scroll on return (skeleton-over-data) by @prpande in #183
- docs: add issue-claim rule to prevent duplicate agent work by @prpande in #186
- feat(#127): GitHub author & bot avatars at the four real-data render sites by @prpande in #188
- feat(#128): collapsible PR-detail header + Files-toolbar density trim by @prpande in #190
- ci: remove in-progress label when an issue closes by @prpande in #193
- fix(#191): stop Mermaid leaking its error bomb graphic into the DOM by @prpande in #195
- feat(#130): hide first-run nav + remove standalone Setup tab by @prpande in #196
- fix(#182): render error surfaces in a design-system error box by @prpande in #192
- fix(#187): file-tree visual polish + two-layer scrolling tree by @prpande in #199
- feat(#131): Open-in-GitHub button on the PR detail page by @prpande in #201
- fix(#197): pin .sr-only to top/left:0 so visually-hidden content can't scroll the page by @prpande in #202
- fix(#185): compact diff toolbar — inline Unified/Split tiles + gear settings popover by @prpande in #204
- fix(#205): stop the Setup screen scrolling the page below the header by @prpande in #206
- fix(#185): land post-merge Copilot polish (ReadonlySet failedPaths + e2e assert) by @prpande in #207
- fix(#203): point PR-detail collapse chevron toward the action by @prpande in #208
New Contributors
- @prpande made their first contribution in #1
- @dependabot[bot] made their first contribution in #77
Full Changelog: https://github.com/prpande/PRism/commits/v0.2.0
What's Changed
- Add Claude Code GitHub Workflow by @prpande in #1
- feat: foundations slice (S0+S1) — solution scaffold, services, web API, frontend shell by @prpande in #2
- docs(claude-md): append general behavioral guidelines by @prpande in #3
- feat(inbox): S2 inbox-read — sections, dedup, polling, SSE, page by @prpande in #4
- fix(auth): make setup PAT survive validation + warning-modal flow by @prpande in #5
- fix(inbox): dedupe enricher input to survive cross-section duplicates by @prpande in #6
- Add validation-harness: teammate-distributable prompts for PRism end-to-end fixtures by @prpande in #7
- feat(run.ps1): add -Reset <Token|Auth|Full> for dev-time state-shape testing by @prpande in #8
- docs(arch-readiness): architectural-readiness spec + roadmap punch list by @prpande in #9
- build(analyzers): ban Octokit outside PRism.GitHub via Roslyn analyzer (PR 1 of arch-readiness) by @prpande in #10
- refactor(di): extract per-project AddPrism* extension methods (PR 2 of arch-readiness) by @prpande in #11
- refactor(api): named records for wire shapes (PR 3 of arch-readiness) by @prpande in #12
- docs(s3): PR detail (read) — design spec by @prpande in #13
- feat(state): add ViewedFiles + v1->v2 migration + read-only-on-future-version (S3 PR1) by @prpande in #14
- feat(iterations): weighted-distance clustering core (S3 PR2) by @prpande in #15
- fix: stop two flaky tests (SPA fallback + AppStateStore Windows rename race) by @prpande in #16
- docs: sync to current state + restructure specs/plans + maintenance policy by @prpande in #17
- docs(s3): ce-doc-review + Q1-Q6 redesign for S3 spec/plan by @prpande in #18
- feat(s3): PR detail read-side — IReviewService extensions + Task 1/2 follow-ups by @prpande in #19
- docs: track three PR #19 follow-ups in plan deferrals sidecar by @prpande in #20
- feat(prdetail): PrDetailLoader + backend endpoints (S3 PR4) by @prpande in #21
- feat(s3): PR5 — SSE per-PR fanout + active-PR poller + auth middleware (commit-by-commit reviewable) by @prpande in #22
- docs(s3): sync status surfaces post-PR5 merge by @prpande in #23
- Add code coverage instructions and test dependencies by @prpande in #24
- feat(s3): PR6 — frontend PR-detail shell (commit-by-commit reviewable) by @prpande in #25
- docs(agent): centralize shared AI guidance by @prpande in #26
- feat(s3-pr7): Files tab — file tree, iteration strip, commit picker, diff pane stub by @prpande in #27
- feat(s3-pr8): Diff Pane + Markdown Pipeline by @prpande in #28
- docs(s3): sync status surfaces post-PR8 merge by @prpande in #29
- feat(s3-pr9): Overview tab + AI summary endpoint by @prpande in #30
- fix(diff): parse patch text into hunks server-side (Option A) by @prpande in #32
- fix(events): SubscribeRequest accepts string prRef matching DELETE + SSE format by @prpande in #31
- docs(s3-pr10): apply spec / arch-readiness / roadmap updates per § 9 (S3 PR10) by @prpande in #33
- docs(s4): design spec + implementation plan for drafts + composer slice by @prpande in #34
- feat(s4-pr1): AppState wrap + migration framework + v2→v3 draft fields by @prpande in #35
- feat(s4-pr2): DraftReconciliationPipeline + matrix tests + override semantics by @prpande in #36
- feat(s4-pr3): PUT/GET /draft + POST /reload + bus events + SSE wiring + spec/02 update by @prpande in #37
- docs(spec): multi-account storage-shape scaffold (S6 PR0) by @prpande in #39
- feat(s4-pr4): frontend draft client + composer + diff-line-click integration by @prpande in #38
- feat(s4-pr5): ReplyComposer + PrRootReplyComposer + Mark-all-read by @prpande in #40
- feat(s4-pr6): DraftsTab activated + UnresolvedPanel sticky-top by @prpande in #41
- feat(s4-pr7): cross-tab presence + reload retry + Playwright E2E (closes S4) by @prpande in #42
- docs(s5): brainstorm + spec the submit-pipeline slice by @prpande in #43
- feat(s5-pr0a): IReviewService capability split + C6/C7/C9 empirical gates by @prpande in #44
- feat(s5-pr1): IReviewSubmitter seven-method seam + GitHub GraphQL pending-review pipeline by @prpande in #45
- feat(s5-pr2): SubmitPipeline state machine + v3->v4 schema migration by @prpande in #46
- feat(s5-pr3): submit endpoints + SSE events + per-PR submit lock + verdict-clear patch shape + scrubber extension by @prpande in #47
- feat(s5-pr4): Submit dialog + useSubmit + Submit Review button + verdict picker + AI validator card + Ask AI empty state by @prpande in #48
- feat(s5-pr5): foreign-pending-review modal + stale-commitOID UX + bulk-discard + submit toasts by @prpande in #49
- test(s5-pr7): DoD E2E specs for the submit pipeline + multi-tab + marker-collision by @prpande in #50
- feat(s5-pr0b): bake workers:1 into playwright.config; un-fixme 3 S4 specs by @prpande in #51
- docs(s6-pr0): implementation plan + deferrals for multi-account storage-shape scaffold by @prpande in #52
- feat(s6-pr0): multi-account storage-shape scaffold (state V5, config accounts list, versioned token cache) by @prpande in #53
- docs(s6): polish + distribution — spec and implementation plan by @prpande in #54
- fix(submit): wire mark-viewed, surface 4xx, distinguish never-stamped from drift by @prpande in #55
- docs(real-flow-e2e): spec + plan for real-flow Playwright e2e suite by @prpande in #56
- docs(frozen-pr-tests): spec + plan for live-GitHub integration suite by @prpande in #57
- Real-flow Playwright e2e suite (closes s5 [Defer] e2e Playwright test) by @prpande in #58
- test(integration): frozen-PR contract tests + iteration-clustering calibration by @prpande in #59
- docs(cross-tab-stamp): spec + plan for closing PR #55 submit-gate cross-tab bypass by @prpande in #60
- docs(on-disk-logger): on-disk log writer spec + plan + deferrals by @prpande in #61
- feat(logging): on-disk log writer for PRism.Web with field-name redaction by @prpande in #63
- feat: close cross-tab stamp poisoning (per-tab TabStamps; PR #55 F3 deferral) by @prpande in #62
- feat(diagnostics): stale-OID investigation instrumentation by @prpande in #64
- fix(sse): pr-updated wire-contract fix + stale-OID investigation finding by @prpande in #65
- test(real-flow): un-skip stale-OID spec — drive Keep-anyway override + apiClient empty-body fix by @prpande in #66
- docs(s6): amendment pass + adversarial round on polish-and-distribution spec by @prpande in #67
- docs(s5-deferrals): backfill PR #66 merge SHA (3381f3d) by @prpande in #68
- feat(s6-pr1): backend preferences allowlist + /api/submit/in-flight by @prpande in #69
- feat(s6-pr2): backend /api/auth/replace + identity-change rule + IdentityChanged SSE by @prpande in #70
- feat(s6-pr3): frontend Settings page + Header three-tab nav by @prpande in #71
- feat(s6-pr4): frontend Replace token UX by @prpande in #72
- feat(s6-pr5): cheatsheet overlay with ARIA APG focus + capture-phase Esc by @prpande in #73
- feat(s6-pr6): icon assets + branded LoadingScreen by @prpande in #74
- feat(s6-pr7): accessibility audit (DoD-checkpoint) by @prpande in #75
- feat(s6-pr8): publish.yml workflow + first-run trust copy by @prpande in #76
- feat(s6-pr9): screenshot regression + README graduation + spec doc updates by @prpande in #82
- fix(ci): skip claude-code-review on Dependabot PRs by @prpande in #83
- chore(deps): bump actions/setup-dotnet from 4 to 5 by @dependabot[bot] in #77
- chore(deps): bump actions/checkout from 4 to 6 by @dependabot[bot] in #80
- chore(deps): bump softprops/action-gh-release from 2.6.2 to 3.0.0 by @dependabot[bot] in #81
- chore(deps): bump actions/upload-artifact from 4 to 7 by @dependabot[bot] in #78
- chore(deps): bump actions/setup-node from 4 to 6 by @dependabot[bot] in #79
- docs(v1): roadmap + meta-plan for v1 completion (post-S6) by @prpande in #84
- docs(v1): amend roadmap — defer Phase 1 (single-instance) post-v1 by @prpande in #86
- docs: manual validation suite spec + Phase 1 plan + deferrals (SP1 1/5) by @prpande in #85
- PR1 Foundation — design-parity-recovery roadmap by @prpande in #87
- design parity: PR2 — PR Detail chrome (handoff CSS port + composition + parity baseline) by @prpande in #88
- design-parity-recovery PR3 — Overview tab card grid by @prpande in #89
- design-parity-recovery PR4/9: Files tab CSS port + composer-primitive lift + 2 parity baselines by @prpande in #90
- feat(pr5): design-parity-recovery PR5/9 — Drafts tab + reconciliation surface (CSS) by @prpande in #91
- feat(design-parity): PR6/9 — Setup + Settings coherence (CSS) by @prpande in #92
- PR7/9 — design-parity-recovery: browser-style PR tab strip (route b) by @prpande in #93
- feat(pr8): Ask AI drawer — design-parity-recovery PR8/9 by @prpande in #94
- PR9a: design-parity-recovery slice closure — a11y + audit + dead-code purge by @prpande in #95
- PR9b-density + PR9b-search: density toggle + global-search v1.1 tooltip (D97 + D101 closures) by @prpande in #96
- feat(s6-parity): PR9b-ai-gating — useAiGate sweep + 4 AI surface wirings (D24 D32a D48 + AiHunkAnnotation) by @prpande in #97
- feat(diff): real two-pane side-by-side diff rendering (P4-B8 slice 1) by @prpande in #98
- fix(files): visible toolbar toggle button + auto-select first file on /files landing by @prpande in #99
- feat(diff): whole-file context expansion (P4-B8 slice 2) by @prpande in #100
- docs: Electron desktop shell (v0.2.0) spec + plan by @prpande in #101
- fix(desktop): anchor sidecar cwd to binary dir so the SPA serves at / by @prpande in #102
- feat(inbox): Recently closed section — backend (PR1/3) by @prpande in #103
- feat(submit): PR-root Post + submit Discard by @prpande in #104
- feat(inbox): Recently closed section (frontend) — PR2 of merged-PR history by @prpande in #105
- feat(desktop): frameless title bar + traffic-light window controls + navbar polish by @prpande in #108
- feat(pr-detail): merged/closed PR history PR3 — read-only detail gaps (Tasks 12–17) by @prpande in #109
- fix(desktop): honor --dataDir regardless of CLI flag order by @prpande in #110
- feat(desktop): Phase C packaging — icons, electron-builder config, publish workflow by @prpande in #111
- test(desktop): Phase D — Playwright _electron e2e + TESTING.md + spec/roadmap docs by @prpande in #112
- feat(desktop): graduate Electron desktop shell to main (v0.2.0) by @prpande in #113
- fix(auth): make classic-PAT scope check hierarchy-aware; drop read:user by @prpande in #114
- docs(workflow): agent issue-resolution workflow (guidance runbook) by @prpande in #151
- fix(pr-detail): auto-merged PR never goes read-only (#116) by @prpande in #150
- fix: contain horizontal overflow in diffs and overview markdown (#115, #117) by @prpande in #149
- fix(pr-detail): color verdict buttons semantically (#123) by @prpande in #154
- fix(diff): uniform horizontal scroll + on-screen scrollbar (#115 regression) by @prpande in #155
- test(diff): regression guard for sticky/uniform horizontal scroll (#115/#149/#155) by @prpande in #156
- fix(pr-detail): drop redundant 0-drafts header in Drafts empty state (#118) by @prpande in #157
- fix(header): hide disabled ⌘K search box until palette ships (#119) by @prpande in #158
- docs(process): track deferrals as GitHub issues, not -deferrals.md sidecars by @prpande in #162
- fix(header): accent glow on nav hover, accent tint on active tab (#120) by @prpande in #163
- fix(inbox): unread accent bar replaces New badge + 30-min recency (#121, #122) by @prpande in #164
- fix(theme): rebalance light surface ladder for visible hierarchy (#124) by @prpande in #165
- feat(pr-detail): keep-alive PR tabs — view state survives navigation (PR1/3) by @prpande in #166
- feat(pr-detail): keep-alive data freshness — refetch + clearUnread + banner-clear on tab re-activation (PR2/3) by @prpande in #168
- fix(pr-tabstrip): filled-chip chrome for inactive tabs + 4px nav gap (#126) by @prpande in #167
- test(pr-detail): keep-alive PR3 — test migration, a11y isolation, e2e + docs by @prpande in #169
- feat(highlight): IDE-like syntax highlighting for PR-detail Overview markdown (PR1/2) by @prpande in #170
- feat(inbox,pr-detail): reusable accent loading spinner (#125) by @prpande in #172
- feat(highlight): diff-pane syntax highlighting (PR2/2) by @prpande in #178
- feat(#129): PR Overview root-comment standalone cards + connecting rail by @prpande in #179
- Test-reliability sweep: un-mask + gate the e2e suite, fix flakes, unify profiles by @prpande in #175
- fix(#180): keep-alive Files tab loses selected file + scroll on return (skeleton-over-data) by @prpande in #183
- docs: add issue-claim rule to prevent duplicate agent work by @prpande in #186
- feat(#127): GitHub author & bot avatars at the four real-data render sites by @prpande in #188
- feat(#128): collapsible PR-detail header + Files-toolbar density trim by @prpande in #190
- ci: remove in-progress label when an issue closes by @prpande in #193
- fix(#191): stop Mermaid leaking its error bomb graphic into the DOM by @prpande in #195
- feat(#130): hide first-run nav + remove standalone Setup tab by @prpande in #196
- fix(#182): render error surfaces in a design-system error box by @prpande in #192
- fix(#187): file-tree visual polish + two-layer scrolling tree by @prpande in #199
- feat(#131): Open-in-GitHub button on the PR detail page by @prpande in #201
- fix(#197): pin .sr-only to top/left:0 so visually-hidden content can't scroll the page by @prpande in #202
- fix(#185): compact diff toolbar — inline Unified/Split tiles + gear settings popover by @prpande in #204
- fix(#205): stop the Setup screen scrolling the page below the header by @prpande in #206
- fix(#185): land post-merge Copilot polish (ReadonlySet failedPaths + e2e assert) by @prpande in #207
- fix(#203): point PR-detail collapse chevron toward the action by @prpande in #208
New Contributors
- @prpande made their first contribution in #1
- @dependabot[bot] made their first contribution in #77
Full Changelog: https://github.com/prpande/PRism/commits/v0.2.0