-
Notifications
You must be signed in to change notification settings - Fork 77
Description
Summary
The testV3CanMessageV3 test in sdks/android/library/src/androidTest/java/org/xmtp/android/library/HistorySyncTest.kt is flaky and has been skipped with @Ignore.
Test Description
The test creates three client installations from the same wallet, creates a group, then updates the group's consent state to DENIED on client1 and polls on client2 until the consent change is synced. It asserts that client2 sees the DENIED state within a 10-second timeout.
Failure Details
> Task :library:connectedDebugAndroidTest
org.xmtp.android.library.HistorySyncTest > testV3CanMessageV3[emulator-5560 - 14] FAILED
java.lang.AssertionError: expected:<DENIED> but was:<ALLOWED>
at org.junit.Assert.fail(Assert.java:89)
The consent state update from ALLOWED to DENIED on client1 never propagates to client2 within the 10-second polling window.
Likely Cause
The consent sync between installations relies on timing-sensitive operations (preferences.sync() with a polling loop). The 10-second timeout may not be sufficient in all CI environments, or the sync may not propagate deterministically within the polling window.
Possible something is more broken in the device sync system.
Current Mitigation
The test has been annotated with @Ignore("Flaky: consent sync timing is non-deterministic") to prevent CI failures.
File
sdks/android/library/src/androidTest/java/org/xmtp/android/library/HistorySyncTest.kt