diff options
| -rw-r--r-- | todo.org | 38 |
1 files changed, 27 insertions, 11 deletions
@@ -152,7 +152,8 @@ ghostel is held at 0.33.0 (=ghostel-20260604.2049=, commit 5779a2adceb2) in =mod archsetup automated the zig 0.15.2 pin (managed =install_zig_pin= step, sha-verified, unit-tested). If the un-pinned ghostel bumps its ghostty dependency to a newer zig, send archsetup the new version + sha256 so it bumps its =ZIG_VERSION= / =ZIG_SHA256= constants (=inbox-send archsetup=). -** VERIFY [#A] calendar-sync drops final occurrences, resurrects cancelled meetings :bug:solo:next: +** CANCELLED [#A] calendar-sync drops final occurrences, resurrects cancelled meetings :bug:solo:next: +CLOSED: [2026-06-20 Sat 22:51] :PROPERTIES: :LAST_REVIEWED: 2026-06-13 :END: @@ -161,13 +162,13 @@ RFC 5545 conformance holes in =modules/calendar-sync.el=, all agenda-visible (fr - =:973,1015,1024= — UNTIL treated as exclusive (strict =calendar-sync--before-date-p=); RFC and Google make it inclusive, so the LAST instance of every UNTIL-bounded series vanishes. Tests assert loose count ranges, so it's unpinned. Allow equality. - =:578= — comma-separated EXDATE lists (Google emits them) never parse; the exclusion drops silently and cancelled occurrences reappear on the agenda. Split on "," before parsing; no comma-case test exists. - =:902= — timed events without DTEND render as all-day (time lost); multi-day all-day spans collapse to one day (end date unused, exclusive-DTEND unhandled). Emit start-time-only stamps and org date ranges. +----- -** VERIFY [#A] Native compilation disabled config-wide; GC at stock 800KB :bug:next: -:PROPERTIES: -:LAST_REVIEWED: 2026-06-13 -:END: -Needs from Craig: re-enabling native-comp config-wide is a stability/perf judgment, not a mechanical fix. Was it disabled deliberately (a crash, a build without native-comp, async-warning noise)? If you want it back on, confirm and I'll re-enable + raise the GC threshold and verify a clean full launch; otherwise this stays parked. I won't flip it blind. -From the 2026-06 config audit (verified against the live daemon). =early-init.el:69= =(setq native-comp-deferred-compilation nil)= — the obsolete alias of =native-comp-jit-compilation= — turns JIT native compilation OFF entirely, not "synchronous" as the comment claims: 19 .eln files exist for 184 packages, ~100 of 121 modules run interpreted for the daemon's lifetime, and system-defaults.el:42-44's speed-3/8-jobs/always-compile settings are dead. Plus =early-init.el:113-116= restores =gc-cons-threshold= to the captured STOCK default (800000, verified) post-startup — frequent small GC pauses forever. Together these plausibly feed the filed org-capture 15-20s task more than anything in the capture path itself. Actions: retest the old "Selecting deleted buffer" race on 30.2 and re-enable JIT (or AOT sweep); set a deliberate 16-64MB threshold (or gcmh). Check both before burning time on the capture-perf debug task. +2026-06-20 Sat @ 22:52:51 -0400 Can't reproduce. closing + +** DONE [#A] Native compilation disabled config-wide; GC at stock 800KB :bug:next: +CLOSED: [2026-06-20 Sat] +Both fixed 2026-06-20. =early-init.el:69= was =(setq native-comp-deferred-compilation nil)= — the obsolete alias of =native-comp-jit-compilation= — which turned JIT native-comp OFF entirely (not "synchronous"); replaced with =(setq native-comp-jit-compilation t)= + =native-comp-async-report-warnings-errors 'silent=. The old "Selecting deleted buffer" async race was an Emacs 28/29 issue; this is 30.2. GC: dropped the early-init post-startup restore to stock 800KB and the system-defaults minibuffer setup/exit hooks, replaced with gcmh (idle-delay 'auto, 1GB high threshold) — keeps the threshold high during activity, collects on idle. Verified via a clean throwaway-daemon launch (native-comp-jit t, gcmh-mode t, no backtrace) and a batch proof of gcmh's threshold cycle; applied live to the running daemon. Restart confirmation filed under Manual testing and validation. ** VERIFY [#B] calendar-sync robustness: atomic writes, curl --fail, zero-event false errors :bug:solo:next: :PROPERTIES: @@ -231,6 +232,18 @@ Fixed 2026-06-13: cmail gets =mu4e-trash-folder= "/cmail/Trash"; refile is a per Fixed 2026-06-13: lockscreen-cmd resolves to =loginctl lock-session= on Wayland (logind Lock → hypridle → hyprlock, the path idle/sleep locking already uses), =slock= on X11; also added the missing =(require 'host-environment)=. Live in the daemon; manual lock test under the Manual testing parent. ** PROJECT [#A] Manual testing and validation Exercised once the phases above land. +*** VERIFY native-comp + gcmh survive a daemon restart cleanly +What we're verifying: re-enabling JIT native compilation and switching GC to gcmh holds up across a full daemon restart and a real work session. The fix is live in the current daemon and a throwaway daemon launched clean, but the already-loaded modules only get natively compiled on a fresh start (a background async burst), and the old "Selecting deleted buffer" race needs a real GUI session to rule out on 30.2. +- Restart the Emacs daemon (clean state): kill it and start fresh, or reboot. +- Use Emacs normally for a while — the first session after restart triggers background native compilation of ~100 modules. Watch for any "Selecting deleted buffer" errors or compilation crashes (check the *Async-native-compile-log* buffer and comp-warnings.log). +- After things settle, confirm the settings are live: +#+begin_src emacs-lisp +(list :jit native-comp-jit-compilation + :gcmh gcmh-mode + :gcmh-high gcmh-high-cons-threshold) +#+end_src +- Edit normally (completion, agenda, AI buffers) and notice whether the periodic GC jank is gone. +Expected: restart is clean (no backtrace); the background native-comp burst finishes without "Selecting deleted buffer" errors; the form returns (:jit t :gcmh t :gcmh-high 1073741824); editing feels smoother with no frequent GC pauses. If the async race recurs on 30.2, capture the error and reopen as a TODO — the fallback is an AOT sweep or going back to JIT-off. *** VERIFY mu4e buffers are themed (headers, main, message view) What we're verifying: with the mu4e modes excluded from global font-lock, mu4e's manual face properties survive, so the buffers pick up the theme. The headers + main + view-headers are the ones global font-lock was stripping. - Restart Emacs (cleanest), or kill and reopen the mu4e buffers @@ -989,7 +1002,8 @@ Add the buffer-local var, set it on each "Run a test..." selection, use it as th *** TODO [#B] TS/JS coverage status sync Update the =dev-fkeys.el= header comment (L33) — TS/JS is no longer punted; the cmd-builder at L384 emits vitest/jest. Document the prefer-vitest fallback. -** PROJECT [#B] Migrate All Terminals From Vterm to Ghostel +** DONE [#B] Migrate All Terminals From Vterm to Ghostel +CLOSED: [2026-06-20 Sat 22:50] :PROPERTIES: :LAST_REVIEWED: 2026-06-04 :END: @@ -997,14 +1011,16 @@ Replace vterm with ghostel (libghostty-vt) as the single terminal engine across Decisions D1-D7 are settled in the spec's Agreed-decisions section. Build order below; each phase stays green (suite + byte-compile) at every step. -*** TODO [#B] Follow-up: theme ghostel ANSI faces in dupre +*** 2026-06-20 Sat @ 22:49:41 -0400 Follow-up: theme ghostel ANSI faces in dupre D2 — set the 16 ghostel-color-* + ghostel-default faces in dupre-faces/palette. Roam-inbox note (2026-06-14): theme-studio assignments don't reach ghostel — it paints from its own ANSI palette, not the theme. Also investigate ghostel's property-file color mechanism as an alternative and surface the options for working with that limitation. -*** TODO [#B] Follow-up: evaluate ghostel-eshell + ghostel-compile +*** 2026-06-20 Sat @ 22:50:28 -0400 CANCELLED [#B] Follow-up: evaluate ghostel-eshell + ghostel-compile +CLOSED: [2026-06-20 Sat 22:49] D3 — ghostel-eshell as eshell visual backend; ghostel-compile against F4 dev-fkeys. -*** TODO [#B] Investigate ghostel selection/highlight color +*** 2026-06-20 Sat @ 22:50:32 -0400 DONE [#B] Investigate ghostel selection/highlight color +CLOSED: [2026-06-20 Sat 22:50] Look at how selected text is highlighted in a ghostel buffer — the region face in =ghostel-copy-mode= and any live selection — surfaced during the copy-mode debugging. Check whether the highlight is legible against the dupre background and consistent with the rest of the config; if it needs theming, fold it in with D2 (theming the ghostel faces in dupre). *** 2026-06-04 Thu @ 23:57:09 -0500 Phase 0 done: characterization baseline green |
