A platform's file may name its architecture
A Mac is offered the macos-arm64 file rather than sent past it to TestFlight. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5.1
parent
aee5048b01
commit
fe7a868b18
@@ -4,6 +4,10 @@ One line per change, grouped by the release that shipped it. Newest
|
|||||||
first. A release is a Cargo.toml bump plus a `v<version>` tag; the
|
first. A release is a Cargo.toml bump plus a `v<version>` tag; the
|
||||||
content repos pin the tag they run (see the end of this file).
|
content repos pin the tag they run (see the end of this file).
|
||||||
|
|
||||||
|
## Unreleased
|
||||||
|
|
||||||
|
- A releases card lets a platform's file carry an architecture: a Mac visitor is offered the `macos-arm64` file, not sent to TestFlight past it.
|
||||||
|
|
||||||
## 0.6.19 (2026-10-05)
|
## 0.6.19 (2026-10-05)
|
||||||
|
|
||||||
- A `kind: url` resource whose JSON is a releases manifest (`latest`, `versions` with per-platform `assets`, `channels` such as a package repo or TestFlight) renders as a download card: the file for the visitor's own platform first, decided in the browser, the rest and the channels folded. Written for redoal's public releases at dl.redoal.com (docs: content-reference, "A releases manifest").
|
- A `kind: url` resource whose JSON is a releases manifest (`latest`, `versions` with per-platform `assets`, `channels` such as a package repo or TestFlight) renders as a download card: the file for the visitor's own platform first, decided in the browser, the rest and the channels folded. Written for redoal's public releases at dl.redoal.com (docs: content-reference, "A releases manifest").
|
||||||
|
|||||||
+2
-1
@@ -2226,7 +2226,8 @@ fn ReleasesCard(manifest: serde_json::Value) -> impl IntoView {
|
|||||||
let p = platform.get()?;
|
let p = platform.get()?;
|
||||||
let arch = arch_for_pick.clone();
|
let arch = arch_for_pick.clone();
|
||||||
let ios = ios_for_pick.clone();
|
let ios = ios_for_pick.clone();
|
||||||
let own = assets_for_pick.iter().find(|(pl, _, _)| pl == p).cloned();
|
// "macos" is satisfied by a "macos-arm64" file, and so on.
|
||||||
|
let own = assets_for_pick.iter().find(|(pl, _, _)| pl == p || pl.starts_with(&format!("{p}-"))).cloned();
|
||||||
let pick: Option<AnyView> = match (p, own) {
|
let pick: Option<AnyView> = match (p, own) {
|
||||||
(_, Some((pl, url, _))) => Some(view! {
|
(_, Some((pl, url, _))) => Some(view! {
|
||||||
<p><a class="pill" href=url download>{t(&lang().get(), "for_this_device")} ": " {label(&pl)}</a></p>
|
<p><a class="pill" href=url download>{t(&lang().get(), "for_this_device")} ": " {label(&pl)}</a></p>
|
||||||
|
|||||||
Reference in New Issue
Block a user