mirror of
https://github.com/PR0M3TH3AN/bitvid.git
synced 2026-10-27 16:02:26 +00:00
The controller→Actions split left a batch of method calls in ProfileDirectMessageActions pointing at `this` (the Actions instance) instead of the object that actually defines them. Opening a conversation threw "this.setFocusedDmConversation is not a function"; the same latent bug also broke DM send-error messaging, read receipts, settings publish, and the whole attachment flow (generate/render/reset/upload) — the user just hadn't exercised them yet. Route each to its real receiver: - DM-controller methods → this.controller.*: handleDmSettingsPublish, describeDirectMessageSendError, maybePublishReadReceipt, setFocusedDmConversation - main-controller methods → this.mainController.*: generateAttachmentId, renderAttachmentQueue, resetAttachmentQueue, uploadAttachmentQueue, clearProfileMessages (Builds on the earlier handleDmConversationSelect delegation fix.) A static sweep confirms every remaining `this.*` call in Actions resolves to an Actions method or an explicit controller/mainController/helper receiver. Test: tests/dm-conversation-select.test.mjs (cheat-resistant — drives the real handleDmConversationSelect with stub receivers; would throw on the old wrong-receiver code). DM unit + integration suites green; full build OK. Co-Authored-By: Claude Opus 4.8 <[email protected]>