From 2b86d4ca523644a0130360f93ed150dea8f7f0ee Mon Sep 17 00:00:00 2001 From: Brandon Thomas Date: Mon, 12 Oct 2026 05:02:23 -0400 Subject: [PATCH] Point the details pictures at storytold/craft-launcher-assets (#221) The pictures repo was renamed from artcraft-launcher-assets to match craft-launcher. GitHub redirects the old name for now, but the launcher should not depend on that. Co-authored-by: Claude Opus 5.5 --- AGENTS.md | 2 +- ATTRIBUTION.md | 2 +- crates/core/src/details.rs | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index d8aaba5..4cdb8cf 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -63,7 +63,7 @@ settings file must produce an error the user can act on, never a panic. Shared s release builds never enable. - Verify each download against the release's `SHA256SUMS.txt` before running or installing it. - The details drawer's pictures are the one other download: JPEGs only, from a pinned tag of - `https://raw.githubusercontent.com/storytold/artcraft-launcher-assets/` (`core::details`), + `https://raw.githubusercontent.com/storytold/craft-launcher-assets/` (`core::details`), capped at 2 MB each, cached, and never run. Pictures are not bundled in this repo. - Never run an installer with elevated rights silently; tell the user what is about to happen. - Never delete a user's files outside what the launcher itself installed. diff --git a/ATTRIBUTION.md b/ATTRIBUTION.md index 49f1665..6ac0fd2 100644 --- a/ATTRIBUTION.md +++ b/ATTRIBUTION.md @@ -15,7 +15,7 @@ next to them. | `assets/social/linkedin.svg` | LinkedIn logo, linking to ArtCraft's company page | Fonticons, Inc. ([Font Awesome Free](https://fontawesome.com) 6.7.2) | Font Awesome Free `svgs/brands/linkedin.svg`; white fill and a square view box, see [`assets/social/README.md`](assets/social/README.md) | CC BY 4.0. The logo is a trademark of LinkedIn Corporation. | | `assets/social/x.svg`, `youtube.svg`, `tiktok.svg`, `instagram.svg` | X, YouTube, TikTok and Instagram logos, linking to ArtCraft's accounts | [Simple Icons](https://simpleicons.org/) contributors | Simple Icons, `fill` set to white for tinting; see [`assets/social/README.md`](assets/social/README.md) | CC0 1.0. The logos are trademarks of X Corp., Google LLC, TikTok / ByteDance and Meta Platforms, Inc. | | `docs/screenshots/artcraft-launcher-grid.png`, `artcraft-launcher-table.png` | Screenshots of ArtCraft Launcher (macOS: grid view in dark theme, table view in light theme), used in the README | ArtCraft Launcher contributors | Captured from the app | MIT OR Apache-2.0 for the screenshot itself; the ArtCraft logo in it stays an ArtCraft trademark ([`docs/brand/LICENSE-brand.txt`](docs/brand/LICENSE-brand.txt)) and the app icons in it keep their own licenses (above) | -| (not bundled) the pictures on each app's details page | Screenshots of the Craft Apps, fetched when a page is opened and kept in the launcher's cache folder | The apps' contributors | [storytold/artcraft-launcher-assets](https://github.com/storytold/artcraft-launcher-assets), pinned to a tag (`SCREENSHOTS_REV` in `crates/core/src/details.rs`); each picture's source and license are listed in that repository's `ATTRIBUTION.md` | Each app's own license for the interface (MIT OR Apache-2.0); the work shown in them is public domain or made in the app, as that file says | +| (not bundled) the pictures on each app's details page | Screenshots of the Craft Apps, fetched when a page is opened and kept in the launcher's cache folder | The apps' contributors | [storytold/craft-launcher-assets](https://github.com/storytold/craft-launcher-assets), pinned to a tag (`SCREENSHOTS_REV` in `crates/core/src/details.rs`); each picture's source and license are listed in that repository's `ATTRIBUTION.md` | Each app's own license for the interface (MIT OR Apache-2.0); the work shown in them is public domain or made in the app, as that file says | | `docs/brand/artcraft-logo.svg`, `artcraft-logo-white.svg` | ArtCraft wordmark, shown in the window header | ArtCraft Team | Supplied brand files, unmodified (same as PhotoCraft's `docs/brand/`) | **Not open source; not MIT or Apache-2.0.** ArtCraft trademark, [`docs/brand/LICENSE-brand.txt`](docs/brand/LICENSE-brand.txt) | | `docs/brand/artcraft-mark-64.png`, `artcraft-mark-black-44.png` | ArtCraft "A" mark, the tray / menu-bar icon | ArtCraft Team | Rendered unmodified from `docs/brand/artcraft-mark.svg` and `artcraft-mark-black.svg` by `packaging/icons.sh` | **Not open source; not MIT or Apache-2.0.** ArtCraft trademark, [`docs/brand/LICENSE-brand.txt`](docs/brand/LICENSE-brand.txt) | | `assets/fonts/Inter-Variable.ttf` | Inter 4.001, variable (body text) | The Inter Project Authors (Rasmus Andersson) | Google Fonts, (`Inter[opsz,wght].ttf`, renamed) | SIL OFL 1.1, [`assets/fonts/OFL-Inter.txt`](assets/fonts/OFL-Inter.txt) | diff --git a/crates/core/src/details.rs b/crates/core/src/details.rs index 4ba64b4..0b3ed72 100644 --- a/crates/core/src/details.rs +++ b/crates/core/src/details.rs @@ -50,7 +50,7 @@ const fn feature(title: &'static str, text: &'static str) -> Feature { /// Pinned to a tag (`SCREENSHOTS_REV`) so that what a launcher fetches never changes under it, and /// so that a saved copy never goes stale. To change a picture, publish a new tag and bump the /// revision: older launchers keep working from the tag they know. -pub const SCREENSHOTS_BASE: &str = "https://raw.githubusercontent.com/storytold/artcraft-launcher-assets"; +pub const SCREENSHOTS_BASE: &str = "https://raw.githubusercontent.com/storytold/craft-launcher-assets"; /// The tag of the pictures repository the launcher reads. Also part of the saved copies' path. pub const SCREENSHOTS_REV: &str = "v1"; @@ -417,7 +417,7 @@ mod tests { let page = AppDetails::by_id("photocraft").unwrap(); assert_eq!( page.screenshot_url("demo").as_deref(), - Some("https://raw.githubusercontent.com/storytold/artcraft-launcher-assets/v1/photocraft/demo.jpg") + Some("https://raw.githubusercontent.com/storytold/craft-launcher-assets/v1/photocraft/demo.jpg") ); for key in ["", "nope", "../vectorcraft/neon", "demo/../masks", "demo.jpg", "/etc/passwd", "demo?x=1", "demo#"] { assert_eq!(page.screenshot_url(key), None, "{key:?}");