Skip to content

v1.6.0: Code Quality, Performance & Testing#190

Merged
fatihkan merged 16 commits intomainfrom
dev
Mar 6, 2026
Merged

v1.6.0: Code Quality, Performance & Testing#190
fatihkan merged 16 commits intomainfrom
dev

Conversation

@fatihkan
Copy link
Owner

@fatihkan fatihkan commented Mar 6, 2026

Summary

156 files changed, +11,292 / -4,271 lines

Test plan

  • cd CreedFlow && swift build — 0 errors
  • cd creedflow-desktop && npm run build — 0 errors
  • cd creedflow-desktop && npx vitest run — 69/69 tests pass
  • Navigate between sections rapidly — no crashes
  • Create project with 50+ tasks — pagination works
  • Turkish locale — no English leaks
  • Error scenarios (bad API key, no CLI) — toast shown

🤖 Generated with Claude Code

fatihkan and others added 15 commits March 4, 2026 14:22
…ix theme on launch

- Add delete and clear all notifications in sidebar panel (both platforms)
- Delete button always visible on notification rows (not hidden behind hover)
- Clear All (trash) button in notification panel header
- Auto-disable CLI backends in Settings when not detected by Setup Wizard
- Fix theme not applied on app launch (was only applied when opening Settings)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Show a live counting timer (updated every 1s) on in-progress task cards
and active agent runners. Timer automatically stops when the task
completes (passed/failed), displaying the final static duration instead.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Create shared LiveTimer component to replace scattered setInterval usage
- Add id: parameter to ForEach loops across 25 SwiftUI views
- Fix timer cleanup in TaskCard and AgentStatus to prevent memory leaks

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace 48 instances of Mutex .unwrap() with descriptive .expect() messages
across 9 Rust files for better panic diagnostics.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Create SectionErrorBoundary component with retry capability
- Wrap major content sections in App.tsx and ContentArea.tsx

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add showErrorToast() non-hook function for use in Zustand stores and
non-component contexts. Routes errors through notification store.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace critical try? with do/catch + logger.error() in
LocalDeploymentService to surface previously silent failures.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Extract ~400 hardcoded strings to en.json and tr.json translation files.
Total keys: 706 in both locales. Update 33 component files to use
useTranslation() hook and t() calls.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add limit/offset parameters to 6 Rust commands (list_projects,
list_tasks, list_archived_tasks, list_reviews, list_assets, list_prompts).
Update TypeScript API bindings and add hasMore/fetchMore to 5 Zustand stores.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Convert 9 regex patterns to once_cell::sync::Lazy statics across 4 Rust files
- Add useMemo/useCallback optimization to TaskBoard, ProjectList,
  CostDashboard, ReviewList, and DetailPanel

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Split Orchestrator.swift (2,515 lines) into 6 files using extensions:
- AnalyzerCompletionHandler.swift (443 lines)
- ReviewerCompletionHandler.swift (150 lines)
- DeploymentCoordinator.swift (327 lines)
- CoderBranchHandler.swift (51 lines)
- AssetPipelineHandler.swift (771 lines)
- Orchestrator.swift core reduced to 809 lines

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Split 7 large React components into 21 new subcomponent files:
- SettingsDialog (693→84) → GeneralSettings, GitSettings, TelegramSettings, DatabaseSettings
- SetupWizard (584→123) → WelcomeStep, EnvironmentStep, DependenciesStep, BackendsStep, etc.
- CostDashboard (460→102) → KpiCard, BreakdownTable, CostTimelineTab, CostTasksTab, CostPerformanceTab
- MCPSettings → MCPServerFormModal
- PublishingView → ChannelFormModal
- PromptChainList → ChainStepRow, ChainFormDialog
- DeployList → NewDeployDialog

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add src-tauri/.gitignore to exclude target/, swap files, and .DS_Store.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add 69 tests across 7 test files covering critical Zustand stores:
- projectStore (9 tests): fetch, pagination, create, delete, selection
- taskStore (14 tests): fetch, batch operations, undo support
- notificationStore (13 tests): toasts, undo actions, read/dismiss
- historyStore (8 tests): push/undo/redo, history cap
- reviewStore (6 tests): fetch, approve/reject
- assetStore (9 tests): filtering, sorting, CRUD
- promptStore (10 tests): filtering, favorites, search

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
v1.6.0 includes:
- Bug fixes: timer cleanup, ForEach ids, Mutex expects, ErrorBoundary (#176-#180)
- Error handling: toast notifications, try? audit (#179, #185)
- i18n: 706 translation keys across en/tr (#183)
- Performance: pagination, regex optimization, React memoization (#182, #186, #187)
- Refactoring: Orchestrator split, view subcomponents (#181, #184)
- Testing: 69 Vitest tests for Zustand stores (#188)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@fatihkan fatihkan merged commit ff14412 into main Mar 6, 2026
1 check failed
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