review: round 1 fixes

R1-1 add the service response to the exhaustive iOS and Kotlin response matches
R1-3 directory search cursor carries only the sort value of its mode, so the RPC no longer sends registration times
R1-4 a directory search does not take the progress spinner from a connection
R1-6 directory entry type, name and rounded times defined once for listing and RPC
R1-7 restore the directory test harness signatures of master, with link-pair variants for the new tests
R1-8 tests: compressed service request through SREQ, reject without a reason
This commit is contained in:
spaced4ndy committed 2026-10-13 14:19:00 +04:00
1 parent 0e06ded808
commit 44902c1425
11 files changed
+217 -125

No files matched your search

@@ -58,6 +58,7 @@ object ConnectProgressManager {
private val coroutineScope = CoroutineScope(SupervisorJob() + Dispatchers.Main)
fun startConnectProgress(text: String, owner: ConnectProgressOwner = ConnectProgressOwner.Connect, onCancel: (() -> Unit)? = null) {
if (owner == ConnectProgressOwner.DirectorySearch && this.owner == ConnectProgressOwner.Connect) return
connectInProgress.value = text
this.owner = owner
this.onCancel = onCancel
@@ -6983,6 +6983,7 @@ sealed class CR {
is ConnectionIncognitoUpdated -> "connectionIncognitoUpdated"
is ConnectionUserChanged -> "ConnectionUserChanged"
is CRConnectionPlan -> "connectionPlan"
is CRServiceResponse -> "serviceResponse"
is NewPreparedChat -> "newPreparedChat"
is ContactUserChanged -> "contactUserChanged"
is GroupUserChanged -> "groupUserChanged"
@@ -7175,6 +7176,7 @@ sealed class CR {
is ConnectionIncognitoUpdated -> withUser(user, json.encodeToString(toConnection))
is ConnectionUserChanged -> withUser(user, "fromConnection: ${json.encodeToString(fromConnection)}\ntoConnection: ${json.encodeToString(toConnection)}\nnewUser: ${json.encodeToString(newUser)}" )
is CRConnectionPlan -> withUser(user, "connLink: ${json.encodeToString(connLink)}\nplanSimplexName: $planSimplexName\notherSimplexName: $otherSimplexName\nconnectionPlan: ${json.encodeToString(connectionPlan)}")
is CRServiceResponse -> withUser(user, json.encodeToString(responseData))
is NewPreparedChat -> withUser(user, json.encodeToString(chat))
is ContactUserChanged -> withUser(user, "fromContact: ${json.encodeToString(fromContact)}\nnewUserId: ${json.encodeToString(newUser.userId)}\ntoContact: ${json.encodeToString(toContact)}")
is GroupUserChanged -> withUser(user, "fromGroup: ${json.encodeToString(fromGroup)}\nnewUserId: ${json.encodeToString(newUser.userId)}\ntoGroup: ${json.encodeToString(toGroup)}")