Skip to content

feat(chat): type-aware DM feed (CONTACT_DM / TIP_DM)#1110

Merged
bmc08gt merged 3 commits into
code/cashfrom
feat/type-aware-dm-feed
Jul 21, 2026
Merged

feat(chat): type-aware DM feed (CONTACT_DM / TIP_DM)#1110
bmc08gt merged 3 commits into
code/cashfrom
feat/type-aware-dm-feed

Conversation

@bmc08gt

@bmc08gt bmc08gt commented Jul 21, 2026

Copy link
Copy Markdown
Collaborator

Stacked PR 2/5 — base: feat/blob-storage-services (#1109)

Makes the shared chat feed aware of DM type so contact DMs and tip DMs can be tracked separately.

What

  • FeedOperations.feed(chatType) and observeUnreadConversations(chatType) now take a required ChatType.
  • FeedSyncDelegate merges the CONTACT_DM and TIP_DM feeds; the contact identity-drop is applied only to CONTACT_DM.
  • Send flow consumes feed(ChatType.CONTACT_DM); the contact list now carries a ConversationReference instead of a raw Conversation.
  • Session/nav rename the generic notificationUnreadCountcontactDmUnreadCount now that unread is per-type.

Tests

  • FeedSyncCombinedFeedTest.

Review note: the diff against code/cash will collapse once #1109 merges and GitHub retargets the base.

bmc08gt added 2 commits July 21, 2026 18:46
Adds the client wrapper for the BlobStorage gRPC service (direct-to-storage
presigned uploads): Api/Service/Repository/Controller, an HTTP BlobUploader,
the UploadTarget/UploadPolicy domain models + proto converters, error types,
and DI wiring. BlobStorageController.upload() coordinates the full handshake
(reserve -> PUT/POST -> complete -> poll until READY) behind one call, and
getUploadPolicy() exposes the accepted MIME/size constraints.

Covered by UploadPolicyTest and BlobStorageControllerTest.

Signed-off-by: Brandon McAnsh <git@bmcreations.dev>
Makes the shared chat FeedOperations type-aware: feed(chatType) and
observeUnreadConversations(chatType) now take a required ChatType, and the
sync delegate merges the CONTACT_DM and TIP_DM feeds while only applying the
contact identity-drop to CONTACT_DM. Send flow consumes feed(CONTACT_DM); the
contact list carries a ConversationReference instead of a raw Conversation.

Session/nav rename the generic notificationUnreadCount to contactDmUnreadCount
now that unread is tracked per chat type.

Covered by FeedSyncCombinedFeedTest.

Signed-off-by: Brandon McAnsh <git@bmcreations.dev>
@github-actions github-actions Bot added type: feature New functionality area: scanner QR/Kikcode scanning, camera area: session and removed type: feature New functionality labels Jul 21, 2026
Base automatically changed from feat/blob-storage-services to code/cash July 21, 2026 23:11
@github-actions github-actions Bot added the type: feature New functionality label Jul 21, 2026
@bmc08gt
bmc08gt merged commit 13ce249 into code/cash Jul 21, 2026
2 checks passed
@bmc08gt
bmc08gt deleted the feat/type-aware-dm-feed branch July 21, 2026 23:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: scanner QR/Kikcode scanning, camera area: session type: feature New functionality

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant