Files
teahub/gitea/custom
teahubxyzandClaude Opus 5.5 9fece6d818 mcp 2.2: domain search needs the MCP's sign-in; the Domains tab sends people through it once
/domains/sign-in and /domains/callback do Tea MCP's own Gitea OAuth (the
Green Tea MCP app) in the browser, keep only the name from Gitea, and leave a
signed, HttpOnly cookie on mcp.teahub.xyz for 30 days. GET /domains wants it
(401 with a sign-in link otherwise) and rate-limits per person. The Domains
tab sends that cookie, offers the sign-in on a 401, and runs the waiting
search on the way back. Tested end to end against a Gitea 28 and Cloudflare.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CYHXFvWMCs1GUmRmpySqQ6
2026-10-14 22:07:03 -07:00
..

Teahub's look on Gitea

Gitea reads these from its custom directory, /data/gitea on green-tea's volume (GITEA_CUSTOM). It reads templates when it starts, so a template change needs a restart; files under public/ are served as they are.

  • templates/home.tmpl: the signed-out home page, Teahub = Git + Tea + Time beside the cup.
  • templates/user/dashboard/dashboard.tmpl: Gitea 28's dashboard with the repository list and the contribution heatmap moved into the sidebar.
  • templates/custom/header.tmpl, templates/custom/footer.tmpl: load teahub.css and teahub.js. Bump their ?v= when those files change, because browsers keep assets for hours.
  • public/assets/css/teahub.css: green tea colours for Gitea's light, dark and auto themes, the name beside the navbar's cup, the home page and the sidebar.
  • public/assets/js/teahub.js: the home page's title, "Powered by Teahub", and the dashboard's Domains tab, which asks Tea MCP's GET /domains (Cloudflare Registrar) and shows exact names and suggestions with their prices.
  • public/assets/img/: the 🍵 mark. The SVGs draw the emoji in the reader's own emoji font. The PNGs (link previews, browser tabs, phone home screens) are Noto Emoji's U+1F375 (googlefonts/noto-emoji, Apache License 2.0).

The two page templates are Gitea 28.0.0's with Teahub's changes. After a Gitea upgrade, compare them with the new release's (gitea embedded extract --destination x 'templates/**') before deploying it.

../sync-custom.sh puts this directory on prod (it needs flyctl signed in to Teahub's Fly organisation).