From 80be67b2ef5d0af7675a094af31e13725415521c Mon Sep 17 00:00:00 2001 From: Jonathan Miller Date: Sun, 31 May 2026 09:37:42 -0500 Subject: [PATCH 1/2] chore: migrate namespace from git. to code.mokoconsulting.tech (#336) Update all URLs in manifest.xml and updates.xml to use the new code.mokoconsulting.tech domain. Co-Authored-By: Claude Opus 4.6 (1M context) --- .mokogitea/manifest.xml | 2 +- updates.xml | 30 +++++++++++++++--------------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/.mokogitea/manifest.xml b/.mokogitea/manifest.xml index 5bd74337ed..00d3df0c37 100644 --- a/.mokogitea/manifest.xml +++ b/.mokogitea/manifest.xml @@ -10,7 +10,7 @@ go 05.00.00 - https://git.mokoconsulting.tech/MokoConsulting/moko-platform + https://code.mokoconsulting.tech/MokoConsulting/moko-platform Go diff --git a/updates.xml b/updates.xml index 7cc274271c..a2c9f97a77 100644 --- a/updates.xml +++ b/updates.xml @@ -13,13 +13,13 @@ site 05.05.00-dev 2026-05-30 - https://git.mokoconsulting.tech/MokoConsulting/MokoGitea/releases/tag/development + https://code.mokoconsulting.tech/MokoConsulting/MokoGitea/releases/tag/development - https://git.mokoconsulting.tech/MokoConsulting/MokoGitea/releases/download/development/mokogitea-05.05.00-dev.zip + https://code.mokoconsulting.tech/MokoConsulting/MokoGitea/releases/download/development/mokogitea-05.05.00-dev.zip 4fee9eb03e4b819a63bce2ceb54fdce0d3eb8bf5b31460fcc42e5ecd75cc856e dev - https://git.mokoconsulting.tech/MokoConsulting/MokoGitea/raw/branch/main/CHANGELOG.md + https://code.mokoconsulting.tech/MokoConsulting/MokoGitea/raw/branch/main/CHANGELOG.md Moko Consulting https://mokoconsulting.tech @@ -32,13 +32,13 @@ site 05.05.00-alpha 2026-05-30 - https://git.mokoconsulting.tech/MokoConsulting/MokoGitea/releases/tag/alpha + https://code.mokoconsulting.tech/MokoConsulting/MokoGitea/releases/tag/alpha - https://git.mokoconsulting.tech/MokoConsulting/MokoGitea/releases/download/alpha/mokogitea-05.05.00-alpha.zip + https://code.mokoconsulting.tech/MokoConsulting/MokoGitea/releases/download/alpha/mokogitea-05.05.00-alpha.zip 4fee9eb03e4b819a63bce2ceb54fdce0d3eb8bf5b31460fcc42e5ecd75cc856e alpha - https://git.mokoconsulting.tech/MokoConsulting/MokoGitea/raw/branch/main/CHANGELOG.md + https://code.mokoconsulting.tech/MokoConsulting/MokoGitea/raw/branch/main/CHANGELOG.md Moko Consulting https://mokoconsulting.tech @@ -51,13 +51,13 @@ site 05.05.00-beta 2026-05-30 - https://git.mokoconsulting.tech/MokoConsulting/MokoGitea/releases/tag/beta + https://code.mokoconsulting.tech/MokoConsulting/MokoGitea/releases/tag/beta - https://git.mokoconsulting.tech/MokoConsulting/MokoGitea/releases/download/beta/mokogitea-05.05.00-beta.zip + https://code.mokoconsulting.tech/MokoConsulting/MokoGitea/releases/download/beta/mokogitea-05.05.00-beta.zip 4fee9eb03e4b819a63bce2ceb54fdce0d3eb8bf5b31460fcc42e5ecd75cc856e beta - https://git.mokoconsulting.tech/MokoConsulting/MokoGitea/raw/branch/main/CHANGELOG.md + https://code.mokoconsulting.tech/MokoConsulting/MokoGitea/raw/branch/main/CHANGELOG.md Moko Consulting https://mokoconsulting.tech @@ -70,13 +70,13 @@ site 05.05.00-rc 2026-05-30 - https://git.mokoconsulting.tech/MokoConsulting/MokoGitea/releases/tag/release-candidate + https://code.mokoconsulting.tech/MokoConsulting/MokoGitea/releases/tag/release-candidate - https://git.mokoconsulting.tech/MokoConsulting/MokoGitea/releases/download/release-candidate/mokogitea-05.05.00-rc.zip + https://code.mokoconsulting.tech/MokoConsulting/MokoGitea/releases/download/release-candidate/mokogitea-05.05.00-rc.zip 4fee9eb03e4b819a63bce2ceb54fdce0d3eb8bf5b31460fcc42e5ecd75cc856e rc - https://git.mokoconsulting.tech/MokoConsulting/MokoGitea/raw/branch/main/CHANGELOG.md + https://code.mokoconsulting.tech/MokoConsulting/MokoGitea/raw/branch/main/CHANGELOG.md Moko Consulting https://mokoconsulting.tech @@ -89,13 +89,13 @@ site 05.14.00 2026-05-31 - https://git.mokoconsulting.tech/MokoConsulting/MokoGitea/releases/tag/stable + https://code.mokoconsulting.tech/MokoConsulting/MokoGitea/releases/tag/stable - https://git.mokoconsulting.tech/MokoConsulting/MokoGitea/releases/download/stable/mokogitea-05.14.00.zip + https://code.mokoconsulting.tech/MokoConsulting/MokoGitea/releases/download/stable/mokogitea-05.14.00.zip bec4bf5a1a841f8e72d9826451004db5d8afc70144231dfedc7fb01a6695955c stable - https://git.mokoconsulting.tech/MokoConsulting/MokoGitea/raw/branch/main/CHANGELOG.md + https://code.mokoconsulting.tech/MokoConsulting/MokoGitea/raw/branch/main/CHANGELOG.md Moko Consulting https://mokoconsulting.tech -- 2.52.0 From 1bf51f3aa5c73c7e0c869d6bc678eb8a2aa3aaf7 Mon Sep 17 00:00:00 2001 From: Jonathan Miller Date: Sun, 31 May 2026 09:47:51 -0500 Subject: [PATCH 2/2] fix(licenses): remove repo unit requirement from licenses routes The licenses feature is gated by org-level LicensingEnabled config, not by per-repo unit enablement. Requiring TypeLicenses unit on repos caused 404s since it wasn't in DefaultRepoUnits. Write permissions are still enforced in handlers via CanWrite(TypeLicenses). Org routes retain reqUnitAccess for team-level permission control. Co-Authored-By: Claude Opus 4.6 (1M context) --- routers/web/web.go | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/routers/web/web.go b/routers/web/web.go index 6c2ce3907c..64675d081a 100644 --- a/routers/web/web.go +++ b/routers/web/web.go @@ -1522,20 +1522,20 @@ func registerWebRoutes(m *web.Router, webAuth *AuthMiddleware) { // end "/{username}/{reponame}": update server // "/{username}/{reponame}": licenses page + // Note: page visibility is controlled by LicensingEnabled (org config). + // Write permissions are checked in handlers via CanWrite(TypeLicenses). m.Group("/{username}/{reponame}/licenses", func() { m.Get("", repo.Licenses) - m.Group("", func() { - m.Post("/packages", repo.LicensesCreatePackage) - m.Get("/packages/{id}/edit", repo.LicensesEditPackage) - m.Post("/packages/{id}/edit", repo.LicensesEditPackagePost) - m.Post("/packages/{id}/delete", repo.LicensesDeletePackage) - m.Post("/keys/generate", repo.LicensesGenerateKey) - m.Get("/keys/{id}/edit", repo.LicensesEditKey) - m.Post("/keys/{id}/edit", repo.LicensesEditKeyPost) - m.Post("/keys/{id}/revoke", repo.LicensesRevokeKey) - m.Post("/keys/{id}/renew", repo.LicensesRenewKey) - }, context.RequireUnitWriter(unit.TypeLicenses)) - }, optSignIn, context.RepoAssignment, context.RequireUnitReader(unit.TypeLicenses)) + m.Post("/packages", repo.LicensesCreatePackage) + m.Get("/packages/{id}/edit", repo.LicensesEditPackage) + m.Post("/packages/{id}/edit", repo.LicensesEditPackagePost) + m.Post("/packages/{id}/delete", repo.LicensesDeletePackage) + m.Post("/keys/generate", repo.LicensesGenerateKey) + m.Get("/keys/{id}/edit", repo.LicensesEditKey) + m.Post("/keys/{id}/edit", repo.LicensesEditKeyPost) + m.Post("/keys/{id}/revoke", repo.LicensesRevokeKey) + m.Post("/keys/{id}/renew", repo.LicensesRenewKey) + }, optSignIn, context.RepoAssignment) // end "/{username}/{reponame}": licenses m.Group("/{username}/{reponame}", func() { // to maintain compatibility with old attachments -- 2.52.0