fix(FN-3825): surface inline notification test feedback in settings
- Persist per-provider notification test results and render inline success/error feedback blocks - Add ntfy "Test message notification" action wired to message-event test payload - Keep toast notifications while also showing provider-specific status text with aria-live feedback - Update SettingsModal tests to verify ntfy message-event call path and inline webhook/ntfy feedback rendering Fusion-Task-Id: FN-3825
This commit is contained in:
@@ -14,8 +14,11 @@ import { EventEmitter } from "node:events";
|
||||
import { randomUUID } from "node:crypto";
|
||||
import type { Database } from "./db.js";
|
||||
import { fromJson, toJsonNullable } from "./db.js";
|
||||
import { createLogger } from "./logger.js";
|
||||
import { DASHBOARD_USER_ID, normalizeMessageParticipant, validateMessageMetadata, type Message, type MessageCreateInput, type MessageFilter, type MessageType, type Mailbox, type ParticipantType } from "./types.js";
|
||||
|
||||
const messageStoreLog = createLogger("message-store");
|
||||
|
||||
// ── Event Types ─────────────────────────────────────────────────────
|
||||
|
||||
/** Events emitted by MessageStore */
|
||||
@@ -163,6 +166,7 @@ export class MessageStore extends EventEmitter<MessageStoreEvents> {
|
||||
);
|
||||
|
||||
this.db.bumpLastModified();
|
||||
messageStoreLog.log(`MessageStore emitting message:sent id=${message.id} type=${message.type} fromId=${message.fromId} toId=${message.toId}`);
|
||||
this.emit("message:sent", message);
|
||||
this.emit("message:received", message);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user