ionic-team / ionic-team/capacitor-plugins

[Bug]: `browserFinished` on Android triggers when browser is minimized

Open
#2,554 0 comments 0 reactions 0 assignees View on GitHub
platform: android platform: ios platform: web
Dominant language
Java
Stars
678
Forks
685
Avg merge
4d 22h
Merged PRs (30d)
3

Description

### Capacitor Version

💊 Capacitor Doctor 💊

Latest Dependencies:

@capacitor/cli: 8.4.0
@capacitor/core: 8.4.0
@capacitor/android: 8.4.0
@capacitor/ios: 8.4.0

Installed Dependencies:

@capacitor/ios: not installed
@capacitor/core: 8.4.0
@capacitor/android: 8.4.0
@capacitor/cli: 8.4.0

[success] Android looking great! 👌

### Other API Details

```Shell

```

### Platforms Affected

- [ ] iOS
- [x] Android
- [ ] Web

### Current Behavior

For repro I used `npm init @capacitor/app@latest` and then replaced index.html body with

```html
Open browser



```

and `capacitor-welcome.js` with

```js
import { Browser } from '@capacitor/browser';

Browser.addListener('browserFinished', async () => {
document.querySelector('pre').innerText += 'browserFinished\n';
});

document.querySelector('button').addEventListener('click', () => {
Browser.open({
url: 'https://example.com',
});
});
```

Steps:

1. Click "open browser"
2. Minimize the browser
3. `browserFinished` has fired
4. It won't fire again when maximizing/minimizing or closing the browser

https://github.com/user-attachments/assets/1d781e02-7387-45f3-8b36-568a0d7b8dab

### Expected Behavior

I expect `browserFinished` to tell me when the browser was _closed_

I open Auth0 in a browser (because of https://github.com/ionic-team/capacitor/issues/7367). But I can't reliably know when the browser is done to remove the "loading" state (spinner) in my app.

### Project Reproduction

https://github.com/Prinzhorn/capacitor-android-browser-close-event

### Additional Information

_No response_

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.