Skip to content

feat: add Google Cloud Pub/Sub connector view to observability plugins - #3714

Merged
akshaydeo merged 1 commit into
devfrom
05-24-feat_add_google_pub_sub_connector
May 26, 2026
Merged

akshaydeo merged 1 commit into
devfrom
05-24-feat_add_google_pub_sub_connector

Conversation

@BearTS

@BearTS BearTS commented May 24, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds Google Cloud Pub/Sub as a new observability connector option in the UI, gated behind the Bifrost enterprise license.

Changes

  • Added a PubSubConnectorView fallback component that renders a "Contact Us" / enterprise upsell view when the enterprise license is not present, using the Rss icon and linking to the Pub/Sub connector docs.
  • Added PubSubView as a plugin view that wraps PubSubConnectorView.
  • Registered pubsub as a supported platform in the observability view list, including a custom inline SVG icon styled in Google blue (#4285F4), and wired up the PubSubView to render when the pubsub plugin is selected.

Type of change

  • Bug fix
  • Feature
  • Refactor
  • Documentation
  • Chore/CI

Affected areas

  • Core (Go)
  • Transports (HTTP)
  • Providers/Integrations
  • Plugins
  • UI (React)
  • Docs

How to test

cd ui
pnpm i || npm i
pnpm build || npm run build
  1. Navigate to the Observability settings page in the UI.
  2. Confirm that "Pub/Sub" appears in the list of supported platforms with the correct icon.
  3. Select "Pub/Sub" and verify the enterprise upsell view is rendered, showing the title "Unlock Google Cloud Pub/Sub trace streaming" and a link to https://docs.getbifrost.ai/enterprise/pubsub-connector.

Screenshots/Recordings

If UI changes, add before/after screenshots or short clips.

Breaking changes

  • Yes
  • No

Related issues

Link related issues and discussions. Example: Closes #123

Security considerations

No security implications. This is a UI-only change that renders a static upsell view for non-enterprise users.

Checklist

  • I read docs/contributing/README.md and followed the guidelines
  • I added/updated tests where appropriate
  • I updated documentation where needed
  • I verified builds succeed (Go and UI)
  • I verified the CI pipeline passes locally if applicable

@coderabbitai

coderabbitai Bot commented May 24, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 15e49358-8b6c-47c7-8944-9c1f183725cf

📥 Commits

Reviewing files that changed from the base of the PR and between 31f979f and 2efbce3.

⛔ Files ignored due to path filters (3)
  • plugins/governance/go.sum is excluded by !**/*.sum
  • transports/go.sum is excluded by !**/*.sum
  • ui/public/images/pubsub-logo.svg is excluded by !**/*.svg
📒 Files selected for processing (7)
  • plugins/governance/go.mod
  • transports/bifrost-http/handlers/plugins.go
  • transports/bifrost-http/server/server.go
  • transports/go.mod
  • ui/app/_fallbacks/enterprise/components/data-connectors/pubsub/pubsubConnectorView.tsx
  • ui/app/workspace/observability/views/observabilityView.tsx
  • ui/app/workspace/observability/views/plugins/pubsubView.tsx

📝 Walkthrough

Summary by CodeRabbit

  • New Features

    • Added Google Cloud Pub/Sub trace streaming support for enterprise license holders.
    • Introduced a Pub/Sub provider option in the observability UI to select and view Pub/Sub integrations.
  • Bug Fixes

    • Improved plugin status handling so disabled plugins remain reported as disabled and runtime statuses are applied correctly when enabled.
  • Chores

    • Updated indirect dependency versions.

Walkthrough

Adds a Pub/Sub observability provider: enterprise fallback connector UI, a plugin view wrapper, observability registration to show the tab, server-side plugin/handler updates, and two indirect Go module bumps.

Changes

Pub/Sub UI & server registration

Layer / File(s) Summary
Enterprise fallback component
ui/app/_fallbacks/enterprise/components/data-connectors/pubsub/pubsubConnectorView.tsx
TypeScript prop interfaces and a default-exported PubSubConnectorView render a centered ContactUsView with a Radio icon and enterprise unlock messaging for Google Cloud Pub/Sub trace streaming.
Plugin view wrapper
ui/app/workspace/observability/views/plugins/pubsubView.tsx
PubSubView wraps PubSubConnectorView in nested flex-column layout containers with gap spacing.
Observability & server/handler changes
ui/app/workspace/observability/views/observabilityView.tsx, transports/bifrost-http/server/server.go, transports/bifrost-http/handlers/plugins.go
Imports PubSubView, registers pubsub in supportedPlatformsList, conditionally renders <PubSubView /> when selected, adds pubsub and bigquery to server enterprisePlugins, and changes plugin response building to preserve disabled plugin status.

Indirect dependency updates

Layer / File(s) Summary
go.mod indirect dependency bumps
plugins/governance/go.mod, transports/go.mod
github.com/stoewer/go-strcase bumped from v1.3.0 to v1.3.1 in both modules.

Sequence Diagram

sequenceDiagram
  participant ObservabilityView
  participant PubSubView
  participant PubSubConnectorView
  ObservabilityView->>PubSubView: render when provider "pubsub" selected
  PubSubView->>PubSubConnectorView: mount PubSubConnectorView
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

  • maximhq/bifrost#3713: Extends enterprise connector wiring and updates enterprisePlugins/observability provider entries (kafka vs pubsub).

Suggested reviewers

  • danpiths
  • Pratham-Mishra04

Poem

🐰 I hopped to a tab named Pub/Sub today,
A tiny connector asks enterprise pay,
Views stack in columns with gaps set neat,
Go mods nudged versions—small and sweet,
The rabbit cheers for this new screen 🎉

🚥 Pre-merge checks | ✅ 2 | ❌ 3

❌ Failed checks (2 warnings, 1 inconclusive)

Check name Status Explanation Resolution
Linked Issues check ⚠️ Warning The PR changes do not meet the objectives of the linked issue #123 (Files API Support). The PR adds Pub/Sub UI components, while issue #123 requires File APIs for providers like OpenAI and Anthropic. Verify that issue #123 is the correct linked issue. If not, link the appropriate issue that describes the Pub/Sub connector feature requirements.
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
Out of Scope Changes check ❓ Inconclusive The PR includes Go dependency updates (go-strcase bump) and Go server changes (adding 'bigquery' and 'pubsub' to enterprisePlugins) that appear unrelated to the stated UI-focused changes. Clarify whether the Go changes in transports/bifrost-http/server/server.go and dependency updates are necessary for the Pub/Sub feature or represent scope creep.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately summarizes the main change: adding a Google Cloud Pub/Sub connector view to observability plugins.
Description check ✅ Passed The PR description covers all required sections including summary, changes, type of change, affected areas, testing instructions, and security considerations.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ 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 05-24-feat_add_google_pub_sub_connector

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.

🔧 golangci-lint (2.12.2)

level=error msg="[linters_context] typechecking error: pattern ./...: directory prefix . does not contain main module or its selected dependencies"


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

BearTS commented May 24, 2026

Copy link
Copy Markdown
Contributor Author

@BearTS BearTS changed the title feat: add google pub sub connector feat: add Google Cloud Pub/Sub connector view to observability plugins May 24, 2026
@BearTS
BearTS marked this pull request as ready for review May 24, 2026 12:20
@greptile-apps

greptile-apps Bot commented May 24, 2026

Copy link
Copy Markdown
Contributor

Confidence Score: 5/5

Safe to merge — all changes are additive UI scaffolding, a correct behavioral bug fix, and minor dependency bumps with no breaking surface.

The UI additions follow established connector patterns exactly, the plugins.go change is a straightforward and correct fix for disabled-plugin status being clobbered, and the enterprisePlugins expansion only affects silent error suppression on non-enterprise builds. No logic paths are removed or altered in a risky way.

No files require special attention.

Important Files Changed

Filename Overview
ui/app/_fallbacks/enterprise/components/data-connectors/pubsub/pubsubConnectorView.tsx New enterprise-upsell fallback view for Pub/Sub, mirrors BigQueryConnectorView pattern with Radio icon and ContactUsView; props interface defined but intentionally unused (prefixed _props).
ui/app/workspace/observability/views/plugins/pubsubView.tsx New thin plugin view wrapping PubSubConnectorView; import path casing matches the actual filename (previously flagged issue resolved).
ui/app/workspace/observability/views/observabilityView.tsx Adds pubsub to the supported platform list using a proper <img> tag with pubsub-logo.svg (previously-flagged inline SVG approach replaced) and wires PubSubView into the render switch.
ui/public/images/pubsub-logo.svg Official Google Cloud Pub/Sub 24px colour SVG added; consistent with other connector logo assets in the same directory.
transports/bifrost-http/handlers/plugins.go Bug fix: disabled-plugin status is no longer overwritten by a runtime status lookup; the else branch correctly skips the pluginStatuses search for disabled plugins.
transports/bifrost-http/server/server.go Adds bigquery and pubsub to the enterprisePlugins list so instantiation failures for these plugins are silently skipped rather than logged as errors on non-enterprise deployments.

Reviews (17): Last reviewed commit: "feat: add google pub sub connector" | Re-trigger Greptile

Comment thread ui/app/workspace/observability/views/observabilityView.tsx

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 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
`@ui/app/_fallbacks/enterprise/components/data-connectors/pubsub/pubsubConnectorView.tsx`:
- Around line 21-28: Add a testIdPrefix prop to the ContactUsView usage so its
internal interactive buttons get stable data-testid attributes; specifically,
pass testIdPrefix="pubsub-connector" into the ContactUsView instance in
pubsubConnectorView.tsx (the ContactUsView component will then render test IDs
like "pubsub-connector-read-more" and "pubsub-connector-book-demo"). Ensure the
prop name matches ContactUsView's expected prop (testIdPrefix) so existing
internal button rendering logic picks it up without changing other props.
🪄 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: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: d5c246ff-2fd6-42b7-b418-076bd70182f3

📥 Commits

Reviewing files that changed from the base of the PR and between ff463d9 and 0b81bb0.

📒 Files selected for processing (3)
  • ui/app/_fallbacks/enterprise/components/data-connectors/pubsub/pubsubConnectorView.tsx
  • ui/app/workspace/observability/views/observabilityView.tsx
  • ui/app/workspace/observability/views/plugins/pubsubView.tsx

@BearTS
BearTS force-pushed the 05-24-feat_add_google_pub_sub_connector branch from 0b81bb0 to 4a20705 Compare May 24, 2026 18:26
coderabbitai[bot]
coderabbitai Bot previously approved these changes May 24, 2026
@BearTS
BearTS force-pushed the 05-24-feat_add_google_pub_sub_connector branch from 4a20705 to 60b8e68 Compare May 24, 2026 18:30
@BearTS
BearTS changed the base branch from dev to graphite-base/3714 May 25, 2026 10:39
@BearTS
BearTS force-pushed the 05-24-feat_add_google_pub_sub_connector branch from 60b8e68 to b30dbd6 Compare May 25, 2026 10:39
@BearTS
BearTS changed the base branch from graphite-base/3714 to feat-add-kafka May 25, 2026 10:39
@BearTS
BearTS force-pushed the 05-24-feat_add_google_pub_sub_connector branch from b30dbd6 to 258734a Compare May 25, 2026 11:18
@BearTS
BearTS force-pushed the feat-add-kafka branch 2 times, most recently from 24f4243 to a72e8f3 Compare May 25, 2026 11:22
@BearTS
BearTS force-pushed the 05-24-feat_add_google_pub_sub_connector branch 2 times, most recently from 934f696 to cd812bb Compare May 25, 2026 11:58

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🧹 Nitpick comments (2)
ui/app/workspace/observability/views/plugins/pubsubView.tsx (1)

1-1: ⚡ Quick win

Use PascalCase for the component filename.

Please rename pubsubView.tsx to PubSubView.tsx to align with the component filename convention.

As per coding guidelines: "ui/**/*.tsx: React component files must use PascalCase for component exports and filenames".

🤖 Prompt for 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.

In `@ui/app/workspace/observability/views/plugins/pubsubView.tsx` at line 1,
Rename the React component file from pubsubView.tsx to PubSubView.tsx and update
the component's export name to PascalCase (e.g., export default function
PubSubView or export const PubSubView) so it matches the filename; also update
any imports referencing "pubsubView" (for example where PubSubConnectorView is
used) to import from "PubSubView" so all references and exports use the
PascalCase name consistently.
ui/app/_fallbacks/enterprise/components/data-connectors/pubsub/pubsubConnectorView.tsx (1)

