gio-plugins icon indicating copy to clipboard operation
gio-plugins copied to clipboard

Push-Notifications

Open inkeliz opened this issue 3 years ago • 3 comments

Why that plugin should be added? Most apps requires the user to be up-to-date using notifications, including notifications while the app is closed.

What features this plugin should have and how it should work? It should be able to receive notifications while the app is open and closed. To make the plugin simple, that should only support basic text notification. If possible, that should also handle custom connections/protocol.

What alternatives you've considered? None.

Is this plugin implementable on all OSes (Android, iOS, macOS, WASM, Windows...)? Unknown.

Did you known any particular limitation for specific OS? Yes. On Windows it may requires UWP app.

inkeliz avatar Dec 19 '22 06:12 inkeliz

Been using this :

https://go-app.dev/notifications

it’s golang and wasm

gedw99 avatar Dec 20 '22 12:12 gedw99

I'll take a look, if that works, then only iOS/Android/Windows need to be implemented. 😅

inkeliz avatar Dec 20 '22 15:12 inkeliz

Also https://github.com/pushpad/pushpad-go might be useful.

gedw99 avatar Dec 27 '22 17:12 gedw99

I think now that this is a good basis:

https://github.com/binwiederhier/ntfy

Its got a well maintainer golang backend that we can dovetail with.

They use React for GUI. i think a GIOUI gui version should be possible.

Technical notes:

URLS for playing with the React version: My testing has shown me it works well. You can do A2HS on ALL devices and it works well. Still a few rough edges but they are progressing quickly on that too.

https://ntfy.sh/app

https://staging.ntfy.sh/app


GIOUI Notify package: https://github.com/gioui/gio-x/tree/main/notify

Has IOS, Android, Windows and MAC Needs PWA ( JS ) GIOUI Notify example: https://github.com/gioui/gio-example/tree/main/notify

Has Mac and IOS.

Needs PWA, Windows, Android Scaffold.

It already pulls in the GIOUI standard Component: https://github.com/gioui/gio-example/tree/main/component.


The GIOUI JS compiler needs some slight additions for the Service worker aspects: https://github.com/gioui/gio-cmd/blob/main/gogio/jsbuild.go

The Services worker code is here: https://github.com/maxence-charriere/go-app

Its generator for the JS Service worker is here: https://github.com/maxence-charriere/go-app/tree/master/pkg/app/gen

The PWA notifications doc is here: https://github.com/maxence-charriere/go-app/blob/master/docs/web/documents/notifications-push.md

gedw99 avatar Jul 06 '23 15:07 gedw99