fix: release email links #9690

Merged
mfenniak merged 2 commits from VewDev/forgejo:fix-release-email-link into forgejo 2025-10-16 16:12:37 +02:00
Contributor

Use correct links (instance.com/owner/repo/archive/tag.extension) links in release emails, instead of the (/owner/repo) incomplete links.

I have manually tested this. Below is a screenshot of an email sent with the new version having correct hyperlinks.

Fixes #9482

Checklist

The contributor guide contains information that will be helpful to first time contributors. There also are a few conditions for merging Pull Requests in Forgejo repositories. You are also welcome to join the Forgejo development chatroom.

Tests

  • I added test coverage for Go changes...
    • in their respective *_test.go for unit tests.
    • in the tests/integration directory if it involves interactions with a live Forgejo server.
  • I added test coverage for JavaScript changes...

Manual test screenshots

image

Documentation

  • I created a pull request to the documentation to explain to Forgejo users how to use this change.
  • I did not document these changes and I do not expect someone else to do it.

Release notes

  • I do not want this change to show in the release notes.
  • I want the title to show in the release notes with a link to this pull request.
  • I want the content of the release-notes/<pull request number>.md to be be used for the release notes instead of the title.

Release notes

  • Bug fixes
    • PR: release email links
Use correct links (instance.com/owner/repo/archive/tag.extension) links in release emails, instead of the (/owner/repo) incomplete links. I have manually tested this. Below is a screenshot of an email sent with the new version having correct hyperlinks. Fixes #9482 ## Checklist The [contributor guide](https://forgejo.org/docs/next/contributor/) contains information that will be helpful to first time contributors. There also are a few [conditions for merging Pull Requests in Forgejo repositories](https://codeberg.org/forgejo/governance/src/branch/main/PullRequestsAgreement.md). You are also welcome to join the [Forgejo development chatroom](https://matrix.to/#/#forgejo-development:matrix.org). ### Tests - I added test coverage for Go changes... - [ ] in their respective `*_test.go` for unit tests. - [ ] in the `tests/integration` directory if it involves interactions with a live Forgejo server. - I added test coverage for JavaScript changes... - [ ] in `web_src/js/*.test.js` if it can be unit tested. - [ ] in `tests/e2e/*.test.e2e.js` if it requires interactions with a live Forgejo server (see also the [developer guide for JavaScript testing](https://codeberg.org/forgejo/forgejo/src/branch/forgejo/tests/e2e/README.md#end-to-end-tests)). #### Manual test screenshots ![image](/attachments/f00fb1f9-17f2-4df8-bc0d-3e8f215020cb) ### Documentation - [ ] I created a pull request [to the documentation](https://codeberg.org/forgejo/docs) to explain to Forgejo users how to use this change. - [x] I did not document these changes and I do not expect someone else to do it. ### Release notes - [ ] I do not want this change to show in the release notes. - [x] I want the title to show in the release notes with a link to this pull request. - [ ] I want the content of the `release-notes/<pull request number>.md` to be be used for the release notes instead of the title. <!--start release-notes-assistant--> ## Release notes <!--URL:https://codeberg.org/forgejo/forgejo--> - Bug fixes - [PR](https://codeberg.org/forgejo/forgejo/pulls/9690): <!--number 9690 --><!--line 0 --><!--description cmVsZWFzZSBlbWFpbCBsaW5rcw==-->release email links<!--description--> <!--end release-notes-assistant-->
Author
Contributor

Do I need to add tests for this?

Do I need to add tests for this?
Member

@VewDev If you can confirm that you've performed manual testing and include a screenshot in your PR description (eg. mouse over the link in an email, something like that), I'd be comfortable without any automated testing for this. 👍

@VewDev If you can confirm that you've performed manual testing and include a screenshot in your PR description (eg. mouse over the link in an email, something like that), I'd be comfortable without any automated testing for this. 👍
Author
Contributor

I have manually confirmed this now uses full hyperlinks

	<p>
		---
		<br>
		Downloads:
		<ul>
		=09
			<li>
				<a href=3D"http://localhost:3000/test/test/releases/tag/asd/archive/asd=
