Closed Ezwen closed 2 years ago
Maybe it could be a PWA. I'm not familiar how to make an app into a PWA, but I found this: https://developer.mozilla.org/en-US/docs/Web/Progressive_web_apps/Installable_PWAs
Good point, PWA support would make it possible to "install" the app using Chrome or Brave, which would already be nice! However, despite the documentation that you linked, Mozilla is dropping support for PWA entirely, so this would not be possible using Firefox.
I would still prefer a proper dedicated (eg. electron-based) client for Cinny, similar to the Discord or Element desktop clients, but your idea is interesting.
Or use https://tauri.studio/en/ instead of electron.
Related issue #17 , isn't ?
PWA should be preferred for everything that doesn’t need Node server APIs! Running Node is hugely inefficient for a simple chat app. In addition a PWA offers:
I would not recommend using Tauri for Cinny as this would mean that on Linux there would be no WebRTC support (because WebKitGTK currently does not support it) which would be pretty bad for voice/video calling.
A way to potentially fix that would be to have WebRTC reimplemented in the backend but this would add a totally different code path for voice/video calling which probably is not wanted.
Is your feature request related to a problem? Please describe.
Cinny is only available as a pure web application that must run in a browser, and cannot be started in a "desktop" fashion like other messaging desktop apps.
Describe the solution you'd like
A desktop version of Cinny, which can be installed locally and run outside a traditional browser. For instance, by packaging Cinny with Electron, to mimic what element-desktop is doing.
Running in such a "desktop mode" would also mean that Cinny would be loaded/run locally, which is a nice bonus.
Describe alternatives you've considered
The provided docker image is really nice, and does provide a way to run Cinny locally with little effort. But it does not answer the original problem, namely that Cinny has to be used in a browser, and not in its own separate window.