1-1: ⚡ Quick win

Use PascalCase for the component filename.

Please rename pubsubConnectorView.tsx to PubSubConnectorView.tsx to match the UI component filename convention.

As per coding guidelines: "ui/**/*.tsx: React component files must use PascalCase for component exports and filenames".

🤖 Prompt for 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.

In
`@ui/app/_fallbacks/enterprise/components/data-connectors/pubsub/pubsubConnectorView.tsx`
at line 1, The filename doesn't follow PascalCase; rename the file from
pubsubConnectorView.tsx to PubSubConnectorView.tsx and update all imports that
reference pubsubConnectorView to the new filename; also ensure the component
export (e.g., default or named export inside the file) uses a PascalCase
identifier such as PubSubConnectorView (replace any pubsubConnectorView
function/component name) so the filename and exported component name match the
ui/**/*.tsx convention.
🤖 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.

Nitpick comments:
In
`@ui/app/_fallbacks/enterprise/components/data-connectors/pubsub/pubsubConnectorView.tsx`:
- Line 1: The filename doesn't follow PascalCase; rename the file from
pubsubConnectorView.tsx to PubSubConnectorView.tsx and update all imports that
reference pubsubConnectorView to the new filename; also ensure the component
export (e.g., default or named export inside the file) uses a PascalCase
identifier such as PubSubConnectorView (replace any pubsubConnectorView
function/component name) so the filename and exported component name match the
ui/**/*.tsx convention.

