aboutsummaryrefslogtreecommitdiffstats
path: root/web_src/js
diff options
context:
space:
mode:
authorLunny Xiao <xiaolunwen@gmail.com>2024-03-02 22:03:39 +0800
committerGitHub <noreply@github.com>2024-03-02 14:03:39 +0000
commitcc27b50bdf9d1e2b02c91d7c4d338e01408e8522 (patch)
tree5cc97201cdd4ec0f267fc5035fb020c41bdaeb40 /web_src/js
parent423372d84ab3d885e47d4a00cd69d6040b61cc4c (diff)
downloadgitea-cc27b50bdf9d1e2b02c91d7c4d338e01408e8522.tar.gz
gitea-cc27b50bdf9d1e2b02c91d7c4d338e01408e8522.zip
Fix a bug returning 404 when display a single tag with no release (#29466)
Partially caused by #29149 When use ```go releases, err := getReleaseInfos(ctx, &repo_model.FindReleasesOptions{ ListOptions: db.ListOptions{Page: 1, PageSize: 1}, RepoID: ctx.Repo.Repository.ID, TagNames: []string{ctx.Params("*")}, // only show draft releases for users who can write, read-only users shouldn't see draft releases. IncludeDrafts: writeAccess, }) ``` replace ```go release, err := repo_model.GetRelease(ctx, ctx.Repo.Repository.ID, ctx.Params("*")) ``` It missed `IncludeTags: true,`. That means this bug will be occupied only when the release is a tag. This PR will fix - Get the right tag record when it's not a release - Display correct tag tab but not release tag when it's a tag. - The button will bring the tag name to the new page when it's a single tag page - the new page will automatically hide the release target inputbox when the tag name is pre filled. This should be backport to v1.21.
Diffstat (limited to 'web_src/js')
-rw-r--r--web_src/js/features/repo-release.js9
1 files changed, 7 insertions, 2 deletions
diff --git a/web_src/js/features/repo-release.js b/web_src/js/features/repo-release.js
index 2db8079009..f3cfa74418 100644
--- a/web_src/js/features/repo-release.js
+++ b/web_src/js/features/repo-release.js
@@ -30,8 +30,9 @@ function initTagNameEditor() {
const newTagHelperText = el.getAttribute('data-tag-helper-new');
const existingTagHelperText = el.getAttribute('data-tag-helper-existing');
- document.getElementById('tag-name').addEventListener('keyup', (e) => {
- const value = e.target.value;
+ const tagNameInput = document.getElementById('tag-name');
+ const hideTargetInput = function(tagNameInput) {
+ const value = tagNameInput.value;
const tagHelper = document.getElementById('tag-helper');
if (existingTags.includes(value)) {
// If the tag already exists, hide the target branch selector.
@@ -41,6 +42,10 @@ function initTagNameEditor() {
showElem('#tag-target-selector');
tagHelper.textContent = value ? newTagHelperText : defaultTagHelperText;
}
+ };
+ hideTargetInput(tagNameInput); // update on page load because the input may have a value
+ tagNameInput.addEventListener('input', (e) => {
+ hideTargetInput(e.target);
});
}