Skip to content

Release GL — v0.51.218 (fix getModelLabel mangling URI-scheme model IDs, #3429 regression) - #3438

Merged
nesquena-hermes merged 4 commits into
masterfrom
release/stage-p3a
Jun 2, 2026
Merged

nesquena-hermes merged 4 commits into
masterfrom
release/stage-p3a

Conversation

@nesquena-hermes

Copy link
Copy Markdown
Collaborator

Release GL — v0.51.218 (stage-p3a)

A high-impact regression fix — no new UI/UX surface. This corrects a bug we shipped in #3366 (v0.51.210).

PR in this release

Two MUST-FIX rounds applied during the gate

The Codex regression gate caught (and I fixed inline) two edge classes in the first cut:

  1. The candidate segment list included the URI authority, so gpt://folder123/v4 / .../latest returned the folder, and 2026-model (a digit-leading real model name) was mistaken for a version tail and dropped. Fixed: build path from after the authority; tightened the version-tail regex to pure version tokens only.
  2. Degenerate URIs still leaked — gpt://folder123 returned the authority, gpt://folder123/${MODEL} returned the placeholder. Fixed: removed the authority fallback and guarded the literal-last-path fallback against placeholders; a URI with no usable model segment falls back to the raw id.

Opus independently flagged the same authority edge; both are resolved.

Verification

nesquena-hermes added 4 commits June 2, 2026 20:36
…gression from #3366)

#3366 changed getModelLabel() to strip only the first /-segment (fixing #3360
multi-slash proxy IDs). That regressed URI-scheme IDs like Yandex
gpt://${FOLDER}/deepseek-v4-flash/latest — indexOf('/') lands inside the ://
and leaves /${FOLDER}/... path junk in the composer model chip. Detect a
scheme:// id, drop scheme+authority, and take the last meaningful path segment
(skipping ${...} env-var placeholders and bare version tails like latest).
Non-URI multi-slash IDs keep the #3360 first-segment-strip behavior unchanged.
Node-driven regression test covers the URI case + the #3360 non-regression.
…ames (Codex MUST-FIX)

Codex gate found two edges in the first cut: (1) the candidate segment list
included the URI authority, so gpt://folder123/v4 and .../latest returned the
folder; (2) _isVersionTail matched any digit-leading segment, dropping a real
model named 2026-model. Fix: build path segments from AFTER the authority only;
tighten the version-tail regex to pure version tokens (latest/stable/v4/1.2),
not mixed names; fall back to last-usable (non-placeholder) path segment so the
authority is never returned. Added edge-case regression tests.
…(Codex MUST-FIX)

Codex re-check: degenerate URIs still leaked — gpt://folder123 returned the
authority, gpt://folder123/${MODEL} returned the placeholder. Removed the _all[0]
authority fallback and guarded the literal-last-path fallback against placeholders;
a URI with no usable model segment now falls back to the raw id. Added regression
cases for gpt://folder123 and gpt://folder123/${MODEL}.
@nesquena-hermes
nesquena-hermes merged commit f7087a3 into master Jun 2, 2026
11 checks passed
@nesquena-hermes
nesquena-hermes deleted the release/stage-p3a branch June 2, 2026 20:56
SysAdminDoc pushed a commit to SysAdminDoc/hermes-webui that referenced this pull request Jun 26, 2026
Release GL — v0.51.218 (fix getModelLabel mangling URI-scheme model IDs, nesquena#3429 regression)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Regression (#3366): getModelLabel breaks gpt:// model IDs (shows /${YANDEX_FOLDER_ID}/...)

1 participant