diff --git a/public/index.html b/public/index.html
index 5fb6f3e..938a42b 100644
--- a/public/index.html
+++ b/public/index.html
@@ -126,13 +126,13 @@
el.channelFilter.value = state.selectedTextChannel;
applyActiveTab(state.activeTab);
if ((textChanged || textGuildChanged) && state.selectedTextChannel && state.selectedTextGuild) {
- await apiRequest('/api/backlog-sync', {
+ apiRequest('/api/backlog-sync', {
method: 'POST',
body: JSON.stringify({ guildId: state.selectedTextGuild, channelId: state.selectedTextChannel }),
}).catch((error) => showError(`Backlog sync failed: ${error.message}`));
}
if (textChanged || textGuildChanged || state.activeTab === 'text') {
- await fetchText().catch((error) => showError(error.message));
+ fetchText().catch((error) => showError(error.message));
}
await reconcileListenState();
await reconcileStreamingState();
diff --git a/src/routes/syncRoutes.ts b/src/routes/syncRoutes.ts
index 1a80597..e8b0a7d 100644
--- a/src/routes/syncRoutes.ts
+++ b/src/routes/syncRoutes.ts
@@ -50,28 +50,37 @@ export function createSyncRoutes(client: Client): Router {
success: true,
channelId,
messagesSync: 0,
+ queued: false,
skipped: true,
});
return;
}
- logger.info({ guildId, channelId }, "Starting backlog sync");
+ logger.info({ guildId, channelId }, "Queueing backlog sync");
- const count = await syncSelectedChannelBacklog(
- client,
- guildId,
- channelId,
- );
-
- logger.info(
- { guildId, channelId, messagesSync: count },
- "Backlog sync complete",
- );
+ syncSelectedChannelBacklog(client, guildId, channelId)
+ .then((count) => {
+ logger.info(
+ { guildId, channelId, messagesSync: count },
+ "Backlog sync complete",
+ );
+ })
+ .catch((error) => {
+ logger.warn(
+ {
+ guildId,
+ channelId,
+ error: error instanceof Error ? error.message : String(error),
+ },
+ "Backlog sync failed",
+ );
+ });
res.json({
success: true,
channelId,
- messagesSync: count,
+ messagesSync: 0,
+ queued: true,
skipped: false,
});
} catch (error) {
diff --git a/tests/routes/syncRoutes.test.ts b/tests/routes/syncRoutes.test.ts
index 2dc9eda..04fbb12 100644
--- a/tests/routes/syncRoutes.test.ts
+++ b/tests/routes/syncRoutes.test.ts
@@ -45,7 +45,8 @@ describe("createSyncRoutes", () => {
expect(json).toHaveBeenCalledWith({
success: true,
channelId: "selected-channel",
- messagesSync: 3,
+ messagesSync: 0,
+ queued: true,
skipped: false,
});
expect(next).not.toHaveBeenCalled();
@@ -91,6 +92,7 @@ describe("createSyncRoutes", () => {
success: true,
channelId: "selected-channel",
messagesSync: 0,
+ queued: false,
skipped: true,
});
});