Skip to content

composer fails activation on 0.0.24: settings keys are undeclared #23

Closed

Description

@Xuepoo

Summary

bitty-terminal.composer fails activation on 0.0.24, and Core's retired composer fallback is disabled (E-CUT), so alt+e opens nothing.

Repro (Bitty 0.0.24 dev b665f267)

bitty plugin install /path/to/composer --yes
bitty plugin enable bitty-terminal.composer
bitty --headless --log-level info          # activation failure
# headed run, bind { chord = "alt+e", action = "open_composer" }, press alt+e

Actual (activation):

bitty: plugin 'bitty-terminal.composer' failed: registration capture error for 'bitty-terminal.composer': lua error: <table 0x...>

Actual (alt+e):

bitty: keymap open_composer -> no composer (retired Core, not-active; plugin owns editing UX)
bitty: composer retired (E-CUT): no retained Core session; plugin owns editing UX

Screenshot: recording/release-runtime-matrix-0.0.24/shots/07-composer.png (no overlay).

Root cause (from source reading)

lua/composer/init.lua reads newline, submit, close, external_editor, and open_chord through bitty.settings.get during activation, but bitty-plugin.toml declares no [settings]. The host fails closed on undeclared keys, aborting activation.

Expected

The composer overlay opens on the bound chord, shows the title row and input line, and submits through the host paste pipeline.

Blocking

0.0.24 runtime acceptance: composer is an official plugin and there is no Core fallback.

Activity

  1. added this to the v0.1.0 milestone on Oct 19, 2026
  2. Xuepoo commented on Oct 19, 2026

    @Xuepoo
    ContributorAuthor

    Fixed and verified.

    • Declarations: de75a3f (PR [CTX-1227] feat: declare [settings] keys, user config honored (composer#18 follow-through) #20) declares the five keys registration reads — newline, submit, close, external_editor, open_chord — as string with the shipped fallbacks from M.DEFAULT_KEYS / M.DEFAULT_OPEN_CHORD.
    • Regression and proof: commit 04e8603 on PR test(settings): pin composer#23 declared-key activation #24, merged as 707b0101b0069eda5887b73fc55feaba0e8f1eb5. tests/settings-declarations.test.ts derives the read key set from the entry point itself, matches declared kinds and defaults to the Lua fallbacks, and proves activation with an empty settings file, with no settings bridge values, and with explicit newline/submit values.
    • Runtime evidence: the pinned retest installed composer at c2e8249 and activation logged plugin 'bitty-terminal.composer' active (5 commands, 3 events).

    Root cause of the reported failure was a stale checkout, not main: the matrix installed c9e94c4 from the abandoned ctx-1157/fix-open-scene-input-pump branch, which predates the declarations. Nothing is pending on this issue; the new suite keeps the declarations from regressing silently.

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions