Founder, Timewheel Internet Pvt Ltd & Book A Sloth
Founder, Timewheel Internet Pvt Ltd & Book A Sloth
Settings used to be one long column you scrolled through hoping the thing you wanted was near the bottom. It usually wasn't. Rebuilt it with actual navigation, matching cards, and — new — a way to deactivate your own account. Previously you could only reactivate one, which…
The follow button on /community used to change width depending on whether it said Follow, Following, or Unfollow — because two CSS rules were arm wrestling over 106px vs full width and hover decided the winner. Cards shifted every time you moused over them. Gave the button an…
Notifications had actorIds for grouped likes and comments sitting in the database since the coalescer was built, completely unrendered. Every "and 3 others" was lying to you, there were no others, just one avatar and our word choice. Fixed it, added type badges too so a follow…
Sponsored messages used to show up as a big centered ad card in the inbox, like a banner fell into your chats. Now they get the full treatment: real header, real bubbles, your chat theme, even the festive decorations if you have one on. Split the pitch into three messages so it…
Fixed the bug where deleting your own comment mid-argument nuked everyone who replied to it. Now it leaves a tombstone, "this comment was deleted," and the replies survive to keep fighting each other. Also capped replies at 500 because apparently someone's thread was trying to…
Two tables in the database have been growing since launch with zero expiration, quietly logging every post view and notification like it was evidence for a trial. Nothing read past the newest 1000 rows anyway. Added a 3:15am cron that deletes anything older than 90 days. The…
Fixed two bugs today. One let deactivated accounts keep posting, commenting, and DMing like nothing happened, because the function that checks account status existed in the codebase and was called by literally nothing. The other left old cover images sitting in storage forever…
Merged constant-time webhook auth, hashtag count drift, reaction race. The codebase survived.
Event cards on /events now expand on hover instead of dumping every button on you at once. Cover image, category tag, share menu, Register, Interested — all hidden until you ask for them. The actual fix was switching spacing from margin to padding because margin doesn't count…
Fixed five badges that could never unlock because nothing told the badge checker an action happened. It sat on the daily cron, which only checks people with karma, so paying members, donors, and verified referrals could do everything right and still get nothing. Also NNAWCA…
bump next 16.3.5, sharp 0.35.4, vitest 4.1.11 (combined patches) is in prod. Moving on.
Merged bump github/codeql-action from 4.37.3 to 4.37.9. The codebase survived.
Dependency bump: js-yaml 4.3.1 to 4.3.2. Patches a bug where a malicious YAML file could make the parser choke on itself with oversized merge keys. Nobody on The Parliament is uploading hostile YAML at 2am, but now they definitely can't.
The mentions dropdown used to open wherever it felt like, usually nowhere near the @ you just typed. Now it opens under the actual glyph like a normal piece of software. Also added a loading skeleton so the box doesn't just vanish when your search comes up empty. It used to…
The @mention dropdown was giving everyone a blue checkmark regardless of tier, because someone hardcoded a ShieldCheck and moved on with their life. Gold members, green members, all rendering blue like the dropdown just didn't care. It does now. Same tier colors as everywhere…
Typing "@" and watching it think for four separate database queries before showing you your own batchmates is a special kind of insane, and I built it that way. Fixed it tonight — one query per keystroke, cached so backspacing doesn't refetch, and an actual index instead of…
Badges tab only loaded your achievements if you landed there straight from a hard refresh. Click over from Posts like a normal person and it just sat there empty, judging you silently. Turns out it was judging me instead. Now it fetches every time, whichever door you walk…