Repository names get a line to themselves; the repository, work and notification tabs lose their title; a today count on Home opens today's activity of that kind; the outline is a foldable tree of classes and methods without fields; Home can show only starred repositories and remembers the choice; settings has a light/dark/system theme choice. Whether the app is dark is now the app's decision (UBGiteaTheme.isDark), so the logo moved off a -night drawable. 420 unit tests pass, lint reports 0 errors. Installed on the product owner's Z Fold7. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
4.7 KiB
4.7 KiB
TASK-055: First device feedback on the redesign
Status: implemented; required checks pass; installed on the product owner's Z Fold7, each item awaiting their confirmation Owner: Claude Reviewer: human product owner
Outcome
The redesign (TASK-050 to TASK-054) was installed on the human product owner's Galaxy Z Fold7 (SM-F966N) on 2026-09-28. This task is what they asked for after using it.
Scope
- Included:
- Repository list: the repository's name gets a line to itself. With the owner on the same
line, a long organization name (
RobotAutomationDevelopment-Dept) used the line up and the name was cut to.... - The large title is removed from the 저장소, 작업 and 알림 tabs; the selected tab already says where you are. Home keeps "팀 활동", which says something the tab label does not.
- A "today" count on Home opens what it counted. "오늘 Push" used to open the repository list, where repositories pushed five days ago contradicted the word "today". It now narrows the timeline to today's pushes, and the timeline has an "오늘만" filter of its own.
- The outline is a tree of classes with their methods. Fields are left out -- there were too many, and they buried the methods -- and a class or namespace folds.
- Home can show only starred repositories ("즐겨찾기"), and remembers which source was chosen.
- Settings has a theme choice: follow the system, light, or dark.
- Repository list: the repository's name gets a line to itself. With the owner on the same
line, a long organization name (
- Excluded: anything not raised by the product owner.
Writable paths
app/src/main/java/com/ubisam/ubgitea/feature/home/,feature/repositories/RepositoryListScreen.kt,feature/work/,feature/notifications/NotificationsScreen.kt,feature/codebrowser/,feature/settings/,core/settings/AppSettingsStore.kt,ui/theme/,ui/components/,MainActivity.ktapp/src/main/java/com/ubisam/ubgitea/data/activity/,data/repositories/GiteaRepositoryBrowserApi.kt,domain/activity/,domain/model/RepositoryModels.ktapp/src/main/res/,app/src/test/
Acceptance criteria
- A repository's name is never shortened to make room for its owner.
- The 저장소, 작업 and 알림 tabs have no title block; Home's is unchanged.
- Tapping "오늘 Push" or "새 이슈" shows only today's activity of that kind; "열린 PR" opens the Work tab on pull requests.
- The outline lists namespaces, types and methods, never fields; a folded class hides its methods and shows how many it has.
- The favorites view reads each starred repository's own feed and merges them, newest first.
- One starred repository failing to load leaves the others shown; failing to list the starred repositories is an error.
- The favorites view says how many starred repositories it covers.
- The chosen Home source is restored on the next launch.
- The theme setting overrides the system; code colors, search highlights, the logo and the system bar icons all follow it.
- Build, unit tests and lint pass.
- Each item confirmed by the product owner on the device.
Security and privacy
Read-only. The favorites view adds /repos/{owner}/{repo}/activities/feeds, within the scopes the
app already requests. The stored settings are a theme name and a feed choice; neither is sensitive.
Required checks
./gradlew compileDebugKotlin compileDebugUnitTestKotlin testDebugUnitTest assembleDebug lintDebug
Evidence
Recorded on 2026-09-28 in the worktree awesome-pascal-3f2ada:
- The required checks pass. Unit tests: 420, 0 failures (409 before this task). Lint: 0 errors, 57 warnings.
- New tests: outline tree and folding (
SymbolOutlineTest), today-only filtering, favorites merging, tolerance of one failing repository, the remembered source (HomeViewModelTest). - Device: installed over wireless
adbon the SM-F966N. The app starts with no crash in the log. Before this task's changes, two screens were captured from the device and looked at: the repository list (which is where item 1 was seen) and the Home timeline, which showed real activity parsed correctly -- commit messages, branch names, commit ids, "외 9개 커밋", a branch deletion. That settles TASK-051's open question about the feed'scontentpayloads for pushes. - Not done: looking at this task's own changes on the device. Remote captures were stopped at the product owner's direction while they were using the phone.
Known limitations
- The favorites view reads at most 20 starred repositories, the most recently updated first, and one page (20 activities) of each. It has no "load more".
- Its open pull-request count is the sum of the counts Gitea reports per repository; it is blank if Gitea reports none.
- The outline starts fully unfolded.
Review findings
None yet.