Phase 892: RPC-first fallback helper + response validators split (v0.8.859)

Non-breaking refactor — scheduleGuildGossipRpcFirstWithFallback() dedupes RPC-first
fire-and-forget paths; gossip-rpc-response-validators.js splits isValid* predicates;
search/audit/export mixins migrate to centralized isGuildGossipRpcRequestEnabled gate.
test:ci-phase892 passes (46/50, cutover deferred).
This commit is contained in:
Raven Scott
2026-06-04 19:03:36 -04:00
parent 3eb69f5a1d
commit d12322ba87
9 changed files with 118 additions and 71 deletions
@@ -28,6 +28,9 @@ const {
id, now, guildTopic
} = require('../../../platform-class-imports')
const { platformGuildSyncRpcRespondersMixin } = require('./platform-guild-sync-rpc-responders-mixin')
const {
scheduleGuildGossipRpcFirstWithFallback
} = require('../../../gossip-rpc-rpc-first-fallback')
/** Phase 756 — guild sync bundle export/push */
@@ -306,12 +309,10 @@ requestGuildMemberPage (offset = 0, opts = {}) {
})
.catch(() => {})
}
if (sharedScope.isRpcGossipRequestEnabled?.()) {
void this._tryMemberPageRequestRpc(off)
.then((rpc) => {
if (!rpc?.viaRpc) fanoutMemberPageRequest()
})
.catch(() => fanoutMemberPageRequest())
if (scheduleGuildGossipRpcFirstWithFallback(
() => this._tryMemberPageRequestRpc(off),
fanoutMemberPageRequest
)) {
return {
guildId,
offset: off,