Skip to content

revert: drop --next workaround for iii-console installer (upstream #1660 shipped)#546

Merged
rohitg00 merged 1 commit into
mainfrom
fix/revert-iii-console-next-workaround
May 19, 2026
Merged

revert: drop --next workaround for iii-console installer (upstream #1660 shipped)#546
rohitg00 merged 1 commit into
mainfrom
fix/revert-iii-console-next-workaround

Conversation

@rohitg00
Copy link
Copy Markdown
Owner

@rohitg00 rohitg00 commented May 19, 2026

Why now

v0.9.19 routed first-run iii-console install through bash -s -- --next (commit bb259ac) to work around iii-hq/iii's installer tag-prefix bug: startswith("v") filter rejected the actual iii/v0.12.0 slash-prefixed tags, leaving every stable release invisible and the script bailing with no stable iii release found.

Upstream iii-hq/iii#1660 shipped the fix on 2026-05-19. Installer's jq predicate now reads test("^(iii/)?v") and the explicit-version path falls back from iii/v${ver}v${ver} cleanly.

install.iii.dev/console/main/install.sh is a CDN proxy serving raw.githubusercontent.com/iii-hq/iii/main/console/install.sh with a 5-minute cache — no iii release tag required to propagate the fix. Verified live URL = upstream main HEAD byte-for-byte.

Change

- // install.iii.dev/console/main/install.sh has a bug in its release-tag
- // filter that rejects every stable release for iii-hq/iii: the jq
- // predicate uses `startswith("v")` while the actual tags are
- // `iii/v0.12.0` (slash-prefixed). The `--next` path uses a regex
- // without the startswith constraint and therefore works today,
- // installing the most recent prerelease (e.g. iii/v0.14.0-next.1).
- //
- // Pass `--next` until the upstream fix lands (iii-hq/iii#1652).
- // Switch back to the bare invocation once the script is patched.
- const III_CONSOLE_INSTALL_CMD =
-   "curl -fsSL https://install.iii.dev/console/main/install.sh | bash -s -- --next";
+ const III_CONSOLE_INSTALL_CMD =
+   "curl -fsSL https://install.iii.dev/console/main/install.sh | sh";

One file, -10 +1. Drops the workaround + the explanatory comment block (no longer load-bearing).

Backwards compat

v0.9.19/v0.9.20 users on bash -s -- --next continue to resolve a valid release — upstream #1660's regex update also fixes the -next.* lookup, so they're not stranded. New users / fresh installs after this PR ships get the canonical bare path.

Verification

npm run build && npm test   # 1038/1038 pass locally

Manual probe of the live installer is included as a follow-up:

$ curl -sSL https://install.iii.dev/console/main/install.sh | grep -c 'iii/v'
# returns >0 — fix is live
$ curl -fsSL https://install.iii.dev/console/main/install.sh | sh   # plain path works

Closes the agentmemory side of the iii-hq/iii#1652 + #1660 trail.

Related

Out of scope

The 403 rate-limit issue at iii-hq/iii#1663 (GitHub anonymous API limit on the installer's releases?per_page=20 call) is unrelated — installer still uses no Authorization header. Affected users can pre-fetch the binary tarball directly from the releases page or splice a GITHUB_TOKEN into the API headers via a sed shim. Tracking separately.

Summary by CodeRabbit

  • Bug Fixes
    • Updated the console installer command execution for improved reliability across different environments.

Review Change Stack

…1660 shipped)

v0.9.19 (#460 / commit bb259ac) routed the first-run iii-console
install through `bash -s -- --next` to dodge the upstream tag-prefix
bug at iii-hq/iii#1652. Upstream PR iii-hq/iii#1660 fixed the bug on
2026-05-19 — installer's jq filter now accepts both `iii/v...` and
bare `v...` tags, and `-v X.Y.Z` falls back gracefully.

`install.iii.dev/console/main/install.sh` is a thin proxy serving
`raw.githubusercontent.com/iii-hq/iii/main/console/install.sh` with
a 5-minute CDN cache — verified byte-for-byte that the live URL
already serves the post-#1660 fix. No iii release tag needed.

Switch agentmemory back to the canonical bare invocation:

  curl -fsSL https://install.iii.dev/console/main/install.sh | sh

Drops the workaround comment block (10 lines) explaining the prior
detour. v0.9.19/v0.9.20 users on the `--next` path will still
resolve a valid release (next-release lookup also handles
`iii/v...-next.*` correctly post-#1660), so this isn't a forced
upgrade.

1038/1038 tests pass.
@vercel
Copy link
Copy Markdown

vercel Bot commented May 19, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
agentmemory Ready Ready Preview, Comment May 19, 2026 5:23pm

Request Review

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 19, 2026

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: b57915e3-32ef-4bfa-aa8f-313705b5282c

📥 Commits

Reviewing files that changed from the base of the PR and between c2f231f and 6fed44c.

📒 Files selected for processing (1)
  • src/cli.ts

📝 Walkthrough

Walkthrough

The iii-console installation command in the CLI is updated to invoke the installer script by piping directly into sh instead of using bash with the --next argument.

Changes

Console installer command

Layer / File(s) Summary
Install command invocation
src/cli.ts
III_CONSOLE_INSTALL_CMD changes from bash -s -- --next to a piped sh invocation, modifying how the CLI triggers iii-console installation.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

Possibly related PRs

  • rohitg00/agentmemory#260: Both PRs modify src/cli.ts's installer invocation behavior in the iii CLI's installation flow.

Poem

🐰 A tiny tweak, a script so small,
From bash's grip to sh's call,
No --next flag to hold us back,
Just pipes and streams on a simpler track,
One line changed, the path runs clear! ✨

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/revert-iii-console-next-workaround

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 ESLint

If the error stems from missing dependencies, add them to the package.json file. For unrecoverable errors (e.g., due to private dependencies), disable the tool in the CodeRabbit configuration.

ESLint skipped: no ESLint configuration detected in root package.json. To enable, add eslint to devDependencies.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@rohitg00 rohitg00 merged commit 2a027d8 into main May 19, 2026
4 of 5 checks passed
@rohitg00 rohitg00 deleted the fix/revert-iii-console-next-workaround branch May 19, 2026 17:23
This was referenced May 19, 2026
rohitg00 added a commit that referenced this pull request May 19, 2026
Quality + integration wave. Bundles 11 PRs since v0.9.20:

Contributor feature:
- #237 OpenCode plugin with 22 auto-capture hooks (@cl0ckt0wer)

Bug fixes (9):
- #516 memory_recall endpoint + format/token_budget (@serhiizghama, closes #507/#440)
- #461 env-file AGENTMEMORY_DROP_STALE_INDEX flag honored (@honor2030, closes #456)
- #487 Windows hook path quoting (@honor2030, closes #477)
- #517 viewer IME composition guard (@jonathanzhan1975)
- #472 chunk large sessions for LLM context window (@efenex)
- #473 surface lessons in smart-search + diagnose tally (@efenex)
- #486 declare all Hermes plugin hooks (@honor2030)
- #500 rebuildIndex non-blocking on boot (@efenex)
- #504 batched embed in rebuildIndex (25h -> 3h) (@efenex)
- #491 cli skip onboarding without tty (@honor2030)

Upstream-installer revert:
- #546 drop --next workaround now that iii-hq/iii#1660 shipped

1067/1067 tests pass across 95 files.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant