From cbfc544f506fc029902621ad0528e6bbe752afe4 Mon Sep 17 00:00:00 2001 From: nesquena-hermes Date: Mon, 4 May 2026 18:11:58 +0000 Subject: [PATCH 1/6] fix(renderer): YAML/JSON/diff code blocks lose newlines (#1618 / #1463) Closes #1618 (reported by @Zixim) and corrects #1463's previous fix. Bug: YAML, JSON, and diff/patch fenced code blocks render flattened to a single line. Reporter noted the bug persisted v0.50.279 -> v0.50.291 -> v0.50.292 despite PR #1516's CSS-only "fix". Root cause: PR #484 (v0.50.237) added a JSON/YAML tree-viewer that routes those languages through
...
instead of bare 
. Same release added the diff/patch coloring path
that emits 
. The _pre_stash regex at
static/ui.js:1914 matched only literal 
 with no attributes:

    
[\s\S]*?<\/pre>

Both new shapes failed to match, fell through to the paragraph-wrap pass,
and \n characters inside the code blocks got replaced with 
tags inside . By the time Prism ran, no newlines remained for the CSS rule (PR #1516, language-yaml .token { white-space: pre !important }) to preserve. Fix: relax the regex to accept any attribute on
:

    
[\s\S]*?<\/pre>  ->  ]*>[\s\S]*?<\/pre>

One regex character. Pulls JSON, YAML, and diff/patch blocks into the
stash so paragraph-wrap can't mangle them. Bash, Python, Go, etc. were
never affected because they emit bare 
.

Tests: 9 new (2 source-string invariants + 7 behavioural via node-driver
against the actual static/ui.js renderMd()). 6 of the 7 behavioural tests
fail on master and pass with the fix; the 3 sanity checks (yml-alias,
bash, mermaid) pass on both.

Plus widened source-scan window in 3 pre-existing test_745 assertions
from 400 to 1500 chars. The new comment block above the fixed regex
pushed it past the previous scan window. Pure window-narrowness bug,
not a behavior regression.

4245 -> 4254 passing.
---
 CHANGELOG.md                                  |  22 ++
 static/ui.js                                  |  10 +-
 tests/test_745_code_block_newlines.py         |   6 +-
 ...sue1618_yaml_json_diff_newline_preserve.py | 322 ++++++++++++++++++
 4 files changed, 356 insertions(+), 4 deletions(-)
 create mode 100644 tests/test_issue1618_yaml_json_diff_newline_preserve.py

diff --git a/CHANGELOG.md b/CHANGELOG.md
index e569caa9..b818f0db 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,27 @@
 # Hermes Web UI -- Changelog
 
+## [v0.50.295] — 2026-05-04
+
+### Fixed (1 PR — closes #1618 / #1463)
+
+- **YAML, JSON, and diff/patch fenced code blocks now render multi-line, not collapsed to a single line** (closes #1618 / #1463, reported by @Zixim) — PR #484 (v0.50.237) introduced a JSON/YAML tree-viewer that routes `lang === 'json'` and `lang === 'yaml'` blocks through `
` instead of bare `
`. Same release added the diff/patch coloring path that emits `
`. The `_pre_stash` regex at `static/ui.js:1914` matched only literal `
` (no attributes): `
[\s\S]*?<\/pre>`. Both new shapes failed to match, fell through to the paragraph-wrap pass, and `\n` characters inside the code blocks got replaced with `
` tags inside ``. By the time Prism ran, there were no newlines left for it to highlight against. PR #1516 (v0.50.279) had attempted a CSS-only fix on Prism's token white-space — that rule is in `style.css` and reaches the browser, but it was the wrong layer: the rule preserves newlines inside `.token` spans, but the spans were built from a string that had no newlines left. **Fix:** relax the `_pre_stash` regex to accept any attribute on `
` (`
` → `]*>`). One regex character. Pulls JSON, YAML, AND diff/patch blocks into the stash so paragraph-wrap can't mangle them. Bash, Python, Go, etc. were never affected because they emit bare `
` and matched the existing regex. Reporter @Zixim noted the bug persisted from v0.50.279 → v0.50.291 → v0.50.292 despite the previous "fix"; this lands the actual fix at the actual layer.
+
+  > **Note on the previous diagnosis:** the maintainer comment on #1618 asserting the fix had landed was based on `git show v0.50.291:static/style.css` confirming the CSS rule's presence — but a presence check on a rule is not a behavioral check that the rule does anything useful. Live-rendering YAML through `renderMd()` in the browser was the test that decided whether the maintainer reply or the user was correct. Apologies to @Zixim for the wrong call. Class of bug now documented in `webui-rendermd-pipeline` skill § Bug 10.
+
+### Tests
+
+4245 → **4254 passing** (+9 regression tests on `tests/test_issue1618_yaml_json_diff_newline_preserve.py`). 0 regressions. Full suite in ~115s.
+
+- **2 source-string tests** pin the regex shape (`]*>`) and structural integrity of the surrounding `_pre_stash` block.
+- **7 behavioral tests** drive the actual `static/ui.js` `renderMd()` via a node-driver and assert that YAML, JSON, diff, yml-alias (sanity), bash (sanity), mermaid (sanity), and a multi-line YAML scenario all preserve their `\n` characters in the rendered `
` inner content. Six of these tests fail on master without the fix and pass with it — the sanity checks (yml/bash/mermaid) pass on both because their code paths emit bare `
` or `
` and were never affected. +- Plus widened the source-scan window in 3 pre-existing `tests/test_745_code_block_newlines.py` assertions from 400 to 1500 chars (the new comment block above the fixed regex pushed the regex past the previous scan window — `pytest-pitfalls` § D documents this exact pattern). + +### Pre-release verification + +- Self-built fix (nesquena-hermes), pending Opus advisor pre-merge pass and independent review APPROVED by nesquena. +- **Verified the bug reproduces on master**: the 6 behavioral tests fail on `origin/master` (304a422) with the literal-`
`-only regex, then pass after the one-character relax. The 3 sanity checks (yml/bash/mermaid) pass on both — confirming the fix doesn't break unaffected paths.
+- **Live browser render** confirms the rendered YAML now multi-lines correctly with `\n` characters in `` textContent (was `'foo:  bar: 1  baz:    - 2    - 3'` pre-fix, now `'foo:\n  bar: 1\n  baz:\n    - 2\n    - 3'` post-fix).
+
 ## [v0.50.294] — 2026-05-04
 
 ### Fixed (3 PRs — streaming stability trio + models cache version stamp + session race + readonly fs guard — closes #1430, #1470, #1623, #1624, #1625, #1633)
diff --git a/static/ui.js b/static/ui.js
index 73775d26..dc92f594 100644
--- a/static/ui.js
+++ b/static/ui.js
@@ -1911,7 +1911,15 @@ function renderMd(raw){
   // with 
. Token \x00E (next free after B D F G L M C O A). // Fixes #745: code blocks collapse to single line when not preceded by blank line. const _pre_stash=[]; - s=s.replace(/(
[\s\S]*?<\/div>)?
[\s\S]*?<\/pre>|
/g,m=>{ + // #1463 / #1618: regex must match
 with ANY attributes — PR #484 added
+  // 
 for JSON/YAML and 
 for
+  // diff/patch which the literal-
 shape missed. Newlines inside those
+  // blocks were falling through to the paragraph wrap below and getting
+  // converted to 
, causing the YAML/JSON/diff collapse. PR #1516's CSS + // fix targeted the wrong layer (Prism token white-space) — by the time it + // ran, the \n had already been replaced. The CSS rule is kept as defense + // in depth. + s=s.replace(/(
[\s\S]*?<\/div>)?]*>[\s\S]*?<\/pre>|
/g,m=>{ _pre_stash.push(m); return '\x00E'+(_pre_stash.length-1)+'\x00'; }); diff --git a/tests/test_745_code_block_newlines.py b/tests/test_745_code_block_newlines.py index 08a564b5..9482d40d 100644 --- a/tests/test_745_code_block_newlines.py +++ b/tests/test_745_code_block_newlines.py @@ -66,7 +66,7 @@ class TestCodeBlockNewlinePreservation: src = get_ui_js() # Find the replacement regex used to populate _pre_stash stash_block_idx = src.index('_pre_stash=[]') - stash_block = src[stash_block_idx:stash_block_idx + 400] + stash_block = src[stash_block_idx:stash_block_idx + 1500] assert 'pre-header' in stash_block, \ "pre-stash regex must match
wrappers" @@ -74,7 +74,7 @@ class TestCodeBlockNewlinePreservation: """The stash regex must also cover mermaid-block divs.""" src = get_ui_js() stash_block_idx = src.index('_pre_stash=[]') - stash_block = src[stash_block_idx:stash_block_idx + 400] + stash_block = src[stash_block_idx:stash_block_idx + 1500] assert 'mermaid-block' in stash_block, \ "pre-stash regex must cover mermaid-block divs" @@ -82,7 +82,7 @@ class TestCodeBlockNewlinePreservation: """The stash regex must also cover katex-block divs.""" src = get_ui_js() stash_block_idx = src.index('_pre_stash=[]') - stash_block = src[stash_block_idx:stash_block_idx + 400] + stash_block = src[stash_block_idx:stash_block_idx + 1500] assert 'katex-block' in stash_block, \ "pre-stash regex must cover katex-block divs" diff --git a/tests/test_issue1618_yaml_json_diff_newline_preserve.py b/tests/test_issue1618_yaml_json_diff_newline_preserve.py new file mode 100644 index 00000000..73c5db9f --- /dev/null +++ b/tests/test_issue1618_yaml_json_diff_newline_preserve.py @@ -0,0 +1,322 @@ +"""Tests for issue #1618 / #1463 — YAML/JSON code blocks render flattened. + +Bug shape (live-verified in the browser May 04 2026): + + ```yaml + foo: + bar: 1 + baz: + ``` + +renders as a single line `foo: bar: 1 baz:` with no newlines, while: + + ```yml + foo: + bar: 1 + baz: + ``` + +renders correctly multi-line. PR #1516 (v0.50.279) shipped a CSS-only fix +targeting Prism token white-space; the rule is in `style.css` and reaches +the browser, but the bug persists because the actual newline destruction +happens earlier in the pipeline, before Prism runs. + +Root cause: + - PR #484 (v0.50.237, JSON/YAML tree-viewer) routes those two languages + through `
`
+    instead of bare `
`.
+  - The `_pre_stash` regex at static/ui.js:1914 matched only literal `
`
+    with NO attributes (`
[\\s\\S]*?<\\/pre>`).
+  - `
` doesn't match → falls through to the
+    paragraph wrap pass which replaces `\\n` with `
`. + - By the time Prism runs and the CSS rule applies, the `\\n` characters + that the rule was meant to preserve are already gone. + +Same bug affects: + - `lang === 'yaml'` (issue #1463 / #1618 — the canonical case) + - `lang === 'json'` (same code path at static/ui.js:1621) + - `lang === 'diff'` / `lang === 'patch'` (`
`,
+    same shape, same regex miss — emits at static/ui.js:1619)
+
+Fix: relax the `_pre_stash` regex to accept any attribute on `
`:
+    `
[\\s\\S]*?<\\/pre>`  →  `]*>[\\s\\S]*?<\\/pre>`
+
+These tests pin both the source-level invariant (regex shape) and the
+end-to-end behavior via a node-driver that exercises the actual
+static/ui.js renderMd() function.
+"""
+
+import shutil
+import subprocess
+from pathlib import Path
+
+import pytest
+
+
+REPO_ROOT = Path(__file__).parent.parent.resolve()
+UI_JS_PATH = REPO_ROOT / "static" / "ui.js"
+NODE = shutil.which("node")
+
+
+# ─────────────────────────────────────────────────────────────────────────
+# § A — Source-string invariants (run without node, fast)
+# ─────────────────────────────────────────────────────────────────────────
+
+
+def test_pre_stash_regex_matches_pre_with_attributes():
+    """static/ui.js _pre_stash regex must match 
 with ANY attributes.
+
+    The narrow shape `
[\\s\\S]*?<\\/pre>` (literal 
 with no
+    attributes) misses every 
 emitted by the JSON/YAML
+    tree-viewer pass and the diff/patch coloring pass — those blocks fall
+    through to paragraph wrap, which converts \\n to 
. + """ + src = UI_JS_PATH.read_text(encoding="utf-8") + + # The fix introduces `]*>` (any attributes) in the _pre_stash regex. + # The exact regex line is documented in static/ui.js:1914. + assert "]*>[\\s\\S]*?<\\/pre>" in src, ( + "_pre_stash regex must use ]*> to match
 with any attributes "
+        "(#1463/#1618). The narrow shape 
[\\s\\S]*?<\\/pre> misses every "
+        "
 from the JSON/YAML tree-viewer (PR #484) "
+        "and 
 from diff/patch — newlines inside those "
+        "blocks fall through to paragraph wrap and become 
tags." + ) + + # Defense against accidental regression: the literal-only shape must NOT + # be present anywhere in the _pre_stash region of the file. + pre_stash_idx = src.find("const _pre_stash=[]") + assert pre_stash_idx > 0, "_pre_stash declaration not found" + pre_stash_line = src[pre_stash_idx:pre_stash_idx + 1500] + assert "
[\\s\\S]*?<\\/pre>" not in pre_stash_line, (
+        "_pre_stash regex must not contain the literal-
-only shape — "
+        "use ]*> to match attributes."
+    )
+
+
+def test_pre_stash_still_captures_pre_header_and_optional_div():
+    """The fix must keep the rest of the _pre_stash regex intact —
+    specifically the optional 
prefix and the + mermaid-block / katex-block alternation.""" + src = UI_JS_PATH.read_text(encoding="utf-8") + + pre_stash_idx = src.find("const _pre_stash=[]") + pre_stash_block = src[pre_stash_idx:pre_stash_idx + 1500] + + assert '(
[\\s\\S]*?<\\/div>)?]*>' in pre_stash_block, ( + "Optional
prefix must still precede the " + "]*> match" + ) + assert '
({ innerHTML: '', textContent: '' }) }; +const esc = s => String(s ?? '').replace(/[&<>"']/g, c => ( + {'&':'&','<':'<','>':'>','"':'"',"'":'''}[c])); +const _IMAGE_EXTS=/\.(png|jpg|jpeg|gif|webp|bmp|ico|avif)$/i; +const _SVG_EXTS=/\.svg$/i; +const _AUDIO_EXTS=/\.(mp3|ogg|wav|m4a|aac|flac|wma|opus|webm)$/i; +const _VIDEO_EXTS=/\.(mp4|webm|mkv|mov|avi|ogv|m4v)$/i; + +function extractFunc(name) { + const re = new RegExp('function\\s+' + name + '\\s*\\('); + const start = src.search(re); + if (start < 0) throw new Error(name + ' not found'); + let i = src.indexOf('{', start); + let depth = 1; i++; + while (depth > 0 && i < src.length) { + if (src[i] === '{') depth++; + else if (src[i] === '}') depth--; + i++; + } + return src.slice(start, i); +} +eval(extractFunc('renderMd')); + +let buf = ''; +process.stdin.on('data', c => { buf += c; }); +process.stdin.on('end', () => { process.stdout.write(renderMd(buf)); }); +""" + + +@pytest.fixture(scope="module") +def driver_path(tmp_path_factory): + p = tmp_path_factory.mktemp("issue1618_driver") / "driver.js" + p.write_text(_DRIVER_SRC, encoding="utf-8") + return str(p) + + +def _render(driver_path, markdown: str) -> str: + """Run renderMd against the actual ui.js and return the rendered HTML.""" + result = subprocess.run( + [NODE, driver_path, str(UI_JS_PATH)], + input=markdown, + capture_output=True, + text=True, + timeout=10, + ) + if result.returncode != 0: + raise RuntimeError(f"node driver failed: {result.stderr}") + return result.stdout + + +def _extract_pre_inner(html: str) -> str: + """Extract the content of the first
...
block.""" + import re + m = re.search(r"]*>([\s\S]*?)
", html) + if not m: + return "" + return m.group(1) + + +# ── The core regression: YAML newlines must survive ──────────────────── + + +@pytestmark_node +def test_yaml_block_preserves_newlines(driver_path): + """YAML code blocks must render multi-line, not flatten to a single line. + + This is the exact symptom Zixim reported on #1618: a YAML block renders + with all newlines collapsed to spaces. The fix is the relaxed _pre_stash + regex; without it, the block falls through to paragraph wrap and \\n + becomes
inside , which Prism then can't recover from. + """ + md = "```yaml\nfoo:\n bar: 1\n baz:\n - 2\n - 3\n```" + out = _render(driver_path, md) + + # The block must end up wrapped in code-tree-wrap (PR #484's shape) + assert "code-tree-wrap" in out, ( + "YAML blocks should still route through the tree-viewer wrapper" + ) + + # Inner
...
must contain literal \n characters (preserved + # newlines), NOT
tags. + pre_inner = _extract_pre_inner(out) + assert pre_inner, f"No
 block found in rendered output: {out!r}"
+    assert "\n" in pre_inner, (
+        f"YAML 
 block lost its newlines (#1463/#1618).  "
+        f"
 inner content: {pre_inner!r}.  "
+        f"Likely cause: _pre_stash regex doesn't match 
, "
+        f"so the block falls through to the paragraph wrap pass which converts \\n to 
." + ) + assert "
" not in pre_inner, ( + f"YAML
 block contains 
tags — newlines were converted by paragraph " + f"wrap. This means the _pre_stash regex did not capture the block. " + f"
 inner content: {pre_inner!r}"
+    )
+
+
+@pytestmark_node
+def test_json_block_preserves_newlines(driver_path):
+    """JSON code blocks have the same shape as YAML (PR #484) and must also
+    preserve newlines."""
+    md = '```json\n{\n  "a": 1,\n  "b": [2, 3]\n}\n```'
+    out = _render(driver_path, md)
+
+    assert "code-tree-wrap" in out
+    pre_inner = _extract_pre_inner(out)
+    assert pre_inner
+    assert "\n" in pre_inner, (
+        f"JSON 
 block lost newlines.  Inner: {pre_inner!r}"
+    )
+    assert "
" not in pre_inner + + +@pytestmark_node +def test_diff_block_preserves_newlines(driver_path): + """Diff/patch blocks emit
 (static/ui.js:1619).
+    Same regex-miss shape as YAML/JSON. Newlines must survive."""
+    md = "```diff\n-removed line\n+added line\n unchanged\n```"
+    out = _render(driver_path, md)
+
+    assert "diff-block" in out
+    pre_inner = _extract_pre_inner(out)
+    assert pre_inner
+    assert "\n" in pre_inner, (
+        f"Diff 
 block lost newlines.  Inner: {pre_inner!r}"
+    )
+    assert "
" not in pre_inner + + +@pytestmark_node +def test_yml_alias_already_worked_still_works(driver_path): + """Sanity check: ` ```yml ` (the Prism alias) renders bare
 and
