-
Notifications
You must be signed in to change notification settings - Fork 84
[PM-26061] Consolidate Debug Menu to BitwardenKit #2177
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
|
Great job! No new security vulnerabilities introduced in this pull request |
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #2177 +/- ##
==========================================
- Coverage 85.42% 84.12% -1.30%
==========================================
Files 1733 1973 +240
Lines 146246 161418 +15172
==========================================
+ Hits 124926 135800 +10874
- Misses 21320 25618 +4298 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
Claude finished @KatherineInCode's task —— View job Code Review Complete ✅I've reviewed this PR for architecture compliance, code style, testing guidelines, and security considerations. Overall, this is a solid consolidation effort that successfully moves the Debug Menu to BitwardenKit. Here are my findings: 🎯 SummaryThis PR successfully consolidates the Debug Menu from ✅ Strengths
📝 Observations & Suggestions1. Code Coverage Gaps (Minor)Codecov reports 10 lines missing coverage. The main gaps appear to be:
Suggestion: Consider adding a test to func test_showDebugMenu_presentsDebugMenu() {
subject.navigate(to: .debugMenu)
XCTAssertTrue(subject.isShowingDebugMenu)
XCTAssertTrue(module.makeDebugMenuCoordinatorCalled)
}2. Array Extension Documentation (Very Minor)The Suggestion from PR description: The author mentions wanting to expand usage of 3. SDK Error Type Change (Question)The PR changes which error type is generated for SDK errors (BitwardenKit/UI/Platform/DebugMenu/DebugMenuProcessor.swift:74-76): services.errorReporter.log(error: BitwardenSdk.BitwardenError.Api(ApiError.ResponseContent(
message: "Generated SDK error report from debug view.",
)))Question: What was the previous SDK error type, and why was this specific error type chosen? This change isn't problematic, but understanding the rationale would be helpful for documentation purposes. 4. Access Control Consistency (Very Minor)The Note: This is correct - just confirming the access control is intentional and appropriate. 🔒 Security Considerations✅ All security requirements met:
The debug menu is appropriately secured for its purpose. 📊 Code Style Compliance✅ Follows Bitwarden Swift style guidelines:
🧪 Testing Guidelines Compliance✅ Follows testing guidelines:
🎨 Recommendations SummaryPriority: Low - No blocking issues found
✅ Final VerdictAPPROVED - This PR is ready to merge. The consolidation is well-executed with:
The minor coverage gap is non-critical and the overall quality is high. Great work on the consolidation! 🎉 CI Status: All checks passing ✓
|
fedemkr
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good, just one small question.
| AuthenticatorBridgeKitMocks: 0x0000000000000000 | ||
| BitwardenKit: 0x0000000000000000 | ||
| BitwardenKitMocks: 0x0000000000000000 | ||
| BitwardenSdk_464161978EAC5FCE_PackageProduct: 0x0000000000000000 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🤔 I'm wondering if the 464161978EAC5FCE changes with new releases of the SDK. If so, we should make this more flexible or the test will fail every time the SDK gets updated.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's a very good question, I don't actually know 🤔 I'll dig into it, see where that's coming from and how I can update the snapshot test to handle it better.

🎟️ Tracking
https://bitwarden.atlassian.net/browse/PM-26061
📔 Objective
This consolidates the Debug Menu and related objects to
BitwardenKit, as part of a broader effort to consolidate things toBitwardenKit.I had to also bring in our
safeIndexarray extension as part of this, but I also think we should expand usage of it (particularly in tests).I also split out the "Generate SDK Error" from "Generate Error", to provide more granular control. As well, I changed which kind of error is generated.
The close button of the Debug menu has also been updated to match the rest of the app.
📸 Screenshots
⏰ Reminders before review
🦮 Reviewer guidelines
:+1:) or similar for great changes:memo:) or ℹ️ (:information_source:) for notes or general info:question:) for questions:thinking:) or 💭 (:thought_balloon:) for more open inquiry that's not quite a confirmed issue and could potentially benefit from discussion:art:) for suggestions / improvements:x:) or:warning:) for more significant problems or concerns needing attention:seedling:) or ♻️ (:recycle:) for future improvements or indications of technical debt:pick:) for minor or nitpick changes