fix: add error logging for various API calls across components
Deploy to VPS / deploy (push) Successful in 2m20s

This commit is contained in:
asepharyana
2026-07-26 16:34:06 +07:00
parent 74eabb7231
commit 1021301656
11 changed files with 56 additions and 51 deletions
@@ -29,8 +29,8 @@ export default function AnalysisPage() {
const { messagesApi } = await import("@/lib/api");
try {
await messagesApi.reanalyze(id);
} catch {
/* ignore */
} catch (err) {
console.error("analysis/reanalyze:", err);
}
}, []);
@@ -82,8 +82,8 @@ export default function DashboardPage() {
const detail = await dashboardApi.getUserDetail(userId);
setActiveUser(detail);
setView("user-detail");
} catch {
/* ignore */
} catch (err) {
console.error("dashboard/userDetail:", err);
}
}}
/>
@@ -97,8 +97,8 @@ export default function DashboardPage() {
const detail = await dashboardApi.getChannelDetail(chId);
setActiveChannel(detail);
setView("channel-detail");
} catch {
/* ignore */
} catch (err) {
console.error("dashboard/channelDetail:", err);
}
}}
/>
@@ -121,8 +121,8 @@ export default function MessagesPage() {
const { messagesApi } = await import("@/lib/api");
try {
await messagesApi.reanalyze(id);
} catch {
/* ignore */
} catch (err) {
console.error("messages/reanalyze:", err);
}
}, []);
@@ -131,8 +131,8 @@ export default function MessagesPage() {
const { messagesApi } = await import("@/lib/api");
try {
await messagesApi.reanalyzeBatch(guildId);
} catch {
/* ignore */
} catch (err) {
console.error("messages/reanalyzeBatch:", err);
}
}, [guildId]);
@@ -238,7 +238,8 @@ export default function VoicePage() {
await voiceApi.sendCommand(
checked ? "voice:transmit:start" : "voice:transmit:stop",
);
} catch {
} catch (err) {
console.error("voice/mic:", err);
setMicActive(!checked);
}
}}
@@ -51,8 +51,8 @@ export function Chatbot() {
try {
await chatbotApi.clearHistory();
setMessages([]);
} catch {
// ignore
} catch (err) {
console.error("chatbot/clearHistory:", err);
}
}, []);
@@ -78,7 +78,8 @@ export function Chatbot() {
timestamp: resp.timestamp,
},
]);
} catch {
} catch (err) {
console.error("chatbot/send:", err);
setMessages((prev) => [
...prev,
{
@@ -43,8 +43,8 @@ export function LiveStats() {
guildCount: guilds.length,
wsConnected: false,
});
} catch {
// ignore
} catch (err) {
console.error("live-stats:", err);
} finally {
if (!cancelled) setLoading(false);
}
+8 -8
View File
@@ -59,8 +59,8 @@ export function useUsers(): UseUsersReturn {
try {
const result = await dashboardApi.listUsers(20, undefined, q);
setUsers(result.data);
} catch {
// silently fail
} catch (err) {
console.error("useUsers:", err);
} finally {
setLoading(false);
}
@@ -104,8 +104,8 @@ export function useChannels(guildId: string): UseChannelsReturn {
guildId || undefined,
);
setChannels(result.data);
} catch {
// silently fail
} catch (err) {
console.error("useChannels:", err);
} finally {
setLoading(false);
}
@@ -137,8 +137,8 @@ export function useUserDetail() {
try {
const detail = await dashboardApi.getUserDetail(userId);
setUser(detail);
} catch {
// ignore
} catch (err) {
console.error("useUserDetail:", err);
} finally {
setLoading(false);
}
@@ -158,8 +158,8 @@ export function useChannelDetail() {
try {
const detail = await dashboardApi.getChannelDetail(channelId);
setChannel(detail);
} catch {
// ignore
} catch (err) {
console.error("useChannelDetail:", err);
} finally {
setLoading(false);
}
+10 -10
View File
@@ -27,8 +27,8 @@ export function useMediaState(): UseMediaStateReturn {
try {
const state = await voiceApi.getMediaStatus();
setMediaState(state);
} catch {
// ignore
} catch (err) {
console.error("useMediaState/refresh:", err);
}
}, []);
@@ -36,8 +36,8 @@ export function useMediaState(): UseMediaStateReturn {
try {
const state = await voiceApi.mediaQueue(url, "music");
setMediaState(state);
} catch {
// ignore
} catch (err) {
console.error("useMediaState/queue:", err);
}
}, []);
@@ -45,8 +45,8 @@ export function useMediaState(): UseMediaStateReturn {
try {
const state = await voiceApi.mediaSkip();
setMediaState(state);
} catch {
// ignore
} catch (err) {
console.error("useMediaState/skip:", err);
}
}, []);
@@ -54,8 +54,8 @@ export function useMediaState(): UseMediaStateReturn {
try {
const state = await voiceApi.mediaStop();
setMediaState(state);
} catch {
// ignore
} catch (err) {
console.error("useMediaState/stop:", err);
}
}, []);
@@ -64,8 +64,8 @@ export function useMediaState(): UseMediaStateReturn {
try {
const state = await voiceApi.mediaVolume(vol);
setMediaState(state);
} catch {
// ignore
} catch (err) {
console.error("useMediaState/setVolume:", err);
}
}, []);
+12 -10
View File
@@ -70,8 +70,8 @@ export function useMessages(
setMessages((prev) => [...prev, ...result.data]);
setCursor(result.nextCursor);
setHasMore(result.nextCursor !== null);
} catch {
// ignore
} catch (err) {
console.error("useMessages/loadMore:", err);
} finally {
setLoadingMore(false);
}
@@ -119,7 +119,7 @@ export function useTextChannels(guildId: string): UseTextChannelsReturn {
voiceApi
.getTextChannels(guildId)
.then(setChannels)
.catch(() => {})
.catch((err) => console.error("useTextChannels:", err))
.finally(() => setLoading(false));
}, [guildId]);
@@ -147,7 +147,8 @@ export function useSearch(): UseSearchReturn {
try {
const result = await messagesApi.search(query, 50);
setResults(result.results);
} catch {
} catch (err) {
console.error("useSearch:", err);
setResults([]);
} finally {
setSearching(false);
@@ -167,8 +168,8 @@ export function useImages(guildId: string) {
try {
const result = await messagesApi.getImages(guildId, 50);
setImages(result.data);
} catch {
// silently fail
} catch (err) {
console.error("useImages:", err);
}
}, [guildId]);
@@ -184,8 +185,8 @@ export function useReview(channelId?: string) {
try {
const result = await messagesApi.getReview(50, channelId || undefined);
setReviews(result.results);
} catch {
// silently fail
} catch (err) {
console.error("useReview:", err);
}
}, [channelId]);
@@ -217,9 +218,10 @@ export function useMessageDetail(): UseMessageDetailReturn {
messagesApi
.getAttachments(detail.channel_id, 10)
.then((res) => setAttachments(res.data))
.catch(() => {});
.catch((err) => console.error("useMessageDetail/attachments:", err));
}
} catch {
} catch (err) {
console.error("useMessageDetail:", err);
setMessage(null);
} finally {
setLoading(false);
@@ -28,8 +28,8 @@ export function useRecordings(): UseRecordingsReturn {
try {
const result = await recordingsApi.list(50);
setRecordings(result.items);
} catch {
// ignore
} catch (err) {
console.error("useRecordings/refresh:", err);
} finally {
setLoading(false);
}
@@ -39,8 +39,8 @@ export function useRecordings(): UseRecordingsReturn {
try {
await recordingsApi.delete(id);
setRecordings((prev) => prev.filter((r) => r.id !== id));
} catch {
// ignore
} catch (err) {
console.error("useRecordings/remove:", err);
}
}, []);
+4 -3
View File
@@ -23,8 +23,8 @@ export function useVoiceStatus(): UseVoiceStatusReturn {
try {
const status = await voiceApi.getStatus();
setVoiceStatus(status);
} catch {
// ignore
} catch (err) {
console.error("useVoiceStatus:", err);
}
}, []);
@@ -48,7 +48,8 @@ export function useVoiceChannels(): UseVoiceChannelsReturn {
try {
const ch = await voiceApi.getVoiceChannels(guildId);
setChannels(ch);
} catch {
} catch (err) {
console.error("useVoiceChannels:", err);
setChannels([]);
} finally {
setLoading(false);