Skip to content

v0.10.6 — Rewrite on SaaS backend

Pre-release
Pre-release

Choose a tag to compare

@hoangperry hoangperry released this 26 May 20:18

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.rewriteAvailable now returns true for both customBackend and firstPartyBackend translation sources. Direct API providers stay gated on each provider's individual supportsRewrite flag.

Added — SaaS backend (already deployed)

  • The Supabase translate Edge Function accepts a new direction: "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 direction value (including missing or the older "inbound" / "outbound" raw values) lands on the regular translate path.
  • Cache key includes direction so 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.