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