Unified Push not working with Matrix, Molly or Forkgram

Hi!

I am quite desperate to get Unified Push working. In fact I should say “working again”, as it did provide me with notifications previously, with momentary problems with one or the other application.

I have an FP3 with the latest official /e/OS version 4.1.1 installed (Android 15). I have been using and would like to use ntfy for SchildiChat (Matrix), MollyFOSS (Signal fork) and Forkgram (Telegram fork).

I have looked for similar topics here and elsewhere and have tried to fix configurations and apply workarounds in one case or the other, but recently none of the aplications is working and I have no idea what to do anymore. I do not know if the troubles relate to updates of any of the applications in question, the ntfy implementation in /e/OS or a combination thereof. In any case, I did not observe that the push notifications stopped working all together with some system update.

As for Molly, there are no notifications with WebSocket either. As for SchildiChat, Background synchronization does not work either.

It would be very kind, if you could help me with the troubleshooting. Any Ideas?

As for workarounds, I have tried:

  • I installed Activity Manager to get access to the configuration of the build in ntfy, in order to change the default server to https://ntfy.adminforge.de/, to no avail. For now it is https://foundation.e.ntfy

  • As for Forkgram, the UnifiedPush PUT to POST gateway is https://p2p.belloworld.it

  • Although I would like to use the build-in Unified Push, I tried Sunup. It did not work at all.

I did find information about other people struggling with Molly or Matrix notifications, or issues with the Forkgram code, but there does not seem to be any conclusive analysis. Here are some links for reference:

1 Like

I can’t speak about the other apps but Molly (currently v8.19.2-3 from F-Droid) should work very well. I use the https://mollysocket.yourdevice.ch push server with the /e/ internal ntfy. Also my other push related app (Foss Warn) works with the /e/ internal ntfy.

2 Likes

Thank you. I changed the MollySocket server as indicated but I get an error message:

“UnifiedPush

Your push server was refused by the MollySocket server. Please check the permitted endpoints in the server configuration.”

I got the same error massage with the previously configured server, which was https://molly.adminforge.de

Mollysocket acts as linked device
Doublecheck (and clear if necessary) linked devices of molly each time in between when you tweak the config.

I only use molly with integrated ntfy and the yourdevice-mollysocket as described by @irrlicht

What I tried now in the configuration:

Switch to WebSocket in Notifications.

Unlink the MollySocket in Linked devices.

Switch to UnifiedPush again and scan the code.

→I still get the same error message.

I would suggest you to clean up the cache of Molly, perhaps also of ntfy. And when this doesn’t help clear the entire storage of both apps. And then configure Molly again to use UP over a Mollysocket server. It should indeed work.

When several UP related apps do not work then rather ntfy will be the problem.

If you really don’t get it working try Sunup (from F-Droid) as another push distributor, just for testing. Works fine with Molly and has a user interface for control.

1 Like

So, I cleared the cache of Molly and ntfy and it did not resolve the problem. I cleared also the storage of Molly and ntfy and it did not make the push notifications work either, but the error message of the MollySocket did not appear.

However, as I had to set up Molly again in the process, it mentioned that activating the database encryption would deactivate the notifications, which was not the case before. Previously, I did receive push notifications while Molly was locked, telling me “You may have a new message”!

After confirming that I did not get notifications indeed, I deactivated the database encryption and the push notification came through.

As it did work before, I guess that is something that was changed in some Molly version. As the lock is actually a nice Molly feature, it would be a pity, if they modified its compability with the push service.

In conclusion, this part of my problem can be considered somewhat solved (I want the lock!) and it suggests that the /e/OS ntfy does still work.

Sounds like your’re still on Websockets (or a part of Molly thinks you’re still on Websockets). With a locked database and Websockets you will not receive notifications. On UP locking doesn’t matter because notifications come already from ntfy in background, that’s the great advantage.

I use also the lock continuously for more than a year (not the self locking feature after a period but after each reboot). Worked all the time. Can’t confirm that something should have changed there, my Molly had never a malfunction with that.

The only issue was that I had to change the Mollysocket server some months ago because of the server (!) had a problem - this was the true reason of many threads here and elsewhere, Molly doesn’t notify anymore …

2 Likes

Thank you very much for the explanation!

However, it does not work for me. I tried it out: I activated the lock and the push notifications stopped arriving.

Before that I cleaned the caches. Also, I installed UP-Example, which seemed to work unreliably. I got the WebPush test notification after considerable delay. Could Molly be having delays as well?

On which push server? The one I mentioned above has no delays, I get the messages in seconds, I tried it last week, it takes always a remarkable time but never longer than 10s.

And you mean, without the lock it would work correctly?

I would still suggest you to try the Sunup app instead of ntfy, just to find the responsible part of the chain. You must then tell Molly that it should use Sunup instead of ntfy. When this works stable your ntfy has a problem.

