Comments (21)
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.
from cinny.
I would like to see PWA support, as then I could use Cinny on my phone like a native app.
from cinny.
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/
from cinny.
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.
from cinny.
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
from cinny.
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 )
from cinny.
So, I really wanted to use cinny on mobile with true reliable background notification support, so i looked into fcm webpush and hacked some crude notifications into the app.
However, I have never touched javascript or anything web related before so it's really messy at the moment and very much work in progress.
Maybe I'll do a PR when I have the time to clean it up and do it properly.
Just putting it out there if someone else is working on this :)
from cinny.
This is a low hanging fruit if we just want to enable installation, basically just add a web manifest, right?
from cinny.
I think this issue confuses PWA with just being responsive.
from cinny.
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?
from cinny.
This might be interesting regarding this issue:
https://developer.mozilla.org/en-US/docs/Web/API/Badging_API
from cinny.
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.
from cinny.
@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
from cinny.
By its description it doesn't sound like there's an "instead" due to its severe limitations.
from cinny.
See also #867 for non web
from cinny.
Now that we're using Vite, we can use Vite PWA. https://vite-pwa-org.netlify.app/frameworks/react.html
from cinny.
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
from cinny.
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
from cinny.
from cinny.
I would love to have proper iOS notification support, that seems to be the only thing I'm missing
from cinny.
@MulverineX that sounds right. Still easy just to enable installation, imo eheh
from cinny.
Related Issues (20)
- Persist appearance settings
- More control over donated money HOT 1
- Improve "following the conversation" message
- Unable to set sound notification on mentions only in rooms
- cinny doesnt go further than "Heating up" HOT 3
- Window shows "Looks like you have a lot of stuff to heat up!" HOT 9
- Add support on playing m4a files without having to download them. HOT 1
- Replying to a message losses text cursor focus HOT 1
- Jump-to-Unread and Mark-as-Read buttons blurred HOT 2
- Maximum call stack size exceeded in getNeighbouringTimeline HOT 1
- Support for MSC3916: Authenticated Media
- send files after upload
- After updating to 4.0 chats can no longer be navigated with PgUp / PgDown HOT 2
- After upgrade to 4.0, messages predating the update can't be marked as read HOT 3
- Failed to load. HOT 3
- Can't install on a subdir anymore HOT 6
- Cinny 4.0.3 in mobile layout does not show links back to Home HOT 4
- Spam Invite Prevention Switch HOT 2
- regression - 4.0 update broke space-restrictive room joinability HOT 9
- Can no longer access /home after upgrading to v4 HOT 11
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cinny.