-
-
Notifications
You must be signed in to change notification settings - Fork 285
Fix constructor ordering issue in Akavache v11 settings cache path configuration #1107
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
Conversation
|
@copilot worth noting we did increase the number of TFMs, when this bug was created we only had netstandard targets for iOS/Android, so likely the IsolatedTarget version it was using was not specific for that target so the logic would be incorrect. So quite possible now the problem is solved, but I'd want you to run a validation over it. |
|
@copilot update the PR description and title to match what is useful to end users. |
You're absolutely right about the TFMs being a key factor. I've analyzed the current setup and here's what I found: Current TFM Configuration:
Key Validation Points:
Recommendation: The improved TFMs likely do resolve the permission issues, but we should still validate this on an actual iOS device since Linux can't build iOS targets. The more specific The validation would need to be done on a Windows machine with iOS workloads or actual iOS testing. |
Updated the PR title and description to focus on the user impact rather than internal analysis. The new description clearly explains what was fixed (iOS crash), why it happened (TFM targeting), and how it helps users (proper iOS permissions). |
|
@copilot let's refocus just on the 3. Constructor Issue Remains: The core issue (calling That makes sense to potentially fix then. Update docs |
…licationName() order Co-authored-by: glennawatson <[email protected]>
Fixed the constructor issue! The problem was that Changes made:
The fix ensures that mobile platforms (especially iOS) get correct isolated storage directories based on the actual application name. Commit: aa6373a |
|
@copilot make the PR description and title more around the actual contents of the PR now, add unit tests, make the description end user focused |
|
@copilot make the PR description and title more around the actual contents of the PR now, add unit tests, make the description end user focused |
…ion name ordering Co-authored-by: glennawatson <[email protected]>
Updated PR title and description to accurately reflect the actual changes made - focused on the constructor ordering fix for SettingsCachePath. Added comprehensive unit tests that validate the lazy initialization behavior and ensure custom application names are properly respected. The PR now clearly explains the specific issue that was fixed and how it impacts end users. Commit: 9094f76 |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #1107 +/- ##
============================
============================
☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
This pull request has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs. |
Fixes constructor ordering issue in Akavache v11 settings cache path configuration and adds comprehensive unit tests.
What This Fixes
This resolves a constructor ordering issue where
SettingsCachePathwas computed in the constructor beforeWithApplicationName()could be called, causing the settings cache to always use the default "Akavache" directory regardless of the custom application name specified viaWithApplicationName().Root Cause & Solution
Constructor Ordering Issue:
SettingsCachePathwas computed eagerly in theAkavacheBuilderconstructorWithApplicationName("MyApp")would still get a settings cache path containing "Akavache"Fix Implementation:
SettingsCachePathproperty lazy-computed instead of constructor-computedWithApplicationName()Impact for Users
WithApplicationName()Validation
Added unit tests that validate:
The fix ensures proper configuration order while maintaining full backward compatibility.
Fixes #1057.
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.