Skip to content

Port GitHub repository UI directly to Forgejo 15 - #2

Draft
whereareiam wants to merge 12 commits into
mainfrom
agent/forgejo-ui-polish-r26
Draft

Port GitHub repository UI directly to Forgejo 15#2
whereareiam wants to merge 12 commits into
mainfrom
agent/forgejo-ui-polish-r26

Conversation

@whereareiam

@whereareiam whereareiam commented Jul 28, 2026

Copy link
Copy Markdown
Owner

What changed

  • target Forgejo 15 markup, routes, and template data directly, without a generated compatibility layer or selector bridge through newer Gitea versions
  • match GitHub’s Mona Sans font stack, global/repository navigation geometry, hover states, tab rhythm, control sizing, rounding, and selection colors
  • move repository tabs into the GitHub-style repository navigation while preserving Forgejo’s native routes and permissions
  • rebuild the repository header, branch/tag toolbar, code search, Add file and clone controls, file list, About sidebar, topics/settings modal, language rows, and empty metadata state around current GitHub hierarchy
  • keep Forgejo-native HTTPS/SSH switching, archive formats, citation support, editor actions, HTMX behavior, repository operations, translations, and accessibility labels
  • port the latest-commit header with GitHub’s avatar, author, subject, PR-reference, status, SHA, date, and commit-count behavior
  • split trailing (#PR) references so only the commit subject and PR number are clickable; parentheses remain plain text
  • suppress unknown signature-key icons while retaining verified signatures and CI status controls
  • add a native Forgejo 15 commit_page.tmpl that presents attribution, message metadata, stats, file tree, and diff workspace in GitHub’s layout while preserving branch/tag loading, copy hash, notes, revert, cherry-pick, statuses, and the native diff renderer
  • use GitHub’s muted file/folder icon color and match the latest-commit avatar-to-author spacing
  • add phone-width behavior at Forgejo’s 767.98px breakpoint for repository headers/tabs, source toolbar, file list, About bottom sheet, commit metadata, file tree, and diff workspace
  • package Mona Sans and the adapted templates in normal source/build/release artifacts, with regression coverage for the Forgejo-bound integration

Why

The upstream theme targets newer Gitea markup, while this deployment runs Forgejo 15. Native Semantic UI rules and structural differences were overriding the backported styling and, on some routes, incompatible templates caused failures. The repository overview and commit page also needed structural template changes that CSS alone could not reproduce safely.

The adaptation now follows the project’s existing source architecture: maintainable TypeScript styles and version-bound templates in their normal directories, compiled through the standard bundle pipeline. Arcadeya manifests remain deployment state rather than theme-source compatibility code.

Impact

Repository navigation, overview, clone controls, commit summaries, and commit detail pages now follow current GitHub sizing, color, spacing, hierarchy, and interaction behavior while retaining Forgejo-specific functionality. The responsive rules prevent custom desktop geometry from overflowing or colliding at phone widths in both light and dark themes.

Validation

  • bun check
  • bun lint
  • Prettier check on all changed TypeScript files
  • bun bundle:ci — 10 test files / 346 tests passed
  • adapted templates parsed and compiled against Forgejo v15.0.5
  • Helm lint, Helm render, and Kubernetes server-side dry-run passed
  • live signed-in GitHub/Forgejo comparison on actions/setup-node
  • file and folder icons verified at 16×16 with the same rgb(145, 152, 161) color as GitHub
  • latest-commit avatar-to-author gap verified at 8px
  • overview and commit pages verified with no horizontal overflow
  • commit card measured at the same x/y and width as GitHub, with a 1px height difference; native duplicate diff stats are hidden
  • loaded light and dark stylesheets each expose 18 phone breakpoint blocks covering repository header/tabs, source toolbar, file list, About modal, commit page, file-tree collapse, and diff workspace
  • deployed Arcadeya payload verified at native-r40, Helm revision 66: pod ready 1/1 on node-2, zero restarts, matching CSS/template hashes, overview and commit endpoints return 200, and no theme-related browser or template/runtime errors

@whereareiam whereareiam changed the title Polish notification, navigation, and clone controls Polish GitHub navigation, fonts, and clone controls Jul 28, 2026
@whereareiam whereareiam changed the title Polish GitHub navigation, fonts, and clone controls Port GitHub repository UI directly to Forgejo 15 Jul 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant