July 27, 2026
45 public commits · 5 public repos · 272 private commits
- Private work 7 repos sealed
272 commits count toward the day. Names, subjects, and links stay private.
- hexagonrpc 12 changes
- 10:01 p.m. · 6dec932
A byte count cannot tell a LoadNanoappResponse carrying success=true from one carrying success=false. elmyra loads and answers 52 bytes, and a squeeze produces nothing; without the bytes those two cases are indistinguishable.
- 5:26 p.m. · f2ab7b6
Encodes LoadNanoappRequest by hand (verified field-for-field against a flatc-generated reader) and names the file rather than shipping it: the DSP opens it over HexagonFS, which hexagonrpcd already serves.
- 1:41 p.m. · 3743745
Methods 3-5 recovered by reading the six invoke scalars out of the vendor host daemon. Method 4 is get_message_to_host, not load_nanoapp: there is no load_nanoapp RPC, loading is a LoadNanoappRequest flatbuffer sent over deliver_message_from_host.
- 12:16 p.m. · c0ff2b4
- 12:16 p.m. · e62ce22
- 12:16 p.m. · 97097c3
- 12:16 p.m. · d5eb8d5
- 12:16 p.m. · f76e143
- 12:16 p.m. · 7396071
- 12:16 p.m. · 21b732a
- 12:16 p.m. · 4a89ab8
- 12:16 p.m. · 1a39c81
- 10:01 p.m. · 6dec932
- Pixel3Arch 12 changes
- 6:32 p.m. · 8fff087
- 1:42 p.m. · c18be31
- 11:56 a.m. · b4a45ff
0016 was generated via Python heredoc which mangled escape sequences. Regenerated from hand-written files via git diff --cached. Full 0001-0016 sequence verified clean on fresh upstream clone.
- 11:51 a.m. · 2dbe9c4
- 11:47 a.m. · 1561d21
0015-apps-std-implement-ftell.patch was written against upstream but patches 0007-0014 shifted the apps_std.c line numbers. Regenerated against the actual post-0014 state. Full sequence 0001-0016 verified clean.
- 11:15 a.m. · ab09c5e
chrecd now loads the elmyra nanoapp after starting CHRE: - Method 4 (load_nanoapp): SC=0x40100200, 1 in-scalar (size), 2 out-scalars (txn_id, result). Binary delivered through HexagonFS file bridge. - chrecd accepts optional argv[1] for nanoapp path, defaults to /usr/share/qcom/sensors/sdsp/elmyra.so. - initialize_reverse_monitor (method 2) called before start_thread.
- 10:19 a.m. · 318f7d0
- 10:11 a.m. · 84673db
- 9:27 a.m. · a07801b
stevia 0.56.0-9: drop the terminal layout (0005).
- 9:00 a.m. · c8b0287
- 8:58 a.m. · 33da1d8
- 8:45 a.m. · 84adb45
- souveraine 10 changes
- 9:38 p.m. · 68b6025
Every failure path in shellReady answered cb(false) — no lock owed — so a socket that was not up, a duplicate handshake, or a 3s timeout all concluded the session was open. The timeout logged 'proceeding without sessiond' and left the phone unlocked at exactly the moment the authority was unreachable, while the daemon side of the same contract retakes the lock on heartbeat EOF 'whether or not the session was locked at the time. Fail closed.'
- 9:30 p.m. · deda4a7
onScreenLockSecureChanged is an edge. After a sessiond restart our lock surface is already secure, so the edge is in the past and the ack owed by the new handoff was never sent — sessiond logged 'shell never confirmed its lock after handoff' and retook the lock 15s later.
- 9:21 p.m. · 4ed8f3d
SessionEvents asked loginctl for -p ObjectPath, which is not a property — it returned empty on every boot, so external lock signals were never monitored and the shell had no unlock ingress. Resolve the graphical session the way lockhint.rs does; not GetSession(auto) (this shell is a session-less user unit) and not the /session/auto alias (PropertiesChanged only fires on the concrete path).
- 9:21 p.m. · 45fc69b
Accel inferred moving from orientation edges, so Moving(false) was only reachable from the startup banner — boot 0 carried 165 true to 8 false and the keepalive re-sent a stuck true every 30s, pinning +0.3 into observed_confidence for the life of the process. Motion now decays over MOTION_WINDOW and the keepalive re-derives it.
- 3:34 p.m. · 3d93400
sensord hung off graphical-session.target, which nothing on this device starts, so it was enabled and dead from every boot. Down starts from a last-seen stamp and structurally cannot see that. Bind the reporter to sessiond and make the machine say so.
- 2:54 p.m. · 684d1f9
An empty home/casey still ships and still trips the stray check. Runs 1234 and 1248 were both this guard, not the build.
- 1:46 p.m. · 25d1e19
Run 1234 failed because the new stray check omitted var/lib/upower.
- 10:11 a.m. · 7eb2135
udev rules and hwdb installed under the sysroot prefix, so none of the fork's quirks were ever active on the phone.
- 9:15 a.m. · 2170ba6
- 8:29 a.m. · 53dcb40
- 9:38 p.m. · 68b6025
- SouveraineOS 10 changes
- 6:35 p.m. · 6c5d39b
- 3:49 p.m. · 4287d87
- 3:36 p.m. · b24963a
- 1:43 p.m. · 04831db
- 10:23 a.m. · 0533f9f
- 9:29 a.m. · 4973393
- 9:00 a.m. · ed21db0
- 8:46 a.m. · 78c62a6
- 8:36 a.m. · ccf02e3
- 2:03 a.m. · 3abf45a
- linux-blueline 1 change
- 10:19 a.m. · 31eb5aa
PM8998 GPIO 2 gates the MAX11261 strain-gauge supply and nothing raised it from the kernel. Replaces a systemd unit holding the line with gpioset.
- 10:19 a.m. · 31eb5aa