Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
92e1c91
feat: add configurable recording hotkeys
millionart May 4, 2026
2d15591
Merge branch 'codex-recording-hotkey-settings'
millionart May 4, 2026
e7625c5
fix: address hotkey review feedback
millionart May 4, 2026
b8607b2
refactor: clarify window hotkey fallback matching
millionart May 4, 2026
95a86fd
fix: preserve QA hotkey edge semantics
millionart May 4, 2026
983b412
fix: stabilize hotkey recorder combos
millionart May 4, 2026
8aefb4f
Merge remote-tracking branch 'upstream/main'
millionart May 4, 2026
6d3af70
fix: forward fallback hotkey edges
millionart May 4, 2026
edcc1ef
fix: reset held hotkey state on binding update
millionart May 4, 2026
47c0da2
fix: preserve CapsLock hold state on macOS
millionart May 4, 2026
ce64e2e
fix: preserve legacy Fn hotkey on Windows
millionart May 4, 2026
844c1da
docs: design Windows local ASR
millionart May 6, 2026
9ebedeb
docs: plan Windows local ASR
millionart May 6, 2026
23f1dcb
refactor(asr): share wav encoding
millionart May 6, 2026
e7b1c7f
feat(asr): add Foundry local provider defaults
millionart May 6, 2026
89e48ba
feat(asr): add Foundry local runtime wrapper
millionart May 6, 2026
28ffe03
feat(asr): add Foundry local Whisper provider
millionart May 6, 2026
702e094
feat(asr): expose Foundry local ASR status
millionart May 6, 2026
05e45b4
feat(asr): route dictation through Foundry local Whisper
millionart May 6, 2026
71240e2
feat(ui): add Foundry local ASR provider
millionart May 6, 2026
a2f5684
feat(ui): add Foundry local ASR model controls
millionart May 6, 2026
19977bc
test(windows): add local ASR smoke mode
millionart May 6, 2026
05f4fce
fix: gate Foundry local ASR to Windows
millionart May 6, 2026
f034995
fix: show Foundry ASR option on Windows
millionart May 6, 2026
2d07493
feat: improve Foundry local ASR setup
millionart May 6, 2026
2a03f15
Merge remote-tracking branch 'upstream/main' into codex/windows-local…
millionart May 6, 2026
018caca
fix: skip Foundry transcription timeout
millionart May 6, 2026
4fa34b4
merge upstream main into windows local asr
millionart May 6, 2026
091bbdc
fix: release inactive Foundry runtime
millionart May 6, 2026
a1d6e59
fix: address Foundry ASR review feedback
millionart May 6, 2026
f358260
merge upstream main into windows local asr
millionart May 6, 2026
4dc0246
fix: bound Foundry ASR transcription wait
millionart May 6, 2026
0421ced
fix: split Foundry prepare and transcription timeouts
millionart May 6, 2026
eaab081
fix: use Foundry ASR keep-loaded TTL
millionart May 6, 2026
60b4d45
fix: restore Foundry model on prepare failure
millionart May 7, 2026
b3c5554
merge upstream main into windows local asr
millionart May 7, 2026
2290a6c
merge upstream main into windows local asr
millionart May 7, 2026
a54ca77
fix: guard Foundry release and cancel stale transcripts
millionart May 7, 2026
3d4d82f
fix: cancel Foundry prepare with provider
millionart May 7, 2026
b1cf0d4
fix: cancel Foundry prepare before release
millionart May 7, 2026
5c92e87
fix: initialize coordinator hotkey fields on macos
millionart May 7, 2026
593cf76
fix: clean up Foundry transcribe failures
millionart May 7, 2026
a15e6f2
merge main and preserve Foundry selection
millionart May 7, 2026
0bb8d3e
merge upstream main into windows local asr
millionart May 7, 2026
33c2538
fix: address Settings review feedback
millionart May 7, 2026
70455aa
Merge remote-tracking branch 'upstream/main' into codex/windows-local…
millionart May 7, 2026
e0f7ca2
fix: restore frontend Chinese encoding
millionart May 7, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1,396 changes: 1,396 additions & 0 deletions docs/superpowers/plans/2026-05-06-windows-local-asr.md

Large diffs are not rendered by default.

247 changes: 247 additions & 0 deletions docs/superpowers/specs/2026-05-06-windows-local-asr-design.md

Large diffs are not rendered by default.

22 changes: 22 additions & 0 deletions openless-all/app/scripts/check-hotkey-recorder.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
import * as esbuild from 'esbuild';
import { mkdtemp, rm } from 'node:fs/promises';
import { tmpdir } from 'node:os';
import { join } from 'node:path';
import { fileURLToPath, pathToFileURL } from 'node:url';

const tmp = await mkdtemp(join(tmpdir(), 'openless-hotkey-recorder-'));
const outfile = join(tmp, 'hotkey-recorder-test.mjs');

try {
await esbuild.build({
entryPoints: [fileURLToPath(new URL('../src/lib/hotkeyRecorder.test.ts', import.meta.url))],
outfile,
bundle: true,
platform: 'node',
format: 'esm',
logLevel: 'silent',
});
await import(pathToFileURL(outfile).href);
} finally {
await rm(tmp, { recursive: true, force: true });
}
22 changes: 22 additions & 0 deletions openless-all/app/scripts/check-window-hotkey-fallback.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
import * as esbuild from 'esbuild';
import { mkdtemp, rm } from 'node:fs/promises';
import { tmpdir } from 'node:os';
import { join } from 'node:path';
import { fileURLToPath, pathToFileURL } from 'node:url';

const tmp = await mkdtemp(join(tmpdir(), 'openless-window-hotkey-fallback-'));
const outfile = join(tmp, 'window-hotkey-fallback-test.mjs');

try {
await esbuild.build({
entryPoints: [fileURLToPath(new URL('../src/lib/windowHotkeyFallback.test.ts', import.meta.url))],
outfile,
bundle: true,
platform: 'node',
format: 'esm',
logLevel: 'silent',
});
await import(pathToFileURL(outfile).href);
} finally {
await rm(tmp, { recursive: true, force: true });
}
Loading
Loading