From 8a498e902de33980ac6b7fdb9ed8af148a240f4b Mon Sep 17 00:00:00 2001 From: Raj Nandan Sharma Date: Mon, 9 Feb 2026 22:30:11 +0530 Subject: [PATCH] refactor: update tooltip styles and improve component structure across multiple files --- src/lib/components/KenerNav.svelte | 6 +++++- src/lib/components/MinuteGrid.svelte | 7 ++++--- src/lib/components/MonitorOverview.svelte | 2 ++ src/lib/components/StatusBarCalendar.svelte | 6 +++--- src/lib/server/queues/alertingQueue.ts | 7 +++++++ src/lib/server/queues/emailQueue.ts | 7 +++++++ src/lib/server/queues/monitorExecuteQueue.ts | 7 +++++++ src/lib/server/queues/monitorResponseQueue.ts | 7 +++++++ src/lib/server/queues/subscriberQueue.ts | 11 ++++++++++- src/lib/server/schedulers/appScheduler.ts | 7 +++++++ .../server/schedulers/maintenanceScheduler.ts | 8 +++++++- src/lib/server/schedulers/monitorSchedulers.ts | 10 ++++++++++ src/routes/(docs)/docs/DocsSidebar.svelte | 4 ++-- src/routes/(kener)/+layout.svelte | 5 +++-- .../monitors/[monitor_tag]/+page.server.ts | 15 ++++++++++++++- .../monitors/[monitor_tag]/+page.svelte | 18 ++++++++++++++++++ 16 files changed, 113 insertions(+), 14 deletions(-) diff --git a/src/lib/components/KenerNav.svelte b/src/lib/components/KenerNav.svelte index 22362c87..b5e44764 100644 --- a/src/lib/components/KenerNav.svelte +++ b/src/lib/components/KenerNav.svelte @@ -43,7 +43,11 @@ style="border-radius: var(--radius-3xl)" > {#if item.iconURL} - {item.name} + {item.name} {/if} {item.name} diff --git a/src/lib/components/MinuteGrid.svelte b/src/lib/components/MinuteGrid.svelte index d2d8e405..f2fa7505 100644 --- a/src/lib/components/MinuteGrid.svelte +++ b/src/lib/components/MinuteGrid.svelte @@ -307,11 +307,12 @@ {#if hoveredMinute}
- {$formatDate(hoveredMinute.data.timestamp, "HH:mm")} - - {$t(hoveredMinute.data.status)} + + {$t(hoveredMinute.data.status)} @ {$formatDate(hoveredMinute.data.timestamp, "HH:mm")} +
{/if} diff --git a/src/lib/components/MonitorOverview.svelte b/src/lib/components/MonitorOverview.svelte index 58c85a25..b5e3c27d 100644 --- a/src/lib/components/MonitorOverview.svelte +++ b/src/lib/components/MonitorOverview.svelte @@ -15,6 +15,8 @@ import { getEndOfDayAtTz } from "$lib/client/datetime"; import { formatDate } from "$lib/stores/datetime"; import clientResolver from "$lib/client/resolver.js"; + import { ArrowDown } from "@lucide/svelte"; + import MonitorBar from "./MonitorBar.svelte"; interface Props { monitorTag: string; class?: string; diff --git a/src/lib/components/StatusBarCalendar.svelte b/src/lib/components/StatusBarCalendar.svelte index acc62d56..943ac10a 100644 --- a/src/lib/components/StatusBarCalendar.svelte +++ b/src/lib/components/StatusBarCalendar.svelte @@ -365,14 +365,14 @@ {#if hoveredBar}
{$t(GetStatusSummary(hoveredBar.data))} - @ + @ {$formatDate(hoveredBar.data.ts, "d MMM yyyy")} {#if hoveredBar.data.avgLatency > 0} - | + | {ParseLatency(hoveredBar.data.avgLatency)} {/if}
diff --git a/src/lib/server/queues/alertingQueue.ts b/src/lib/server/queues/alertingQueue.ts index a619c8d6..31465d8d 100644 --- a/src/lib/server/queues/alertingQueue.ts +++ b/src/lib/server/queues/alertingQueue.ts @@ -315,6 +315,13 @@ export const push = async (monitor_tag: string, ts: number, status: string, opti if (!options) { options = {}; } + options.removeOnComplete = { + age: 300, // keep up to 5 minutes + count: 100, // keep up to 100 jobs + }; + options.removeOnFail = { + age: 24 * 3600, // keep up to 24 hours + }; const queue = getQueue(); addWorker(); diff --git a/src/lib/server/queues/emailQueue.ts b/src/lib/server/queues/emailQueue.ts index fc845cb0..1cbdf81a 100644 --- a/src/lib/server/queues/emailQueue.ts +++ b/src/lib/server/queues/emailQueue.ts @@ -71,6 +71,13 @@ export const push = async (jobData: EmailJobData, options?: JobsOptions) => { if (!options) { options = {}; } + options.removeOnComplete = { + age: 300, // keep up to 5 minutes + count: 100, // keep up to 100 jobs + }; + options.removeOnFail = { + age: 24 * 3600, // keep up to 24 hours + }; const queue = getQueue(); addWorker(); diff --git a/src/lib/server/queues/monitorExecuteQueue.ts b/src/lib/server/queues/monitorExecuteQueue.ts index 376c9350..f107ff60 100644 --- a/src/lib/server/queues/monitorExecuteQueue.ts +++ b/src/lib/server/queues/monitorExecuteQueue.ts @@ -195,6 +195,13 @@ export const push = async (monitor: MonitorRecordTyped, ts: number, options?: Jo id: deDupId, }; } + options.removeOnComplete = { + age: 3600, // keep up to 1 hour + count: 1000, // keep up to 1000 jobs + }; + options.removeOnFail = { + age: 24 * 3600, // keep up to 24 hours + }; const queue = getQueue(); addWorker(); await queue.add( diff --git a/src/lib/server/queues/monitorResponseQueue.ts b/src/lib/server/queues/monitorResponseQueue.ts index a007c225..7df399bd 100644 --- a/src/lib/server/queues/monitorResponseQueue.ts +++ b/src/lib/server/queues/monitorResponseQueue.ts @@ -76,6 +76,13 @@ export const push = async (monitorTag: string, ts: number, result: MonitoringRes id: deDupId, }; } + options.removeOnComplete = { + age: 300, // keep up to 5 minutes + count: 100, // keep up to 100 jobs + }; + options.removeOnFail = { + age: 24 * 3600, // keep up to 24 hours + }; const queue = getQueue(); addWorker(); await queue.add( diff --git a/src/lib/server/queues/subscriberQueue.ts b/src/lib/server/queues/subscriberQueue.ts index 5cbc21cc..323ec12e 100644 --- a/src/lib/server/queues/subscriberQueue.ts +++ b/src/lib/server/queues/subscriberQueue.ts @@ -93,7 +93,16 @@ export const push = async (variables: SubscriptionVariableMap, options?: JobsOpt if (!options) { options = {}; } - + if (!options) { + options = {}; + } + options.removeOnComplete = { + age: 300, // keep up to 5 minutes + count: 100, // keep up to 100 jobs + }; + options.removeOnFail = { + age: 24 * 3600, // keep up to 24 hours + }; const queue = getQueue(); addWorker(); diff --git a/src/lib/server/schedulers/appScheduler.ts b/src/lib/server/schedulers/appScheduler.ts index bf4fb3ae..a4fba3c4 100644 --- a/src/lib/server/schedulers/appScheduler.ts +++ b/src/lib/server/schedulers/appScheduler.ts @@ -87,6 +87,13 @@ export const start = async (options?: JobSchedulerTemplateOptions) => { if (!options) { options = {}; } + options.removeOnComplete = { + age: 300, // keep up to 5 minutes + count: 100, // keep up to 100 jobs + }; + options.removeOnFail = { + age: 24 * 3600, // keep up to 24 hours + }; const queue = getQueue(); addWorker(); diff --git a/src/lib/server/schedulers/maintenanceScheduler.ts b/src/lib/server/schedulers/maintenanceScheduler.ts index 862112fb..346e2b63 100644 --- a/src/lib/server/schedulers/maintenanceScheduler.ts +++ b/src/lib/server/schedulers/maintenanceScheduler.ts @@ -137,7 +137,13 @@ export const start = async (options?: JobSchedulerTemplateOptions) => { if (!options) { options = {}; } - + options.removeOnComplete = { + age: 300, // keep up to 5 minutes + count: 100, // keep up to 100 jobs + }; + options.removeOnFail = { + age: 24 * 3600, // keep up to 24 hours + }; const queue = getQueue(); addWorker(); diff --git a/src/lib/server/schedulers/monitorSchedulers.ts b/src/lib/server/schedulers/monitorSchedulers.ts index 7fc45607..90756c3b 100644 --- a/src/lib/server/schedulers/monitorSchedulers.ts +++ b/src/lib/server/schedulers/monitorSchedulers.ts @@ -46,6 +46,16 @@ export const addJobToSchedulerQueue = async ( if (!monitor.cron) { throw new Error("Monitor cron expression is undefined"); } + if (!options) { + options = {}; + } + options.removeOnComplete = { + age: 300, // keep up to 5 minutes + count: 100, // keep up to 100 jobs + }; + options.removeOnFail = { + age: 24 * 3600, // keep up to 24 hours + }; const queue = getQueue(minNumOfWorkers); await queue.upsertJobScheduler( id, diff --git a/src/routes/(docs)/docs/DocsSidebar.svelte b/src/routes/(docs)/docs/DocsSidebar.svelte index b519b777..7179b917 100644 --- a/src/routes/(docs)/docs/DocsSidebar.svelte +++ b/src/routes/(docs)/docs/DocsSidebar.svelte @@ -44,7 +44,7 @@ let expandedGroups = $state([]); let expandedPages = $state([]); - let prevSlug = $state(currentSlug); + let prevSlug = $state(""); // Auto-expand when navigating to a different page (not when manually toggling) $effect(() => { @@ -102,7 +102,7 @@