-
Notifications
You must be signed in to change notification settings - Fork 9
Feat: Add anonymous telemetry, UI enhancements, and remove DLQ #24
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
1b09185
d516dcd
1d476ef
249c686
ff827a4
874240c
da78d2c
ab5476d
7caa12c
1441b4c
fa0dd10
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,2 @@ | ||
| ALTER TABLE jobs ADD COLUMN workflow_instance_id UUID; | ||
| CREATE INDEX IF NOT EXISTS idx_jobs_workflow_instance_id ON jobs(workflow_instance_id); | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,4 @@ | ||
| CREATE TABLE IF NOT EXISTS global_settings ( | ||
| key TEXT PRIMARY KEY, | ||
| value TEXT NOT NULL | ||
| ); |
Large diffs are not rendered by default.
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
| @@ -1,4 +1,4 @@ | ||||||
| @import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300..700&family=JetBrains+Mono:ital,wght@0,400;0,500;1,400&display=swap'); | ||||||
| @import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@300;400;500;600;700&family=JetBrains+Mono:ital,wght@0,400;0,500;1,400&display=swap'); | ||||||
|
|
||||||
| @import "tailwindcss"; | ||||||
|
|
||||||
|
|
@@ -134,7 +134,7 @@ | |||||
| Tailwind v4 theme tokens (@theme inline = dynamic) | ||||||
| ───────────────────────────────────────────────────── */ | ||||||
| @theme inline { | ||||||
| --font-sans: 'Space Grotesk', 'Segoe UI', system-ui, sans-serif; | ||||||
| --font-sans: 'IBM Plex Sans', 'Segoe UI', system-ui, sans-serif; | ||||||
| --font-mono: 'JetBrains Mono', 'Fira Code', ui-monospace, monospace; | ||||||
|
|
||||||
| --color-background: var(--background); | ||||||
|
|
@@ -723,19 +723,21 @@ | |||||
| will-change: transform; | ||||||
| } | ||||||
|
|
||||||
| .dashboard-sidebar-action:hover, | ||||||
| .dashboard-sidebar-action:focus-visible { | ||||||
| background-color: color-mix(in oklch, oklch(100% 0 0) 10%, transparent) !important; | ||||||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
The patch introduces numerous '!important' flags across almost every new style rule (lines 729, 730, 736, 740, 765, 766, 770, 777, 783). This is a major anti-pattern that breaks the natural CSS cascade, creates specificity wars, and makes the codebase extremely difficult to maintain or override in the future. Specificity should be managed through a consistent selector strategy rather than forcing overrides.
Suggested change
|
||||||
| transform: translate3d(0, -2px, 0) !important; | ||||||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The patch introduces a significant number of '!important' flags (lines 729, 730, 736, 740, 765, 766, 770, 777, 783). This is a major maintainability anti-pattern that breaks the CSS cascade, makes debugging specificity issues difficult, and suggests a struggle with selector weight rather than a structured design system.
Suggested change
|
||||||
| /* Collapsed sidebar only: SharedLayoutBg pill handles background */ | ||||||
| .dashboard-sidebar-collapsed .dashboard-sidebar-action:hover, | ||||||
| .dashboard-sidebar-collapsed .dashboard-sidebar-action:focus-visible { | ||||||
| background-color: transparent !important; | ||||||
| transform: none !important; | ||||||
| } | ||||||
|
|
||||||
| .dark .dashboard-sidebar-action:hover, | ||||||
| .dark .dashboard-sidebar-action:focus-visible { | ||||||
| background-color: color-mix(in oklch, oklch(100% 0 0) 10%, transparent) !important; | ||||||
| /* Collapsed active button hovered: deep green */ | ||||||
| .dashboard-sidebar-collapsed .dashboard-sidebar-action[aria-current="page"]:hover, | ||||||
| .dashboard-sidebar-collapsed .dashboard-sidebar-action[aria-current="page"]:focus-visible { | ||||||
| background-color: oklch(30% 0.35 115 / 0.35) !important; | ||||||
| } | ||||||
|
|
||||||
| .dashboard-sidebar-action:active { | ||||||
| transform: translate3d(0, 0, 0) !important; | ||||||
| .dashboard-sidebar-collapsed .dashboard-sidebar-action:active { | ||||||
| transform: none !important; | ||||||
| } | ||||||
|
|
||||||
| .dashboard-sidebar-action-icon, | ||||||
|
|
@@ -756,22 +758,36 @@ | |||||
| transition-timing-function: var(--ease-out-quart); | ||||||
| } | ||||||
|
|
||||||
| /* Expanded sidebar: SharedLayoutBg pill is the sole hover affordance. | ||||||
| No transform, no background — the pill handles everything. */ | ||||||
| .dashboard-sidebar:not(.dashboard-sidebar-collapsed) .dashboard-sidebar-action:hover, | ||||||
| .dashboard-sidebar:not(.dashboard-sidebar-collapsed) .dashboard-sidebar-action:focus-visible { | ||||||
| background-color: transparent !important; | ||||||
| transform: none !important; | ||||||
| } | ||||||
|
|
||||||
| .dashboard-sidebar:not(.dashboard-sidebar-collapsed) .dashboard-sidebar-action:active { | ||||||
| transform: none !important; | ||||||
| } | ||||||
|
|
||||||
| .dashboard-sidebar:not(.dashboard-sidebar-collapsed) .dashboard-sidebar-action:hover .dashboard-sidebar-action-icon, | ||||||
| .dashboard-sidebar:not(.dashboard-sidebar-collapsed) .dashboard-sidebar-action:focus-visible .dashboard-sidebar-action-icon, | ||||||
| .dashboard-sidebar:not(.dashboard-sidebar-collapsed) .dashboard-sidebar-action:hover .dashboard-sidebar-action-label, | ||||||
| .dashboard-sidebar:not(.dashboard-sidebar-collapsed) .dashboard-sidebar-action:focus-visible .dashboard-sidebar-action-label { | ||||||
| transform: translate3d(4px, 0, 0) !important; | ||||||
| transform: none !important; | ||||||
| } | ||||||
|
|
||||||
| /* Active button hovered: show a slightly stronger lime tint instead of the zinc pill */ | ||||||
| .dashboard-sidebar:not(.dashboard-sidebar-collapsed) .dashboard-sidebar-action[aria-current="page"]:hover, | ||||||
| .dashboard-sidebar:not(.dashboard-sidebar-collapsed) .dashboard-sidebar-action[aria-current="page"]:focus-visible { | ||||||
| background-color: oklch(30% 0.35 115 / 0.35) !important; | ||||||
| } | ||||||
|
|
||||||
| .dashboard-sidebar-tooltip:not(.dashboard-sidebar-action-label) { | ||||||
| display: none !important; | ||||||
| } | ||||||
|
|
||||||
| @media (min-width: 1024px) { | ||||||
| .dashboard-sidebar-collapsed .dashboard-sidebar-action:hover .dashboard-sidebar-action-icon, | ||||||
| .dashboard-sidebar-collapsed .dashboard-sidebar-action:focus-visible .dashboard-sidebar-action-icon { | ||||||
| transform: scale(1.12) !important; | ||||||
| } | ||||||
|
|
||||||
| .dashboard-sidebar-collapsed .dashboard-sidebar-tooltip { | ||||||
| position: absolute !important; | ||||||
|
|
||||||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Adding a UUID column to a table typically implies it will be used as a foreign key or a filter criterion to associate jobs with a specific workflow instance. Without an index, queries filtering by 'workflow_instance_id' will require a full table scan, leading to severe performance degradation as the 'jobs' table grows.