cinny icon indicating copy to clipboard operation
cinny copied to clipboard

Feature Request: PWA

Open farribeiro opened this issue 2 years ago • 21 comments

https://web.dev/progressive-web-apps/

farribeiro avatar Jul 30 '21 02:07 farribeiro

Related issue #53

farribeiro avatar Aug 15 '21 11:08 farribeiro

I think this issue confuses PWA with just being responsive.

vwkd avatar Oct 07 '21 09:10 vwkd

I think this issue confuses PWA with just being responsive.

I think so PWA and responsive design are two different things....btw, what is the progress on any of this topic?

frostedkitsune avatar Oct 26 '21 19:10 frostedkitsune

This might be interesting regarding this issue: https://developer.mozilla.org/en-US/docs/Web/API/Badging_API

C0ffeeCode avatar Mar 21 '22 12:03 C0ffeeCode

PWA will allow Cinny to be installable on desktop or mobile and make it feel like a native app. Other things can be done like full offline support so it loads fully from the cache.

This might help. https://create-react-app.dev/docs/making-a-progressive-web-app/

RihanArfan avatar May 05 '22 01:05 RihanArfan

I would like to see PWA support, as then I could use Cinny on my phone like a native app.

reesericci avatar Jun 15 '22 03:06 reesericci

I assume we need a PWA service worker to get true push notification support on mobile besides caching, so this would be a killer feature.

Iruwen avatar Jul 12 '22 08:07 Iruwen

I had been working on implementing background notifications using service worker, but it requires changes to how Cinny saves the token since localstorage, where it lives today, is not available in serviceworkers, so it would have to be migrated to indexeddb. If someone is interested to take it over: https://github.com/c0ffeecode/cinny/tree/background-notifications

It takes advantage of push gateways and ntfy, so it can listen for notifications using WebSockets efficiently.

As for the Tauri build, it propably would be better implement background notifications in rust.

C0ffeeCode avatar Jul 12 '22 14:07 C0ffeeCode

@C0ffeeCode it sounds you do not use VAPID WebPush Notification for this insteat: https://support.mozilla.org/en-US/kb/push-notifications-firefox

Like hydrogen-web it does: https://github.com/vector-im/hydrogen-web

genofire avatar Aug 04 '22 22:08 genofire

By its description it doesn't sound like there's an "instead" due to its severe limitations.

Iruwen avatar Aug 05 '22 07:08 Iruwen

Looks like it'll become much more useful "soon": https://webkit.org/blog/12945/meet-web-push/ https://firt.dev/ios-15.4b#web-push-notifications-on-ios%EF%BC%8Dwith-a-catch

rltas avatar Aug 31 '22 18:08 rltas

See also #867 for non web

genofire avatar Nov 19 '22 14:11 genofire

Now that we're using Vite, we can use Vite PWA. https://vite-pwa-org.netlify.app/frameworks/react.html

RihanArfan avatar Mar 22 '23 10:03 RihanArfan

web notifs nearly work today on iOS Safari 16.4, except there seems to be a bug in the notif system, where it doesn't think it does have perms?

I have #1231 up to fix the rendering issue, though since there's not a service worker, that PR doesn't fix iOS notifications

jasikpark avatar May 06 '23 18:05 jasikpark

https://elk.zone is a good example of a PWA w/ web push on iOS: https://github.com/elk-zone/elk/blob/e9740fe693cfec761cce69d47d25dc98825d0ce2/service-worker/web-push-notifications.ts#L4

jasikpark avatar May 07 '23 20:05 jasikpark

https://developer.apple.com/documentation/usernotifications/sending_web_push_notifications_in_web_apps_safari_and_other_browsers

jasikpark avatar May 07 '23 20:05 jasikpark

I would love to have proper iOS notification support, that seems to be the only thing I'm missing

NovaAndrom3da avatar Nov 24 '23 00:11 NovaAndrom3da

This is a low hanging fruit if we just want to enable installation, basically just add a web manifest, right?

filipesmedeiros avatar Nov 26 '23 13:11 filipesmedeiros

Features like offline support & web push integration would be great, but yeah just getting the manifest and a dummy service worker in so installs are possible would be great. ( @filipesmedeiros simply adding the manifest isn't enough, browsers will refuse to install the PWA if there is no service worker present )

MulverineX avatar Dec 08 '23 18:12 MulverineX

@MulverineX that sounds right. Still easy just to enable installation, imo eheh

filipesmedeiros avatar Dec 09 '23 14:12 filipesmedeiros

Features like offline support & web push integration would be great, but yeah just getting the manifest and a dummy service worker in so installs are possible would be great. ( @filipesmedeiros simply adding the manifest isn't enough, browsers will refuse to install the PWA if there is no service worker present )

Now that we're using Vite, we can use Vite PWA. https://vite-pwa-org.netlify.app/frameworks/react.html

Vite PWA can take care of all of this for us. I'm not familiar with React, otherwise I'd submit a PR to implement it.

RihanArfan avatar Dec 09 '23 16:12 RihanArfan