+    was never affected by the bug. This must continue to work after the
+    regex relaxation."""
+    md = "```yml\nfoo:\n  bar: 1\n```"
+    out = _render(driver_path, md)
+    pre_inner = _extract_pre_inner(out)
+    assert "\n" in pre_inner
+    assert "
" not in pre_inner + + +@pytestmark_node +def test_bash_block_unaffected_baseline(driver_path): + """Sanity: bash blocks emit bare
 and were never affected by the bug.
+    They must continue to render correctly post-fix."""
+    md = "```bash\necho one\necho two\n```"
+    out = _render(driver_path, md)
+    pre_inner = _extract_pre_inner(out)
+    assert "\n" in pre_inner
+    assert "
" not in pre_inner + + +# ── End-to-end Zixim-scenario reproducer ─────────────────────────────── + + +@pytestmark_node +def test_yaml_block_renders_multiline_html_shape(driver_path): + """The specific shape Zixim reported: 5-line YAML block must produce + exactly 5 newline-separated logical lines in the
 inner content.
+
+    Pre-fix this collapsed to a single space-joined string. Post-fix the
+    line count should equal the original input line count.
+    """
+    md = "```yaml\nname: hermes\nport: 8787\nfeatures:\n  - chat\n  - tasks\n```"
+    out = _render(driver_path, md)
+
+    pre_inner = _extract_pre_inner(out)
+    # Split on \n to count rendered lines. Empty trailing line tolerated.
+    rendered_lines = [l for l in pre_inner.split("\n") if l.strip()]
+
+    assert len(rendered_lines) == 5, (
+        f"YAML block should preserve 5 lines, got {len(rendered_lines)}: {rendered_lines}.  "
+        f"Full 
 inner content: {pre_inner!r}"
+    )
+
+
+# ── Mermaid/katex blocks unaffected ────────────────────────────────────
+
+
+@pytestmark_node
+def test_mermaid_block_unaffected_by_regex_relaxation(driver_path):
+    """Mermaid blocks come through a different alternation in the same regex
+    (`
(no
).
+    assert "mermaid-block" in out
+    # The mermaid div should not be wrapped in 

...

. + assert "

" not in out or out.find("

") > out.find("mermaid-block"), ( + "Mermaid block should bypass paragraph wrap" + ) From 816a9e60f6feb1b23ac59431cb3b63802445fdc0 Mon Sep 17 00:00:00 2001 From: Michael Lam Date: Mon, 4 May 2026 10:15:19 -0700 Subject: [PATCH 2/6] fix: protect raw pre from glued-bold lift --- .../1451/raw-pre-render-validation.png | Bin 0 -> 106158 bytes static/ui.js | 4 ++- tests/test_issue1446_glued_heading_lift.py | 23 +++++++++++++----- tests/test_sprint16.py | 6 ++--- 4 files changed, 23 insertions(+), 10 deletions(-) create mode 100644 docs/pr-media/1451/raw-pre-render-validation.png diff --git a/docs/pr-media/1451/raw-pre-render-validation.png b/docs/pr-media/1451/raw-pre-render-validation.png new file mode 100644 index 0000000000000000000000000000000000000000..d27ddc40475ab14e41afc38e29b9d11ce6024bef GIT binary patch literal 106158 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%0DNluwaJplX*# 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[\s\S]*?)<\/i>/gi,(_,t)=>'*'+t+'*'); s=s.replace(/([^<]*?)<\/code>/gi,(_,t)=>'`'+t+'`'); s=s.replace(//gi,'\n'); - s=s.replace(/\x00R(\d+)\x00/g,(_,i)=>rawPreStash[+i]); // ── Glued-bold-heading lift (issue #1446) ──────────────────────────────── // LLMs in thinking/reasoning mode frequently emit a "section header" glued // to the end of the previous paragraph with no whitespace, like: @@ -1797,6 +1796,9 @@ function renderMd(raw){ s=s.replace(/(]*>[\s\S]*?<\/a>)/g,m=>{_a_stash.push(m);return `\x00A${_a_stash.length-1}\x00`;}); s=s.replace(/\[([^\]]+)\]\((https?:\/\/[^\)]+)\)/g,(_,label,url)=>`${esc(label)}`); s=s.replace(/\x00A(\d+)\x00/g,(_,i)=>_a_stash[+i]); + // Restore raw

 only after markdown rewrites so literal preformatted
+  // content stays placeholder-protected, then let the sanitizer normalize tags.
+  s=s.replace(/\x00R(\d+)\x00/g,(_,i)=>rawPreStash[+i]);
   // Sanitize any remaining HTML tags.  The renderer intentionally returns
   // HTML and inserts it with innerHTML later, so tag names alone are not enough:
   // raw/model-provided HTML like  or 
diff --git a/tests/test_issue1446_glued_heading_lift.py b/tests/test_issue1446_glued_heading_lift.py
index 5857a5b8..d760c34e 100644
--- a/tests/test_issue1446_glued_heading_lift.py
+++ b/tests/test_issue1446_glued_heading_lift.py
@@ -153,20 +153,21 @@ def test_chain_of_glued_headings_all_lifted():
 
 
 def test_lift_pass_present_in_ui_js_at_correct_position():
-    """The lift regex must be present in ui.js, between rawPreStash restore and fence_stash restore.
+    """The lift regex must be present in ui.js before protected-code restores.
 
     This pins the position so a future cleanup can't accidentally move the lift
-    to a place where it would corrupt fenced code blocks (which are stashed as
-    \\x00P / \\x00F tokens at this point and don't match the lift regex).
+    to a place where it would corrupt raw 
 HTML or fenced code blocks
+    (which are stashed as \x00R / \x00P / \x00F tokens at this point and don't
+    match the lift regex).
     """
     lift_idx = UI_JS.find(r'(/([.!?])\*\*([^*\n]{1,80})\*\*\n\n/g')
     assert lift_idx > 0, "Glued-bold-heading lift regex not found in static/ui.js"
     raw_pre_restore = UI_JS.find("rawPreStash[+i]")
     fence_restore = UI_JS.find("fence_stash[+i]")
     assert raw_pre_restore > 0 and fence_restore > 0, "stash restore landmarks missing"
-    assert raw_pre_restore < lift_idx < fence_restore, (
-        "Glued-bold lift must sit between rawPreStash restore and fence_stash restore "
-        "so fenced code is protected. Current ordering broken."
+    assert lift_idx < raw_pre_restore and lift_idx < fence_restore, (
+        "Glued-bold lift must run before rawPreStash and fence_stash restore "
+        "so raw 
 and fenced code are protected. Current ordering broken."
     )
 
 
@@ -254,6 +255,16 @@ def test_real_renderer_protects_fenced_code(driver_path):
     assert "**inside-code**" in out, out
 
 
+@pytest.mark.skipif(NODE is None, reason="node not on PATH")
+def test_real_renderer_protects_raw_pre_html(driver_path):
+    """Raw literal 
 content must stay byte-preserved when it contains the glued trigger."""
+    src = "
Para text.**Heading**\n\nNext.
\n" + out = _render(driver_path, src) + assert "
Para text.**Heading**\n\nNext.
" in out, out + assert "
Para text.\n\n**Heading**\n\nNext.
" not in out, out + assert "Heading" not in out, out + + @pytest.mark.skipif(NODE is None, reason="node not on PATH") def test_real_renderer_protects_inline_code(driver_path): """Glued pattern inside inline backticks must stay literal.""" diff --git a/tests/test_sprint16.py b/tests/test_sprint16.py index e273e7e8..0b7b309a 100644 --- a/tests/test_sprint16.py +++ b/tests/test_sprint16.py @@ -69,9 +69,9 @@ def render_md(raw): s = re.sub(r"([\s\S]*?)", lambda m: "*" + m.group(1) + "*", s, flags=re.I) s = re.sub(r"([^<]*?)", lambda m: "`" + m.group(1) + "`", s, flags=re.I) s = re.sub(r"", "\n", s, flags=re.I) - # Glued-bold-heading lift (issue #1446) — must mirror static/ui.js position: - # after raw
 restore, before fence_stash restore. Lifts a sentence-glued
-    # bold "stub heading" out into its own paragraph when followed by a blank line.
+    # Glued-bold-heading lift (issue #1446) — must mirror static/ui.js behavior:
+    # protected code/pre placeholders stay hidden while a sentence-glued bold
+    # "stub heading" is lifted into its own paragraph when followed by a blank line.
     s = re.sub(r"([.!?])\*\*([^*\n]{1,80})\*\*\n\n", r"\1\n\n**\2**\n\n", s)
     s = re.sub(r"\x00F(\d+)\x00", lambda m: fence_stash[int(m.group(1))], s)
 

From 324aeaaded9cead9da58ee9ab639bbe4416fa063 Mon Sep 17 00:00:00 2001
From: bergeouss 
Date: Mon, 4 May 2026 17:25:31 +0000
Subject: [PATCH 3/6] fix: macOS auto-scroll momentum race (#1360) + custom:*
 provider model list (#1619)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

#1360 — On macOS WKWebView, trackpad momentum scrolling fires scroll
events that interleave with the _programmaticScroll setTimeout(0) guard.
A mid-momentum scroll event either gets swallowed (_programmaticScroll
still true) or falsely reports nearBottom (momentum hasn't settled),
keeping _scrollPinned=true and snapping the viewport back down.

Fix: rAF-debounce the scroll listener so the nearBottom check runs at
the next paint frame when the browser's scroll position has settled.
Added a hysteresis counter requiring 2 consecutive near-bottom samples
before re-pinning, preventing accidental re-pin during deceleration.

#1619 — When a custom:* provider (e.g. custom:relay via custom_providers)
has models that overlap with auto-detected models from base_url /v1/models,
the dedup logic at config.py:2263 skipped them all. The named custom
group ended up empty, and the continue at line 2334 silently discarded
the auto-detected models. Result: only the default model appeared.

Fix 1 (config.py): When custom:* named group has 0 models after dedup,
fall back to auto_detected_models_by_provider instead of dropping them.

Fix 2 (routes.py): Extended /api/models/live fallback to handle
custom:* slugs (not just bare "custom") for both custom_providers
config lookup and base_url live fetch.
---
 api/config.py |  5 +++++
 api/routes.py | 15 ++++++++-------
 static/ui.js  | 30 ++++++++++++++++++++++--------
 3 files changed, 35 insertions(+), 15 deletions(-)

diff --git a/api/config.py b/api/config.py
index 3614504c..fc7bf07c 100644
--- a/api/config.py
+++ b/api/config.py
@@ -2524,6 +2524,11 @@ def get_available_models() -> dict:
             for pid in sorted(detected_providers):
                 if pid.startswith("custom:") and pid in _named_custom_groups:
                     _nc_display, _nc_models = _named_custom_groups[pid]
+                    # If all named-group models were deduped (already auto-detected
+                    # from base_url /v1/models), fall back to auto-detected models
+                    # instead of silently dropping the group (issue #1619).
+                    if not _nc_models:
+                        _nc_models = auto_detected_models_by_provider.get(pid, [])
                     if _nc_models:
                         groups.append({"provider": _nc_display, "provider_id": pid, "models": _nc_models})
                     continue
diff --git a/api/routes.py b/api/routes.py
index 4af18933..47a2b12e 100644
--- a/api/routes.py
+++ b/api/routes.py
@@ -4523,11 +4523,12 @@ def _handle_live_models(handler, parsed):
             ids = []
 
         if not ids:
-            # For 'custom' provider, provider_model_ids() returns [] because
-            # 'custom' isn't a real endpoint.  Fall back to the custom_providers
-            # entries from config.yaml so the live-model enrichment step can
-            # add any models that weren't already in the static list.
-            if provider == "custom":
+            # For 'custom' and 'custom:*' providers, provider_model_ids()
+            # returns [] because they aren't real hermes_cli endpoints.
+            # Fall back to the custom_providers entries from config.yaml so
+            # the live-model enrichment step can add any models that weren't
+            # already in the static list (issue #1619).
+            if provider == "custom" or provider.startswith("custom:"):
                 try:
                     _cp_entries = cfg.get("custom_providers", [])
                     if isinstance(_cp_entries, list):
@@ -4539,8 +4540,8 @@ def _handle_live_models(handler, parsed):
                 except Exception:
                     pass
             
-            # If still no ids, try fetching from model.base_url directly (OpenAI-compat endpoint)
-            if not ids and provider == "custom":
+            # If still no ids, try fetching from base_url directly (OpenAI-compat endpoint)
+            if not ids and (provider == "custom" or provider.startswith("custom:")):
                 _base_url = cfg.get("model", {}).get("base_url")
                 _api_key = cfg.get("model", {}).get("api_key")
                 if _base_url and _api_key:
diff --git a/static/ui.js b/static/ui.js
index 73775d26..54e94ca7 100644
--- a/static/ui.js
+++ b/static/ui.js
@@ -1191,21 +1191,35 @@ window.addEventListener('resize',function(){
 // Uses a guard flag to avoid the race where programmatic scrolls (from
 // scrollIfPinned / scrollToBottom) re-set _scrollPinned=true, overriding
 // the user's explicit scroll-up.  Fixes #1469 / #1360.
+// rAF-debounced scroll listener (issue #1360): on macOS WKWebView, trackpad
+// momentum scrolling fires scroll events that interleave with the
+// _programmaticScroll setTimeout(0) guard. A mid-momentum scroll event can
+// either get swallowed (_programmaticScroll still true) or falsely report
+// nearBottom (momentum hasn't settled). rAF defers the nearBottom check to
+// the next paint frame when the browser's scroll position has settled.
+// A hysteresis counter requires two consecutive near-bottom samples before
+// re-pinning, preventing accidental re-pin during initial deceleration.
 let _scrollPinned=true;
 let _programmaticScroll=false;
+let _nearBottomCount=0;
 (function(){
   const el=document.getElementById('messages');
   if(!el) return;
+  let _scrollRaf=0;
   el.addEventListener('scroll',()=>{
     if(_programmaticScroll) return; // ignore scrolls we triggered ourselves
-    const nearBottom=el.scrollHeight-el.scrollTop-el.clientHeight<250;
-    _scrollPinned=nearBottom;
-    const btn=$('scrollToBottomBtn');
-    if(btn) btn.style.display=_scrollPinned?'none':'flex';
-    // Load older messages when scrolled near the top
-    if(el.scrollTop<80 && typeof _messagesTruncated!=='undefined' && _messagesTruncated && typeof _loadOlderMessages==='function'){
-      _loadOlderMessages();
-    }
+    cancelAnimationFrame(_scrollRaf);
+    _scrollRaf=requestAnimationFrame(()=>{
+      const nearBottom=el.scrollHeight-el.scrollTop-el.clientHeight<250;
+      _nearBottomCount=nearBottom?_nearBottomCount+1:0;
+      _scrollPinned=_nearBottomCount>=2;
+      const btn=$('scrollToBottomBtn');
+      if(btn) btn.style.display=_scrollPinned?'none':'flex';
+      // Load older messages when scrolled near the top
+      if(el.scrollTop<80 && typeof _messagesTruncated!=='undefined' && _messagesTruncated && typeof _loadOlderMessages==='function'){
+        _loadOlderMessages();
+      }
+    });
   });
 })();
 function _fmtTokens(n){if(!n||n<0)return'0';if(n>=1e6)return(n/1e6).toFixed(1)+'M';if(n>=1e3)return(n/1e3).toFixed(1)+'k';return String(n);}

From 4cbcf9d93cf8fd68420681a2afa1e7890aca37f1 Mon Sep 17 00:00:00 2001
From: bergeouss 
Date: Mon, 4 May 2026 17:33:22 +0000
Subject: [PATCH 4/6] fix(test): extend scroll listener search window for
 rAF-debounce (#1360)

test_scroll_listener_hides_button_when_pinned checked 300 chars after
el.addEventListener('scroll', but the rAF-debounce fix moved the
scrollToBottomBtn logic into the requestAnimationFrame callback,
beyond the 300-char window. Extended to 600 to cover the full block.
---
 tests/test_issue677.py | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/tests/test_issue677.py b/tests/test_issue677.py
index 87cf044b..faf3363d 100644
--- a/tests/test_issue677.py
+++ b/tests/test_issue677.py
@@ -120,7 +120,9 @@ class TestScrollPinningFix:
         """Scroll listener must hide the button when user is near the bottom (#677)."""
         scroll_listener_start = UI_JS.find("el.addEventListener('scroll'")
         assert scroll_listener_start != -1, "scroll event listener not found"
-        listener_block = UI_JS[scroll_listener_start:scroll_listener_start + 300]
+        # After #1360 fix, the nearBottom + btn logic lives inside an rAF
+        # callback — extend search window to cover the full listener block.
+        listener_block = UI_JS[scroll_listener_start:scroll_listener_start + 600]
         assert "scrollToBottomBtn" in listener_block, (
             "Scroll listener must show/hide scrollToBottomBtn based on _scrollPinned (#677)"
         )

From 87f7b769845cb03ff8ce48b2e6ced3b5cec64031 Mon Sep 17 00:00:00 2001
From: Hermes Agent 
Date: Mon, 4 May 2026 18:25:46 +0000
Subject: [PATCH 5/6] docs(pr-media): add before/after PNGs for #1618 fix (from
 @Michaelyklam #1641)

Adopt the UI media from @Michaelyklam's parallel-discovery PR #1641 which
shipped the same one-character regex relax fix for #1618. PR #1641 is
being closed as superseded by #1642 (which carries nesquena APPROVED +
322 LOC test suite); preserving Michael's UI evidence here so the visual
proof of the fix lives in-tree alongside the canonical PR.

Co-authored-by: Michael Lam 
---
 docs/pr-media/issue-1618/after.png  | Bin 0 -> 39021 bytes
 docs/pr-media/issue-1618/before.png | Bin 0 -> 38958 bytes
 2 files changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 docs/pr-media/issue-1618/after.png
 create mode 100644 docs/pr-media/issue-1618/before.png

diff --git a/docs/pr-media/issue-1618/after.png b/docs/pr-media/issue-1618/after.png
new file mode 100644
index 0000000000000000000000000000000000000000..f671477720a04f88c9cc84bc27ffe13cbd631cbe
GIT binary patch
literal 39021
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

literal 0
HcmV?d00001

diff --git a/docs/pr-media/issue-1618/before.png b/docs/pr-media/issue-1618/before.png
new file mode 100644
index 0000000000000000000000000000000000000000..44ab5bd0f35ebd1c7e20861a28678f76f92f5b07
GIT binary patch
literal 38958
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
G0Pr9v&WH z5iju<6MVjX&o&s_r&Mf8GwQNq;EwDg@h!iR95xm zmxeXZ8J8{n8h}AJM&*J}+=PVs+hR_m$ge~UoufP3?mA<3PLU}{G7-RTIRk<6dAcS! zJ&m%lzIKl0RACl*`Z6g#{m&(D-6{+}^8XYp_6M&5Ac}zw);{rjn`5M4%)Kf65;e}s z*qASeA*$Q1%%Q@stVS1VbtCuO0!`Y`nix~P;d-WSO8D{pvp{lW)_t^a*eR)-FKlRt z?yLqf%eBLV&pWgO4o9`8m<_? z0RL%+V}5~VcAfbFw8Xud$7`p49ImQL}E_G?mRM(&$O^bL}A7ZKPdjgizcb|yuSXMbtCmgJHC9umY z+)>t(ISzDdU$qa~M^aAIB5ox5FvybtLp1=!c?&)oz-7c^rzDCto?i#OvWw0a1|{n% z+d7z=e?TIUED{Ooj*bZ-A>NtSM76LRMD9dajoR7AG6YGG~Ur*yjs3~!f%MJz))jy_9Uh0`Lk#`!z55&#Bc9gL4+yW zv*JO=U1+P{ga!64%vHGi!s4TJ+S_J#ru9LRkokF=m~mt6ht`Y^sT-@jODE!@)-L94 z5AN(3b)}SbPqoFQ>yf7CGQ9B-R#n$D>o~35x5Uxe_H6AfV3Y)HE1ucC|J`VhHMoO$ z|Hn1W>mXAK_~`d@XGQ1(YVS@RTRanF9(4h9>z`P_v@|i+-Y^#tv2piyP?uOdRTTb4 zhF@<4yusoltAF>DkurU}ZE+mB~P_cszR@D%&`% zCL{kUC@1>+vs_z_S4$aA%gH9|s@V6Am;x!Y&PfgVltcVw1_PA%w`@)~jWVZkDqO#z zp3K|AX9H^*2CXL?{^wz?CMAWcAP2EQ`A_L`2!(gsJI^!Pv-zhDw?|H=v?_ZHc5<} z6l~nq$8L30UD2r(%qh29AMNvScgsAoA`z_)j=B*yD;`f&25(hAi5^6Zm)HcR9|iA+ z4x!YfK+FyXF5*NT)1ea~A^8xqpPidcmT?VPeO&ijwK!cu{42K*^!xc6tRac*f5U%9 zJq`I3h++;L_g>8(i!IMIPm@{zxd2<5pPzsB+_`8MT97H#lN|Y}rVwu56BRU0)I{vj z@%>3*VIOz&s1=j}2X8X1*c@>~7YQ#N#W_VV`~5z8L_t%8&K~4(F-TxuLXI2SF@Q|3 z_(OC)@fWMfEVzx;5J^6PHnoZd*lN8k3ewk2rHPT}RPt#5H|eNR5y9gxmZgk%XsH1> zOIONeGz~fv_-H!xs#Mtet22!r-?G4iB{v>=VFw(Gi7V?5D8~2zL)3uX>Pa4B%+LV<;3oYv(RbFMAbem~7GARqPtZ=GFJc?hZ zqK?7zYSDl+X$~a5CM57_O9%;thlJ#1q*faP+LiyYjm^l14+R_(=cKPD{$=+tO#I|^ zE2z7HUm@UNVauOq@XR)YrC6#!La_(Pn%V-*8i3pY6KE;JgKt2<`b2loJUTM z=Of*g7Z*EQ6GVa=*7DVG^@MDU0Lo#h%XjC_8PKo$Z-vHg0Vo*}(3>bYW8r0-SuYFz z9=63NIXWxwSNx{QPS3{P6OIzCq~EtDqGu$Qyw;R z2ZvQ4_wO)%wesIQchCnj(tP>r`vf>|k+`+|Vzl@vS=%=vhTz@cK8SrDAZ?`|2a>b*+ z@7IgS`0T{>%4dN|JszQT7I|Pzaxh3#fj;s_TU$>4+8`dy3D=a*d$_BO&Xu+AY2s8f zv<%n|iM=0{^q2ME#u&O22HM)RtW$>3U%Tyc${Zsxs#!pI zYj!rRpn&D|QaX^(!mJRdpkB}I*hK8UUhNX5BmHVV0%Ht2!a}JPpz|#yJg~KRt01## z_mHE%Dau`VQZ&D0V_~LK&;sxQQA?dbu_>Kq)mtggGnd;wdDvDf2M)XE@WLVN%-hTBoqGupDK@(iSBrz5YC zARQf@iOHC9rqI26)p^M9b#LizyU2jrhzM1H;vgO0okfo%an7yr3YFGbc#!Gs$W{hR z$>%@6m6Tdsj-MP6cAL)l5gCk>`%C7|od$n`fUp{6xngu@J!#RKO?W5570fA>kjL$q zM^vXukC7)PyXJ3F29N69e}kfub2Hv5wIWq+!j+iEiFLT3JVfxQ?&4(^==6K9i~4*P zdaM%9|27}0&6?TbVKB8)Fn}aL7Ak)?_W7|ClhJ;%lW_HCi(X@VWT#Vw9}r9h^4+@& zG3d@Nmx}SFUMn8T_Dtn#6%(6kaRpycPh|D>aVamyzzmSJ!AGI?uj4vR5*l3hC6b!9{8um!5Z$_#7s#@B~frM^;xWrhy0EDKjhSSn5;^OywC>$8?%H z<_Yw6F*F}~#|Wr)=6mNKJ#L0%2WAoN-Sue~O=<~JGWXrUehE)jX`J?uJbXNzh@Gv; z9NV5wi_+o({k-JTI+qg4LPNyOCFQjTr)4cn8plP5fF3D(>@ox3n&4`jMMKq7WrJ4w zUJEOr%!_7c8|iq5dlKa-l}*C zttw09x2n$9r7#S9(*~OZMI*j}cdzm|FV%{9uMY*dTVVa>Y616cwtS(slWWy@#GuGZ zKUMxX9Z*TZ#}x;Fa>Pxcf;~QcvIca9m$Ze#(JwVi%hx$2Pr{57GJ54vMxHx8Iq;y0 zXbcz6xf}+an$x19*>VmZ__x;Z&Wt7fML-SD6j|&Y;+fGzS65}_eQTPQR%Huc?0G2@ zQ`05FOz%XowO&fRhW@mR+I(AfE%_?v9gnmM~PK+l|*AG!%}xImwFl%YWpXY;Ro zgY}VugY~1`-cPT`R=pdJ_j7oSiV*eX!k}{3BR*ida>HveoovFl1g#pBr~gzg6~56W zlks1v>r8f`9tF9#Mub1*19*Q>Su({ir=@(VhVp;xY4 zAzMfw$hI{Ot92Uk3wbQ`(j6^eA&r}?Sq5?}4|oyR$pnJRAM(7tqd#cXn>xkjyXY#l zGZ$vHgr%E&xd5y8$YZWT8qDY?Rxf^h77C@qFCOH|P0Te%AF@o$eu9G39-vW+0PL4!YOEImZE|p|E0RoA=$!OF3fIOUAkO}TV z(AzT^bglFo#b~YE+RW)V+|3GO*j${&FZ74*)gOgAx8k>^v!a53GV7g1 z6_NA5h;~m+e`|TU?8R|UC)CLBMKRz#o4)olf^n(eIvzG-$9&$|=86r$R?VF3eO6PZ z1T_XZSt-1&6t=aWONfu1ayf9sD4fh4UkEWc%ax5EFog#1j;Gji&FsO!agVCx2%{G^ z%QI?9;*!wDUxUYpQXCE37Id?urptk5XMh4_ZFGL=_u0&m^(&O?-WNRq6@^4T(sUCq z3uA0d=mBczsH1SqnGpuoMx(Q@+)=j*~>Gyldd$1s}9|E!|7l zz%fP-;Vccq!U+~bRf|@o(sI*{Qe+C; z0$kqJ@(4O(HmvOU_Vm#PpBA#^g|j`UG|_BRZ?854Reoc)^n=*z99w?ikl>aw%9Y-$ zh>XpoQ2n~sBt>EI#>GTt2~EHt&8D!9@cr<3bBN{)u3uTfe=POO4|e}?2&-$uLC1FM zxbF+IAm6nFw3oAGp7c>20>{k$dszhzd^*^yD_%O;K9~r8*-8jJ2FG}j+>GHqCzJ#0 zQ?_;k+WknnDqh-RE^OLxHFR zAbw{+_Og11)B_61G?3x9g2^d|ooxymm)r8&7ra@ga z8;y!p;4Y^vfh8a>bmiT==3!cPmj!k5^!2jUX+f_tbt_gU>NPrs4|acg?M7A#n8WmKSo%hCtTFviv4sY$5;?rW9PR8i?zFdLb8BJH(=sqITNeD{eBW(>8lhX!f3CKg$c30bBv31CO(wkH z8Ao}YRGCp$w2D8(kce*xU&0MB5A2alb#LTKKS>{3) z0tP+A7@>0u1{{x%);u6LdTTn*0x_@s{D87-6%F-@8ls2O0`K$4&99qLf3x4((ERGd zh~d~{(sP6v(0L90h~ImVvOC=NR3@@BP-gn1lQZHWTxOLO%NP>ASoVGRn}uZ1uRq61veLG|mx z+l{a7Ej&9`Dx71_gJyGCh@UI%ez#JuGw1pc7KTt^ZgaKY9utKoW12(ovll=-u z_j;&@S7fNP-s2%w=(Wj)AmV4;{jqoE$^3#qWUWKoz#(Rum1C_`qC&`0U5@eYd~czN zh|oE|Hq)}<8l-gAu)`+Uf8e=h5q$$|Z={G50sXu03`Y_33(KS7&xKiGf-0;*(_$oF zEY2e(P|@q#rf5$}Z0yPI@4T)Ke5S4zZdpRgbXCx*=n+&c7+%aXK_xAD2~>UskKpM| z#Fy#j1+1h`Agky1X*2^!$5mY^D2M$GD}cR~4S&+%Z#ne3Yr}D7n6qDP(0UkFED*|y zs8_b#11eu8jTnR5KHN~&8929Jg-b0W@R^rjOVm;Wwvr#~flUm-CQmJ>>I#XGWOKR1 zB}kz4=U_kBXDPAo@S;Xe>ycF53@r1kGwi!JzLJIoaq{(w{rPUBHR3P4V5**}T|QqI zg0IXkXyz=9GBhTt&+2%X#>oFSx6Upv>{I%zW(lT_}eAO|}m@o;6>D6+! z%adxcAOF~BzxaNvL8@@$JM6w{C+OAiBWqEg{E@4y(&a<|^dD`vS&dh$KjRv8Lm$_% zOnddxRPd+BKwr*Tr&_AxcWr<5q~wX%b;*kU<$v#93lL$r#|Rri&KM(; zPa)hxFKx6JOwKY8f6ORiCza9@DZqqt1a#k(kR}m%yRHjVVGEIhcJ=$FZ>2AsqLDYz>sZNrMi_ovK+PJ%``hy14rfnaM+{{QtpRC_#?`r>PJso6`JEc%LwQZ#!eY)-YR}IK zVA8#F6(6LTlUZA9o<;$932EQWLqbeU3m@ezqJUUdvMw;P>pNOH@MY0!;#;7!xeXsR z6O&XR*8t3?Nf)p7`|u(r>N;wQr%!a{<3*6BDi~aX!Ctu%QEaSk=T-3rp>hWF>ORMl zQce4hK=vg$KVSIu{U`btU&VrjVPCuH?%e4=Ik_XAG&EP-k%YklbAqBCrEBNwGx-iU zl$U-^PD+~h_LRbAD*=6!f&38Vm7jx7g__G;(7nUMi+Mxlo?}7a5h8TYR49cJIj_hP*si|an2DcXF z=Lan%7!fu){=w&0fH(oo{SU$k`KkUmjhulwM@GqC8>p>@?ewrzh;#}$0SAQGkU=_9 zckY}-Nt{%HG5h0j7O4HYolZS!S$AhUJHTnf{Hn86S=--4u~MDZB7o9Da;@~~#m@Zh zLy0FHSB%J4uVy1|(x6zxvvl*4CAa6Tf-MfQ@e2P)-FqM(s1()ABqHLK>bq2tsi_d~ zy9S`^{-4_?rXQ8xced%6nzG%zd5=sH$U*8fMhSfS&u^;yd)Fo_XvDw=xKmYIRBBJI z$^^VZj1D?~Cz_S}Nf^~nhc((_?DOW(YvT=pRpehmY1mvV17Dyb4T$_USIsn7wXH@* zs7?nF_5Rg6w+>hr8QjZnUdvQGL*bZysxYtR9{qR>=jjLzQsmo6-8F48KHvUfncJ_C zoDBNkb)k3e;`DT6hgfNO}GN}B8F_{{QD4YM&(h5FYZWXB^GZsqL|S+~Bvewv5_Ih1JT=O@R; z`VX7PRhULC7Xf*uvNFPHQ6tE-AU2-|X%_FjSrKdLznKt18K0-WMk&amYhb|73}_Xg z@yB&OyG(Zt>n>?jbflN1>w}xTbMKzRK=vZF!jWz^xL>=W;n97)Jdk@LaEEGV=PY^K zlNqo6F2QjoJ{-WvJ*&`}vK|y3!M~9ar%b&wUpZi+p zAld71+M^9JG_+J#*BmqS;r-=-bqIUFuOIMW&!0fHg)DTAf9pp_MfuIXHiN&M$By&z zuxIP#Q1!|Yew8~8czJsML%iw}0s0|?(fo8hV_Rp(=YR+N{AF%4xPMM=_8kN4$B${i zfn^D1l6vIe@cxv>v@BqBpBi%?B8A_k^cLImlLOUxjns7Hf1F+0U|0@es+YbgS2jPT83k3x$#L)eJWcHNEF_)lYJSmC^(x9648M^7y zX66>i$BdPn`cwI78s-N_)VW%Gu45h3tg<98@~h#w=P3LY3JM+p0lI%S(}72Qg zb7BFB7N7B5hHRk~Y*&98q=x;&MxQiLykW*SygFdzkA>wte{qlkl{YJ~(b#GnFAs{c2)>R$-!e-b#~*PKA8_D?L}|I-@s-%ICz z%<})wCRrT+^Z(C~0l@ci<9KuJDHNj6-rhf^r}DivfR;r|>h2E3StJJg+kY8M$Zu2Aeh%QB1o)Hacihy>|;Nu&OyXB_2VJuf%g>S_~6!|@< z9&h@T?+^lD-B)q;?PGCUmi!Id9o0igM;Cy~s?S7DBbSd7gpn=ZKn&p|E@-U&j?!}}M!nI;y#uk%0YsiaJUqyzZ|ho?tZd)zDq zK1!JY7x==~;Ts=!*5iCQ?sn6MfJ`ZYa-UamixWnwt^qunzzea=a2GB#{6b#@S(5l$ z-%;jQZHO04w|k6$`s$9hp^ZJFaF1o+qHYD?{DDkA$Wsgp#~K1X;iak?TSek$%ISgA z^)Rx(EHcn6{}K6zMcOA@=QD&&scZ3PLFKpPq$gta_JHcLBNvVBPcotx`bmn4_S$nV)AJ_$5Ki&PA^R|ax~doTvw$W?ku_D5L1(`s%%5#@Ty~nuY9JE6d9-G;&TXo|we?Y~Ad)*( zj2D|=*=7A>85>>J*Ec89UsGO6In;y~ohzf% z>9o+s6!?AHGT-kj%RoyK&*oYtZ?evc-eonwno(ycm0VcKs?C zAN20Vv9~#7r)oPsctcM>vtj}5kz<}R)2D|SX}fWArO!FVFGVj<7@ihdD)VkEL(~lR z1I(ibIktQq&<(Xp7^yOYR7Ecp&x)*Ps9fM&Tci#ADGskfM-`9fW}R^bcCV4KF(r0j zO3EaH&v%v6I_RF$aLLcoR&n>|O4Zu$rs+$lrVFe%9H~q(@5~z*;EtugfK@OPm6D(RvB`Bp2*vZ%A`o}8bno1* z8+I4Td&f&#B(9t!G-_#?C!7G*HIT8GAJpS{r@1_sZ?P>z&q&&*b1=`)gePD^T{BO)QIW#iu3q(<{@wxlh2&BLEJ2?UF^(P zRPfbG_?#ZGm|0e?TZR>U?n6em2vwf+!hz~GYTLuzn7G`es_ zV`uGG&dfCnv%B7`k#_a^4r2u)Ka87>2fg4CPZO&NS+l<|aL;)AOd?&KNAPso-$p^I zeUqD&6!igY)u`?(&UlfnZ+MI8pr25`xzzgHfHHyGt@La*G>ne~>llUHNNi{9=Vy67 zF{SF?wF+L_d!JSV!^RSgA}3!7&Nz#VRIOy0Mf5~?gIyzD&S8J~`ZlF(3ihC#^$!|d z>2>n7Oxd>QRbD^MPHcWlEo)KE*E&6KjM8Xn8*e@`Phh^A>MPMM7j+%W*x($w8+NU- z4rO5&j?IV&Gdx729tVGkC_%0kIrHk-GygCc3s(t@^v9Bp6o=vm=H+|5XEuFI#z!)* zLNzI^c=N3Sw07dbHZ!SzF8hZVQo}ZBuO+ojaS_`~42hBc&Lrp=&`;bZ`7lGkd?}zyhR1}Jkh3zNl$XAZs${#54}B4jq|f9 zdNjnWWrOp3?=-AX2W7`kb)zvMY60+;3$1*eW+T}dM`- z?{xN#_iMot^2Xs>0SKU?WJ~N*Xig4OCeyByLlhE$=~^rD-Y9o&AOAbv#eIVZo zexi(`hv}vZMeV#6u_HjaN!f9ty`DnKN+Q8-`3|)0UI?wcPs*~3ll?2h`gxQOhv1ep zKI(SAATbM(e=ho^w8eXFA;F_oGa0y-v%Y6rok|$1Ba7-)}wP4j_Xt@?qX*ql|WM7z*h+z0!^JUe;#UyHch zZ|^huO9ZA)px?PGFDS_ITQ}l2XEZ9zy@GMSFMBL9GssC2)`RIHmHK0gaMG(5q+*1y zC6nWjqe~`oN<#mX+q~ zxN4~0oZArQTBb``N)C7s_T-LLOu+-ph|dwXAhTsae+{;`j)7BqArG13-zAE9%T}0UYv03%B{P`^+|7^J8!JV3xWEda<=~KurIQaG}`1 zB_j=Xb~bpK;II%Nxfqx3k)=WaS2N9g34fE&$*k>J^gjPPxD*7kqv}%0%B$;q&;(DI z&3UI&Lh)REPvC~w!)k|!G@FIvv#Q_aF$3e?$J24SX@a6clbi2x!docPsgdo=OgvH7 zwl^QRULWQ>eZI9cdOC8icZ#xoJRaRrryJd!~X&Ks}F!dj^}B;F(C zYuNTTCI#R+#A!|VX;{G_VS0r-{8$!z#oer%gcJoM>yXVF;EFQfzQKGg} zl2HGy>F&k!c&e%y&{V6{WLz-P`>F(XSBp_M(k-3eO!2t{7srtM6s4q0Q?7Q|@-X9O3$NU%B^b6ug#&1gPvJL#7) zZ=-Sv+z?pVX){_=yKobbbB1QTSi0D=f#j?L)7fB7fx@@zUJ(zL+Z$)XImIUKcl%~vV; z=d^eKpu22O+4#m~#r7R0Zenbj!>R~hW71dJvU%HK36H*!!nx<~XjE|gw6Q$7gwQoS zt!lfv1aCdFkdW3uzARc};_eOx`k;jYN|_ zfyCn9ZheHB6d&hN%s5LEN#^OUh3yi1O6!ZeVF#$Umy`4VUE=9wr1iC8GyUG%=&tdx z7wvVT*hKAoE^5j>Ui8@g8&@B58saIw7o=;|G#uX__NDLexQ8l}%ZmG?|2~_8r9ESM zE6gtLUX`@v#sh~x@1%^hRGu)r?Ue0pUO`ys^T^d|SUCnLX}T3Qa;yJ3;~!IQ++qv9 ztu0GhEDN2y%pjMF$jdU2dml-ulv$FRQumpfIG^W;#(}ayt@4N5pK_Zz*svQ zD=jgfI&%-4o)+6pwRQL=bJ&N&K~}GFyz=(8+L_Qh`1NyCblZs&3YN#JsD^zB5MnrGc z#xUD`|7kGi3KvgxSgM&r+WSpiaYH?6H-&qSX`kx!Qry&c1oXv^1WldByEE=~z!`Pr zX|=P$ZU|5Dvz!HO2c3B1!%Jh0+x=;(2PrK3AfrE6^)wjc?uudDQa*F2zWD12J{H0^ z;dN~LQoc>#tfwRYB_qqjG5!Ii`cD;gjPKr|M|4NuC6T@>7ei}0_x>q(sZ73O8Zz>a z_1M@OH_ zE3Tw`4Eyi(p0_&WLiA>zXPze3ABU0;_Rpqs@$4nkzls$qc1o|$f^-bn`+H%>3C2E} zTD+tjFVGe8nM;2%eIoI}1OwY-g$hFaOF86Bhs+M_*X6sTS#?uRw6gQwIW|o@!=cPwuMz&7C{LMk zjnUedOrL?{^Ch=h(ZisUL)g#Ntxx1~sq;Ofn}XNlkI$-m(fzXMoqp|xfy^4(RU&=F zJxeaTcp7yMiLiP;LCheli(+_X5{I)k&9?*$jm9#=f%(m9f6s(+*VFTAMe0ree&;&J zwhU=8>^8Vg*u-SVYSysPzj z&2aKvF-KopZ%y^t%o4sjO=&m#=ENC~Eg7D9#>1)2eL;hHcZISSNUfyU1yzmkEP+`L zF&5?%8YPxPC$xIu*?yk*$F%R+zt8=#uX7*?Whd;iUj~X4p3{3i(Kwn9zT!loN_1;B z?jt=p!R3WpioDi6RNe}9HAWsHAE$hv`uQL#*jj+&eZ~58>5YC90iINY;tgRc3eAc5)GJwNoBMMAQ7(*%^v_Uyq==~`%W zn3qx67~WSIqXY^^V|OGf-#D(=vGZ?!mRTwNh);0Q&l8D)ugKTe^4mSQKv?qAEiBmM zaOPJ)e*647A7Avf0lnCg{>W_U!P|bMV3C`w4G(8h$9|X5aJ;czUlgf2cgS&vwM%%n zPu%wRgWM6lH=A$zEgNx@m3wrbSkLlGFncwmS;0@CnCzAwL2}IXhDcl;4;3XcZ)t?7 zDtC3>`TAz`huF9*@dcx)(*5(MNM{@GlhN}RM8{0>pD;b#GIxP7$`hNqo25%)Z(T&^ z`XKD|!|@QTuf8}~=us#xm6eZ$?##fgVEgN9SE((8Fw=}m0$y&bvEne6^~box!dzv* zJx>EKehZrgWyW#Zp3i+%IVHCyoCr%P0@ZBcKW7;+Gc~-c$Kj-Hul@eH@40JczB6u5 z&Naqg+F!q;qy^1%P`r|Ye_qGWt%GBdhIYn&-q?@e+!l%^bm$BT^yxxXEke(p;`9#o@<^{tLGZ|6geiI zF9w?|GHge_6f`pZ7H=Rr?br?em1yAh0uIyO{aRkIAYSyi9w!^h>3J!984~_C{$Oy0p(5 ze+yu?3 zqPH-&zVDt;^YX#Ewf?n4u2AQm&`Hfhb*>Z!<%#U|plK|nNfmy-V>dgcA|UvSpu{t7 zIR8A(>6lXa^ctj^OP({?6FN87XidzIa@6T(NKZKUJW<}*yU1^@FRHq}X3eN$Q-=*} zffgUX^G1~nk0RoK*GFl7E3Q;ms%zdreA25ibjK!}_MHu%yi#8wrCye(RKkCZ+N)@q ztZ`N6!HE&j3_%CQeeUaGvis%VwOjbjmz$t`Q{okh`gDO+^W$K4Mucd@4Tej)cMz2&i0%BO8_|1m`wbpDQHV2<&dtCc7t+PZhGc%oGF6V8hhp%Hx*&S7nXj;Uw1Jr-gor`jq zCCSjuGsBf2a-Aa1#p4xhg4|^0hWb;(-%nQO7H4mvX?aP*!9DSiWZT zK13H-XnonxY+g5)>P=TQsz~u5Op4kVGG%l)+{?cmAM-g>eB|Mq4+{Yp42FnOF~bhK z6@T;U;HJm9;;ncaHF|kh8;n>txUGv{#qI{u_%V#U=KOmG?!((*ua#OV%wO23jEtCA-|#}=^)+Z7CR>YY zvKEf$8cBo{G=2Oc%-RJTom=F{glBnH`7cmL<3;1WXq#RoJM3o{?{jQwzrckhzj${V z)Vz7nS00r7M_6~HI&rB)T5Dz5@bp8HxmyFOd=`_YSH!F?uvoaC-&$#H^f~El)&rsR zf~vSvYdGfeld^q?4L@u3USx)jSyABCf+cE8P3yt12Ok5;ohYY!K7UhJFT6P)=MmHE ztgS_~i0%Ip40jfYuXt{JQY_DwI+bPCjrgSd5#dQH4ZCi|sjB0;&Mq74d~XWkY8HgW zZB$NLh7FIZ;%g8ZR?5CwV4O8-*_}Pob-cI>&iy<<)$%M z_RKyMGRN29SN|*Mn^8(Z%G<}oNSw|{a@3|MQ_o4iKu*xnFGrV@RAMpTn7`yo?H4i&sR__xa9=n!&1l5AkTPD(k#GMDvgx69pcRT0r z3y4;cZGUYeN;k!-+H%Wt@_V1;YK#}3d^0@ug1;W46vFEziwe9d+fS-KS5UcKD}qkY z4SIa*s!7o>!_v=BE7dC*9CG9{@FCc-_lRbG-$IR%xJw|yO?x`PEyqx(>Df9EBZJ>YR|IMW5z~{4!dbY(fC-7anqOQ)mO}vL)w3| zwDd4f=l`c9>t7(S5QQ{(FX5ooOUi3@sqV+3yJHP^(-8firZsvu$IY~1xq6v+?<4I~ zfxD~*YT#_pOP!Qy+3tK1CQT8}Cv!~sM_;~;Piae=FxeLh$!&7gcK!jx{z>{7R_(em z`&C`wBq)39{m3I97awN7>wtv0G5WVDKUl$k62(o(;`%Sv$$9ek{`%AEnQ+ zhZH_3gNwuJCE$G|Dx05B#Wd=a#dmYnvP}jsO`0nT-|seWs8}nnS1Jzb zZSX7NZiXM3f&7|kp?30LmI;_cd|ilJaTSBttZ-k0fHV&{Ug3iPOY5;*u|)nvN|1AY z!O2{8&uB(macrRXEA6RGpGO5hw{_sp(3RE7t~vS?mN$ksSDUDh7A->C#yt;^yg5fM zT7}(Td)qGp^c?cT#hl?7mN`5`+q+<|>pY(;mOWVg@A=In+peUUQCceVLE|?whi^}G zhJDt?elU57duf%;(VO2IVOOD&me^0R^(je{&o1=(;1`gvTlQ z+Y}voxa3Y5J|mH^b0tL7KXxElogHXeH)56)bKx%aGko6br8e6^F`*KxT|eFy{WlhX;-C;Q`)pm; zuUZw?*nJ?HG>y~XIQH9NcMZCuti4#_;9ESh!Jm6#f_OhoQm>&_$3I9pTwJh4Yt45( z;c7Y8FLtR&Im7Bs>3TAKZ-X!;7qc#AR~=U)9H;(bjiQ7O{=HwRdY)hj|4*%ymh4I0 zjV+4R0WJAiW-jH=6-fFG1DTh8jSt7z<7i(XZk{@q#`$x^_Z)0bjgMsbR%D^pvO*G% z(yL}X6(Tp1T!yLOTmjrj`!VuuQyZvP{Kx9=EuWn2z7&|fBB3NUOQJw6YCIR zB8{UtwddJ+tTtWl$F0?#_bjHpP2XA&J`N=_H7>^9jWSdR!Ib9N)336(WInT zw!%b83(~R6QB$4kgrDH6Ppf~vMg9#DzwGcgTz|tUaLP1-c|}wzXKs5QUhh6}O`1nS z_XwsW!_6sv;<4pooGq=)R{@{ODHYM9#W}eXZ6&Bh`Og2K@4rT{%nB@Qy@xBFub4nq zgr%kWTsDS%qb$i9U1+vmiS*9hj-7N)oTr}BRfb-TkI?){w(I=B*Qza>JwSDko+!

&AW5p{B1wk$rJ5bQq5WVg4gqP*E$r0Y$vIt)MR17)L{HK0}FYy#NI3+GM==adgbKQhJ|+ ze>j37Rj>z~aaBLxRRp_7EQ5e*Jy{6eU*}EJd>z-6*Ujndt36FOC3E$hvI|~M+_s1> zWzcIH>&WMW3)&t|r*3TSn%RH);b^!)oHrE?>}4q=!+tf6)(=CiteqBeaU_bBS4Wxh znG)Y-Mfk_n?{Wi*09Fwd-~d5WU-z==KQ13c5r~iv|JN(`{Sfe0%t2iQ196_5JA~ zHIqq$g4r0%gZuQQ+%>B_zgEa9U9>riC&{gA*sK&al^q6b*D%ndl_;+#i8Bt{O^J}X zmXR-reCcuV7;i7-T@=%4uE@-AM`{IT8_nS)Em6O(?v83{nyP>$q>le7y^%D`7TmsL zU*EE77ie*2it$6|QXx-a*F+%owt@50=c8x(1rzZmo%R}iH){wMcORPx0na9rVvAhH03t5iWPbWtThIhFPU26+p#NM_t z7fvj&$Yur1_M`La7au1@<}Ev@)24F??Q%uGh{vjgZY4}^104hYQ|1~HV)RICp7}P-i~5B+%uSx!ddHdJ;WzBk^Ze)lvwKwYM^#(~lXg)&cs-pY+6neT~cfn!%Fn zb<0g*ptggv*PX+8nJeRpS@C^Y4h|-GL60-Iip&D;UOo+b*n=TO{Dzg_c#My~-Pmn? z+1uv1DaX;~rlbSj<=X=DL#FFI_qVw+^+!lRuwhr_!1ytlXYP0AZ@^fKOmn^P&n1yl zN{joSAKTZ}N!|fRUvo)s=qwNd|H)qEBm?)oQM#&UEWBydc`^K6JGXS%K)$o_AVWvS zF$QItFVt;5mSTTn_tZl8<{H|$G_Xf+Ei9;aAfoLwrVVB7+E+sayK4z?E&}6_JMA=@ zBNYWbmnSYYj1ZRHy>T=1Y*omw0%o~q{55OT9A{n(lq{6!0GBDc`V@he_^xUc#uUfZ z>yh3lTrlh@78# z&VR;j&TZ!&EmaOHLR+V_uU4j6LF->o`G#|uC&fXyr;;4;k^e1b2Edjt)bZ#)n0X(2 z`%aFG+gsy|PJiO{FVSXV!; zW2|%~Y^I{-hs%_??FUiIFUQdqw&P>;0K<*Y?EQZaYg8@v;MzdQ_Ip(YM*W1!-iM%% zMEkPx6G-2I{U}f1rQ9iHRCh-KJAi`GFAHC)UzK}9HY1xt|3K2|t>|`ch5in6U$;8x z&gZ%4>?6XQJGmv6eppd-o74=>U5! zez^(H;}QFXhbRmXAX8a@DlL9<3KQ}3!ft6xC!93<26IwEDsa?!tjj+!slhM4WE*3s z3X+|-;6?C`nlYELOW=*(IaT!+FN@eSWiPHyUe$!wP+fdpbi1euEQyPE?jL(B060*9 z{itVntwobDS=hhdFzn58F{8lD(wO1ilrnzi7i7{pF4$?rPWdnEMoS|O!pDwOvp_05 zFio~^r;((%Se<-*ZX8UKn;U?c{83#U_aAFkyejwG`7Pw{)QhS2@9-A?GrYOeX|%sh z<0X2hxBpgFzeKwh+BD{|gWDAjZiRvw^Y6Wm{qK7<{nwJ%4fqt46BzTwW&FWqO_TTd z43h<#g_c6nZY;_EYRkMdlJfO`zhL$Myl~VE%*4gt|GgK>|EX~Kzjkv`zIEw~proWE z3f+(g6w_?Q&GvDF+9YUq3zGMmZw%K&5bcY?S)t==^T8 z+X4@63kwS?vg%57{J!CKsn1NO=mj@-pGgG}>_Enwiq|z#i z`|-ofCku>RNXp;O?`iB!gq%7Uc5-A;u-yHd{xeVS30+YJvi7{yx(~l_xNBgPe{O34 z2(@64&~5zN!n>DDGk15NMdt^3H(Xq@Z^NlO^fAKxpFg2_xBrANW0S65zaAGG3ySK$ z@TJZ?jY^WaA4lH03CIr5A9z~5NSX;?2iNO!bI5vYL)%6AkIzNNuVi}yfgsNk4PJQ} zT2R1_@cGB??@Zn=d|`^Y6*@&1Mb!eFRKYVZ?+N+ofUC+BjZJI=0r{mbv<|~>Z64mB z2MW1AAz2#mEtd=N%u7-*BEg8i$Xf`i4g9N<#KSfk8Q#?;MV5WV9 z<(+z4iNdp$__Vm~e#!G6W(&kK3{;YM(%VW4m_VMm5;=MK3muv1J>b!g#7UYY}RE(5C=p?6M*2J&ALGO_yVJ;DJAB^A}$$_h&MqA*&dc+1dGh_nbO>tVqB9 zRW&MC6kQ0k4h&y?uVS}RkVcPLCCOgNLv@7&2Sl<=)}Yl?<7T&^Un z8@MglXFWF>%v{;nNC52cTAmX-bfjLnsn6h`^-7H68h1o1;Je5t3n}KS^`xE!uMGlHmeWkFGGOJ* z)H%y~dg60aJ=O;}#5@0iVP^$V0TSl~Q3%BMcHVIAIsO+(+P+`^b)khT##8Z73P$Lb zq@iI3i)w7%r2X!13i3joDuZfrI+x;PeUlA?#(OKLdj|&$d?vMel3=bSnjTNv)GI0; zbTC;OUxp~M#IvAIn7oCSgy3YrOt66^lFm3*grEL|uvs7Y#aq!eQ){Vd;qASUK@q|r z%FDvCIcW-sbXS?vZ}ezX$&YGNS5n&Nn@U#z? z8@9F!&bb*hZB4Ob4X<1wfK~H`UP_-zOGk$|2TkjaoO)f>Q#bEyPWY9u%7cp!AZv&D*}$k3=guIe{5R)uCbM_(j2a&!>)s^0TjA z`IM`1Fl`QGq=bhnsSK@71sb~)F<=HBaX)?fu`6oc5+u71_;}0fTqR9h$I8hFEw^kL zJ(48PYdpAiJOAR~*mOAmYT8gxP?y#3|adBOLHCau*r$MN*k7k9> znU-nA@j%qo)Km-%2D4H-?e$owahtk^t0je1uHv?3ytc|B zS-XI#fGJex_3N(|OtIQJWJsJzHNYAq$diV|hc-30-oJmptB}~ufe}jK#;iGOriNE+ z0)s*e4lS29truF1!7PB3FNZTTO;wtsM>Qeb!Eh*+vBc3tn<;K|BSVS=b?-1^TLaF; zwvncoBBJLq+15?lqF*hp^=*3|X}f)rD!x&kIi0K24~TbAozo+x;LpQ(KJE?CNQ-e=B%4Gic<37NS{=i@zbT}|Bp8+8#Nzk@TXPbB9$v;kse5O8m8@S2w@lvo1gKkD6k(g4$ zHJj;b)iLGaA>Q|LC~m}ZCg?CB`1I*+0i31UoI)F~SDteQbbJawp2>_sR}}h$T(;iE zqgL!{$=#}_x6=UcqSD;8llAPNAL-!W(AwH+G-QC3*cdqQK^G5FyZtyk>;e54JX=XM zpRl-0HV7l~@_^sAxHc#wo+2+aDPfbns-gvV#xzB&eZ zo?v=K*w)DCq*rkMLaDWR(dR1E>hv%^S3bcB2v}u9gyuJ#wkOKq)kM%Gf`*!!c_}SC zT!O=Lo*Lqb{OBWU)P1@e@#re60xi?Mdr@hSQj5_#CYTe}-nvX{-fhVj>@`~z{d3Cs zG37g_y@HZ@uru|l{v$BDe6<2Op2nwuYFAo%g5oii02aXE_d#CIT)zZD`mhgjKnleGkTwxYk#>w>^W0WkK5pn85Vm!^Z%zW zm?G#VsZ;v4 z1g=68@s#Ak>xsTl;!|1mryiOQr(Vd{%+%h4{|A2;9?!+U|9>dYf-m3&;DJ0ZY9DPk z3%^}~-_+MB0u2wlWP%k8tJvjD+M2FZHB4^Z^l1kJzVzqt13TrElo`K;|JSTWS|8L( z<>c1bRZc26YULhiEJ5SDtv@x{BDF0mv7F_ITYr;|G^1Pf=0|EZ@+qilz5Z=UUkE%o zMFA!zFEg_|mHa~^;fhH;1A|Ahf6)e-uK5!BKR#P`(g|o)2DI$)3gEai3pEdl&waY> zGGc$ad#ApEGA^$=XZ?LQ06_(Snb^!mNlW|qR;REqK3OsMGdHbWK62Bm}m)?5KSv|RS_Bh2MpCWxx;PkGN`}flaiDa zC1RJS`g(gSbgTgoyu6bWwC_RRv1S;ksJkpYDV1+`gi)S-{>?X5@g@|gjD;ux<@NS; zDGd#>M>wYo>~cXt)QWL*mm0XMOX=D{;bq6`R(Dx}fGT)6equGyW7+9`hFgyx(fA3NQb&%h+X}Tw@(8JA7VM02vk9oH)GQbLQxx-x^4h9BI zFApM;k}zmADstjdA{~TjO}LS^;_7Sv*M}IJW4_Y(>PHvHEB>PI-=8@+I0Etc9Y#i$ zOXZ_ON;mw1r~n(pFe-bEEOlw1++doS6r!=N&}+_jJOo= zJg<1%zaW1112h7eRrwVqJ4z0MEJE4~3+=i#h<3Bvv$gh?Z{GrauEDfZ?yFtuAGan~eYf_LW{GcXxl_;i8Wge}cX=jULX}5Y%0F&2(j; zh<@gI5>Z0lgEz1 z2dvKSJkLRCYJg=9&%E(Q=9{UJk?mx;LTyba#f6%*_uK1*IzmhL-8HqYy(chQ6RzWE z>%|_H;5cDngmZ$!;raqFpSsx&n3g!(J<~KV=7B?in0w63Tv6fp``!9L#w=ouOb9#U zIOlmF<&G_`x6!NG><7O5_GC1--O&A;Z6o>d;dFu`TwF`1=#m&N{P9X#TN`-zXn;Ul zcM#amC}`fu)IdBAJz`_Cr0}!5f$kGgq0d!(7iRA3 z*Oqy2y#A%4*FOgh!r@OXKlwM6K!2-qS!%9D%nRLgXEHNe~CXy$AR5OLmr(f(x$+dIppMtBS00Wn3IajD(|45{+*Y5_k z^=zFKRYJG`6s&Strbhb?2684BnNv{=0i31Io^qVardW1HyaK@5y+*7A%NNx=1+5gG zjh}&cC48~r^|Hw=aq987$FH~Ftaun2Uw$d|`}Z4#6cIK6z*t>o6t6RI8uW(|aWyk_ zu|5dUMo38lr<3fiHaF{UHWCW^xLit9N7t;|y65-=qy+d+s^_$9VKYSCGlHH*KWlzq9?t)NWm?|ds+?zd1RS!;k{VC};+yu`NitJ+n(*^i%uEPg=;N&XK$nis@!GXpJ6B67 zX%`%e?am%;u}Vb#)0sxbg1*?Pj>d}hLpa+yNheE?siRr4HNcxk1$BV_T{59{7rnpw zQ}A$8x|+LPq>H7`vSy;1y#X=q>j$N$tW@T~78c73Ie_&QKHiU7jcow85 z@KN~8>)8Az+xK1Cfj}~I6eUSIJTKTCAmPPbldg4y5uBmEECNr$t+|#@8FW?;X26wai<#_VBZc;?M-c||LQJDkmT>_#pd zH#b0?-Dh2sJa^Y?XBXzRUu**&^#*VyAz*hLo)X10IJJ^uE%+_8yKRP9T2}74yYI9< zS?)`(->Dn?ROY-hlTlv2*-9>1qCW!SC9|Ff0>JZgaCcu37?+Pq_>ennJy~wO+9T}l zeyu$HbR0sr!kGQ#5-j1hv?AG!KJt(Vd;0Egy92E4H;| zTaH;p$VG%YAe)!FD8xFXVS8=ZayPeRSUiE%X=BKKdkSfxd!1~n=5xnRRFsPSV-2`M z$#~!?daUT6)X-O)_0=JI91o&S?-XV^04m4o{CJwFD}{Fdk?<=MlQDaP22NTO?>>k_ zEFn0~+d*Ik4mKY~Z8k0rc*MePvSXhFx-gZOJy;}So{qPS$@EG>c6ea`Q%6_f+P6sC z&>4)~2#?_8Q%y|}yrAIzX*MoIA@ls|9}5>imfNyY+)>uzA@o z!=u|$Z$<-$%L(F?dE^(Nt zFZXOToT>tidDPiuiI`y#N?Rsml@NdD^OLCwd+eLh<9@c!+lAwf-ny2xe{z1Xg;yf5 zn^Ct&66bI)v}6`n=sb-SHS+aJ#I#BuY0tYl)CWLr)#J*`9r39jgOLR~xRLsdQL46y z`pod?=xncRn>~6*Fs519ljRyFlpJboM36Q3Ox-xiOi{$iEO*pm`8#2~`>&x~B_(0* zta$nwEl$vgsy>8?T;gN|NjwS($#b2t_syGRU}ilzMNfiB2>Ni;IRzp&a@aulN5{mZ z?_@7)8F`orWkei}kr+)pknnultJjy8S3R7Id>kK_lmtT;jRz)5?B*yodLD13ff&v! znqwQp3T?l48kj^?b#)$7m8|n#*l0l5?BbsQG<7@%sqjrkTkmWkAnp991ZvbL+=rCg zk?ri~X#l}8aaT+onuX>F{XorV1=8fL4CB27ESKx(=uYD!01(?LjygAR=iubrkBMKA za`?Iw;EC}4*cPN7AOIlF-i5E78vF9&q(9Rf6Y=xZ#w)mtfSsW4e~UVN4P#g$V$M@f z_fgn1=#Db(Qy8*2TDzb0A(pfXuzCh8F$~qJ`IVqithctUB+k~eOpW+g16vvW7` z5E?=F@q`uQww{q|(sN=1{G}?mW-&*V4%c*==e{%oCfgLU#Cd+dgsM`5wl^^6LjZ!g ztYU~EJcZ==YuDX=eOyGh8{yiz^P82^3n~AR<3=_$s`sIGsA^8Yn8JURU3^QwZo-aW7QbWJ3vdPr!Wg31m*Po>s*5EqoaH3r>b6_PdS6eeT zosFH*#5vE}%-%B!?#Tqd7S9FlkjzD%IMEWGT1OyZmA1(#StKOpG zEP`T&_r;?yF+vPRliE9*QB_X;vlab2T&_3W+Q$pEF&j$tafO%2X?UMK${6mKdGCHO$RC-sNs z8=?K(v9NB+75BH^_1;ILoVb7wVB5Hgn31Y;#q1HYa~-PEs~kl9_WdBzVUJypCRV&! zzN=Ctz#L^)M8vLbUO34|4^ar~DL)Vwmj$#Q?nb9A5aH0PwVQNbOW`x>6b8J~SUO$c zL?k5t8CF6@>S|{0bv|qGI1YH6^QNe3ozmqlTV@z4F)I+z7d0I39`>y(`i^#_OdOPD)U&FkrCF^wM(r&3o z+xosP4-fjD>Csl8=8NMa9wQy1TXo^5z+O>0w^{w9UW2sZSS9}=-5ORF7ki;(-m`8_ z58TR{ZrEdfP50ib59PlYA|$R-!`dc5{&|h;23pC-@wHe8*-*3c~(jW)?%g^1jh2&H#eE+xC5$ z@kjj}#kFt3Iv=lPg-fgn$LLR0aj1hV#ezR;rA}{#tVp3&*%V(?yyin>RiCKs$MNEn zu@cE&xLs0RV1~w%W^$Q;O;spPJ1ad4!%#O_%j#j?kfE+^W&*ChVN9QKW(m2}f-A#029R z9^2c~lRrBru5Z#*S29(2a?;VfSnf*~^T;PGiHC#EUU77NIxC#7q)?jVbbJ0E(pz)L z4$+dgDF`L6Fo!0 zW4`2bd+S;KC<2Qv@#J%8LzmH0zPVQNdFOPxf=m5}<#z0>(ZP*}L%~K2`1y11>Vkr) zVS%zdVYj1!wb*MG6_cEhB+k7qFO|&HFvzKB!F5bu#5E=DXpjZE;XnXTPViaXDsp$w z063-_IDR+7DeT!C5$?Jp%N9&bY25mY=Q!3$3fwZ(Yx&je z{%pMMSq7#&7w=19(d=RKWoCvDE^)g5iv&}*5{DP(3fQLbJXxp*%@ODl4y1kEBpjNW zn)b7}Wxx6=9WT1%np_wISz})_6|ie80{mxQK==D-&akdJpBbU(*yjL$M=FYimzcOa zI3&He%V*-L34%F8)4I_1F^Jv$pkMz+;Cy0Y+k)enzkk{#UwWYkTvIoa4^bIqIuPX3w5 zVTN}{MlSF^bXQEDZSsoeRUWQ6kfzqxg6J-)g(ENeZsmq0>Zo?I0Djjoyk;mbX>j(reEc_5pQch7syDI^dwO0 z^S_=WB^Q(+o?K-RZSQK71fFAzvF_wk>iq#JS7=bbLdLIpzGaU1QN^mMMmBYQ{YLBQ zzNw^KQNb#mC#*u=0P|~l&Utm4LP_jtfJN2R$K6P{o!SzR;B#x?6pM0MMD*#aP zV0iAEBk#&za-D}pvnWJhN^*aSne^E8pVAB3jDYmuSango91d(IWz!7%ZNaN=yk9I^ zGyvDi;f#KY8v~*!YPiw(m`ZK_7(HbNSip?>qmJnsTUM;t%|D02#JgHtD{MLmGI{JM z$jmQaeAivXRUu*bcmR)smzH+g)Q~fXxPfSPxeWz1HGU&^zB7~yA$)%l*v}4 zi>+zsT8op9Rc0M9;|C=OG&GWd(ae&S0`bH!Ed3yRR{6|0AB;$3J~e=yHHz-k zE{tlXffN)c7Z()xW#JXcz+)&`WtSB-?M;NXQO0-k)7`)S2W{!LmJ%*LTnI@!T+hOG z>C1ue81QXnstNn3PukZB{V>M(3LgDBmDM%ip>8AA44~*Da@+dtI-Vvs&605*-D(vZ z#m>Na*f}5Wlh}$x!n|19T2A^fNXy(h%rH6<;wjl3xY|Y@o0{t0;;6BrySp6CW8jUe zT}y?IIIb+m#59712rZN&j-?QCJPvxvcNz|45O}F#aZnwbWb1t>_7B#+lQk-o$@`=Y zWI7sft1zRHc?91|tmd4=Hp2!}PD8`uMlR$cfdPE>BrrjcfrQOlpv}S`pXn8w_}nxi zGP>b6mNm`O`DiqroOVQsSXHcZWQyIfjN##6W&x4gj-|ORrX~@=g`?(%oKzdY9)8 znr&V5iFcXi4R%(A&IzwB@^B3t6itOepyf2Vm#6?0f_x=EmoW;h&0?zT_!fEl_#D@d zCatACw(k`G`@%EYZArRv(G79@#E>OBvu|EHG0`!`%K0p{Y?=~DSU@{4U>a(V0q2p^N?4s0yj^DX=FjOO)@evkK@UJgM(m@DjY4+ zU31ya1UdQ5!aY335`2>vsZ6L$1r(dQmUfQy!ipy(K~GB{S1yIhdABtZPoW?=Eg>Oc zY`oGTNnK`7O7B)ZlX?)+@%v4e!hv?h>J5HPfB&|H1w#bF{YtNjmX?;GA#-x)Ltp#t z{MinX4m#HS7mR|R5Jb?N2C*0<2k~;QvqRcFD7xD0L-EX<5hnOvqc zhrgKsKpC#@-n>#fz*bX0hJCJ+lxgW{-stsvpMCT8?OnYqv>=fHbJ>u(0>6D4-8iw3QPA7X zRquS|ND~t*U8GeeL!1bIU_ZCVT7R;5x87xYvc5*qE8$Xez7uaF`4!TLv@|A=@fb*c z^Tto$#G~QTz#C4DwmR5hsN0RVh`g$#BMse@J{6Oz8~-ch1{?V>^{Xl?mCCMNJIfuh zwVhRjha0C%xvWPI_la{`w(R)&>mNNGz{=g{@$qqqiJiA^Phq74XjbfYhx{I+#D`PH zVzHV`rih4$ygW`?ZWbaVBPuIR4ZEB&05qx63f1PF`rZj<(HP{S$|~!0jVQHREjN$^ z4xus_LhCqbj~-oLef6nf!v^i$oAKqBKR6uj0Q}fv_eMsB&zZ9@IeFKB0eyS+?7Dop zyYs-bw5;B}6EC~$qH*I!?%bJL$BTdZ`UaUyr2@cdBL4=<%Uge$B_P1xX0sBNaVp8Q ztWqgMLPDymt6hy)FF-xX-DGXrM3_ufp34paKr9X1-l6L6Rax`_E zT%%EIwVJZBQ*k+u=Eh(Mtg0$Mvb`Qv<)K3dZrYUm&O4vV-+NDsUa#xYrQ`qo-@6+& zY!dF%u}c2^@4Mt$w%P2m?ELuSFX?pJ`|rPH$dGfkZQCUPpn0%ZELyF$_NxpyHDorE zpS`wiBg@Ll$!VvB+)Wl37?77&Ks^~iGq*QeQ(3Jzr>9x1YRKMIt4*U$=v;E&xo0u}XeKHvD}8)?1aQj9 z9WL9d-ifWsv*Hs2iuQTMj%A%%IAD7F;L9jUOYO|aiXf$etf>LuMaJif^ z8@qQw9M}^f0HB4_s9kNs?DFQTcWJdQoyL7&w#BBfS`{Xli_CO? z4WJn+C@AdMv3*5FB^@l`^pYt~-Z1bqfIWxNtaBC~O;W z?$vQBA35?tm>w4j#bk2u@=Ewj1kjZ> zH#ZWAMEJdm004T@*jP41^5*7d#2%epfF0br_3PQQUz|TbJ2mxwm?GEf^<&3Ax_tTj z@Yc-CS4WS2I6uF5_3AfkYmW{cdiTneA0mLR)M~X?R#p!mo@_K4;p|=n0MJWDMuvxm zh8{dvc0byG>Nu6Rwh9+6e0%21=QnTua^uF&laudVyf~LirFM39jvt@CcJ0U8w||?S zo;q>j<4c#mE0-$~K(`8!{P5vgsO5oyfkL4e0RZ%dY<4u0$%IaJ>Gl8VIF*BY_x=dW z)AfagrBdnf+}up1Qq5%2ckcWiHr~BEAC?H9>+SB=78jQ$CMFIZ%;ociX0sUq0PJ7= z{r%(PW35(uY3aTrpBLy)r^lmLv#@YKmm3Q!*RTJyy82i23No3|O2uFY-k9(mER{B* z9@B2Oi^XCh@y`>alF7k(z2WpK0I>fglgVuMKsKA*+RCr5ue-BngwIcxl-bQ_WePIj`q*6nvRI1%h zgz>=Y>Yw4*CLH`kywGb%Wq|!5>^3%@7#^+w000mpl>q<%AVw+! z002OYR0aS5fEcL^0000nQW*dM0Ai#v0002QNM!&30Em&w0000GBb5OF03haX00030 m|J*rfIRF3v21!IgR09C!jJx}Q2g`{70000 Date: Mon, 4 May 2026 18:37:52 +0000 Subject: [PATCH 6/6] =?UTF-8?q?chore(release):=20stamp=20v0.50.295=20?= =?UTF-8?q?=E2=80=94=203-PR=20batch=20+=20Opus=20pass?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Constituent PRs: #1637 by @Michaelyklam — protect raw pre from glued-bold lift (closes #1451) #1639 by @bergeouss — macOS auto-scroll race + custom:* provider list (closes #1360, #1619) #1642 by @nesquena-hermes — YAML/JSON/diff code block newlines (closes #1618, #1463) Opus advisor SHIP verdict on stage-295. One observation absorbed: - api/config.py:2533 dead-code comment per Opus (defensive belt-and-braces for #1619 fallback; load-bearing fix is in routes.py /api/models/live) PR #1641 (Michaelyklam parallel-discovery duplicate of #1642) closed as superseded; UI media adopted with co-author trailer. 4245 → 4255 tests passing (+10). --- CHANGELOG.md | 34 ++++++++++++++++++++++++---------- ROADMAP.md | 2 +- TESTING.md | 4 ++-- api/config.py | 9 +++++++++ 4 files changed, 36 insertions(+), 13 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b818f0db..73a7373a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,25 +2,39 @@ ## [v0.50.295] — 2026-05-04 -### Fixed (1 PR — closes #1618 / #1463) +### Fixed (3 PRs — closes #1360, #1451, #1463, #1618, #1619) -- **YAML, JSON, and diff/patch fenced code blocks now render multi-line, not collapsed to a single line** (closes #1618 / #1463, reported by @Zixim) — PR #484 (v0.50.237) introduced a JSON/YAML tree-viewer that routes `lang === 'json'` and `lang === 'yaml'` blocks through `