Also, with respect to SchildiChat and Forkgram, I found some issues on github.

The SchildiChat problem seems to be upstream:

As for Forkgram, there is this bug:

The https://mollysocket.yourdevice.ch push server with the /e/ internal ntfy.

I will try Sunup again and test it with Molly specifically. Let’s see.

Well, Sunup does notify about a message: “You may have a new message”. However, the led was not blinking. I tried it twice with the same result. First, locking Molly manually before turning off the display. Then, just turning off the display, which locks Molly automatically.

At least I can now know if there are messages waiting for me behind the Molly lock.

Yeah, but the reason why ntfy doesn’t do the job remains unclear. Not good.

Do you still have a second ntfy installed, the one from F-Droid? This causes mysterious problems because they both have the same name.

I never had a second ntfy installed apart from Sunup. Now I have it again besides the eOS system ntfy.

I would suggest to (temporarily) switch back to ntfy.adminforge.de. Unfortunately, push.murena.com currently seems to have performance issues, i.e., probably too many UP users, so that you may get a 502 error if you open https://push.murena.com (or one of your push channels, as displayed by ntfy). I have brought up the problem in the weekly thread and pinged @Manoj . Additionally, I have also contacted Murena support (I pay for a Murena subscription, so why not?).

mollysocket.yourdevice.ch also works with ntfy.adminforge.de.

This may eliminate one error source, but my impression is that there is a second problem in your case. I hope that a solution can be found :crossed_fingers:

EDIT: While I am not really happy about the frequent 502 errors, I also have to emphasize that the native support of UnifiedPush by /e/OS is something positive for me: Without it, I would probably never have tried Molly or other UP apps. Moreover, we see the advantage of the open UP protocol and its decentral nature: We can seamlessly switch to another provider if one has temporary problems.

2 Likes

Hello

Could you please explain exactly how to change the push server?
I’m trying to convince my family to switch to a different instant messaging app, but the frequent lack of notifications is a major obstacle to making the switch.

I installed Activity Manager | F-Droid - Dépôt d'applications pour Android libres et open source , I hope it’s the good one.

Hello @CedricD,
Let’s see :smiley:

I use Activity Launcher, but Activity Manager also works. I have installed it and will try to explain what to do:

  • Launch Activity Manager.
  • Search for “ntfy”, the app foundation.e.ntfy should appear.
  • Tap on it. A list of the activities appears.
  • Tap on “MainActivity - io.heckel.ntfy.ui.MainActivity” to open the ntfy UI, or directly create a shortcut.
    • For a shortcut, tap on the three vertical dots (“Kebab menu”) right to the activity.
    • Select “Create shortcut”.
    • Activity Manager shows possible options - you do not need to change any of them.
    • Tap on the bookmark icon in the upper right corner.
    • A shortcut/app icon should be added to your launcher homescreen (this should also work with the /e/OS launcher, i.e., BlissLauncher).
  • After having launched the MainActivity, you should see all subscriptions, including the UnifiedPush ones.
  • Tap on the “Kebab menu” in the upper right corner and choose “Settings”.
  • In Settings, scroll down to “Default server”.
  • Tap on it and enter e.g. https://ntfy.adminforge.de or https://ntfy.yourdevice.ch, or any other stable & public ntfy server.
    • Make sure not to add a trailing slash / at the end, e.g. do not enter https://ntfy.adminforge.de/. Some apps may have problems with it.
  • Confirm with “OK”.
  • Return to MainActivity with the arrow in the upper left corner.
  • :warning: Your UnifiedPush apps will have to re-register. However, this is usually quite easy:
    • Open a UP app.
    • Go to its UP configuration (e.g. in Molly: Settings > Notifications > Scroll down to “Push notifications” > Select “Configure UnifiedPush”).
    • In the UP configuration, select “Distributor app”, where “ntfy” should already be chosen.
    • A list of your UP distributors should appear (it probably just contains “ntfy”).
    • Tap on it → The app should re-register, now with your newly selected UP server.
    • Repeat for all UP apps.
    • See also ntfy - From your phone - UnifiedPush
  • When all UP apps have re-registered, launch the MainActivity again to verify that all apps now use the new UP server. They have the app name and “(UnifiedPush)” next to it.

:warning: You may notice that the MainActivity also has several subscribed topics, i.e., notification channels, by Murena with the URL push.murena.com/… . These are not UP subscriptions. When updating, ntfy may recreate them with your new server URL, but the old ones are still there.
I do not know whether these notification channels (with push.murena.com or with the new server URL) still work - you may ignore them or delete the ones with the new server URL.

And be also aware that you have to disable battery optimization for UP apps if new push notifications should instantly be displayed by them.

2 Likes

Thanks a lot, that’s very clear

1 Like