Conversation
|
Reconciled with main f65c8ee after #197 landed; new merge commit 6a8539d. Only conflict was the Windows window-close CI entry, retained. Lifetime Rust files are unchanged from previous head; main auto-release/SQLite/private-file changes preserved. Effective diff versus main is only two lifetime Rust files plus the six-line Windows test gate. Full tauri-webview-test-support suite, strict all-target Clippy, formatting, real Linux native window-close proof, and read-only review passed. Fresh CI against main is required; old-base green checks are not merge evidence. Coordinated with FastLED/cli#242. |
|
Fresh CI is now running on 4073650 (empty synchronization commit; tree unchanged from locally verified 6a8539d). Dylints failed before source linting: setup-soldr nightly-version map digest mismatch, expected f1711f51d170a78cff889fe49b42865995302e3ef4af7e0088d66b570282c86e, received c30a132cb419a772c213616a09e2a61efeb8f77c1722bf4a640670e0904c1b13 after one catalog refresh. This matches the setup failure on #208. Integrity checks remain intact; do not merge on failed or absent checks. |
|
A second new-base CI failure is source-level, not the catalog issue: Windows rust-native reports 563 passed, 1 failed, 3 ignored. platform_win::ipc_private_dir::tests::inherited_private_child_is_accepted_but_explicitly_permissive_child_is_rejected panics at src/platform_win/ipc_private_dir.rs:494 on PermissionDenied: private input is not current-user owner/SYSTEM DACL private. This file/test was imported unchanged from main during reconciliation; lifetime changes only touch tauri.rs, smoke binary, and CI gate. Investigate the private-file ACL regression before merge; do not weaken ACL validation or treat this run as green. |
|
Closing as superseded: #220 replayed this stacked FastLED foundation onto current main after the #216 merge diverged, and it has landed. Verified against Reopen if something here is still missing from main. |
Refs #198. Coordinated with FastLED/cli#242. Stacked on #197; merge page bootstrap first.
Adds WebviewHandle::wait_for_terminal() for interactive windows without an arbitrary lifetime deadline. Uses the existing resource hub and notification path; no periodic polling, timer, runtime or dependency is introduced. Dropping the borrowed future leaves the native window alive and releases waiter admission; handle cancellation and Drop retain revocation semantics. The timed method retains expiry behavior.
Review identified a shared-operation concurrent-wait hang. A private cancellation-released admission guard now rejects overlapping timed/untimed waits with facade-owned TerminalWaitInProgress, before they can consume terminal state or expire the window. Generic hub notification semantics are unchanged.
RED: native regression failed because a second untimed wait was not rejected within one second. GREEN: real Linux Xvfb window-close proof covers both initial waiter types, overlapping timed/untimed rejection, cancellation without resource loss, and resumed closure observation. Native timeout and handle-cancel proofs also pass. One-agent clud-review is clean. Windows CI gains the interactive window-close proof; Linux already executes it.
Full GUI-support tests, strict all-target Clippy, formatting, dependency isolation and Windows x86-64 MSVC crosscheck pass. macOS ARM64 crosscheck could not complete locally: two attempts failed in the Soldr SESSION relay while compiling zerofrom-derive, before this crate was checked. CI validation remains required. Native Windows validation, FastLED viewer adoption, Windows zoom/media/render/capture parity and exact published release consumption remain outstanding.
Windows CI follow-up: the bootstrap fixture failed on an automatic GET /favicon.ico before the iframe request. Commit 46344dc answers only exact favicon GETs within the existing connection/deadline budget; unexpected paths and all proof assertions remain required. Socket regression observed RED then GREEN; all five smoke-helper tests, strict binary Clippy and real Linux native bootstrap proof pass; clud-review is clean. The correction is also merged into the lifetime branch (470f16c). New native Windows CI results remain required.