August 7, 2026
61 public commits · 7 public repos · 256 private commits
- Private work 4 repos sealed
256 commits count toward the day. Names, subjects, and links stay private.
- souveraine 25 changes
- 5:36 p.m. · 78d6743
- 4:06 p.m. · 9ceaf61
- 4:02 p.m. · 0c9db09
- 2:48 p.m. · 8cd2adb
- 12:26 p.m. · 16c6ee1
ZoneTransition owns the card rect, the four overview verbs, the end-target table and the gesture clock. ZoneOverview and the rail read it; neither derives a geometry.
- 8:52 a.m. · 72171ac
Two fixes to the same seam. columnLayout was still gated on missionControlOpen, so a peek raised a panel whose contents were invisible — the same line that had been left behind once before, with its own comment saying so.
- 8:52 a.m. · 452acea
Going home from a pull left the app scaled down until the pill was dragged back to clear it. clearPose walked ViewtopControl.windows, which is the 2 s poll's list, so a window that list no longer named never got its 1.0 back. Track the ids actually posed and clear those too.
- 8:42 a.m. · f699f57
The overview loader was only active once missionControlOpen was already true, so nothing existed during the pull and ZoneOverview.progress following the rail was dead mid-drag. The cards appeared at release and animated on their own clock — two motions, which is the seam TASK-60's acceptance names.
- 8:41 a.m. · 57208c8
A partial slide left the app scaled small until another pull brought it back (DUMP-bugs 8). Every path anyone checked did call endPull, so the hunt for the one that didn't was the wrong shape: while restoring is a step, some path skips it. It is now a function of `dragging`.
- 2:29 a.m. · 14c3c80
- 2:24 a.m. · 630d691
The drawer clears oskOpen on close and this did not, so the OSK outlived the surface holding the only text field it was serving — and with nothing focused there was no obvious way to put it away.
- 2:22 a.m. · f4caaae
Summoning on onPressed meant any gesture that merely began over the search field raised the keyboard — including the swipe that scrolls the app grid, which starts at the top of the drawer more often than not. The press now only remembers where it landed and the release decides, with a generous slop: a thumb reaching the top of a 540px panel is not steady, and a few pixels of drift while tapping a text field is a tap.
- 2:21 a.m. · 47e8135
`posture()` called window.live2dMotion, which does not exist — measured undefined on the device. Nine states advertised to her in the prompt and wired to nothing. The bundle exposes two levers: #live_talk, a motion slot it reads every frame, and its own head/body hit test. The nine collapse onto those rather than pretending: speaking talks, idle rests, and the rest are a look — head for attention, body for effort.
- 2:07 a.m. · e218601
The handler already existed and already did this — a second one in the same MouseArea is "Property value set multiple times", which failed the whole module and took the shell down. The pill's stranded-pose symptom is something else; the cancel path was never the hole.
- 2:06 a.m. · 4826574
onReleased is the only thing that clears the pull's pose, and a MouseArea whose grab is taken away never gets one — it gets onCanceled, which had no handler. So a cancelled climb left `dragging` true, the pull progress set and the app posed at 0.6: shrunken, with nothing on screen to say why, and no way back except pulling the pill again to force a fresh press and release through.
- 2:04 a.m. · 5c44ea0
44px buttons with 35px icons read small on a 540px panel, and a stack's members were 12px inside a 35px box — unreadable, which is the whole job of the collapsed form. 56/44 now, and the member icons give back the border and padding that were being subtracted from them as well as the grid spacing.
- 1:34 a.m. · a1d9a87
- 1:32 a.m. · 6f37528
ZoneOverview took its width from the Column it sits in, and a Column is as wide as its widest child. The drawer's search widget supplies that; mission control is the cards alone and has no search, so the only child left was the loader — whose width came from the column, whose width came from the loader. The cycle resolves to zero.
- 1:23 a.m. · 5ec6bfd
Multitasking was raised only by the pill's first-stage swipe, so the one surface that has been reported broken was the one neither an agent nor a test could reach. state() reports what the cards are drawn from.
- 1:11 a.m. · 075ddf1
Gated on screenLockSecure, the compositor's ack, not on screenLocked. The request drifts: measured on the phone, `session lock` answered already-locked while logind reported LockedHint=no and the phone was in use. That is a shadow copy of state the protocol owns, and a face gated on it would have been permanently dismissed with nothing on screen to explain why.
- 1:01 a.m. · c8dc24d
Subscribes to viewtop's gaze feed and dispatches a synthetic pointer move on the canvas, so live2d.js's own mousemove path drives head angle and eye direction with its existing damping. Synthetic is the point: she is deliberately not being given those contacts, and this lets her watch them anyway.
- 12:31 a.m. · forge event
- 12:24 a.m. · ae432e7
Entries may carry a hold verb beside verb; the ring fills while it charges so the commitment is visible while it is still cancellable, and sliding off cancels. Holding the camera starts a recording, tapping or holding it again stops it — the same seat, because the dial is muscle memory.
- 12:24 a.m. · ac35b34
The rig never drew. live2d.js is not only the Cubism runtime — it carries the reference's character layer, which reads #live_talk every update as its motion-state slot. Our page omitted the element, so it threw on the first frame after the model and all four textures had loaded: assets 200, WebGL live, no error reaching Rust, blank canvas.
- 12:24 a.m. · 78496e1
hyprsunset does not exist under viewtop and execDetached cannot fail loudly, so the brightness slider and the night light have done nothing since the move. Same public surface, pointed at viewtop's gamma verb. TASK-61.
- SouveraineOS 14 changes
- 8:40 p.m. · 376ef95
- 8:22 p.m. · df334ca
- 8:00 p.m. · bc00214
- 7:40 p.m. · 4f8f7cf
- 5:36 p.m. · 327c08c
- 5:24 p.m. · 721b0c7
- 4:16 p.m. · 5cc4020
- 3:55 p.m. · b1a9efc
- 2:52 p.m. · 4aa61d7
- 12:26 p.m. · 71f6ce5
The awkward hand-off was not the dwell gate — it was committing at whatever shift the thumb left. quickstep travels to the end target first; settleTo does that now. Dwell restored to match prior art.
- 9:50 a.m. · f71f0d7
- 9:18 a.m. · ee8697c
Two writers own one geometry — the rail's pose and ZoneOverview's scale, running opposite curves off the same progress. Three attempts to make the numbers agree failed in a session. The strand proves it: the repro path is card taps, which never reach the rail's clear-the-pose code.
- 2:29 a.m. · 528d290
TASK-59 becomes a record of five bugs that each presented as something else — the missing #live_talk element, --app-id doing nothing, the GL context claimed before the canvas was sized, posture wired to a function that does not exist, and a feed that dropped its own reader for being slow. Plus the furniture role, input regions, gaze, and what the rig costs next.
- 1:24 a.m. · d62ae3f
- Pixel3Arch 14 changes
- 8:39 p.m. · fe8ad41
- 8:22 p.m. · b77f181
- 7:57 p.m. · 31fe89c
- 7:28 p.m. · b2a1d2c
- 7:17 p.m. · e8bb2bf
- 7:07 p.m. · 6a75798
- 3:54 p.m. · 8c9c50f
- 3:40 p.m. · 3924279
- 3:35 p.m. · 4e862e8
- 3:31 p.m. · d7c765a
- 3:24 p.m. · b6bc0ff
- 3:04 p.m. · d151164
- 2:51 p.m. · 258c995
- 9:49 a.m. · 9b1afd1
Section 6 told the reader to get the address from the router, which is advice you cannot follow from a laptop that already knows the subnet. When both defaults fail, sweep the laptop's own non-home subnets and report only addresses that answer ssh on our key. Cost 2026-08-07 its first twenty minutes.
- souveraine-viewtop 7 changes
- 9:46 a.m. · 3c85397
The shell scaled real windows through pose while ZoneOverview scaled its cards, both off one progress and running opposite curves, so the window was at 0.6 of the glass when the card arrived near full bleed. Worse, the pose was applied by the rail and had to be undone by whoever ended the gesture — tapping a card never touches the rail, so a window came back shrunk with no way to restore it.
- 2:21 a.m. · 62ec16b
A full channel dropped the subscriber, which made a fast stream self-terminating: gaze pushes at ~25/s filled the queue faster than a QML socket drained it, so the shell was unsubscribed inside the first burst of a drag and never told. It looked exactly like a compositor that had stopped pushing — and an external client that read faster kept working, which is what made it look like the shell's bug.
- 1:52 a.m. · b14d992
An xdg_popup is its own surface, not a subsurface, so a layer surface's surface tree does not contain it — and only toplevels had a popup pass. Every menu the shell opened from the bar, the dock or the pill was created, configured, and never composited. The dock's app-stack fan named it: tapping a stack set `expanded`, built the arc, and put nothing on the glass.
- 1:45 a.m. · f6778ef
Withholding every client contact during a grab took the shell's own chrome with it, because a quickshell layer surface is a Wayland client like any other. So "Done moving" went deaf and the move could be entered and never left. Top and overlay layers are exempt now; the app underneath still gets nothing, which is the point of the grab.
- 12:59 a.m. · d7a6760
Her input region is her silhouette now, so the compositor stops handing her contacts that land on the wallpaper — which also stopped her tracking unless you touched her first. Where a finger is and who receives it are different questions; this answers the first without changing the second.
- 12:20 a.m. · bb95307
A toplevel is classified at its first commit rather than at map, because xdg_toplevel is created before the client sends set_app_id — so the old code minted a zone, moved the strip, took the keyboard and told the dock about a window it had not yet identified. Furniture (org.souveraine.face) takes no zone, is announced to nobody, wears no frame, keeps its own size, and hangs from the top of the zone with the room below it left free.
- 12:20 a.m. · 21882c9
blueline's SW43408 has no EDID and viewtop has been scanning out raw sRGB onto a ~P3 panel since the move off Hyprland, so everything reads oversaturated. The linear-light transform lives in the GLES fork; this side owns which matrix, because only the compositor knows which device it is.
- 9:46 a.m. · 3c85397
- linux-blueline 2 changes
- 8:39 p.m. · forge event
- 7:16 p.m. · 184997d
To: Srinivas Kandagatla <srini@kernel.org> Cc: linux-arm-msm@vger.kernel.org Cc: linux-sound@vger.kernel.org Cc: linux-kernel@vger.kernel.org Cc: phone-devel@vger.kernel.org Signed-off-by: Casey Tunturi <casey@samaritansolutions.net>
- smithay 2 changes
- 12:17 a.m. · forge event
- 12:07 a.m. · 645961c
The transform rides on a uniform rather than a shader variant, so an unmanaged draw takes no colour arithmetic at all and stays byte-through. Un-premultiplies around the sRGB transfer functions: a 3x3 commutes with the alpha scalar, the transfer curve does not, so decoding premultiplied values shifts hue at every alpha but 1.
- souveraine-usb 1 change
- 1:20 p.m. · forge event