In `@ui/app/workspace/observability/views/plugins/pubsubView.tsx`:
- Line 1: Rename the React component file from pubsubView.tsx to PubSubView.tsx
and update the component's export name to PascalCase (e.g., export default
function PubSubView or export const PubSubView) so it matches the filename; also
update any imports referencing "pubsubView" (for example where
PubSubConnectorView is used) to import from "PubSubView" so all references and
exports use the PascalCase name consistently.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: aa7ee584-083a-48c1-9da6-26b1b565bfcf

📥 Commits

Reviewing files that changed from the base of the PR and between 4a20705 and cd812bb.

⛔ Files ignored due to path filters (3)
  • plugins/governance/go.sum is excluded by !**/*.sum
  • transports/go.sum is excluded by !**/*.sum
  • ui/public/images/pubsub-logo.svg is excluded by !**/*.svg
📒 Files selected for processing (6)
  • plugins/governance/go.mod
  • transports/bifrost-http/server/server.go
  • transports/go.mod
  • ui/app/_fallbacks/enterprise/components/data-connectors/pubsub/pubsubConnectorView.tsx
  • ui/app/workspace/observability/views/observabilityView.tsx
  • ui/app/workspace/observability/views/plugins/pubsubView.tsx

@BearTS
BearTS force-pushed the 05-24-feat_add_google_pub_sub_connector branch from cd812bb to d697f0a Compare May 25, 2026 17:34

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🧹 Nitpick comments (1)
ui/app/_fallbacks/enterprise/components/data-connectors/pubsub/pubsubConnectorView.tsx (1)

2-2: ⚡ Quick win

Prefer alias import over relative traversal in UI TSX files.

Use the project alias path for consistency with the rest of the UI layer (e.g., @/app/_fallbacks/enterprise/components/views/contactUsView) instead of ../../views/contactUsView.

Based on learnings: "In the UI codebase, prefer alias imports using @/... over relative imports."

🤖 Prompt for 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.

In
`@ui/app/_fallbacks/enterprise/components/data-connectors/pubsub/pubsubConnectorView.tsx`
at line 2, Replace the relative import of ContactUsView in
pubsubConnectorView.tsx with the project alias path to match UI conventions:
change the import for ContactUsView (used in pubsubConnectorView.tsx) from
"../../views/contactUsView" to the alias
"`@/app/_fallbacks/enterprise/components/views/contactUsView`" so the file uses
the `@/`... alias style consistently with the rest of the UI layer.
🤖 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
`@ui/app/_fallbacks/enterprise/components/data-connectors/pubsub/pubsubConnectorView.tsx`:
- Line 16: Rename the file pubsubConnectorView.tsx to PascalCase
PubSubConnectorView.tsx and update all imports that reference this file to the
new filename; ensure the exported component PubSubConnectorView remains
unchanged and update any stacked or barrel files that re-export or import it so
the module resolution matches the new PascalCase filename.

---

Nitpick comments:
In
`@ui/app/_fallbacks/enterprise/components/data-connectors/pubsub/pubsubConnectorView.tsx`:
- Line 2: Replace the relative import of ContactUsView in
pubsubConnectorView.tsx with the project alias path to match UI conventions:
change the import for ContactUsView (used in pubsubConnectorView.tsx) from
"../../views/contactUsView" to the alias
"`@/app/_fallbacks/enterprise/components/views/contactUsView`" so the file uses
the `@/`... alias style consistently with the rest of the UI layer.
🪄 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: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 9128ade5-a9a0-42e9-834b-f899e116ac41

📥 Commits

Reviewing files that changed from the base of the PR and between cd812bb and d697f0a.

⛔ Files ignored due to path filters (3)
  • plugins/governance/go.sum is excluded by !**/*.sum
  • transports/go.sum is excluded by !**/*.sum
  • ui/public/images/pubsub-logo.svg is excluded by !**/*.svg
