Skip to content

Revert v0.1.17 and release as v0.1.18#30

Merged
t2tx merged 2 commits into
mainfrom
revert/v0.1.17-to-v0.1.16
Jun 27, 2026
Merged

Revert v0.1.17 and release as v0.1.18#30
t2tx merged 2 commits into
mainfrom
revert/v0.1.17-to-v0.1.16

Conversation

@t2tx

@t2tx t2tx commented Jun 27, 2026

Copy link
Copy Markdown
Owner

概要

最新版 v0.1.17 にバグがあるため、変更内容を打ち消して v0.1.18 として再リリースします。

877a43c (v0.1.17, #29 — Slack イベント重複排除 + 権限ボタン世代検証) を revert します。これらの変更そのものがバグ原因だったため取り消します。

npm はバージョン単調増加が原則で 0.1.16 は使用済みのため、コードは v0.1.16 と同一のまま version のみ 0.1.18 に上げます。

内容

  • 877a43c の revert コミット
  • version bump: 0.1.18
  • revert 後のコードは v0.1.16 タグと完全一致 (git diff v0.1.16 は package.json の version 1 行のみ)
  • 削除されるファイル: src/dedup.ts, src/dedup.test.ts

検証

  • pnpm typecheck パス
  • pnpm test → 99/99 パス

リリース手順 (マージ後)

.github/workflows/release.ymlv*.*.* タグ push で自動実行:

  • npm publish (@t2tx/iris@0.1.18 が latest に)
  • macOS / Linux / Windows バイナリのビルド・署名・公証
  • GitHub Release 作成

→ このマージ後に main で v0.1.18 タグを打って push する。

備考

  • npm の既存 0.1.17 は残るが、latest は 0.1.18 に更新される

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Bug Fixes

    • Updated message and mention handling to avoid duplicate-filtering issues during delivery.
    • Improved permission prompt handling so approvals/rejections are tied to the currently active session, reducing stale or mismatched responses.
  • Refactor

    • Streamlined session and permission workflows by removing instance-based tracking and related cleanup guards.
  • Chores

    • Bumped the package version to 0.1.18.

@coderabbitai

coderabbitai Bot commented Jun 27, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 75d43f5f-a061-471b-a999-8b063c1c84b2

📥 Commits

Reviewing files that changed from the base of the PR and between 3673606 and d5f1fda.

📒 Files selected for processing (1)
  • package.json
✅ Files skipped from review due to trivial changes (1)
  • package.json

Walkthrough

Removes instanceId-based permission/session plumbing, deletes Slack message deduplication wiring, and updates permission tests. The package version changes from 0.1.17 to 0.1.18.

Remove instanceId and dedup plumbing

Layer / File(s) Summary
Permission and session contracts
src/permission.ts, src/session.ts, src/claude.ts
PendingPermission, PermissionRegistry, ThreadHandlers, and SessionManager drop instanceId fields and parameters; ClaudeProcess no longer exposes instanceId.
Session event wiring and permission flow
src/session.ts, src/index.ts
Permission and exit wiring stops propagating instanceId; permission posting is inlined; handlePermissionClick no longer passes pending.instanceId to respondPermission.
Slack deduplication removal
src/index.ts
SeenSet wiring and duplicate-delivery checks are removed; InboundMessage drops client_msg_id; message handling uses inline filtering without deduplication.
Tests and version update
src/permission.test.ts, package.json
Permission tests are updated for the new registry/session signatures, stale instanceId-specific coverage is removed, and the package version is updated to 0.1.18.

Changes

Remove instanceId and dedup plumbing

Layer / File(s) Summary
Permission and session contracts
src/permission.ts, src/session.ts, src/claude.ts
PendingPermission, PermissionRegistry, ThreadHandlers, and SessionManager drop instanceId fields and parameters; ClaudeProcess no longer exposes instanceId.
Session event wiring and permission flow
src/session.ts, src/index.ts
Permission and exit wiring stops propagating instanceId; permission posting is inlined; handlePermissionClick no longer passes pending.instanceId to respondPermission.
Slack deduplication removal
src/index.ts
SeenSet wiring and duplicate-delivery checks are removed; InboundMessage drops client_msg_id; message handling uses inline filtering without deduplication.
Tests and version update
src/permission.test.ts, package.json
Permission tests are updated for the new registry/session signatures, stale instanceId-specific coverage is removed, and the package version is updated to 0.1.18.

Sequence Diagram(s)

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

  • t2tx/iris#29: Introduces the SeenSet, ClaudeProcess.instanceId, and instance-scoped permission handling that this PR removes.
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 25.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the main change: reverting v0.1.17 and publishing the result as v0.1.18.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch revert/v0.1.17-to-v0.1.16

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

Publish the v0.1.17 revert as 0.1.18 (npm version must increase
monotonically; 0.1.16 is already taken). Code is identical to v0.1.16.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@t2tx t2tx changed the title Revert v0.1.17: roll back to v0.1.16 Revert v0.1.17 and release as v0.1.18 Jun 27, 2026

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@src/index.ts`:
- Around line 176-183: Keep permission buttons tied to the specific Claude child
process that created them by adding a process-generation guard or clearing
pending permissions when that process exits. Update the permission flow in
onPermission and the forwarding logic around the sessionKey/Slack thread mapping
so stale buttons cannot be accepted by a replacement process. Use the existing
permissions.register and the child-process exit handling in src/index.ts to
ensure only the current process can receive forwarded clicks.
- Around line 382-391: The message routing in app.message is missing the
duplicate-suppression guard before dispatching to Claude, so Slack
retry/reconnect duplicates can be processed multiple times. Restore a small TTL
dedup check at the routing boundary in src/index.ts around the app.message
handler, using the existing message-dispatch flow and any related helper/state
used for at-least-once protection, while keeping the rest of the filter logic
unchanged.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 1e6c3870-9883-421c-8d07-b7f1ce061065

📥 Commits

Reviewing files that changed from the base of the PR and between 877a43c and 3673606.

📒 Files selected for processing (8)
  • package.json
  • src/claude.ts
  • src/dedup.test.ts
  • src/dedup.ts
  • src/index.ts
  • src/permission.test.ts
  • src/permission.ts
  • src/session.ts
💤 Files with no reviewable changes (3)
  • src/dedup.ts
  • src/claude.ts
  • src/dedup.test.ts

Comment thread src/index.ts
Comment thread src/index.ts
@t2tx

t2tx commented Jun 27, 2026

Copy link
Copy Markdown
Owner Author

Note

CodeRabbit の指摘 2 件(権限ボタンの世代ガード欠如 / app.message の dedup 欠如)は、本 PR が v0.1.17 (#29) を意図的に revert していることに起因します。これらの堅牢化は v0.1.17 で追加されたものですが、v0.1.17 の変更に起因する不具合の調査のため、変更ごと取り消すのが本 PR の目的です。よって指摘はいずれも想定内であり、ここでは対応せず revert を維持します。

調査の結果 v0.1.17 の堅牢化を戻す場合は、別途 forward な PR で再導入します。

@t2tx t2tx merged commit a238f45 into main Jun 27, 2026
5 checks passed
@t2tx t2tx deleted the revert/v0.1.17-to-v0.1.16 branch June 27, 2026 15:25
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