SDD 26 §6.10: la cadena de notificaciones, probada desde la página web
Con `--via-atuq` el emisor es `new Notification(...)` dentro del navegador, o sea las cinco piezas: libxul dlopeando libnotify.so.4 (invisible para cualquier auditor de ELF), D-Bus, la activación y dunst dibujando. Veredicto por el `onshow` del motor: MOSTRADA #33 con el .service, «ERROR al mostrar» sin él. Y deja probado de paso que en el proceso de atuq la GLib NO se duplica — usa la cadena `-shared` que arrastra su GTK3, la misma contra la que enlaza libnotify.so.4. El que la duplicaba era dunstify. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01NNFzrqFBEt6W7maGJKf2Xs
This commit is contained in:
@@ -593,6 +593,18 @@ de sesión, manda un `notify-send` y **deja que el bus active el daemon solo**
|
||||
recorre una página web en `atuq`—, y mide un diff de píxeles antes/después: 14.832 cambiados con el
|
||||
`.service` puesto, 0 sin él. Evidencia en `docs/evidencia/dunst-sway-notificacion-2026-09-07.png`.
|
||||
|
||||
Y la cadena se cerró hasta el final, que es donde vive la promesa: con `--via-atuq` el emisor no es
|
||||
`notify-send` sino **una página web dentro del navegador**. Ahí se ejercitan las cinco piezas —
|
||||
`new Notification(...)` → `libxul` haciendo `dlopen("libnotify.so.4")` (que no es NEEDED de ningún
|
||||
ELF, o sea invisible para cualquier auditor) → D-Bus → activación → dunst dibujando—, y el veredicto
|
||||
es el `onshow` del motor, no el diff de píxeles: con el `.service` puesto llega a `MOSTRADA #33`, sin
|
||||
él el motor dice `ERROR al mostrar` y no se dibuja nada. Evidencia en
|
||||
`docs/evidencia/atuq-notificacion-web-sway-2026-09-07.png`.
|
||||
|
||||
Vale la pena decir qué prueba eso de más: que en el proceso de `atuq` **la GLib no se duplica**. El
|
||||
navegador usa la cadena `-shared` (la que arrastra su GTK3) y `libnotify.so.4` enlaza esa misma, así
|
||||
que el `dlopen` no repite GObject. El que sí lo repetía era `dunstify`, y por eso no se shipea.
|
||||
|
||||
⚠ De paso apareció otra media función, y ésta toca a `libnotify` directamente: **`dunstify`
|
||||
segfaultea hasta en `--help`** porque mezcla la GLib ESTÁTICA del corpus con la COMPARTIDA que
|
||||
arrastra `libnotify.so.4` — dos copias de GObject en un proceso. No se shipea; el emisor es
|
||||
|
||||
Reference in New Issue
Block a user