📒 Files selected for processing (6)
  • plugins/governance/go.mod
  • transports/bifrost-http/server/server.go
  • transports/go.mod
  • ui/app/_fallbacks/enterprise/components/data-connectors/pubsub/pubsubConnectorView.tsx
  • ui/app/workspace/observability/views/observabilityView.tsx
  • ui/app/workspace/observability/views/plugins/pubsubView.tsx
✅ Files skipped from review due to trivial changes (2)
  • ui/app/workspace/observability/views/plugins/pubsubView.tsx
  • transports/bifrost-http/server/server.go

@BearTS
BearTS force-pushed the 05-24-feat_add_google_pub_sub_connector branch from d697f0a to b536082 Compare May 25, 2026 18:27

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
ui/app/workspace/observability/views/plugins/pubsubView.tsx (1)

3-12: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Rename this component file to PascalCase.

PubSubView is PascalCase, but the filename pubsubView.tsx is not. Please rename it to PubSubView.tsx and update imports accordingly.

As per coding guidelines: "React component files must use PascalCase for component exports and filenames".

🤖 Prompt for 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.

In `@ui/app/workspace/observability/views/plugins/pubsubView.tsx` around lines 3 -
12, The file name does not follow PascalCase for the exported React component
PubSubView; rename the file from pubsubView.tsx to PubSubView.tsx and update all
imports that reference the old filename (e.g., any import of PubSubView) to use
the new filename, ensuring the exported component name PubSubView remains
unchanged and any tooling/paths referencing the file are updated.
🤖 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.