.zip" rel=3D"nofollow"><strong>Source Code (ZIP)</strong></a>
			</li>
			<li>
				<a href=3D"http://localhost:3000/test/test/releases/tag/asd/archive/asd=
.tar.gz" rel=3D"nofollow"><strong>Source Code (TAR.GZ)</strong></a>
			</li>
		=09
		=09
		</ul>
	</p>

This is the content of the HTML email with the new update.

However, while testing this, I found a related bug. The links are "correct" hyperlinks, but they are broken, there's nothing at that address.

I am going to upload a new commit to fix this second problem.

I have manually confirmed this now uses full hyperlinks ```html <p> --- <br> Downloads: <ul> =09 <li> <a href=3D"http://localhost:3000/test/test/releases/tag/asd/archive/asd= .zip" rel=3D"nofollow"><strong>Source Code (ZIP)</strong></a> </li> <li> <a href=3D"http://localhost:3000/test/test/releases/tag/asd/archive/asd= .tar.gz" rel=3D"nofollow"><strong>Source Code (TAR.GZ)</strong></a> </li> =09 =09 </ul> </p> ``` This is the content of the HTML email with the new update. However, while testing this, I found a related bug. The links are "correct" hyperlinks, but they are broken, there's nothing at that address. I am going to upload a new commit to fix this second problem.
VewDev changed title from WIP: fix: use full links in release emails to WIP: fix: release email links 2025-10-15 22:54:04 +02:00
VewDev force-pushed fix-release-email-link from 390fa9665d
Some checks failed
issue-labels / backporting (pull_request_target) Has been skipped
issue-labels / cascade (pull_request_target) Has been skipped
testing / frontend-checks (pull_request) Successful in 1m25s
testing / backend-checks (pull_request) Successful in 3m57s
testing / test-unit (pull_request) Successful in 8m28s
testing / test-remote-cacher (redis) (pull_request) Successful in 2m36s
testing / test-mysql (pull_request) Successful in 24m46s
testing / test-remote-cacher (valkey) (pull_request) Successful in 2m20s
testing / test-remote-cacher (garnet) (pull_request) Successful in 2m26s
testing / test-remote-cacher (redict) (pull_request) Successful in 2m41s
testing / test-e2e (pull_request) Successful in 29m27s
testing / test-sqlite (pull_request) Successful in 30m50s
testing / test-pgsql (pull_request) Successful in 34m41s
testing / security-check (pull_request) Successful in 59s
issue-labels / release-notes (pull_request_target) Has been skipped
requirements / merge-conditions (pull_request) Failing after 3s
to 63c2ce3de1
Some checks failed
testing / frontend-checks (pull_request) Successful in 1m51s
testing / backend-checks (pull_request) Failing after 3m53s
testing / test-unit (pull_request) Has been skipped
testing / test-e2e (pull_request) Has been skipped
testing / test-mysql (pull_request) Has been skipped
testing / test-pgsql (pull_request) Has been skipped
testing / test-sqlite (pull_request) Has been skipped
testing / test-remote-cacher (redis) (pull_request) Has been skipped
testing / test-remote-cacher (valkey) (pull_request) Has been skipped
testing / test-remote-cacher (garnet) (pull_request) Has been skipped
testing / test-remote-cacher (redict) (pull_request) Has been skipped
testing / security-check (pull_request) Has been skipped
Integration tests for the release process / release-simulation (pull_request) Successful in 6m9s
issue-labels / backporting (pull_request_target) Has been skipped
requirements / merge-conditions (pull_request) Successful in 3s
issue-labels / cascade (pull_request_target) Has been skipped
issue-labels / release-notes (pull_request_target) Has been skipped
2025-10-15 23:35:11 +02:00
Compare
Author
Contributor

Okay so the Release object already had TarURL and ZipURL properties, and building a hyperlink in the template was not needed at all.

I have changed my commit to use those properties, and now the links properly reference the files.

