v0.10.6 — Rewrite on SaaS backend
Pre-release
Pre-release
Rewrite works on SaaS backend
User-reported bug: pressing a tone rewrite hotkey (Polite / Professional / Friendly etc.) did nothing when the app was configured to use Contextual MT Cloud or a self-hosted backend. The hotkey registration was silently skipped because the historical rewriteAvailable gate hardcoded "only direct-API providers can rewrite".
Fixed — Mac app
SettingsStore.rewriteAvailablenow returnstruefor bothcustomBackendandfirstPartyBackendtranslation sources. Direct API providers stay gated on each provider's individualsupportsRewriteflag.
Added — SaaS backend (already deployed)
- The Supabase
translateEdge Function accepts a newdirection: "rewrite"field that switches Gemini to a same-language tone-rewrite system prompt and drops Source/Target language lines from the user prompt (otherwise the model would translate VN→VN instead of adjusting tone). - Backward-compatible: any other
directionvalue (including missing or the older"inbound"/"outbound"raw values) lands on the regular translate path. - Cache key includes
directionso a translate-of-X never returns a previously-cached rewrite-of-X.
Internal
- Refactored the v0.10.4 auto-open Settings tests to drive the decision synchronously via a new
checkAutoOpenSettings()method on PermissionManager. Production code still schedules a 1.5 s grace task; tests just exercise the decision body deterministically (the original async version raced the cooperative scheduler in full-suite runs). - 390 tests pass.
Risk-free upgrade
UserDefaults + Keychain layout unchanged from v0.10.5.
Install
- Recommended: download the DMG below — open, drag the app into Applications, launch.
- Sparkle auto-updates from v0.10.3 onwards work.
Both DMG and ZIP are signed (Developer ID JP4XV8A9JF), notarized by Apple, and stapled. Apple Silicon only. macOS 14 or later.