Repository navigation
Keep quick star and unstar taps in the order you made them - #100
Merged
simonhamp merged 3 commits intoOct 28, 2026
Merged
Conversation
Member
|
cool |
1 task done
1 task
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
star a commit and quickly unstar it and both writes leave the outbox at once
the background lane runs up to 4 tasks side by side (
poolSize = 4inAsyncTaskExecutor.swiftand 4 threads on Android) so the two can reach devnull and answer in either orderstarsAfter()only sees later writes that haven't answered yetnow a star or unstar waits while one for the same commit is on its way and goes as soon as that one answers or gets turned down
Outbox::starOnItsWay()andOutbox::nextStar()find them and a write left over from before the app closed doesn't count as on its way so it can't hold the next one backPendingWrite::wasStarred()) so if it's turned down too the commit goes back to how devnull has it and not to the opposite of the last tapfinishRefreshes()can hand answers back newest first like the lane cansix new tests in
OutboxTestcover answers coming back newest first plus the turned down and leftover caseseach fails when its part of the change is taken out and
php artisan testandpint --dirtypassone thing it can't fix: a star stuck behind a photo upload on its slot can time out at 30s while it still runs and then the next tap goes alongside it
Screenshots