Linux Support
I use a linux computer. There is already a windows/macos app so it seems like linux support hopefully might not be too difficult?
My main reasoning is that the website does not support the e2ee so it is impossible to use on my computer with it enabled.
Log in to comment and vote
Comments13
Luke M
May 18
Unlikely to happen, I’m afraid. The app is built with Flutter, which has only the most basic support for Flutter; the biggest issue is the dozens and dozens of plugins and capabilities that TimeFinder uses, don’t support Linux natively.
Since e2ee is a must-have for you, my only recommendation would be to run the android app on Linux somehow; I’ve been told by another user that this is possible and straightforward, but I’ve never tried.
I’m sorry to disappoint. Thanks for your interest and let me know if I can help with anything else.
-Luke
xela.codes
May 19
I am unable to easily run this in an android emulator due to there not being an x86 release in the play store.
I installed libndk to be able to run arm binaries in my emulator and now I can’t run the app because of play protect. It appears the app has a baked-in play protect block since i have play protect disabled in my emulator?
Is there an APK release that does not have the play protect block, or an x86-compatible APK?
After a couple hours of debugging I am unable to get the app to run whatsoever in an emulator, due to the play integrity checks.
An x86 release I believe would fix this as then I could install it directly from the play store.
Luke M
May 19
Sorry to hear about the runaround here. Two things worth mentioning:
Firstly, the Android build does actually ship x86_64; Flutter's default AAB includes arm64-v8a, armeabi-v7a, and x86_64, and the Play Store should deliver the appropriate APK per device. If your emulator was getting nothing, it was likely a 32-bit x86 AVD (deprecated for years). Modern Android Studio emulators are x86_64 and should work directly from the Play Store.
Aside from that, another Linux user emailed me last week to say he's running the TimeFinder Android app on Linux through Waydroid and that it's "quite easy." Waydroid runs Android natively in a Linux container and installs from the Play Store directly, so it sidesteps the libndk translation and the sideloading licensing checks that I think are what gave you trouble.
I recommend trying the Waydroid approach if that is viable for you. Aside from that, I unfortunately don’t have the bandwidth to support other options like a native linux build or bringing e2ee to web.
I hope this helps a little. Let me know, thanks!
xela.codes
May 19
All of this was done on waydroid.
I reinstalled a fresh copy of waydroid, signed into the google play store, and I’m still met with this:
My waydroid is x86_64, android 13.
Luke M
May 19
Thanks so much for that screenshot, helps a lot. I think I might have found the issue, or at least one real part of it: Apparently, since TimeFinder has an image-upload option, it declares the ‘camera’ permission as ‘required’ in its android manifest, and apparently, that means that devices without a camera (including Waydroid I suppose) can’t install the android app. I don’t know if this is the only blocker, but I’ll fix it, and we’ll take it from there.
As for my anecdote from earlier about the user who said it was ‘quite easy’ to use TimeFinder on Waydroid, I misremembered—they said that it "should” be quite easy to use TimeFinder on Android (after I mentioned some limitations of the web app)—not that they have actually tried to yet.. I apologize for that misrepresentation.
Thanks for your patience!
xela.codes
May 20
Looks like waydroid passes the camera through. When I open the camera app it flashes my laptop camera and doesn’t show video, but it is still there.
Listing device features via the terminal shows the camera:
I’m not sure, but the fingerprint permission may have the same issue. Although I force-enabled the fingerprint feature on waydroid and cleared the google play data and it still shows the same message.
Here is a full feature list if that helps:
feature:reqGlEsVersion=0x30002
feature:android.hardware.audio.low_latency
feature:android.hardware.audio.output
feature:android.hardware.bluetooth
feature:android.hardware.camera
feature:android.hardware.camera.any
feature:android.hardware.camera.autofocus
feature:android.hardware.camera.capability.manual_post_processing
feature:android.hardware.camera.capability.manual_sensor
feature:android.hardware.camera.capability.raw
feature:android.hardware.camera.flash
feature:android.hardware.camera.front
feature:android.hardware.camera.level.full
feature:android.hardware.ethernet
feature:android.hardware.faketouch
feature:android.hardware.location
feature:android.hardware.location.gps
feature:android.hardware.location.network
feature:android.hardware.microphone
feature:android.hardware.opengles.aep
feature:android.hardware.ram.normal
feature:android.hardware.screen.landscape
feature:android.hardware.screen.portrait
feature:android.hardware.security.model.compatible
feature:android.hardware.sensor.accelerometer
feature:android.hardware.sensor.ambient_temperature
feature:android.hardware.sensor.barometer
feature:android.hardware.sensor.compass
feature:android.hardware.sensor.gyroscope
feature:android.hardware.sensor.light
feature:android.hardware.sensor.proximity
feature:android.hardware.sensor.relative_humidity
feature:android.hardware.touchscreen
feature:android.hardware.usb.accessory
feature:android.hardware.vulkan.compute
feature:android.hardware.vulkan.level=1
feature:android.hardware.vulkan.version=4198400
feature:android.hardware.wifi
feature:android.software.activities_on_secondary_displays
feature:android.software.app_enumeration
feature:android.software.app_widgets
feature:android.software.autofill
feature:android.software.backup
feature:android.software.cant_save_state
feature:android.software.companion_device_setup
feature:android.software.controls
feature:android.software.cts
feature:android.software.device_admin
feature:android.software.freeform_window_management
feature:android.software.home_screen
feature:android.software.input_methods
feature:android.software.live_wallpaper
feature:android.software.managed_users
feature:android.software.picture_in_picture
feature:android.software.print
feature:android.software.secure_lock_screen
feature:android.software.sip
feature:android.software.sip.voip
feature:android.software.telecom
feature:android.software.verified_boot
feature:android.software.voice_recognizers
feature:android.software.webview
feature:android.software.window_magnification
feature:android.sofware.nfc.beam
feature:com.google.android.apps.dialer.SUPPORTED
feature:com.google.android.feature.D2D_CABLE_MIGRATION_FEATURE
feature:com.google.android.feature.WELLBEING
feature:org.lineageos.android
feature:org.lineageos.globalactions
feature:org.lineageos.hardware
feature:org.lineageos.health
feature:org.lineageos.livedisplay
feature:org.lineageos.profiles
feature:org.lineageos.settings
Luke M
May 20
Thanks for the details; I will take it from here then and try to get a Waydroid linux build working on my end, and let you know how it goes. Thank you.
Luke M
May 20
I didn’t get very far—turns out android on linux on parallels on Mac doesn’t even really allow me to log into google play. But I did learn a lot about the different app integrity settings, and I just loosened one that might help the android app work in Waydroid after all on your end. That’s closer to what you suggested in the first place, than anything else, so I owe you an apology. Thanks for the solid pointers. Please give it a shot and let me know.
In the meantime, I’ll keep working on e2ee for web as a fallback. Thanks!
xela.codes
May 20
Alright, thanks for the debugging! I had attempted to install the app via AuroraStore to bypass the play store blocking me and thats when I ran into the play protect notice.
I’m assuming if I have a subscription via the iOS app it would carry over to the android app?
I’ll try it once I see the update. Thank you!
Luke M
May 20
thanks for the details! With the loosened play protect restrictions, I’d expect it the Android app to be downloadable/runnable through any means, but I still haven’t succeeded in getting my environment set up properly to try.
Good news though: with the help of ai, I was able to get web e2ee support built overnight, so if you want to give it a try, clear your browser cache and go to web.TimeFinder.app, and give it a shot.
I’ll keep fiddling with Linux environment but I hope that helps!
xela.codes
May 21
Web e2ee does work, with some notes:
First issue:
sign into account with encryption turned OFF on web
turn encryption on on another device (my phone)
reload website/cache, enter encryption passcode, blank screen
This occurred on firefox, not sure if it happens in other browsers, I didn’t test.
I opened a new container tab with a separate session and signed in and then i was able to access everything.
Second issue:
fresh signin on web, enter encryption key
all cards/tasks show [Encrypted]
The task cards only updated with unencrypted data if i edited them in some way. (moved them around or tried to rename)
I switched views from the 1-day to the 3-day on the schedule page and then everything showed up with the proper titles.
Looks like this only occurs after the encryption password screen. Reloading the tab and re-entering the password shows ‘encrypted’ until the schedule view is flipped to 3-day or more. If “trust device” is enabled then the issue does not occur.
While writing this I re-focused the original “first issue” tab which showed the blank screen and now it shows everything including the decrypted titles.
Thanks for the support and it looks like this will work!
Luke M
May 21
Thank you immensely for the detailed report! This is super helpful. I will address these issues thoroughly. Glad to hear it’s working somewhat better with ‘trust device’ enabled at least. Thanks so much!
Luke M
May 21
I just released a new web build with some fixes for all this. Let me know if it seems better, or if you see any other issues. Thanks!