auq-mcp-server 3.3.0 → 3.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/package.json +1 -1
- package/dist/src/tui-opentui/app.js +16 -0
- package/package.json +1 -1
package/dist/package.json
CHANGED
|
@@ -21,6 +21,7 @@ import { SessionPicker as _SessionPicker } from "./components/SessionPicker.js";
|
|
|
21
21
|
import { UpdateOverlay as _UpdateOverlay } from "./components/UpdateOverlay.js";
|
|
22
22
|
import { Toast as _Toast } from "./components/Toast.js";
|
|
23
23
|
import { ThemeIndicator as _ThemeIndicator } from "./components/ThemeIndicator.js";
|
|
24
|
+
import { createNotificationBatcher, } from "../tui/notifications/index.js";
|
|
24
25
|
// Cast to FC to avoid React class component type mismatch between @opentui/react
|
|
25
26
|
// bundled React version and the project's @types/react (structural type incompatibility).
|
|
26
27
|
// ErrorBoundary is still a valid class component at runtime.
|
|
@@ -54,6 +55,14 @@ function AppInner({ config }) {
|
|
|
54
55
|
const [changelogContent, setChangelogContent] = useState(null);
|
|
55
56
|
const [updateDismissed, setUpdateDismissed] = useState(false);
|
|
56
57
|
const [isCheckingUpdate, setIsCheckingUpdate] = useState(false);
|
|
58
|
+
// Notification configuration from config
|
|
59
|
+
const notificationConfig = useMemo(() => config?.notifications ?? { enabled: true, sound: true }, [config?.notifications]);
|
|
60
|
+
// Create notification batcher (memoized to persist across renders)
|
|
61
|
+
const notificationBatcherRef = useRef(null);
|
|
62
|
+
if (!notificationBatcherRef.current) {
|
|
63
|
+
notificationBatcherRef.current =
|
|
64
|
+
createNotificationBatcher(notificationConfig);
|
|
65
|
+
}
|
|
57
66
|
const sessionDir = getSessionDirectory();
|
|
58
67
|
// ── Show toast helper ────────────────────────────────────────
|
|
59
68
|
const showToast = useCallback((message, type = "success", title) => {
|
|
@@ -95,6 +104,10 @@ function AppInner({ config }) {
|
|
|
95
104
|
setSessionQueue((prev) => {
|
|
96
105
|
if (prev.some((s) => s.sessionId === event.sessionId))
|
|
97
106
|
return prev;
|
|
107
|
+
// Queue notification for new session (batched)
|
|
108
|
+
if (notificationBatcherRef.current) {
|
|
109
|
+
notificationBatcherRef.current.queue(event.sessionId);
|
|
110
|
+
}
|
|
98
111
|
return [
|
|
99
112
|
...prev,
|
|
100
113
|
{
|
|
@@ -115,6 +128,9 @@ function AppInner({ config }) {
|
|
|
115
128
|
return () => {
|
|
116
129
|
if (watcherInstance)
|
|
117
130
|
watcherInstance.stop();
|
|
131
|
+
if (notificationBatcherRef.current) {
|
|
132
|
+
notificationBatcherRef.current.flush();
|
|
133
|
+
}
|
|
118
134
|
};
|
|
119
135
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
120
136
|
}, []);
|