You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
fix(gitlab): bot authors are flagged as bots - #30383
GitLab comments from bots are never hidden by the "Bot comments" filter. The adapter reads notes over REST, and REST note authors carry no bot field, so isBot is never set. Closes#30382.
Change
The adapter already sends one GraphQL query per activity read, for reactions (AWARD_EMOJI_GRAPHQL_QUERY), and it walks every note. Its note nodes now also ask for author { username bot }, so this costs no extra request. The decoder collects the bot usernames and the provider sets isBot on matching comment and thread comment authors. That mirrors how the GitHub provider marks bots by login.
The flag only comes from GitLab's own bot field, which covers project and group access tokens, service accounts and GitLab's built-in bots. No username guessing.
Scope and approval
Small fix for an obvious gap: the filter exists on every host, and the GitLab adapter never fed it. Tracked in #30382.
Verification
New tests fail on main and pass here: the decoder collects bot authors from the GraphQL page, and the provider flags bot authors in the conversation and in review threads.
vp run check:changed: format, lint, knip, typecheck (11 packages) and tests (136) pass.
REST note authors carry no bot flag, so GitLab comments from bots were
never hidden by the bot comments filter. The award emoji GraphQL query
that already runs per activity read now also asks for each note's
author { username bot }, and the provider marks those authors.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Macroscope's review found this PR approvable — GitLab comment and discussion authors now receive bot flags from GitLab’s metadata, allowing existing bot filters to work consistently. The change is confined to read-side activity classification and leaves filter defaults unchanged.
You can add or adjust custom eligibility rules. Learn more.
No actionable comments were generated in the recent review.
Walkthrough
GitLab award-emoji data now includes bot author logins. The GitLab pull request provider uses those logins to mark matching conversation and review-thread comment authors as bots.
The award-emoji query requests note author usernames and bot flags. The decoder collects bot usernames and returns them with the page data. Tests cover bot author collection.
Mark matching activity authors packages/source-control-gitlab/src/server/GitLabPullRequestCli.ts, packages/source-control-gitlab/src/server/GitLabPullRequestProvider.ts, packages/source-control-gitlab/src/server/GitLabPullRequestProvider.test.ts
The CLI accumulates bot logins across pages. The provider marks matching conversation and thread comment authors with isBot: true. Tests check bot and human authors.
pingdotgg/t3code#28841: Uses host bot flags to filter conversation and timeline activity; this change supplies GitLab bot flags.
pingdotgg/t3code#20873: Uses host bot flags for bot-noise filtering; this change provides the corresponding GitLab metadata.
pingdotgg/t3code#25829: Filters bot-authored review activity based on bot classification, which this change supplies for GitLab comments.
Suggested reviewers:juliusmarminge
Merge Risk: Minimal · up to b41e8
Bot filtering improves, although some replies beyond the note limit may remain visible. This existing limitation does not block merging.
Pre-merge checks: 4
Check name
Status
Explanation
Title check
The title is concise, uses the conventional commit format, and clearly describes the main GitLab change: marking bot authors as bots.
Description check
The description includes complete Problem, Change, Scope and approval, and Verification sections. It explains the cause, implementation, testing, manual validation, and the unverified mobile-device ch…
Linked Issues check
Issue #30382 requires GitLab bot comments to receive isBot so the bot-comment filter can hide them. The GraphQL note query now requests author { username bot }. The decoder collects usernames wher…
Out of Scope Changes check
The changed files support issue #30382. They add bot-author data to the existing GraphQL response, pass bot logins through the activity result, apply isBot to comment authors, and test the behavior.…
Full details: Description check
Explanation
The description includes complete Problem, Change, Scope and approval, and Verification sections. It explains the cause, implementation, testing, manual validation, and the unverified mobile-device check.
Full details: Linked Issues check
Explanation
Issue #30382 requires GitLab bot comments to receive isBot so the bot-comment filter can hide them. The GraphQL note query now requests author { username bot }. The decoder collects usernames where author.bot === true. The provider matches those logins case-insensitively and sets isBot on top-level and review-thread comment authors. Tests cover bot collection, bot flags, and an unflagged human author. The implementation uses the existing activity-read request and adds no extra request.
Full details: Out of Scope Changes check
Explanation
The changed files support issue #30382. They add bot-author data to the existing GraphQL response, pass bot logins through the activity result, apply isBot to comment authors, and test the behavior. No unrelated change appears in the reported diff.
Finishing Touches
Generate unit tests (beta)
Create a new PR
Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts
Tip
🎯 Customize your risk assessments
Guide how CodeRabbit assesses merge risk and security architecture risk. Highlight sensitive changes and explain your security boundaries using Merge Risk Instructions and Security Risk Instructions in your review settings. Security architecture risk assessments require the Advanced plan or above.
✅ Automatic approvals, with your rules
Let CodeRabbit approve pull requests once required threads are resolved, pre-merge checks pass, and your risk limits are met. Enable Automatic approvals in review settings, with overrides for teams or file paths.
Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 1 remain after this review.
340-340: Minor · Functional Correctness · Quick win
Unverified finding
Verification ran but could not confirm this finding. It is shown for review, not as a verified issue.
Match bot logins without case sensitivity.
If GraphQL supplies BuildBot and a REST comment supplies buildbot, Set.has leaves the bot comment unflagged. The “Bot comments” filter then shows that comment. Normalize both logins before matching, and cover the mismatch in the existing activity test. GitLab supports case-insensitive username lookup. (docs.gitlab.com)
Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 9 remain after this review.
merged current main without rebasing and fixed the review finding: bot-author matching now normalizes both graphql and rest usernames. the existing activity test covers differing casing in conversation and thread comments.
blacksmith verification: the regression failed before the fix, then vp run check:changed passed formatting, lint, knip, typechecks for 11 affected packages, and 136 tests across 6 files. live gitlab api verification remains unverified. the original web failure was a message-timeline click timeout; no unrelated timeline code was changed.
Comment links sit beside the edit dates and bot flags from pingdotgg#30403 and pingdotgg#30383.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
github-actionsBot
added a commit
to omarcresp/t3code-flake
that referenced
this pull request
Nov 6, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
bugfixFix PR opened by an issue lead; enters the PR looppr:gate-failedA land gate failedsize:M30-99 changed lines (additions + deletions).vouch:unvouchedPR author is not yet trusted in the VOUCHED list.
3 participants
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
GitLab comments from bots are never hidden by the "Bot comments" filter. The adapter reads notes over REST, and REST note authors carry no bot field, so
isBotis never set. Closes #30382.Change
The adapter already sends one GraphQL query per activity read, for reactions (
AWARD_EMOJI_GRAPHQL_QUERY), and it walks every note. Its note nodes now also ask forauthor { username bot }, so this costs no extra request. The decoder collects the bot usernames and the provider setsisBoton matching comment and thread comment authors. That mirrors how the GitHub provider marks bots by login.The flag only comes from GitLab's own
botfield, which covers project and group access tokens, service accounts and GitLab's built-in bots. No username guessing.Scope and approval
Small fix for an obvious gap: the filter exists on every host, and the GitLab adapter never fed it. Tracked in #30382.
Verification
vp run check:changed: format, lint, knip, typecheck (11 packages) and tests (136) pass.Mobile reads the same
isBotflag (pullRequestActivityFilter.ts) and needs no change. Not checked on a device.Fixed by Claude Opus 5.5 in Claude Code, running inside T3 Code.
🤖 Generated with Claude Code