mirror of
https://github.com/lucannez64/darling-lol.git
synced 2026-10-26 19:47:42 +00:00
fix(cfnetwork): preserve shared sessions and delegate-queue completions
Ignore both invalidation methods on the shared session; deliver task completion through the owning session delegate queue. Extend the standalone probe to exercise singleton reuse and a suspended custom queue. Require stable old-client process identities and complete window data before optional recovery, and continue launch after shutdown failures.
This commit is contained in:
1 parent
c0f83b399f
commit
1d4f7fae0c
8 files changed
+171
-41
No files matched your search
+8
-3
@@ -31,7 +31,9 @@ The patch check uses temporary base indexes and does not reset or modify the sou
|
||||
|
||||
## NSURLSession lifecycle regression
|
||||
|
||||
After configuring and building the patched Darling source:
|
||||
After configuring, building and installing the patched Darling runtime (including
|
||||
CFNetwork), run the probe. Supply `--frameworks` and `--libraries` when using
|
||||
staged overlays instead of the installed runtime:
|
||||
|
||||
```sh
|
||||
python3 tools/build-riot-urlsession-check.py
|
||||
@@ -53,8 +55,11 @@ overlays, and keeps diagnostics in mode-0600 `build/urlsession-check.log`.
|
||||
Expected checks: five successful HTTP GETs with exact response bytes/status;
|
||||
connection refusal delivered as an error; repeated resume/cancel without
|
||||
duplicate completion; finish waiting for task completion; and session
|
||||
invalidation delivered once for both graceful finish and cancellation.
|
||||
Expected output includes `URLSESSION_PASS` and `LIFECYCLE_PASS`. The original
|
||||
invalidation delivered once for both graceful finish and cancellation; shared-session
|
||||
invalidation leaving later requests usable; and completion delivery honoring a
|
||||
suspended custom delegate queue.
|
||||
Expected output includes `URLSESSION_PASS`, `LIFECYCLE_PASS`,
|
||||
`SHARED_SESSION_PASS` and `QUEUE_PASS`. The original
|
||||
runtime aborts on missing data-task initialization or session invalidation.
|
||||
These checks do not establish full NSURLSession conformance or transport-level
|
||||
interruption of an already-running request.
|
||||
|
||||
@@ -412,3 +412,8 @@ If a black fullscreen game has only its normal Metal child and becomes visible a
|
||||
### Visible cursor while relative on Xwayland (PR #18)
|
||||
|
||||
When Xwayland does not honour warps, the virtual cursor follows real pointer motion and application warps leave it in place. Expected warp echoes are still discarded using their request serial and coordinates. This keeps clicks and camera edge panning aligned with the visible cursor on GNOME/gamescope. The contributor confirmed this path in a gamescope practice-tool session; plain GNOME and NVIDIA still require manual verification.
|
||||
|
||||
Recovery requires every matching client to be at least 60 seconds old and a
|
||||
complete Hyprland window record (`class`, `title`, `mapped`, `hidden`). A second
|
||||
process scan after window inspection must find the same client identities and
|
||||
no game. Missing information or shutdown failure leaves normal launch in charge.
|
||||
Reference in new issue
Block a user