Okay so the Release object already had TarURL and ZipURL properties, and building a hyperlink in the template was not needed at all. I have changed my commit to use those properties, and now the links properly reference the files.
VewDev changed title from WIP: fix: release email links to fix: release email links 2025-10-15 23:37:52 +02:00
Member

@VewDev Just has a minor formatting consistency issue being reported by the automated checks: https://codeberg.org/forgejo/forgejo/actions/runs/110762/jobs/0

@VewDev Just has a minor formatting consistency issue being reported by the automated checks: https://codeberg.org/forgejo/forgejo/actions/runs/110762/jobs/0
style: fix formatting consistency issues
Some checks failed
testing / frontend-checks (pull_request) Successful in 58s
testing / backend-checks (pull_request) Successful in 2m59s
Integration tests for the release process / release-simulation (pull_request) Successful in 6m24s
testing / test-unit (pull_request) Successful in 7m41s
testing / test-remote-cacher (valkey) (pull_request) Successful in 4m27s
testing / test-remote-cacher (redis) (pull_request) Successful in 4m30s
testing / test-remote-cacher (garnet) (pull_request) Successful in 4m28s
testing / test-remote-cacher (redict) (pull_request) Successful in 4m29s
testing / test-mysql (pull_request) Successful in 27m37s
testing / test-e2e (pull_request) Successful in 32m21s
testing / test-sqlite (pull_request) Successful in 33m39s
testing / test-pgsql (pull_request) Successful in 36m54s
testing / security-check (pull_request) Successful in 1m19s
milestone / set (pull_request_target) Successful in 21s
issue-labels / cascade (pull_request_target) Has been skipped
issue-labels / backporting (pull_request_target) Failing after 28s
requirements / merge-conditions (pull_request) Successful in 3s
issue-labels / release-notes (pull_request_target) Successful in 1m20s
9489634c1c
Author
Contributor

@mfenniak I have added a new commit fixing the formatting issue and all checks are apparently passing now

@mfenniak I have added a new commit fixing the formatting issue and all checks are apparently passing now
mfenniak approved these changes 2025-10-16 16:12:15 +02:00
mfenniak merged commit 5b13c6e024 into forgejo 2025-10-16 16:12:37 +02:00
mfenniak referenced this pull request from a commit 2025-10-16 16:12:46 +02:00
Member

@VewDev Thanks for fixing this!

@VewDev Thanks for fixing this!

The backport to v13.0/forgejo failed. Check the latest run for more details.

The backport to `v13.0/forgejo` failed. Check the latest run for more details.

The backport to v13.0/forgejo failed. Check the latest run for more details.

The backport to `v13.0/forgejo` failed. Check the latest run for more details.
Where does that come from? The following is a preview of the release notes for this pull request, as they will appear in the upcoming release. They are derived from the content of the `release-notes/9690.md` file, if it exists, or the title of the pull request. They were also added at the bottom of the description of this pull request for easier reference.

This message and the release notes originate from a call to the release-notes-assistant.

@@ -33,2 +33,10 @@
 - [x] I want the title to show in the release notes with a link to this pull request.
 - [ ] I want the content of the `release-notes/<pull request number>.md` to be be used for the release notes instead of the title.
