feat(phase700): member roster CSV and moderation timeout export mesh parity (v0.8.675)
Add signed member roster CSV mesh (RPC 118) and moderation timeout export CSV (RPC 119) with member-csv-ui, platform member-csv-mixin, delivery-receipts store methods, guild gossip, ui-flow IPC, agentctl journeys, and test:ci-phase700.
This commit is contained in:
+34
@@ -3797,6 +3797,40 @@ class HeadlessSession {
|
||||
}
|
||||
}
|
||||
|
||||
async runMemberRosterCsvJourney () {
|
||||
if (!this.platform) throw new Error('headless not started')
|
||||
await this.registerUser({ username: 'mb700', displayName: 'Member CSV 700' })
|
||||
await this.createGuild({ name: 'Member CSV 700', publicListing: false })
|
||||
await this.wait({ mode: 'guild' }, 45000)
|
||||
const pushed = await this.platform.pushMemberRosterCsvToMesh()
|
||||
const v = await this.refreshView()
|
||||
if (!pushed?.signature && !v.memberRosterCsvMeta?.signature) {
|
||||
throw new Error('expected signed member roster CSV after mesh push')
|
||||
}
|
||||
return {
|
||||
guildMemberCsvCount: (v.memberRosterCsvRows || []).length,
|
||||
hasMeta: v.memberRosterCsvMeta != null
|
||||
}
|
||||
}
|
||||
|
||||
async runModerationTimeoutExportJourney () {
|
||||
if (!this.platform) throw new Error('headless not started')
|
||||
await this.registerUser({ username: 'to700', displayName: 'Timeout 700' })
|
||||
await this.createGuild({ name: 'Timeout 700', publicListing: false })
|
||||
await this.wait({ mode: 'guild' }, 45000)
|
||||
const pushed = await this.platform.pushModerationTimeoutExportToMesh()
|
||||
const v = await this.refreshView()
|
||||
if (!pushed?.signature) {
|
||||
throw new Error('expected signed moderation timeout CSV export')
|
||||
}
|
||||
return {
|
||||
guildMemberCsvCount: (v.moderationTimeoutExportCsvRows || []).length,
|
||||
hasTimeoutExport:
|
||||
v.lastModerationTimeoutExport != null ||
|
||||
(v.moderationTimeoutExportCsvRows || []).length > 0
|
||||
}
|
||||
}
|
||||
|
||||
async runForumPostSearchJourney () {
|
||||
if (!this.platform) throw new Error('headless not started')
|
||||
await this.registerUser({ username: 'fm672', displayName: 'Forum 672' })
|
||||
|
||||
Reference in New Issue
Block a user