Skip to content

Continue Moe integration improvements - #114

Merged
elcritch merged 17 commits into
mainfrom
fix/kosmo-command-mode-105-107-pt2
Sep 25, 2026
Merged

elcritch merged 17 commits into
mainfrom
fix/kosmo-command-mode-105-107-pt2

Conversation

@elcritch

@elcritch elcritch commented Sep 22, 2026 •

Copy link
Copy Markdown
Owner

Summary

  • Fix X11 control-character text events so Backspace and Tab/Shift-Tab work in Moe command and insert modes.
  • Guard the shared native text path against single control-character events from X11, Wayland, and Windows, including Wayland key repeat.
  • Improve Kosmo Git diff review and forward Moe messages to application logging.
  • Widen the Moe help close button and verify the help overlay and editor grid resize correctly.
  • Add a regression test for Return creating one visible line even when the backend also commits newline text.
  • This branch also contains the resource lifetime and renderer snapshot changes from Harden resource lifetimes and reduce renderer snapshot memory #117 (49b04d9).
  • Merged main and updated render assertions for shared FigDraw glyph views.
  • Reuse the idle Chronos worker across animation clock starts to avoid leaked selector descriptors; make column sizing coverage account for font metrics.
  • Disconnect Git status worker and timer subscriptions before teardown to avoid a macOS Sigils listener-set mutation during proxy destruction.
  • Use the active platform shortcut modifier in Kosmo's find-sidebar test and update Kosmo render assertions for shared glyph views.
  • Make the remaining find-result and terminal-tab shortcut tests platform-neutral, with required search readiness checks.
  • Keep Kosmo application shortcuts working while a terminal tab has focus; make the remaining tab and quit shortcut tests use the active platform profile.
  • Keep ARC/ORC address and undefined-behavior checks active while narrowly suppressing LeakSanitizer reports from static FigDraw font caches, OpenGL shader-source copies, Siwin X11 clipboard wrappers, and application-lifetime worker state.
  • Suppress the compiler-generated function-type UBSan diagnostic in Nim 2.2.10's system/orc.nim trace callback; application UBSan checks remain active.

Issue verification

Verification

  • Focused Kosmo regressions for these four issues pass on FreeBSD.
  • The native input guard test and affected Markdown tests pass on FreeBSD; both Kosmo and NimKit runners compile.
  • The full local NimKit runner passes on FreeBSD, including 20 repeated runs of the periodic Git-status test. The full Kosmo runner now reaches its end with only the previously observed FreeBSD workspace-watcher timeout (ignoredSpy.changes); the terminal-tab test and platform shortcut regressions pass.
  • The full local integration runner has two FreeBSD-specific terminal-process assertion failures (live PTY output and alternate-screen scrollback); the Linux and macOS CI test jobs will verify those platforms.
  • The platform-neutral find-sidebar test and all four issue-specific Kosmo regressions pass on FreeBSD.
  • On head 8742ba73, all PR checks pass: Linux/X11 and macOS full test jobs, Linux ARC and ORC ownership sanitizers, all three example bundles, and Linux, FreeBSD, macOS, and Windows builds. LeakSanitizer remains enabled with stack-specific suppressions for upstream FigDraw/Siwin allocations and application-lifetime worker state.

@elcritch elcritch changed the title Fix clipped Moe help close glyph Continue Moe integration improvements Sep 22, 2026
@elcritch

Copy link
Copy Markdown
Owner Author

@Buegel26 have you found any other Moe integration issues? I'm curious if the backspace issue is resolved for you as well.

@Buegel26

Copy link
Copy Markdown
Contributor

@elcritch Unfortunately backspace is not fixed - seems to be same as before.

Local repo: commit c6ab9b0 (HEAD -> fix/kosmo-command-mode-105-107-pt2, origin/fix/kosmo-command-mode-105-107-pt2)

@Buegel26

Buegel26 commented Sep 23, 2026 •

Copy link
Copy Markdown
Contributor

@Buegel26 have you found any other Moe integration issues? I'm curious if the backspace issue is resolved for you as well.

No further issues yet - but I started using moe more often to see how it compares to nvim and to see what else is not as expected or weird in moes integration in kosmo.

@Buegel26

Copy link
Copy Markdown
Contributor

@elcritch ok found something in main and this branch... interesting...

Updated #105 : #105 (comment)

Create #116

@Buegel26

Copy link
Copy Markdown
Contributor

Fixes #105 #106 #116 for me

local repo: commit c49aa29 (HEAD -> fix/kosmo-command-mode-105-107-pt2, origin/fix/kosmo-command-mode-105-107-pt2)

* Harden Merenda resource lifetimes and reduce snapshot memory

Restore shared-runner coverage and fix container removal, tab sizing, table
redraws, terminal errors, and modal cleanup. Add repeated process-resource
checks, diagnostics, an import coverage guard, and ARC/ORC sanitizer jobs.

Stream URL assets with bounded bytes, admission, and concurrency. Compact
unchanged renderer frame metadata to reduce queued incremental snapshots.
Keep native rendering on the UI thread under ORC until its cross-thread
ownership is safe.

Update PLAN.md and document measurements and remaining aggregate cache work.

Validated on macOS/arm64 with Nim 2.2.12:
- atlas-run tests: four runners and 1,463 tests passed.
- ARC and ORC ownership sanitizer subsets: 90 tests passed each.
- Example bundle compiled; memory benchmark completed.
- Import coverage, workflow syntax, formatting, and whitespace checks passed.

* Convert shared test import checker to NimScript

* Restore ORC renderer threads and preserve window lifetime

* Remove experimental native dynlib support

* Focus the work plan on near-term workstreams
@elcritch
elcritch merged commit 593a04b into main Sep 25, 2026
12 checks passed
@elcritch
elcritch deleted the fix/kosmo-command-mode-105-107-pt2 branch September 25, 2026 12:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants