alexjustesen / speedtest-tracker

Speedtest Tracker is a self-hosted application that monitors the performance and uptime of your internet connection.
https://speedtest-tracker.dev/
MIT License
2.92k stars 107 forks source link

[Research] Look into simplifying notification channels #1620

Open alexjustesen opened 4 months ago

alexjustesen commented 4 months ago

@alexjustesen I do wanted to have a look to simplify the notifications as some are similar. And maybe optimize the page as well. Let me know what you think ☺️

Originally posted by @svenvg93 in https://github.com/alexjustesen/speedtest-tracker/issues/1578#issuecomment-2243392812

Extracting our conversation to its own issue...

Yes, I want to go through and looks for optimization opportunities as well. We have a bunch of webhook based notifications that could probably be consolidated and where possible I want to do it "the framework way".

Laravel provides out of the box support for various notification channels and there are even more maintained 3rd party channels that could potentially make the code base simpler.

svenvg93 commented 4 months ago

When I was looking for ntfy integration I did found a third party one https://github.com/wijourdil/ntfy-notification-channel. Didn’t use it as I wasn’t sure if third party is the way you wanted it. As it makes it dependent of others to keep things working

alexjustesen commented 4 months ago

I'm ok with 3rd party deps as long as the follow/hook right into the framework notification pattern and are actively maintained.

"Actively maintained" means updates within the last year.

svenvg93 commented 4 months ago

This might be outside of my capabilties 😉 I will leave this up to the more skilled developers to do it right ;)

alexjustesen commented 4 months ago

I'll take a whack at it at some point, I've been super busy with non-code stuff lately so it's been tough to find time to work on speedtest tracker.

svenvg93 commented 3 months ago

Otherway might be to integrate Apprise https://github.com/caronc/apprise . As it hooks in to basically every service out there. No need to maintain it yourself.

bwirt commented 2 months ago

Otherway might be to integrate Apprise https://github.com/caronc/apprise . As it hooks in to basically every service out there. No need to maintain it yourself.

+1 for Apprise

svenvg93 commented 2 months ago

Otherway might be to integrate Apprise https://github.com/caronc/apprise . As it hooks in to basically every service out there. No need to maintain it yourself.

+1 for Apprise

Not sure Apprise will work after more investigations, there is no Php libary to use, and requiring the users to run a additional app for the notifications seems the wrong way to do it. Installing it within the container using pip and calling it with system() seems a bit weird to do as there are php frameworks for most services.

bwirt commented 2 months ago

Doesn’t need to be a requirement but is a nice option if feasible.

I’m already running an Apprise container which basically functions as a notification proxy so I only ever have to configure email, Signal, telegram, whatever else just one time in one place.

There may be a way to do this with the webhook already, though it’s not clear how to use this or set POST body, etc. Will explore when I have time.