Ubisam-MobileGit/tasks/035-remove-redundant-code-browser-commit-button.md
choiminyeong f6ac20c8ed TASK-063: task records say what is actually open
No task waits on a Codex review; the redesign tasks are confirmed on the
product owner's Z Fold7; TASK-016's leftovers are on hold; no biometric
reauthentication.

Agent: main (opus)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-29 20:25:49 +09:00

4.3 KiB

TASK-035: Remove the redundant per-file "커밋" button in the code browser

Status: implemented; all required checks pass; live-installed, awaiting the human product owner's confirmation Owner: Claude Reviewer: Codex

Outcome

Live-reported: "현재 보고있는 페이지 우상단에 커밋 버튼은 이제 필요 없지 않나" (the Commit button in the top-right of the current page isn't needed anymore, is it). Confirmed correct: the code browser's header showed an OutlinedButton (originally labeled "히스토리", renamed to "커밋" by TASK-031) that just switched BranchDetailScreen's pager to page 1 — the exact same destination the top-level "커밋" tab (also renamed by TASK-031) already switches to with one tap, with no file-specific filtering or other distinct behavior. Since TASK-031 gave both controls the identical label doing the identical thing, the in-content button became pure duplication. Removed it.

Scope

  • Included: feature/codebrowser/CodeBrowserScreen.kt (BrowserHeader's button and the onViewHistory parameter threaded through CodeBrowserScreen), feature/branchdetail/BranchDetailScreen.kt (the call site, plus a doc-comment word fix from a prior rename), strings_codebrowser.xml (removed the now-unused codebrowser_history string).
  • Excluded: The top-level "커밋" tab and HistoryScreen itself are untouched — this removes only the duplicate shortcut, not the feature it duplicated. No change to any other button or gesture in the code browser.

Design notes

  • Confirmed it was truly redundant before removing it, not just probably: traced onViewHistory all the way from BrowserHeader's button through CodeBrowserScreen's parameter to its one call site in BranchDetailScreen.kt — onViewHistory = { scope.launch { pagerState.animateScrollToPage(1) } } — which is exactly the same action the "커밋" Tab's own onClick performs a few lines above it. No path/file information ever flowed through onViewHistory, so this was never actually "view this specific file's history," despite once being labeled that way before TASK-031's rename made the duplication obvious.
  • Header simplified along with the removal: BrowserHeader's title/ref Column no longer needs to share a Row with a trailing button, so it collapsed back to a plain Column — one less nested layout, not just a deleted button.

Acceptance criteria

  • The code browser's header (shown across Loading/Directory/File/UnsupportedEntry/Error states) no longer shows a "커밋" button.
  • The top-level "커밋" tab in BranchDetailScreen is unaffected and remains the only way to reach commit history from this screen.
  • No leftover references to onViewHistory or the removed codebrowser_history string resource anywhere in the app.
  • Build, unit tests, and lint pass.
  • Live confirmation from the human product owner that the header now looks right without it — installed on the device but not yet re-viewed in this exact session.

Required checks

./gradlew compileDebugKotlin compileDebugUnitTestKotlin
./gradlew testDebugUnitTest
./gradlew assembleDebug lintDebug

Evidence

  • CodeBrowserScreen.kt: onViewHistory parameter removed from CodeBrowserScreen and BrowserHeader; the OutlinedButton removed; BrowserHeader's title/ref layout simplified from a Row-wrapped Column to a plain Column.
  • BranchDetailScreen.kt: the onViewHistory = { ... } argument removed from the one CodeBrowserScreen(...) call site; a stale doc-comment reference to "History" (predating TASK-031's tab rename) corrected to "Commit".
  • strings_codebrowser.xml: codebrowser_history string removed (confirmed unused via a repository-wide search before deleting it).
  • ./gradlew compileDebugKotlin compileDebugUnitTestKotlin: BUILD SUCCESSFUL.
  • ./gradlew testDebugUnitTest: BUILD SUCCESSFUL, all unit tests passing (no test referenced the removed button/parameter/string).
  • ./gradlew assembleDebug lintDebug: BUILD SUCCESSFUL, 0 lint errors.
  • Installed on the human product owner's device over wireless adb (adb install -r, streamed install succeeded); not yet re-viewed live in this exact session.

Known limitations

None identified.

Review findings

None yet — no Codex review pending (Codex retired, 2026-09-29).