Skip to content

fix: consolidate platform stability regressions - #45

Draft
tover0314-w wants to merge 8 commits into
mainfrom
codex/platform-bugfixes
Draft

fix: consolidate platform stability regressions#45
tover0314-w wants to merge 8 commits into
mainfrom
codex/platform-bugfixes

Conversation

@tover0314-w

@tover0314-w tover0314-w commented May 31, 2026

Copy link
Copy Markdown
Owner

Summary

Consolidates the narrow platform/stability fixes currently spread across open PRs and local audit work:

  • switch Deepgram from WebSocket streaming to bounded batch REST transcription to avoid truncated final transcripts
  • route macOS selected-text capture through osascript first and keep Enigo keyboard output on the main thread
  • avoid the macOS accessibility null-pointer permission path
  • add Linux output guardrails for Wayland and missing xdotool, plus the NVIDIA Wayland WebKit DMA-BUF workaround
  • preserve macOS capsule transparency at initial WebView load
  • add a Windows Ctrl+Win pure-modifier hotkey path using a low-level keyboard hook while keeping ordinary shortcuts on Tauri global-shortcut
  • update selected platform-relevant dependencies (cpal, tokio-tungstenite, Tauri/plugin lockfiles) and remove the unused SQL plugin surface
  • make security audits fail CI instead of continuing on high-risk findings

Validation run locally on Windows

  • npm audit --audit-level=high
  • npm run lint
  • npm test (91 frontend tests)
  • npm run build
  • npm run format:check
  • cargo fmt --check --manifest-path src-tauri/Cargo.toml
  • cargo test --manifest-path src-tauri/Cargo.toml (72 Rust tests)
  • cargo clippy --manifest-path src-tauri/Cargo.toml -- -D warnings
  • cargo check --manifest-path src-tauri/Cargo.toml --target x86_64-pc-windows-msvc
  • cargo audit --file src-tauri/Cargo.lock
  • git diff --check
  • npm run tauri -- build --no-bundle

Notes

cargo audit reports allowed warnings from the Tauri/Linux GTK3 stack, but exits successfully with no blocking vulnerability.

GitHub Actions currently fails before any job starts because the account is locked due to a billing issue, so macOS/Linux runner validation is still pending external CI availability.

- Add 8 new locale files (ja, ko, fr, de, es, pt, ru, it) with 366 keys each
- Migrate ~136 hardcoded strings to i18next t() calls across 20+ components
- Implement Rust tray menu i18n with HashMap-based TrayLabels struct
- Add refresh_tray_labels Tauri command for dynamic language switching
- Add UI_LANGUAGES shared constant in constants.ts
- Update PRO_PLAN.features to use labelKey/detailKey pattern for i18n
- Persist ui_language setting via Tauri store
- ErrorBoundary: use i18n.t() for class component (hooks unavailable)
- AccountStep: translate OAuth buttons and verification toast
- QuickTestStep: translate demo text, fix useEffect deps for t() values
- LlmSetupStep: translate model placeholder and model count interpolation
- CapsuleError: replace hardcoded fallback with t() key
- AccountPage/UpgradePage QuotaBar: add useTranslation hook for aria-label
- ScenesPane: replace language-dependent string check with mergeOk boolean
- authStore: translate STT/LLM quota warning toasts via i18n.t()
- constants.ts: refactor STT/LLM_PROVIDERS to labelKey pattern, clean LANGUAGES
- SttPane/LlmPane: render providers via t(p.labelKey)
- Add missing quota/aria keys to en.json and sync all 10 locale files
… files

Added keys used in code but missing from locale files:
- account: backToSignIn, freeCredit, resendVerification, sending,
  verificationResent, verifyEmailTitle
- settings: autoDetect

Removed 80 keys from old i18n design that were never referenced in code
(onboarding/*, capsule/*, errors/*, tray/*, common/*, app/*).
Also removed _comment metadata from 8 locale files.

All 10 locale files now have identical key sets with zero mismatches.
- HomePage: unit="hours"/"k tokens"/"min" → t('account.quotaHours'/'quotaTokens'/'quotaMin')
- AccountPage: 'hours'/'min' in conditional → t('account.quotaHours'/'quotaMin')
- LlmPane: hardcoded bigmodel placeholder → dynamic from LLM_DEFAULT_CONFIG
- Add account.quotaMin key to all 10 locale files
- Update LlmPane test placeholder assertion
…nd MainLayout

- LlmPane: hardcoded model placeholder → t('settings.llmModelPlaceholder')
- MainLayout: hardcoded aria-label → t('nav.mainNavigation')
- Add nav.mainNavigation and settings.llmModelPlaceholder to all locale files
@tover0314-w tover0314-w changed the title [codex] fix platform stability regressions fix: consolidate platform stability regressions May 31, 2026
@tover0314-w
tover0314-w force-pushed the codex/platform-bugfixes branch from c00515c to 4fa3704 Compare May 31, 2026 19:39
@tover0314-w
tover0314-w force-pushed the codex/platform-bugfixes branch from 4fa3704 to a0fb319 Compare June 1, 2026 02:36
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