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>
89 lines
4.7 KiB
Markdown
89 lines
4.7 KiB
Markdown
# TASK-055: First device feedback on the redesign
|
|
|
|
Status: implemented; required checks pass; confirmed by the human product owner on their Z Fold7 (2026-09-29)
|
|
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:
|
|
1. 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 `...`.
|
|
2. 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.
|
|
3. 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.
|
|
4. 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.
|
|
5. Home can show only starred repositories ("즐겨찾기"), and remembers which source was chosen.
|
|
6. Settings has a theme choice: follow the system, light, or dark.
|
|
- 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.kt`
|
|
- `app/src/main/java/com/ubisam/ubgitea/data/activity/`, `data/repositories/GiteaRepositoryBrowserApi.kt`,
|
|
`domain/activity/`, `domain/model/RepositoryModels.kt`
|
|
- `app/src/main/res/`, `app/src/test/`
|
|
|
|
## Acceptance criteria
|
|
|
|
- [x] A repository's name is never shortened to make room for its owner.
|
|
- [x] The 저장소, 작업 and 알림 tabs have no title block; Home's is unchanged.
|
|
- [x] Tapping "오늘 Push" or "새 이슈" shows only today's activity of that kind; "열린 PR" opens the Work tab on pull requests.
|
|
- [x] The outline lists namespaces, types and methods, never fields; a folded class hides its methods and shows how many it has.
|
|
- [x] The favorites view reads each starred repository's own feed and merges them, newest first.
|
|
- [x] One starred repository failing to load leaves the others shown; failing to list the starred repositories is an error.
|
|
- [x] The favorites view says how many starred repositories it covers.
|
|
- [x] The chosen Home source is restored on the next launch.
|
|
- [x] The theme setting overrides the system; code colors, search highlights, the logo and the system bar icons all follow it.
|
|
- [x] 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
|
|
|
|
```text
|
|
./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 `adb` on 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's `content` payloads 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.
|