Skip to content

gstack-update-check caches UP_TO_DATE when the remote version could not be read #2786

Closed

Description

@ortonom

`bin/gstack-update-check` fetches the remote VERSION (via `git ls-remote` SHA, then the branch-pinned URL fallback) and validates it against `^[0-9]+.[0-9.]+$`. When validation fails it writes `UP_TO_DATE $LOCAL` to the cache (line 256) and exits 0.

Input that passes while broken: both fetch paths fail (no network, no git, blocked raw.githubusercontent.com), or the endpoint returns an HTML error page. `REMOTE` is empty or HTML, the regex rejects it, and a fresh `UP_TO_DATE` line is cached for the 60-minute TTL. Every later run inside the TTL is silent, and an actual upgrade is never surfaced. `browse/test/gstack-update-check.test.ts` (Path G around line 212, Path H around line 223) asserts this as the expected outcome.

Fix: cache `CHECK_FAILED` (or `UNKNOWN`) with a short TTL on the invalid-response branch, and reserve `UP_TO_DATE` for a parsed remote version equal to (or lower than) local.

Same class as #1974 (closed).

Activity

  1. capy-ai commented on Oct 2, 2026

    @capy-ai
    Contributor

    Fixed in v1.91.13.0 (#3013, merged as f30b7b7): an unreadable remote is cached as CHECK_FAILED with a short TTL instead of UP_TO_DATE. Run /gstack-upgrade, then start a new Claude Code session. Thanks for the report. Reopen if you still see it after upgrading.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions