Bug
Three settings save issues found:
-
`sl_trust_mode` silently not saved — `settings.html:459` has the select dropdown, but the POST handler in app.py never reads `request.form.get('sl_trust_mode')`. Changes are silently discarded. The setting IS used at `layer_api.py:88`.
-
`enable_isbn_lookup` silently not saved — `settings.html:343` has the checkbox, but it's never read by the POST handler. Used at `app.py:2232`.
-
Duplicate `google_books_api_key` field — `settings.html:829` (Engine tab) and `settings.html:959` (Pipeline tab) both have `name="google_books_api_key"`. On POST, the browser sends the last value, silently overwriting edits made on the Engine tab.
Fix
- Add `config['sl_trust_mode'] = request.form.get('sl_trust_mode', 'full')` to the settings POST handler
- Add `config['enable_isbn_lookup'] = request.form.get('enable_isbn_lookup') == 'on'` to the POST handler
- Remove the duplicate field at settings.html:959 (or whichever is the redundant one)
Severity
High — settings appear to save but changes are silently lost.
Found via UI flow audit.
Bug
Three settings save issues found:
`sl_trust_mode` silently not saved — `settings.html:459` has the select dropdown, but the POST handler in app.py never reads `request.form.get('sl_trust_mode')`. Changes are silently discarded. The setting IS used at `layer_api.py:88`.
`enable_isbn_lookup` silently not saved — `settings.html:343` has the checkbox, but it's never read by the POST handler. Used at `app.py:2232`.
Duplicate `google_books_api_key` field — `settings.html:829` (Engine tab) and `settings.html:959` (Pipeline tab) both have `name="google_books_api_key"`. On POST, the browser sends the last value, silently overwriting edits made on the Engine tab.
Fix
Severity
High — settings appear to save but changes are silently lost.
Found via UI flow audit.