Release GL — v0.51.218 (fix getModelLabel mangling URI-scheme model IDs, #3429 regression) - #3438
Merged
Merged
Conversation
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}.
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)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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
getModelLabel()no longer mangles URI-scheme model IDs. fix: model picker snaps to wrong model with multi-slash IDs (#3360) #3366 changed the function to strip only the first/-segment (fixing Bug: Model picker snaps to wrong model when multiple multi-slash IDs share the same base name #3360 multi-slash proxy IDs), which regressed URI-scheme IDs like Yandexgpt://${FOLDER}/deepseek-v4-flash/latest—indexOf('/')landed inside the://and left/${FOLDER}/…env-var path junk in the composer model chip. The label now detects ascheme://id, drops scheme + authority, and takes the last meaningful path segment (skipping${…}placeholders and bare version tails likelatest/v4); non-URI multi-slash IDs keep their Bug: Model picker snaps to wrong model when multiple multi-slash IDs share the same base name #3360 behavior. Closes Regression (#3366): getModelLabel breaks gpt:// model IDs (shows /${YANDEX_FOLDER_ID}/...) #3429.Two MUST-FIX rounds applied during the gate
The Codex regression gate caught (and I fixed inline) two edge classes in the first cut:
gpt://folder123/v4/.../latestreturned the folder, and2026-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.gpt://folder123returned 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
2026-modeldigit-leading, single-segmentv4/latest, degenerategpt://folder123+${MODEL}, and the Bug: Model picker snaps to wrong model when multiple multi-slash IDs share the same base name #3360 non-URI non-regression