From e31a36d5a432a39d445d6a3b16533cdba550c4d3 Mon Sep 17 00:00:00 2001 From: Sergio Date: Mon, 7 Sep 2026 18:37:40 +0000 Subject: [PATCH] =?UTF-8?q?SDD=2026=20=C2=A76.10:=20la=20cadena=20de=20not?= =?UTF-8?q?ificaciones,=20probada=20desde=20la=20p=C3=A1gina=20web?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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) Claude-Session: https://claude.ai/code/session_01NNFzrqFBEt6W7maGJKf2Xs --- docs/26-atuq-envoltorio-gecko.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/docs/26-atuq-envoltorio-gecko.md b/docs/26-atuq-envoltorio-gecko.md index b08b40bd..2913f1c9 100644 --- a/docs/26-atuq-envoltorio-gecko.md +++ b/docs/26-atuq-envoltorio-gecko.md @@ -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