Merge commit 'a41e66e0' into codex/pr-queue-integration

# Conflicts:
#	CHANGELOG.md
This commit is contained in:
Palash Debnath
2026-09-07 12:28:46 +05:30
4 changed files with 25 additions and 0 deletions
+2
View File
@@ -77,6 +77,8 @@ the frozen-backend fallback mirror it for their toolchains.
- MOSS accelerator routing and status match runtime selection, with CPU fallback when device probing fails (#1830) — thanks @li-lizhe!
- Confucius accelerator routing tolerates failed device probes, and dots.tts keeps safe default precision on non-CUDA hosts (#1831) — thanks @li-lizhe!
- On macOS, the header status dot and kicker no longer render underneath the overlaid traffic lights (#1863) — thanks @psiberfunk!
- The capture widget can hide after recording and recover from being left visible while idle (#1865) — thanks @psiberfunk!
- macOS retains the shared desktop window sizing, resize limits, and file-drop behavior when native chrome is applied (#1865) — thanks @psiberfunk!
- On macOS, the header no longer shows Windows-style minimize/maximize/close buttons alongside the native traffic lights (#1865) — thanks @psiberfunk!
+2
View File
@@ -198,3 +198,5 @@ window sizing, resize limits, and application file-drop behavior match the
other desktop platforms. The platform configuration repeats the complete window
list because Tauri replaces arrays when merging it with the shared config.
The capture widget remains a separate borderless window created at runtime.
Its window-scoped Tauri capability permits hiding after recording or idle
reconciliation on every desktop platform.
@@ -0,0 +1,7 @@
{
"$schema": "../gen/schemas/desktop-schema.json",
"identifier": "capture-widget",
"description": "Allows the capture widget to hide when recording ends or an idle window is reconciled",
"windows": ["widget"],
"permissions": ["core:window:allow-hide"]
}
@@ -35,3 +35,17 @@ describe('macOS effective window configuration', () => {
expect(mac.bundle.macOS.minimumSystemVersion).toBe('13.3');
});
});
it('allows the capture widget to hide its own window after recording or idle reconciliation', () => {
const directory = path.resolve(import.meta.dirname, '../../src-tauri/capabilities');
const permissions = fs
.readdirSync(directory)
.filter((name) => name.endsWith('.json'))
.map((name) => JSON.parse(fs.readFileSync(path.join(directory, name), 'utf8')))
.filter((capability) => capability.windows?.includes('widget'))
.flatMap((capability) => capability.permissions);
// core:default includes visibility queries, but not the hide command used
// by CaptureWidget's recording completion and stranded-window recovery.
expect(permissions).toContain('core:default');
expect(permissions).toContain('core:window:allow-hide');
});