Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
c7a64d5
feat: add responsive drawer sizing and inline resize handle
elizabetdev Mar 21, 2026
b3d5b1d
fix: add type narrowing for TSource union in data and infra panels
elizabetdev Mar 21, 2026
faf3ade
feat: redesign trace panel with integrated span detail split view
elizabetdev Mar 21, 2026
8bcf7ae
feat: redesign side panel header with unified breadcrumb navigation
elizabetdev Mar 21, 2026
4b1af57
refactor: remove deprecated isNestedPanel and breadcrumbPath props
elizabetdev Mar 21, 2026
155a577
feat: add zoom keyboard shortcut hint to side panel
elizabetdev Mar 21, 2026
2f9eec1
style: auto-fix import order and formatting in DBTracePanel
elizabetdev Mar 21, 2026
d0f8d36
feat: add Copy Trace ID functionality to DBRowSidePanel
elizabetdev Mar 21, 2026
40a8f42
refactor: replace stacked drawers with single drawer navigation
elizabetdev Mar 23, 2026
c56c07d
style: add padding to surrounding context table
elizabetdev Mar 23, 2026
f5924ca
refactor: move zoom shortcut to bottom keyboard hints section
elizabetdev Mar 23, 2026
26c0c17
fix: add horizontal scroll to trace waterfall when narrow
elizabetdev Mar 23, 2026
b43aae7
refactor: unify session drawer with log/trace drawer structure
elizabetdev Mar 23, 2026
3187f77
fix: restore correct tab when navigating back from trace view
elizabetdev Mar 23, 2026
4092756
fix: hide View Trace and Trace ID for logs without trace context
elizabetdev Mar 23, 2026
3d12765
fix(e2e): remove trace tab from log side panel tab navigation test
elizabetdev Mar 23, 2026
3978652
fix: close button now closes entire session drawer instead of navigat…
elizabetdev Mar 23, 2026
bf09ab5
fix: reset tab to default when navigating to a new event
elizabetdev Mar 23, 2026
678c3b7
fix: allow background scroll when side panel drawer is open
elizabetdev Mar 24, 2026
8698d57
Merge remote-tracking branch 'origin/main' into feat/side-panels-rede…
elizabetdev Mar 26, 2026
dc5cc7a
feat: redesign side panel header and trace span details behavior
elizabetdev Mar 27, 2026
96e231d
Merge remote-tracking branch 'origin/main' into feat/side-panels-rede…
elizabetdev Mar 31, 2026
f84a560
fix: Open span details panel by default in trace panel
elizabetdev Mar 31, 2026
8bd96fe
feat: Jaeger-style trace waterfall with service color coding and dept…
elizabetdev Apr 1, 2026
63e8d3f
feat: Replace footer keyboard shortcuts with modal triggered from hea…
elizabetdev Apr 1, 2026
e40fba6
feat: Add trace minimap with brush-to-zoom, pan, and resize interactions
elizabetdev Apr 1, 2026
a8d2b9d
fix: Improve trace waterfall readability
elizabetdev Apr 1, 2026
59e32f1
fix: Move child count after color bar and use muted text for span name
elizabetdev Apr 1, 2026
ed22112
refactor: Move Correlated Logs into waterfall controls and clean up t…
elizabetdev Apr 1, 2026
3646012
Merge remote-tracking branch 'origin/main' into feat/side-panels-rede…
elizabetdev Apr 1, 2026
75120d5
fix: Use icon-only action buttons with tooltips in JSON viewer and re…
elizabetdev Apr 1, 2026
6f44496
style: Add themed drawer shadow via --shadow-drawer token
elizabetdev Apr 1, 2026
627a661
feat: Add trace summary panel, minimap reset, full-width tabs, and co…
elizabetdev Apr 1, 2026
c617021
feat: Improve trace summary with bottleneck detection and error analysis
elizabetdev Apr 1, 2026
3af6a4b
feat: Show red bars for error spans in waterfall chart
elizabetdev Apr 1, 2026
3a3168c
fix: Add spacing between minimap and filter inputs
elizabetdev Apr 2, 2026
f424d4f
refactor: Update DBTracePanel and DBTraceWaterfallChart for improved …
elizabetdev Apr 3, 2026
0467ed0
Merge branch 'main' into feat/side-panels-redesign
elizabetdev Apr 8, 2026
34636c1
refactor: Remove unnecessary ESLint disable comments and improve stat…
elizabetdev Apr 8, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion packages/app/src/DBChartPage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -166,7 +166,6 @@ function AIAssistant({
</Group>
<Collapse in={opened}>
{opened && (
// eslint-disable-next-line react-hooks/refs
<form onSubmit={handleSubmit(onSubmit)}>
<Group mb="md">
<SourceSelectControlled
Expand Down
1 change: 0 additions & 1 deletion packages/app/src/DOMPlayer.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -264,7 +264,6 @@ export default function DOMPlayer({
);
}

// eslint-disable-next-line react-hooks/immutability
updatePlayerTimeRafRef.current = requestAnimationFrame(updatePlayerTime);
}, []);

Expand Down
82 changes: 52 additions & 30 deletions packages/app/src/LogSidePanelElements.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,16 @@ import Link from 'next/link';
import cx from 'classnames';
import { format } from 'date-fns';
import { JSONTree } from 'react-json-tree';
import { Alert, Button, CloseButton, Kbd, Text, Tooltip } from '@mantine/core';
import {
Alert,
Button,
Group,
Kbd,
Modal,
Stack,
Text,
Tooltip,
} from '@mantine/core';
import {
IconChevronDown,
IconChevronRight,
Expand Down Expand Up @@ -486,37 +495,50 @@ export const NetworkBody = ({
/**
* Keyboard shortcuts
*/
export const LogSidePanelKbdShortcuts = () => {
const [isDismissed, setDismissed] = useLocalStorage<boolean>(
'kbd-shortcuts-dismissed',
false,
);

const handleDismiss = React.useCallback(() => {
setDismissed(true);
}, [setDismissed]);

if (isDismissed) {
return null;
}

const SHORTCUTS = [
{ keys: ['esc'], label: 'Close panel' },
{ keys: ['←', '→'], label: 'Navigate between events' },
{ keys: ['↑', '↓'], label: 'Navigate between events' },
{ keys: ['k', 'j'], label: 'Navigate between events' },
{ keys: ['⌘/Ctrl', 'scroll'], label: 'Zoom trace timeline' },
] as const;

export const KeyboardShortcutsModal = ({
opened,
onClose,
}: {
opened: boolean;
onClose: () => void;
}) => {
return (
<div className={styles.kbdShortcuts}>
<div className="d-flex justify-content-between align-items-center ">
<div className="d-flex align-items-center gap-3">
<div>
Use <Kbd className="me-1">←</Kbd>
<Kbd>→</Kbd> arrow keys or <Kbd className="me-1">k</Kbd>
<Kbd>j</Kbd> to move through events
</div>
<div className={styles.kbdDivider} />
<div>
<Kbd>ESC</Kbd> to close
</div>
</div>
<CloseButton aria-label="Hide" onClick={handleDismiss} />
</div>
</div>
<Modal
opened={opened}
onClose={onClose}
title="Keyboard Shortcuts"
size="sm"
centered
>
<Stack gap="sm">
{SHORTCUTS.map(({ keys, label }) => (
<Group key={label} justify="space-between">
<Group gap={4}>
{keys.map((key, i) => (
<React.Fragment key={key}>
{i > 0 && (
<Text span size="xs" c="dimmed">
+
</Text>
)}
<Kbd size="xs">{key}</Kbd>
</React.Fragment>
))}
</Group>
<Text size="sm">{label}</Text>
</Group>
))}
</Stack>
</Modal>
);
};

Expand Down
2 changes: 0 additions & 2 deletions packages/app/src/NamespaceDetailsSidePanel.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -181,8 +181,6 @@ function NamespaceLogs({
<Card.Section p="md" py="sm" h={CHART_HEIGHT}>
<DBSqlRowTableWithSideBar
sourceId={logSource.id}
isNestedPanel
breadcrumbPath={[{ label: 'Namespace Details' }]}
config={{
...logSource,
where: _where,
Expand Down
2 changes: 0 additions & 2 deletions packages/app/src/NodeDetailsSidePanel.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -194,8 +194,6 @@ function NodeLogs({
<Card.Section p="md" py="sm" h={CHART_HEIGHT}>
<DBSqlRowTableWithSideBar
sourceId={logSource.id}
isNestedPanel
breadcrumbPath={[{ label: 'Node Details' }]}
config={{
...logSource,
where: _where,
Expand Down
3 changes: 0 additions & 3 deletions packages/app/src/PodDetailsSidePanel.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -207,8 +207,6 @@ function PodLogs({
sourceId={logSource.id}
config={tableConfig}
isLive={false}
isNestedPanel
breadcrumbPath={[{ label: 'Pods' }]}
queryKeyPrefix="k8s-dashboard-pod-logs"
/>
</Card.Section>
Expand Down Expand Up @@ -471,7 +469,6 @@ export default function PodDetailsSidePanel({
rowId={rowId}
aliasWith={aliasWith}
onClose={handleCloseRowSidePanel}
isNestedPanel={true}
/>
)}
</div>
Expand Down
Loading
Loading