Outside diff comments:
In `@ui/app/workspace/observability/views/plugins/pubsubView.tsx`:
- Around line 3-12: The file name does not follow PascalCase for the exported
React component PubSubView; rename the file from pubsubView.tsx to
PubSubView.tsx and update all imports that reference the old filename (e.g., any
import of PubSubView) to use the new filename, ensuring the exported component
name PubSubView remains unchanged and any tooling/paths referencing the file are
updated.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 5e29d432-00bb-4ed2-937d-69240571ceda

📥 Commits

Reviewing files that changed from the base of the PR and between d697f0a and b536082.

⛔ Files ignored due to path filters (3)
  • plugins/governance/go.sum is excluded by !**/*.sum
  • transports/go.sum is excluded by !**/*.sum
  • ui/public/images/pubsub-logo.svg is excluded by !**/*.svg
📒 Files selected for processing (6)
  • plugins/governance/go.mod
  • transports/bifrost-http/server/server.go
  • transports/go.mod
  • ui/app/_fallbacks/enterprise/components/data-connectors/pubsub/pubsubConnectorView.tsx
  • ui/app/workspace/observability/views/observabilityView.tsx
  • ui/app/workspace/observability/views/plugins/pubsubView.tsx

@BearTS
BearTS force-pushed the 05-24-feat_add_google_pub_sub_connector branch 2 times, most recently from 2ca1c7f to 300fdd1 Compare May 25, 2026 18:50
Comment thread ui/app/workspace/observability/views/plugins/pubsubView.tsx Outdated
@BearTS
BearTS force-pushed the 05-24-feat_add_google_pub_sub_connector branch from 300fdd1 to 7b75be0 Compare May 25, 2026 18:54

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

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 `@ui/app/workspace/observability/views/plugins/pubsubView.tsx`:
- Around line 3-11: The file exporting the PubSubView React component must be
renamed to match PascalCase; rename the source file to "PubSubView.tsx" so the
filename matches the exported component PubSubView, then update all imports that
reference the previous filename to import PubSubView from the new filename;
ensure any internal references to PubSubConnectorView remain unchanged and run a
quick search/replace across the codebase to update import paths that pointed to
the old filename.
- Line 1: Import path casing for the PubSub connector is inconsistent and can
break on case-sensitive filesystems; update the import statement that references
pubSubConnectorView so the filename segment and exported identifier exactly
match the actual module's casing (ensure the path segment under the pubsub
directory and the exported component name match the real file, e.g., adjust
"/pubsub/pubSubConnectorView" to the exact filename casing and keep the imported
symbol PubSubConnectorView in sync), then rebuild/typecheck to confirm
resolution succeeds.
🪄 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: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 3f46c782-967e-460b-a4d2-ea5e7a7bb9f0

📥 Commits

Reviewing files that changed from the base of the PR and between b536082 and 7b75be0.

⛔ Files ignored due to path filters (3)
  • plugins/governance/go.sum is excluded by !**/*.sum
  • transports/go.sum is excluded by !**/*.sum
  • ui/public/images/pubsub-logo.svg is excluded by !**/*.svg
