You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The Conveyor update site (Sparkle appcast, metadata.properties, packages, apt repo) is served from GitHub Releases (releases/latest/download/...). From mainland China, GitHub is frequently unreachable without a proxy, so:
the Windows installer (Conveyor) channel cannot fetch update metadata;
the apt repository is unreachable for Linux users;
new-version discovery only works thanks to the crosspaste.com/api/desktop.json fallback, but the update itself still fails.
Conveyor's app.site.base-url is a single address with no client-side mirror/failover support, so the fix must live server-side: serve the update site from a domain we control, distributed globally.
Verified facts (2026-06-11)
oss.crosspaste.com is already behind Alibaba Cloud CDN (CNAME *.w.cdngslb.com) and is reachable from overseas (verified from a US egress);
release CI already uploads all artifacts to OSS (oss://crosspaste-desktop/<version>.<revision>/);
appcast enclosure URLs are absolute (baked from base-url), so metadata and packages must live under the same base URL;
Conveyor supports S3-compatible upload targets and app.site.move-from for migrating existing installs.
Plan
Phase 1 — mirror the update site to OSS (zero client impact): CI uploads the complete Conveyor site to a stable site/ prefix, packages first and metadata last; confirm CDN acceleration region covers overseas; set cache policy (short TTL for metadata, immutable for packages)
Phase 2 — switch app.site.base-url to https://oss.crosspaste.com/site with move-from pointing at the old GitHub URL; ship with a regular release
Phase 3 — observe: CDN hit rate/cost, overseas installs migrating via move-from, mainland macOS users updating via Sparkle end to end
Phase 4 — wrap up: website guidance for existing mainland macOS users (one manual download), GitHub Releases demoted to archive/download-page role
Notes
Existing mainland macOS installs cannot migrate automatically (their Sparkle feed points at GitHub); they need one manual download from the website.
The Microsoft Store and Windows portable-zip channels are unaffected (the zip updater already downloads from oss.crosspaste.com as its second source).
Problem
The Conveyor update site (Sparkle appcast,
metadata.properties, packages, apt repo) is served from GitHub Releases (releases/latest/download/...). From mainland China, GitHub is frequently unreachable without a proxy, so:crosspaste.com/api/desktop.jsonfallback, but the update itself still fails.Conveyor's
app.site.base-urlis a single address with no client-side mirror/failover support, so the fix must live server-side: serve the update site from a domain we control, distributed globally.Verified facts (2026-06-11)
oss.crosspaste.comis already behind Alibaba Cloud CDN (CNAME*.w.cdngslb.com) and is reachable from overseas (verified from a US egress);oss://crosspaste-desktop/<version>.<revision>/);base-url), so metadata and packages must live under the same base URL;app.site.move-fromfor migrating existing installs.Plan
site/prefix, packages first and metadata last; confirm CDN acceleration region covers overseas; set cache policy (short TTL for metadata, immutable for packages)app.site.base-urltohttps://oss.crosspaste.com/sitewithmove-frompointing at the old GitHub URL; ship with a regular releasemove-from, mainland macOS users updating via Sparkle end to endNotes
oss.crosspaste.comas its second source).