feat(phase708): presence activity CSV & read-state export mesh parity (v0.8.683)
Add signed guild presence activity CSV mesh export and read-state CSV export (RPC 134/135): presence-csv-ui.js, presence-csv-mixin.js, delivery-receipts collections, guild gossip handlers, ui-flow IPC, deep link ?presence-csv=1, presence-csv-errors dev filter, agentctl presence/read-state journeys, and test:ci-phase708 regression bundle chaining phase707.
This commit is contained in:
@@ -2,6 +2,8 @@
|
||||
|
||||
Discord [Integrations](https://docs.discord.com/developers/docs/intro) rely on centralized webhooks and OAuth. Pearcord uses **local Pear workers**, **mesh gossip**, and **signed bot tokens** — no HTTP callback URLs.
|
||||
|
||||
**v0.8.683 (Phase 708):** Presence activity CSV mesh modal — signed presence rows, read-state export, mesh push/clear, deep link `?presence-csv=1`. See [PRESENCE_ACTIVITY_CSV.md](./PRESENCE_ACTIVITY_CSV.md). Bundle: `npm run test:ci-phase708`.
|
||||
|
||||
**v0.8.682 (Phase 707):** Screen share CSV mesh modal — signed screen share rows, soundboard registry export, mesh push/clear, deep link `?screen-csv=1`. See [SCREEN_SHARE_CSV.md](./SCREEN_SHARE_CSV.md). Bundle: `npm run test:ci-phase707`.
|
||||
|
||||
**v0.8.681 (Phase 706):** Voice state CSV mesh modal — signed voice occupancy rows, boost ledger export, mesh push/clear, deep link `?voice-csv=1`. See [VOICE_STATE_CSV.md](./VOICE_STATE_CSV.md). Bundle: `npm run test:ci-phase706`.
|
||||
|
||||
+115
-55
@@ -5,8 +5,8 @@ Focused roadmap of unfinished items extracted from `PLATFORM_ROADMAP_v0.1-v0.8.6
|
||||
**Legend:** `[ ]` not started
|
||||
**Legend:** `[SKIP]` skip for now
|
||||
|
||||
Unfinished items tracked: **50** (Phase 708 in **Now**)
|
||||
Platform carryover tracked: **0** (Phase 707 screen share CSV & soundboard registry export mesh parity complete)
|
||||
Unfinished items tracked: **50** (Phase 709 in **Now**)
|
||||
Platform carryover tracked: **0** (Phase 708 presence activity CSV & read-state export mesh parity complete)
|
||||
Skipped items tracked: **18**
|
||||
|
||||
---
|
||||
@@ -24,69 +24,128 @@ Skipped items tracked: **18**
|
||||
|
||||
## Now
|
||||
|
||||
### Phase 708 — Presence activity CSV & read-state export mesh parity (v0.8.683)
|
||||
### Phase 709 — Notification override CSV & channel follow export mesh parity (v0.8.684)
|
||||
|
||||
Signed guild presence activity CSV mesh, read-state export modal, presence/read parity, and agentctl regression. RPC **134** / **135**.
|
||||
Signed guild notification override CSV mesh, channel follow export modal, notification/follow parity, and agentctl regression. RPC **136** / **137**.
|
||||
|
||||
| ID | Item | Status |
|
||||
|----|------|--------|
|
||||
| P708-1 | Presence activity CSV modal with virtual window for member rows | [ ] |
|
||||
| P708-2 | Presence row aria-label includes status + activity type | [ ] |
|
||||
| P708-3 | Presence list sort: name / status / exported | [ ] |
|
||||
| P708-4 | Presence filter chips: signed / unsigned / invalid HMAC | [ ] |
|
||||
| P708-5 | Presence search by user id or custom status | [ ] |
|
||||
| P708-6 | Read-state export detail modal with JSON preview | [ ] |
|
||||
| P708-7 | Clear presence activity CSV confirmation modal | [ ] |
|
||||
| P708-8 | Managed presence channel lock indicator | [ ] |
|
||||
| P708-9 | Presence export schedule panel with optimistic refresh | [ ] |
|
||||
| P708-10 | Presence CSV HMAC validation + preview chip | [ ] |
|
||||
| P708-11 | Platform presence.csv span metadata extend | [ ] |
|
||||
| P708-12 | Platform presence activity CSV mesh gossip dedupe keys | [ ] |
|
||||
| P708-13 | Partition heal: presence activity export cursor reconcile | [ ] |
|
||||
| P708-14 | Partition heal: read-state export cursor reconcile | [ ] |
|
||||
| P708-15 | Dev overlay: **presence-csv-errors** filter tightened | [ ] |
|
||||
| P708-16 | Dev-log clipboard guildPresenceCsvCount meta extend | [ ] |
|
||||
| P708-17 | Agentctl runPresenceActivityCsvJourney | [ ] |
|
||||
| P708-18 | Agentctl runReadStateExportJourney | [ ] |
|
||||
| P708-19 | Smoke test:phase708-presence-csv static contract | [ ] |
|
||||
| P708-20 | Smoke test:agentctl-phase708-presence journey chain | [ ] |
|
||||
| P708-21 | Integrate test:ci-phase708 RELEASE_CI gate | [ ] |
|
||||
| P708-22 | pear run boot gate after presence CSV wiring | [ ] |
|
||||
| P708-23 | Docs: PRESENCE_ACTIVITY_CSV.md parity matrix update | [ ] |
|
||||
| P708-24 | Module README audit: pearcord-platform presence CSV | [ ] |
|
||||
| P708-25 | UI-flow IPC: presence CSV modal open + composer blur | [ ] |
|
||||
| P708-26 | Server settings presence CSV mesh entry | [ ] |
|
||||
| P708-27 | Presence inherit indicator in member list | [ ] |
|
||||
| P708-28 | Presence event groups in export builder | [ ] |
|
||||
| P708-29 | Read-state stub row in export list | [ ] |
|
||||
| P708-30 | Announcement presence row highlight | [ ] |
|
||||
| P708-31 | Presence activity inherit-from-parent banner | [ ] |
|
||||
| P708-32 | Presence diff live region on gossip ingest | [ ] |
|
||||
| P708-33 | Guild-loading aria-busy on presence CSV modal | [ ] |
|
||||
| P708-34 | Keyboard roving on presence rows | [ ] |
|
||||
| P708-35 | Mobile layout: presence CSV modal stack | [ ] |
|
||||
| P708-36 | Empty state when no presence exports yet | [ ] |
|
||||
| P708-37 | Cross-guild presence list partition scope guard | [ ] |
|
||||
| P708-38 | DM presence N/A guard for guild export UI | [ ] |
|
||||
| P708-39 | Duplicate presence ingest toast copy parity | [ ] |
|
||||
| P708-40 | presence-csv-ui.js extracted modal helpers | [ ] |
|
||||
| P708-41 | presence-csv-mixin.js platform gossip + heal | [ ] |
|
||||
| P708-42 | Release notes v0.8.683 draft | [ ] |
|
||||
| P708-43 | Gitea release notes v0.8.683 + roadmap Phase 709 planning | [ ] |
|
||||
| P708-44 | Incremental render hash for presence CSV modal | [ ] |
|
||||
| P708-45 | Screen CSV bridge row in presence settings | [ ] |
|
||||
| P708-46 | Managed integration lock indicator extend | [ ] |
|
||||
| P708-47 | Read-state bridge stub row in presence registry | [ ] |
|
||||
| P708-48 | Presence preset filter chips (online/idle/dnd/offline) | [ ] |
|
||||
| P708-49 | Onboarding presence CSV deep-link parity | [ ] |
|
||||
| P708-50 | Regression bundle includes phase707 screen CSV smokes | [ ] |
|
||||
| P709-1 | Notification override CSV modal with virtual window for channel rows | [ ] |
|
||||
| P709-2 | Override row aria-label includes channel + mute state | [ ] |
|
||||
| P709-3 | Override list sort: name / channel / exported | [ ] |
|
||||
| P709-4 | Override filter chips: signed / unsigned / invalid HMAC | [ ] |
|
||||
| P709-5 | Override search by channel id or notification level | [ ] |
|
||||
| P709-6 | Channel follow export detail modal with JSON preview | [ ] |
|
||||
| P709-7 | Clear notification override CSV confirmation modal | [ ] |
|
||||
| P709-8 | Managed notification channel lock indicator | [ ] |
|
||||
| P709-9 | Notification export schedule panel with optimistic refresh | [ ] |
|
||||
| P709-10 | Notification CSV HMAC validation + preview chip | [ ] |
|
||||
| P709-11 | Platform notification.csv span metadata extend | [ ] |
|
||||
| P709-12 | Platform notification override CSV mesh gossip dedupe keys | [ ] |
|
||||
| P709-13 | Partition heal: notification override export cursor reconcile | [ ] |
|
||||
| P709-14 | Partition heal: channel follow export cursor reconcile | [ ] |
|
||||
| P709-15 | Dev overlay: **notification-csv-errors** filter tightened | [ ] |
|
||||
| P709-16 | Dev-log clipboard guildNotificationCsvCount meta extend | [ ] |
|
||||
| P709-17 | Agentctl runNotificationOverrideCsvJourney | [ ] |
|
||||
| P709-18 | Agentctl runChannelFollowExportJourney | [ ] |
|
||||
| P709-19 | Smoke test:phase709-notification-csv static contract | [ ] |
|
||||
| P709-20 | Smoke test:agentctl-phase709-notification journey chain | [ ] |
|
||||
| P709-21 | Integrate test:ci-phase709 RELEASE_CI gate | [ ] |
|
||||
| P709-22 | pear run boot gate after notification CSV wiring | [ ] |
|
||||
| P709-23 | Docs: NOTIFICATION_OVERRIDE_CSV.md parity matrix update | [ ] |
|
||||
| P709-24 | Module README audit: pearcord-platform notification CSV | [ ] |
|
||||
| P709-25 | UI-flow IPC: notification CSV modal open + composer blur | [ ] |
|
||||
| P709-26 | Server settings notification CSV mesh entry | [ ] |
|
||||
| P709-27 | Notification inherit indicator in channel editor | [ ] |
|
||||
| P709-28 | Notification event groups in export builder | [ ] |
|
||||
| P709-29 | Channel follow stub row in export list | [ ] |
|
||||
| P709-30 | Announcement notification row highlight | [ ] |
|
||||
| P709-31 | Notification override inherit-from-parent banner | [ ] |
|
||||
| P709-32 | Notification diff live region on gossip ingest | [ ] |
|
||||
| P709-33 | Guild-loading aria-busy on notification CSV modal | [ ] |
|
||||
| P709-34 | Keyboard roving on notification rows | [ ] |
|
||||
| P709-35 | Mobile layout: notification CSV modal stack | [ ] |
|
||||
| P709-36 | Empty state when no notification exports yet | [ ] |
|
||||
| P709-37 | Cross-guild notification list partition scope guard | [ ] |
|
||||
| P709-38 | DM notification N/A guard for guild export UI | [ ] |
|
||||
| P709-39 | Duplicate notification ingest toast copy parity | [ ] |
|
||||
| P709-40 | notification-csv-ui.js extracted modal helpers | [ ] |
|
||||
| P709-41 | notification-csv-mixin.js platform gossip + heal | [ ] |
|
||||
| P709-42 | Release notes v0.8.684 draft | [ ] |
|
||||
| P709-43 | Gitea release notes v0.8.684 + roadmap Phase 710 planning | [ ] |
|
||||
| P709-44 | Incremental render hash for notification CSV modal | [ ] |
|
||||
| P709-45 | Presence CSV bridge row in notification settings | [ ] |
|
||||
| P709-46 | Managed integration lock indicator extend | [ ] |
|
||||
| P709-47 | Channel follow bridge stub row in notification registry | [ ] |
|
||||
| P709-48 | Notification preset filter chips (all/messages/nothing) | [ ] |
|
||||
| P709-49 | Onboarding notification CSV deep-link parity | [ ] |
|
||||
| P709-50 | Regression bundle includes phase708 presence CSV smokes | [ ] |
|
||||
|
||||
Bundle target: `npm run test:ci-phase708`.
|
||||
Bundle target: `npm run test:ci-phase709`.
|
||||
|
||||
---
|
||||
|
||||
## Completed (recent)
|
||||
|
||||
### Phase 708 — Presence activity CSV & read-state export mesh parity (v0.8.683)
|
||||
|
||||
Signed guild presence activity CSV mesh, read-state export modal, presence/read parity, and agentctl regression.
|
||||
|
||||
| ID | Item | Status |
|
||||
|----|------|--------|
|
||||
| P708-1 | Presence activity CSV modal with virtual window for member rows | [x] |
|
||||
| P708-2 | Presence row aria-label includes status + activity type | [x] |
|
||||
| P708-3 | Presence list sort: name / status / exported | [x] |
|
||||
| P708-4 | Presence filter chips: signed / unsigned / invalid HMAC | [x] |
|
||||
| P708-5 | Presence search by user id or custom status | [x] |
|
||||
| P708-6 | Read-state export detail modal with JSON preview | [x] |
|
||||
| P708-7 | Clear presence activity CSV confirmation modal | [x] |
|
||||
| P708-8 | Managed presence channel lock indicator | [x] |
|
||||
| P708-9 | Presence export schedule panel with optimistic refresh | [x] |
|
||||
| P708-10 | Presence CSV HMAC validation + preview chip | [x] |
|
||||
| P708-11 | Platform presence.csv span metadata extend | [x] |
|
||||
| P708-12 | Platform presence activity CSV mesh gossip dedupe keys | [x] |
|
||||
| P708-13 | Partition heal: presence activity export cursor reconcile | [x] |
|
||||
| P708-14 | Partition heal: read-state export cursor reconcile | [x] |
|
||||
| P708-15 | Dev overlay: **presence-csv-errors** filter tightened | [x] |
|
||||
| P708-16 | Dev-log clipboard guildPresenceCsvCount meta extend | [x] |
|
||||
| P708-17 | Agentctl runPresenceActivityCsvJourney | [x] |
|
||||
| P708-18 | Agentctl runReadStateExportJourney | [x] |
|
||||
| P708-19 | Smoke test:phase708-presence-csv static contract | [x] |
|
||||
| P708-20 | Smoke test:agentctl-phase708-presence journey chain | [x] |
|
||||
| P708-21 | Integrate test:ci-phase708 RELEASE_CI gate | [x] |
|
||||
| P708-22 | pear run boot gate after presence CSV wiring | [x] |
|
||||
| P708-23 | Docs: PRESENCE_ACTIVITY_CSV.md parity matrix update | [x] |
|
||||
| P708-24 | Module README audit: pearcord-platform presence CSV | [x] |
|
||||
| P708-25 | UI-flow IPC: presence CSV modal open + composer blur | [x] |
|
||||
| P708-26 | Server settings presence CSV mesh entry | [x] |
|
||||
| P708-27 | Presence inherit indicator in member list | [x] |
|
||||
| P708-28 | Presence event groups in export builder | [x] |
|
||||
| P708-29 | Read-state stub row in export list | [x] |
|
||||
| P708-30 | Announcement presence row highlight | [x] |
|
||||
| P708-31 | Presence activity inherit-from-parent banner | [x] |
|
||||
| P708-32 | Presence diff live region on gossip ingest | [x] |
|
||||
| P708-33 | Guild-loading aria-busy on presence CSV modal | [x] |
|
||||
| P708-34 | Keyboard roving on presence rows | [x] |
|
||||
| P708-35 | Mobile layout: presence CSV modal stack | [x] |
|
||||
| P708-36 | Empty state when no presence exports yet | [x] |
|
||||
| P708-37 | Cross-guild presence list partition scope guard | [x] |
|
||||
| P708-38 | DM presence N/A guard for guild export UI | [x] |
|
||||
| P708-39 | Duplicate presence ingest toast copy parity | [x] |
|
||||
| P708-40 | presence-csv-ui.js extracted modal helpers | [x] |
|
||||
| P708-41 | presence-csv-mixin.js platform gossip + heal | [x] |
|
||||
| P708-42 | Release notes v0.8.683 draft | [x] |
|
||||
| P708-43 | Gitea release notes v0.8.683 + roadmap Phase 709 planning | [x] |
|
||||
| P708-44 | Incremental render hash for presence CSV modal | [x] |
|
||||
| P708-45 | Screen CSV bridge row in presence settings | [x] |
|
||||
| P708-46 | Managed integration lock indicator extend | [x] |
|
||||
| P708-47 | Read-state bridge stub row in presence registry | [x] |
|
||||
| P708-48 | Presence preset filter chips (online/idle/dnd/offline) | [x] |
|
||||
| P708-49 | Onboarding presence CSV deep-link parity | [x] |
|
||||
| P708-50 | Regression bundle includes phase707 screen CSV smokes | [x] |
|
||||
|
||||
Bundle: `npm run test:ci-phase708`. `presence-csv-ui.js` + platform `presence-csv-mixin.js`, presence activity CSV mesh modal, read-state export, agentctl presence + read-state journeys.
|
||||
|
||||
### Phase 707 — Screen share CSV & soundboard registry export mesh parity (v0.8.682)
|
||||
|
||||
Signed guild screen share CSV mesh, soundboard registry export modal, screen/soundboard parity, and agentctl regression.
|
||||
@@ -3126,6 +3185,7 @@ For deferred items, use `[SKIP]` and include a brief reason inline.
|
||||
|
||||
## Changelog
|
||||
|
||||
- 2026-06-03 - Completed Phase 708 presence activity CSV & read-state export mesh parity (v0.8.683): `presence-csv-ui.js` + platform `presence-csv-mixin.js`, presence activity CSV mesh modal, read-state export from `@pearcord/read-state`, deep link `?presence-csv=1`, ui-flow presence CSV IPC, **presence-csv-errors** dev filter, agentctl presence + read-state journeys; RPC **134** / **135**; bundle `npm run test:ci-phase708` (50/50). Opened Phase 709 planning slot.
|
||||
- 2026-06-03 - Completed Phase 707 screen share CSV & soundboard registry export mesh parity (v0.8.682): `screen-csv-ui.js` + platform `screen-csv-mixin.js`, screen share CSV mesh modal, soundboard registry export from `pearcord-soundboard`, deep link `?screen-csv=1`, ui-flow screen CSV IPC, **screen-csv-errors** dev filter, agentctl screen + soundboard journeys; RPC **132** / **133**; bundle `npm run test:ci-phase707` (50/50). Opened Phase 708 planning slot.
|
||||
- 2026-06-03 - Completed Phase 706 voice state CSV & boost ledger export mesh parity (v0.8.681): `voice-csv-ui.js` + platform `voice-csv-mixin.js`, voice state CSV mesh modal, boost ledger export from `pearcord-boosts`, deep link `?voice-csv=1`, ui-flow voice CSV IPC, **voice-csv-errors** dev filter, agentctl voice + boost journeys; RPC **130** / **131**; bundle `npm run test:ci-phase706` (50/50). Opened Phase 707 planning slot.
|
||||
- 2026-06-03 - Completed Phase 705 stage instance CSV & guild event export mesh parity (v0.8.680): `stage-csv-ui.js` + platform `stage-csv-mixin.js`, stage instance CSV mesh modal, guild event export from notification inbox, deep link `?stage-csv=1`, ui-flow stage CSV IPC, **stage-csv-errors** dev filter, agentctl stage + guild event journeys; RPC **128** / **129**; bundle `npm run test:ci-phase705` (50/50). Opened Phase 706 planning slot.
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
# Presence activity CSV & read-state export (v0.8.683)
|
||||
|
||||
Phase **708** adds signed guild presence activity CSV mesh export and read-state CSV export — RPC **134** / **135**.
|
||||
|
||||
## Features
|
||||
|
||||
- Presence activity CSV modal with mesh push/clear and HMAC validation
|
||||
- Read-state export aggregates guild channel read receipt rows
|
||||
- Deep link `pearcord://guild/{id}/{channel}?presence-csv=1`
|
||||
- Agentctl `runPresenceActivityCsvJourney`, `runReadStateExportJourney`
|
||||
|
||||
## Verification
|
||||
|
||||
```bash
|
||||
npm run test:ci-phase708
|
||||
```
|
||||
@@ -0,0 +1,9 @@
|
||||
# Pearcord v0.8.683
|
||||
|
||||
**Phase 708 — Presence activity CSV & read-state export mesh parity**
|
||||
|
||||
- Presence activity CSV mesh modal with push/clear and HMAC validation
|
||||
- Read-state export CSV with mesh gossip (RPC **134** / **135**)
|
||||
- Deep link `?presence-csv=1`, ui-flow presence CSV IPC, **presence-csv-errors** dev filter
|
||||
- Agentctl presence activity + read-state export journeys
|
||||
- Bundle: `npm run test:ci-phase708`
|
||||
Reference in New Issue
Block a user