📒 Files selected for processing (7)
  • plugins/governance/go.mod
  • transports/bifrost-http/handlers/plugins.go
  • transports/bifrost-http/server/server.go
  • transports/go.mod
  • ui/app/_fallbacks/enterprise/components/data-connectors/pubsub/pubsubConnectorView.tsx
  • ui/app/workspace/observability/views/observabilityView.tsx
  • ui/app/workspace/observability/views/plugins/pubsubView.tsx
✅ Files skipped from review due to trivial changes (2)
  • plugins/governance/go.mod
  • ui/app/_fallbacks/enterprise/components/data-connectors/pubsub/pubsubConnectorView.tsx

Comment thread ui/app/workspace/observability/views/plugins/pubsubView.tsx Outdated
Comment thread ui/app/workspace/observability/views/plugins/pubsubView.tsx
coderabbitai[bot]
coderabbitai Bot previously approved these changes May 25, 2026
@BearTS
BearTS force-pushed the 05-24-feat_add_google_pub_sub_connector branch from 7b75be0 to 3270522 Compare May 26, 2026 06:12
@BearTS
BearTS force-pushed the feat-add-kafka branch 2 times, most recently from ca142f8 to 801b534 Compare May 26, 2026 06:24
@BearTS
BearTS force-pushed the 05-24-feat_add_google_pub_sub_connector branch from 3270522 to ad25c3b Compare May 26, 2026 06:24
@BearTS
BearTS force-pushed the 05-24-feat_add_google_pub_sub_connector branch from ad25c3b to 31f979f Compare May 26, 2026 07:44
akshaydeo
akshaydeo previously approved these changes May 26, 2026

