Tux

Tux

✦ Pro @tuxnotfound

currently: relaunching Openstage in public. indie dev. ships things. moves on.

195
entries
4
repos
7
milestones
🌱 2
day streak
Pinned
milestone

Rebirth begins 🚀

posted

This week I went back to Story Time by adding a export to pdf feature. Also a lot of work on synchronising private github repos on Openstage. Fun fun!

x.com/tux404/status/2100961113177194875?s=20
shipped GitHub story_time_v1

Adds export to pdf feature

shipped GitHub openstage

Attribute signups from the X bio link with ref=bio

github.com/tuxnotfound/openstage/commit/2d13e577c69d61c622106a6451f5820dea533ba5
shipped GitHub openstage

Sync every repo the user can push to, not only owned ones; show shared repos on admin

github.com/tuxnotfound/openstage/commit/904d0c08839e696449a7cc4efe5de43c81223039
shipped GitHub openstage

Dashboard: search, type filter and paging so old entries are findable

github.com/tuxnotfound/openstage/commit/0fba369f8c7e527fbc0cfa05f50a10db3d28dbaa
shipped GitHub openstage

Landing: real profile above the fold, cap the feed, CTA before it

github.com/tuxnotfound/openstage/commit/516748fedf4c3917d3d12c3c83388fc6500c93d1
shipped GitHub openstage

Remove tinyurl call from the dashboard render loop; its cache key never repeated

github.com/tuxnotfound/openstage/commit/6cca8c64e7c24d2f27af2e8a90ff1c599d8cb237
shipped GitHub openstage

Fix non-terminating sync pagination; share one repo-row partial; even nav weight

github.com/tuxnotfound/openstage/commit/736a2836ffa41cb37f32f808ce7d599876232015
shipped GitHub openstage

Let users publish private-repo commits by opting in; keep excluded as the default

github.com/tuxnotfound/openstage/commit/34a722f22ad4341418d72d65b2dac893653f2878
shipped GitHub openstage

Harden C10: allowlist sweep, reach excluded repos, block re-publishing paths

github.com/tuxnotfound/openstage/commit/ea4dcf5a4fe8a5f695344e85574686c8f4f8fadd
shipped GitHub openstage

C10: stop publishing private-repo work and drop the repo OAuth scope

github.com/tuxnotfound/openstage/commit/2bfedb8a1f3b1e8219429a80d3a536dec09858c8
shipped GitHub openstage

Add owner test-email button and mail_configured to the deploy check

github.com/tuxnotfound/openstage/commit/a1945a51ba51f25cd9674bb2105a4d368bdc23e9
shipped GitHub openstage

Wire mailer delivery behind RESEND_API_KEY; send payment failures to the captured email

github.com/tuxnotfound/openstage/commit/2dd230c1a65d53c9ddf7c03be2d0c990907fc944
shipped GitHub openstage

Phase B: admin metrics page, signup attribution, email capture, public feed

github.com/tuxnotfound/openstage/commit/cd254a65e71636cf0f632b1abeda6f0fc51fccc1
shipped GitHub openstage

Report unsafe stored URLs and owner-uid status on the deploy check page

github.com/tuxnotfound/openstage/commit/13634566702e50f373e6b69870ed15430a5dea07
posted

This week's build log: 5 commits in openstage.

This week's build log: 5 commits in openstage. - Rebirth begins 🚀

x.com/tux404/status/2098357999911715108?s=20
shipped GitHub openstage

Add Recap to nav; block javascript: URLs in profile website and entry links

github.com/tuxnotfound/openstage/commit/7107396c4032e36962cfbe93b6e0d07bd4763012
shipped GitHub openstage

Reserve recap and _deploy_check as usernames so they cannot shadow routes

github.com/tuxnotfound/openstage/commit/e7cc80637e3d397da323a963c5c5597fd8c79d7d
shipped GitHub openstage

Add owner-only /recap picker page and fix RecapDraft on database entries

github.com/tuxnotfound/openstage/commit/cf9ca0b05cc2eb9afb467d726dd56183f21501e6
shipped GitHub openstage

Recap picker: dedupe forked commits, detect merges structurally, stable numbering, honest window

github.com/tuxnotfound/openstage/commit/66b3528c936619c450dfa8dcce984b285eb0e7b6
shipped GitHub openstage

Recap drafts target 280 chars so one draft posts to both X and Bluesky

github.com/tuxnotfound/openstage/commit/91002869e9f0479f8de90d8a62b93f59a708994c
milestone

Rebirth begins 🚀