Skip to content

Upgrade Room3 and migrate Paging3 - #6483

Open
SeniorZhai wants to merge 11 commits into
masterfrom
chore/upgrade-room3
Open

Upgrade Room3 and migrate Paging3#6483
SeniorZhai wants to merge 11 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

@SeniorZhai
SeniorZhai force-pushed the chore/upgrade-room3 branch from c106a73 to 00e23d4 Compare July 3, 2026 04:59
@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.

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

Copilot AI review requested due to automatic review settings August 3, 2026 02:59

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.

@SeniorZhai
SeniorZhai marked this pull request as ready for review August 6, 2026 14:12
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.
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.
Master introduced Room 2 APIs into the Room 3 branch.
This blocked KSP and Kotlin compilation.

Preserve corruption reporting while retaining Android's default
recovery behavior.
@SeniorZhai
SeniorZhai force-pushed the chore/upgrade-room3 branch from f372a99 to 8146cd3 Compare August 24, 2026 03:28
# Conflicts:
#	app/src/main/java/one/mixin/android/job/BlazeMessageService.kt
Avoid large joined scans when opening unread conversations and paging or exporting long chats.
Use the public Room transaction API so cancellation and early returns reliably return the writer connection.
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