Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WiFiUnavailableError when using RethinkDNS #3895

Open
vesahc opened this issue Oct 31, 2024 · 5 comments
Open

WiFiUnavailableError when using RethinkDNS #3895

vesahc opened this issue Oct 31, 2024 · 5 comments
Labels
- photos Relates to the Ente Photos --mobile Platform is mobile

Comments

@vesahc
Copy link

vesahc commented Oct 31, 2024

Description

Ente will not connect with Rethink enabled, but connects fine with it disabled. I've tried whitelisting every DNS and IP used by Ente without success. There's been no other updates made to the Rethink config in months and Ente is the only app I'm noticing issues with.

I'm not sure if this started happening with the most recent release, or the upgrade to Android 15.

Version

v0.9.53

What product are you using?

Ente Photos

What platform are you using?

Mobile - Android

@vesahc vesahc added the triage label Oct 31, 2024
@mngshm
Copy link
Member

mngshm commented Oct 31, 2024

Hey, it seems that RethinkDNS is somehow blocking ente. Have you self hosted Ente ? If so, you should check if the ports for museum (ente's server) are whitelisted.

Also, please show what is the error you're seeing in the ente's logs. can you also please share any steps to try replicate the issue, I have installed RethinkDNS on my device (and I'm running a self hosted ente instance).

@vesahc
Copy link
Author

vesahc commented Oct 31, 2024

Hi @mngshm, thanks for your response.

No, I haven't self hosted. I've tried allowing every IP/DNS address that Ente uses in Rethink.

I've also tried downgrading to an older Ente version that previously worked and am experiencing the exact same issue.

On a fresh install, everything works as expected. I can log into the account, it syncs fine and pulls everything from the server. The issues seem to start when it gets to uploading. The status bar changes to "Waiting for WiFi..." and never changes from this point unless it syncs items in. I can add a photo in the desktop app, the mobile app will change to syncing briefly to pull the photo then switch back to "Waiting for WiFi...".

What's confusing me is that when Rethink is blocking it then I can't even sign into the app, and it will not sync down from the server. I just confirmed by blocking it in Rethink, the added photo syncs down immediately after I unblock it.

Looking at the history of when it stopped uploading it looks like this started shortly after I upgraded to Android 15. (GrapheneOS). Will try a fresh install in another profile when I get a chance.

Mentioned error is below along with the entire log.

18:21:46.085454] Error executing remote sync
10-31 21:21:46.085 32694 32724 I flutter : ⤷ type: WiFiUnavailableError
10-31 21:21:46.085 32694 32724 I flutter : ⤷ error: Instance of 'WiFiUnavailableError'
10-31 21:21:46.085 32694 32724 I flutter : ⤷ trace: #0      FileUploader.checkNetworkForUpload (package:photos/utils/file_uploader.dart:423)
10-31 21:21:46.085 32694 32724 I flutter : <asynchronous suspension>

Ente Photos log 42e3aa8a6e31.txt

@mngshm
Copy link
Member

mngshm commented Nov 4, 2024

Hi,

In backup settings could you please toggle the "Backup on Mobile Data" option and see if you still have this issue. Ideally, looking at the code in

Future<void> checkNetworkForUpload({bool isForceUpload = false}) async {

@ua741 ua741 added --mobile Platform is mobile - photos Relates to the Ente Photos and removed triage labels Nov 5, 2024
@vesahc
Copy link
Author

vesahc commented Nov 5, 2024

Confirming that when toggling everything appears to work as per normal. Behaviour appears to revert when re-toggling the option.

@ignoramous
Copy link

ignoramous commented Nov 7, 2024

rdns dev here

Does ente (on Android) bind to a network (via ConnectivityService.bindProcessToNetwork or Network.bindSocket or equivalent POSIX syscalls)? This won't work if an active VPN app disallows "bypass" (ref).

On Rethink's end, an end-user can allow bypass by turning ON Configure -> Network -> Enable network visibility (do not recommend turning it ON at all, but okay for testing connectivity issues).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
- photos Relates to the Ente Photos --mobile Platform is mobile
Projects
None yet
Development

No branches or pull requests

4 participants