Skip to content

feat: render cassandra blob columns via binary widget#1736

Merged
gugu merged 1 commit into
mainfrom
feature/cassandra-blob-binary-widget
Apr 24, 2026
Merged

feat: render cassandra blob columns via binary widget#1736
gugu merged 1 commit into
mainfrom
feature/cassandra-blob-binary-widget

Conversation

@gugu
Copy link
Copy Markdown
Contributor

@gugu gugu commented Apr 24, 2026

Map cassandra blob to the Binary widget across table display, record view, record edit, and filter type maps — previously cassandra blob columns rendered empty since no default mapping existed. Also add a Binary entry to widget defaultParams so the Binary widget type is selectable in table settings without undefined widget_params.

Include a fast-xml-parser>=5.7.0 override from pnpm audit --fix.

Summary by CodeRabbit

  • New Features
    • Added comprehensive support for Cassandra blob (binary) data type. Users can now filter, edit, view, and display binary fields in database tables.
    • Introduced binary widget type configuration with default parameter settings for improved handling of binary data across the application.

Map cassandra `blob` to the Binary widget across table display,
record view, record edit, and filter type maps — previously
cassandra blob columns rendered empty since no default mapping
existed. Also add a `Binary` entry to widget defaultParams so the
Binary widget type is selectable in table settings without
undefined widget_params.

Include a fast-xml-parser>=5.7.0 override from pnpm audit --fix.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings April 24, 2026 14:24
@gugu gugu enabled auto-merge (squash) April 24, 2026 14:24
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 24, 2026

📝 Walkthrough

Walkthrough

Adds support for Cassandra blob column type across filtering, editing, viewing, and display systems by introducing Binary-related component mappings. Also updates pnpm.overrides to enforce fast-xml-parser version constraint.

Changes

Cohort / File(s) Summary
Binary Widget Configuration
frontend/src/app/components/dashboard/db-table-view/db-table-widgets/db-table-widgets.component.ts
Adds Binary entry to defaultParams mapping to provide default widget-parameter string for Binary widget type.
Cassandra Blob Type Support
frontend/src/app/consts/filter-types.ts, frontend/src/app/consts/record-edit-types.ts, frontend/src/app/consts/record-view-types.ts, frontend/src/app/consts/table-display-types.ts
Maps Cassandra blob column type to respective Binary components (BinaryFilterComponent, BinaryEditComponent, BinaryRecordViewComponent, BinaryDisplayComponent) in type lookup dictionaries.
Dependency Constraint
package.json
Updates pnpm.overrides to enforce fast-xml-parser minimum version >=5.7.0.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

Poem

🐰 A blob here, a blob there,
Binary blossoms everywhere!
Cassandra's secrets now shine bright,
Every field maps just right! ✨

