Ship the sixel-capable agg fork (tig/agg v1.9.0-sixel)#78
Conversation
tuirec now downloads and bundles tig/agg v1.9.0-sixel instead of asciinema/agg v1.8.1, so generated GIFs render sixel graphics. Updates both fetch paths (pkg/gif runtime auto-download and internal/release/downloadagg release-time bundling) and the docs/cache-path references. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 6e67e422af
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| } | ||
|
|
||
| url := fmt.Sprintf("https://github.com/asciinema/agg/releases/download/%s/%s", DefaultAggVersion, assetName) | ||
| url := fmt.Sprintf("https://github.com/%s/releases/download/%s/%s", aggReleaseRepo, DefaultAggVersion, assetName) |
There was a problem hiding this comment.
Point downloads at published binary assets
When agg is absent from PATH (source-build users hitting auto-download, and the GoReleaser before hook via internal/release/downloadagg), this URL now resolves under tig/agg v1.9.0-sixel, but the release page for that tag currently shows only the two default source archives and no agg-x86_64-* / Windows binary assets. That makes runtime auto-download return a non-200 response and release bundling fail instead of shipping the pinned sixel-capable binary; either publish the expected assets or point this at a release that has them.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
Acknowledged — this is the intended release dependency, not a code defect. The URL and asset names match exactly what tig/agg's release.yml uploads (agg-x86_64-apple-darwin, agg-aarch64-apple-darwin, agg-x86_64-unknown-linux-musl, agg-aarch64-unknown-linux-gnu, agg-x86_64-pc-windows-msvc.exe). The v1.9.0-sixel tag exists but its binaries are not built yet: tig/agg is a fork, and GitHub gates all workflow runs on a fork until the owner enables them on the Actions tab (no API for it). Sequencing to avoid pointing at an asset-less release: (1) enable workflows on tig/agg, (2) build + publish the v1.9.0-sixel release, (3) verify all five assets download, (4) merge this PR, (5) tag tuirec v0.7.0. This PR will not be merged until step 3 is confirmed.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 6e67e422af
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| DefaultAggVersion = "v1.8.1" | ||
| // The fork (see aggReleaseRepo) ships sixel rendering; pinned here until that | ||
| // support lands in an upstream asciinema/agg release. | ||
| DefaultAggVersion = "v1.9.0-sixel" |
There was a problem hiding this comment.
Prefer the pinned fork before PATH agg
When agg is already on PATH, resolveAgg returns that binary before checking the cache or downloading this new DefaultAggVersion (see cmd/tuirec/main.go), so this pin does not take effect for source-build users or CI environments that have the previous upstream agg installed. In the checked .github/workflows/ci.yml integration job, CI still installs asciinema/agg v1.8.1 on PATH, which means sixel recordings can be rendered without images despite this change to tig/agg v1.9.0-sixel; please either validate/prefer the pinned fork for the default path or update the resolver/CI so stale PATH binaries do not bypass it.
Useful? React with 👍 / 👎.
Points tuirec at the sixel-capable agg fork so generated GIFs render sixel.
pkg/gif/download.go: runtime auto-download now fetchestig/aggv1.9.0-sixel(addedaggReleaseRepoconst; bumpedDefaultAggVersion).internal/release/downloadagg: release-time bundling (goreleaserbeforehook) downloads the same fork/version.agg-v1.9.0-sixel).Asset names are unchanged (the fork's release.yml uploads the same
agg-<target>names), so only the owner/version moved.Requires the
tig/aggv1.9.0-sixelrelease to be published. Pairs with the merged sixel handshake work (#77).Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com