Skip to content

Repoint five dead URLs across five pages and drop the Netlify preview converter - #2071

Merged
zksquirrel merged 3 commits into
ZecHub:mainfrom
pdoxoverflow:fix/deadlinks-tex-zallet-wallets-zap1
Sep 14, 2026
Merged

zksquirrel merged 3 commits into
ZecHub:mainfrom
pdoxoverflow:fix/deadlinks-tex-zallet-wallets-zap1

Conversation

@pdoxoverflow

Copy link
Copy Markdown
Contributor

Fixes the approved bounty "Five dead links on English pages that ZecHub bounties rewrote in the last two months, including a Netlify deploy-preview URL" (pdoxoverflow, 0.02 ZEC).

Every old URL below returned 404 and every new one returned 200 on 2026-09-10, checked with a browser user agent (Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 ... Chrome/124).

Page Dead (404) Now points at (200)
Using_Zcash/Transparent_Exchange_Addresses.md L19 690e9524c66a3ecac5d54eff--jade-brioche-873777.netlify.app/ zips.z.cash/zip-0320#reference-implementation (hosted-converter sentence dropped)
guides/Raspberry_Pi_4_Full_Node.md L153 zcash.github.io/wallet zcash.github.io/zallet/
Using_Zcash/Wallets.md L65 blog.nerdbank.net/ezcash-app play.google.com/store/apps/details?id=com.Nerdbank.eZcash.App
Using_Zcash/Wallets.md L242 trezor.io/learn/a/zcash-zec trezor.io/learn/supported-assets/other-cryptocurrencies/zcash-what-it-is-and-how-it-works-with-trezor
Zcash_Tech/ZAP1_Attestation_Protocol.md L48 frontiercompute.io/operators.html github.com/Frontier-Compute/zap1/blob/main/OPERATOR_GUIDE.md
Zcash_Community/Community_Projects.md L78 blog.nerdbank.net/ezcash-app same Play listing as Wallets.md

The last row is outside the listing. It's the same dead eZcash URL as Wallets.md L65, so leaving it would've meant fixing the link on one page and shipping it broken on the next.

Why the TEX converter link was dropped rather than replaced

The old link was a Netlify deploy preview (<deploy-id>--<site>.netlify.app), the throwaway address of one build. The bounty says not to re-pin it to a newer preview, so I looked for a permanent home first:

  • The site's production alias (jade-brioche-873777.netlify.app) is up and does convert t1 to TEX. But it's a randomly named site with no source repo or owner listed, and I'd rather not send readers to paste addresses into something nobody can vouch for. If a maintainer knows who runs it, swapping it back in is a one-line change.
  • zechub.wiki's own Address Decoder (/tools?tool=address-decoder) only goes one way. I ran the ZIP 320 test vectors through the library it uses (@elemental-zcash/zaddr_wasm_parser 0.2.0): tex1s2rt77ggv6q989lr49rkgzmh5slsksa9khdgte decodes to t1VmmGiyjVNeCjxDZzg7vZmd99WyzVby9yC, but a t1 input returns only {"p2pkh": ...} with no TEX. So it can't do the t1 to TEX conversion this paragraph is about.
  • zcashd's z_converttex RPC went away with zcashd.

The sentence before the link already tells readers to run the reference implementation in ZIP 320, so that mention is now the link, pointing straight at the #reference-implementation section (a short JavaScript snippet).

Notes on the other replacements

  • Zallet Book now lives at zcash.github.io/zallet/. Four other wiki pages (Developer_Resources, Zcash_Resources, Viewing_Keys, the zcashd migration guide) already use that URL.
  • eZcash: the blog page is gone (WordPress "Page not found" with or without the trailing slash). The Google Play listing is published by Andrew Arnott and was last updated 2026-01-29. It's the only live first-party page I found. It covers Android, while the Wallets entry lists Android, iOS and Windows. If you'd rather not have a store link, the other honest option is unlinking the heading.
  • Trezor: its KB article on Zcash says Trezor devices only support t-addresses, which matches the entry's Pools: Transparent.
  • ZAP1: frontiercompute.io is now a single-page site with no operators page (/operators, /operators.html and the .cash equivalents all 404). The operator guide is OPERATOR_GUIDE.md at the root of the zap1 repo, which the same list already links for the source and protocol spec.

