Refactor alias handling in incident and live pages
Publish telemt-api gateway Docker image / test (push) Successful in 25s
Publish telemt-api gateway Docker image / build-and-push (push) Successful in 2m14s

- Updated the `load` and `connectStream` functions to accept an optional `aliasOverride` parameter, allowing for more flexible alias filtering.
- Enhanced the logic for determining the active alias based on URL parameters, ensuring accurate data retrieval and stream connections.
- Improved consistency in alias management across both incident and live pages, streamlining user experience.
This commit is contained in:
Denozordec
2026-03-30 20:09:05 +07:00
parent 725ab0bf6e
commit 23f71378d3
2 changed files with 12 additions and 8 deletions
+6 -4
View File
@@ -114,12 +114,13 @@
}
}
async function load() {
async function load(aliasOverride?: string) {
loading = true;
err = null;
try {
const activeAlias = aliasOverride ?? aliasFilter;
const env = await fetchAggIncidents({
aliases: aliasFilter === 'all' ? undefined : aliasFilter
aliases: activeAlias === 'all' ? undefined : activeAlias
});
data = env.data ?? null;
partial = !!env.partial;
@@ -151,11 +152,12 @@
$effect(() => {
queryKey;
if (typeof window === 'undefined') return;
aliasFilter = parseAliasFilter(page.url.searchParams.get('aliases'));
const nextAlias = parseAliasFilter(page.url.searchParams.get('aliases'));
aliasFilter = nextAlias;
refreshSeconds = parseRefresh(page.url.searchParams.get('refresh'));
refreshInput = String(refreshSeconds);
restartPolling();
void load();
void load(nextAlias);
});
let staleSeconds = $derived.by(() =>
+6 -4
View File
@@ -151,11 +151,12 @@
}, 250);
}
function connectStream() {
function connectStream(aliasOverride?: string) {
closeStream();
clearReconnectTimer();
err = null;
const aliasesParam = aliasFilter === 'all' ? undefined : aliasFilter;
const activeAlias = aliasOverride ?? aliasFilter;
const aliasesParam = activeAlias === 'all' ? undefined : activeAlias;
const url = liveEventsUrl({ aliases: aliasesParam });
const next = new EventSource(url);
next.onopen = () => {
@@ -214,8 +215,9 @@
$effect(() => {
queryKey;
if (typeof window === 'undefined') return;
aliasFilter = parseAliasFilter(page.url.searchParams.get('aliases'));
connectStream();
const nextAlias = parseAliasFilter(page.url.searchParams.get('aliases'));
aliasFilter = nextAlias;
connectStream(nextAlias);
});
let staleSeconds = $derived.by(() =>