Commit Graph

20982 Commits

Author SHA1 Message Date
jmiller eb7b2e4e8a chore: sync updates.xml 05.19.00 from main [skip ci] 2026-06-04 11:51:37 +00:00
jmiller 638be317c0 chore: sync updates.xml 05.18.00 from main [skip ci] 2026-06-03 03:01:38 +00:00
jmiller 755b26d904 chore: sync updates.xml 05.17.00 from main [skip ci] 2026-06-03 02:59:28 +00:00
jmiller 61a67da149 chore: sync updates.xml 05.05.00 from main [skip ci] 2026-05-30 18:01:20 +00:00
jmiller 57c27d5c99 chore: sync updates.xml 05.04.00 from main [skip ci] 2026-05-30 17:36:51 +00:00
jmiller b9efa6bc75 chore: sync updates.xml 05.03.00 from main [skip ci] 2026-05-30 17:24:43 +00:00
jmiller 73810b5a08 chore: sync updates.xml 05.02.00 from main [skip ci] 2026-05-30 16:15:05 +00:00
Jonathan Miller 9f549fb801 fix: login logo defaults to none, separate from nav icon
Branch Policy Check / Verify merge target (pull_request) Has been cancelled
PR RC Release / Build RC Release (pull_request) Has been cancelled
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
v1.26.1-moko.05.01.02-rc.193
2026-05-25 22:27:41 -05:00
jmiller a97755417a Merge pull request 'fix: branding reset buttons + admin icons' (#192) from rc/05.03.00 into main 2026-05-26 03:08:46 +00:00
Jonathan Miller 26fde4a50e feat: reset-to-default buttons on branding page, admin sidebar icons
Branch Policy Check / Verify merge target (pull_request) Has been cancelled
PR RC Release / Build RC Release (pull_request) Has been cancelled
- Each branding image row now has a Reset button when custom image exists
- Reset removes the custom file, reverting to built-in default
- All admin sidebar menu items now have octicon icons

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
v1.26.1-moko.05.00.00-rc.192
2026-05-25 22:08:04 -05:00
jmiller 79377399dd chore: add .mokogitea/workflows/auto-release.yml from moko-platform [skip ci] 2026-05-26 03:07:42 +00:00
jmiller b6c8b9144e chore: add .mokogitea/workflows/pre-release.yml from moko-platform [skip ci] 2026-05-26 03:05:48 +00:00
jmiller 09bf669937 Merge pull request 'rc: admin icons + branding fixes' (#191) from rc/05.03.00 into main 2026-05-26 02:58:11 +00:00
Jonathan Miller 5996661b6f feat(ui): add octicon icons to all admin sidebar menu items
Branch Policy Check / Verify merge target (pull_request) Has been cancelled
PR RC Release / Build RC Release (pull_request) Has been cancelled
Every menu item and section header in the admin navigation now has
a matching octicon icon for visual consistency with the Branding item.

Icons chosen:
- Maintenance: tools, dashboard, check-circle
- Identity: people, shield-lock, organization, person, id-badge, mail
- Assets: database, package, repo
- Integrations: plug, key, webhook
- Actions: play, server, list-unordered
- Branding: paintbrush (existing)
- Config: gear, info, sliders
- Notices: alert
- Monitor: pulse, graph, clock, stack, cpu

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
v1.26.1-moko.05.00.00-rc.191
2026-05-25 21:57:41 -05:00
jmiller 284a1a39c3 Merge pull request 'rc(v05.03.01): branding settings with help+support URLs' (#190) from rc/05.03.00 into main 2026-05-26 02:50:19 +00:00
Jonathan Miller b64ed1972a feat: add Help URL and Support URL to branding settings
Branch Policy Check / Verify merge target (pull_request) Has been cancelled
PR RC Release / Build RC Release (pull_request) Has been cancelled
- Help URL: knowledge base / documentation link
- Support URL: ticket system / email for user support
Both saved to app.ini and applied in-memory immediately.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
v1.26.1-moko.05.00.00-rc.190
2026-05-25 21:48:05 -05:00
Jonathan Miller 71e0af4196 feat: three-column branding layout with identity settings
Branding page now has:
- Identity section: App Name, Description, Support URL, Author
  (saved to app.ini, applied in-memory immediately)
- Images section: three-column table (Setting | Upload | Preview)
  for Nav Icon, Login Logo, and Favicon

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-25 21:43:55 -05:00
jmiller 435766841f Merge pull request 'rc(v05.03.00): full MokoGitea rebrand' (#189) from rc/05.03.00 into main 2026-05-26 02:35:54 +00:00
jmiller 7d475d6af2 Merge pull request 'feat: MokoGitea rebrand across all locales, default branding images, PWA icon' (#188) from feat/rebrand-locale-mokogitea into dev
Branch Policy Check / Verify merge target (pull_request) Has been cancelled
PR RC Release / Build RC Release (pull_request) Has been cancelled
v1.26.1-moko.05.00.00-rc.189
2026-05-26 02:35:37 +00:00
Jonathan Miller 93dc58b106 feat: set Moko branding as built-in defaults, update PWA manifest
Branch Policy Check / Verify merge target (pull_request) Has been cancelled
PR RC Release / Build RC Release (pull_request) Has been cancelled
- Replace built-in logo.png, favicon.png, logo-small.png with Moko
  Consulting branding images
- Remove SVG overrides so PNG takes priority
- Set apple-touch-icon.png to favicon for iOS home screen
- Update site manifest to include favicon.png as 256x256 PWA icon
  so installed apps show the square brand icon

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-25 21:32:55 -05:00
Jonathan Miller dcef668e9d feat: rebrand Gitea to MokoGitea across all 28 locale files, fix branding page layout
Locale changes:
- Renamed "Gitea" -> "MokoGitea" in all user-facing strings across
  28 language files (928 references)
- Preserved upstream feature names: "Gitea Actions", "Gitea API",
  "gitea.com", "Gitea instances"

Branding page:
- Changed from three-card layout to single-column stacked segments
- Each image type shown inline with preview, label, and upload form

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-25 21:29:45 -05:00
jmiller 3842bee2bc Merge pull request 'rc(v05.02.02): fix branding template' (#187) from rc/05.02.02 into main 2026-05-26 02:22:24 +00:00
Jonathan Miller 1726a2f1fb fix: use correct admin layout_footer template in branding page
Branch Policy Check / Verify merge target (pull_request) Has been cancelled
PR RC Release / Build RC Release (pull_request) Has been cancelled
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
v1.26.1-moko.05.00.00-rc.187
2026-05-25 21:21:37 -05:00
jmiller d445496691 Merge pull request 'rc(v05.02.01): admin branding page' (#186) from rc/05.02.01 into main 2026-05-26 02:13:52 +00:00
jmiller 4ef4aeb04a Merge pull request 'feat: admin branding page with uploadable images (#181)' (#182) from feat/181-admin-branding into dev
Branch Policy Check / Verify merge target (pull_request) Has been cancelled
PR RC Release / Build RC Release (pull_request) Has been cancelled
v1.26.1-moko.05.00.00-rc.186
2026-05-26 02:13:37 +00:00
jmiller d1b964235a Merge pull request 'rc(v05.02.00): org sidebar fix, admin branding' (#185) from rc/05.02.00 into main v1.26.1-moko.05.02.00 2026-05-26 02:03:42 +00:00
jmiller 4ec61ec260 Merge pull request 'fix: org sidebar not listing members or teams (#183)' (#184) from fix/183-org-sidebar into dev
Branch Policy Check / Verify merge target (pull_request) Has been cancelled
PR RC Release / Build RC Release (pull_request) Has been cancelled
v1.26.1-moko.05.00.00-rc.185
2026-05-26 01:57:26 +00:00
Jonathan Miller b5defc2a4a fix: populate org home sidebar with members, teams, and public member status (#183)
Branch Policy Check / Verify merge target (pull_request) Has been cancelled
PR RC Release / Build RC Release (pull_request) Has been cancelled
The org home page template expects .Members, .NumMembers, .Teams,
.IsOrganizationMember, .IsOrganizationOwner, and .IsPublicMember
but the handler only set OrgOverviewMembers and OrgOverviewTeams
(different key names). The sidebar rendered empty because the
template variables were undefined.

Fixed by adding all required data bindings and capturing the
membersIsPublic map (previously discarded) as a callable function.

Closes #183

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-25 20:56:44 -05:00
Jonathan Miller d77713dd77 feat: admin branding page with uploadable nav icon, logo, and favicon (#181)
Branch Policy Check / Verify merge target (pull_request) Has been cancelled
PR RC Release / Build RC Release (pull_request) Has been cancelled
Add a Branding section to Site Administration where admins can upload
custom images for three separate slots:

- Nav icon (logo-small.png) — top-left corner, 30x30px
- Login logo (logo.png) — login page and homepage
- Favicon (favicon.png) — browser tab icon

Changes:
- New admin route: /-/admin/branding with upload forms
- Templates use AssetUrlPrefix instead of hardcoded external URLs
- Nav bar uses logo-small.png with fallback to logo.png
- Uploads save to custom/public/assets/img/ (persists across restarts)
- SVG overrides auto-removed when PNG is uploaded
- Added logo-small.png as default built-in asset

Closes #181

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-25 20:23:34 -05:00
Jonathan Miller 299ec57b52 fix(ci): correct updates.xml regex to target stable channel block only
The previous regex matched across channel boundaries because <version>
appears before <tags> in the XML. Fixed by matching the entire <update>
block containing the target channel tag, then replacing fields within
that block only.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-25 20:10:27 -05:00
jmiller 34e2a460f9 fix(ci): correct updates.xml stable channel to 05.01.02 2026-05-26 01:08:29 +00:00
jmiller 7921e007f1 chore(ci): update updates.xml to 05.01.02 2026-05-26 01:02:14 +00:00
jmiller c21df45434 Merge pull request 'rc(v05.01.02): auto-update updates.xml' (#180) from rc/05.01.02 into main v1.26.1-moko.05.01.02 2026-05-26 00:56:39 +00:00
jmiller a45be34139 Merge pull request 'feat(ci): auto-update updates.xml on production deploy' (#179) from feat/auto-update-xml into dev
Branch Policy Check / Verify merge target (pull_request) Has been cancelled
PR RC Release / Build RC Release (pull_request) Has been cancelled
v1.26.1-moko.05.00.00-rc.180
2026-05-26 00:56:19 +00:00
Jonathan Miller d97955394f feat(ci): auto-update updates.xml on production deploy
Branch Policy Check / Verify merge target (pull_request) Has been cancelled
PR RC Release / Build RC Release (pull_request) Has been cancelled
After a successful production deployment, the deploy workflow now
automatically updates updates.xml on main with the new version,
release URL, and docker image tag for the stable channel.

Dev deployments skip this step — only production releases update
the stable channel.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-25 19:49:04 -05:00
jmiller e279f8dbe8 Merge pull request 'rc(v05.01.01): maintenance mode deploy + checksums' (#178) from rc/05.01.01 into main v1.26.1-moko.05.01.01 2026-05-26 00:35:25 +00:00
jmiller 592a71968f Merge pull request 'feat(ci): enable maintenance mode during deployments' (#177) from feat/deploy-maintenance-mode into dev
Branch Policy Check / Verify merge target (pull_request) Has been cancelled
PR RC Release / Build RC Release (pull_request) Has been cancelled
v1.26.1-moko.05.00.00-rc.178
2026-05-26 00:35:09 +00:00
Jonathan Miller d55b79a9ff feat(ci): enable maintenance mode during deployments
Branch Policy Check / Verify merge target (pull_request) Has been cancelled
PR RC Release / Build RC Release (pull_request) Has been cancelled
The deploy workflow now:
1. Enables maintenance mode before building (users see maintenance page)
2. Builds, pushes, and restarts the container
3. Disables maintenance mode after health check passes (if: always)

Uses Gitea's built-in maintenance mode via admin config API.
If the instance is already down, the enable step gracefully warns
instead of failing. The disable step runs even if deploy fails
to avoid leaving the instance in maintenance mode.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-25 19:33:59 -05:00
jmiller 3b57aaff10 Merge pull request 'rc(v05.01.00): update checker channels + SHA256 release checksums' (#176) from rc/05.01.00 into main v1.26.1-moko.05.01.00 2026-05-26 00:28:10 +00:00
jmiller 64e1e37e20 Merge pull request 'fix: generate checksums on API asset upload' (#175) from feat/release-sha-checksums into dev
Branch Policy Check / Verify merge target (pull_request) Has been cancelled
PR RC Release / Build RC Release (pull_request) Has been cancelled
v1.26.1-moko.05.00.00-rc.176
2026-05-26 00:15:52 +00:00
Jonathan Miller a847129f9c fix: generate checksums on API asset upload, not just CreateRelease
Branch Policy Check / Verify merge target (pull_request) Has been cancelled
PR RC Release / Build RC Release (pull_request) Has been cancelled
The API endpoint POST /releases/{id}/assets bypasses CreateRelease
and UpdateRelease, so checksums were not generated for API uploads.
Added GenerateReleaseChecksums call after successful asset upload.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-25 19:15:12 -05:00
jmiller 30e16cccc1 Merge pull request 'feat: auto-generate SHA256 checksums for release attachments' (#174) from feat/release-sha-checksums into dev 2026-05-26 00:08:48 +00:00
jmiller b74cf800ef Merge pull request 'feat: update checker channels, email + ntfy notifications' (#173) from feat/update-checker-channels into dev 2026-05-26 00:08:09 +00:00
Jonathan Miller 90f612f211 feat: auto-generate SHA256 checksums for release attachments
Branch Policy Check / Verify merge target (pull_request) Has been cancelled
PR RC Release / Build RC Release (pull_request) Has been cancelled
When a release is created or updated with attachments, automatically
compute SHA256 checksums for every file and attach a checksums.sha256
manifest file. The manifest follows the standard sha256sum format:
  <hash>  <filename>

Existing checksums.sha256 files are replaced when attachments change.
Checksums are generated for both CreateRelease and UpdateRelease flows.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-25 19:05:13 -05:00
Jonathan Miller 49fe3cf6eb feat: add ntfy push notification for update checker
Branch Policy Check / Verify merge target (pull_request) Has been cancelled
PR RC Release / Build RC Release (pull_request) Has been cancelled
Update notifications now go through three channels:
- Admin dashboard banner (existing)
- Email to admin (added in previous commit)
- ntfy push notification (new)

Configure in app.ini:
  [ntfy]
  ENABLED = true
  SERVER_URL = https://ntfy.mokoconsulting.tech
  DEFAULT_TOPIC = mokogitea
  TOKEN = (optional bearer token)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-25 18:34:14 -05:00
Jonathan Miller 13352e7213 feat: email admin when MokoGitea update is detected
The update checker now emails the first admin user when a new version
is found on the configured channel. Notifications are deduplicated —
only sent once per new version, not on every cron tick.

- Added NotifyFunc callback in updatechecker module
- Wired to mailer in cron task registration
- Created mail_update.go with plain-text email including version,
  channel, release URL, and docker pull command

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-25 18:24:03 -05:00
Jonathan Miller 07827bcc2e test: bump dev channel to 06.00.00-dev to test update checker
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-25 18:19:32 -05:00
Jonathan Miller 8509932b41 feat: update channel selector dropdown on admin dashboard
Add a dropdown on the admin dashboard to switch between update streams
(stable, rc, beta, alpha, development) matching the Joomla pattern.

Changes:
- Admin dashboard shows channel selector with descriptions
- POST handler validates and applies channel change in-memory
- Triggers immediate re-check against updates.xml after switch
- updates.xml has all 5 standard channels with descriptions

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-25 17:58:39 -05:00
Jonathan Miller 8ad1b8a110 chore: align update streams to standard channels (dev/alpha/beta/rc/stable)
Matches the Joomla update server pattern used across all Moko repos.
Removed the non-standard 'security' channel. All five standard
channels now present in updates.xml.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-25 17:55:28 -05:00
Jonathan Miller be5c2d35a5 chore: bump updates.xml to v05.00.00
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-25 17:53:13 -05:00