Remove dead upstream links; trim About screen#50
Conversation
- Drawer: remove the 'Document' item (opened the abandoned matsuridayo.github.io). - About: remove the 'Project' card (upstream GitHub + Telegram), the Donate button, and the bundled GPL license text block. Keep the useful bits (app version, update checks, sing-box version, plugins, battery-optimization). Repoint the version item's\n link to our own releases page. - Missing-plugin dialog: drop the 'Learn more' button (pointed at the abandoned\n matsuridayo plugin docs) and fix a latent bug where Cancel was registered as a second\n setNeutralButton and silently overridden — Cancel is now a proper negative button. The LICENSE file remains in the repo (GPL compliance); only the in-app display is\nremoved. No attribution/disclaimer text added.
📝 WalkthroughWalkthroughThe pull request removes several UI elements and updates repository links: the license card is deleted from the About layout and its binding setup is removed from code; the FAQ navigation item is removed from the drawer menu and its handler removed from ChangesUI Removal and Fork Rebranding
Estimated code review effort🎯 2 (Simple) | ⏱️ ~8 minutes Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@app/src/main/java/io/nekohasekai/sagernet/ui/AboutFragment.kt`:
- Line 74: The About page link points to the hawkff/NekoBoxForAndroid release
source, but the checkUpdate() method still references the starifly source.
Update the URLs in the checkUpdate() method (around lines 178 and 180) to use
the same hawkff repository source instead of starifly to ensure consistency
between the About page and update check functionality.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 195eade3-43a4-4a0e-885f-b780b02e6485
📒 Files selected for processing (4)
app/src/main/java/io/nekohasekai/sagernet/ui/AboutFragment.ktapp/src/main/java/io/nekohasekai/sagernet/ui/MainActivity.ktapp/src/main/res/layout/layout_about.xmlapp/src/main/res/menu/main_drawer_menu.xml
💤 Files with no reviewable changes (2)
- app/src/main/res/layout/layout_about.xml
- app/src/main/res/menu/main_drawer_menu.xml
The About version link now points to hawkff/NekoBoxForAndroid releases, so the update check (checkUpdate) should query the same source instead of starifly — keeps the update results consistent with where the About page sends users (and is the correct release source for our fork).
Summary
Removes dead upstream links and trims the About screen. Keeps the useful info; no
attribution/disclaimer text added (the LICENSE file stays in the repo for GPL compliance — only
the in-app display is removed).
Changes
matsuridayo.github.io).button, and the bundled GPL license text block. Keep app version, release/preview update
checks, sing-box version, installed plugins, and the battery-optimization toggle. Repoint the
version item's link to our own releases page.
plugin docs) and fix a latent bug — Cancel was registered as a second
setNeutralButtonandsilently overridden; it's now a proper negative button.
Verified on-device
About only).
version, plugins, Ignore battery optimizations. Donate / Project / Telegram / Source code /
License / GPL text all absent.
Notes
document,donate,donate_info,project,github,telegram,license,action_learn_more) are left in place — they're harmless and removingthem across ~20 locale files would risk orphaned-translation lint (build uses
warningsAsErrors).lintVitalOssReleasepasses.Greptile Summary
This PR removes dead upstream links (matsuridayo/starifly) from the drawer, About screen, and missing-plugin dialog, and repoints the version tap and update-check API calls to the
hawkfffork. It also fixes a latent Android dialog bug whereCancelwas silently dropped because it was registered via a secondsetNeutralButtoncall instead ofsetNegativeButton.checkUpdateAPI endpoints fromstarifly→hawkff.nav_faqhandler (dead matsuridayo docs link) and fixes the missing-plugin dialog so Cancel is a proper negative button.MaterialCardViewand thenav_faqdrawer item to match the Kotlin-side removals.Confidence Score: 5/5
Safe to merge — all changes are removals of dead links or dead UI code, plus a genuine dialog bug fix; no new logic is introduced.
Every change in this PR is either a clean deletion (dead URLs, unused views, duplicate button registration) or a targeted fix of an existing bug. The update-check API and version-tap link are consistently repointed to the same fork, the nav_faq removal is symmetric across both the menu XML and the handler, and replacing the duplicate setNeutralButton with setNegativeButton is straightforwardly correct. There are no new code paths that could regress.
No files require special attention.
Important Files Changed
Sequence Diagram
%%{init: {'theme': 'neutral'}}%% sequenceDiagram participant User participant AboutContent participant GitHub as GitHub API (hawkff/NekoBoxForAndroid) participant Browser User->>AboutContent: Tap version row AboutContent->>Browser: Open hawkff/NekoBoxForAndroid/releases User->>AboutContent: Tap "Check release update" AboutContent->>GitHub: GET /releases/latest GitHub-->>AboutContent: Release JSON (name, html_url) alt New version available AboutContent->>User: Show update dialog User->>Browser: Open release URL else Up to date AboutContent->>User: Toast "No update" end User->>AboutContent: Tap "Check preview update" AboutContent->>GitHub: GET /releases/tags/preview GitHub-->>AboutContent: Release JSON (name, html_url) alt New preview available AboutContent->>User: Show update dialog else Up to date AboutContent->>User: Toast "No update" end%%{init: {'theme': 'base', 'themeVariables': {"darkMode": true, "background": "#0d1117", "primaryColor": "#21262d", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#8b949e", "lineColor": "#8b949e", "textColor": "#e6edf3", "edgeLabelBackground": "#161b22", "actorBkg": "#21262d", "actorBorder": "#8b949e", "actorTextColor": "#e6edf3", "actorLineColor": "#8b949e", "signalColor": "#8b949e", "signalTextColor": "#e6edf3", "noteBkgColor": "#373320", "noteBorderColor": "#d4a72c", "noteTextColor": "#f0e6c0", "labelBoxBkgColor": "#21262d", "labelBoxBorderColor": "#8b949e", "labelTextColor": "#e6edf3", "loopTextColor": "#e6edf3", "activationBkgColor": "#30363d", "activationBorderColor": "#8b949e"}}}%% sequenceDiagram participant User participant AboutContent participant GitHub as GitHub API (hawkff/NekoBoxForAndroid) participant Browser User->>AboutContent: Tap version row AboutContent->>Browser: Open hawkff/NekoBoxForAndroid/releases User->>AboutContent: Tap "Check release update" AboutContent->>GitHub: GET /releases/latest GitHub-->>AboutContent: Release JSON (name, html_url) alt New version available AboutContent->>User: Show update dialog User->>Browser: Open release URL else Up to date AboutContent->>User: Toast "No update" end User->>AboutContent: Tap "Check preview update" AboutContent->>GitHub: GET /releases/tags/preview GitHub-->>AboutContent: Release JSON (name, html_url) alt New preview available AboutContent->>User: Show update dialog else Up to date AboutContent->>User: Toast "No update" endComments Outside Diff (1)
app/src/main/java/io/nekohasekai/sagernet/ui/AboutFragment.kt, line 178-181 (link)starifly, nothawkffThe version-tap link was repointed to
hawkff/NekoBoxForAndroid/releases, but the twocheckUpdateAPI calls at these lines still resolve againststarifly/NekoBoxForAndroid. A user who taps "Check release update" or "Check preview update" hits a different repo than the one linked in the version row, so those checks may never surface a release this fork actually ships — or may surface starifly releases that don't match this build's version strings.Reviews (2): Last reviewed commit: "review: point update check at hawkff rel..." | Re-trigger Greptile