Codex/system status readiness#3
Merged
Merged
Conversation
Phase 8 — DesktopPage decoupling (760 lines → ~230 lines): - Extract 6 hooks: useSystemPerformance, useOverlayPolicy, useDesktopStatusRuntime, usePreferences, useContextMenu, useDragController - Extract SettingsPanel component from inline JSX - Consolidate dedupeKinds into shared/runtimeGuards.ts (3 sites → 1) - Remove dead code: ResidentPerformanceHub, StatusIcon components Phase 11 — Rust backend async optimization: - get_system_performance now async with spawn_blocking (non-blocking) - Network utilization: delta-based rate calculation with cached state (fixed from cumulative bytes / hardcoded 1.25MB → bytes/sec / 1Gbps) - Fix update provider false claim: quality → "unavailable", code → "not-implemented" All tests pass (state, providers, runtime, QA showcase, build). 🤖 Generated with [Qoder][https://qoder.com]
Phase 9 — Clipboard Provider (Rust backend): - get_clipboard_content / set_clipboard_content commands (arboard crate) - Background clipboard monitor thread with 800ms polling - Clipboard change events emitted to frontend via Tauri event bus - Guest provider capability: clipboard → "native"/"available" Phase 10 — Interaction capabilities: - Media template: play/pause, skip next/prev buttons (WinRT GSMTC API) - Clipboard template: click-to-copy button with visual feedback - New mediaControlRuntime.ts for clipboard + media control IPC All tests pass (state, providers, runtime, QA showcase, build). 🤖 Generated with [Qoder][https://qoder.com]
Register tauri-plugin-autostart for Windows/macOS, expose get/set autostart commands, and wire a toggle into the SettingsPanel so users can enable launch-on-boot from within the app. 🤖 Generated with [Qoder][https://qoder.com]
Rust backend now reads Windows Focus Assist state from registry (QuietHours/NFPEnabled) and polls notification-related settings. Background threads monitor both with change detection and emit Tauri events to the frontend. Frontend gains systemMonitorRuntime.ts for IPC, a useSystemMonitors hook that subscribes to focus-assist-changed events, and the aggregation layer now accepts externalActiveKinds/externalStates so system monitor data participates in status scheduling. The focus provider capability is now declared as native/available on Windows instead of unavailable/not-implemented. 🤖 Generated with [Qoder][https://qoder.com]
Integrate i18next with browser language detection, zh-CN and en locale files covering all production UI strings (~100 keys). Centralized COPY object in desktopStatusConfig.ts is replaced by i18n.t() calls in all getter functions. SettingsPanel gains a language toggle section. Templates, diagnostic labels, aria-labels, aggregation fallback strings, and system monitor copy all use the translation system. All 150+ existing tests pass with the i18n layer. 🤖 Generated with [Qoder][https://qoder.com]
…ts (Phase 16) Introduce Vitest + @testing-library/react for React component testing alongside the existing tsx-based test runner. Add 42 tests covering all 6 status templates, GuestSourceHealthIndicator, and the desktop status aggregation layer. - vitest.config.ts: jsdom environment, React plugin, setup file - src/test/setup.ts: i18n init (English), jest-dom matchers, auto-cleanup - src/test/fixtures.ts: typed mock state factories for all 6 template kinds - 7 component test files (.vitest.tsx) covering rendering, ARIA, interactions - 1 aggregation test file (.vitest.ts) with 8 tests including external state merging - .github/workflows/ci.yml: CI pipeline for tests + typecheck - test:vitest and test:all npm scripts 🤖 Generated with [Qoder][https://qoder.com]
Transform the status pill from single-template view to multi-status layout: - Resident icon always visible as the anchor indicator - Guest indicator rail shows compact buttons for each active status (media, download, update, clipboard, focus) - Click an indicator to switch the detail area to that template; click again to toggle back to resident - Dynamic pill width scales from 303px to 500px based on active indicator count - Indicators sorted by priority order (focus > update > download > media > clipboard) - Per-kind accent colors with focused/hover states - Smooth width transitions via CSS cubic-bezier easing - Expose resolvedStates and activeKinds from useDesktopStatusRuntime hook - Add i18n keys for status indicator labels (en + zh-CN) 🤖 Generated with [Qoder][https://qoder.com]
Update project maturity to v1.0, add completion markers to all phase headings, refresh capabilities table, resolve core issues, update timeline with commit hashes, and note resolved tech debt. 🤖 Generated with [Qoder][https://qoder.com]
Phase 17: Replace 294 lines of dead product-status-settings* CSS with new product-settings-* rules matching SettingsPanel.tsx class names. Phase 18: Convert media_control, get_media_session_status, and get_guest_provider_capabilities to async commands using spawn_blocking to prevent WinRT IAsyncOperation::get() from blocking IPC threads. Phase 19: Add Arc<AtomicBool> shutdown flag for background monitor threads, merge redundant Focus Assist + Notification monitors into a single thread (eliminating duplicate registry reads), and reuse arboard::Clipboard instance instead of creating one every 800ms. Bump Rust crate version to 1.0.0. 🤖 Generated with [Qoder][https://qoder.com]
Update tauri.conf.json and package.json versions to match the Cargo.toml 1.0.0 release version. 🤖 Generated with [Qoder][https://qoder.com]
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.