Open rhysll34 opened 6 months ago
Hi @rhysll34. There is a lot of non-Realm code in play in our report. Could you try to boil you example down to minimal example showing your issue and leave out all non-Realm related (e.g. first element, flatmap, visitors, etc.).
I have added some code to my project to create a minimal example. The code below reflects what I have added. As I interact with the UI the result of Visit::getVisitStatus()
should change between various string values, and I would expect to see each new value appear in Logcat. This doesn't always happen. I am fairly certain that the updates are being persisted into Realm. The Visit object is being updated by setting the field value of the object within a Realm transaction. Causing the method below to be caused again will result in the correct value to be retrieved.
class RealmDB {
RealmObject visit;
private final Realm realm;
...
public void getVisit(int visitId) {
visit = realm.where(Visit.class)
.equalTo("key", visitId).findFirstAsync();
visit.addChangeListener(a -> {
Visit visitB = (Visit)a;
Timber.d("Visit status: %s", visitB.getVisitStatus());
});
}
....
}
The instance of RealmDB should remain in scope while the Activity is still running.
How frequently does the bug occur?
Sometimes
Description
When updating a field in an object I expect that a Flowable taken from the results of a query that returns that object will emit the changed object. In practice nothing is emitted.
When using the debugger, I can see the proxy being updated and the calls to the native functions. I cannot see anything coming back out of the native functions.
Stacktrace & log output
No response
Can you reproduce the bug?
Sometimes - seems intermittent with no discernible pattern
Reproduction Steps
Realm Initialisation:
Query and flowable retrieval where visitId is a primary for the Visit class:
The proxy for Visit:
Version
10.16.1
What Atlas App Services are you using?
Local Database only
Are you using encryption?
No
Platform OS and version(s)
Android 13, possiblyothers
Build environment
Android Studio version: Hedgehog, but also older version Android Build Tools version: 34 Gradle version: 8.0