Skip to content

Upgrade Room3 and migrate Paging3 - #6483

Draft
SeniorZhai wants to merge 7 commits into
masterfrom
chore/upgrade-room3
Draft

Upgrade Room3 and migrate Paging3#6483
SeniorZhai wants to merge 7 commits into
masterfrom
chore/upgrade-room3

Conversation

@SeniorZhai

Copy link
Copy Markdown
Member

Summary

  • Upgrade Room integration to Room3 naming/imports and generated query annotations.
  • Migrate remaining Paging2 API usage to Paging3 PagingSource/PagingData flows.
  • Remove legacy Paging2 data source adapters/builders and update chat, media, search, and player consumers.

Verification

  • ./gradlew :app:compileGooglePlayDebugKotlin --no-configuration-cache --stacktrace

Generate fetcher/provider/filter queries at compile time, keep chat pagination on fallback queries after the real-device window benchmark, and include the benchmark report for reference.
@SeniorZhai
SeniorZhai force-pushed the chore/upgrade-room3 branch from c106a73 to 00e23d4 Compare July 3, 2026 04:59
Sync ongoing Room 3 work with the latest database migration and build configuration changes.

# Conflicts:
#	app/schemas/otherChannel/one.mixin.android.db.MixinDatabase/71.json
#	build.gradle.kts
Keep paging reads and counts on the same Room connection so invalidations are not missed. Preserve every wrapped adapter observer so RecyclerView continues receiving updates after the initial page.
@SeniorZhai

Copy link
Copy Markdown
Member Author

@copilot resolve the merge conflicts in this pull request

Copilot AI review requested due to automatic review settings July 24, 2026 05:19

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot wasn't able to review this pull request because it exceeds the maximum number of files (300). Try reducing the number of changed files and requesting a review from Copilot again.

- Adopt master's centralized extra.set() version declarations in build.gradle.kts
- Keep androidx.room3 plugin and roomVersion=3.0.0 for Room3 migration
- Add sqliteVersion extra for Room3's sqlite-framework dependency
- Fix MIGRATION_5_6 to use Room3's SQLiteConnection instead of SupportSQLiteDatabase
- Keep Room3's setDriver(AndroidSQLiteDriver()) in PerpsDatabase builder
- Update @ColumnTypeConverters to include DescriptionsConverter (from master)
- Add migrate_5_6_addsNullableDescriptions test (from master) with SQLiteConnection API
- Add PerpsDatabase schema v6 to googlePlay channel
Copilot AI review requested due to automatic review settings July 24, 2026 05:28

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot wasn't able to review this pull request because it exceeds the maximum number of files (300). Try reducing the number of changed files and requesting a review from Copilot again.

Copilot AI commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

@copilot resolve the merge conflicts in this pull request

Merge conflicts resolved in commit chore(merge): resolve conflicts with master branch.

Summary of resolutions:

  • build.gradle.kts: Adopted master's extra.set() style for centralized version declarations, keeping androidx.room3 plugin at v3.0.0 and adding sqliteVersion needed by Room3
  • app/build.gradle.kts: Adopted master's rootProject.extra["key"] as String variable style, keeping sqliteVersion for Room3's sqlite-framework dependency
  • PerpsMarket.kt: Used Room3's @ColumnTypeConverters with both ListConverter and DescriptionsConverter (incorporating master's addition)
  • PerpsDatabase.kt: Kept Room3's .setDriver(AndroidSQLiteDriver()) API, fixed MIGRATION_5_6 to use SQLiteConnection instead of SupportSQLiteDatabase
  • PerpsMigrationTest.kt: Added master's new migrate_5_6_addsNullableDescriptions test using Room3's SQLiteConnection API
  • Schemas: Added PerpsDatabase schema v6 to both googlePlay and otherChannel directories

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.

3 participants