Git Product home page Git Product logo

Comments (11)

growse avatar growse commented on June 3, 2024 4

Ended up removing BackgroundWorkerFactory altogether and replacing with HiltWorkerFactory.

from android.

5iver avatar 5iver commented on June 3, 2024 2

I updated to the 2.5.0 beta today (Android 13, TCL 40XL), and experienced the constant crashing. My wife (also on beta) had just experienced this and resolved it by clearing the app data, since clearing the app cache was not enough. We have Owntracks configured to access a mosquito server through a reverse proxy over web sockets, authenticating with self-signed client certificates. When I encountered the crashing after update, I:

  1. added my CA and client certs to Android (there was a notification for this),
  2. enabled Airplane mode (this prevented the app from crashing),
  3. exported Configuration management,
  4. cleared the app data,
  5. imported the config,
  6. disabled Airplane mode (the app was still not crashing),
  7. went into Preferences> Connection> Client certificate> and selected my cert

Hopefully, the CNFE fix will resolve the crashing issue, but I have not experienced the crashing issue since performing these steps. However, going back into Preferences> Connection, the UI shows Client certificate as Not Set, and Configuration management shows tlsClientCrt as an empty string. Owntracks still updates properly through MQTT, so this appears to just be a display issue, though the field is also empty in exports. This may deserve its own Issue, but I mention it here in case it is somehow related.

from android.

compuguy avatar compuguy commented on June 3, 2024 1

Ended up removing BackgroundWorkerFactory altogether and replacing with HiltWorkerFactory.

Great. Let us know when you push out the fixed build! 🎉

from android.

growse avatar growse commented on June 3, 2024 1

beta2 published on the play store.

However, going back into Preferences> Connection, the UI shows Client certificate as Not Set, and Configuration management shows tlsClientCrt as an empty string. Owntracks still updates properly through MQTT, so this appears to just be a display issue, though the field is also empty in exports. This may deserve its own Issue, but I mention it here in case it is somehow related.

Might be a display issue, I'll look. But the configuration export now won't be able to include the certificates as they're part of the device config - OT doesn't even see them.

from android.

wir3z avatar wir3z commented on June 3, 2024 1

@growse this seems to be happening on the tip of master in HTTP mode as well if no URL is present. For example:

  • Upgrade from previously configured version, works.
  • Clear the data for the app, it crashes on each start.
  • Modify URL to have a preloaded default: Preferences::url -> "https://example.com", works fine.

I didn't dig further, but it looks like 2.5.0 adds a check to prevent a blank URL when editing the HTTP preferences, but maybe it's not handling an undefined one at startup?

from android.

jpmens avatar jpmens commented on June 3, 2024

from android.

syphernl avatar syphernl commented on June 3, 2024

Which device and android version?

Can you remove the app and reinstall from beta?

OnePlus 11, Android 14.0

Is there any difference between the v2.5.0 and the v2.5.0 beta?

from android.

growse avatar growse commented on June 3, 2024

I'm seeing this on the play store telemetry. Should have a fix and a beta-2 tomorrow.

Exception java.lang.ClassNotFoundException:
  at java.lang.Class.classForName
  at java.lang.Class.forName (Class.java:536)
  at java.lang.Class.forName (Class.java:467)
  at org.owntracks.android.services.worker.BackgroundWorkerFactory.createWorker (BackgroundWorkerFactory.kt)
  at androidx.work.WorkerFactory.createWorkerWithDefaultFallback (WorkerFactory.java:1)
  at androidx.work.impl.WorkerWrapper.runWorker (WorkerWrapper.java:430)
  at androidx.work.impl.WorkerWrapper.run (WorkerWrapper.java:430)
  at androidx.work.impl.utils.SerialExecutorImpl$Task.run (SerialExecutorImpl.java:5)
  at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1145)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:644)
  at java.lang.Thread.run (Thread.java:1012)

Thanks for helping with the testing!

from android.

compuguy avatar compuguy commented on June 3, 2024

I'm seeing this on the play store telemetry. Should have a fix and a beta-2 tomorrow.

Exception java.lang.ClassNotFoundException:
  at java.lang.Class.classForName
  at java.lang.Class.forName (Class.java:536)
  at java.lang.Class.forName (Class.java:467)
  at org.owntracks.android.services.worker.BackgroundWorkerFactory.createWorker (BackgroundWorkerFactory.kt)
  at androidx.work.WorkerFactory.createWorkerWithDefaultFallback (WorkerFactory.java:1)
  at androidx.work.impl.WorkerWrapper.runWorker (WorkerWrapper.java:430)
  at androidx.work.impl.WorkerWrapper.run (WorkerWrapper.java:430)
  at androidx.work.impl.utils.SerialExecutorImpl$Task.run (SerialExecutorImpl.java:5)
  at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1145)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:644)
  at java.lang.Thread.run (Thread.java:1012)

Thanks for helping with the testing!

Thank you for the update. Appreciate it and cant wait to test 2.5.0 beta 2. Been looking forward to be able to push location updates to phones/endpoints.

from android.

compuguy avatar compuguy commented on June 3, 2024

Just wanted to check in @growse. Are you going to cut a new beta build for 2.5.0? It would be greatly appreciated, though I understand that life can be busy at times.

from android.

jpmens avatar jpmens commented on June 3, 2024

from android.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.