diff --git a/services/context/repo_public_feed.go b/services/context/repo_public_feed.go index 785353eb88..55e601f230 100644 --- a/services/context/repo_public_feed.go +++ b/services/context/repo_public_feed.go @@ -42,11 +42,16 @@ func RepoAssignmentPublicFeed() func(ctx *Context) { repo.Owner = owner ctx.Repo.Repository = repo - // Load update config for platform-aware routing. - repoUpdateCfg, _ := updateserver_model.GetRepoConfig(ctx, repo.ID) - if repoUpdateCfg != nil { - ctx.Data["RepoUpdatePlatform"] = repoUpdateCfg.Platform - } else { + // Check if the update server is enabled (repo config → org config). + // Return 404 when neither level has LicensingEnabled=true. + cfg := updateserver_model.GetEffectiveConfig(ctx, owner.ID, repo.ID) + if cfg == nil || !cfg.LicensingEnabled { + ctx.NotFound(nil) + return + } + + ctx.Data["RepoUpdatePlatform"] = cfg.Platform + if cfg.Platform == "" { ctx.Data["RepoUpdatePlatform"] = "joomla" }