ionic-team / ionic-team/capacitor-plugins
[Bug] @capacitor/browser popover is broken on iOS 27
- Dominant language
- Java
- Stars
- 678
- Forks
- 685
- Avg merge
- 4d 22h
- Merged PRs (30d)
- 3
Description
## Bug Report
### Plugin(s)
@capacitor/browser 8.0.4
### Capacitor Version
```
Latest Dependencies:
@capacitor/cli: 8.5.1
@capacitor/core: 8.5.1
@capacitor/android: 8.5.1
@capacitor/ios: 8.5.1
Installed Dependencies:
@capacitor/core: 8.5.1
@capacitor/android: 8.5.1
@capacitor/cli: 8.5.1
@capacitor/ios: 8.5.1
```
### Platform(s)
iOS, iPad only (reproduced on iPadOS 27)
### Current Behavior
`Browser.open` with `presentationStyle: 'popover'` shows the popover, but the SFSafariViewController inside stays blank: no content, back button disabled. This happens with and without `width`/`height`. The `open()` call is logged (`To Native -> Browser open`) and the page never appears.
### Expected Behavior
The URL loads and shows inside the popover, as it does with `presentationStyle: 'fullscreen'`.
### Code Reproduction
```ts
import { Browser } from '@capacitor/browser';
await Browser.open({ url: 'https://example.com', presentationStyle: 'popover' });
```
Run it on an iPad with iPadOS 27: the popover is blank. Remove `presentationStyle` (fullscreen) and the page loads.
### Additional Context
Workaround: use the default fullscreen presentation.
Contributor guide
Research direction
Reproduce the issue with Browser.open using presentationStyle: 'popover' on an iPad running iPadOS 27, then compare it with fullscreen presentation. Start at the iOS Browser implementation that presents SFSafariViewController; done means the popover loads the URL and behaves like the fullscreen version, including an enabled back button.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- ios, swift, typescript
- Domain
- mobile
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 68/100