|
10 | 10 | {"id":"bd-18wn","title":"Fix file-locking test failures in quarto-hub on Windows","description":"2 storage tests fail because Windows uses mandatory file locking vs Unix advisory. File::create fails with sharing violation before try_lock_exclusive runs. Fix: use OpenOptions::new().write(true).create(true) instead of File::create, or map sharing violation error to HubAlreadyRunning. Affects test_storage_manager_prevents_double_lock and test_storage_manager_standalone_prevents_double_lock.","status":"open","priority":2,"issue_type":"bug","created_at":"2026-03-20T13:36:06.424470600Z","created_by":"cderv","updated_at":"2026-03-20T13:36:06.424470600Z","source_repo":".","compaction_level":0,"original_size":0} |
11 | 11 | {"id":"bd-195t","title":"Lua attribute-mutation: proxy tables so cb.attr.attributes[k]=v persists","description":"Quarto 2's Lua bridge returns fresh copies of `cb.attr` (and of `cb.attr.attributes`) on every read. In-place mutation like `cb.attr.attributes[\"k\"] = v` — the idiomatic Pandoc-Lua pattern — silently hits an ephemeral copy and is discarded. Surfaced while exercising Phase 3.5's filter-authored spans fixture (04-filter-authored-spans); the workaround there rebuilds the whole Attr with pandoc.Attr(...) and assigns as one value. Before we document the Lua-filter path to syntax highlighting as a user-facing feature, the idiomatic pattern must persist. See claude-notes/plans/2026-04-20-syntax-highlighting-phase-3.5.md 'Follow-up task: Lua attribute-mutation proxy'. Plan: claude-notes/plans/2026-04-21-lua-attr-mutation-proxy.md","status":"open","priority":1,"issue_type":"bug","created_at":"2026-04-21T17:19:19.121444Z","created_by":"cscheid","updated_at":"2026-04-21T17:19:19.121444Z","source_repo":".","compaction_level":0,"original_size":0} |
12 | 12 | {"id":"bd-1c6x","title":"Incremental writer panics when original QMD lacks trailing newline","description":"The incremental writer (incremental_write_qmd WASM entry point) panics with 'byte index out of bounds' when the original QMD text doesn't end with a newline. The QMD reader internally pads input with \\n, producing source spans for the padded input, but incremental_write receives the unpadded string. Triggered by changing kanban card status when synced document text doesn't end with \\n. Plan: claude-notes/plans/2026-02-11-incremental-writer-trailing-newline-bug.md","status":"closed","priority":0,"issue_type":"bug","created_at":"2026-02-11T20:48:21.313234Z","created_by":"cscheid","updated_at":"2026-02-11T21:07:59.477860Z","closed_at":"2026-02-11T21:07:59.477843Z","close_reason":"Fixed: added ensure_trailing_newline normalization in incremental_write and compute_incremental_edits. The QMD reader internally pads input with newline, so source spans reference the padded length. The incremental writer now pads its input to match, then strips the padding from results. 6 new tests added, all 6408 workspace tests pass.","source_repo":".","compaction_level":0,"original_size":0} |
13 | | -{"id":"bd-1d3e","title":"Fix CRLF test failures in quarto-doctemplate on Windows","description":"8 tests fail because template files are checked out as CRLF on Windows but tests compare against LF strings. Options: .gitattributes to force LF on template files, normalize CRLF in compile_from_file at parser.rs:225, or normalize in test assertions. Affects test_partial_resolution and 7 pandoc_equiv_tests.","status":"open","priority":2,"issue_type":"bug","created_at":"2026-03-20T13:35:56.689880800Z","created_by":"cderv","updated_at":"2026-03-20T13:35:56.689880800Z","source_repo":".","compaction_level":0,"original_size":0} |
| 13 | +{"id":"bd-1d3e","title":"Fix CRLF test failures in quarto-doctemplate on Windows","description":"8 tests fail because template files are checked out as CRLF on Windows but tests compare against LF strings. Options: .gitattributes to force LF on template files, normalize CRLF in compile_from_file at parser.rs:225, or normalize in test assertions. Affects test_partial_resolution and 7 pandoc_equiv_tests.","status":"in_progress","priority":2,"issue_type":"bug","created_at":"2026-03-20T13:35:56.689880800Z","created_by":"cderv","updated_at":"2026-05-05T14:48:49.341297700Z","source_repo":".","compaction_level":0,"original_size":0} |
14 | 14 | {"id":"bd-1g5f","title":"Make default sync server configurable via environment variable","description":"Allow build-time configuration of the default Automerge sync server URL via VITE_DEFAULT_SYNC_SERVER environment variable. Currently hardcoded to wss://sync.automerge.org in routing.ts and ProjectSelector.tsx. Needed for internal deployments with private sync servers so beta users don't have to manually enter a custom URL.","status":"closed","priority":2,"issue_type":"feature","created_at":"2026-02-04T21:26:45.230188Z","created_by":"cscheid","updated_at":"2026-02-04T21:48:29.989386Z","closed_at":"2026-02-04T21:48:29.989369Z","close_reason":"Implemented: DEFAULT_SYNC_SERVER now reads from import.meta.env.VITE_DEFAULT_SYNC_SERVER with fallback. Commit 3ed1c1bf.","source_repo":".","compaction_level":0,"original_size":0} |
15 | 15 | {"id":"bd-1hdz","title":"Title-prefix home-page carve-out (Q1 stem==index parity)","description":"Q1 only injects website.title as pagetitle for the home page (stem == \"index\" && offset === \".\") when both title and pagetitle are absent. Phase 7 takes the broader \"any untitled page falls back to website title\" rule (Decision 4). Revisit if a real fixture surfaces a problem. Originating phase: bd-b9mz.","status":"open","priority":4,"issue_type":"feature","created_at":"2026-04-27T15:03:22.707126Z","created_by":"cscheid","updated_at":"2026-04-27T15:03:22.707126Z","source_repo":".","compaction_level":0,"original_size":0,"dependencies":[{"issue_id":"bd-1hdz","depends_on_id":"bd-0tr6","type":"parent-child","created_at":"2026-04-27T15:03:22.707126Z","created_by":"cscheid","metadata":"{}","thread_id":""},{"issue_id":"bd-1hdz","depends_on_id":"bd-b9mz","type":"discovered-from","created_at":"2026-04-27T15:03:22.707126Z","created_by":"cscheid","metadata":"{}","thread_id":""}]} |
16 | 16 | {"id":"bd-1hwd","title":"Phase 5: Inline splicing for incremental writer","description":"Implement inline-level splicing in the incremental writer. When a reconciliation plan involves changes that neither add nor remove nodes that create newline characters (SoftBreak, LineBreak), indentation boundaries are preserved and inline changes can be spliced without rewriting the entire indentation boundary. This is a critical optimization for the common case of text edits within paragraphs inside lists and block quotes. Plan: claude-notes/plans/2026-02-10-inline-splicing.md","status":"closed","priority":1,"issue_type":"feature","created_at":"2026-02-10T15:09:50.520536Z","created_by":"cscheid","updated_at":"2026-02-10T16:37:28.833053Z","closed_at":"2026-02-10T16:37:28.833034Z","close_reason":"Implemented inline splicing for incremental writer. All phases complete (5a-5g): safety checks, source span utilities, inline coarsening/assembly, comprehensive property tests, integration. 124 tests across 4 test files. 6394 workspace tests pass.","source_repo":".","compaction_level":0,"original_size":0,"dependencies":[{"issue_id":"bd-1hwd","depends_on_id":"bd-2t4o","type":"discovered-from","created_at":"2026-02-10T15:09:50.520536Z","created_by":"cscheid","metadata":"{}","thread_id":""}]} |
|
0 commit comments