From 39936a95f87e388c30b030f046706ad84bd77bc8 Mon Sep 17 00:00:00 2001 From: Pixelguin <11445611+Pixelguin@users.noreply.github.com> Date: Mon, 5 Jan 2026 08:11:20 -0800 Subject: [PATCH 1/3] Add troubleshooting steps for "Reconnecting" error on mobile --- docs/troubleshooting.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/docs/troubleshooting.md b/docs/troubleshooting.md index 3d090306..e093647e 100644 --- a/docs/troubleshooting.md +++ b/docs/troubleshooting.md @@ -129,3 +129,14 @@ keyboard. ## iOS app Sorry, there is no way to debug or get the logs from the iOS app (yet), outside of running the app in Xcode. + +## Other + +### "Reconnecting..." / Late notifications on mobile (self-hosted) + +If all of your topics are showing as "Reconnecting" and notifications are taking a long time (30+ minutes) to come in, or if you're only getting new pushes with a manual refresh, double-check your configuration: + +* If ntfy is behind a reverse proxy, make sure `behind_proxy` is enabled. +* If ntfy is behind Nginx, make sure WebSockets are enabled. +* Make sure you have granted permission to access all of your topics, either to a logged-in user account or to `everyone`. All subscribed topics are joined into a single WebSocket/JSON, so a single topic that receives `403 Forbidden` will prevent the entire request from going through. + * In particular, double-check that your user has permission to read `up*` if you are using UnifiedPush. From f356309f705db10977a1f4f222c4183c5a05a42c Mon Sep 17 00:00:00 2001 From: Pixelguin <11445611+Pixelguin@users.noreply.github.com> Date: Mon, 5 Jan 2026 08:13:53 -0800 Subject: [PATCH 2/3] Clarify up* r/w permissions --- docs/troubleshooting.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/troubleshooting.md b/docs/troubleshooting.md index e093647e..4b45a939 100644 --- a/docs/troubleshooting.md +++ b/docs/troubleshooting.md @@ -139,4 +139,4 @@ If all of your topics are showing as "Reconnecting" and notifications are taking * If ntfy is behind a reverse proxy, make sure `behind_proxy` is enabled. * If ntfy is behind Nginx, make sure WebSockets are enabled. * Make sure you have granted permission to access all of your topics, either to a logged-in user account or to `everyone`. All subscribed topics are joined into a single WebSocket/JSON, so a single topic that receives `403 Forbidden` will prevent the entire request from going through. - * In particular, double-check that your user has permission to read `up*` if you are using UnifiedPush. + * In particular, double-check that `everyone` has permission to write to `up*` and your user has permission to read `up*` if you are using UnifiedPush. From 1c32ee76130e358403de838898daa9f31e4863e9 Mon Sep 17 00:00:00 2001 From: Pixelguin <11445611+Pixelguin@users.noreply.github.com> Date: Mon, 5 Jan 2026 08:36:56 -0800 Subject: [PATCH 3/3] Clarify wording --- docs/troubleshooting.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/docs/troubleshooting.md b/docs/troubleshooting.md index 4b45a939..7cdd4cda 100644 --- a/docs/troubleshooting.md +++ b/docs/troubleshooting.md @@ -136,7 +136,8 @@ Sorry, there is no way to debug or get the logs from the iOS app (yet), outside If all of your topics are showing as "Reconnecting" and notifications are taking a long time (30+ minutes) to come in, or if you're only getting new pushes with a manual refresh, double-check your configuration: -* If ntfy is behind a reverse proxy, make sure `behind_proxy` is enabled. -* If ntfy is behind Nginx, make sure WebSockets are enabled. -* Make sure you have granted permission to access all of your topics, either to a logged-in user account or to `everyone`. All subscribed topics are joined into a single WebSocket/JSON, so a single topic that receives `403 Forbidden` will prevent the entire request from going through. +* If ntfy is behind a reverse proxy (such as Nginx): + * Make sure `behind_proxy` is enabled in ntfy's config. + * Make sure WebSockets are enabled in the reverse proxy config. +* Make sure you have granted permission to access all of your topics, either to a logged-in user account or to `everyone`. All subscribed topics are joined into a single WebSocket/JSON request, so a single topic that receives `403 Forbidden` will prevent the entire request from going through. * In particular, double-check that `everyone` has permission to write to `up*` and your user has permission to read `up*` if you are using UnifiedPush.