chore(dashboard): wave 1 of code-health audit fixes#102
Merged
pratyush618 merged 13 commits intomasterfrom May 1, 2026
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Refactors / dedup
LEVEL_STYLE/LEVEL_TONEintolib/status.tsaslogLevelClass()(was duplicated verbatim injob-logs-tab.tsxandlog-stream.tsx).formatAxisTimeintofeatures/metrics/utils.ts(was duplicated inthroughput-chart.tsxandlatency-chart.tsx).job-dag-tab.tsxinto a puredag-layout.tsmodule so it can be unit-tested without a DOM.Bugs uncovered while testing
nodes.length - 1and add a regression test.now_millis()+ the Python timeseries aggregator) emits ms;job-table.tsx,job-replay-tab.tsx, andthroughput-chart.tsxwere rendering jobs as "in 53,000 years". Other call sites already used the values directly, which is why the bug was inconsistent. Annotate every timestamp field inapi-types.tswith/** Unix milliseconds */so future readers don't re-introduce the same mistake.Lint hygiene
eslint-disable-next-lineinjob-filters.tsx(Biome ignores the comment style) with a proper ref-based debounce that doesn't need a suppression at all.correctness/useExhaustiveDependenciesfromwarntoerrorinbiome.json— warns-only rules slip past CI.URL state
/dead-letters:pageandvieware now TanStack Router search params, so deep-linking and back/forward work the same way they do on/jobs.Test coverage
lib/api-client.ts—buildUrl(param escaping, null/undefined/"" omission),parse(JSON vs text content-type,ApiErrorpaths), and the publicapi.{get,post,put,delete}surface.lib/errors.ts—isNetworkErroragainst Chrome/Firefox/Safari fetch-failure messages,isServerUnavailablefor 502/503/504, andisBackendUnreachable.features/settings/derived.ts—parseExternalLinks(parse-guard, type filter, extra-field stripping) andapplyJobContext(template substitution, URL-encoding, multi-occurrence).features/jobs/components/dag-layout.ts— empty graph, linear chain, fan-out, multi-path depth, cycles, isolated nodes, field preservation.Cleanup
shortName/docsUrl/repoUrlfromlib/site.ts.Test plan
pnpm run ci(biome ci + typecheck + 81 vitest tests + vite build) passes locally./dead-letters?page=2&view=flatdeep-links straight to that page and view, and back/forward in the browser keeps state.