- 
          
- 
                Notifications
    You must be signed in to change notification settings 
- Fork 6.2k
Fix "ref-issue" handling in markup #35739
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
87ad04a    to
    c2af838      
    Compare
  
    | 
 GitHub doesn't highlight the issue if it doesn't exist though, so how does it look unclear? As seen here: | 
| 
 I mean when my network lags, I didn't change the "issue not exist" case, it can be optimized separately. | 
| Can the fetch inside  | 
| <div v-else-if="issue" class="tw-flex tw-flex-col tw-gap-2"> | ||
| <div class="tw-text-12"> | ||
| <a :href="repoLink" class="muted">{{ issue.repository.full_name }}</a> | ||
| on {{ createdAt }} | 
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
on needs translation ideally.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Agree, ideally.
But I think it doesn't need to be in this PR's scope.
Handling i18n with datetime is also tricky, especially here it is done on frontend and mixes HTML elements.
Leave it to the future (and I don't see anyone complains)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we dealt with on before related to relative-time-element, but it's probably all backend rendering there.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nope, relative-time-element has dropped the "on" feature, it is non-translatable.
| 
 I don't think so. If you move it out, then the "loading" indicator state will be more complex. I believe the "loading" indicator is useful. And since we haven't resolved the "non-existing issue" problem, the "not found" error is also handled there. I think the current approach is good enough | 
| 
 Could just pass a  | 
| 
 Then how could you switch the "loading" prop? Vue doesn't work that way. | 
| Doesn't vue re-render when props change? At least that's how it works in React. | 
| 
 If they are all in the reactive context, yes. But here, the component is mounted from JS by a non-reactive props object. I don't think React works in this case either. | 
| Ah yes if you create a whole vue app or react root, then those props won't be reactive. The auto-update behaviour only works when a component renders another component (which is the typical case in a SPA). | 
| Any other questions? I think this PR is good enough, it resolves many legacy problems, the code is more maintainable, nothing becomes worse. Although there could be some improvements, but none of them is easy to implement, so the improvements can be left to the future until someone really needs them and can use some right approaches to implement them. | 
|  | ||
| export function getAttachedTippyInstance(el: Element): Instance | null { | ||
| return el._tippy ?? null; | ||
| } | 
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Instead of  this, can you adjust globals.d.ts to add undefined to the property:
interface Element {
  _tippy: import('tippy.js').Instance | undefined;
}And then just use el._tippy, typescript will then take care that the undefined case is handled.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It is very ugly.
I believe in we need to encapsulate the modules, but don't let caller use fragile code.
el._tippy is very fragile, it totally depends the undocumented 3rd party library behavior, should never be widely used.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If you don't want direct el._tippy access, that's fine, but then these 2 cases should also use this function:
web_src/js/features/common-page.ts:62:              queryElems(elDropdown, '.menu > .item', (el) => el._tippy?.hide());
web_src/js/features/repo-issue-list.ts:189:        el._tippy.destroy();
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If you don't want direct
el._tippyaccess, that's fine, but then these 2 cases should also use this function:web_src/js/features/common-page.ts:62: queryElems(elDropdown, '.menu > .item', (el) => el._tippy?.hide()); web_src/js/features/repo-issue-list.ts:189: el._tippy.destroy();
There are far more, these usages can be refactored later, not in this PR's scope.
 
    There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
TBH, I find the typescript solution better, it does not necessitate such big refactors and is equally safe.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A variable starting with underscore already means it is for internal usage only, it is a widely accepted agreement across many different languages.
Using a variable with underscore prefix really doesn't seem good.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's a practical solution in case of tippy, I agree in a ideal world, properties should not be added to Element at all.
We should replace tippy (which is deprecated) with https://github.com/floating-ui/floating-ui.
This is a follow up for go-gitea#35662, and also fix go-gitea#31181, help go-gitea#30275, fix go-gitea#31161
This PR contains the following updates: | Package | Update | Change | |---|---|---| | [gitea/gitea](https://github.com/go-gitea/gitea) | minor | `1.24.7` -> `1.25.0` | --- ### Release Notes <details> <summary>go-gitea/gitea (gitea/gitea)</summary> ### [`v1.25.0`](https://github.com/go-gitea/gitea/releases/tag/v1.25.0) [Compare Source](go-gitea/gitea@v1.24.7...v1.25.0) - BREAKING - Return 201 Created for CreateVariable API responses ([#​34517](go-gitea/gitea#34517)) - Add label 'state' to metric 'gitea\_users' ([#​34326](go-gitea/gitea#34326)) - SECURITY - Upgrade security public key ([#​34956](go-gitea/gitea#34956)) - Also include all security fixes in 1.24.x after 1.25.0-rc0 - FEATURES - Stream repo zip/tar.gz/bundle achives by default ([#​35487](go-gitea/gitea#35487)) - Use configurable remote name for git commands ([#​35172](go-gitea/gitea#35172)) - Send email on Workflow Run Success/Failure ([#​34982](go-gitea/gitea#34982)) - Refactor OpenIDConnect to support SSH/FullName sync ([#​34978](go-gitea/gitea#34978)) - Refactor repo contents API and add "contents-ext" API ([#​34822](go-gitea/gitea#34822)) - Add support for 3D/CAD file formats preview ([#​34794](go-gitea/gitea#34794)) - Improve instance wide ssh commit signing ([#​34341](go-gitea/gitea#34341)) - Edit file workflow for creating a fork and proposing changes ([#​34240](go-gitea/gitea#34240)) - Follow file symlinks in the UI to their target ([#​28835](go-gitea/gitea#28835)) - Allow renaming/moving binary/LFS files in the UI ([#​34350](go-gitea/gitea#34350)) - PERFORMANCE - Improve the performance when detecting the file editable ([#​34653](go-gitea/gitea#34653)) - ENHANCEMENTS - Enable more markdown paste features in textarea editor ([#​35494](go-gitea/gitea#35494)) - Don't store repo archives on `gitea dump` ([#​35467](go-gitea/gitea#35467)) - Always return the relevant status information, even if no status exists. ([#​35335](go-gitea/gitea#35335)) - Add start time on perf trace because it seems some steps haven't been recorded. ([#​35282](go-gitea/gitea#35282)) - Remove deprecated auth sources ([#​35272](go-gitea/gitea#35272)) - When sorting issues by nearest due date, issues without due date should be sorted ascending ([#​35267](go-gitea/gitea#35267)) - Disable field count validation of CSV viewer ([#​35228](go-gitea/gitea#35228)) - Add `has_code` to repository REST API ([#​35214](go-gitea/gitea#35214)) - Display pull request in merged commit view ([#​35202](go-gitea/gitea#35202)) - Support Basic Authentication for archive downloads ([#​35087](go-gitea/gitea#35087)) - Add hover background to table rows in user and repo admin page ([#​35072](go-gitea/gitea#35072)) - Partially refresh notifications list ([#​35010](go-gitea/gitea#35010)) - Also display "recently pushed branch" alert on PR view ([#​35001](go-gitea/gitea#35001)) - Refactor time tracker UI ([#​34983](go-gitea/gitea#34983)) - Improve CLI commands ([#​34973](go-gitea/gitea#34973)) - Improve project & label color picker and image scroll ([#​34971](go-gitea/gitea#34971)) - Improve NuGet API Parity ([#​21291](go-gitea/gitea#21291)) ([#​34940](go-gitea/gitea#34940)) - Support getting last commit message using contents-ext API ([#​34904](go-gitea/gitea#34904)) - Adds title on branch commit counts ([#​34869](go-gitea/gitea#34869)) - Add "Cancel workflow run" button to Actions list page ([#​34817](go-gitea/gitea#34817)) - Improve img lazy loading ([#​34804](go-gitea/gitea#34804)) - Forks repository list page follow other repositories page ([#​34784](go-gitea/gitea#34784)) - Add ff\_only parameter to POST /repos/{owner}/{repo}/merge-upstream ([#​34770](go-gitea/gitea#34770)) - Rework delete org and rename org UI ([#​34762](go-gitea/gitea#34762)) - Improve nuget/rubygems package registries ([#​34741](go-gitea/gitea#34741)) - Add repo file tree item link behavior ([#​34730](go-gitea/gitea#34730)) - Add issue delete notifier ([#​34592](go-gitea/gitea#34592)) - Improve Actions list ([#​34530](go-gitea/gitea#34530)) - Add a default tab on repo header when migrating ([#​34503](go-gitea/gitea#34503)) - Add post-installation redirect based on admin account status ([#​34493](go-gitea/gitea#34493)) - Trigger 'unlabeled' event when label is Deleted from PR ([#​34316](go-gitea/gitea#34316)) - Support annotated tags when using create release API ([#​31840](go-gitea/gitea#31840)) - Use lfs label for lfs file rather than a long description ([#​34363](go-gitea/gitea#34363)) - Add "View workflow file" to Actions list page ([#​34538](go-gitea/gitea#34538)) - Move organization's visibility change to danger zone. ([#​34814](go-gitea/gitea#34814)) - Don't block site admin's operation if SECRET\_KEY is lost ([#​35721](go-gitea/gitea#35721)) - Make restricted users can access public repositories ([#​35693](go-gitea/gitea#35693)) - The status icon of the Action step is consistent with GitHub ([#​35618](go-gitea/gitea#35618)) [#​35621](go-gitea/gitea#35621) - BUGFIXES - Update tab title when navigating file tree ([#​35757](go-gitea/gitea#35757)) [#​35772](go-gitea/gitea#35772) - Fix "ref-issue" handling in markup ([#​35739](go-gitea/gitea#35739)) [#​35771](go-gitea/gitea#35771) - Fix webhook to prevent tag events from bypassing branch filters targets ([#​35567](go-gitea/gitea#35567)) [#​35577](go-gitea/gitea#35577) - Fix markup init after issue comment editing ([#​35536](go-gitea/gitea#35536)) [#​35537](go-gitea/gitea#35537) - Fix creating pull request failure when the target branch name is the same as some tag ([#​35552](go-gitea/gitea#35552)) [#​35582](go-gitea/gitea#35582) - Fix auto-expand and auto-scroll for actions logs ([#​35570](go-gitea/gitea#35570)) ([#​35583](go-gitea/gitea#35583)) [#​35586](go-gitea/gitea#35586) - Use inputs context when parsing workflows ([#​35590](go-gitea/gitea#35590)) [#​35595](go-gitea/gitea#35595) - Fix diffpatch API endpoint ([#​35610](go-gitea/gitea#35610)) [#​35613](go-gitea/gitea#35613) - Creating push comments before invoke pull request checking ([#​35647](go-gitea/gitea#35647)) [#​35668](go-gitea/gitea#35668) - Fix missing Close when error occurs and abused connection pool ([#​35658](go-gitea/gitea#35658)) [#​35670](go-gitea/gitea#35670) - Fix build ([#​35674](go-gitea/gitea#35674)) - Use LFS object size instead of blob size when viewing a LFS file ([#​35679](go-gitea/gitea#35679)) - Fix workflow run event status while rerunning a failed job ([#​35689](go-gitea/gitea#35689)) - Avoid emoji mismatch and allow to only enable chosen emojis ([#​35692](go-gitea/gitea#35692)) - Refactor legacy code, fix LFS auth bypass, fix symlink bypass ([#​35708](go-gitea/gitea#35708)) - Fix various trivial problems ([#​35714](go-gitea/gitea#35714)) - Fix attachment file size limit in server backend ([#​35519](go-gitea/gitea#35519)) - Honor delete branch on merge repo setting when using merge API ([#​35488](go-gitea/gitea#35488)) - Fix external render, make iframe render work ([#​35727](go-gitea/gitea#35727), [#​35730](go-gitea/gitea#35730)) - Upgrade go mail to 0.7.2 ([#​35748](go-gitea/gitea#35748)) - Revert [#​18491](go-gitea/gitea#18491), fix oauth2 client link account ([#​35745](go-gitea/gitea#35745)) - Fix different behavior in status check pattern matching with double stars ([#​35474](go-gitea/gitea#35474)) - Fix overflow in notifications list ([#​35446](go-gitea/gitea#35446)) - Fix package link setting can only list limited repositories ([#​35394](go-gitea/gitea#35394)) - Extend comment treepath length ([#​35389](go-gitea/gitea#35389)) - Fix font-size in inline code comment preview ([#​35209](go-gitea/gitea#35209)) - Move git config/remote to gitrepo package and add global lock to resolve possible conflict when updating repository git config file ([#​35151](go-gitea/gitea#35151)) - Change some columns from text to longtext and fix column wrong type caused by xorm ([#​35141](go-gitea/gitea#35141)) - Redirect to a presigned URL of HEAD for HEAD requests ([#​35088](go-gitea/gitea#35088)) - Fix git commit committer parsing and add some tests ([#​35007](go-gitea/gitea#35007)) - Fix OCI manifest parser ([#​34797](go-gitea/gitea#34797)) - Refactor FindOrgOptions to use enum instead of bool, fix membership visibility ([#​34629](go-gitea/gitea#34629)) - Fix notification count positioning for variable-width elements ([#​34597](go-gitea/gitea#34597)) - Keeping consistent between UI and API about combined commit status state and fix some bugs ([#​34562](go-gitea/gitea#34562)) - Fix possible panic ([#​34508](go-gitea/gitea#34508)) - Fix autofocus behavior ([#​34397](go-gitea/gitea#34397)) - Fix Actions API ([#​35204](go-gitea/gitea#35204)) - Fix ListWorkflowRuns OpenAPI response model. ([#​35026](go-gitea/gitea#35026)) - Small fix in Pull Requests page ([#​34612](go-gitea/gitea#34612)) - Fix http auth header parsing ([#​34936](go-gitea/gitea#34936)) - Fix modal + form abuse ([#​34921](go-gitea/gitea#34921)) - Fix PR toggle WIP ([#​34920](go-gitea/gitea#34920)) - Fix log fmt ([#​34810](go-gitea/gitea#34810)) - Replace stopwatch toggle with explicit start/stop actions ([#​34818](go-gitea/gitea#34818)) - Fix some package registry problems ([#​34759](go-gitea/gitea#34759)) - Fix RPM package download routing & missing package version count ([#​34909](go-gitea/gitea#34909)) - Fix repo search input height ([#​34330](go-gitea/gitea#34330)) - Fix "The sidebar of the repository file list does not have a fixed height [#​34298](go-gitea/gitea#34298)" ([#​34321](go-gitea/gitea#34321)) - Fix minor typos in two files #HSFDPMUW ([#​34944](go-gitea/gitea#34944)) - Fix actions skipped commit status indicator ([#​34507](go-gitea/gitea#34507)) - Fix job status aggregation logic ([#​35000](go-gitea/gitea#35000)) - Fix broken OneDev migration caused by various REST API changes in OneDev 7.8.0 and later ([#​35216](go-gitea/gitea#35216)) - Fix typo in oauth2\_full\_name\_claim\_name string ([#​35199](go-gitea/gitea#35199)) - Fix typo in locale\_en-US.ini ([#​35196](go-gitea/gitea#35196)) - API - Exposing TimeEstimate field in the API ([#​35475](go-gitea/gitea#35475)) - UpdateBranch API supports renaming a branch ([#​35374](go-gitea/gitea#35374)) - Add `owner` and `parent` fields clarification to docs ([#​35023](go-gitea/gitea#35023)) - Improve OAuth2 provider (correct Issuer, respect ENABLED) ([#​34966](go-gitea/gitea#34966)) - Add a `login`/`login-name`/`username` disambiguation to affected endpoint parameters and response/request models ([#​34901](go-gitea/gitea#34901)) - Do not mutate incoming options to SearchRepositoryByName ([#​34553](go-gitea/gitea#34553)) - Do not mutate incoming options to RenderUserSearch and SearchUsers ([#​34544](go-gitea/gitea#34544)) - Export repo's manual merge settings ([#​34502](go-gitea/gitea#34502)) - Add date range filtering to commit retrieval endpoints ([#​34497](go-gitea/gitea#34497)) - Add endpoint deleting workflow run ([#​34337](go-gitea/gitea#34337)) - Add workflow\_run api + webhook ([#​33964](go-gitea/gitea#33964)) - REFACTOR - Move updateref and removeref to gitrepo and remove unnecessary open repository ([#​35511](go-gitea/gitea#35511)) - Remove unused param `doer` ([#​34545](go-gitea/gitea#34545)) - Split GetLatestCommitStatus as two functions ([#​34535](go-gitea/gitea#34535)) - Use gitrepo.SetDefaultBranch when set default branch of wiki repository ([#​33911](go-gitea/gitea#33911)) - Refactor editor ([#​34780](go-gitea/gitea#34780)) - Refactor packages ([#​34777](go-gitea/gitea#34777)) - Refactor container package ([#​34877](go-gitea/gitea#34877)) - Refactor "change file" API ([#​34855](go-gitea/gitea#34855)) - Rename pull request GetGitRefName to GetGitHeadRefName to prepare introducing GetGitMergeRefName ([#​35093](go-gitea/gitea#35093)) - Move git command to git/gitcmd ([#​35483](go-gitea/gitea#35483)) - Use db.WithTx/WithTx2 instead of TxContext when possible ([#​35428](go-gitea/gitea#35428)) - Support Node.js 22.6 with type stripping ([#​35427](go-gitea/gitea#35427)) - Migrate tools and configs to typescript, require node.js >= 22.18.0 ([#​35421](go-gitea/gitea#35421)) - Check user and repo for redirects when using git via SSH transport ([#​35416](go-gitea/gitea#35416)) - Remove the duplicated function GetTags ([#​35375](go-gitea/gitea#35375)) - Refactor to use reflect.TypeFor ([#​35370](go-gitea/gitea#35370)) - Deleting branch could delete broken branch which has database record but git branch is missing ([#​35360](go-gitea/gitea#35360)) - Exit with success when already up to date ([#​35312](go-gitea/gitea#35312)) - Split admin config settings templates to make it maintain easier ([#​35294](go-gitea/gitea#35294)) - A small refactor to use context in the service layer ([#​35179](go-gitea/gitea#35179)) - Refactor and update mail templates ([#​35150](go-gitea/gitea#35150)) - Use db.WithTx/WithTx2 instead of TxContext when possible ([#​35130](go-gitea/gitea#35130)) - Align `issue-title-buttons` with `list-header` ([#​35018](go-gitea/gitea#35018)) - Add Notifications section in User Settings ([#​35008](go-gitea/gitea#35008)) - Tweak placement of diff file menu ([#​34999](go-gitea/gitea#34999)) - Refactor mail template and support preview ([#​34990](go-gitea/gitea#34990)) - Rerun job only when run is done ([#​34970](go-gitea/gitea#34970)) - Merge index.js ([#​34963](go-gitea/gitea#34963)) - Refactor "delete-button" to "link-action" ([#​34962](go-gitea/gitea#34962)) - Refactor webhook and fix feishu/lark secret ([#​34961](go-gitea/gitea#34961)) - Exclude devtest.ts from tailwindcss ([#​34935](go-gitea/gitea#34935)) - Refactor head navbar icons ([#​34922](go-gitea/gitea#34922)) - Improve html escape ([#​34911](go-gitea/gitea#34911)) - Improve tags list page ([#​34898](go-gitea/gitea#34898)) - Improve `labels-list` rendering ([#​34846](go-gitea/gitea#34846)) - Remove unused variable HUGO\_VERSION ([#​34840](go-gitea/gitea#34840)) - Correct migration tab name ([#​34826](go-gitea/gitea#34826)) - Refactor template helper ([#​34819](go-gitea/gitea#34819)) - Use `shallowRef` instead of `ref` in `.vue` files where possible ([#​34813](go-gitea/gitea#34813)) - Use standalone function to update repository cols ([#​34811](go-gitea/gitea#34811)) - Refactor wiki ([#​34805](go-gitea/gitea#34805)) - Remove unnecessary duplicate code ([#​34733](go-gitea/gitea#34733)) - Refactor embedded assets and drop unnecessary dependencies ([#​34692](go-gitea/gitea#34692)) - Update x/crypto package and make builtin SSH use default parameters ([#​34667](go-gitea/gitea#34667)) - Add `--color-logo`, matching the logo's primary color ([#​34639](go-gitea/gitea#34639)) - Add openssh-keygen to rootless image ([#​34625](go-gitea/gitea#34625)) - Replace update repository function in some places ([#​34566](go-gitea/gitea#34566)) - Change "rejected" to "changes requested" in 3rd party PR review notification ([#​34481](go-gitea/gitea#34481)) - Remove legacy template helper functions ([#​34426](go-gitea/gitea#34426)) - Use run-name and evaluate workflow variables ([#​34301](go-gitea/gitea#34301)) - Move HasWiki to repository service package ([#​33912](go-gitea/gitea#33912)) - Move some functions from package git to gitrepo ([#​33910](go-gitea/gitea#33910)) - TESTING - Add webhook test for push event ([#​34442](go-gitea/gitea#34442)) - Add a webhook push test for dev branch ([#​34421](go-gitea/gitea#34421)) - Add migrations tests ([#​34456](go-gitea/gitea#34456)) ([#​34498](go-gitea/gitea#34498)) - STYLE - Enforce explanation for necessary nolints and fix bugs ([#​34883](go-gitea/gitea#34883)) - Fix remaining issues after `gopls modernize` formatting ([#​34771](go-gitea/gitea#34771)) - Update gofumpt, add go.mod ignore directive ([#​35434](go-gitea/gitea#35434)) - Enforce nolint scope ([#​34851](go-gitea/gitea#34851)) - Enable gocritic `equalFold` and fix issues ([#​34952](go-gitea/gitea#34952)) - Run `gopls modernize` on codebase ([#​34751](go-gitea/gitea#34751)) - Upgrade `gopls` to v0.19.0, add `make fix` ([#​34772](go-gitea/gitea#34772)) - BUILD - bump archives\&rar dep ([#​35637](go-gitea/gitea#35637)) [#​35638](go-gitea/gitea#35638) - Use github.com/mholt/archives replace github.com/mholt/archiver ([#​35390](go-gitea/gitea#35390)) - Update JS and PY dependencies ([#​35444](go-gitea/gitea#35444)) - Upgrade devcontainer go version to 1.24.6 ([#​35298](go-gitea/gitea#35298)) - Upgrade golang to 1.25.1 and add descriptions for the swagger structs' fields ([#​35418](go-gitea/gitea#35418)) - Update JS and PY deps ([#​35191](go-gitea/gitea#35191)) - Update JS and PY dependencies ([#​34391](go-gitea/gitea#34391)) - Update go tool dependencies ([#​34845](go-gitea/gitea#34845)) - Update `uint8-to-base64`, remove type stub ([#​34844](go-gitea/gitea#34844)) - Switch to `@resvg/resvg-wasm` for `generate-images` ([#​35415](go-gitea/gitea#35415)) - Switch to pnpm ([#​35274](go-gitea/gitea#35274)) - Update chroma to v2.20.0 ([#​35220](go-gitea/gitea#35220)) - Migrate to urfave v3 ([#​34510](go-gitea/gitea#34510)) - Update JS deps, regenerate SVGs ([#​34640](go-gitea/gitea#34640)) - Upgrade dependencies ([#​35384](go-gitea/gitea#35384)) - Bump `@github/relative-time-element` to v4.4.8 ([#​34413](go-gitea/gitea#34413)) - Update JS dependencies ([#​34951](go-gitea/gitea#34951)) - Upgrade orgmode to v1.8.0 ([#​34721](go-gitea/gitea#34721)) - Raise minimum Node.js version to 20, test on 24 ([#​34713](go-gitea/gitea#34713)) - Update JS deps ([#​34701](go-gitea/gitea#34701)) - Upgrade htmx to 2.0.6 ([#​34887](go-gitea/gitea#34887)) - Update eslint to v9 ([#​35485](go-gitea/gitea#35485)) - Update js dependencies ([#​35429](go-gitea/gitea#35429)) - Clean up npm dependencies ([#​35508](go-gitea/gitea#35508)) - Clean up npm dependencies ([#​35484](go-gitea/gitea#35484)) - Bump setup-node to v5 ([#​35448](go-gitea/gitea#35448)) - MISC - Add gitignore rules to exclude LLM instruction files ([#​35076](go-gitea/gitea#35076)) - Gitignore: Visual Studio settings folder ([#​34375](go-gitea/gitea#34375)) - Improve language in en-US locale strings ([#​35124](go-gitea/gitea#35124)) - Fixed all grammatical errors in locale\_en-US.ini ([#​35053](go-gitea/gitea#35053)) - Docs/fix typo and grammar in CONTRIBUTING.md ([#​35024](go-gitea/gitea#35024)) - Improve english grammar and readability in locale\_en-US.ini ([#​35017](go-gitea/gitea#35017)) Instances on **[Gitea Cloud](https://cloud.gitea.com)** will be automatically upgraded to this version during the specified maintenance window. </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNTUuNCIsInVwZGF0ZWRJblZlciI6IjQxLjE1NS40IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJpbWFnZSJdfQ==--> Reviewed-on: https://gitea.alexlebens.dev/alexlebens/infrastructure/pulls/1903 Co-authored-by: Renovate Bot <renovate-bot@alexlebens.net> Co-committed-by: Renovate Bot <renovate-bot@alexlebens.net>



This is a follow up for #35662, and also fix #31181, help #30275, fix #31161