Skip to content

fix(results-grid): preserve JSON types in row detail copy - #1948

Open
swara030 wants to merge 1 commit into
libredb:mainfrom
swara030:fix/row-detail-json-types
Open

swara030 wants to merge 1 commit into
libredb:mainfrom
swara030:fix/row-detail-json-types

Conversation

@swara030

@swara030 swara030 commented Oct 24, 2026 •

Copy link
Copy Markdown

Description

Fixes #1941. Row detail Copy JSON could convert unmasked numbers and NULL values to strings whenever masking was active.

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • Test addition or update

Related Issue

Fixes #1941

Changes Made

  • Preserve JSON types for unmasked fields while masking configured sensitive values.
  • Keep binary values as hexadecimal and preserve the existing vector copy behavior.
  • Add regression tests for types, masking, binary data, and excluded fields.

Testing

  • I have tested this locally
  • I have added/updated tests
  • All existing tests pass

Test Environment

  • LibreDB Studio Version: Local branch based on 1.0.0
  • Browser: Not applicable (component tests)
  • OS: Windows
  • Node.js/Bun Version: Bun 1.4.4
  • Database Type: Not applicable

Checklist

  • My code follows the project's code style guidelines
  • I have performed a self-review of my code
  • I have commented my code, particularly in hard-to-understand areas
  • I have updated the documentation accordingly
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes
  • The required CI test job passes the 100% line-coverage gate (bun run test:coverage and bun run coverage:check)
  • If I changed src/lib/db/providers/, I updated the matching docs/providers/ documentation and tests/integration/db/ tests in the same PR (provider triad)
  • If the type-id has a non-null AGENT_STATEMENT_LANGUAGE row, I kept its agent leg in step: the engine overlay under src/lib/agent/languages/<statement-language>/engines/, the Agent language pack subsection of its provider document, and tests/unit/lib/agent/engine-docs.test.ts
  • Any dependent changes have been merged and published

Additional Notes

The focused and component test suites, formatting, changed-file lint, typecheck, and production build passed. Full-repository lint did not complete in this environment, and the coverage gate was not run.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

This branch has not been deployed

No deployments
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.

[BUG] Row detail Copy JSON turns every field into text whenever a column is masked

1 participant