Skip to content

fix(lifecycle): stock hello app keeps its session after Linux native Close #176

Description

@0monish

Current defect

On physical Ubuntu 26.04.1/GNOME Wayland, the stock app generated at docs candidate 8981b67 (runtime base dcc4676) opens normally. Clicking native Close removes the renderer, but CLI, host, Bun/bwrap and the nonce stage remain after an independent bounded process observation. Ctrl-C cleanup works and is a separate result.

Evidence and ownership

Maintainer coordination: KEL-185; source observations from KEL-183. crates/keld-cli/templates/hello/src/main-body.ts awaits forever after echo without consuming lifecycle events. The Linux window loop emits LastWindowClosed and waits for Bun Quit; core forwards that existing event.

Acceptance

Reproduce with the untouched generated app before fixing. Derive the smallest change at the existing lifecycle/transport owner: preserve one authenticated link, existing framing/correlation and custom listener behavior. No blanket kill, platform-loop workaround, duplicate parser or sleep retry. Verify native Close, descendant/stage cleanup and relaunch independently, and retain the unfixed failure. Run required Rust/TS/conformance/real-OS gates and independent review.

The Linux operator owns the fix through a separate claimed worktree. Discuss before competing edits. If the shared transport contract must change, record the prerequisite/spec decision first. Foundation #167; docs #172 must qualify behavior until fixed.

Activity

  1. added
    foundationOpen-source foundation readiness and its evidence
    on Sep 7, 2026
  2. 0monish commented on Sep 12, 2026

    @0monish
    MemberAuthor

    KEL-185's Linux lifecycle correction is merged in PR #228 as 9eb54fb7fe31f94a3c1e2c70b97714b869768c67.

    Native acceptance used the exact final candidate e4987703812a9c7ebb8d2656b870bbb99f03c730; its tree is identical to the landed merge. Environment: Ubuntu 26.04.1 x86_64, GNOME 50.1 native Wayland, WebKitGTK 2.52.6, Bun 1.4.2, Rust 1.97.1.

    Run Native Close UTC (2026-09-12) CLI exit Captured process identities exited Exact stage removed
    1 06:19:11 0 10/10 yes
    2 06:20:05 0 10/10 yes; fresh stage and process identities

    Both used the untouched generated stock app. Native active/showing/visible frames, stock content, actual host PID/start ticks, reciprocal Wayland socket binding to the local compositor, and the native Close action were recorded. No forced cleanup was used. Screenshot methods were unavailable; no bitmap or pixel-rendering claim is made.

    The final candidate and actual landed primary checkout each passed full just ci: 659 workspace tests passed with 5 explicit skips, plus format, warning-denied workspace Clippy, TypeScript, generated docs/rendering and dependency checks. Final candidate CI and landed-main CI passed. Landed keld doctor exited 0.

    The current README and quick-start qualify this Ubuntu result and retain historical failure records. X11, non-Debian and release packaging remain unverified. Raw source/fixture/process/stage records, command logs and checksums are retained on KEL-185; final evidence archive SHA-256: cce1966c0a7488d770625359a0e0ff074bb23ed788c48df733adffe7af767eed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    foundationOpen-source foundation readiness and its evidence

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions