You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: add history tab and optional clipboard copying
History:
- New History tab with persistent storage of all dictations
- Each entry stores final text, raw transcription, style, app name, timestamp
- Expandable entries with copy/remove actions and raw transcription diff
- Thread-safe JSON persistence with async lock (max 500 entries)
Clipboard:
- New "Copy to clipboard" toggle in Preferences (default: off)
- Clipboard write only happens when explicitly enabled or when auto-paste needs it
- Status messages updated to reference history instead of clipboard
@@ -1054,6 +1157,7 @@ function PreferencesPage({ bootstrap, onAction }: { bootstrap: BootstrapState; o
1054
1157
<divclassName="card">
1055
1158
<divclassName="card-head"><h3>Behavior</h3></div>
1056
1159
<ToggleRowtitle="Auto-paste"description="Paste into the active app after rewriting"checked={bootstrap.settings.autoPaste}onChange={(v)=>voidonAction('settings',()=>window.openWhisp.updateSettings({autoPaste: v}))}/>
1160
+
<ToggleRowtitle="Copy to clipboard"description="Copy the result to your clipboard after each dictation"checked={bootstrap.settings.copyToClipboard}onChange={(v)=>voidonAction('settings',()=>window.openWhisp.updateSettings({copyToClipboard: v}))}/>
1057
1161
<ToggleRowtitle="Show overlay"description="Show the dictation badge on screen"checked={bootstrap.settings.showOverlay}onChange={(v)=>voidonAction('settings',()=>window.openWhisp.updateSettings({showOverlay: v}))}/>
1058
1162
<ToggleRowtitle="Launch at login"description="Start Openwhisp when you log in"checked={bootstrap.settings.launchAtLogin}onChange={(v)=>voidonAction('settings',()=>window.openWhisp.updateSettings({launchAtLogin: v}))}/>
0 commit comments