akshaydeo commented May 26, 2026

Copy link
Copy Markdown
Contributor

Merge activity

  • May 26, 7:58 AM UTC: A user started a stack merge that includes this pull request via Graphite.
  • May 26, 8:01 AM UTC: Graphite rebased this pull request as part of a merge.
  • May 26, 8:01 AM UTC: @akshaydeo merged this pull request with Graphite.

@akshaydeo
akshaydeo changed the base branch from feat-add-kafka to graphite-base/3714 May 26, 2026 07:59
@akshaydeo
akshaydeo changed the base branch from graphite-base/3714 to dev May 26, 2026 07:59
@akshaydeo
akshaydeo dismissed stale reviews from coderabbitai[bot] and themself May 26, 2026 07:59

The base branch was changed.

@akshaydeo
akshaydeo force-pushed the 05-24-feat_add_google_pub_sub_connector branch from 31f979f to 2efbce3 Compare May 26, 2026 08:00
@akshaydeo
akshaydeo merged commit 74831c9 into dev May 26, 2026
12 of 14 checks passed
@akshaydeo
akshaydeo deleted the 05-24-feat_add_google_pub_sub_connector branch May 26, 2026 08:01
akshaydeo pushed a commit that referenced this pull request May 26, 2026
#3714)

## Summary

Adds Google Cloud Pub/Sub as a new observability connector option in the UI, gated behind the Bifrost enterprise license.

## Changes

- Added a `PubSubConnectorView` fallback component that renders a "Contact Us" / enterprise upsell view when the enterprise license is not present, using the `Rss` icon and linking to the Pub/Sub connector docs.
- Added `PubSubView` as a plugin view that wraps `PubSubConnectorView`.
- Registered `pubsub` as a supported platform in the observability view list, including a custom inline SVG icon styled in Google blue (`#4285F4`), and wired up the `PubSubView` to render when the `pubsub` plugin is selected.

## Type of change

- [ ] Bug fix
- [x] Feature
- [ ] Refactor
- [ ] Documentation
- [ ] Chore/CI

## Affected areas

- [ ] Core (Go)
- [ ] Transports (HTTP)
- [ ] Providers/Integrations
- [ ] Plugins
- [x] UI (React)
- [ ] Docs

## How to test

```sh
cd ui
pnpm i || npm i
pnpm build || npm run build
```

1. Navigate to the Observability settings page in the UI.
2. Confirm that "Pub/Sub" appears in the list of supported platforms with the correct icon.
3. Select "Pub/Sub" and verify the enterprise upsell view is rendered, showing the title "Unlock Google Cloud Pub/Sub trace streaming" and a link to `https://docs.getbifrost.ai/enterprise/pubsub-connector`.

## Screenshots/Recordings

If UI changes, add before/after screenshots or short clips.

## Breaking changes

- [ ] Yes
- [x] No

## Related issues

Link related issues and discussions. Example: Closes #123

## Security considerations

No security implications. This is a UI-only change that renders a static upsell view for non-enterprise users.

## Checklist

- [ ] I read `docs/contributing/README.md` and followed the guidelines
- [ ] I added/updated tests where appropriate
- [ ] I updated documentation where needed
- [ ] I verified builds succeed (Go and UI)
- [ ] I verified the CI pipeline passes locally if applicable
akhsaul pushed a commit to akhsaul/bifrost that referenced this pull request Aug 27, 2026
maximhq#3714)

## Summary

Adds Google Cloud Pub/Sub as a new observability connector option in the UI, gated behind the Bifrost enterprise license.

## Changes