🚥 Pre-merge checks | ✅ 6
✅ Passed checks (6 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately describes the main change: adding support for rendering Cassandra blob columns via the binary widget across the codebase.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
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.
Security Check ✅ Passed PR adds safe type mappings for Cassandra blob columns to Binary components and upgrades fast-xml-parser to patch XML injection vulnerability, improving security without introducing XSS, SQL injection, or unsafe data handling.

✏️ 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 feature/cassandra-blob-binary-widget

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.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Maps Cassandra blob columns to the Binary widget so they render correctly across table display, record view, record edit, and filters, and ensures the Binary widget type is selectable in table settings with non-undefined default params. Also applies a fast-xml-parser>=5.7.0 override and updates the pnpm lockfile accordingly.

Changes:

  • Add Cassandra blob → Binary component mappings in table display, record view, record edit, and filter type maps.
  • Add Binary to table-widget default parameters to avoid undefined widget params when selected.
  • Add fast-xml-parser@<5.7.0 override and update pnpm-lock.yaml to fast-xml-parser@5.7.1.

Reviewed changes

Copilot reviewed 6 out of 7 changed files in this pull request and generated no comments.

Show a summary per file
File Description
pnpm-lock.yaml Locks fast-xml-parser to 5.7.1 and includes new transitive deps per the security override.
package.json Adds pnpm override enforcing fast-xml-parser>=5.7.0.
frontend/src/app/consts/table-display-types.ts Maps Cassandra blob to BinaryDisplayComponent.
frontend/src/app/consts/record-view-types.ts Maps Cassandra blob to BinaryRecordViewComponent.
frontend/src/app/consts/record-edit-types.ts Maps Cassandra blob to BinaryEditComponent.
frontend/src/app/consts/filter-types.ts Maps Cassandra blob to BinaryFilterComponent.
frontend/src/app/components/dashboard/db-table-view/db-table-widgets/db-table-widgets.component.ts Adds Binary default params so the widget is selectable without undefined params.
Files not reviewed (1)
  • pnpm-lock.yaml: Language not supported

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

Caution

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

⚠️ Outside diff range comments (1)
package.json (1)

4-4: ⚠️ Potential issue | 🔴 Critical

Critical: Pipeline failure due to duplicate pnpm version specification.

The GitHub Actions workflow specifies version: 10 while package.json specifies pnpm@10.33.0. Remove the version key from the GitHub Action configuration to resolve the ERR_PNPM_BAD_PM_VERSION error.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@package.json` at line 4, The pipeline is failing because package.json
declares "packageManager": "pnpm@10.33.0" while the GitHub Actions workflow also
sets a conflicting pnpm version (the workflow's version: 10). Fix this by
removing the `version:` key from the Actions step that installs pnpm (leave the
workflow to use the project's packageManager) or, alternatively, align it
exactly with "pnpm@10.33.0"; locate the workflow step that references pnpm
`version:` and delete that `version` field so it no longer conflicts with
package.json's packageManager.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@package.json`:
- Line 33: Update the PR description to explicitly document the security
override for fast-xml-parser by referencing the advisory (XMLBuilder: XML
Comment and CDATA Injection via Unescaped Delimiters), noting it addresses
versions < 5.7.0 and enforces "fast-xml-parser@>=5.7.0" (the override line in
package.json), include the severity (MODERATE), any CVE/advisory URL if
available, and state this dependency upgrade is a separate security fix applied
during the audit rather than part of the Cassandra blob Binary widget work.

---

Outside diff comments:
In `@package.json`:
- Line 4: The pipeline is failing because package.json declares
"packageManager": "pnpm@10.33.0" while the GitHub Actions workflow also sets a
conflicting pnpm version (the workflow's version: 10). Fix this by removing the
`version:` key from the Actions step that installs pnpm (leave the workflow to
use the project's packageManager) or, alternatively, align it exactly with
"pnpm@10.33.0"; locate the workflow step that references pnpm `version:` and
delete that `version` field so it no longer conflicts with package.json's
packageManager.
🪄 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: 76086182-bfb6-47f7-aeda-a3baa38f6789

📥 Commits

Reviewing files that changed from the base of the PR and between 388bf32 and 60e1b56.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (6)
  • frontend/src/app/components/dashboard/db-table-view/db-table-widgets/db-table-widgets.component.ts
  • frontend/src/app/consts/filter-types.ts
  • frontend/src/app/consts/record-edit-types.ts
  • frontend/src/app/consts/record-view-types.ts
  • frontend/src/app/consts/table-display-types.ts
  • package.json

Comment thread package.json
"@nestjs/core@<=11.1.17": ">=11.1.18",
"uuid@<14.0.0": ">=14.0.0"
"uuid@<14.0.0": ">=14.0.0",
"fast-xml-parser@<5.7.0": ">=5.7.0"
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Description: Verify fast-xml-parser version 5.7.0 exists and check for security advisories

# Check npm registry for version availability
echo "Checking fast-xml-parser versions..."
npm view fast-xml-parser versions --json | jq -r '.[]' | grep -E '^5\.(7|[8-9]|[0-9]{2})\.' | head -10

# Check for security advisories
echo -e "\nChecking security advisories..."
gh api graphql -f query='
{
  securityVulnerabilities(first: 10, ecosystem: NPM, package: "fast-xml-parser") {
    nodes {
      advisory {
        summary
        severity
        publishedAt
      }
      vulnerableVersionRange
      firstPatchedVersion {
        identifier
      }
    }
  }
}'

Repository: rocket-admin/rocketadmin

Length of output: 3072


Document the security advisory in the PR description.

The override correctly enforces fast-xml-parser@>=5.7.0 to address a legitimate MODERATE severity vulnerability: "XMLBuilder: XML Comment and CDATA Injection via Unescaped Delimiters" (affects versions < 5.7.0). The fix is valid and necessary.

However, the PR description should explicitly reference this security advisory. Since the PR's primary objective is Cassandra blob Binary widget support, mentioning the CVE/advisory details will clarify that this dependency upgrade is a separate security fix applied during the audit, not scope creep.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@package.json` at line 33, Update the PR description to explicitly document
the security override for fast-xml-parser by referencing the advisory
(XMLBuilder: XML Comment and CDATA Injection via Unescaped Delimiters), noting
it addresses versions < 5.7.0 and enforces "fast-xml-parser@>=5.7.0" (the
override line in package.json), include the severity (MODERATE), any
CVE/advisory URL if available, and state this dependency upgrade is a separate
security fix applied during the audit rather than part of the Cassandra blob
Binary widget work.

@gugu gugu merged commit 8ec9628 into main Apr 24, 2026
22 of 23 checks passed
@gugu gugu deleted the feature/cassandra-blob-binary-widget branch April 24, 2026 14:35
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