Skip to content

test(profiles): store inventory and scope guard - #1469

Merged
A-EDev merged 77 commits into
mainfrom
test/profiles-store-inventory
Oct 28, 2026
Merged

A-EDev merged 77 commits into
mainfrom
test/profiles-store-inventory

Conversation

@A-EDev

@A-EDev A-EDev commented Oct 27, 2026

Copy link
Copy Markdown
Collaborator

Summary

First PR of the profiles stack. Test only, no app change.

  • app/src/test/resources/profiles/store_inventory.tsv: every store, file, folder, Room table and DAO the app keeps, with its owner (DEVICE, PROFILE, CACHE or DEFAULT_ONLY) and, for profile data, its backup class.
  • StoreScopeGuardTest: a plain JVM source scan of main, github and foss. It fails when code adds a store without a row, or a row no longer matches any code. No Robolectric.

Related issue

Part of #372, #602, #883 and #1039 (profiles).

Change type

  • Bug fix
  • Feature
  • Refactor or maintenance
  • Build, packaging, or CI
  • Documentation

Validation

  • ./gradlew :app:assembleGithubDebug

  • ./gradlew :app:testGithubDebugUnitTest

  • I ran any additional flavor-specific build or test tasks affected by this change.

  • I manually tested the affected behavior on an Android device or emulator.

  • ./gradlew :app:testGithubDebugUnitTest: 4452 tests, 0 failures.

  • ./gradlew ktlintCheck spotlessCheck: passed.

  • Checked the guard fails on a removed row, a renamed row and a new noBackupFilesDir file in code.

Test device and Android version: Not applicable (test only)

Screenshots or recordings

Risk and compatibility

No app code changes.

  • The change does not introduce secrets, private data, or unexpected telemetry.
  • New user-facing text uses Android string resources.
  • Dependency and lockfile changes are intentional and limited to this PR.
  • Room schema changes include the required version bump and migration, or this PR does not change the Room schema.
  • Breaking changes and upgrade steps are clearly documented.

Copilot AI balanced review requested due to automatic review settings October 27, 2026 15:03

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota.

An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.

A-EDev added 23 commits October 28, 2026 15:24
feat(profiles): Profiles settings and profile editor
feat(profiles): profile avatar and colors
refactor(main): move the root content out of MainActivity
…ions

fix(downloads): playlist collections remember their profile
fix(discord): one Discord link per profile
fix(intents): links arriving during a switch open in the new profile
feat(sync): sync only while Default is active
feat(profiles): profile slices for copying and restoring
fix(identity): WebView data and request cache per profile
fix(media): media sessions and Android Auto follow a switch
fix(widgets): widgets redraw for the active profile
fix(notifications): old notifications never open another profile
fix(work): background work stays with the profile that queued it
feat(profiles): switch by restarting the process
feat(profiles): create, rename and delete in the registry
feat(backup): profile folders in Auto Backup rules
refactor(identity): profile-named identity and cache prefs
…ndles

refactor(db): profile and device database handles
feat(settings): device-wide settings store
refactor(neuro): engine stores take their file from the profile
refactor(data): every preferences store states its scope
feat(profiles): profile registry read at process start
@github-actions github-actions Bot added documentation Improvements or additions to documentation player Video and audio playback algorithm Recommendation engine and math ui Compose UI, theming, or Material 3 surfaces sync Device-to-device sync labels Oct 28, 2026
@A-EDev
A-EDev merged commit a4ef745 into main Oct 28, 2026
9 checks passed
@A-EDev
A-EDev deleted the test/profiles-store-inventory branch October 29, 2026 21:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

algorithm Recommendation engine and math documentation Improvements or additions to documentation player Video and audio playback sync Device-to-device sync ui Compose UI, theming, or Material 3 surfaces

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants