Skip to content

PM-39902: feat: Add data field for updating a cipher with Blob encryption - #7198

Merged
david-livefront merged 1 commit into
mainfrom
PM-39902-blob-encryption-update
Jul 23, 2026
Merged

PM-39902: feat: Add data field for updating a cipher with Blob encryption#7198
david-livefront merged 1 commit into
mainfrom
PM-39902-blob-encryption-update

Conversation

@david-livefront

@david-livefront david-livefront commented Jul 22, 2026

Copy link
Copy Markdown
Collaborator

🎟️ Tracking

PM-39902

📔 Objective

This PT adds the data payload to the network request payloads responsible to for updating ciphers. This is required to ensure continued functionality with Blob encryption.

@david-livefront
david-livefront requested a review from a team as a code owner July 22, 2026 21:06
@github-actions github-actions Bot added app:password-manager Bitwarden Password Manager app context app:authenticator Bitwarden Authenticator app context t:feature Change Type - Feature Development labels Jul 22, 2026
@github-actions

github-actions Bot commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

🤖 Bitwarden Claude Code Review

Overall Assessment: APPROVE

Reviewed the addition of a nullable data field to CipherJsonRequest and CipherWithIdJsonRequest to support Blob encryption on cipher updates. The field is threaded through Cipher.toEncryptedNetworkCipher and toCipherWithIdJsonRequest, and the createMockCipherJsonRequest test fixture is updated accordingly. The change is minimal, consistent with the existing nullable-field serialization pattern, and all direct constructor call sites route through the updated constructors or the fixture.

Code Review Details

No findings. The change is a straightforward passthrough of a new SDK field with no security, correctness, breaking-change, or performance concerns.

Minor (not blocking): the round-trip mapping is only exercised with data = null in tests (createMockSdkCipher sets data = null), so a non-null value is not covered. Given the mapping is a trivial passthrough, this is acceptable.

@codecov

codecov Bot commented Jul 22, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 85.70%. Comparing base (04edb4c) to head (7620575).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #7198      +/-   ##
==========================================
- Coverage   86.20%   85.70%   -0.50%     
==========================================
  Files         884      896      +12     
  Lines       64672    65048     +376     
  Branches     9673     9688      +15     
==========================================
+ Hits        55751    55752       +1     
- Misses       5456     5831     +375     
  Partials     3465     3465              
Flag Coverage Δ
app-data 17.76% <100.00%> (+<0.01%) ⬆️
app-ui-auth-tools 18.78% <0.00%> (-0.01%) ⬇️
app-ui-platform 16.55% <0.00%> (-0.01%) ⬇️
app-ui-vault 27.36% <0.00%> (-0.01%) ⬇️
authenticator 6.10% <0.00%> (-0.02%) ⬇️
lib-core-network-bridge 4.01% <0.00%> (-0.01%) ⬇️
lib-data-ui 1.15% <0.00%> (+<0.01%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

lastKnownRevisionDate: Instant? = Instant.parse("2023-10-27T12:00:00Z"),
key: String? = "mockKey-$number",
archivedDate: Instant? = Instant.parse("2023-10-27T12:00:00Z"),
data: String? = null,

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.

Just to check, all other fields have non null mocked values shouldn't this have something also?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Good call, I added some fake data here and I also updated the SyncResponseCipherUtil to do the same thing

@david-livefront
david-livefront force-pushed the PM-39902-blob-encryption-update branch from fb2a73f to 7620575 Compare July 23, 2026 14:21
@david-livefront

Copy link
Copy Markdown
Collaborator Author

Thanks @andrebispo5

@david-livefront
david-livefront added this pull request to the merge queue Jul 23, 2026
Merged via the queue into main with commit f64a08d Jul 23, 2026
29 checks passed
@david-livefront
david-livefront deleted the PM-39902-blob-encryption-update branch July 23, 2026 16:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

app:authenticator Bitwarden Authenticator app context app:password-manager Bitwarden Password Manager app context t:feature Change Type - Feature Development

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants