Skip to content

[CHA-0] fix(ci): drop URI::Escape from hidden.rbi; retry blocklist spec - #222

Merged
nijeesh-stream merged 2 commits into
masterfrom
fix/cha-0-sorbet-uri-escape
Oct 15, 2026
Merged

nijeesh-stream merged 2 commits into
masterfrom
fix/cha-0-sorbet-uri-escape

Conversation

@nijeesh-stream

@nijeesh-stream nijeesh-stream commented Oct 15, 2026 •

Copy link
Copy Markdown
Contributor

TLDR

The required 💎 Ruby 3.4 check fails on every PR, including docs-only ones (e.g. #220), because bundle exec srb tc cannot resolve URI::Escape. This PR deletes the one extend ::URI::Escape line from the generated sorbet/rbi/hidden-definitions/hidden.rbi. Risk is negligible: only Sorbet's view of URI changes, no runtime code does.

Ticket

Summary

hidden.rbi was generated on an older Ruby, where URI extended URI::Escape. Ruby 3.4 removed that module, so the lint step (rubocop + srb tc, run on 3.4 and 4.0) reports:

./sorbet/rbi/hidden-definitions/hidden.rbi:9107: Unable to resolve constant `Escape` https://srb.help/5002
Errors: 2

Because the matrix runs with max-parallel: 1 and fail-fast, the 3.4 failure also cancels the 4.0 jobs.

Second fix, found while running CI on this PR: blocklist use the blocklist for a channel type failed on 3.0 and then on 3.4 with UpdateChannelType failed with error: "invalid block list name "<uuid>"". The blocklist is created a moment earlier, but UpdateChannelType does not always see it yet on the shared CI app. The step is now wrapped in the file's existing loop_times 10 retry helper.

Verified locally on Ruby 3.4.2: srb tc reports 2 errors on master and No errors! Great job. with this change; rake rubocop passes.

Checklist

  • No library code changes; Sorbet RBI and one spec only (rubocop clean)
  • The changed code has been covered with unit tests (n/a)
  • The internal documentation (./docs) has been updated (n/a)

🤖 Generated with Claude Code

Ruby 3.4 no longer defines URI::Escape, so srb tc fails with
'Unable to resolve constant Escape' on the 3.4 lint job.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
UpdateChannelType sometimes rejects a blocklist created a moment earlier
with 'invalid block list name' on the shared CI app.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@nijeesh-stream nijeesh-stream changed the title [CHA-0] fix(sorbet): drop URI::Escape from hidden.rbi for Ruby 3.4 [CHA-0] fix(ci): drop URI::Escape from hidden.rbi; retry blocklist spec Oct 15, 2026
@nijeesh-stream
nijeesh-stream enabled auto-merge (squash) October 15, 2026 09:39
@nijeesh-stream
nijeesh-stream merged commit 6acc8b5 into master Oct 15, 2026
9 checks passed
@nijeesh-stream
nijeesh-stream deleted the fix/cha-0-sorbet-uri-escape branch October 15, 2026 09:41
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.

2 participants