Automattic / Automattic/pocket-casts-android

Mini Player keeps opening and closing

Open
#3,893 0 comments 0 reactions 0 assignees View on GitHub
[Area] Player UI [Priority] Medium [Type] Bug
Dominant language
Kotlin
Stars
2.8k
Forks
308
Avg merge
1d 13h
Merged PRs (30d)
143

Description

### Description

Internal discussion: p1744098172700159-slack-C02A333D8LQ

I recently ran into this when trying to listen to a paid podcast which has expired (subscription lapsed). I then unsubscribed from the podcasts, but noticed the mini-player kept glitching.

Logs:

```

I 07/4 19:55:55.035 Opening episode. The Three Musketeers: Part 31 of 38 Downloaded: false Downloading: false Audio: true File: [REDACTED URL] Uuid: fe76c547-6984-44eb-b08a-7199ee5fb48c
I 07/4 19:55:55.213 Stopping playback
I 07/4 19:55:55.248 stopForeground state: 1 removing notification: true
I 07/4 19:55:55.417 Inserting The Three Musketeers: Part 31 of 38 (Voice Only) in to up next at 1
I 07/4 19:55:55.488 stopForeground state: 1 removing notification: true
I 07/4 19:55:55.494 stopForeground state: 0 removing notification: true
I 07/4 19:55:55.921 Opening episode. The Three Musketeers: Part 31 of 38 (Voice Only) Downloaded: false Downloading: false Audio: true File: [REDACTED URL] Uuid: 298610f1-93b7-4cba-ad6a-554d6cc24f2e
I 07/4 19:55:56.263 stopForeground state: 0 removing notification: true
I 07/4 19:55:56.529 Stopping playback
I 07/4 19:55:56.719 stopForeground state: 1 removing notification: true
I 07/4 19:55:56.916 Inserting The Three Musketeers: Part 30 of 38 in to up next at 1
I 07/4 19:55:56.934 stopForeground state: 1 removing notification: true
I 07/4 19:55:56.937 stopForeground state: 0 removing notification: true
I 07/4 19:55:57.280 stopForeground state: 0 removing notification: true
I 07/4 19:55:57.446 Loading podcast page for 0e85a120-ec4f-013c-e7ec-[REDACTED]
I 07/4 19:55:57.449 Loaded podcast 0e85a120-ec4f-013c-e7ec-[REDACTED] from database
I 07/4 19:55:57.450 Podcast 0e85a120-ec4f-013c-e7ec-[REDACTED] is subscribed
I 07/4 19:55:57.453 Creating observer for podcast 0e85a120-ec4f-013c-e7ec-[REDACTED] changes
I 07/4 19:55:57.477 Opening episode. The Three Musketeers: Part 30 of 38 Downloaded: false Downloading: false Audio: true File: [REDACTED URL] Uuid: dc99c101-4ffa-4a8f-99cf-ec744f25f43b
I 07/4 19:55:57.506 Observing podcast 0e85a120-ec4f-013c-e7ec-[REDACTED] changes
I 07/4 19:55:57.507 Observing podcast 0e85a120-ec4f-013c-e7ec-[REDACTED] episode changes
I 07/4 19:55:57.840 Stopping playback
I 07/4 19:55:57.878 stopForeground state: 1 removing notification: true
I 07/4 19:55:58.070 Inserting The Three Musketeers: Part 30 of 38 (Voice Only) in to up next at 1
I 07/4 19:55:58.112 stopForeground state: 1 removing notification: true
I 07/4 19:55:58.113 stopForeground state: 0 removing notification: true
I 07/4 19:55:58.521 stopForeground state: 0 removing notification: true
I 07/4 19:55:58.615 Opening episode. The Three Musketeers: Part 30 of 38 (Voice Only) Downloaded: false Downloading: false Audio: true File: [REDACTED URL] Uuid: c06f242d-ab0c-4434-98fd-fa80aa425d64
I 07/4 19:55:58.839 Stopping playback
I 07/4 19:55:58.863 stopForeground state: 1 removing notification: true
I 07/4 19:55:59.028 Inserting The Three Musketeers: Part 29 of 38 (Voice Only) in to up next at 1
I 07/4 19:55:59.086 stopForeground state: 1 removing notification: true
I 07/4 19:55:59.088 stopForeground state: 0 removing notification: true
I 07/4 19:55:59.358 stopForeground state: 0 removing notification: true
I 07/4 19:55:59.539 Opening episode. The Three Musketeers: Part 29 of 38 (Voice Only) Downloaded: false Downloading: false Audio: true File: [REDACTED URL] Uuid: 53868f6c-77af-4a11-979a-abbeec072c04
I 07/4 19:55:59.862 Refresh required update for podcast 0e85a120-ec4f-013c-e7ec-[REDACTED]
I 07/4 19:55:59.867 Stopping playback
I 07/4 19:55:59.908 stopForeground state: 1 removing notification: true
I 07/4 19:56:00.133 Inserting The Three Musketeers: Part 29 of 38 in to up next at 1
I 07/4 19:56:00.182 stopForeground state: 1 removing notification: true
I 07/4 19:56:00.183 stopForeground state: 0 removing notification: true
I 07/4 19:56:00.398 In app play button pushed for 05bad8f2-50ad-4056-a9a9-[REDACTED]
I 07/4 19:56:00.401 Play now: 05bad8f2-50ad-4056-a9a9-[REDACTED] NPR News: 04-07-2025 1PM EDT
I 07/4 19:56:00.403 Player switch required. Different episode: true
I 07/4 19:56:00.406 Paused - Transient
I 07/4 19:56:00.469 Inserting NPR News: 04-07-2025 1PM EDT in to up next at 0
I 07/4 19:56:00.514 Refreshing podcast 0e85a120-ec4f-013c-e7ec-[REDACTED] - 2216 ms
I 07/4 19:56:00.519 Observing podcast 0e85a120-ec4f-013c-e7ec-[REDACTED] changes
I 07/4 19:56:00.522 Observing podcast 0e85a120-ec4f-013c-e7ec-[REDACTED] episode changes
I 07/4 19:56:00.595 Opening episode. The Three Musketeers: Part 29 of 38 Downloaded: false Downloading: false Audio: true File: [REDACTED URL] Uuid: 883e1a3c-d01e-4e7d-810e-0e090f9923ac
I 07/4 19:56:00.788 Opening episode. NPR News: 04-07-2025 1PM EDT Downloaded: false Downloading: false Audio: true File: [REDACTED URL] Uuid: 05bad8f2-50ad-4056-a9a9-[REDACTED]

```

### Step-by-step reproduction instructions

1. Try playing a premium podcast which has an expired subscription
2. Unsubscribe from the podcast (unsure if necessary to replicate)
3. Notice the mini-player

### Screenshots or screen recording

https://github.com/user-attachments/assets/de10b96e-bc3a-49a6-a567-40dcb5986a5d

### Did you search for existing bug reports?

- [x] I have searched for existing bug reports.

### Device, Operating system, and Pocket Casts app version

Samsung S9 FE Tablet, Android 14, Pocket Casts v7.86-rc-2

Contributor guide

Open the contributing guide

Research direction

No files or tests are named. Start by reproducing the issue with an expired premium podcast on Android, then trace the playback and queue events shown in the logs around unsubscribing and mini-player updates; done means the mini-player no longer repeatedly opens, stops, and advances episodes.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, kotlin
Domain
mobile
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.