Skip to content

scan explorer bugs - #18

Merged
femalves merged 7 commits into
masterfrom
qa/scan-explorer-bugs
Sep 22, 2026
Merged

femalves merged 7 commits into
masterfrom
qa/scan-explorer-bugs

Conversation

@femalves

Copy link
Copy Markdown
Contributor

No description provided.

Every canvas carried a link hardcoded to ui.adsabs.harvard.edu, so the SciX
viewer sent readers to ADS and QA sent them to production. A relative href
resolves against whatever host the reader is on. The bibcode is escaped
because the manifest is a public document and must not carry live markup.
A query of only stop words is analysed away to nothing, so every page matched
with no highlight to show, and building an annotation with empty text raised.
Hits with nothing to highlight are now skipped, so the search returns no
results instead of an error page.
A negative limit or a page past the searchable window reached OpenSearch and
came back as 503 'Search service temporarily unavailable', which says we are
broken when the request was simply wrong. The window guard applies only to
page search: article and collection search aggregate, so deep pages are
harmless there and must not be capped. pageCount no longer advertises a page
the guard would reject.
A collection PUT cleared only the volume's own cached manifest, so every
article inside it kept showing the old page list for up to 24 hours. Articles
dropped from the volume are removed from the database but their manifests
stayed cached, so the ids present before the overwrite are collected too.
Deletes are batched per scope rather than issued one key at a time.
put_collection invalidated its manifests but put_article and put_page did not,
so a change to one page's label or dimensions left the volume manifest and
every article containing that page stale for up to 24 hours.
A database error returned 400 with the raw exception text, which told the
caller their request was bad, put the internal database hostname in the
response, and hid the outage from alerting because nothing watches for 4xx.
NotFoundError and the auth exceptions are TransportError subclasses, so a
renamed index or a bad credential also read as 'search is down' forever.
One mapping now serves all five handlers: the caller's query is 400, an
unreachable backend is 503, our own misconfiguration is 500, and the detail
goes to the log rather than the response.
@femalves femalves changed the title Qa/scan explorer bugs scan explorer bugs Sep 22, 2026
@femalves
femalves merged commit eb3b22d into master Sep 22, 2026
1 check passed
@femalves
femalves deleted the qa/scan-explorer-bugs branch September 22, 2026 18:30
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.

1 participant