Translations

The 5 pages are curated, so their 90 translated copies (18 locales × 5 pages) carry the same dead URLs. They get the same swaps. On the TEX page each copy drops its hosted-converter sentence and links its existing zip-320 mention, the same edit as English.

translation/sync-state.json records the pass for all 90 entries as tool: <existing>+deadlink-5pages, with edited left false. Source hashes aren't touched, so the pipeline still retranslates the prose normally. Same pattern as #2022.

96 files: 5 English pages, 90 translated copies, 1 manifest.

Overlap with open PRs

Checks (run against the commit, base main @ 238f7bee)

node scripts/check-protected-terms.mjs --base upstream/main
  Protected terminology validation passed for 3762 translated page(s).
  (pre-existing violations reported as a notice, 0 from this change)
node scripts/check-frontmatter.mjs --base upstream/main
  Front-matter parity holds for 3762 translated page(s).
node translation/check-invariants.mjs --base upstream/main
  Manifest invariants hold: 209 curated pages, 18 locales.
node translation/gen-menu-titles.mjs --check
  menu-titles manifests up to date (19 files).
node --test translation/lib/*.test.mjs
  pass 86, fail 0

After the change, none of the five dead URLs appears as a link anywhere in site/ or translations/. One mention is left in newsletter/Digest 12-01-2025.md, inside the text of a quoted tweet whose link goes to x.com. It's an archived digest, so I left it alone.

rt and others added 2 commits September 10, 2026 17:37
…g, sw)

The machine locales were rendering the wallet directory's headings as glosses
rather than brands, because the segmenter handed each brand to the engine alone
and the protected-term guard could not tell the difference — the term was
present, the invention sat around it. Swahili, before:

    ## [Kipaji cha Ywallet]              "Ywallet's talent"
    ## [Zingo (mnyama)!]                 "Zingo (animal)!"
    ## [Shule ya Zkool]                  "Zkool school"
    ## [Zallet (Kifungu cha kulia)]      "Zallet (right-hand passage)"
    ## [Ledger (Kitabu cha hesabu)]      "Ledger (accounting book)"

Regenerated with the fixed tooling; every heading now carries the brand as
written. The Igbo side-menu label for the page changes with it, from
"ZODL (n'asụsụ Bekee)" — "ZODL (in the English language)" — to "ZODL".

Two upstream fixes made this possible, in bloxster/zcashinside-strategy:
9005269 stops the segmenter pulling a brand's trailing "!" into the url span,
and 4ba4660 stops any engine being handed a segment that is only a protected
term. Neither could repair what had already shipped: this page is not stale, so
no sync window would ever re-pick it.

`tool` records the pass on all three entries, per the manifest rule that a
changed translation must record why.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
… converter

- Transparent_Exchange_Addresses: the hosted TEX converter link was a Netlify
  deploy-preview URL (404). Drop the sentence and link the reference
  implementation in ZIP 320 that the page already tells readers to run.
- Raspberry_Pi_4_Full_Node: Zallet Book moved to zcash.github.io/zallet/.
- Wallets: eZcash blog page is gone (404); link the Google Play listing
  published by its developer. Trezor's learn URL moved to its KB article.
- ZAP1_Attestation_Protocol: operators.html is gone; link OPERATOR_GUIDE.md
  in the zap1 repository.
- Community_Projects: same dead eZcash URL as Wallets, same fix.

Translated copies get the same swaps; sync-state records the pass in `tool`
(+deadlink-5pages) so the pipeline retranslates the prose.
@pdoxoverflow
pdoxoverflow force-pushed the fix/deadlinks-tex-zallet-wallets-zap1 branch from 65d4fa2 to b5a0bc2 Compare September 10, 2026 18:06
…allet-wallets-zap1

# Conflicts:
#	translation/sync-state.json
#	translations/ak/site/Using_Zcash/Wallets.md
#	translations/ee/site/Using_Zcash/Wallets.md
#	translations/yo/site/Using_Zcash/Wallets.md
@zksquirrel
zksquirrel merged commit a705195 into ZecHub:main Sep 14, 2026
6 checks passed
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