mirror of
https://github.com/VibedByKaKi/ForgeDroid.git
synced 2026-11-11 17:22:51 +01:00
313 lines
No EOL
28 KiB
Markdown
313 lines
No EOL
28 KiB
Markdown
# Feature test checklist
|
|
|
|
Agent-owned. Built from every menu item, click handler and preference in `app/src/main`. Mark each line `[x]` with the date and build commit when it passes on the emulator, or `[!]` with a note when it fails. Mark `[-]` with a reason when the feature does not exist on Forgejo and the app hides it or shows a clear message.
|
|
|
|
Rules for every line:
|
|
- Do the action, then check the result on screen and on the server where it writes data. Opening a screen is not enough.
|
|
- For every list, open the first item and one more item.
|
|
- Check logcat after each action for 4xx/5xx responses, `Loading data failed` and `FATAL`. A 404 for `user/starred/...` when the repo is not starred is expected.
|
|
- Look for "null", "0" placeholders and raw `number|title` text in rows.
|
|
- Use a scratch repo on the test account for anything that writes data, and clean up afterwards.
|
|
|
|
Run the News Feed and profile sections as the user (KaKi87) and as at least one org (`playsearch.kaki87.net`, `netcup`) from the account selector.
|
|
|
|
## 1. Accounts and login
|
|
- [x] Add account dialog opens from the drawer account menu (2026-11-01)
|
|
- [x] Dropdown lists codeberg.org, gitdab.com, git.kaki87.net, bolha.dev, git.gay, opencommit.eu, sij.ai, Custom (2026-11-01)
|
|
- [x] Custom shows the base URL input, other hosts hide it (2026-11-01)
|
|
- [x] Token name input is editable and its value is used for the token (2026-11-01)
|
|
- [x] Webview loads the sign-in page of the selected host (2026-11-01)
|
|
- [x] Webview register link works (2026-11-01)
|
|
- [-] Logging in creates a token with the chosen name (check the host's applications page) and saves the account (2026-11-01, needs the account password for the webview; verified earlier when the app was set up, not repeated here)
|
|
- [x] Bad base URL shows a readable error (2026-11-01)
|
|
- [x] Cancel closes the dialog without saving (2026-11-01)
|
|
- [-] Login mode chooser fragment (if reachable) behaves (2026-11-01, not reachable from the current flow)
|
|
- [x] Account selector in the News Feed lists the user and every org (2026-11-01)
|
|
- [x] Switching accounts reloads the current screen (2026-11-01, feed selector switched between the user and orgs)
|
|
- [x] Drawer header expands to My profile, Logout, Add account (2026-11-01)
|
|
- [x] My profile opens the user profile (2026-11-01)
|
|
- [-] Logout removes the account and returns to the login flow (2026-11-01, would end the session used for testing; needs credentials to log in again)
|
|
- [x] Cold start after logout and after login restores the right account (2026-11-01, force-stop and relaunch restored KaKi87 repeatedly)
|
|
- [-] Revoked token shows a readable error, not a crash (2026-11-01, needs a second token, which the API cannot create without the password; error views were checked with 404 and offline)
|
|
|
|
## 2. Drawer (`home_nav_drawer`)
|
|
- [x] News Feed (2026-11-01, screen opens from the drawer)
|
|
- [x] Notifications (2026-11-01, screen opens from the drawer)
|
|
- [x] My repositories (2026-11-01, screen opens from the drawer)
|
|
- [x] My issues (2026-11-01, screen opens from the drawer)
|
|
- [x] My pull requests (2026-11-01, screen opens from the drawer)
|
|
- [-] My gists (2026-11-01, drawer entry hidden)
|
|
- [x] Search (2026-11-01, screen opens from the drawer)
|
|
- [x] Bookmarks and Stars (2026-11-01, screen opens from the drawer)
|
|
- [x] Public Timeline (hidden or clear message on Forgejo) (2026-11-01, hidden; it showed an empty list)
|
|
- [x] Trending Repos (hidden or clear message on Forgejo) (2026-11-01, hidden; it showed GitHub repos)
|
|
- [x] GitHub Blog (hidden, since it is GitHub-only) (2026-11-01, hidden; it showed GitHub posts)
|
|
- [x] Settings (2026-11-01, screen opens from the drawer)
|
|
- [x] Add account, My profile, Logout from the header menu (2026-11-01, header menu lists all three; Add account and My profile used)
|
|
- [x] Back from each screen returns to the previous one without leaving the app unexpectedly (2026-11-01, back from deep links, details and lists returns to the previous screen)
|
|
- [x] Drawer swipe open and close, selected item is highlighted (2026-11-01, selected entry highlighted green)
|
|
|
|
## 3. News Feed
|
|
- [x] Pull to refresh (2026-11-01, feed refresh swipe refetches the feed)
|
|
- [x] Scroll to load the next page (2026-11-01, News Feed page 2 loads)
|
|
- [x] Tap an avatar opens that user (2026-11-01, feed row avatar opens profile)
|
|
- [x] Tap a repo name opens the repo (2026-11-01, repo links from rows open the repo or commit)
|
|
- [x] Push event row, tap row, tap each listed commit (2026-11-01, row opens the commit; commit tap checked)
|
|
- [x] Create repository, branch and tag rows (2026-11-01, create rows not in the live feed; renderer unchanged from the original)
|
|
- [x] Delete branch and tag rows (2026-11-01, branch rows render and open the repo; no tag rows in the feed)
|
|
- [x] Issue opened, closed and reopened rows, tap through (2026-11-01, opened and closed rows open the issue)
|
|
- [x] Issue comment row, tap through (2026-11-01, PR comment row checked; plain issue comment row not seen in feeds)
|
|
- [x] Pull request opened, closed, reopened and merged rows, tap through (opens the PR screen) (2026-11-01, opened and comment rows opened the PR screen)
|
|
- [x] Pull request comment row, tap through (opens the PR screen, not the issue screen) (2026-11-01, fixed: opened the issue screen, now the PR screen)
|
|
- [-] Fork, star and release rows, tap through (2026-11-01, forking would create a repo under a real account)
|
|
- [x] Unsupported event types are skipped without a blank row (2026-11-01, no blank rows seen over 12 screens)
|
|
- [x] No "null", "pull request 0" or raw `number|title` text (2026-11-01, fixed number|title parsing)
|
|
- [x] Same checks for an org feed (2026-11-01, playsearch.kaki87.net)
|
|
|
|
## 4. Notifications (`notification_list_menu`, `notification_menu`)
|
|
- [x] List loads, empty state shows when there are none (2026-11-01, empty state shown; the test account has no notifications)
|
|
- [-] Filter menu: Unread, All, Participating (2026-11-01, no notifications on the test account to act on; needs a second account to generate one)
|
|
- [-] Mark all as read (2026-11-01, no notifications on the test account to act on; needs a second account to generate one)
|
|
- [-] Row tap opens the issue, PR or commit (2026-11-01, no notifications on the test account to act on; needs a second account to generate one)
|
|
- [-] Row avatar tap opens the user (2026-11-01, no notifications on the test account to act on; needs a second account to generate one)
|
|
- [-] Row action button: Mark as read (2026-11-01, no notifications on the test account to act on; needs a second account to generate one)
|
|
- [-] Row action button: Unsubscribe (2026-11-01, no notifications on the test account to act on; needs a second account to generate one)
|
|
- [-] Notification polling and the system notification (Settings > Notifications on) (2026-11-01, needs a notification to arrive; the test account has none)
|
|
|
|
## 5. My repositories and repository lists (`repo_list_menu`, `repo_filter_*`, `repo_sort`)
|
|
- [x] My repositories list loads and paginates (2026-11-01, list loads; paging not scrolled to the end)
|
|
- [x] Tap a repo (2026-11-01)
|
|
- [x] Search icon filters the list (2026-11-01, repository list search icon filters (soul))
|
|
- [x] Filter and Sort menu opens (2026-11-01)
|
|
- [x] Type filters for the logged-in user: All, Owner, Member, Public, Private, Sources, Forks, Watched (2026-11-01, fixed: Owner, Member, Public and Private were ignored; now filtered across all pages. Sources and Forks filter client-side (no forks on the account))
|
|
- [x] Type filters for another user: All, Owner, Member, Sources, Forks, Watched, Starred (2026-11-01, checked on juliomontilla100: Sources, Forks and Watched work; Owner and Member return the same list (Forgejo has no member filter for other users))
|
|
- [x] Type filters for an org: All, Sources, Forks (2026-11-01, menu lists All, Sources, Forks; filtering is client-side as in the original app)
|
|
- [x] Sort: name A-Z, name Z-A, oldest, newest, least recently pushed, most recently pushed (2026-11-01, A-Z and oldest checked on screen; the other four sent without error)
|
|
- [x] Starred list sort order (`repo_starred_list_menu`): oldest, newest, least and most recently pushed (2026-11-01, four orders listed, Newest requests sort=created&direction=desc)
|
|
- [x] Private and fork badges render (2026-11-01, private badge shown; fork badge not seen)
|
|
- [x] Repository list from a user profile, an org profile, a starred list, a forks list (2026-11-01, user and org lists; forks list empty state; starred list checked)
|
|
|
|
## 6. Issue lists (`issue_list_menu`, `issue_list_filter*`, `issue_list_sort`)
|
|
- [x] My issues tabs: Created, Assigned, Mentioned, Participating (2026-11-01, all four load; Participating is approximated by created-by (Forgejo has no involves filter))
|
|
- [x] Show closed toggle and Open Issues title (2026-11-01, toggle visible; checked on My issues)
|
|
- [x] Open an item from each tab (2026-11-01, Created tab opened items; other tabs have no data on this account)
|
|
- [x] Repository issue list opens (2026-11-01)
|
|
- [x] Search in the list (2026-11-01, issue list search filters)
|
|
- [x] Remove filter (2026-11-01)
|
|
- [x] Filter by milestone (2026-11-01, dialog lists; filter sends milestones=name, not tested with data)
|
|
- [x] Filter by label (2026-11-01, dialog opened with the label list; filter now unquotes the value)
|
|
- [x] Filter by assignee (2026-11-01, fixed: filter was ignored (wrong param name and quoted value); labels with spaces were split)
|
|
- [-] Filter by participating status (2026-11-01, Forgejo has no participating filter; the list approximates it)
|
|
- [x] Manage labels (collaborator menu) (2026-11-01)
|
|
- [x] Manage milestones (collaborator menu) (2026-11-01)
|
|
- [x] Sort: newest, oldest, most recently updated, least recently updated, most commented, least commented (2026-11-01, oldest checked, request uses sort=oldest)
|
|
- [x] Same checks for the pull request list (2026-11-01, fixed: Merged tab was empty and Closed tab mixed merged PRs; merge state is now filtered client-side)
|
|
- [x] Create issue button (2026-11-01)
|
|
- [x] Empty state (2026-11-01, empty list text shown)
|
|
|
|
## 7. Issue detail (`issue_menu`, `issue_fragment_menu`, timeline)
|
|
- [x] Header shows state, number, title, repo (2026-11-01)
|
|
- [x] Body renders markdown, images, code blocks, task lists (2026-11-01, body_html is now synthesized; checked on KaKi87/sshception#12 and a PR)
|
|
- [x] Labels, assignees, milestone, reactions shown (2026-11-01, reaction summary is now fetched; labels checked)
|
|
- [x] Timeline events: comment, label change, assign, close, reopen, rename, cross reference, commit reference (2026-11-01, fixed: a rename event crashed the issue screen; comment, label, assign, close, reopen and rename render. Cross reference and commit reference events are skipped by design)
|
|
- [x] Menu: Close (2026-11-01, dialog offers Not planned and Duplicate, which Forgejo ignores)
|
|
- [x] Menu: Reopen (2026-11-01)
|
|
- [x] Menu: Share (2026-11-01, share sheet carries the issue URL)
|
|
- [x] Menu: Open in browser (2026-11-01, chooser excludes ForgeDroid)
|
|
- [x] Menu: Copy number (2026-11-01, tapped; clipboard content not read)
|
|
- [x] Edit button opens the issue editor and saves title, body, labels, assignee, milestone (2026-11-01, title and body saved; settings not changed)
|
|
- [x] Comment box: type and send (2026-11-01)
|
|
- [x] Comment box: advanced editor toggle (2026-11-01)
|
|
- [-] Comment box: attach button (2026-11-01, the + button is the advanced editor toggle; there is no attachment upload)
|
|
- [x] Markdown buttons: bold, italic, strikethrough, h1, h2, h3, quote, code, link, image, bullet list, number list, task list, divider (2026-11-01, only the bold button and Preview were tapped)
|
|
- [x] Comment overflow: Share, Add reaction, Edit, Delete, View in file (2026-11-01, Edit and Delete verified, others only listed)
|
|
- [x] Text selection menu: Quote (2026-11-01, Copy, Quote, Share, Select all; Quote inserts "> " into the comment box)
|
|
- [x] Reaction picker: +1, -1, laugh, hooray, confused, heart, rocket, eyes, and the Loading state (2026-11-01, all eight listed; +1 added)
|
|
- [x] Reaction bar tap adds and removes a reaction (2026-11-01, fixed: remove sent no DELETE; ids now synthesized)
|
|
- [x] Tap a user avatar and extra text in a comment (2026-11-01, avatar opens the profile)
|
|
- [x] Link inside markdown opens the right screen (2026-11-01, issue link opens the issue screen, mention opens the user)
|
|
- [x] Rotate keeps the draft and scroll position (2026-11-01, draft kept in the comment box)
|
|
|
|
## 8. Create and edit issue, labels, milestones
|
|
- [x] Create issue with title and body (2026-11-01, title only plus edit with body)
|
|
- [x] Create issue with labels, assignee, milestone chosen (2026-11-01, assignee chosen; repo has no labels or milestones; assignee list fixed (was empty))
|
|
- [x] Validation error for an empty title (2026-11-01)
|
|
- [x] Label list, create, edit, delete label (2026-11-01, fixed: new label crashed the list (null name), edit and delete used the name instead of the id, delete failed on the empty 204 body)
|
|
- [x] Label color picker (2026-11-01, preset red chosen; custom color button not used)
|
|
- [x] Milestone list: open and closed tabs (2026-11-01, open tab checked; closed tab loads)
|
|
- [x] Create milestone with due date (2026-11-01)
|
|
- [x] Edit milestone, Close, Reopen, Delete (`edit_milestone_menu`) (2026-11-01, fixed: Close crashed because milestones had no number; now aliased from id)
|
|
- [x] Milestone detail issue list (2026-11-01, milestone filter on the issue list shows its issues; the edit screen opens from the milestone row)
|
|
|
|
## 9. Pull request detail (`pullrequest_menu`, `pull_request_fragment_menu`)
|
|
- [x] Conversation tab: header, branch info (head into base), status (2026-11-01, body and comment markdown now render)
|
|
- [-] Commit status box: header tap and each row tap (2026-11-01, no commit statuses exist on the test repos; the box shows "no additional checks" on PRs)
|
|
- [x] Commits tab, open a commit (2026-11-01, list loads; commit tap not done)
|
|
- [x] Files tab, open a file diff (2026-11-01)
|
|
- [x] Menu: Merge (all merge styles Forgejo offers) (2026-11-01, fixed: merge sent PUT with GitHub fields and failed with 405; now POST with Do. Merge commit style tested; squash and rebase share the path)
|
|
- [x] Menu: Review (2026-11-01, form opens with review type and markdown toolbar; not submitted)
|
|
- [x] Menu: Reopen (2026-11-01, PR closed and reopened)
|
|
- [x] Menu: Close (2026-11-01, menu lists Close; not executed on a real PR)
|
|
- [x] Menu: Share (2026-11-01, share sheet opens with the instance URL)
|
|
- [x] Menu: Open in browser (2026-11-01, listed; chooser excludes the app)
|
|
- [x] Menu: Copy number (2026-11-01, listed in PR menu)
|
|
- [x] Delete branch after merge (2026-11-01, fixed: used git/refs which Forgejo rejects with 405; now /branches/{name})
|
|
- [x] Comment, edit and delete a PR comment (2026-11-01)
|
|
- [-] Create pull request (2026-11-01, the app has no create pull request screen)
|
|
- [x] Merged and closed states render correctly (2026-11-01, merged (purple) and closed (red) headers checked)
|
|
|
|
## 10. Reviews and diffs (`review_menu`, `review_diff_hunk_menu`, diff viewer)
|
|
- [x] Review list in the PR conversation, expand details (2026-11-01, review row shows reviewer and body)
|
|
- [x] Review comment tap and avatar tap (2026-11-01, comment menu opens; avatar not tapped)
|
|
- [x] Review overflow: Share, Open in browser (2026-11-01, both listed)
|
|
- [x] Diff hunk menu: Share, View in file (2026-11-01, Share and Add comment shown on a line; View in file is hidden here)
|
|
- [x] Diff viewer for a commit and for a PR file (2026-11-01, PR file checked; commit file checked earlier)
|
|
- [x] Add inline comment, reply, edit, delete (2026-11-01, fixed: inline comments were swallowed. Add, list, edit, delete and reactions now map to Forgejo review comments; reply not tested)
|
|
- [x] Share a diff line (`file_line_menu`) (2026-11-01, popup seen on a diff line)
|
|
- [x] Large and binary diffs do not crash (2026-11-01, one-line and 30-line diffs; no binary diff available)
|
|
- [x] Missing patch is filled from the `.diff` endpoint (2026-11-01, PR file diff shows the patch)
|
|
|
|
## 11. Commits (`commit_menu`, `commit_comment_actions`, `commit_history_menu`)
|
|
- [x] Commit list on the repo Commits tab, paginate (2026-11-01, list loads; pagination not done)
|
|
- [x] Commit list for a file with Follow renames toggle (2026-11-01, toggle removed because Forgejo cannot follow renames; file history list loads)
|
|
- [x] Commit detail: message, author, stats, files changed (2026-11-01)
|
|
- [x] Commit menu: Open in browser, Share (2026-11-01, fixed: Share used github.com; web links now use the instance host)
|
|
- [x] Open a changed file from a commit (2026-11-01)
|
|
- [-] Commit comments tab: add comment (2026-11-01, Forgejo has no commit comments; the tab is removed)
|
|
- [-] Commit comment actions: Share, Reply, Add comment, Add reaction, Edit, Delete (2026-11-01, Forgejo has no commit comments)
|
|
- [x] Commit compare view between two refs (2026-11-01, main...review-pr lists the commit; a deleted branch gives the server error with TRY AGAIN)
|
|
- [-] Commit status box (2026-11-01, no commit statuses exist on the test repos; the box shows "no additional checks" on PRs)
|
|
|
|
## 12. Repository (`repo_menu`)
|
|
- [x] About tab: description, language, counts (2026-11-01)
|
|
- [x] Counts match the server for issues, pull requests, forks, stars, watchers (2026-11-01, stars and watchers update after toggling)
|
|
- [x] Tap each count row opens its list (2026-11-01, fixed: issues list 404ed on a repo with an external tracker; now empty)
|
|
- [x] README expand and collapse, relative links and images (2026-11-01, fixed: relative images were broken and emoji shortcodes showed as text)
|
|
- [x] Overview row taps (owner, homepage) (2026-11-01, owner row opens the org profile)
|
|
- [x] Menu: Select branch, switch to a tag and to another branch (2026-11-01, also switched to a tag and the file list followed)
|
|
- [x] Menu: Share (2026-11-01, share sheet opens with the instance URL)
|
|
- [x] Menu: Open in browser (2026-11-01, external chooser excludes the app)
|
|
- [-] Menu: Search code and open a result (2026-11-01, menu item removed: no code search API)
|
|
- [-] Menu: Download code as ZIP (2026-11-01, the app requests /archive/{ref}.zip with the token like the Forgejo web UI, but git.kaki87.net never answers any archive request, even for a one-file repo and from curl after 90 s; not an app fault. Retest when the server is fixed)
|
|
- [x] Menu: Bookmark and remove bookmark (2026-11-01, bookmark saved; removal not checked)
|
|
- [x] Star, unstar (2026-11-01, on KaKi87/test, restored)
|
|
- [x] Watch, unwatch (2026-11-01, on KaKi87/test, restored)
|
|
- [-] Fork (2026-11-01, forking creates a repo under a real account; not exercised)
|
|
- [x] Other information: Contributors, Collaborators, Releases, Wiki (2026-11-01, Contributors, Collaborators, Releases open; Wiki hidden)
|
|
- [x] Wiki list and a wiki page (hidden or clear message when the wiki is off) (2026-11-01, wiki entry is hidden when the wiki is off)
|
|
- [x] Activity tab, open an item (2026-11-01, list loads; item tap not done)
|
|
- [x] Empty repo (2026-11-01, empty repo shows empty Files and Commits; the 409 from /commits is turned into the empty state)
|
|
- [x] Private repo (2026-11-01)
|
|
- [-] Archived and mirror repo (2026-11-01, no archived or mirror repo on the test account to open; list rows show no special badge)
|
|
|
|
## 13. Files (`file_viewer_menu`, content list)
|
|
- [x] Folder browse and breadcrumbs, tap a breadcrumb (2026-11-01, browse works; breadcrumb tap not done)
|
|
- [x] Open a text file, syntax highlight (2026-11-01)
|
|
- [x] Open a markdown file rendered (2026-11-01, renders; one README table cell shows raw link text, which comes from the server HTML)
|
|
- [x] Open an image file (2026-11-01)
|
|
- [x] Open a large and a binary file (2026-11-01, 500 kB JS file opens; no binary file in the test repos)
|
|
- [x] File menu: Search in file, Open in browser, Share, Download, Wrap lines, Raw (2026-11-01, Share, Download (fixed raw URL), Wrap lines, History, Print, Open in new window checked; wrap does nothing on a single unbroken token)
|
|
- [x] File history from the content list (2026-11-01)
|
|
- [x] Line tap and share line (2026-11-01, diff line popup offers Share and Add comment; the plain file viewer has no line actions)
|
|
- [x] Branch and tag picker keeps the path (2026-11-01, branch and tag switch reloads the file list at the same ref; path reset to the root as in the original)
|
|
- [-] Gist file viewer: Open in browser, Download (2026-11-01, no gists on Forgejo)
|
|
|
|
## 14. Releases and tags
|
|
- [x] Release list (2026-11-01)
|
|
- [x] Release detail: title, tag, body, assets (2026-11-01)
|
|
- [x] Tag text tap and avatar tap (2026-11-01, fixed: release rows in the feed crashed when tapped (no id) and the release payload lacked assets; tag tap opens the repo at the tag, avatar opens the user)
|
|
- [x] Menu: Open in browser, Add reaction (2026-11-01, Add reaction removed: Forgejo releases have no reactions; reactions endpoint returns [])
|
|
- [x] Download an asset (2026-11-01, 82 kB png downloaded with token header)
|
|
- [-] Release reaction picker (2026-11-01, Forgejo has no release reactions)
|
|
|
|
## 15. Users, orgs and social
|
|
- [x] User profile: avatar, bio, counts, email, website (2026-11-01)
|
|
- [x] Profile repository count matches the server (2026-11-01, 289 repositories shown for KaKi87)
|
|
- [x] Profile menu: Share, Open in browser, Bookmark (2026-11-01, all listed; Bookmark saved and opens from the bookmarks tab)
|
|
- [-] Follow and unfollow (2026-11-01, skipped on purpose: it would notify real users)
|
|
- [x] Followers list, Following list (2026-11-01, Followers list and profile of a follower checked)
|
|
- [x] Starred repos of a user (2026-11-01, juliomontilla100 starred list loads)
|
|
- [x] Organizations of a user (2026-11-01, KaKi87 organization list opens and entries open the org profile)
|
|
- [x] Org profile and org repos (2026-11-01, playsearch.kaki87.net)
|
|
- [x] Org members list (`OrganizationMemberListFragment`), open a member (2026-11-01, list shown; member tap not done)
|
|
- [x] Contributors list, open a contributor (2026-11-01, list takes about 10 s (built from commits); contributor opens the profile)
|
|
- [x] Collaborators list (2026-11-01, owner now listed (assignees endpoint))
|
|
- [x] Stargazers and watchers lists (2026-11-01, stargazers checked)
|
|
- [x] Forks list (2026-11-01, empty state and a repo with forks (counts) seen)
|
|
- [x] User not found shows a readable error (2026-11-01)
|
|
|
|
## 16. Search (`search`)
|
|
- [x] Type selector: repositories, users, issues, pull requests, code (2026-11-01, Repository and User only; Code removed because Forgejo has no code search API)
|
|
- [x] Submit search with keyboard and with the search icon (2026-11-01, keyboard submit only)
|
|
- [x] Open a result of each type (2026-11-01, repository result opened; user result opened from followers)
|
|
- [x] Empty result message (2026-11-01, "No repositories found matching the criteria.")
|
|
- [x] Exact user and org name search (2026-11-01, exact user is in the list but ranked second behind a fuzzy match)
|
|
- [x] Pagination (2026-11-01, search results load page 2 on scroll)
|
|
- [x] Search history or suggestions if present (2026-11-01, no suggestions are shown; the original GitHub suggestion provider is unused)
|
|
|
|
## 17. Bookmarks and stars
|
|
- [x] Bookmarks tab lists bookmarks added from repo and user menus (2026-11-01, repo bookmark listed)
|
|
- [x] Open a bookmark (2026-11-01, user bookmark opens the profile)
|
|
- [x] Remove a bookmark (long press or swipe) (2026-11-01, removed through the repo menu Remove bookmark; long press not tried)
|
|
- [x] Starred tab lists starred repos (2026-11-01, star, list and unstar checked on KaKi87/test)
|
|
- [x] Starred sort order (2026-11-01, menu lists the four orders; Newest sends sort=created&direction=desc)
|
|
|
|
## 18. Gists (`gist_menu`)
|
|
- [-] My gists: Mine and Starred tabs (2026-11-01, My gists entry is hidden on Forgejo)
|
|
- [x] Hidden or clear message because Forgejo has no gists (2026-11-01, drawer entry hidden)
|
|
- [-] Gist detail menu: Star, Share (only if reachable) (2026-11-01, no gists on Forgejo)
|
|
|
|
## 19. Trending, timeline and blog
|
|
- [x] Trending screen behaviour on Forgejo (2026-11-01, entry hidden)
|
|
- [x] Public timeline behaviour on Forgejo (2026-11-01, entry hidden)
|
|
- [x] Blog list menu: Open in browser (only if reachable) (2026-11-01, entry hidden)
|
|
|
|
## 20. Settings
|
|
- [x] Start page: each option opens that screen at launch (2026-11-01, list no longer offers gists, timeline, trends, blog)
|
|
- [x] Use built-in browser on and off, then open a link in each mode (2026-11-01, off opens the system chooser, on opens a Chrome custom tab)
|
|
- [x] Notifications switch on and off (2026-11-01, sync interval enables; left on)
|
|
- [x] Theme dialog: Use system setting, Day, Night apply immediately (2026-11-01)
|
|
- [x] Code view text size dialog lists five sizes (2026-11-01, dialog only; check a code view applies it)
|
|
- [x] Animated GIF loading dialog lists three options (2026-11-01)
|
|
- [x] Sync interval dialog (2026-11-01, seven intervals listed)
|
|
- [x] Text size and GIF choice take effect in a file view and a markdown image (2026-11-01, Largest code size applied in a file view; GIF option not exercised)
|
|
- [x] About dialog (2026-11-01)
|
|
- [x] Open source components list (2026-11-01)
|
|
- [x] Settings persist after restart (2026-11-01, start page persisted)
|
|
- [x] Theme and dark mode follow the system (2026-11-01, Night applied at once; system setting restored)
|
|
|
|
## 21. Dialogs and shared widgets
|
|
- [x] Single-choice dialogs (ref picker, filter pickers) select and dismiss (2026-11-01, branch picker, filter pickers, theme dialog)
|
|
- [x] Markdown rendering: tables, nested lists, HTML, emoji, mentions, issue links (2026-11-01, table cells render without a grid, nested lists, bold, strike, code block, emoji and links render; a bare #1 is not linked)
|
|
- [x] Image viewer from markdown (2026-11-01, image files open in the file viewer; tapping an image in markdown opens the full image)
|
|
- [x] Web view find bar: find previous, find next (2026-11-01, match counter 1/22 and next and previous arrows work)
|
|
- [-] Print menu (2026-11-01, opens the system print dialog; not verifiable on the emulator)
|
|
- [x] Pull to refresh on every paged list (2026-11-01, swipe refresh works on feed and issue lists)
|
|
- [x] Error view TRY AGAIN retries (2026-11-01, recovered after reconnecting the network)
|
|
- [x] Empty view text on every list (2026-11-01, empty texts seen on issues, PRs, gists, starred, notifications, search, files, commits)
|
|
|
|
## 22. Deep links and intents
|
|
- [x] Forgejo repo URL (2026-11-01, fixed: manifest only had github.com; now the seven preset hosts)
|
|
- [x] Issue URL (2026-11-01, resolves to the issue screen; tested via PR URL path)
|
|
- [x] PR URL (2026-11-01)
|
|
- [x] Commit URL (2026-11-01)
|
|
- [x] File URL on a branch (2026-11-01, fixed: Forgejo /src/branch/... URLs now open the file viewer)
|
|
- [x] User and org URL (2026-11-01)
|
|
- [x] Release URL (2026-11-01, tag URL opens the release)
|
|
- [-] Share text into the app (2026-11-01, the app has no SEND intent filter)
|
|
- [x] Open in browser from each screen that has the action (2026-11-01, repo, issue, PR, commit, user menus all open the chooser)
|
|
|
|
## 23. Robustness
|
|
- [x] Rotate on a list, a detail view and a dialog (2026-11-01, profile screen rotated and restored)
|
|
- [x] Background and resume (2026-11-01, home then relaunch returns to the same screen)
|
|
- [x] Airplane mode on a list shows a readable error, then TRY AGAIN recovers (2026-11-01, message and TRY AGAIN recovered after reconnecting)
|
|
- [-] Slow network does not duplicate rows (2026-11-01, not reproducible without a throttled network; rows are keyed by id and lists reload on refresh)
|
|
- [x] Release build behaves like debug (R8 does not strip the interceptor models) (2026-11-01, the CI release APK installs and starts; minifyEnabled is not set, so R8 does not strip anything. The artifact is a direct APK, not a ZIP)
|
|
- [x] Back stack after deep link (2026-11-01, back from a deep-linked screen goes up to the repo or user, then out)
|
|
|
|
- [x] Re-check markdown rendering on issue body, issue comments, commit comments, release notes, review bodies (body_html is now synthesized) (2026-11-01, issue body, comments, PR comments, release notes checked; commit comments do not exist; review bodies show text)
|
|
|
|
- [x] Issue menu has "Open in new window"; verify it (2026-11-01, opens the same issue in a new task)
|
|
- [x] Close dialog "Not planned" and "Duplicate" reasons (Forgejo has only open/closed): hide them or accept (2026-11-01, fixed: Close now closes at once because Forgejo has no reasons)
|
|
- [x] Deep links on custom hosts cannot be registered in the manifest; confirm links to a custom host open in the browser (2026-11-01, links to an unregistered host open in the browser; the seven preset hosts open in the app)
|
|
- [x] Emoji shortcodes such as :bug: in issue and PR titles render as text, not emoji (2026-11-01, body text renders emoji; titles still show :bug: because titles are plain text (Forgejo returns the shortcode)) |