- Added a `PubSubConnectorView` fallback component that renders a "Contact Us" / enterprise upsell view when the enterprise license is not present, using the `Rss` icon and linking to the Pub/Sub connector docs.
- Added `PubSubView` as a plugin view that wraps `PubSubConnectorView`.
- Registered `pubsub` as a supported platform in the observability view list, including a custom inline SVG icon styled in Google blue (`#4285F4`), and wired up the `PubSubView` to render when the `pubsub` plugin is selected.

## Type of change

- [ ] Bug fix
- [x] Feature
- [ ] Refactor
- [ ] Documentation
- [ ] Chore/CI

## Affected areas

- [ ] Core (Go)
- [ ] Transports (HTTP)
- [ ] Providers/Integrations
- [ ] Plugins
- [x] UI (React)
- [ ] Docs

## How to test

```sh
cd ui
pnpm i || npm i
pnpm build || npm run build
```

1. Navigate to the Observability settings page in the UI.
2. Confirm that "Pub/Sub" appears in the list of supported platforms with the correct icon.
3. Select "Pub/Sub" and verify the enterprise upsell view is rendered, showing the title "Unlock Google Cloud Pub/Sub trace streaming" and a link to `https://docs.getbifrost.ai/enterprise/pubsub-connector`.

## Screenshots/Recordings

If UI changes, add before/after screenshots or short clips.

## Breaking changes

- [ ] Yes
- [x] No

## Related issues

Link related issues and discussions. Example: Closes maximhq#123

## Security considerations

No security implications. This is a UI-only change that renders a static upsell view for non-enterprise users.

## Checklist

- [ ] I read `docs/contributing/README.md` and followed the guidelines
- [ ] I added/updated tests where appropriate
- [ ] I updated documentation where needed
- [ ] I verified builds succeed (Go and UI)
- [ ] I verified the CI pipeline passes locally if applicable
occcat pushed a commit to occcat/bifrost that referenced this pull request Sep 2, 2026
maximhq#3714)

## Summary

Adds Google Cloud Pub/Sub as a new observability connector option in the UI, gated behind the Bifrost enterprise license.

## Changes

- Added a `PubSubConnectorView` fallback component that renders a "Contact Us" / enterprise upsell view when the enterprise license is not present, using the `Rss` icon and linking to the Pub/Sub connector docs.
- Added `PubSubView` as a plugin view that wraps `PubSubConnectorView`.
- Registered `pubsub` as a supported platform in the observability view list, including a custom inline SVG icon styled in Google blue (`#4285F4`), and wired up the `PubSubView` to render when the `pubsub` plugin is selected.

## Type of change

- [ ] Bug fix
- [x] Feature
- [ ] Refactor
- [ ] Documentation
- [ ] Chore/CI

## Affected areas

- [ ] Core (Go)
- [ ] Transports (HTTP)
- [ ] Providers/Integrations
- [ ] Plugins
- [x] UI (React)
- [ ] Docs

## How to test

```sh
cd ui
pnpm i || npm i
pnpm build || npm run build
```

1. Navigate to the Observability settings page in the UI.
2. Confirm that "Pub/Sub" appears in the list of supported platforms with the correct icon.
3. Select "Pub/Sub" and verify the enterprise upsell view is rendered, showing the title "Unlock Google Cloud Pub/Sub trace streaming" and a link to `https://docs.getbifrost.ai/enterprise/pubsub-connector`.

## Screenshots/Recordings

If UI changes, add before/after screenshots or short clips.

## Breaking changes

- [ ] Yes
- [x] No

## Related issues

Link related issues and discussions. Example: Closes maximhq#123

## Security considerations

No security implications. This is a UI-only change that renders a static upsell view for non-enterprise users.

## Checklist

- [ ] I read `docs/contributing/README.md` and followed the guidelines
- [ ] I added/updated tests where appropriate
- [ ] I updated documentation where needed
- [ ] I verified builds succeed (Go and UI)
- [ ] I verified the CI pipeline passes locally if applicable
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.

Files API Support

2 participants