The last native publisher: finishing the Postiz consolidation
Medium's native integration was a museum exhibit. A browser bridge, an article whose body is a URL, and minus 1,603 lines.
Medium's native integration was a museum exhibit. A browser bridge, an article whose body is a URL, and minus 1,603 lines.
A whole dark theme by redefining CSS variables under one class, and 45 minutes spent proving a five-line toggle innocent.
A UI redesign, a review comment that named the exact property I never touched, and what it takes to actually fix what someone reports instead of what's around it.
Adding Postiz social cross-posting looked done until a blunt question exposed a double-post bug, and a full audit of every posting path in the app found two more like it.
Routing Dev.to publishing through Postiz and deleting the native client: the DTO that validates stricter than the runtime, the draft that isn't, and a cover image lost to local storage.
Removing the never-used native Hashnode integration: 31 files, +14/-1126, a grep that lied a little, and the architecture question the deletion forced.
A spike that ended in "don't build this": private-IP rejection, an unauthenticated empty payload, and the pull API that had everything the push lacked.
Future scheduling, richer blurbs with thumbnails, and a which-URL picker, plus the wall-clock timezone bug and the import that copied the wrong column.
A prerequisite ticket said to flip a flag that was already on. Reading the source at the deployed tag turned a no-op into three corrections.
Hashnode is a third syndication target, and the first over GraphQL: no client gem, a two-step publish flow, and sync by slug instead of draft ID.
Page 4 of 6