Repository navigation
refactor(dashboard): lote 6 — loggers, flow-routing, logs/activity/audit/costs/quota/limits/models/context/compression/translator on the CI UI Kit (KEA-7886) - #17882
Merged
Conversation
…density (KEA-7886, lote 6)
…KEA-7886, lote 6)
… (KEA-7886, lote 6)
…ns) on the CI UI Kit (KEA-7886, lote 6)
…kit-lote6 # Conflicts: # src/shared/constants/iconMap.ts
…erge (KEA-7886, lote 6)
…kit-lote6 # Conflicts: # src/shared/constants/iconMap.ts
…kit-lote6 # Conflicts: # src/shared/components/SkillsConceptCard.tsx # src/shared/components/cli/CliComparisonCard.tsx # src/shared/components/cli/CliConceptCard.tsx # src/shared/components/cli/CliToolCard.tsx # src/shared/constants/iconMap.ts
…ic width (KEA-7886, lote 6)
…ect names, adapters) (KEA-7886) - RequestTimeline: bar labels and the NOW tab use text-bg (inverts per theme) instead of white, which was ~1.5-2.2:1 on the dark-mode pastel fills; MCP bars move to chart-2 (chart-4 equals the 2xx success green in both themes). - Translator RawJsonPanel / TestBenchAccordion: the 4 format/provider selects get their name through the Select adapter's label prop instead of a loose <label>. - ModelRoutingSection rule toggle -> Toggle adapter (switch named "Enabled"); MonitorTab auto-refresh drops aria-pressed; RequestLoggerDetail live refresh keeps aria-pressed with a static "Live refresh" name (new key in en/pt-BR/vi). - EventTypeFilter -> FilterPills; logger column chips -> ColumnToggle in the table toolbar; logger quick filters wrapped in a named group. - Models select-all uses the Checkbox adapter (forwards indeterminate). - iconMap: restore the base's key_off rationale comment; robot key in order. - Tests: new translator-select-accessible-names (RED on the loose labels) and lote6-adapter-adoption; ModelRoutingSection switch case; warm-up beforeAll in the two lote-6 kit-control files and 6760, whose 20 s timeout is back to the default.
…kit-lote6 # Conflicts: # src/shared/constants/iconMap.ts
…back-merge (KEA-7886)
…kit-lote6 # Conflicts: # src/shared/constants/iconMap.ts
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.
Lote 6 of the CI UI Kit migration (KEA-7886, Task 36): the shared loggers and flow-routing groups plus 34 screens moved onto the kit adapters and
@omniroute/ui-kit/*subpaths. No kit, adapter,globals.cssor layout changes.Screens × spec × tests × screenshots
_artifacts/)loggers-kit-controls)flow-routing-kit-controls)lote6-logs{,-console,-proxy,-timeline,-activity}-{light,dark,390}.pnglote6-adapter-adoption)lote6-activity-*.pnglote6-audit{,-mcp,-a2a}-*.pnglote6-costs{,-budget,-pricing}-*.pnglote6-costs-quota-share-*.pnglote6-quota-*.png,lote6-limits-*.pnglote6-models-*.pnglote6-context-{ccr,llmlingua,caveman,lite,settings,aggressive,rtk,session-dedup,omniglyph,headroom,ultra,combos}-*.pnglote6-compression-{studio,live,exclusions}-*.pngtranslator-select-accessible-names)lote6-translator-*.pngAll 96 screenshots:
_artifacts/lote6-<route>-{light,dark,390}.png; fix-round re-shots (seeded call logs + MCP audit rows):_artifacts/lote6/fix1-shots/(local disk, not committed).P6 greps (147 scope files, before → after)
material-symbols-outlined185 → 0<button|input|select|textarea|table>281 → 1 (hidden<input type="file">in RtkTomlImportCard)bg-white; the 2 timelinetext-whitehits are gone)dark:172 → 0;"use client"violations 0requestLogger.detail.liveRefresh)Fix round 1 (review findings)
text-bg(inverts per theme); re-shot with seeded rows, axe on the pageSelects with no accessible name (RawJsonPanel, TestBenchAccordion)label=on the Select adapter; new test RED on the loose labels → GREENchart-4)chart-2aria-pressed+ action labelToggle(switch "Enabled"); MonitorTab dropsaria-pressed; live refresh keepsaria-pressedwith a static "Live refresh" nameFilterPills; logger column chips →ColumnTogglein the table toolbar; quick-filter rows in a namedrole="group"beforeAllin the 2 new kit-control files and 6760; 6760 back on the default timeoutCheckboxadapter (indeterminate)key_offrationale restored;robotin alphabetical orderValidation
npm run lint -- --concurrency=6rc 0 ·typecheck:corerc 0 ·check:dashboard-typecheckrc 0 (after the 74636c4 back-merge, 194 pre-existing within baseline) ·check:ui-icurc 0 ·check-key-completeness --warnrc 0 ·check:dead-coderc 0 (363 ≤ baseline 377) ·icon-map-coverage+i18n-vi-completenessgreen after every back-mergenpm run buildrc 0, "Turbopack build encountered 232 warnings" (= base); §6 e2e on that build: 37 passed, 4 skipped (a11y, compression-studio, error-pages, group-b-activity-feed, group-b-quota-plans-config, group-b-quota-share-pools, group-b-redirect-logs-activity, sidebar-navigation, translator-friendly)npm run buildrc 0, 232 warnings. The fix round and the back-merges do not rebuild (the wave checkpoint rebuilds).http://localhost:20128(group-b-activity-feed, group-b-quota-plans-config, group-b-quota-share-pools; group-b-redirect-logs-activity too), so they cannot run on another port — all passed on the .113 at :20128; compression-studio re-run alone 2/2rtk-context-page-load-failure, pendência 15); 38 node files 391/391feat/new-uikit74636c4 and 45497c9 / lote 8):check:dashboard-typecheckrc 0 (194 within baseline) ·check:ui-icurc 0 · nodeicon-map-coverage,i18n-vi-completeness, timeline utils,settings-ui-layout-static,design-kit-bridge,translator-friendly-i18n-keys229/229 · focused vitest 14 files / 84 tests rc 0 (--maxWorkers=2; under load 30+ some first tests ofmodelsCombosCatalog/console-log-viewer-follow-tailtime out and pass alone, 23/23 and 6/6) ·eslinton the changed files rc 0call_logs+mcp_tool_auditrows — logs/timeline, logs, logs/proxy, activity, translator (rawjson, testbench, monitor), models, settings/routing × light/dark/390: no document overflow, 0 Material in the lote-6 pages, 0 page errors, axe (wcag2a/aa incl. color-contrast) 0 violations on the timeline in both themes with 8 bars drawn, translator selects named Source / Target / Target Provider. Remaining axe contrast hits are not from this lote's changes: logger provider quick-filter chips (brand colours atopacity-70, unchanged from before the lote), protocol badge brand colour, and the darkBadge variant="primary"tone inglobals.css(deferred to the globals owner)Pendências (kit gaps / follow-ups)
RequestLoggerDetailstays a custom in-container dialog (not kitSheet+Tabs): pinned tests rely on window-level Escape, backdrop click and in-container queries; the kit Sheet portals and owns Escape. Its rows are click-only (pre-existing); the kit row-link pattern belongs with the move toSheet.Wizardhard-codes English labels ("Step {n} of {m}", Back, Skip for now, Save and close/exit, Setup progress, Go to / Go back to, ", completed", Saving…) and requiresonSkip→ needs alabelsobject,hideSkipand a footer slot; PoolWizard is built from primitives meanwhile.Alerthas no non-dismissible mode (persistentstill renders the dismiss button); hidden with[&>.ci-alert__dismiss]:hidden. Needsdismissible={false}.SheetshowClosehard-codes "Close panel" → needscloseLabel.DataTableShelltoolbarActionshard-codes "Table actions" and the default result label "result(s)"; kitPagination/PageSizeControlEnglish defaults ("Rows", "Rows per page") → need label props (we passresultLabel).Collapsiblehas no controlledopen/onOpenChange→ StreamTransformer / CompressionPreview accordions keep their own header (a kit ghost Button) for the forceOpen / lazy-render contract.Adapter— stale: the adapter forwards it; the models select-all now uses it (fix round 1).Checkboxhas noindeterminateProgressdoes not forwardaria-label→ CatalogBulkActionBar keeps its own namedrole=progressbar.Statvalue is number-only → stat cards kept onCard.defineThemestill uses hex (out of scope).colors.tsbrand / protocol / type / level palettes, Omniglyphbg-whitepage preview.translateOrFallbackEnglish fallbacks).costs/CostOverviewTabdeadCHART_COLORSconst left (already a suppressed unused var)./dashboard/modelskeeps theCardframe — noDataTableShell, noMultiSelectFilter, noSheetdetail;/dashboard/context/combosnamed combos stay as cards where spec §4 saysTable.rtk-context-page-load-failure(20 s, pre-existing; the base fails the same way) — cold barrel import.compression-combos-routing-mode-6760raised its first test to 20 s in this lote; the fix round replaced that with a warm-upbeforeAlland restored the default./dashboard/costs/pricingrenders lote 5'ssettings/components/PricingTab— resolved by the 74636c4 back-merge (lote 5a): 0 Material spans in the source.RequestTimelineheader is a fixed-height single row (HEADER_HEIGHTfeeds the canvas maths) → clipped at 390 px; needs a responsive two-row header (pre-existing).group-b-activity-feed,group-b-quota-plans-config,group-b-quota-share-pools,group-b-redirect-logs-activityhard-codehttp://localhost:20128— they fail on any other port; should use the configbaseURL.CliToolCard/CliComparisonCard/CliConceptCard/SkillsConceptCard: lote 7's reviewed versions kept at the back-merge (they useCard/Badgeinstead of this lote's kitTable); no functional loss, tests green.Also open (390 px):
context/omniglyphrendered-page preview is wider than its card (fixed-size image);context/settingscompact selectw-44is 2 px over. MonitorTab auto-refresh keeps the base's actionaria-label("Pause auto-refresh") while the visible text says "Live auto-refreshing" (label-in-name, pre-existing, pinned bytranslator-friendly-monitor-tab); the fix round only dropped the addedaria-pressed.