[PM-39234] feat: Add manifest endpoint and models#2806
Conversation
🤖 Bitwarden Claude Code ReviewOverall Assessment: APPROVE Reviewed the addition of Code Review DetailsNo findings. The change is focused, consistent with established Autofill API conventions, and well tested. |
There was a problem hiding this comment.
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
FillAssistManifestRequestandFillAssistManifestResponseModel(plus entry model) formanifest.json. - Extended
FillAssistAPIServicewithgetManifest()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.
Codecov Report✅ All modified and coverable lines are covered by tests. 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. 🚀 New features to boost your workflow:
|
…9234/add-manifest-endpoint-and-models
🎟️ Tracking
https://bitwarden.atlassian.net/browse/PM-39234
📔 Objective
Adds
FillAssistManifestRequest,FillAssistManifestResponseModel, and agetManifest()method toFillAssistAPIServiceto fetchmanifest.jsonfrom 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
mapTheWebServiceand the base URL plumbing this PR builds upon.