Skip to content

Apply design-token system across frontend#177

Merged
imran31415 merged 3 commits into
mainfrom
redesign/design-tokens
Jun 15, 2026
Merged

Apply design-token system across frontend#177
imran31415 merged 3 commits into
mainfrom
redesign/design-tokens

Conversation

@umi-appcoder

@umi-appcoder umi-appcoder Bot commented Jun 15, 2026

Copy link
Copy Markdown

Summary

Introduces a mode-independent design-token foundation and adopts it across the entire frontend (all 19 screens + 64 components, ~6,400 lines touched).

  • New theme/tokens.ts: spacing (4px scale), radius, typography (semantic roles), touchTarget, breakpoints, layout — re-exported from theme/.
  • New hooks/useResponsive.ts for live responsive width (replaces the stale-below-768 ResponsiveContext).
  • Replaced hardcoded fontSize/padding/margin/borderRadius with the token scales and semantic typography roles throughout.
  • Flat aesthetic: card/surface containers use a single 1px border; shadows reserved for modals/overlays/tooltips and data-viz depth.
  • Fixed frontend/.gitignore so src/data/documentation/api-keys.json (a real doc file, previously matched by the api-keys.json secret rule) survives fresh clones — it was breaking the web bundle.

Structural wrappers (SafeAreaWrapper, KeyboardAvoidingWrapper, ScreenContainer) were intentionally left untouched — they carry no visual styling.

Verification

  • tsc --noEmit — clean
  • npx expo export --platform web — builds clean (6.9M bundle)

🤖 Generated with Claude Code

Introduce a mode-independent design-token foundation (spacing, radius,
typography, touchTarget, breakpoints, layout) in theme/tokens.ts and a
useResponsive hook, then adopt them across all screens and components.

- Replace hardcoded fontSize/padding/margin/radius with the 4px spacing
  scale, radius scale, and semantic typography roles.
- Flatten card/surface aesthetic: single 1px border, shadows reserved for
  modals/overlays/tooltips and data-viz depth.
- Fix frontend/.gitignore so src/data/documentation/api-keys.json (a real
  doc file) is no longer ignored and survives fresh clones.

Typecheck (tsc --noEmit) and web bundle export both pass clean.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@codecov

codecov Bot commented Jun 15, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 1.00111% with 890 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
frontend/src/components/TemplateForm.tsx 0.00% 48 Missing ⚠️
frontend/src/components/ExecutionResultsViewer.tsx 0.00% 43 Missing ⚠️
frontend/src/components/ExecutionFlowGraph.tsx 0.00% 39 Missing ⚠️
frontend/src/components/ApiKeyModal.tsx 0.00% 36 Missing ⚠️
frontend/src/components/CreateAgentForm.tsx 0.00% 36 Missing ⚠️
frontend/src/components/ExecutionLogsCard.tsx 0.00% 36 Missing ⚠️
frontend/src/components/TeamMemoryViewer.tsx 21.42% 33 Missing ⚠️
frontend/src/components/AgentMemoryViewer.tsx 0.00% 31 Missing ⚠️
frontend/src/components/SessionManager.tsx 0.00% 30 Missing ⚠️
frontend/src/components/AgentDetailView.tsx 0.00% 29 Missing ⚠️
... and 47 more

❌ Your patch check has failed because the patch coverage (1.00%) is below the target coverage (60.00%). You can increase the patch coverage or adjust the target coverage.
❌ Your project check has failed because the head coverage (4.15%) is below the target coverage (70.00%). You can increase the head coverage or adjust the target coverage.

@@          Coverage Diff           @@
##            main    #177    +/-   ##
======================================
  Coverage   4.15%   4.15%            
======================================
  Files        160     160            
  Lines      35212   35212            
  Branches    4108    4003   -105     
======================================
  Hits        1462    1462            
  Misses     33659   33659            
  Partials      91      91            
Files with missing lines Coverage Δ
frontend/src/components/AgentBusinessCard.tsx 0.00% <ø> (ø)
frontend/src/components/TextEditorExample.tsx 0.00% <ø> (ø)
frontend/src/screens/AuthScreen.tsx 0.00% <ø> (ø)
frontend/src/screens/ConfigureScreen.tsx 0.00% <ø> (ø)
frontend/src/screens/DatabaseScreen.tsx 0.00% <ø> (ø)
frontend/src/screens/ExecuteScreen.tsx 0.00% <ø> (ø)
frontend/src/screens/ExecutionTemplatesScreen.tsx 0.00% <ø> (ø)
frontend/src/screens/FunctionScreen.tsx 0.00% <ø> (ø)
frontend/src/screens/HistoryScreen.tsx 0.00% <ø> (ø)
frontend/src/screens/TemplateLibraryScreen.tsx 0.00% <ø> (ø)
... and 63 more

Continue to review full report in Codecov by Harness.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update dc7328f...90ce570. Read the comment docs.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

imran31415 and others added 2 commits June 15, 2026 02:45
Make the pre-existing red CI jobs (Lint, Security Scan) green.

Security Scan (govulncheck):
- Bump Go toolchain 1.24.12 -> 1.25.11 (go.mod + GO_VERSION in ci/
  security/release workflows), clearing 12 stdlib CVEs.
- Update dependencies: golang.org/x/net 0.48.0 -> 0.56.0 and
  google.golang.org/grpc 1.78.0 -> 1.81.1 clear the two module CVEs;
  go get -u refreshes crypto, sys, text, mysql driver, etc.
- govulncheck ./... now reports "No vulnerabilities found."

Lint (golangci-lint):
- database.go: rename unused GetNextAvailable param to _ (revive).
- service.go: list remaining TaskState cases in switch (exhaustive).
- handler.go: name parseLimitOffset results (gocritic unnamedResult).
- gofmt interface.go, kimi_provider.go, handler.go.

Verified locally: go build, go vet, golangci-lint, and govulncheck all
pass on go1.25.11; all test binaries compile.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The go1.25 bump (needed to clear stdlib vulns) cascaded into three more
failures once the previously-skipped jobs began running:

Lint:
- golangci-lint v1.64.8 (EOL, built with go1.24) cannot run against a
  go1.25 module, and its go1.24 typechecker can't parse deps that now
  require go1.25 (e.g. prometheus/common). Upgrade to golangci-lint v2
  (action v8, pinned v2.12.2, built with go1.25) and migrate .golangci.yml
  to the v2 schema.
- v2 bundles much newer analyzers that flag 209 pre-existing issues the
  v1.64.8 baseline never enforced (0 found). To keep the forced tooling
  upgrade parity-preserving, pin the enforced ruleset to the v1 baseline:
  disable noctx (v2 newly flags db/http-without-context), exclude gosec
  G706 (new log-injection rule), staticcheck QF* quickfixes, and gocritic
  importShadow. Each is documented inline for a tightening follow-up.

Build:
- The frontend "build" step ran `yarn build` -> `eas build`, which needs
  the EAS CLI (absent in CI) and produces no dist/. This job had always
  been skipped (it depends on the security job, which was red). Build the
  web bundle the artifact upload expects instead:
  `npx expo export --platform web --output-dir dist`.

gosec (code scanning):
- Align the standalone gosec excludes with .golangci.yml and add G706 so
  the new high-volume log-injection rule doesn't introduce new alerts.

golangci-lint v2 now reports 0 issues locally on go1.25.11.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@imran31415 imran31415 merged commit b163227 into main Jun 15, 2026
19 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant