Skip to content

[PM-39234] feat: Add manifest endpoint and models#2806

Open
andrebispo5 wants to merge 4 commits into
pm-38442/add-fill-assist-endpoint-and-modelsfrom
pm-39234/add-manifest-endpoint-and-models
Open

[PM-39234] feat: Add manifest endpoint and models#2806
andrebispo5 wants to merge 4 commits into
pm-38442/add-fill-assist-endpoint-and-modelsfrom
pm-39234/add-manifest-endpoint-and-models

Conversation

@andrebispo5

Copy link
Copy Markdown
Contributor

🎟️ Tracking

https://bitwarden.atlassian.net/browse/PM-39234

📔 Objective

Adds FillAssistManifestRequest, FillAssistManifestResponseModel, and a getManifest() method to FillAssistAPIService to fetch manifest.json from the map-the-web CDN. The manifest describes the available versioned map artifacts and their filenames, enabling downstream consumers to dynamically select the correct forms file (e.g. forms.v1.json) rather than hardcoding it.

Depends on #2760 (PM-38442 — Add Fill-Assist endpoint and models), which establishes mapTheWebService and the base URL plumbing this PR builds upon.

@github-actions github-actions Bot added app:password-manager Bitwarden Password Manager app context t:feature labels Jun 18, 2026
@andrebispo5 andrebispo5 marked this pull request as ready for review June 18, 2026 08:38
Copilot AI review requested due to automatic review settings June 18, 2026 08:38
@andrebispo5 andrebispo5 requested a review from a team as a code owner June 18, 2026 08:38
@github-actions

github-actions Bot commented Jun 18, 2026

Copy link
Copy Markdown
Contributor

🤖 Bitwarden Claude Code Review

Overall Assessment: APPROVE

Reviewed the addition of FillAssistManifestRequest, FillAssistManifestResponseModel/FillAssistManifestEntryModel, and the getManifest() method on FillAssistAPIService. The new request and response models mirror the existing FormsMapRequest/FormsMapResponseModel patterns, conform to JSONResponse correctly, and rely on synthesized Codable since property names match the manifest JSON keys. Test coverage is thorough: request method/path, service URL assertion, and decoding (including the optional deprecated flag) are all exercised with a matching fixture.

Code Review Details

No findings. The change is focused, consistent with established Autofill API conventions, and well tested.

Copilot AI 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.

Pull request overview

Adds support for fetching and decoding the Fill-Assist manifest.json from the map-the-web rules base URL, enabling consumers to discover available versioned artifacts (e.g. forms.v1.json) dynamically.

Changes:

  • Added FillAssistManifestRequest and FillAssistManifestResponseModel (plus entry model) for manifest.json.
  • Extended FillAssistAPIService with getManifest() and added request/decoding/service tests.
  • Added API test fixture data for a sample Fill-Assist manifest response.

Reviewed changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
BitwardenShared/Core/Autofill/Services/API/Requests/FillAssistManifestRequest.swift New request definition to fetch /manifest.json via mapTheWebService.
BitwardenShared/Core/Autofill/Services/API/Requests/FillAssistManifestRequestTests.swift Verifies manifest request method/path.
BitwardenShared/Core/Autofill/Services/API/Fixtures/APITestData+FillAssist.swift Adds fixture JSON payload for manifest responses.
BitwardenShared/Core/Autofill/Services/API/FillAssistAPIService.swift Adds getManifest() to the service protocol and APIService conformance.
BitwardenShared/Core/Autofill/Services/API/FillAssistAPIServiceTests.swift Verifies getManifest() sends the correct request (method/URL/body).
BitwardenShared/Core/Autofill/Models/FillAssistManifestResponseModel.swift Adds response model for decoding manifest.json and its map entries.
BitwardenShared/Core/Autofill/Models/FillAssistManifestResponseModelTests.swift Validates decoding for top-level fields, nested map entries, and deprecated.

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

Comment thread BitwardenShared/Core/Autofill/Models/FillAssistManifestResponseModel.swift Outdated
@codecov

codecov Bot commented Jun 18, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 80.80%. Comparing base (3564086) to head (c975980).

Additional details and impacted files
@@                               Coverage Diff                                @@
##           pm-38442/add-fill-assist-endpoint-and-models    #2806      +/-   ##
================================================================================
+ Coverage                                         78.53%   80.80%   +2.27%     
================================================================================
  Files                                              1145     1023     -122     
  Lines                                             72215    64928    -7287     
================================================================================
- Hits                                              56712    52468    -4244     
+ Misses                                            15503    12460    -3043     

☔ 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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

app:password-manager Bitwarden Password Manager app context t:feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants