aboutsummaryrefslogtreecommitdiff
path: root/todo.org
diff options
context:
space:
mode:
Diffstat (limited to 'todo.org')
-rw-r--r--todo.org70
1 files changed, 34 insertions, 36 deletions
diff --git a/todo.org b/todo.org
index d7849444e..708a3c1d4 100644
--- a/todo.org
+++ b/todo.org
@@ -56,9 +56,6 @@ Show basic song information in the modeline, with streaming-source support too.
Add a button on the theme-studio page that runs the make deploy-wip target locally (build WIP.json into the theme, live-reload the daemon). The page is served from file://, so the browser can't run make directly. Needs a local bridge: a tiny localhost helper the button POSTs to, or a watched trigger file the page writes. Pick the mechanism before building. From the roam inbox 2026-06-15.
** TODO [#A] theme-studio: cannot reassign fg color :bug:studio:
Selecting the fg tile, changing its value, and clicking update errors that an fg already exists instead of updating it. The update path treats a reassign as an add. From the roam inbox.
-** DONE [#A] theme-studio: remove the in-table preview column :refactor:studio:
-CLOSED: [2026-06-15 Mon 20:57]
-Drop the per-row preview from the assignment tables and rely on the live buffer preview alone. Requires auditing every assignment view so each face in the faces column has a situationally appropriate representation in the live preview. Craig wants a reusable project workflow for that periodic audit, created before the refit so it can drive the fix. From the roam inbox.
** TODO [#A] calendar-sync drops final occurrences, resurrects cancelled meetings :bug:solo:
:PROPERTIES:
:LAST_REVIEWED: 2026-06-13
@@ -768,22 +765,6 @@ Ask:
Reference values -- modus-vivendi: refine-changed bg #4a4a00 fg #efef80, changed bg #363300 fg #efef80. modus-operandi: refine-changed bg #fac090 fg #553d00, changed bg #ffdfa9 fg #553d00.
Side-by-side legibility render: [[file:assets/2026-06-07-dupre-diff-face-legibility-compare.png][assets/2026-06-07-dupre-diff-face-legibility-compare.png]].
-** DONE [#B] dupre-theme test failures :bug:test:quick:solo:
-CLOSED: [2026-06-15 Mon]
-:PROPERTIES:
-:LAST_REVIEWED: 2026-06-11
-:END:
-Moot: dupre was retired (commit 4f0a8d80) and tests/test-dupre-theme.el was deleted with it, so the 4 failures no longer exist. The assertion-fix plan below is superseded. Remaining "dupre" mentions in the suite are benign (a fake theme symbol in test-face-diagnostic; a "dupre-fixture" JSON name in test-build-theme, a separate converter task).
-
-A full =make test= run (2026-06-07) is green across 516 of 517 files; the only failures are 4 tests in =tests/test-dupre-theme.el=, long pre-existing. Two root causes. For each, decide whether the palette or the test assertion is canonical, then fix the loser so =make test= goes fully green.
-
-Decided 2026-06-11 (Craig): #0d0b0a is the canonical background — the three drift assertions are stale, update them. org-todo stays the muted red-1 #a7502d — update the test's expected value. Both sides decided; this is now a pure assertion fix.
-
-*** TODO Background drift: 3 tests expect #151311, palette bg is #0d0b0a
-=dupre-get-color-base= (test:46), =dupre-theme-default-face= (test:84), and =dupre-with-colors-binds-values= (test:62) all assert the default background is "#151311", but =themes/dupre-palette.el= defines =bg= as "#0d0b0a". The committed palette looks intentional, so the three assertions are likely just stale -- confirm #0d0b0a is the wanted background, then update the tests.
-
-*** TODO org-todo color mismatch: test expects #ff2a00, theme renders #a7502d
-=dupre-theme-org-todo= (test:130) asserts the org-todo foreground is "#ff2a00" (intense-red), but the theme renders "#a7502d" (red-1). Design call: should org-todo be the bright intense-red or the muted red-1? Fix whichever side loses the decision.
** TODO [#B] erc-yank silently publishes >5-line pastes as public gists :bug:
=modules/erc-config.el:345= — C-y in any ERC buffer auto-creates a public gist for anything over 5 lines: clipboard content goes to a public URL with no confirmation, and no executable-find guard for =gist= (errors mid-send if absent). Privacy trap. Add a =yes-or-no-p= gate or drop the package for plain C-y. From the 2026-06 config audit.
@@ -2764,15 +2745,6 @@ configuration (=text-config=, =diff-config=, =ledger-config=,
From the 2026-06 config audit: =prog-go.el:64=, =prog-c.el:73=, =prog-shell.el:77= call global =(electric-pair-mode t)= from buffer setup hooks — one Go/C/shell buffer turns on pairing in org/text everywhere (python/webdev correctly use =electric-pair-local-mode=). =prog-general.el:79-80= — =display-line-numbers-type 'relative= setq/setq-default run from the hook AFTER the mode is enabled, so the first prog buffer of a session gets absolute numbers. Local-mode for the three; move the line-number setqs to top level.
The global electric-pair this turns on also paired "<" in org, stranding a ">" after "<"-key snippets (=#+end_src>=, broke cj-scan). That symptom is fixed separately (=d9c90e83=, an =electric-pair-inhibit-predicate= for "<"). This task remains the root fix: pairing should not be global at all.
-** DONE [#B] reconcile-open-repos skips any repo with a dot in its name :bug:quick:solo:
-CLOSED: [2026-06-15 Mon]
-:PROPERTIES:
-:LAST_REVIEWED: 2026-06-13
-:END:
-=modules/reconcile-open-repos.el:174= — discovery regexp ="^[^.]+$"= matches only dot-free names, so =~/code/mcp.el=, =capture.el=, =google-contacts.el=, =auto-dim-other-buffers.el= etc. are never reconciled while M-P still reports "Complete." Replace with =directory-files-no-dot-files-regexp= + a hidden-dir check; add a regression test with a dotted repo name. From the 2026-06 config audit.
-*** 2026-06-13 Sat @ 11:01:44 -0500 Fixed: regexp swapped + hidden-dir check
-=cj/find-git-repos= now iterates =directory-files-no-dot-files-regexp= (keeps dotted names, drops =.=/=..=) plus a =string-prefix-p "."= guard for hidden dirs. Regression test =test-find-git-repos-boundary-dotted-repo-name-found= (mcp.el/capture.el/plain-repo → 3 found); existing hidden-dirs-skipped test stays green; 11/11. Live daemon confirmed all six dotted repos under ~/code now discovered (mcp.el, gptel-mcp.el, capture.el, google-contacts.el, google-maps.el, auto-dim-other-buffers.el). Re-verified live 2026-06-15 (41 repos, 6 dotted); Craig confirmed.
-
** TODO [#B] Remove buffer-state cursor coloring :refactor:
Craig directed removal (roam inbox, 2026-06-15): the cursor changing color by buffer state is confusing ("strange not knowing what your cursor should look like"). Remove cj/set-cursor-color-according-to-mode, the cj/-cursor-last-color / cj/-cursor-last-buffer defvars, and the post-command-hook + server-after-make-frame-hook registrations in ui-config.el, so the cursor uses the theme's cursor face. Keep the shared cj/buffer-status-state / cj/buffer-status-color classifier (the modeline buffer-name indicator still uses it). Before deleting tests/test-ui-cursor-color-integration.el and tests/test-ui-config--buffer-cursor-state.el, confirm which covers the shared classifier (keep) versus the cursor function (remove). Update the cursor header comment. This settles the earlier keep-vs-remove question: 7ccc3f5c's theme-driven rework is the thing to drop.
** TODO [#B] rulesets page-me notifications should name the source project :feature:quick:
@@ -2835,14 +2807,6 @@ Build a constraint-first palette generator for Theme Studio: start from bg/fg, g
** TODO [#B] theme-studio: preview element locate (hover + click) :feature:theme-studio:spec: :spec:studio:
General preview interaction: hover any element for its section / face / value, click a current-pane element to flash and jump to its assignment row, off-pane elements hover-only (not clickable). Built on a face -> owning-app registry that previews also read for cross-pane live rendering. Spec: [[id:fbcf0e20-1328-42b4-aa36-3401509e7816][theme-studio-preview-locate-spec.org]]. Prerequisite for the richer org-agenda preview.
-** DONE [#B] theme-studio save button does not overwrite the current theme file :bug:studio:
-CLOSED: [2026-06-15 Mon]
-:PROPERTIES:
-:LAST_REVIEWED: 2026-06-13
-:END:
-Resolved — Craig handled it 2026-06-15.
-From the roam inbox: the =save= button currently behaves too much like =export=. The intended workflow is: after a theme file has been opened or saved once, pressing =save= or using the save keybinding overwrites that same file instead of downloading a fresh export. If browser security prevents overwriting a previously exported download without a file handle, make that limitation explicit in the UI and reconsider whether the separate save button should remain. This needs a small product decision around export-vs-save semantics before implementation.
-
** TODO [#B] theme-studio seeding engine :feature:studio:
:PROPERTIES:
:LAST_REVIEWED: 2026-06-13
@@ -8418,3 +8382,37 @@ Shipped 2026-06-13: tile names are read-only until double-clicked; single-click
** CANCELLED [#D] Desktop quick-capture: Note + Recipe types :feature:solo:
CLOSED: [2026-06-15 Mon]
Superseded 2026-06-15: the desktop popup was simplified to a single Task into the org-roam inbox (no Bug/Event, no template menu), so adding Note/Recipe types to the popup subset no longer applies.
+** DONE [#A] theme-studio: remove the in-table preview column :refactor:studio:
+CLOSED: [2026-06-15 Mon 20:57]
+Drop the per-row preview from the assignment tables and rely on the live buffer preview alone. Requires auditing every assignment view so each face in the faces column has a situationally appropriate representation in the live preview. Craig wants a reusable project workflow for that periodic audit, created before the refit so it can drive the fix. From the roam inbox.
+** DONE [#B] dupre-theme test failures :bug:test:quick:solo:
+CLOSED: [2026-06-15 Mon]
+:PROPERTIES:
+:LAST_REVIEWED: 2026-06-11
+:END:
+Moot: dupre was retired (commit 4f0a8d80) and tests/test-dupre-theme.el was deleted with it, so the 4 failures no longer exist. The assertion-fix plan below is superseded. Remaining "dupre" mentions in the suite are benign (a fake theme symbol in test-face-diagnostic; a "dupre-fixture" JSON name in test-build-theme, a separate converter task).
+
+A full =make test= run (2026-06-07) is green across 516 of 517 files; the only failures are 4 tests in =tests/test-dupre-theme.el=, long pre-existing. Two root causes. For each, decide whether the palette or the test assertion is canonical, then fix the loser so =make test= goes fully green.
+
+Decided 2026-06-11 (Craig): #0d0b0a is the canonical background — the three drift assertions are stale, update them. org-todo stays the muted red-1 #a7502d — update the test's expected value. Both sides decided; this is now a pure assertion fix.
+
+*** TODO Background drift: 3 tests expect #151311, palette bg is #0d0b0a
+=dupre-get-color-base= (test:46), =dupre-theme-default-face= (test:84), and =dupre-with-colors-binds-values= (test:62) all assert the default background is "#151311", but =themes/dupre-palette.el= defines =bg= as "#0d0b0a". The committed palette looks intentional, so the three assertions are likely just stale -- confirm #0d0b0a is the wanted background, then update the tests.
+
+*** TODO org-todo color mismatch: test expects #ff2a00, theme renders #a7502d
+=dupre-theme-org-todo= (test:130) asserts the org-todo foreground is "#ff2a00" (intense-red), but the theme renders "#a7502d" (red-1). Design call: should org-todo be the bright intense-red or the muted red-1? Fix whichever side loses the decision.
+** DONE [#B] reconcile-open-repos skips any repo with a dot in its name :bug:quick:solo:
+CLOSED: [2026-06-15 Mon]
+:PROPERTIES:
+:LAST_REVIEWED: 2026-06-13
+:END:
+=modules/reconcile-open-repos.el:174= — discovery regexp ="^[^.]+$"= matches only dot-free names, so =~/code/mcp.el=, =capture.el=, =google-contacts.el=, =auto-dim-other-buffers.el= etc. are never reconciled while M-P still reports "Complete." Replace with =directory-files-no-dot-files-regexp= + a hidden-dir check; add a regression test with a dotted repo name. From the 2026-06 config audit.
+*** 2026-06-13 Sat @ 11:01:44 -0500 Fixed: regexp swapped + hidden-dir check
+=cj/find-git-repos= now iterates =directory-files-no-dot-files-regexp= (keeps dotted names, drops =.=/=..=) plus a =string-prefix-p "."= guard for hidden dirs. Regression test =test-find-git-repos-boundary-dotted-repo-name-found= (mcp.el/capture.el/plain-repo → 3 found); existing hidden-dirs-skipped test stays green; 11/11. Live daemon confirmed all six dotted repos under ~/code now discovered (mcp.el, gptel-mcp.el, capture.el, google-contacts.el, google-maps.el, auto-dim-other-buffers.el). Re-verified live 2026-06-15 (41 repos, 6 dotted); Craig confirmed.
+** DONE [#B] theme-studio save button does not overwrite the current theme file :bug:studio:
+CLOSED: [2026-06-15 Mon]
+:PROPERTIES:
+:LAST_REVIEWED: 2026-06-13
+:END:
+Resolved — Craig handled it 2026-06-15.
+From the roam inbox: the =save= button currently behaves too much like =export=. The intended workflow is: after a theme file has been opened or saved once, pressing =save= or using the save keybinding overwrites that same file instead of downloading a fresh export. If browser security prevents overwriting a previously exported download without a file handle, make that limitation explicit in the UI and reconsider whether the separate save button should remain. This needs a small product decision around export-vs-save semantics before implementation.