fix(shipwrecks): the page expires each source's wrecks by its own clock, from the age the proxy reports

The page compared the proxy's fetchedAt with its own clock, so a skewed
browser clock cleared or kept wrecks wrongly; a snapshot without a timestamp
never expired; and one old source cleared the other's fresh wrecks. The proxy
now reports each source's age on its own clock and its seven-day limit; the
page turns them into per-source deadlines when the snapshot arrives (seven
days from arrival when no age is given) and, on a failed refresh, removes only
the sources past theirs. A refused short refresh is logged.
This commit is contained in:
Sameh Khamis committed 2026-11-10 13:38:31 -08:00
1 parent 6e4dd6299e
commit 7704de5075
6 files changed
+119 -8

No files matched your search

+3 -2
View File
@@ -164,8 +164,9 @@ one that failed is asked again after 15 minutes. Each source keeps its own last
good records: a source that fails, answers with nothing usable, or answers with
less than half of its last good set keeps serving its earlier records as stale
for up to seven days, and never removes the other source's wrecks. When the
page cannot refresh, the wrecks it shows are marked stale, and it clears them
once they are more than seven days old. EMODnet rows the portal took from
page cannot refresh, the wrecks it shows are marked stale, and it removes each
source's wrecks once they pass seven days, counted from the age the proxy
reported (so the page and server clocks are never compared). EMODnet rows the portal took from
wrecksite.eu are skipped (that site is not openly licensed). A Wikidata wreck
with the same name within 3 km of an EMODnet wreck is merged into one record
that keeps the article link and takes EMODnet's year, sinking text, depth and