Open deadmeu opened 4 months ago
Looking through issues further it seems like this might be a duplicate of #83 but I thought we already had a local server?
I'm not sure Ferdium would be useful in this case. All Ferdium does is render web pages on chromium tabs. If there's no internet connectivity, even if we solve this ticket, and services come back up, how is that going to solve the issue that each service will show the 'no internet connection' default page from chromium? I'm not sure if we need to spend time on fixing this. @deadmeu : Please add more information on how this issue (if resolved) will unblock a user from using Ferdium?
I'm not sure Ferdium would be useful in this case. All Ferdium does is render web pages on chromium tabs. If there's no internet connectivity, even if we solve this ticket, and services come back up, how is that going to solve the issue that each service will show the 'no internet connection' default page from chromium? I'm not sure if we need to spend time on fixing this. @deadmeu : Please add more information on how this issue (if resolved) will unblock a user from using Ferdium?
I think there are multiple issues here:
Hello @deadmeu
Having read your points I still don't quite understand what you would expect to happen when you don't have internet connection.
I agree that maybe UI wise it could be more informative (something like, please connect back to the internet to use Ferdium). Also, If the "try again" button is not working properly (or even the logic behind it) then it is a bug indeed that we should take a look at.
Nevertheless, I don't think that given the fact that Ferdium is used to render websites, it would be useful to allow the user to change anything when there isn't internet connection. The question being: why would you want to add/remove services or even edit configurations inside Ferdium if you can't connect to the internet to make use of Ferdium (services)?
From a developer point of view (and knowing the code as it is) I would argue if there is any benefit on allowing the user to change anything settings/services related if there is no internet connection, give the cost it would take to code and refactor everything. I would simply add a screen overlay that won't enable any app interaction as long as the user doesn't connect to the internet. That would be my suggestion, but let me know your thoughts on this @vraravam and @deadmeu
Hi @SpecialAro basically, I would expect the same thing that happens when you try to use a web browser without an internet connection. When you attempt to visit a website, some sort of "Cannot connect to site" page could be displayed. Everything else in the browser is still accessible and configurable, and as soon as connectivity is restored, a simple page refresh reloads the page just fine, without having to close/reopen the entire browser.
I'm not familiar with the codebase, but I don't use any account features of Ferdium, I want everything to be local and offline as much as possible, so the fact that everything is completely disabled when just my internet connectivity is unavailable seems strange to me. All the data should still be on my system, it doesn't bother me that the services won't load properly, but at least I will be able to tell the difference between "my services aren't loading because I have no internet connection" vs "all of my services are missing and it looks like all of my configuration has been deleted" (the latter being how I have previously reacted to seeing Ferdium fail to load anything - I have even started trying to add the services back again - these days I know it's just a connectivity issue).
When Ferdium is in use, and the internet connection is lost, Ferdium does not "shut down" and hide everything and block access to all settings. Instead, the state is preserved and everything can still be used (and some web pages will even detect the lack of network access and will display some sort of "cannot connect" message or banner, which I think would be another feature that Ferdium should display in this scenario). Many of these websites are actually PWAs these days, and should even work without internet access, so that is another reason why Ferdium should try a best-effort approach towards loading services even with network connectivity problems (#1826).
Thank you for your reply!
The fact that Ferdium doesn't load any service information if you have no internet connection on startup is highly related on how Ferdium works locally.
Even though you are using Ferdium locally, what you are doing in the background is simply running the ferdium-server (a minor version of it) in your system and connecting the Ferdium client to it. At startup you need internet connection to allow the server to download information from the web (on the top of my head some of them are: the list of featured services, the available services to 'install', the icons on the services, etc). If you don't have internet connection, the request from the client to the local server (that is made once at startup) fails because the server cannot retrive such informations and therefore you are not able to use the app.
I can understand that using Ferdium locally you expect to be able to change settings whilst being offline but, and taking into account the use case of Ferdium (to access web apps whilst online - 99% of the time), and that plenty other things rely on internet connection (e.g. adding recipes needs you to download information from GitHub) I dont see that there is a cost-benefit worth taking on implementing this feature. Implementing such feature would need a significant re-write of the codebase just so that a user is able to change some settings on their side.
Also, and looking at the users that have in fact connection to ferdium-server (or self hosted options), this would imply that we would necessarily need a way to handle sync with the server - something that we don't support as of now.
Nevertheless, we are always open to new contributions on any feature that can positively impact Ferdium, so you or someone are welcomed to contribute 😁
Though, I still think that this issue is important and we should at least prevent users from trying to access the app with an overlay that asks them to connect to the internet (such as several mobile apps do)
I still haven't commented on the PWAs issue, but even though I think it should be implemented (and maybe if so, in the future so should this issue be addressed fully), I think that we are lacking more pressing matters unfortunately...
Adonisjs dependency isn't still updated at the client side (which is a major dependency we rely on), several users are reporting issues regarding OAuth in different services, chrome extensions are also something several people request....
Realistically speaking, unless someone is willing to step forward and contributes to PWA, I don't think it would be a priority for now, unfortunately.
But then again, I'm just one of the devs and maintainers, others might thing otherwise! 😁
Avoid duplicates
Ferdium Version
6.7.4
What Operating System are you using?
Other Linux
Operating System Version
Archlinux
What arch are you using?
x64
Last Known Working Ferdium version
No response
Expected Behavior
Using a local account, services should never fail to be loaded even when there is no network connectivity.
Actual Behavior
Services do not load on start up and will never load until you manually either restart Ferdium or refresh with ctrl+shift+r.
Steps to reproduce
Debug link
No response
Screenshots
No response
Additional information
No response