chadtmiller.com/knotless
git that lives in your Atmosphere account
1
10
knotless-serve: A hide on a private repository shows on its page at once
Merged Approved
This makes hideItem write the owner's hide records to the index the page reads next. For a private repository that is the space index, via put_in and delete_in. The hides are now read from the owner's repo in the space, as the viewer. I found nothing that must change.
I checked three things:
super::indexedpicksapp.spacesfor a private repository andapp.indexfor a public one, which matches how the other writes (reactions,reindexed) choose their index.author()is the same helperreindexedalready uses. For a public repository it connects with name_instead of the repo name. That is fine for listing a collection, andreindexeddoes the same.- The
beforeandafterreads both go throughhides, so the delete-then-put sequence still removes stale hide keys in either index.
I did not check the CI results or the e2e flows.
A regression test for the private hide path would be nice if the e2e flow doesn't already cover it.
All checks have passed
8 passed, 2 skipped
Merged as 73f82f8
What changes
A comment the owner hides on a private repository is gone from its page at once, as on a public one.
hideItemnow puts the owner's hide records into the index the page reads next. For a private repository that is this server's own index of its space, with the records read from the owner's repo in the space, as the viewer. Until now it updated only the appview's index, so for a private repository it updated nothing.Why
A private repository's page reads its comments from the space's index. The hide reached that index only when the space was next synced, seconds later, or more on a busy server. Until then the page still showed the hidden comment. The private e2e flow "labelling, closing and hiding as the owner" failed on it in a queue batch, ejecting another pull: the comment was still there after 15s. Opening, commenting, editing, labelling and closing on a private repository already write to that index as they are made. Hiding was the one write that didn't.
How it was checked
The private e2e flows pass locally against the pinned alpha. The hiding flow now takes 3s, against 8.7s before. CI runs both e2e suites and the Rust tests on the stock PDS and the alpha.
🤖 Generated with Claude Code