[GH-ISSUE #1448] Android app crash when opening a topic #1019

Closed
opened 2026-05-07 00:29:37 +02:00 by BreizhHardware · 2 comments

Originally created by @karlkec on GitHub (Sep 23, 2025).
Original GitHub issue: https://github.com/binwiederhier/ntfy/issues/1448

Steps to reproduce:

  1. Open ntfy android app. Subscribed topics are shown
  2. The first topic shows three notifications, which is correct. Tap on that topic to view notifications. The app crashes.
  3. Reopen the app and try again. Same things happen. Android has a pop-up that says the app keeps crashing.

Clicking on a topic with no notifications doesn't crash the app.

The ntfy server is locally-hosted, running in a docker container in a different network than the phone. The connection is over tailscale.

I can connect normally to the ntfy server via tailscale on the same device using a web browser.

This has been working fine since I started using it about four monghs ago. This problem just started within the last day or two.

I tried reinstalling the app from F-droid. Also updated the docker images and restarted the server. Didn't help.

Below is a log around the time where a crash happened, which was when I tapped to view a topic at 12:04:00.

`This is a log of the ntfy Android app. The log shows up to 1,000 entries.
Server URLs (aside from ntfy.sh) and topics have been replaced with fruits 🍌🥝🍋🥥🥑🍊🍎🍑.

Device info:

ntfy: 1.17.0 (fdroid)
OS: 6.1.99-android14-11-gd7dac4b14270-ab12946699
Android: 15 (SDK 35)
Model: bluejay
Product: bluejay

--
Settings:
{
"autoDeleteSeconds": 2592000,
"autoDownloadMaxSize": 1048576,
"broadcastEnabled": false,
"connectionProtocol": "ws",
"darkMode": -1,
"defaultBaseUrl": "https://banana.example.com",
"lastSharedTopics": [],
"minPriority": 1,
"mutedUntil": 0,
"recordLogs": true
}

Logs

1758654228373 2025-09-23 12:03:48.373 D NtfyLog Log was truncated
1758654230872 2025-09-23 12:03:50.872 D NtfyMainActivity Create io.heckel.ntfy.ui.MainActivity@926e8aa
1758654230875 2025-09-23 12:03:50.875 D NtfyMainActivity Poll worker version matches: choosing KEEP as existing work policy
1758654230875 2025-09-23 12:03:50.875 D NtfyMainActivity Poll worker: Scheduling period work every 60 minutes
1758654230875 2025-09-23 12:03:50.875 D NtfyMainActivity ServiceStartWorker version matches: choosing KEEP as existing work policy
1758654230875 2025-09-23 12:03:50.875 D NtfyMainActivity ServiceStartWorker: Scheduling period work every 180 minutes
1758654230876 2025-09-23 12:03:50.876 D NtfyMainActivity Delete worker version matches: choosing KEEP as existing work policy
1758654230876 2025-09-23 12:03:50.876 D NtfyMainActivity Delete worker: Scheduling period work every 480 minutes
1758654230877 2025-09-23 12:03:50.877 D NtfyMainActivity Battery: ignoring optimizations = true (we want this to be true); instant subscriptions = false; remind time reached = true; banner = false
1758654230877 2025-09-23 12:03:50.877 D NtfyMainActivity hasSelfHostedSubscriptions: false, wsReconnectRemindTimeReached: true, usingWebSockets: true, canScheduleExactAlarms: true
1758654230891 2025-09-23 12:03:50.891 D NtfySubscriberMgr Enqueuing work to refresh subscriber service
1758654230894 2025-09-23 12:03:50.894 D NtfyMainActivity Checking global and subscription-specific 'muted until' timestamp
1758654230896 2025-09-23 12:03:50.896 D NtfyMainActivity Battery: ignoring optimizations = true (we want this to be true); instant subscriptions = true; remind time reached = true; banner = false
1758654230896 2025-09-23 12:03:50.896 D NtfyMainActivity hasSelfHostedSubscriptions: true, wsReconnectRemindTimeReached: true, usingWebSockets: true, canScheduleExactAlarms: true
1758654230930 2025-09-23 12:03:50.930 D NtfySubscriberMgr ServiceStartWorker: Starting foreground service with action START (work ID: 245f8faf-0234-4001-a133-103710c40b75)
1758654230950 2025-09-23 12:03:50.950 D NtfySubscriberService using an intent with action START
1758654230950 2025-09-23 12:03:50.950 D NtfySubscriberService onStartCommand executed with startId: 3
1758654230951 2025-09-23 12:03:50.951 D NtfySubscriberService Refreshing subscriptions
1758654230951 2025-09-23 12:03:50.951 D NtfySubscriberService - Active connections: [ConnectionId(baseUrl=https://banana.example.com, topicsToSubscriptionIds={kiwi=15230982, lemon=57266583, coconut=73624064})]
1758654230951 2025-09-23 12:03:50.951 D NtfySubscriberService - Desired connections: [ConnectionId(baseUrl=https://banana.example.com, topicsToSubscriptionIds={kiwi=15230982, lemon=57266583, coconut=73624064})]
1758654230952 2025-09-23 12:03:50.952 D NtfySubscriberService - New connections: []
1758654230952 2025-09-23 12:03:50.952 D NtfySubscriberService - Obsolete connections: []
1758654230952 2025-09-23 12:03:50.952 D NtfySubscriberService - Match? --> true
1758654230952 2025-09-23 12:03:50.952 D NtfySubscriberService - No action required.
1758654240787 2025-09-23 12:04:00.787 D NtfyMainActivity Entering detail view for subscription Subscription(id=15230982, baseUrl=https://banana.example.com, topic=kiwi, instant=true, mutedUntil=0, minPriority=0, autoDelete=-1, insistent=-1, lastNotificationId=FglRKvEr1XnW, icon=null, upAppId=null, upConnectorToken=null, displayName=null, dedicatedChannels=false, totalCount=3, newCount=2, lastActive=1758646336, state=CONNECTED)
1758654240810 2025-09-23 12:04:00.810 D NtfyDetailActivity Create io.heckel.ntfy.ui.DetailActivity@3395a58
1758654240826 2025-09-23 12:04:00.826 D NtfySubscriberMgr Enqueuing work to refresh subscriber service
1758654241996 2025-09-23 12:04:01.996 D NtfyLog Enabled log recording
1758654242004 2025-09-23 12:04:02.004 D NtfySubscriberMgr ServiceStartWorker: Starting foreground service with action START (work ID: da448fe7-af0d-4a1a-a7c1-a7ef076ab9f7)
1758654242005 2025-09-23 12:04:02.005 D NtfySubscriberService onStartCommand executed with startId: 5
1758654242005 2025-09-23 12:04:02.005 D NtfySubscriberService using an intent with action START
1758654242005 2025-09-23 12:04:02.005 D NtfySubscriberService Starting the foreground service task
1758654242010 2025-09-23 12:04:02.010 D NtfySubscriberService Refreshing subscriptions
1758654242010 2025-09-23 12:04:02.010 D NtfySubscriberService - Desired connections: [ConnectionId(baseUrl=https://banana.example.com, topicsToSubscriptionIds={kiwi=15230982, lemon=57266583, coconut=73624064})]
1758654242010 2025-09-23 12:04:02.010 D NtfySubscriberService - Active connections: []
1758654242010 2025-09-23 12:04:02.010 D NtfySubscriberService - New connections: [ConnectionId(baseUrl=https://banana.example.com, topicsToSubscriptionIds={kiwi=15230982, lemon=57266583, coconut=73624064})]
1758654242011 2025-09-23 12:04:02.011 D NtfySubscriberService - Obsolete connections: []
1758654242011 2025-09-23 12:04:02.011 D NtfySubscriberService - Match? --> false
1758654242012 2025-09-23 12:04:02.012 D NtfyWsConnection banana.example.com/kiwi,lemon,coconut (gid=1): New connection with global ID 1
1758654242013 2025-09-23 12:04:02.013 D NtfyWsConnection banana.example.com/kiwi,lemon,coconut (gid=1): Opening https://banana.example.com/kiwi,lemon,coconut/ws?since=none with listener ID 1 ...
1758654242115 2025-09-23 12:04:02.115 D NtfyWsConnection banana.example.com/kiwi,lemon,coconut (gid=1, lid=1): Opened connection
1758654242115 2025-09-23 12:04:02.115 D NtfyWsConnection banana.example.com/kiwi,lemon,coconut (gid=1, lid=1): Received message: {"id":"8SqG5fldfMUv","time":1758654241,"event":"open","topic":"kiwi,lemon,coconut"}

1758654242119 2025-09-23 12:04:02.119 D NtfyWsConnection banana.example.com/kiwi,lemon,coconut (gid=1, lid=1): Irrelevant or unknown message. Discarding.
1758654245479 2025-09-23 12:04:05.479 D NtfyMainActivity Create io.heckel.ntfy.ui.MainActivity@9a88edc
1758654245489 2025-09-23 12:04:05.489 D NtfyMainActivity Poll worker version matches: choosing KEEP as existing work policy
1758654245489 2025-09-23 12:04:05.489 D NtfyMainActivity Poll worker: Scheduling period work every 60 minutes
1758654245489 2025-09-23 12:04:05.489 D NtfyMainActivity ServiceStartWorker version matches: choosing KEEP as existing work policy
1758654245490 2025-09-23 12:04:05.490 D NtfyMainActivity ServiceStartWorker: Scheduling period work every 180 minutes
1758654245490 2025-09-23 12:04:05.490 D NtfyMainActivity Delete worker: Scheduling period work every 480 minutes
1758654245490 2025-09-23 12:04:05.490 D NtfyMainActivity Delete worker version matches: choosing KEEP as existing work policy
1758654245492 2025-09-23 12:04:05.492 D NtfyMainActivity Battery: ignoring optimizations = true (we want this to be true); instant subscriptions = false; remind time reached = true; banner = false
1758654245493 2025-09-23 12:04:05.493 D NtfyMainActivity hasSelfHostedSubscriptions: false, wsReconnectRemindTimeReached: true, usingWebSockets: true, canScheduleExactAlarms: true
1758654245503 2025-09-23 12:04:05.503 D NtfyMainActivity Battery: ignoring optimizations = true (we want this to be true); instant subscriptions = true; remind time reached = true; banner = false
1758654245503 2025-09-23 12:04:05.503 D NtfyMainActivity hasSelfHostedSubscriptions: true, wsReconnectRemindTimeReached: true, usingWebSockets: true, canScheduleExactAlarms: true
1758654245504 2025-09-23 12:04:05.504 D NtfySubscriberMgr Enqueuing work to refresh subscriber service
1758654245537 2025-09-23 12:04:05.537 D NtfyMainActivity Checking global and subscription-specific 'muted until' timestamp
1758654245554 2025-09-23 12:04:05.554 D NtfySubscriberMgr ServiceStartWorker: Starting foreground service with action START (work ID: 28caa566-b8fa-4916-b8af-56e1219c9618)
1758654245554 2025-09-23 12:04:05.554 D NtfySubscriberService onStartCommand executed with startId: 6
1758654245554 2025-09-23 12:04:05.554 D NtfySubscriberService using an intent with action START
1758654245556 2025-09-23 12:04:05.556 D NtfySubscriberService Refreshing subscriptions
1758654245556 2025-09-23 12:04:05.556 D NtfySubscriberService - New connections: []
1758654245556 2025-09-23 12:04:05.556 D NtfySubscriberService - Desired connections: [ConnectionId(baseUrl=https://banana.example.com, topicsToSubscriptionIds={kiwi=15230982, lemon=57266583, coconut=73624064})]
1758654245556 2025-09-23 12:04:05.556 D NtfySubscriberService - Active connections: [ConnectionId(baseUrl=https://banana.example.com, topicsToSubscriptionIds={kiwi=15230982, lemon=57266583, coconut=73624064})]
1758654245556 2025-09-23 12:04:05.556 D NtfySubscriberService - Obsolete connections: []
1758654245556 2025-09-23 12:04:05.556 D NtfySubscriberService - No action required.
1758654245556 2025-09-23 12:04:05.556 D NtfySubscriberService - Match? --> true
1758654248047 2025-09-23 12:04:08.047 D NtfySettingsActivity Create io.heckel.ntfy.ui.SettingsActivity@3db2f61
`

Originally created by @karlkec on GitHub (Sep 23, 2025). Original GitHub issue: https://github.com/binwiederhier/ntfy/issues/1448 Steps to reproduce: 1. Open ntfy android app. Subscribed topics are shown 2. The first topic shows three notifications, which is correct. Tap on that topic to view notifications. The app crashes. 3. Reopen the app and try again. Same things happen. Android has a pop-up that says the app keeps crashing. Clicking on a topic with no notifications doesn't crash the app. The ntfy server is locally-hosted, running in a docker container in a different network than the phone. The connection is over tailscale. I can connect normally to the ntfy server via tailscale on the same device using a web browser. This has been working fine since I started using it about four monghs ago. This problem just started within the last day or two. I tried reinstalling the app from F-droid. Also updated the docker images and restarted the server. Didn't help. Below is a log around the time where a crash happened, which was when I tapped to view a topic at 12:04:00. `This is a log of the ntfy Android app. The log shows up to 1,000 entries. Server URLs (aside from ntfy.sh) and topics have been replaced with fruits 🍌🥝🍋🥥🥑🍊🍎🍑. Device info: -- ntfy: 1.17.0 (fdroid) OS: 6.1.99-android14-11-gd7dac4b14270-ab12946699 Android: 15 (SDK 35) Model: bluejay Product: bluejay -- Settings: { "autoDeleteSeconds": 2592000, "autoDownloadMaxSize": 1048576, "broadcastEnabled": false, "connectionProtocol": "ws", "darkMode": -1, "defaultBaseUrl": "https://banana.example.com", "lastSharedTopics": [], "minPriority": 1, "mutedUntil": 0, "recordLogs": true } Logs -- 1758654228373 2025-09-23 12:03:48.373 D NtfyLog Log was truncated 1758654230872 2025-09-23 12:03:50.872 D NtfyMainActivity Create io.heckel.ntfy.ui.MainActivity@926e8aa 1758654230875 2025-09-23 12:03:50.875 D NtfyMainActivity Poll worker version matches: choosing KEEP as existing work policy 1758654230875 2025-09-23 12:03:50.875 D NtfyMainActivity Poll worker: Scheduling period work every 60 minutes 1758654230875 2025-09-23 12:03:50.875 D NtfyMainActivity ServiceStartWorker version matches: choosing KEEP as existing work policy 1758654230875 2025-09-23 12:03:50.875 D NtfyMainActivity ServiceStartWorker: Scheduling period work every 180 minutes 1758654230876 2025-09-23 12:03:50.876 D NtfyMainActivity Delete worker version matches: choosing KEEP as existing work policy 1758654230876 2025-09-23 12:03:50.876 D NtfyMainActivity Delete worker: Scheduling period work every 480 minutes 1758654230877 2025-09-23 12:03:50.877 D NtfyMainActivity Battery: ignoring optimizations = true (we want this to be true); instant subscriptions = false; remind time reached = true; banner = false 1758654230877 2025-09-23 12:03:50.877 D NtfyMainActivity hasSelfHostedSubscriptions: false, wsReconnectRemindTimeReached: true, usingWebSockets: true, canScheduleExactAlarms: true 1758654230891 2025-09-23 12:03:50.891 D NtfySubscriberMgr Enqueuing work to refresh subscriber service 1758654230894 2025-09-23 12:03:50.894 D NtfyMainActivity Checking global and subscription-specific 'muted until' timestamp 1758654230896 2025-09-23 12:03:50.896 D NtfyMainActivity Battery: ignoring optimizations = true (we want this to be true); instant subscriptions = true; remind time reached = true; banner = false 1758654230896 2025-09-23 12:03:50.896 D NtfyMainActivity hasSelfHostedSubscriptions: true, wsReconnectRemindTimeReached: true, usingWebSockets: true, canScheduleExactAlarms: true 1758654230930 2025-09-23 12:03:50.930 D NtfySubscriberMgr ServiceStartWorker: Starting foreground service with action START (work ID: 245f8faf-0234-4001-a133-103710c40b75) 1758654230950 2025-09-23 12:03:50.950 D NtfySubscriberService using an intent with action START 1758654230950 2025-09-23 12:03:50.950 D NtfySubscriberService onStartCommand executed with startId: 3 1758654230951 2025-09-23 12:03:50.951 D NtfySubscriberService Refreshing subscriptions 1758654230951 2025-09-23 12:03:50.951 D NtfySubscriberService - Active connections: [ConnectionId(baseUrl=https://banana.example.com, topicsToSubscriptionIds={kiwi=15230982, lemon=57266583, coconut=73624064})] 1758654230951 2025-09-23 12:03:50.951 D NtfySubscriberService - Desired connections: [ConnectionId(baseUrl=https://banana.example.com, topicsToSubscriptionIds={kiwi=15230982, lemon=57266583, coconut=73624064})] 1758654230952 2025-09-23 12:03:50.952 D NtfySubscriberService - New connections: [] 1758654230952 2025-09-23 12:03:50.952 D NtfySubscriberService - Obsolete connections: [] 1758654230952 2025-09-23 12:03:50.952 D NtfySubscriberService - Match? --> true 1758654230952 2025-09-23 12:03:50.952 D NtfySubscriberService - No action required. 1758654240787 2025-09-23 12:04:00.787 D NtfyMainActivity Entering detail view for subscription Subscription(id=15230982, baseUrl=https://banana.example.com, topic=kiwi, instant=true, mutedUntil=0, minPriority=0, autoDelete=-1, insistent=-1, lastNotificationId=FglRKvEr1XnW, icon=null, upAppId=null, upConnectorToken=null, displayName=null, dedicatedChannels=false, totalCount=3, newCount=2, lastActive=1758646336, state=CONNECTED) 1758654240810 2025-09-23 12:04:00.810 D NtfyDetailActivity Create io.heckel.ntfy.ui.DetailActivity@3395a58 1758654240826 2025-09-23 12:04:00.826 D NtfySubscriberMgr Enqueuing work to refresh subscriber service 1758654241996 2025-09-23 12:04:01.996 D NtfyLog Enabled log recording 1758654242004 2025-09-23 12:04:02.004 D NtfySubscriberMgr ServiceStartWorker: Starting foreground service with action START (work ID: da448fe7-af0d-4a1a-a7c1-a7ef076ab9f7) 1758654242005 2025-09-23 12:04:02.005 D NtfySubscriberService onStartCommand executed with startId: 5 1758654242005 2025-09-23 12:04:02.005 D NtfySubscriberService using an intent with action START 1758654242005 2025-09-23 12:04:02.005 D NtfySubscriberService Starting the foreground service task 1758654242010 2025-09-23 12:04:02.010 D NtfySubscriberService Refreshing subscriptions 1758654242010 2025-09-23 12:04:02.010 D NtfySubscriberService - Desired connections: [ConnectionId(baseUrl=https://banana.example.com, topicsToSubscriptionIds={kiwi=15230982, lemon=57266583, coconut=73624064})] 1758654242010 2025-09-23 12:04:02.010 D NtfySubscriberService - Active connections: [] 1758654242010 2025-09-23 12:04:02.010 D NtfySubscriberService - New connections: [ConnectionId(baseUrl=https://banana.example.com, topicsToSubscriptionIds={kiwi=15230982, lemon=57266583, coconut=73624064})] 1758654242011 2025-09-23 12:04:02.011 D NtfySubscriberService - Obsolete connections: [] 1758654242011 2025-09-23 12:04:02.011 D NtfySubscriberService - Match? --> false 1758654242012 2025-09-23 12:04:02.012 D NtfyWsConnection banana.example.com/kiwi,lemon,coconut (gid=1): New connection with global ID 1 1758654242013 2025-09-23 12:04:02.013 D NtfyWsConnection banana.example.com/kiwi,lemon,coconut (gid=1): Opening https://banana.example.com/kiwi,lemon,coconut/ws?since=none with listener ID 1 ... 1758654242115 2025-09-23 12:04:02.115 D NtfyWsConnection banana.example.com/kiwi,lemon,coconut (gid=1, lid=1): Opened connection 1758654242115 2025-09-23 12:04:02.115 D NtfyWsConnection banana.example.com/kiwi,lemon,coconut (gid=1, lid=1): Received message: {"id":"8SqG5fldfMUv","time":1758654241,"event":"open","topic":"kiwi,lemon,coconut"} 1758654242119 2025-09-23 12:04:02.119 D NtfyWsConnection banana.example.com/kiwi,lemon,coconut (gid=1, lid=1): Irrelevant or unknown message. Discarding. 1758654245479 2025-09-23 12:04:05.479 D NtfyMainActivity Create io.heckel.ntfy.ui.MainActivity@9a88edc 1758654245489 2025-09-23 12:04:05.489 D NtfyMainActivity Poll worker version matches: choosing KEEP as existing work policy 1758654245489 2025-09-23 12:04:05.489 D NtfyMainActivity Poll worker: Scheduling period work every 60 minutes 1758654245489 2025-09-23 12:04:05.489 D NtfyMainActivity ServiceStartWorker version matches: choosing KEEP as existing work policy 1758654245490 2025-09-23 12:04:05.490 D NtfyMainActivity ServiceStartWorker: Scheduling period work every 180 minutes 1758654245490 2025-09-23 12:04:05.490 D NtfyMainActivity Delete worker: Scheduling period work every 480 minutes 1758654245490 2025-09-23 12:04:05.490 D NtfyMainActivity Delete worker version matches: choosing KEEP as existing work policy 1758654245492 2025-09-23 12:04:05.492 D NtfyMainActivity Battery: ignoring optimizations = true (we want this to be true); instant subscriptions = false; remind time reached = true; banner = false 1758654245493 2025-09-23 12:04:05.493 D NtfyMainActivity hasSelfHostedSubscriptions: false, wsReconnectRemindTimeReached: true, usingWebSockets: true, canScheduleExactAlarms: true 1758654245503 2025-09-23 12:04:05.503 D NtfyMainActivity Battery: ignoring optimizations = true (we want this to be true); instant subscriptions = true; remind time reached = true; banner = false 1758654245503 2025-09-23 12:04:05.503 D NtfyMainActivity hasSelfHostedSubscriptions: true, wsReconnectRemindTimeReached: true, usingWebSockets: true, canScheduleExactAlarms: true 1758654245504 2025-09-23 12:04:05.504 D NtfySubscriberMgr Enqueuing work to refresh subscriber service 1758654245537 2025-09-23 12:04:05.537 D NtfyMainActivity Checking global and subscription-specific 'muted until' timestamp 1758654245554 2025-09-23 12:04:05.554 D NtfySubscriberMgr ServiceStartWorker: Starting foreground service with action START (work ID: 28caa566-b8fa-4916-b8af-56e1219c9618) 1758654245554 2025-09-23 12:04:05.554 D NtfySubscriberService onStartCommand executed with startId: 6 1758654245554 2025-09-23 12:04:05.554 D NtfySubscriberService using an intent with action START 1758654245556 2025-09-23 12:04:05.556 D NtfySubscriberService Refreshing subscriptions 1758654245556 2025-09-23 12:04:05.556 D NtfySubscriberService - New connections: [] 1758654245556 2025-09-23 12:04:05.556 D NtfySubscriberService - Desired connections: [ConnectionId(baseUrl=https://banana.example.com, topicsToSubscriptionIds={kiwi=15230982, lemon=57266583, coconut=73624064})] 1758654245556 2025-09-23 12:04:05.556 D NtfySubscriberService - Active connections: [ConnectionId(baseUrl=https://banana.example.com, topicsToSubscriptionIds={kiwi=15230982, lemon=57266583, coconut=73624064})] 1758654245556 2025-09-23 12:04:05.556 D NtfySubscriberService - Obsolete connections: [] 1758654245556 2025-09-23 12:04:05.556 D NtfySubscriberService - No action required. 1758654245556 2025-09-23 12:04:05.556 D NtfySubscriberService - Match? --> true 1758654248047 2025-09-23 12:04:08.047 D NtfySettingsActivity Create io.heckel.ntfy.ui.SettingsActivity@3db2f61 `
BreizhHardware 2026-05-07 00:29:37 +02:00
  • closed this issue
  • added the
    🪲 bug
    label
Author
Owner

@binwiederhier commented on GitHub (Sep 23, 2025):

Please update to 1.17.8.

<!-- gh-comment-id:3325256333 --> @binwiederhier commented on GitHub (Sep 23, 2025): Please update to 1.17.8.
Author
Owner

@binwiederhier commented on GitHub (Sep 23, 2025):

See https://github.com/binwiederhier/ntfy-android/issues/127

<!-- gh-comment-id:3325258044 --> @binwiederhier commented on GitHub (Sep 23, 2025): See https://github.com/binwiederhier/ntfy-android/issues/127
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/ntfy#1019
No description provided.