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!
Feed
The latest from every builder on Openstage.
fix bug with private repos
refresh dashboard after sync
fix git sync job
Adds export to pdf feature
Attribute signups from the X bio link with ref=bio
Sync every repo the user can push to, not only owned ones; show shared repos on admin
Dashboard: search, type filter and paging so old entries are findable
Landing: real profile above the fold, cap the feed, CTA before it
Remove tinyurl call from the dashboard render loop; its cache key never repeated
Fix non-terminating sync pagination; share one repo-row partial; even nav weight
Let users publish private-repo commits by opting in; keep excluded as the default
Harden C10: allowlist sweep, reach excluded repos, block re-publishing paths
C10: stop publishing private-repo work and drop the repo OAuth scope
Add owner test-email button and mail_configured to the deploy check
Wire mailer delivery behind RESEND_API_KEY; send payment failures to the captured email
Phase B: admin metrics page, signup attribution, email capture, public feed
Report unsafe stored URLs and owner-uid status on the deploy check page
This week's build log: 5 commits in openstage.
Add Recap to nav; block javascript: URLs in profile website and entry links
Reserve recap and _deploy_check as usernames so they cannot shadow routes
Add owner-only /recap picker page and fix RecapDraft on database entries
Recap picker: dedupe forked commits, detect merges structurally, stable numbering, honest window
Recap drafts target 280 chars so one draft posts to both X and Bluesky
Rebirth begins 🚀