migrate URL references to amule-org and remove dead amule.org website refs - #526
Conversation
Following the org-migration discussion on PR amule-project#521, point all source / docs / packaging URLs at the new `amule-org` GitHub org that @mrjimenez bootstrapped on 2026-05-04. Two motivating reasons (per the thread): 1. The new active maintainer team needs proper write/admin access that the existing amule-project upper-level admins have been unreachable to grant. 2. The version-check probe added in amule-project#522 hardcodes its target URL into every shipped binary. If that URL stays at amule-project while future releases land on amule-org, the cohort of users on 3.0.0 will be permanently stranded querying a dead-end endpoint and never learn about 3.0.1+ via the in-app prompt. Flipping the URL pre-3.0.0-tag is the only way to keep them informed without dual-publishing maintenance burden. Seven references updated in lockstep: - `src/amule.cpp` — version-check probe URL. - `packaging/linux/flatpak/org.amule.aMule.yaml.in` — Flatpak manifest's git source URL (load-bearing — `flatpak-builder` clones from this URL at build time). - `org.amule.aMule.metainfo.xml` — AppStream bug-tracker URL, surfaces in Flathub / GNOME Software / KDE Discover. - `README.md` — logo image URL on raw.githubusercontent.com plus the Issues and Pull Requests link references. - `docs/INSTALL.md` — upstream-issue-tracker doc reference. - `docs/README.md` — GitHub Issues doc reference. Left as-is: - `src/HTTPDownload.cpp:252` — code comment referencing issue `amule-project#455` for historical context. The issue itself stays at amule-project regardless of where future development happens; the comment is a citation, not a forward reference. - The `amule-project.de` / `amule-project.net` mentions in `docs/CHANGELOG.md` 2003-era entries — those are old DNS domain references unrelated to the GitHub org. Note: this commit assumes `amule-org/amule` will exist as a real repo by the time this PR merges. The org was created 2026-05-04 with zero repos; the Flatpak build URL change in particular will fail the Packaging workflow until the repo is bootstrapped.
forum.amule.org / wiki.amule.org / www.amule.org / bugs.amule.org admins are MIA — replace with the GitHub equivalents: forum (general) -> github.com/amule-org/amule/discussions forum (bug) -> github.com/amule-org/amule/issues wiki -> github.com/amule-org/amule/wiki www -> github.com/amule-org/amule Translations are URL-only swaps (msgid + msgstr) so no msgmerge fuzz; OnFatalException blocks are not _()-wrapped so no .po impact from the slight rewording. Copyright headers and personal @amule.org emails kept as-is.
298376d to
e77558e
Compare
…k at /releases/latest The bare repo URL is fine as a generic link target but reads awkwardly as a homepage / default Nick. Two refinements: homepage / branding URL -> https://amule-org.github.io src/Preferences.cpp default Nick src/muuli_wdr.cpp initial Nick textbox placeholder src/amuleDlg.cpp About-box "Website:" line + new-version popup "at <URL>" line (whose preceding line says "at our homepage") org.amule.aMule.metainfo.xml AppStream <url type="homepage"> version.rc.in Windows resource Comments "find the latest version" -> /releases/latest src/amule.cpp CheckNewVersion log line src/amuleDlg.cpp "Visit … to check if a new version is available" Translations: per-block surgery — for each PO entry whose msgid was touched, the URL portion of the corresponding msgstr is updated 1:1 so msgid + msgstr stay synchronized (the previous attempt at this commit only patched msgid, leaving stale URLs in translated msgstrs). Two mid-host wrapped URLs (manpages-ro.po / manpages-ru.po `forum.amule.\n org/`) that escaped the commit-2 sweep are also fixed here. Audited: 0 msgid/msgstr URL mismatches across 38 po + 9 manpage po + 2 .pot files; msgfmt --check clean on all; msgmerge against regenerated .pot adds 0 fuzzy markers on de/it/fr/ja/zh_TW/ru/ro samples. Org-level Pages site (amule-org/amule-org.github.io) needs to exist before the .github.io URLs resolve — flagged in the PR TODO.
Audit pass after the three migration commits surfaced 50+ blocks where
msgid had been updated to a new URL form but the translated msgstr
still pointed at the old URL. Two root causes in the earlier sweeps:
Commit 2 ("remove dead amule.org website references"): the bug-board
forum URL was rewritten by matching the full English phrase
("Feel free to report any bugs to ..."), which only ever appears in
the msgid. Translated msgstrs in 32 languages kept the old
/discussions URL.
Commit 3 ("point homepage / nick / Comments at amule-org.github.io"):
the regex's negative lookahead `(?![/\w])` was Unicode-aware, so it
rejected `https://github.com/amule-org/amule` followed by CJK
characters (which are \w in Python's Unicode regex). Japanese,
Korean, and Czech msgstrs that put the URL adjacent to non-Latin
text were skipped.
This commit fixes both classes:
* 32 .po files: "Feel free to report any bugs" msgstr URL flipped
from /discussions → /issues to match the msgid.
* po/cs.po, po/ja.po, po/ko_KR.po: bare repo URL in msgstr extended
to /releases/latest where msgid says so (3 strings × 3 langs).
* po/ja.po, po/ko_KR.po: "More information…homepage" msgstr URL
flipped to https://amule-org.github.io for the two languages that
packed both English lines into a single translated string.
* po/hu.po: Hungarian agglutination quirk where the suffix `-on` /
`-ot` was glued to the URL by the commit-2 sweep
(`forum.amule.org-on` → `…/discussions-on`); now using the bare URL.
No msgid changes (msgids remain in lockstep with C++ source); msgmerge
fuzz counts unchanged on every sampled language; msgfmt --check clean
on all 47 .po files.
Two harmless residuals remain in the audit: po/ca.po + po/fr.po have
translators putting a sentence-ending `.` adjacent to /discussions
(`/discussions.`). The URL itself is correct — modern URL detection
strips trailing punctuation. Left as-is.
Problems
|
The wiki page on the new GitHub wiki uses U+2010 HYPHEN (‐) between "eD2k" and "Kademlia", not the ASCII hyphen. And GitHub auto-generates heading anchors as lowercase-dashed, so the old MediaWiki anchor "#What_is_LowID_and_HighID.3F" doesn't resolve either. Both fixed in one shot. The URL is the literal string the wiki page will live at on amule-org/amule once the wiki is bootstrapped — using the literal U+2010 char rather than %E2%80%90 percent-encoding for source readability; GitHub markdown renders it correctly.
|
Thanks for getting all of this set up! Quick responses: Pages site landing page — got it, I'll send a follow-up PR with a fuller landing page (homepage blurb, latest-release section, links to Wiki/Discussions/Issues). The current stub works fine in the meantime — none of the URLs that point at FAQ_eD2k‐Kademlia anchor — small correction: the actual wiki page uses U+2010 HYPHEN ( Commit 5 already points
Marked the PR Ready for Review now that |
The new wiki at amule-org/amule has the pages titled with spaces (which GitHub maps to '-' in URLs) and one with different capitalization (`AMuleWeb`). Updating our doc links to match what's actually live: Get_HighID -> Get-HighID FAQ_aMule -> FAQ-aMule Amuleweb -> AMuleWeb Amulesig.dat_file -> Amulesig.dat-file Onlinesig.dat_file -> Onlinesig.dat-file Translating_Wiki -> Translating-Wiki Translating_Docs -> Translating-Docs Backtraces, Firewall, Amuled, Amulecmd, Translations, and FAQ_eD2k‐Kademlia (U+2010 hyphen) already matched and are unchanged. No .po/.pot impact: wiki sub-page slugs only appear in README.md, docs/README.md, docs/amulesig.md — never in translatable strings (only the bare /wiki root is in translated user-facing strings, which is unaffected). All 13 URLs verified → 200 OK against the live wiki.
fc4dc3b to
4db7d27
Compare
Commit 4's agglutination sweep handled '/issues-on' and '/wiki-ot' but missed 'amule-org.github.io-on' on the IRC-line msgstr — that URL form only appeared in the Hungarian translation after commit 3 changed the IRC-line msgid from /amule (bare repo) to amule-org.github.io (homepage), and the Hungarian translator's '-on' locative suffix got glued to the new URL form. Caught during a comprehensive audit that fetched every URL referenced in any .md / .po / .pot file (concat-aware, so multi-line wraps don't slip through) and HEAD-checked them. 21/21 aMule-internal URLs now return 200 OK. While at it, dropped the matching '-en' locative on 'irc.freenode.net' in the same line for consistency (irc.freenode.net isn't a clickable URL but the agglutinated form was visually inconsistent with the homepage URL right next to it).
|
@mrjimenez bonus: I went ahead and built out the org-level Pages site to replace the placeholder — live at https://amule-org.github.io. It's plain static HTML/CSS/JS (no Jekyll, no build step), with sections for the 3.0.0 throughput highlights, screenshots gallery (with a small lightbox for keyboard navigation), per-OS download cards, and a resources footer. Source lives at amule-org/amule-org.github.io for further edits. Let me know what you think. This PR (#526) is also ready for review on the merge side — |
|
Hi @got3nks , The project page is Amazing! Congratulations for putting it up so quickly. The releases link works, in spite of not having any releases there, so I don't see a problem. Regards. |
…amule-project#526) CAICHSyncTask rewrites known2_64.met dropping every AICH hashset whose root hash is not referenced by a currently-loaded known file (CollectLiveAICHRoots). That prune is scheduled from two places: the startup sync, and CHashingTask::OnLastTask right after a file is hashed. The post-hashing schedule runs on a worker thread that can outrun the main-thread CamuleApp::OnFinishedHashing -> CKnownFileList::SafeAddKFile that registers the file it just hashed. When it does, that file's freshly-written hashset is absent from the live-roots snapshot and gets pruned as an orphan -- so a newly completed download can no longer load its AICH set (Verify Local Data checks MD4 only), until a later restart re-hashes it. The orphan-prune was added (commit 2971761) as a *startup* cleanup for hashsets whose known.met record was TTL-evicted by PruneDuplicates; the 2006 OnLastTask sync predates it and only ever meant to keep AICH hashes up to date. Gate the destructive prune behind an explicit CAICHSyncTask(pruneOrphans) flag, opted into only by the startup sync where the known-file list is authoritative. Post-hashing syncs still run CheckAICHHashes, just without the prune.
Summary
Six-commit prep for the
amule-project→amule-orgorg migration that mrjimenez announced (#521 thread).Stays in Draft until
amule-org/amuleis bootstrapped +amule-org/amule-org.github.ioPages site is up. The Flatpak manifest (commit 1) needs the repo to clone from; the homepage / nick / Comments URLs (commit 3) point athttps://amule-org.github.ioand 404 until the org-level Pages site exists.Commit 1 —
migrate references from amule-project to amule-orgPre-tag flip of every load-bearing URL so 3.0.0 binaries don't ship with stale links once the repo lives at the new org:
src/amule.cpp—/releases/latestversion-check API URLpackaging/linux/flatpak/org.amule.aMule.yaml.in— Flatpak git sourceorg.amule.aMule.metainfo.xml— AppStream bug-tracker URLREADME.md— logo image, Issues, Pullsdocs/INSTALL.md,docs/README.md— issue tracker linksCommit 2 —
remove dead amule.org website referencesforum.amule.org/wiki.amule.org/www.amule.org/bugs.amule.orgadmins are MIA. Mapping:forum.amule.org(general)github.com/amule-org/amule/discussionsforum.amule.org(bug)github.com/amule-org/amule/issueswiki.amule.orggithub.com/amule-org/amule/wikibugs.amule.orggithub.com/amule-org/amule/issueswww.amule.orggithub.com/amule-org/amuleTranslations are URL-only swaps applied symmetrically to msgid + msgstr in every
.pofile.OnFatalExceptionblocks (insrc/amule.cppandsrc/ExternalConnector.cpp) had a small rewording — those strings aren't_()-wrapped, so no .po impact.Copyright headers and personal
@amule.orgemails (Language-Team, AUTHORS, About-boxContact:line) left untouched.Commit 3 —
point homepage / nick / Comments at amule-org.github.io, version-check at /releases/latestThe bare repo URL works as a generic link target but reads awkwardly as a "homepage" or default Nick. Two refinements layered on top of commit 2:
Branding URL →
https://amule-org.github.io(org-level Pages):src/Preferences.cpp)src/muuli_wdr.cpp)src/amuleDlg.cpp:498)src/amule.cpp:1166— the surrounding text says "at our homepage", so the bare repo URL didn't fit)<url type="homepage">(org.amule.aMule.metainfo.xml)version.rc.in)"Find the latest version" →
/releases/latest:CheckNewVersionlog line (src/amule.cpp:1819)amuleDlg"Visit … to check if a new version is available" (src/amuleDlg.cpp:238)Translations: per-block surgery — for each PO entry whose msgid was touched, the URL portion of the corresponding msgstr is updated 1:1 so msgid + msgstr stay synchronized. Two mid-host wrapped URLs (
manpages-ro.po/manpages-ru.poforum.amule.\norg/) that escaped commit 2's sweep are also fixed here.Commit 4 —
fix translations: msgid/msgstr URL asymmetry across 32 .po filesAudit pass after commits 2 and 3 surfaced 50+ blocks where msgid had been updated to a new URL form but the translated msgstr still pointed at the old URL. Two root causes:
/discussionsinstead of/issues.(?![/\w])lookahead, which rejectedhttps://github.com/amule-org/amulefollowed by CJK characters. Japanese, Korean, and Czech msgstrs that put the URL adjacent to non-Latin text were skipped.Plus:
po/hu.poHungarian agglutination quirk where the suffix-on/-othad been glued to the URL by commit 2's sweep (forum.amule.org-on→…/discussions-on→ 404). Now using the bare URL (Hungarian text reads slightly less natural but is grammatical and the URL works).No msgid changes (msgids stay in lockstep with C++ source); msgmerge fuzz counts unchanged on every sampled language; msgfmt --check clean across all 47 .po files; final audit report 0 real msgid/msgstr URL mismatches (2 cosmetic residuals left:
po/ca.po+po/fr.potranslators glued a sentence-ending.adjacent to/discussions— the URL itself is correct, modern URL detection strips trailing punctuation).Commit 5 —
README: use the GitHub wiki form for the LowID/HighID FAQ linkThe wiki page on the new GitHub wiki uses U+2010 HYPHEN (
‐) between "eD2k" and "Kademlia", not the ASCII hyphen — confirmed against the actual wiki. And GitHub auto-generates heading anchors as lowercase-dashed, so the old MediaWiki anchor#What_is_LowID_and_HighID.3Fdoesn't resolve either.Both fixed in one shot in
README.md:wiki/FAQ_eD2k-Kademlia(ASCII hyphen) →wiki/FAQ_eD2k‐Kademlia(U+2010 hyphen, literal)#What_is_LowID_and_HighID.3F→#what-is-lowid-and-highidThe literal
‐character is used rather than%E2%80%90percent-encoding for source readability — GitHub markdown renders it correctly. This is the only inbound link affected; no other inbound references to that wiki page exist in the codebase.Commit 6 —
docs: align wiki URLs with the GitHub page names mrjimenez bootstrappedThe new wiki at
amule-org/amulehas 7 pages titled with spaces (which GitHub maps to-in URLs) and one with different capitalization (AMuleWeb). Updating doc links to match what's live, rather than asking mrjimenez to rename pages:wiki/Get_HighIDwiki/Get-HighIDwiki/FAQ_aMulewiki/FAQ-aMulewiki/Amulewebwiki/AMuleWebwiki/Amulesig.dat_filewiki/Amulesig.dat-filewiki/Onlinesig.dat_filewiki/Onlinesig.dat-filewiki/Translating_Wikiwiki/Translating-Wikiwiki/Translating_Docswiki/Translating-DocsBacktraces,Firewall,Amuled,Amulecmd,Translations, andFAQ_eD2k‐Kademlia(U+2010) already matched and are unchanged.No
.po/.potimpact: wiki sub-page slugs only appear inREADME.md,docs/README.md,docs/amulesig.md— never in translatable strings (only the bare/wikiroot is in user-facing translated strings, which is unaffected; verified by an audit that countedwiki/<slug>occurrences across all 47.pofiles vs the.potand found exact symmetry).All 13 wiki URLs verified → 200 OK against the live wiki.
Scope
200 files / +1317 / −1319 across the six commits. Includes:
amule.cpp,amuleDlg.cpp,amuled.cpp,DownloadQueue.cpp,ExternalConnector.cpp,OtherFunctions.cpp,Preferences.cpp,ServerSocket.cpp,WebServer.cpp,muuli_wdr.cpp,missing-template.htmlorg.amule.aMule.metainfo.xml,version.rc.in,scripts/update-po.sh(xgettext--msgid-bugs-address)po/*.po+po/amule.pot, 9docs/man/po/*.po+manpages.potdocs/man/+ 30 undersrc/utils/{cas,aLinkCreator,wxCas}/docs/README.md,docs/INSTALL.md,docs/README.md,docs/amulesig.mdTest plan
msgfmt --checkclean on all 47.pofilesxgettext-regenerated.potmatches the committed one (line-wrap aside; semantically identical)msgmergeagainst regenerated.potintroduces zero new fuzzy markers (verified on de/es/it/fr/ja/zh_TW/ru/ro/hu/ko_KR/cs)grep amule.orgwhole-tree shows only copyright headers,@amule.orgemails, attribution comments, and historicaldocs/CHANGELOG.mdentriesamule-org/amuleis bootstrapped — Packaging workflow needs to go green against the new originTODO once
amule-org/amuleis bootstrappedOrg-level Pages landing site
amule-org/amule-org.github.io(org-level GitHub Pages repo) with a small landing page that prominently links to:amule-org/amulerepo (main page, Releases, Wiki, Discussions, Issues)/releases/latesthttps://amule-org.github.io(default Nick, About-box Website, new-version popup, AppStream homepage, Windows resource Comments) 404s.Wiki pages to recreate
13 distinct landing pages — these all have inbound links from the binary, manpages, or docs that this PR rewrites; until the page exists at the new URL, the link is a 404. (GitHub wiki preserves underscores and most special chars in slugs verbatim, so the MediaWiki names map 1:1 in most cases. Exception:
FAQ_eD2k-Kademliaactually uses U+2010 HYPHEN — already handled in commit 5. If any other recreated page name diverges, flag here and I'll do a follow-up rewrite of inbound links.)wiki/Backtraces— how to generate a real backtrace. Linked from the OnFatalException crash output (src/amule.cpp,src/ExternalConnector.cpp).wiki/Get-HighID— getting a HighID / port forwarding. Linked fromdocs/README.md,README.md.wiki/Firewall— firewall rules for aMule. Linked fromdocs/README.md,README.md.wiki/FAQ-aMule— main FAQ. Linked fromREADME.md,docs/amulesig.md.wiki/FAQ_eD2k‐Kademlia(U+2010 hyphen betweeneD2kandKademlia; anchor#what-is-lowid-and-highid) — Linked fromREADME.md. Fixed in commit 5.wiki/Amuled—amuledsetup walkthrough. Linked fromdocs/README.md.wiki/Amulecmd—amulecmdwalkthrough. Linked fromdocs/README.md.wiki/AMuleWeb—amulewebwalkthrough. Linked fromdocs/README.md.wiki/Amulesig.dat-file—amulesig.datformat. Linked fromdocs/amulesig.md.wiki/Onlinesig.dat-file—onlinesig.datformat. Linked fromdocs/amulesig.md.wiki/Translations— translating aMule. Linked fromREADME.md.wiki/Translating-Wiki— translating the wiki. Linked fromREADME.md.wiki/Translating-Docs— translating the docs. Linked fromREADME.md.GitHub-side endpoints (mostly automatic when repo + wiki + Discussions are turned on)
https://github.com/amule-org/amule/wiki— F1 hotkey target (src/amuleDlg.cpp),amuledEC password error,ServerSocketLowID warning, About-box "FAQ" line, AppStream<url type="help">.https://github.com/amule-org/amule/discussions— About-box "Forum" line, no-template fallback (webserver),DownloadQueue.part.metrecovery hint,missing-template.html. Suggest a "General / Q&A" category as the forum replacement.https://github.com/amule-org/amule/issues—OnFatalException,WebServerinvalid-password-hash, "Feel free to report any bugs" About line,xgettext --msgid-bugs-address(soReport-Msgid-Bugs-Toin every.poheader points there), AppStream bug-tracker.https://github.com/amule-org/amule/releases/latest— outdated-version log line +amuleDlgnew-version-check hint both point at/releases/latest.https://github.com/amule-org/amule/pulls— README badge.