Commit Graph
11 Commits
Author SHA1 Message Date
Raven ScottandCursor 6eca466781 feat(platform): createForumPost API and forumPosts view snapshot
Create forum posts as threads with starter messages, gossip channel create/
update, audit forum.post.create, and expose sorted forumPosts when a forum
channel is active. Block typing on forum channels.

Co-authored-by: Cursor <[email protected]>
2026-05-21 21:30:12 -04:00
Raven ScottandCursor 6dadc18c51 feat(platform): gate kick, ban, and bot install tokens behind step-up PIN
Wire pearcord-step-up into bootstrap and view snapshot (stepUpPinSet,
stepUpUnlocked). Add setStepUpPin, verifyStepUpPin, clearStepUpPin, and
_assertStepUp before moderation and bot-admin APIs. Depends on pearcord-step-up.

Co-authored-by: Cursor <[email protected]>
2026-05-21 21:24:24 -04:00
Raven ScottandCursor ab31c97441 feat(platform): gossip DM read receipts on markChannelRead
When marking a DM channel read, fan out CHANNEL_READ on the DM mesh.
Expose dmPeerReadAt and dmReadByUser on view() for Seen UI.

Co-authored-by: Cursor <[email protected]>
2026-05-21 21:16:54 -04:00
Raven ScottandCursor 031b5ffa71 feat(platform): pruneDiscoveryListings wrapper
Expose discovery.pruneStaleListings for future IPC; listing reads
already auto-prune via listPublicListings in view().

Co-authored-by: Cursor <[email protected]>
2026-05-21 21:14:23 -04:00
Raven ScottandCursor 200f2e54b5 feat(platform): setGuildDiscoveryTags and discovery tag filter
Wire discovery tags through platform view and IPC.

- setGuildDiscoveryTags re-announces public listing when listed
- setDiscoveryFilter accepts tag; view.discoveryAllTags
- _refreshDiscoveryAnnouncements includes guild tags

Co-authored-by: Cursor <[email protected]>
2026-05-21 21:12:53 -04:00
Raven ScottandCursor 9d089e2dda feat(platform): thread channel typing hints and archived guards
Extend guild typing for thread channels (v0.6.6 Phase 20).

- _buildThreadTypingByParent for sidebar typing pills on thread rows
- view.threadTypingByParent with displayNames per active thread
- Block sendMessage in archived threads (_assertChannelWritable)
- signalTyping no-op when active thread is archived
- Reuse memberNameById for voice + thread typing maps

Co-authored-by: Cursor <[email protected]>
2026-05-21 21:10:26 -04:00
Raven ScottandCursor 11b0346e17 feat(platform): discovery filter state in view
Add setDiscoveryFilter() and expose filteredPublicListings,
discoveryFilter on view() for Explore UI and autonomous smokes.

Co-authored-by: Cursor <[email protected]>
2026-05-21 21:07:54 -04:00
Raven ScottandCursor ee460f6ee2 feat(platform): setPresence accepts optional customStatus
Pass customStatus through to PearcordPresence.setStatus so IPC and
contacts.broadcastPresence can sync status text to friends.

Co-authored-by: Cursor <[email protected]>
2026-05-21 21:05:23 -04:00
Raven ScottandCursor 913149cc2a feat(platform): friend presence and guild channel typing in view
Extend PearcordPlatform for v0.6.3 social realtime polish.

- setPresence also contacts.broadcastPresence()
- listContacts enriches accepted friends with presence/customStatus
- _guildTyping map (5s TTL) + _onGuildTyping from guild typing event
- signalTyping fans out to DM and guild.gossipTyping in guild mode
- view() typingUsers: member names in guild, peer id in DM
- friend-presence IPC event for UI status dots

Co-authored-by: Cursor <[email protected]>
2026-05-21 21:03:46 -04:00
Raven ScottandCursor 7dcb5875ca feat(platform): v0.6.2 createGroupDM and openGroupDM APIs
_initDmSession with Hyperswarm keypair, gossip group channel on create,
view fields dmIsGroup and dmParticipantIds.

Co-authored-by: Cursor <[email protected]>
2026-05-21 20:59:54 -04:00
Raven ScottandCursor 4e9afd18d6 feat(platform): v0.6.1 image guild emoji staging and preview API
stageGuildEmojiImage on __emoji__ channel, upsertGuildEmoji with image blob,
gossip ATTACHMENT_META with EMOJI_UPSERT, readEmojiImage for UI IPC.

Co-authored-by: Cursor <[email protected]>
2026-05-21 20:56:45 -04:00