| Commit message (Expand) | Author | Age | Files | Lines |
| * | test(recording): add direct tests for device-sort-key, device-status-label, g... | Craig Jennings | 2026-04-05 | 3 | -0/+198 |
| * | test(calendar-sync): add 32 tests for recurrence exceptions, helpers, unfolding | Craig Jennings | 2026-04-05 | 6 | -0/+313 |
| * | refactor(calendar-sync): remove dead function calendar-sync--timezone-name | Craig Jennings | 2026-04-05 | 1 | -7/+1 |
| * | test(calendar-sync): add 68 tests across 13 files for untested pure functions | Craig Jennings | 2026-04-05 | 13 | -0/+647 |
| * | test(recording): add direct tests for extracted refactoring helpers | Craig Jennings | 2026-04-05 | 3 | -0/+243 |
| * | refactor(recording): unify parse-pactl-sources/sinks-verbose into single func... | Craig Jennings | 2026-04-05 | 2 | -16/+16 |
| * | feat(music): add random-aware next/previous; refactor music + calendar-sync | Craig Jennings | 2026-04-03 | 4 | -0/+914 |
| * | feat(music): add test coverage for 7 functions, refactor with extracted helpers | Craig Jennings | 2026-04-01 | 7 | -0/+930 |
| * | fix(calendar-sync): handle variable-length date lists in RRULE UNTIL | Craig Jennings | 2026-03-09 | 1 | -0/+121 |
| * | refactor(gptel): extract model-list and selection logic for testability | Craig Jennings | 2026-03-06 | 2 | -0/+175 |
| * | refactor(gptel): lazy-load gptel-magit, rebind rewrite/context keys | Craig Jennings | 2026-03-06 | 2 | -3/+131 |
| * | test(gptel): add unit tests for ai-config, remove dead cj/gptel-backends | Craig Jennings | 2026-03-06 | 4 | -0/+277 |
| * | feat(json,yaml): add tree-sitter modes, formatting, and jq integration | Craig Jennings | 2026-03-02 | 2 | -0/+185 |
| * | test(recording): add tests for label-devices, label-sinks, get-sink-apps | Craig Jennings | 2026-02-26 | 5 | -0/+372 |
| * | feat(recording): intuitive labels, show muted devices, add app names | Craig Jennings | 2026-02-26 | 3 | -84/+151 |
| * | feat(recording): replace icons with text state labels in quick-setup | Craig Jennings | 2026-02-26 | 3 | -122/+86 |
| * | feat(recording): add mic indicators and fix misleading sink icon | Craig Jennings | 2026-02-26 | 1 | -21/+100 |
| * | fix(recording): remove drift detection that overrides explicit sink choice | Craig Jennings | 2026-02-26 | 1 | -14/+12 |
| * | feat(recording): show sinks with active audio indicators in quick-setup | Craig Jennings | 2026-02-26 | 6 | -51/+367 |
| * | fix(recording): replace blocking y-or-n-p with non-blocking warning | Craig Jennings | 2026-02-26 | 1 | -13/+21 |
| * | feat(recording): validate system audio device before recording | Craig Jennings | 2026-02-26 | 10 | -51/+479 |
| * | fix(mousetrap): use buffer-local keymaps via emulation-mode-map-alists | Craig Jennings | 2026-02-20 | 1 | -7/+7 |
| * | feat(restclient): add REST API client for interactive API exploration | Craig Jennings | 2026-02-18 | 3 | -0/+247 |
| * | fix(tests): add missing requires for org-noter test dependencies | Craig Jennings | 2026-02-16 | 2 | -0/+4 |
| * | test: add 38 tests for org-agenda-config and org-refile-config | Craig Jennings | 2026-02-15 | 4 | -0/+504 |
| * | test: add 86 new tests, fix 3 production bugs, fix 8 stale tests | Craig Jennings | 2026-02-15 | 12 | -206/+765 |
| * | fix(reveal): suppress date/caps on title slide, move transition to init options | Craig Jennings | 2026-02-15 | 1 | -5/+9 |
| * | feat(music): add playlist UI with header overlay, track styling, and tests | Craig Jennings | 2026-02-15 | 2 | -0/+272 |
| * | feat(music): align EMMS keybindings with ncmpcpp, add consume mode | Craig Jennings | 2026-02-15 | 1 | -0/+262 |
| * | feat(reveal): add org-reveal presentation workflow with ERT tests | Craig Jennings | 2026-02-14 | 2 | -0/+253 |
| * | test: add ERT coverage for modeline-config and hugo-config | Craig Jennings | 2026-02-14 | 6 | -0/+762 |
| * | fix(agenda): scope file scan to immediate subdirs of ~/projects | Craig Jennings | 2026-02-13 | 1 | -27/+35 |
| * | fix(test): add missing testutil require for sanitize-org-body tests | Craig Jennings | 2026-02-06 | 4 | -24/+25 |
| * | feat(recording): rewrite device setup, fix video stop, update modeline icons | Craig Jennings | 2026-02-06 | 16 | -346/+764 |
| * | fix(calendar-sync): sanitize description text to prevent org heading corruption | Craig Jennings | 2026-02-06 | 2 | -3/+81 |
| * | fix(calendar-sync): fix heading order, continuation lines, and exception text... | Craig Jennings | 2026-02-05 | 2 | -1/+25 |
| * | feat(calendar-sync): add event details — attendees, organizer, status, URL | Craig Jennings | 2026-02-05 | 20 | -7/+903 |
| * | fix(email): improve MIME handle parsing for email viewer | Craig Jennings | 2026-02-04 | 1 | -0/+237 |
| * | test(video-recording): add process cleanup tests | Craig Jennings | 2026-02-03 | 1 | -0/+229 |
| * | fix(video-recording): use generic 'Built-in Audio' label | Craig Jennings | 2026-02-03 | 3 | -10/+10 |
| * | test(video-recording): add command structure validation tests | Craig Jennings | 2026-02-03 | 1 | -0/+311 |
| * | fix(tests): correct flaky test assertions | Craig Jennings | 2026-02-03 | 2 | -6/+10 |
| * | feat(calendar-sync): add EXDATE support for excluded recurring event dates | Craig Jennings | 2026-02-03 | 5 | -0/+676 |
| * | feat(calendar-sync): add RECURRENCE-ID exception handling for recurring events | Craig Jennings | 2026-02-03 | 5 | -0/+707 |
| * | feat(keyboard): add GUI key translation for M-S- bindings | Craig Jennings | 2026-02-02 | 2 | -7/+9 |
| * | feat(calendar-sync): add timezone conversion for TZID-qualified events | Craig Jennings | 2026-02-01 | 4 | -0/+685 |
| * | test(theme): add comprehensive tests for dupre-theme | Craig Jennings | 2026-01-26 | 1 | -0/+208 |
| * | fix(tests): fix failing tests across multiple modules | Craig Jennings | 2026-01-24 | 5 | -13/+23 |
| * | test(prog-shell): add tests for cj/make-script-executable | Craig Jennings | 2026-01-24 | 1 | -0/+130 |
| * | feat(calendar-sync): multi-calendar support with property tests | Craig Jennings | 2025-12-02 | 5 | -18/+398 |