Skip to content

migrate URL references to amule-org and remove dead amule.org website refs - #526

Merged
mrjimenez merged 7 commits into
amule-project:masterfrom
got3nks:pr-migrate-references-amule-org
May 5, 2026
Merged

migrate URL references to amule-org and remove dead amule.org website refs#526
mrjimenez merged 7 commits into
amule-project:masterfrom
got3nks:pr-migrate-references-amule-org

Conversation

@got3nks

@got3nks got3nks commented May 4, 2026

Copy link
Copy Markdown
Contributor

Summary

Six-commit prep for the amule-projectamule-org org migration that mrjimenez announced (#521 thread).

Stays in Draft until amule-org/amule is bootstrapped + amule-org/amule-org.github.io Pages site is up. The Flatpak manifest (commit 1) needs the repo to clone from; the homepage / nick / Comments URLs (commit 3) point at https://amule-org.github.io and 404 until the org-level Pages site exists.

Commit 1 — migrate references from amule-project to amule-org

Pre-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/latest version-check API URL
  • packaging/linux/flatpak/org.amule.aMule.yaml.in — Flatpak git source
  • org.amule.aMule.metainfo.xml — AppStream bug-tracker URL
  • README.md — logo image, Issues, Pulls
  • docs/INSTALL.md, docs/README.md — issue tracker links

Commit 2 — remove dead amule.org website references

forum.amule.org / wiki.amule.org / www.amule.org / bugs.amule.org admins are MIA. Mapping:

old new
forum.amule.org (general) github.com/amule-org/amule/discussions
forum.amule.org (bug) github.com/amule-org/amule/issues
wiki.amule.org github.com/amule-org/amule/wiki
bugs.amule.org github.com/amule-org/amule/issues
www.amule.org github.com/amule-org/amule

Translations are URL-only swaps applied symmetrically to msgid + msgstr in every .po file.

OnFatalException blocks (in src/amule.cpp and src/ExternalConnector.cpp) had a small rewording — those strings aren't _()-wrapped, so no .po impact.

Copyright headers and personal @amule.org emails (Language-Team, AUTHORS, About-box Contact: line) left untouched.

Commit 3 — point homepage / nick / Comments at amule-org.github.io, version-check at /releases/latest

The 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 URLhttps://amule-org.github.io (org-level Pages):

  • Default Nick (src/Preferences.cpp)
  • Initial Nick textbox placeholder (src/muuli_wdr.cpp)
  • About-box "Website:" line (src/amuleDlg.cpp:498)
  • New-version popup "at <homepage URL>" line (src/amule.cpp:1166 — the surrounding text says "at our homepage", so the bare repo URL didn't fit)
  • AppStream <url type="homepage"> (org.amule.aMule.metainfo.xml)
  • Windows resource Comments (version.rc.in)

"Find the latest version"/releases/latest:

  • CheckNewVersion log 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.po forum.amule.\norg/) that escaped commit 2's sweep are also fixed here.

Commit 4 — fix translations: msgid/msgstr URL asymmetry across 32 .po files

Audit 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:

  • Commit 2's "Feel free to report any bugs" rewrite matched the full English phrase, which only appears in msgids. 32 translated msgstrs kept /discussions instead of /issues.
  • Commit 3's regex used Unicode-aware (?![/\w]) lookahead, which rejected https://github.com/amule-org/amule followed by CJK characters. Japanese, Korean, and Czech msgstrs that put the URL adjacent to non-Latin text were skipped.

Plus: po/hu.po Hungarian agglutination quirk where the suffix -on / -ot had 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.po translators 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 link

The 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.3F doesn'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-highid

The literal character is used rather than %E2%80%90 percent-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 bootstrapped

The new wiki at amule-org/amule has 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:

Was Now
wiki/Get_HighID wiki/Get-HighID
wiki/FAQ_aMule wiki/FAQ-aMule
wiki/Amuleweb wiki/AMuleWeb
wiki/Amulesig.dat_file wiki/Amulesig.dat-file
wiki/Onlinesig.dat_file wiki/Onlinesig.dat-file
wiki/Translating_Wiki wiki/Translating-Wiki
wiki/Translating_Docs wiki/Translating-Docs

Backtraces, Firewall, Amuled, Amulecmd, Translations, and FAQ_eD2k‐Kademlia (U+2010) 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 user-facing translated strings, which is unaffected; verified by an audit that counted wiki/<slug> occurrences across all 47 .po files vs the .pot and found exact symmetry).

