Skip to content
quarry Check-in [37c9599a15]
Login

Check-in [37c9599a15]

Overview
Comment:merge search-current into trunk
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: 37c9599a159df93346937049a25e767c6b06454393d46f9d85faf25b9435af82
User & Date: dmestas on 2026-08-24 22:17:33.158
Other Links: manifest | tags
Context
2026-08-24
23:05
Suite green; merges clean. Already deployed — the running binary carried this while the site was down, and trunk now matches it. check-in: d8a35694f0 user: dmestas tags: trunk
22:59
Bind the port without waiting on every repository

The forge could not answer for minutes after starting. Register runs before ListenAndServe and probes each store with 'zit submanifest show', and the note there said it costs ~250ms — measured on small stores. On tcl it is 116 SECONDS, on sqlite 16. A fleet with either in it held the whole site down.

The probe is bounded at 2s now. Past the deadline it is simply an unanswered question, which the existing false already handled: the fossil clone URL is withheld rather than offered wrongly.

Registration is also timed and logged, because each repository's cost is the whole forge's downtime and a slow one should be nameable rather than suspected. closed check-in: 65e953863a user: dmestas tags: startup-latency

22:17
merge search-current into trunk check-in: 37c9599a15 user: dmestas tags: trunk
22:17
search: match the current revision, not any revision

A wiki page and a technote are EDITED: every revision is its own artifact under one stable name. Keyed by artifact hash they piled up in search_doc, and Search's group-by then returned whichever revision matched BEST — so a query found text deleted years ago and linked to a page that no longer contains it. On the live fleet "terrified" matched spatialite_gui's wiki home, which has not said it since 2016; libfossil/home had 117 revisions all searchable.

One row per page now, holding the current revision, newest wins on date so a clone may deliver revisions in any order. Every revision stays readable in the page's own history, which is where the question 'what did this used to say' belongs.

Existing indexes are rebuilt from wiki_edit and technote at open rather than left to the fold: the fold only fires on artifacts that arrive after this code, so deleting the stale rows alone would empty wiki search until somebody happened to reindex. closed check-in: e262fc246c user: dmestas tags: search-current

21:40
merge hit-meta into trunk check-in: c4b5ef5d95 user: dmestas tags: trunk
Changes