backnotprop / backnotprop/plannotator

Review editor frontend debt: API-mode signal, clipboard reuse, context splitting, and safe formatting

Open
#909 0 comments 0 reactions 0 assignees View on GitHub
triage
Dominant language
TypeScript
Stars
8.7k
Forks
649
Avg merge
12h 24m
Merged PRs (30d)
96

Description

Provenance stamp: This issue was triaged on June 13, 2026 as part of the older-than-two-month GitHub issue triage exercise.

Source issues: #213, #419, #486, #489

## Summary

The review editor has several maintainability issues that should be handled as one focused cleanup effort. The common theme is not polish. It is reducing future regression risk in a complex UI by making state, API-mode checks, shared controls, and formatting safer.

## What the source issues requested

- #213 requested a safer second attempt at adding Biome formatting and linting after an earlier unsafe lint fix caused React hook dependency regressions.
- #419 requested replacing `!!origin` as a proxy for API mode with a dedicated `isApiMode` state.
- #486 requested consolidation of duplicated copy and clipboard icons, state, and timeout behavior into shared components or hooks.
- #489 requested splitting the monolithic `ReviewState` context into focused contexts to prevent cascading re-renders during review activity.

## Triage determination

These are related enough to plan together, but each item should still be implemented in small safe PRs. Keeping them under one tracking issue helps avoid piecemeal cleanups that make the review editor harder to reason about.

## Acceptance criteria

- Review editor API-backed behavior uses a dedicated `isApiMode` signal, not `!!origin`.
- Review state is split into focused contexts beyond the existing job-log split.
- Shared copy button, copy/check icons, and clipboard state are reused across editor and review surfaces where practical.
- Biome formatting is introduced as a safe format-only change before any lint-rule enforcement.
- Unsafe automatic lint fixes for React hook dependency arrays are not used.
- The production build and relevant review-editor flows are verified after formatting or state refactors.
- The old source issues can be closed after their specific refactor requirements are represented here.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.