` instead of bare `
`. Same release added the diff/patch coloring path that emits `
`. The `_pre_stash` regex at `static/ui.js:1914` matched only literal `
` (no attributes): `
[\s\S]*?<\/pre>`. Both new shapes failed to match, fell through to the paragraph-wrap pass, and `\n` characters inside the code blocks got replaced with `
` tags inside ``. By the time Prism ran, there were no newlines left for it to highlight against. PR #1516 (v0.50.279) had attempted a CSS-only fix on Prism's token white-space — that rule is in `style.css` and reaches the browser, but it was the wrong layer: the rule preserves newlines inside `.token` spans, but the spans were built from a string that had no newlines left. **Fix:** relax the `_pre_stash` regex to accept any attribute on `
` (`
` → `]*>`). One regex character. Pulls JSON, YAML, AND diff/patch blocks into the stash so paragraph-wrap can't mangle them. Bash, Python, Go, etc. were never affected because they emit bare `
` and matched the existing regex. Reporter @Zixim noted the bug persisted from v0.50.279 → v0.50.291 → v0.50.292 despite the previous "fix"; this lands the actual fix at the actual layer.
+- **YAML, JSON, and diff/patch fenced code blocks now render multi-line, not collapsed to a single line** (#1642 by @nesquena-hermes, closes #1618 / #1463, reported by @Zixim) — PR #484 (v0.50.237) introduced a JSON/YAML tree-viewer that routes `lang === 'json'` and `lang === 'yaml'` blocks through `
` instead of bare `
`. Same release added the diff/patch coloring path that emits `
`. The `_pre_stash` regex at `static/ui.js:1914` matched only literal `
` (no attributes): `
[\s\S]*?<\/pre>`. Both new shapes failed to match, fell through to the paragraph-wrap pass, and `\n` characters inside the code blocks got replaced with `
` tags inside ``. By the time Prism ran, there were no newlines left for it to highlight against. PR #1516 (v0.50.279) had attempted a CSS-only fix on Prism's token white-space — that rule is in `style.css` and reaches the browser, but it was the wrong layer: the rule preserves newlines inside `.token` spans, but the spans were built from a string that had no newlines left. **Fix:** relax the `_pre_stash` regex to accept any attribute on `
` (`
` → `]*>`). One regex character. Pulls JSON, YAML, AND diff/patch blocks into the stash so paragraph-wrap can't mangle them. Bash, Python, Go, etc. were never affected because they emit bare `
` and matched the existing regex. Reporter @Zixim noted the bug persisted from v0.50.279 → v0.50.291 → v0.50.292 despite the previous "fix"; this lands the actual fix at the actual layer.
+
+  > **Parallel-discovery attribution:** @Michaelyklam independently filed PR #1641 with the exact same one-character regex relax (filed 4 minutes before #1642). #1641 was closed as superseded by #1642 (which carries nesquena APPROVED + 322 LOC test suite covering YAML+JSON+diff vs #1641's YAML-only); the UI before/after PNGs from #1641 were adopted into stage-295 with a `Co-authored-by: Michael Lam` trailer on the docs commit so Michael's visual evidence ships in-tree alongside the canonical fix.
 
   > **Note on the previous diagnosis:** the maintainer comment on #1618 asserting the fix had landed was based on `git show v0.50.291:static/style.css` confirming the CSS rule's presence — but a presence check on a rule is not a behavioral check that the rule does anything useful. Live-rendering YAML through `renderMd()` in the browser was the test that decided whether the maintainer reply or the user was correct. Apologies to @Zixim for the wrong call. Class of bug now documented in `webui-rendermd-pipeline` skill § Bug 10.
 
+- **macOS WKWebView trackpad scroll no longer overrides user position during streaming** (#1639 by @bergeouss, closes #1360) — during streaming, scrolling up on a macOS trackpad caused the viewport to snap back to the bottom because the `_programmaticScroll setTimeout(0)` guard raced with WKWebView momentum scrolling. Mid-momentum scroll events either got swallowed (`_programmaticScroll` still True from the most recent programmatic scroll) or falsely reported nearBottom (momentum hadn't settled), keeping `_scrollPinned=true`. **Fix:** rAF-debounce the scroll listener so the nearBottom check fires on the next paint frame when the browser's scroll position has settled, plus a hysteresis counter requiring two consecutive near-bottom samples before re-pinning to prevent accidental re-pin during initial deceleration.
+
+- **Custom:* providers now show all models in the dropdown** (#1639 by @bergeouss, closes #1619) — using a `custom:*` provider via `custom_providers` in `config.yaml`, the model dropdown was only showing the default model. Two parts: (1) the dedup logic in `api/config.py` ate all named-group models when they overlapped with auto-detected ones and the `continue` silently dropped auto-detected models; (2) the live enrichment endpoint at `api/routes.py:/api/models/live` only handled bare `custom`, not `custom:*` slugs. **Fix:** broadened `/api/models/live` to handle `custom:*` slugs (load-bearing fix), plus defensive belt-and-braces in `api/config.py` to fall back to auto-detected models if all named-group models were deduped (Opus advisor on stage-295 verified the latter is unreachable under current population logic but kept for future-proofing).
+
+- **Glued-bold-heading lift no longer mangles raw `
` HTML** (#1637 by @Michaelyklam, closes #1451) — `renderMd()` already stashed raw `
` blocks before converting safe HTML tags, but restored them BEFORE the glued-bold-heading lift from #1446/#1449 ran. That left literal raw `
` content visible to later markdown rewrites whenever it contained `Para text.**Heading**\n\nNext`-style text — the lift would insert `\n\n` inside the literal preformatted content, mangling it. **Fix:** delayed `rawPreStash` restore until AFTER markdown/link rewrites and BEFORE HTML sanitization. Existing placeholder pattern already protects fenced blocks; raw `
` HTML now behaves like fenced code for this edge case. Test pins both sides: raw `
` is preserved AND regular glued headings outside preformatted blocks still lift correctly.
+
 ### Tests
 
-4245 → **4254 passing** (+9 regression tests on `tests/test_issue1618_yaml_json_diff_newline_preserve.py`). 0 regressions. Full suite in ~115s.
-
-- **2 source-string tests** pin the regex shape (`]*>`) and structural integrity of the surrounding `_pre_stash` block.
-- **7 behavioral tests** drive the actual `static/ui.js` `renderMd()` via a node-driver and assert that YAML, JSON, diff, yml-alias (sanity), bash (sanity), mermaid (sanity), and a multi-line YAML scenario all preserve their `\n` characters in the rendered `
` inner content. Six of these tests fail on master without the fix and pass with it — the sanity checks (yml/bash/mermaid) pass on both because their code paths emit bare `
` or `
` and were never affected. -- Plus widened the source-scan window in 3 pre-existing `tests/test_745_code_block_newlines.py` assertions from 400 to 1500 chars (the new comment block above the fixed regex pushed the regex past the previous scan window — `pytest-pitfalls` § D documents this exact pattern). +4245 → **4255 passing** (+10 regression tests across `tests/test_issue1618_yaml_json_diff_newline_preserve.py` (9), `tests/test_issue1446_glued_heading_lift.py::test_real_renderer_protects_raw_pre_html` (1); plus `tests/test_issue677.py` widened search window for #1639's rAF-debounce; plus `tests/test_745_code_block_newlines.py` widened source-scan windows from 400 to 1500 chars). 0 regressions. Full suite ~120s. ### Pre-release verification -- Self-built fix (nesquena-hermes), pending Opus advisor pre-merge pass and independent review APPROVED by nesquena. -- **Verified the bug reproduces on master**: the 6 behavioral tests fail on `origin/master` (304a422) with the literal-`
`-only regex, then pass after the one-character relax. The 3 sanity checks (yml/bash/mermaid) pass on both — confirming the fix doesn't break unaffected paths.
-- **Live browser render** confirms the rendered YAML now multi-lines correctly with `\n` characters in `` textContent (was `'foo:  bar: 1  baz:    - 2    - 3'` pre-fix, now `'foo:\n  bar: 1\n  baz:\n    - 2\n    - 3'` post-fix).
+- **Opus advisor on stage-295 combined diff: SHIP verdict.** All 6 verification questions cleared. `static/ui.js` overlap between #1637 (rawPreStash, R-token), #1639 (scroll listener), and #1642 (_pre_stash, E-token) verified non-overlapping with separate token namespaces and correct ordering. #1637's relocated restore (line 1668 → 1799) traced through every intermediate rewrite pass — placeholder `\x00R{N}\x00` has no syntactic characters that match. #1642 nested-`
` non-greedy behavior verified identical to existing `rawPreStash` regex (no regression). #1639 hysteresis correct shape (count≥2 to re-pin). One non-blocking `api/config.py` defensive-dead-code observation absorbed via comment per Opus.
+- **#1642 has nesquena APPROVED** with comprehensive end-to-end behavioral trace.
+- **JS syntax**: `static/ui.js` clean.
+- **Browser API sanity**: 11/11 endpoints OK on stage server.
+- **Conflict resolution**: clean auto-merge across 3 PRs (rebased #1637 + #1639 onto current master from 9-commits-behind base).
+
+### Authors
+
+- @nesquena-hermes — 1 PR (#1642, with co-author trailer for @Michaelyklam's UI media adoption)
+- @Michaelyklam — 1 PR (#1637)
+- @bergeouss — 1 PR (#1639, AI-assisted via Hermes Agent)
+
+Closes #1360, #1451, #1463, #1618, #1619 (5 issues).
 
 ## [v0.50.294] — 2026-05-04
 
diff --git a/ROADMAP.md b/ROADMAP.md
index f60c49ac..4696cf53 100644
--- a/ROADMAP.md
+++ b/ROADMAP.md
@@ -2,7 +2,7 @@
 
 > Web companion to the Hermes Agent CLI. Same workflows, browser-native.
 >
-> Last updated: v0.50.294 (May 04, 2026) — 4245 tests collected
+> Last updated: v0.50.295 (May 04, 2026) — 4255 tests collected
 > Test source: `pytest tests/ --collect-only -q`
 > Per-version detail: see [CHANGELOG.md](./CHANGELOG.md)
 
diff --git a/TESTING.md b/TESTING.md
index aea0981a..ab0cbb1d 100644
--- a/TESTING.md
+++ b/TESTING.md
@@ -1835,8 +1835,8 @@ Bridged CLI sessions:
 
 ---
 
-*Last updated: v0.50.294, May 04, 2026*
-*Total automated tests collected: 4245*
+*Last updated: v0.50.295, May 04, 2026*
+*Total automated tests collected: 4255*
 *Regression gate: tests/test_regressions.py*
 *Run: pytest tests/ -v --timeout=60*
 *Source: /*
diff --git a/api/config.py b/api/config.py
index fc7bf07c..adb4670a 100644
--- a/api/config.py
+++ b/api/config.py
@@ -2527,6 +2527,15 @@ def get_available_models() -> dict:
                     # If all named-group models were deduped (already auto-detected
                     # from base_url /v1/models), fall back to auto-detected models
                     # instead of silently dropping the group (issue #1619).
+                    #
+                    # Per Opus advisor on stage-295: the load-bearing fix for the
+                    # reporter's symptom is the api/routes.py:/api/models/live
+                    # broadening to handle custom:* slugs. This block is defensive
+                    # belt-and-braces — under current _named_custom_groups
+                    # population logic (atomic add+append inside the same dedup
+                    # guard at line ~2640), an empty list shouldn't reach here.
+                    # Kept for future-proofing in case the population logic
+                    # changes (e.g. supporting model-less custom_providers entries).
                     if not _nc_models:
                         _nc_models = auto_detected_models_by_provider.get(pid, [])
                     if _nc_models: