A page that could not save, and said nothing
The model page has been unable to save anything below the reasoning efforts since 1.3.0. "Save changes" did nothing at all, so the description, the system prompt, every capability and tool switch and the whole availability card silently would not take -- while the fields above it saved normally, which is what made the page look as though it worked. "Detect from the endpoint" had stopped detecting too: it submitted the page as an ordinary save carrying only the top half of the form, so every field below took its empty default. Pressing it would have cleared that model's description and system prompt and switched the model off with all of its tools disabled. One HTML rule causes both. A form inside another form is not allowed, and rather than complaining a browser discards the inner start tag and lets the matching end tag close the *outer* form -- so from that point down the page was in no form, and a button in no form does nothing. The detect form is now declared before the main one and the button reaches it by id. Nothing in the markup reads wrong, and no test that posts to a route can see this, because such a test supplies the fields itself. tests/test_form_structure.py reads every template the way a browser parses it instead, including that rule, and was checked against the old markup before being trusted: it reports the same orphaned "Save changes" that headless Chromium did. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -16,6 +16,29 @@ for 1.0.0 have something to be assembled from.
|
||||
|
||||
## Unreleased
|
||||
|
||||
## 1.3.2
|
||||
|
||||
- Fixed: **the model page could not save anything below the reasoning efforts**,
|
||||
and had not been able to since 1.3.0. "Save changes" did nothing at all — not
|
||||
slowly, not with an error, simply nothing — so the description, the system
|
||||
prompt, every capability and tool switch, and the whole availability card
|
||||
(enabled, pinned, available to everyone, groups) silently would not take. The
|
||||
fields above it, including the display name and the reasoning efforts, saved
|
||||
normally, which is what made it look like it worked.
|
||||
|
||||
Worse, the **Detect from the endpoint** button had stopped detecting. It
|
||||
submitted the page as an ordinary save instead — a save carrying only the top
|
||||
half of the form, so everything below took its empty default: it would have
|
||||
cleared that model's description and system prompt and switched the model off
|
||||
with all of its tools disabled. If you pressed it, check that model's page.
|
||||
|
||||
The cause was one HTML rule: a form inside another form is not allowed, and
|
||||
rather than complaining, a browser discards the inner tag and lets the closing
|
||||
tag end the *outer* form. Everything after that point was in no form, and a
|
||||
button in no form does nothing. Nothing in the markup looks wrong, and no test
|
||||
that posts to a route can see it — so the fix comes with one that reads every
|
||||
page the way a browser parses it.
|
||||
|
||||
## 1.3.1
|
||||
|
||||
- Fixed: **updating to 1.2.0 or later broke every page that lists models**, with
|
||||
|
||||
Reference in New Issue
Block a user