Title: External Sites (navigation entries with app: "external") stopped opening on tap in 34.x — regression, works fine in 33.1.2
- Dominant language
- Kotlin
- Stars
- 5.6k
- Forks
- 2k
- Avg merge
- 2d 18h
- Merged PRs (30d)
- 92
Description
### ⚠️ Before posting ⚠️
- [x] This is a **bug**, not a question or an enhancement.
- [x] I've [searched for similar issues](https://github.com/nextcloud/android/issues) and didn't find a duplicate.
- [x] I've written a clear and descriptive title for this issue, not just "Bug" or "Crash".
- [x] I agree to follow Nextcloud's [Code of Conduct](https://nextcloud.com/contribute/code-of-conduct/).
### Steps to reproduce
1. Configure at least one entry in External Sites (nextcloud/external), either Type: Link (redirect: true) or the default embedded type (redirect: false).
2. Open the official Android app, log in, open the side navigation drawer.
3. Tap the entry.
### Expected behaviour
Entry opens — works in any browser, and in Android app 33.1.2.
### Actual behaviour
On 34.1.0: row highlights (ripple), then nothing. Confirmed via server logs that zero HTTP requests ever reach the target — failure is entirely client-side, pre-network. Reproduces for every entry regardless of redirect true/false, icon, or target host.
What we ruled out
- DNS/reachability — all hosts resolve publicly, work fine in browsers.
- Server bug — found and patched nextcloud/external#769 (https://github.com/nextcloud/external/issues/769) (missing 'app' => 'external' in nav registration) ourselves; no effect on 34.1.0's behaviour.
- Device targeting — device: browser-scoped entries correctly stay hidden on Android, so client detection still works.
- Clean isolation: same server/account/entries — 33.1.2 works, 34.1.0 doesn't.
Couldn't get Logcat (OEM blocks main/system buffer reads on non-rooted ro.debuggable=0 builds), and no in-app logging option found in this version.
### Android version
16
### Device brand and model
Device: RedMagic 10S (NX789J), Android 16 (SDK 36)
### Stock or custom OS?
Stock
### Nextcloud android app version
App broken: 34.1.0 / App working: 33.1.2
### Nextcloud server version
Server: Nextcloud 33.0.6 (snap), External Sites 8.0.1
### Using a reverse proxy?
I don't know
### Android logs
_No response_
### Server error logs
```bash
```
### Additional information
Additional context
34.1.0 released 2026-07-23; reproduces identically for both redirect true/false, suggesting a regression in how 34.x handles taps on non-native drawer entries in general, not something specific to External Sites' payload. Happy to provide the occ config:app:get external sites JSON or log excerpts on request.
Contributor guide
Research direction
Start by reproducing the tap in the side navigation drawer on 34.1.0, then trace how non-native entries with app: "external" are handled and compare that path with 33.1.2. Done means both redirect=true and redirect=false entries open from the drawer without affecting device-hidden entries.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- kotlin
- Domain
- mobile
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100