mirror of
https://github.com/hoornet/vega.git
synced 2026-05-10 22:29:11 -07:00
Add subscription debug panel (Ctrl+Shift+D)
Hidden dev tool showing NDK uptime, live subscription status, per-relay connection state, per-tab last-updated timestamps, and recent feed diagnostics log. Polls every 2s while visible. Closes with Ctrl+Shift+D, Escape, or X button.
This commit is contained in:
@@ -11,6 +11,10 @@ const MAX_FEED_SIZE = 200;
|
||||
|
||||
// Live subscription handle — persists across store calls
|
||||
let liveSub: NDKSubscription | null = null;
|
||||
|
||||
export function isLiveSubActive(): boolean {
|
||||
return liveSub !== null;
|
||||
}
|
||||
let saveTimer: ReturnType<typeof setTimeout> | null = null;
|
||||
|
||||
interface FeedState {
|
||||
|
||||
@@ -27,6 +27,7 @@ interface UIState {
|
||||
pendingArticleEvent: NDKEvent | null;
|
||||
pendingHashtag: string | null;
|
||||
showHelp: boolean;
|
||||
showDebugPanel: boolean;
|
||||
feedLanguageFilter: string | null;
|
||||
setView: (view: View) => void;
|
||||
setFeedTab: (tab: FeedTab) => void;
|
||||
@@ -40,6 +41,7 @@ interface UIState {
|
||||
setFeedLanguageFilter: (filter: string | null) => void;
|
||||
toggleSidebar: () => void;
|
||||
toggleHelp: () => void;
|
||||
toggleDebugPanel: () => void;
|
||||
}
|
||||
|
||||
const SIDEBAR_KEY = "wrystr_sidebar_collapsed";
|
||||
@@ -58,6 +60,7 @@ export const useUIStore = create<UIState>((set, _get) => ({
|
||||
pendingArticleEvent: null,
|
||||
pendingHashtag: null,
|
||||
showHelp: false,
|
||||
showDebugPanel: false,
|
||||
feedLanguageFilter: null,
|
||||
setView: (currentView) => set({ currentView }),
|
||||
setFeedTab: (feedTab) => set({ feedTab }),
|
||||
@@ -94,4 +97,5 @@ export const useUIStore = create<UIState>((set, _get) => ({
|
||||
return { sidebarCollapsed: next };
|
||||
}),
|
||||
toggleHelp: () => set((s) => ({ showHelp: !s.showHelp })),
|
||||
toggleDebugPanel: () => set((s) => ({ showDebugPanel: !s.showDebugPanel })),
|
||||
}));
|
||||
|
||||
Reference in New Issue
Block a user