All 13 wiki URLs verified → 200 OK against the live wiki.

Scope

200 files / +1317 / −1319 across the six commits. Includes:

  • Source: amule.cpp, amuleDlg.cpp, amuled.cpp, DownloadQueue.cpp, ExternalConnector.cpp, OtherFunctions.cpp, Preferences.cpp, ServerSocket.cpp, WebServer.cpp, muuli_wdr.cpp, missing-template.html
  • Packaging/metadata: org.amule.aMule.metainfo.xml, version.rc.in, scripts/update-po.sh (xgettext --msgid-bugs-address)
  • Translations: 38 po/*.po + po/amule.pot, 9 docs/man/po/*.po + manpages.pot
  • Manpages: 60 under docs/man/ + 30 under src/utils/{cas,aLinkCreator,wxCas}/docs/
  • Docs: README.md, docs/INSTALL.md, docs/README.md, docs/amulesig.md

Test plan

  • msgfmt --check clean on all 47 .po files
  • xgettext-regenerated .pot matches the committed one (line-wrap aside; semantically identical)
  • msgmerge against regenerated .pot introduces zero new fuzzy markers (verified on de/es/it/fr/ja/zh_TW/ru/ro/hu/ko_KR/cs)
  • Comprehensive msgid/msgstr URL path audit: 0 real mismatches (2 cosmetic residuals only; URLs functional)
  • grep amule.org whole-tree shows only copyright headers, @amule.org emails, attribution comments, and historical docs/CHANGELOG.md entries
  • Flip to "Ready for review" once amule-org/amule is bootstrapped — Packaging workflow needs to go green against the new origin

TODO once amule-org/amule is bootstrapped

Org-level Pages landing site

  • Create amule-org/amule-org.github.io (org-level GitHub Pages repo) with a small landing page that prominently links to:
    • The amule-org/amule repo (main page, Releases, Wiki, Discussions, Issues)
    • A "Download" section pointing at /releases/latest
    • Until this exists, every URL pointing at https://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-Kademlia actually 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 from docs/README.md, README.md.
  • wiki/Firewall — firewall rules for aMule. Linked from docs/README.md, README.md.
  • wiki/FAQ-aMule — main FAQ. Linked from README.md, docs/amulesig.md.
  • wiki/FAQ_eD2k‐Kademlia (U+2010 hyphen between eD2k and Kademlia; anchor #what-is-lowid-and-highid) — Linked from README.md. Fixed in commit 5.
  • wiki/Amuledamuled setup walkthrough. Linked from docs/README.md.
  • wiki/Amulecmdamulecmd walkthrough. Linked from docs/README.md.
  • wiki/AMuleWebamuleweb walkthrough. Linked from docs/README.md.
  • wiki/Amulesig.dat-fileamulesig.dat format. Linked from docs/amulesig.md.
  • wiki/Onlinesig.dat-fileonlinesig.dat format. Linked from docs/amulesig.md.
  • wiki/Translations — translating aMule. Linked from README.md.
  • wiki/Translating-Wiki — translating the wiki. Linked from README.md.
  • wiki/Translating-Docs — translating the docs. Linked from README.md.

GitHub-side endpoints (mostly automatic when repo + wiki + Discussions are turned on)

  • Wiki Home https://github.com/amule-org/amule/wiki — F1 hotkey target (src/amuleDlg.cpp), amuled EC password error, ServerSocket LowID warning, About-box "FAQ" line, AppStream <url type="help">.
  • Discussions enabled https://github.com/amule-org/amule/discussions — About-box "Forum" line, no-template fallback (webserver), DownloadQueue .part.met recovery hint, missing-template.html. Suggest a "General / Q&A" category as the forum replacement.
  • Issues enabled https://github.com/amule-org/amule/issuesOnFatalException, WebServer invalid-password-hash, "Feel free to report any bugs" About line, xgettext --msgid-bugs-address (so Report-Msgid-Bugs-To in every .po header points there), AppStream bug-tracker.
  • Releases populated https://github.com/amule-org/amule/releases/latest — outdated-version log line + amuleDlg new-version-check hint both point at /releases/latest.
  • Pulls page (automatic) https://github.com/amule-org/amule/pulls — README badge.

got3nks added 2 commits May 4, 2026 16:09
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.
@got3nks
got3nks force-pushed the pr-migrate-references-amule-org branch from 298376d to e77558e Compare May 4, 2026 21:38
got3nks added 2 commits May 4, 2026 23:41
…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.
@mrjimenez

mrjimenez commented May 5, 2026

Copy link
Copy Markdown
Contributor

Problems

  • Create amule-org/amule-org.github.io (org-level GitHub Pages repo) with a small landing page that prominently links to:
    • Very primitive, feel free to zap it.
  • wiki/FAQ_eD2k-Kademlia (must keep the #What_is_LowID_and_HighID.3F anchor working) — Linked from README.md:
    • GitHub's link structure did not preserve the link name. Became this: https://github.com/amule-org/amule/wiki/FAQ_eD2k-Kademlia#what-is-lowid-and-highid
  • Releases populated https://github.com/amule-org/amule/releases/latest — outdated-version log line + amuleDlg new-version-check hint both point at /releases/latest:
    • I guess we have to release to do that.

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.
@got3nks
got3nks marked this pull request as ready for review May 5, 2026 07:58
@got3nks

got3nks commented May 5, 2026

Copy link
Copy Markdown
Contributor Author

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 amule-org.github.io are time-critical.

FAQ_eD2k‐Kademlia anchor — small correction: the actual wiki page uses U+2010 HYPHEN (, not the ASCII -). The ASCII-hyphen URL (/wiki/FAQ_eD2k-Kademlia) 302-redirects to the wiki home, while the U+2010 form (/wiki/FAQ_eD2k%E2%80%90Kademlia) returns 200:

$ curl -sI https://github.com/amule-org/amule/wiki/FAQ_eD2k-Kademlia | head -1
HTTP/2 302
$ curl -sI https://github.com/amule-org/amule/wiki/FAQ_eD2k%E2%80%90Kademlia | head -1
HTTP/2 200

Commit 5 already points README.md's [HighID]: link at the U+2010 form (using the literal character rather than %E2%80%90 for source readability — GitHub markdown renders it correctly). The lowercase-dashed anchor #what-is-lowid-and-highid matches what GitHub auto-generates from the heading.

/releases/latest — fully agree, the URL will resolve as soon as a release is tagged. The text describing the link is correct ("the latest version") regardless of release timing; pre-release the link just shows the empty Releases page, which is benign.

Marked the PR Ready for Review now that amule-org/amule is bootstrapped. Flatpak will tell us if it builds clean against the new origin once this lands; if not I'll send a follow-up.

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.
@got3nks
got3nks force-pushed the pr-migrate-references-amule-org branch from fc4dc3b to 4db7d27 Compare May 5, 2026 08:28
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).
@got3nks

got3nks commented May 5, 2026

Copy link
Copy Markdown
Contributor Author

@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 — amule-org/amule is bootstrapped, all 21 internal URLs verified 200 OK, msgfmt clean across all 47 .po files, msgid/msgstr URL audit shows zero real mismatches. Once it lands on amule-project/amule:master I'll mirror the merged state to amule-org/amule:master so the Flatpak source URL in commit 1 starts resolving and the Packaging workflow can go green there.

@mrjimenez
mrjimenez merged commit b719355 into amule-project:master May 5, 2026
12 checks passed
@mrjimenez

Copy link
Copy Markdown
Contributor

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.

@got3nks
got3nks deleted the pr-migrate-references-amule-org branch May 6, 2026 15:50
got3nks added a commit to got3nks/amule that referenced this pull request Jul 20, 2026
…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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants