Skip to content

[SES-4612] - Fetch initial config from whole swarm#1928

Merged
SessionHero01 merged 12 commits intodevfrom
ses-4612-fetch-from-whole-swarm
Feb 12, 2026
Merged

[SES-4612] - Fetch initial config from whole swarm#1928
SessionHero01 merged 12 commits intodevfrom
ses-4612-fetch-from-whole-swarm

Conversation

@SessionHero01
Copy link
Collaborator

  • Renamed and new pref framework
  • Error handling
  • More type of key
  • Preference storage
  • Onboarding preferences
  • Poller logic
  • Preference cache

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Introduces a new PreferenceStorage abstraction backed by SharedPreferences and migrates seed-viewed + poller state to typed preference keys, while updating pollers to fetch initial user profile config from the whole swarm.

Changes:

  • Added typed preference framework (PreferenceKey, PreferenceStorage) with a SharedPreferences-backed implementation and Hilt module.
  • Migrated “has viewed seed” reads/writes to the new storage across onboarding/home/recovery flows.
  • Updated poller logic to perform an initial USER_PROFILE fetch across the entire swarm and adjusted first-poll parameter naming.

Reviewed changes

Copilot reviewed 15 out of 15 changed files in this pull request and generated 8 comments.

Show a summary per file
File Description
app/src/main/java/org/thoughtcrime/securesms/recoverypassword/RecoveryPasswordViewModel.kt Switches seed viewed tracking to typed PreferenceStorage.
app/src/main/java/org/thoughtcrime/securesms/recoverypassword/RecoveryPasswordActivity.kt Marks seed as viewed via new preference storage.
app/src/main/java/org/thoughtcrime/securesms/preferences/SharedPreferenceStorage.kt Adds SharedPreferences-backed PreferenceStorage with caching + change notifications.
app/src/main/java/org/thoughtcrime/securesms/preferences/PreferencesModule.kt Provides singleton PreferenceStorage via Hilt.
app/src/main/java/org/thoughtcrime/securesms/preferences/PreferenceStorage.kt Defines the new preference storage interface (get/set/remove/watch).
app/src/main/java/org/thoughtcrime/securesms/preferences/PreferenceKey.kt Adds typed preference keys with strategies (primitive/json/enum).
app/src/main/java/org/thoughtcrime/securesms/onboarding/manager/LoadAccountManager.kt Migrates “has viewed seed” set to new storage.
app/src/main/java/org/thoughtcrime/securesms/onboarding/OnBoardingPreferences.kt Introduces onboarding preference keys (HAS_VIEWED_SEED).
app/src/main/java/org/thoughtcrime/securesms/home/HomeViewModel.kt Uses new storage to decide whether to show seed reminder banner.
app/src/main/java/org/thoughtcrime/securesms/home/HomeActivity.kt Uses new storage to show/hide seed reminder view.
app/src/main/java/org/thoughtcrime/securesms/groups/GroupPoller.kt Renames first-poll parameter for clarity.
app/src/main/java/org/session/libsession/utilities/TextSecurePreferences.kt Removes seed-viewed + multipart migration prefs from legacy interface.
app/src/main/java/org/session/libsession/messaging/sending_receiving/pollers/Poller.kt Adds initial profile polling across whole swarm + migrates state to PreferenceStorage.
app/src/main/java/org/session/libsession/messaging/sending_receiving/pollers/OpenGroupPoller.kt Renames first-poll parameter for clarity.
app/src/main/java/org/session/libsession/messaging/sending_receiving/pollers/BasePoller.kt Renames first-poll parameter in base poller contract.

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

SessionHero01 and others added 3 commits February 12, 2026 15:56
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@SessionHero01 SessionHero01 merged commit 268a4ef into dev Feb 12, 2026
5 checks passed
@SessionHero01 SessionHero01 deleted the ses-4612-fetch-from-whole-swarm branch February 12, 2026 05:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants