Skip to content

feat: widget size variants, vault selection, per-instance pinning, concurrent cache tests (#244 #245 #246 #247) - #336

Open
edwardfavour998-code wants to merge 1 commit into
ethos-protocol:mainfrom
edwardfavour998-code:feature/widget-vault-selection-and-layout
Open

feat: widget size variants, vault selection, per-instance pinning, concurrent cache tests (#244 #245 #246 #247)#336
edwardfavour998-code wants to merge 1 commit into
ethos-protocol:mainfrom
edwardfavour998-code:feature/widget-vault-selection-and-layout

Conversation

@edwardfavour998-code

Copy link
Copy Markdown

Closes #244
Closes #245
Closes #246
Closes #247

Summary

Changes

Testing

Parity checklist

This project maintains a feature-parity table in PARITY.md that
tracks which features are implemented on iOS vs Android. Please answer the
questions below before requesting review.

  • This PR does not add, change, or remove any user-facing feature on either
    platform — no PARITY.md update needed.

    — OR —

  • This PR adds/changes/removes a user-facing feature. I have updated PARITY.md:

    • Updated the status symbol(s) for the affected row(s).
    • Added or updated "Notes" if the implementation is partial or has caveats.
    • Removed or updated any rows in the "Known gaps" table that this PR closes.

Related issues

…ncurrent cache tests (ethos-protocol#244 ethos-protocol#245 ethos-protocol#246 ethos-protocol#247)

- ethos-protocol#247 iOS: TTLWidgetView adapts layout across .systemSmall/.systemMedium/.systemLarge/.accessoryRectangular/.accessoryCircular
- ethos-protocol#247 Android: vault_widget_small/medium/large.xml layouts; VaultStatusWidget picks layout by width; onAppWidgetOptionsChanged re-renders on resize
- ethos-protocol#245 iOS: VaultSelectionIntent (AppIntents/WidgetConfigurationIntent) replaces StaticConfiguration; urgency fallback when vaultID is empty
- ethos-protocol#245 Android: VaultWidgetConfigActivity lets user pick a vault per widget instance; vault_id_list saved by worker for picker; urgency fallback on cancel
- ethos-protocol#246 iOS: AppIntentConfiguration gives each widget instance its own VaultSelectionIntent automatically
- ethos-protocol#246 Android: per-widget SharedPreferences (vault_widget_prefs_{id}); VaultWidgetUpdateWorker updates each widget independently
- ethos-protocol#244 Android: OfflineCacheTest concurrent read/write test; OfflineCache save/load protected by ReentrantReadWriteLock
- ethos-protocol#244 iOS: OfflineCacheConcurrencyTests (concurrent write+read, two-instance isolation); OfflineCache.save/load/delete/clearAll serialised via concurrent DispatchQueue with barrier writes
- Updated PARITY.md: widget urgency selection now ✅ on both platforms
- Updated .gitignore: exclude snapshot images, build artefacts, generated Xcode project
@drips-wave

drips-wave Bot commented Aug 27, 2026

Copy link
Copy Markdown

@edwardfavour998-code Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

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

Labels

None yet

Projects

None yet

1 participant