Jonathan Miller
a2b951ea43
chore: remove docs/ directory — content lives in wiki
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-05-21 17:07:32 -05:00
jmiller
8b83c415cf
chore: rename .gitea/ to .mokogitea/ [skip ci]
...
Authored-by: Moko Consulting
2026-05-21 17:14:26 +00:00
jmiller
f36125926a
chore: rename .gitea/ to .mokogitea/ [skip ci]
...
Authored-by: Moko Consulting
2026-05-21 17:14:21 +00:00
jmiller
0902e726ed
chore: rename .gitea/ to .mokogitea/ [skip ci]
...
Authored-by: Moko Consulting
2026-05-21 17:14:16 +00:00
jmiller
b4907ac75c
chore: rename .gitea/ to .mokogitea/ [skip ci]
...
Authored-by: Moko Consulting
2026-05-21 17:14:11 +00:00
jmiller
db4ab6c82e
chore: rename .gitea/ to .mokogitea/ [skip ci]
...
Authored-by: Moko Consulting
2026-05-21 17:14:06 +00:00
jmiller
7b1f539f05
chore: rename .gitea/ to .mokogitea/ [skip ci]
...
Authored-by: Moko Consulting
2026-05-21 17:14:01 +00:00
jmiller
6c368f81a7
chore: rename .gitea/ to .mokogitea/ [skip ci]
...
Authored-by: Moko Consulting
2026-05-21 17:13:56 +00:00
jmiller
1ceecaa3de
chore: rename .gitea/ to .mokogitea/ [skip ci]
...
Authored-by: Moko Consulting
2026-05-21 17:13:51 +00:00
jmiller
9b5ac9246b
chore: rename .gitea/ to .mokogitea/ [skip ci]
...
Authored-by: Moko Consulting
2026-05-21 17:13:46 +00:00
jmiller
73f301102a
chore: rename .gitea/ to .mokogitea/ [skip ci]
...
Authored-by: Moko Consulting
2026-05-21 17:13:41 +00:00
jmiller
ee57494073
chore: rename .gitea/ to .mokogitea/ [skip ci]
...
Authored-by: Moko Consulting
2026-05-21 17:13:36 +00:00
jmiller
5fcdc7fff0
chore: rename .gitea/ to .mokogitea/ [skip ci]
...
Authored-by: Moko Consulting
2026-05-21 17:13:30 +00:00
jmiller
b2d6ce9c34
chore: rename .gitea/ to .mokogitea/ [skip ci]
...
Authored-by: Moko Consulting
2026-05-21 17:13:25 +00:00
jmiller
9e78f1c367
chore: rename .gitea/ to .mokogitea/ [skip ci]
...
Authored-by: Moko Consulting
2026-05-21 17:13:20 +00:00
jmiller
0d702937fb
chore: rename .gitea/ to .mokogitea/ [skip ci]
...
Authored-by: Moko Consulting
2026-05-21 17:13:15 +00:00
jmiller
d891985aac
chore: rename .gitea/ to .mokogitea/ [skip ci]
...
Authored-by: Moko Consulting
2026-05-21 17:13:10 +00:00
jmiller
f372bcb998
chore: rename .gitea/ to .mokogitea/ [skip ci]
...
Authored-by: Moko Consulting
2026-05-21 17:13:04 +00:00
jmiller
8d942b2ebf
chore: rename .gitea/ to .mokogitea/ [skip ci]
...
Authored-by: Moko Consulting
2026-05-21 17:12:58 +00:00
jmiller
01bb4a34ca
chore: rename .gitea/ to .mokogitea/ [skip ci]
...
Authored-by: Moko Consulting
2026-05-21 17:12:52 +00:00
jmiller
3f97efb934
chore: rename .gitea/ to .mokogitea/ [skip ci]
...
Authored-by: Moko Consulting
2026-05-21 17:12:47 +00:00
jmiller
a60f1b7fc8
chore: rename .gitea/ to .mokogitea/ [skip ci]
...
Authored-by: Moko Consulting
2026-05-21 17:12:41 +00:00
jmiller
026bbce088
chore: rename .gitea/ to .mokogitea/ [skip ci]
...
Authored-by: Moko Consulting
2026-05-21 17:12:35 +00:00
jmiller
b6bfe109d9
chore: rename .gitea/ to .mokogitea/ [skip ci]
...
Authored-by: Moko Consulting
2026-05-21 17:12:29 +00:00
jmiller
69fe39374d
chore: rename .gitea/ to .mokogitea/ [skip ci]
...
Authored-by: Moko Consulting
2026-05-21 17:12:24 +00:00
Jonathan Miller
6e3f9e2cdf
fix: integrate badge presets with existing upstream badge module
...
Restore original modules/badge/badge.go (upstream) and adapt our
presets to use GenerateBadge() and the existing Badge type.
- Rename Generate → GenerateRepoBadge to avoid conflict
- Add FormatRepoBadgeSVG for SVG rendering
- Add RenderFlat/RenderFlatSquare methods on Badge
- Fix API handler to use new function names
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-05-20 20:27:03 -05:00
Jonathan Miller
22fa3d16bf
fix: badge presets API compatibility
...
- GetLatestCommitStatus takes db.ListOptions not int
- Use GetRepoLicenses() instead of non-existent repo.License field
- Use repo.Topics instead of repo.HasWiki() (not a method)
- licenseBadge now takes ctx parameter
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-05-20 20:16:36 -05:00
jmiller
6d2ccb76eb
Merge pull request 'feat(notify): native ntfy push notification integration ( #41 )' ( #130 ) from feat/ntfy-integration into dev
2026-05-21 01:07:29 +00:00
Jonathan Miller
a66f88e0bf
feat(notify): native ntfy push notification integration ( #41 )
...
Add ntfy as a native notification channel via the Notifier interface.
Events notified:
- NewIssue — new issue created
- IssueChangeStatus — issue closed/reopened
- NewPullRequest — new PR opened
- MergePullRequest — PR merged
- NewRelease — new release published
- WorkflowRunStatusUpdate — CI success/failure
Implementation:
- modules/setting/ntfy.go — [ntfy] config section
- services/ntfy/ntfy.go — HTTP POST sender with 5s timeout
- services/ntfy/notifier.go — Notifier implementation (async, non-blocking)
Config:
[ntfy]
ENABLED = true
SERVER_URL = https://ntfy.mokoconsulting.tech
DEFAULT_TOPIC = mokogitea
Closes #41
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-05-20 20:06:50 -05:00
jmiller
58782a3920
Merge pull request 'feat(api): native SVG badge engine ( #103 )' ( #127 ) from feat/badge-engine into dev
2026-05-21 01:04:47 +00:00
jmiller
53b7e378d1
Merge pull request 'feat(metrics): Prometheus app metrics ( #42 )' ( #126 ) from feat/prometheus-metrics into dev
2026-05-21 01:04:41 +00:00
jmiller
ad78bb7c27
Merge pull request 'feat(admin): MokoGitea update checker ( #74 )' ( #125 ) from feat/update-checker into dev
2026-05-21 01:04:36 +00:00
Jonathan Miller
ff016ed888
fix: restore .mokogitea support for issue/PR templates and file icons
...
These were lost during the src/ revert. Re-add .mokogitea as
first-priority search path for:
- Issue template directories (services/issue/template.go)
- Issue template config candidates
- Single-file issue template candidates (routers/web/repo/issue.go)
- PR template candidates (routers/web/repo/pull.go)
- File icon rules (options/fileicon/material-icon-rules.json)
Already preserved from the revert:
- Workflow dirs (modules/setting/actions.go)
- Repo template file (services/repository/generate.go)
- Vendor analysis (modules/analyze/vendor.go)
- README view (routers/web/repo/view_readme.go)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-05-20 19:16:20 -05:00
Jonathan Miller
33fd9c5620
test: add .mokogitea test fixtures for workflow and template discovery
...
Add test workflow and issue template under .mokogitea/ to verify
the dot-folder feature works end-to-end on the live server.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-05-20 18:27:31 -05:00
Jonathan Miller
6f1b83eb74
feat(api): native SVG badge engine ( #103 )
...
Branch Policy Check / Verify merge target (pull_request) Has been cancelled
Self-hosted badge generation at /api/v1/repos/{owner}/{repo}/badge/{type}.svg
Badge types:
- version: latest release tag
- build: commit status (passing/failing/pending)
- license: repo license
- health: composite score (wiki + license + description)
Renders shields.io-compatible flat-style SVG badges with caching.
No external dependencies — uses stdlib html/template.
Closes #103
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-05-20 04:43:23 -05:00
Jonathan Miller
d300cde639
feat(metrics): add active users, actions queue/running to Prometheus ( #42 )
...
Branch Policy Check / Verify merge target (pull_request) Has been cancelled
Extend the existing /metrics endpoint with 3 new application metrics:
- gitea_active_users_30d: users active in last 30 days
- gitea_actions_queue_length: pending action jobs
- gitea_actions_running_jobs: currently running jobs
No new dependencies — extends existing collector and statistic model.
Closes #42
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-05-19 21:44:37 -05:00
Jonathan Miller
05f1ac1a12
feat(admin): add MokoGitea update checker ( #74 )
...
Branch Policy Check / Verify merge target (pull_request) Has been cancelled
Replace removed upstream Gitea update checker with MokoGitea-native
version that checks our own releases API.
- New module: modules/updatechecker/ — fetches latest release from
git.mokoconsulting.tech, compares semver, caches result
- Cron task: runs every 24h (and at startup)
- Admin dashboard: shows green banner when update available
- Configurable via [update_checker] in app.ini
Closes #74
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-05-19 21:41:10 -05:00
Jonathan Miller
5d84da9ae8
feat(ci): deploy workflow pushes Docker images to container registry
...
Updated deploy workflow:
- Builds image, pushes to git.mokoconsulting.tech container registry
- Supports dev and production environments via input selector
- Tags: v1.26.1-moko.N (production) or v1.26.1-moko.N-dev (dev)
- Always pushes :latest alongside versioned tag
- Images pullable from any machine via docker pull
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-05-19 21:18:16 -05:00
Jonathan Miller
a8a01ed978
Merge branch 'dev'
2026-05-19 20:32:22 -05:00
Jonathan Miller
871883ef11
fix: add FastCryptoRandomHex/Bytes used by ScriptImport CSP nonces
...
Add ChaCha8-based fast crypto random functions required by the
TemplateContext.CspScriptNonce() method for Content-Security-Policy
nonce generation. ~20x faster than crypto/rand for session IDs.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-05-19 20:07:27 -05:00
jmiller
b441b0a350
chore: add issue templates [skip ci]
2026-05-20 00:37:37 +00:00
jmiller
fcbc28735e
chore: add issue templates [skip ci]
2026-05-20 00:37:31 +00:00
jmiller
5c3a36a225
chore: add issue templates [skip ci]
2026-05-20 00:37:25 +00:00
jmiller
8936883a40
chore: add issue templates [skip ci]
2026-05-20 00:37:19 +00:00
jmiller
c3af273401
chore: add issue templates [skip ci]
2026-05-20 00:37:14 +00:00
jmiller
77f3a522eb
chore: add issue templates [skip ci]
2026-05-20 00:37:08 +00:00
jmiller
de2a2c9013
chore: add issue templates [skip ci]
2026-05-20 00:37:03 +00:00
jmiller
a78e610040
chore: add issue templates [skip ci]
2026-05-20 00:36:58 +00:00
jmiller
707eec0098
chore: add issue templates [skip ci]
2026-05-20 00:36:53 +00:00
jmiller
8c89a33ecf
Merge pull request 'feat(branding): replace all Gitea logos with Moko Consulting branding' ( #124 ) from feat/custom-logo into main
2026-05-20 00:36:17 +00:00