Merge commit 'a41e66e0' into codex/pr-queue-integration
# Conflicts: # CHANGELOG.md
This commit is contained in:
@@ -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!
|
||||
|
||||
@@ -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');
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user