Skip to content

v0.3.0 — Code Quality Overhaul + UI Redesign

Latest

Choose a tag to compare

@Epiphany-Leon Epiphany-Leon released this 06 Sep 16:02
· 2 commits to master since this release

🚀 v0.3.0 — Code Quality Overhaul + UI Redesign

Massive quality upgrade: 41 files changed, +6,787 / -2,324 lines. Zero functional regressions.

✨ UI Redesign

Tab Architecture: 6 → 3

  • 🔨 锻造 — Forge list / Darwin optimization / Co-evolution
  • 🔗 融合 — Taotie fusion / Skill orchestration
  • 🌙 闲时 — Dreaming console / history / health report

Design System Upgrade:

  • Pill-style main tabs with brand-color active state + subtle shadow
  • Section tabs for inner navigation
  • Card system: 10px radius, 1px border, hover lift + soft shadow
  • Unified buttons: 30px height, 8px radius, primary with shadow
  • Pill-shaped status tags (20px radius)
  • Gradient quality bars with smooth transitions
  • Animated timelines with cleaner dot layout
  • Custom scrollbar styling
  • Fade-in animations on panel load
  • All colors use CSS variables — fully DSH theme-aware

🔧 Code Quality

Type Safety:

  • 54.7% reduction in any types (~316 → 143)
  • 10+ new interface types for service dependencies
  • ForgeOrchestrator: 0 any (down from 18) with 7 typed dep interfaces
  • BaseAgent: typed LLM response + 4 safe accessor methods
  • Client: ~40+ any → 6 (all legitimate: API responses, CSS custom props, catch errors)
  • UnknownRecord pattern for backend data access

New Utilities Layer:

  • src/utils/constants.ts — 30+ magic numbers centralized
  • src/utils/helpers.ts — safe JSON parsing, unified HTTP responses, ID generation, etc.
  • src/types/api.ts — API handler and response types

ForgePanel Refactor (2,831 → 3,229 lines, better structure):

  • 12 extracted inline sub-components
  • All event handlers wrapped with useCallback
  • Clear section boundaries with comment headers
  • 3 main view branches: list / run detail / skill detail

Performance:

  • Active state checks: O(n) → O(1) with Set
  • Safe JSON parsing with multi-strategy fallback
  • Polling cleanup verified for all intervals
  • Memoized handlers to prevent unnecessary re-renders

Error Handling:

  • Unified HTTP response format: { ok: false, error: string, code?: string }
  • safeParseJSON with try/catch + silent fallback
  • Boundary checks for null/undefined/empty arrays

📚 Documentation & Infra

  • CHANGELOG.md: v0.2.0 + v0.3.0 in Keep a Changelog format
  • README: Updated features, architecture, roadmap (Phase 5+6 done)
  • Configuration docs: 14 → 50+ config items with grouping
  • FAQ: New sections on evolution modes + dreaming
  • .editorconfig: New file for consistent formatting
  • package.json: v0.3.0, added dev script, updated keywords
  • tsconfig.json: Added forceConsistentCasingInFileNames
  • .gitignore: Expanded with more patterns

📊 Stats

  • 47 TypeScript/TSX files
  • 30,005 total lines of code
  • 12 core service modules
  • 6 LLM agents
  • ~80 HTTP API endpoints
  • 50+ configuration items
  • 0 TypeScript strict errors

Built with ❤️ for the DSH community