+
+<!--start release-notes-assistant-->
+
+## Release notes
+<!--URL:https://codeberg.org/forgejo/forgejo-->
+- Bug fixes
+  - [PR](https://codeberg.org/forgejo/forgejo/pulls/9690): <!--number 9690 --><!--line 0 --><!--description cmVsZWFzZSBlbWFpbCBsaW5rcw==-->release email links<!--description-->
+<!--end release-notes-assistant-->

Release notes

  • Bug fixes
    • PR: release email links
<details> <summary>Where does that come from?</summary> The following is a preview of the release notes for this pull request, as they will appear in the upcoming release. They are derived from the content of the `release-notes/9690.md` file, if it exists, or the title of the pull request. They were also added at the bottom of the description of this pull request for easier reference. This message and the release notes originate from a call to the [release-notes-assistant](https://code.forgejo.org/forgejo/release-notes-assistant). ```diff @@ -33,2 +33,10 @@ - [x] I want the title to show in the release notes with a link to this pull request. - [ ] I want the content of the `release-notes/<pull request number>.md` to be be used for the release notes instead of the title. + +<!--start release-notes-assistant--> + +## Release notes +<!--URL:https://codeberg.org/forgejo/forgejo--> +- Bug fixes + - [PR](https://codeberg.org/forgejo/forgejo/pulls/9690): <!--number 9690 --><!--line 0 --><!--description cmVsZWFzZSBlbWFpbCBsaW5rcw==-->release email links<!--description--> +<!--end release-notes-assistant--> ``` </details> <!--start release-notes-assistant--> ## Release notes <!--URL:https://codeberg.org/forgejo/forgejo--> - Bug fixes - [PR](https://codeberg.org/forgejo/forgejo/pulls/9690): <!--number 9690 --><!--line 0 --><!--description cmVsZWFzZSBlbWFpbCBsaW5rcw==-->release email links<!--description--> <!--end release-notes-assistant-->
jasewolf referenced this pull request from a commit 2025-11-16 14:02:47 +01:00
alberic89 referenced this pull request from a commit 2026-02-23 18:42:55 +01:00
Sign in to join this conversation.
No reviewers
No labels
arch
riscv64
backport/v1.19
backport/v1.20
backport/v1.21/forgejo
backport/v10.0/forgejo
backport/v11.0/forgejo
backport/v12.0/forgejo
backport/v13.0/forgejo
backport/v14.0/forgejo
backport/v15.0/forgejo
backport/v7.0/forgejo
backport/v8.0/forgejo
backport/v9.0/forgejo
breaking
bug
bug
confirmed
bug
duplicate
bug
needs-more-info
bug
new-report
bug
reported-upstream
code/actions
code/api
code/auth
code/auth/faidp
code/auth/farp
code/email
code/federation
code/git
code/migrations
code/packages
code/wiki
database
MySQL
database
PostgreSQL
database
SQLite
dependency-upgrade
dependency
Chi
dependency
Chroma
dependency
F3
dependency
ForgeFed
dependency
garage
dependency
Gitea
dependency
Golang
Discussion
duplicate
enhancement/feature
forgejo/accessibility
forgejo/branding
forgejo/ci
forgejo/commit-graph
forgejo/documentation
forgejo/furnace cleanup
forgejo/i18n
forgejo/interop
forgejo/moderation
forgejo/privacy
forgejo/release
forgejo/scaling
forgejo/security
forgejo/ui
Gain
High
Gain
Nice to have
Gain
Undefined
Gain
Very High
good first issue
i18n/backport-stable
impact
large
impact
medium
impact
small
impact
unknown
Incompatible license
issue
closed
issue
do-not-exist-yet
issue
open
manual test
Manually tested during feature freeze
OS
FreeBSD
OS
Linux
OS
macOS
OS
Windows
problem
QA
regression
release blocker
Release Cycle
Feature Freeze
release-blocker
v7.0
release-blocker
v7.0.1
release-blocker
v7.0.2
release-blocker
v7.0.3
release-blocker
v7.0.4
release-blocker
v8.0.0
release-blocker/v9.0.0
run-all-playwright-tests
run-end-to-end-tests
stage
2-research
stage
3-design
stage
4-implementation
test
manual
test
needed
test
needs-help
test
not-needed
test
present
untested
User research - time-tracker
valuable code
worth a release-note
User research - Accessibility
User research - Blocked
User research - Community
User research - Config (instance)
User research - Errors
User research - Filters
User research - Future backlog
User research - Git workflow
User research - Labels
User research - Moderation
User research - Needs input
User research - Notifications/Dashboard
User research - Rendering
User research - Repo creation
User research - Repo units
User research - Security
User research - Settings (in-app)
No milestone
No project
No assignees
4 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
forgejo/forgejo!9690
No description provided.