Remove unused slidingSyncProxy from DB.

This commit is contained in:
Benoit Marty
2025-11-18 15:48:36 +01:00
parent 21ced9e105
commit a9ae55703a
14 changed files with 43 additions and 36 deletions
@@ -39,7 +39,6 @@ class DefaultMessageParser(
accessToken = accessToken,
deviceId = deviceId,
refreshToken = null,
slidingSyncProxy = null
)
}
}
@@ -84,5 +84,4 @@ internal fun anExternalSession(
accessToken = "access_token",
deviceId = "device_id",
refreshToken = null,
slidingSyncProxy = null
)
@@ -37,7 +37,6 @@ private fun aSessionData(
refreshToken = "aRefreshToken",
homeserverUrl = "aHomeserverUrl",
oidcData = null,
slidingSyncProxy = null,
loginTimestamp = null,
isTokenValid = isTokenValid,
loginType = LoginType.UNKNOWN,
@@ -17,5 +17,4 @@ data class ExternalSession(
val accessToken: String,
val refreshToken: String?,
val homeserverUrl: String,
val slidingSyncProxy: String?
)
@@ -28,7 +28,6 @@ internal fun Session.toSessionData(
refreshToken = refreshToken,
homeserverUrl = homeserverUrl ?: this.homeserverUrl,
oidcData = oidcData,
slidingSyncProxy = null,
loginTimestamp = Date(),
isTokenValid = isTokenValid,
loginType = loginType,
@@ -54,7 +53,6 @@ internal fun ExternalSession.toSessionData(
refreshToken = refreshToken,
homeserverUrl = homeserverUrl,
oidcData = null,
slidingSyncProxy = slidingSyncProxy,
loginTimestamp = Date(),
isTokenValid = isTokenValid,
loginType = loginType,
@@ -38,7 +38,6 @@ class SessionKtTest {
assertThat(result.homeserverUrl).isEqualTo(A_HOMESERVER_URL)
assertThat(result.isTokenValid).isTrue()
assertThat(result.oidcData).isNull()
assertThat(result.slidingSyncProxy).isNull()
assertThat(result.loginType).isEqualTo(LoginType.PASSWORD)
assertThat(result.loginTimestamp).isNotNull()
assertThat(result.passphrase).isEqualTo(A_SECRET)
@@ -70,20 +69,6 @@ class SessionKtTest {
assertThat(result.homeserverUrl).isEqualTo(A_HOMESERVER_URL_2)
}
@Test
fun `toSessionData copy the sliding sync url if present`() {
val result = aRustSession(
proxy = SlidingSyncVersion.NATIVE
).toSessionData(
isTokenValid = true,
loginType = LoginType.PASSWORD,
passphrase = A_SECRET,
sessionPaths = SessionPaths(File("/a/file"), File("/a/cache")),
homeserverUrl = A_HOMESERVER_URL_2,
)
assertThat(result.slidingSyncProxy).isNull()
}
@Test
fun `ExternalSession toSessionData compute the expected result`() {
val result = anExternalSession().toSessionData(
@@ -99,7 +84,6 @@ class SessionKtTest {
assertThat(result.homeserverUrl).isEqualTo(A_HOMESERVER_URL)
assertThat(result.isTokenValid).isTrue()
assertThat(result.oidcData).isNull()
assertThat(result.slidingSyncProxy).isNull()
assertThat(result.loginType).isEqualTo(LoginType.PASSWORD)
assertThat(result.loginTimestamp).isNotNull()
assertThat(result.passphrase).isEqualTo(A_SECRET)
@@ -125,12 +109,10 @@ private fun anExternalSession(
accessToken: String = "accessToken",
refreshToken: String? = null,
homeserverUrl: String = A_HOMESERVER_URL,
slidingSyncProxy: String? = null,
) = ExternalSession(
userId = userId,
deviceId = deviceId,
accessToken = accessToken,
refreshToken = refreshToken,
homeserverUrl = homeserverUrl,
slidingSyncProxy = slidingSyncProxy,
)
@@ -26,8 +26,6 @@ data class SessionData(
val homeserverUrl: String,
/** The Open ID Connect info for this session, if any. */
val oidcData: String?,
/** The Sliding Sync Proxy URL for this session, if any. */
val slidingSyncProxy: String?,
/** The timestamp of the last login. May be `null` in very old sessions. */
val loginTimestamp: Date?,
/** Whether the [accessToken] is valid or not. */
@@ -21,7 +21,6 @@ internal fun SessionData.toDbModel(): DbSessionData {
refreshToken = refreshToken,
homeserverUrl = homeserverUrl,
oidcData = oidcData,
slidingSyncProxy = slidingSyncProxy,
loginTimestamp = loginTimestamp?.time,
isTokenValid = if (isTokenValid) 1L else 0L,
loginType = loginType.name,
@@ -43,7 +42,6 @@ internal fun DbSessionData.toApiModel(): SessionData {
refreshToken = refreshToken,
homeserverUrl = homeserverUrl,
oidcData = oidcData,
slidingSyncProxy = slidingSyncProxy,
loginTimestamp = loginTimestamp?.let { Date(it) },
isTokenValid = isTokenValid == 1L,
loginType = LoginType.fromName(loginType ?: LoginType.UNKNOWN.name),
@@ -14,7 +14,6 @@ CREATE TABLE SessionData (
accessToken TEXT NOT NULL,
refreshToken TEXT,
homeserverUrl TEXT NOT NULL,
slidingSyncProxy TEXT,
-- added in version 2
loginTimestamp INTEGER,
-- added in version 3
@@ -0,0 +1,43 @@
-- Migrate DB from version 10
-- Remove field slidingSyncProxy
-- Equivalent to (DROP not supported by sqldelight):
-- ALTER TABLE SessionData DROP slidingSyncProxy;
CREATE TABLE SessionData_bak (
userId TEXT NOT NULL PRIMARY KEY,
deviceId TEXT NOT NULL,
accessToken TEXT NOT NULL,
refreshToken TEXT,
homeserverUrl TEXT NOT NULL,
loginTimestamp INTEGER,
oidcData TEXT,
isTokenValid INTEGER NOT NULL DEFAULT 1,
loginType TEXT,
passphrase TEXT,
sessionPath TEXT NOT NULL DEFAULT "",
cachePath TEXT NOT NULL DEFAULT "",
position INTEGER NOT NULL DEFAULT 0,
lastUsageIndex INTEGER NOT NULL DEFAULT 0,
userDisplayName TEXT,
userAvatarUrl TEXT
);
INSERT INTO SessionData_bak SELECT
userId,
deviceId,
accessToken,
refreshToken,
homeserverUrl,
loginTimestamp,
oidcData,
isTokenValid,
loginType,
passphrase,
sessionPath,
cachePath,
position,
lastUsageIndex,
userDisplayName,
userAvatarUrl FROM SessionData;
DROP TABLE SessionData;
ALTER TABLE SessionData_bak RENAME TO SessionData;
@@ -220,7 +220,6 @@ class DatabaseSessionStoreTest {
accessToken = "accessToken",
refreshToken = "refreshToken",
homeserverUrl = "homeserverUrl",
slidingSyncProxy = "slidingSyncProxy",
loginTimestamp = 1,
oidcData = "aOidcData",
isTokenValid = 1,
@@ -239,7 +238,6 @@ class DatabaseSessionStoreTest {
accessToken = "accessTokenAltered",
refreshToken = "refreshTokenAltered",
homeserverUrl = "homeserverUrlAltered",
slidingSyncProxy = "slidingSyncProxyAltered",
loginTimestamp = 2,
oidcData = "aOidcDataAltered",
isTokenValid = 1,
@@ -266,7 +264,6 @@ class DatabaseSessionStoreTest {
assertThat(alteredSession.accessToken).isEqualTo(secondSessionData.accessToken)
assertThat(alteredSession.refreshToken).isEqualTo(secondSessionData.refreshToken)
assertThat(alteredSession.homeserverUrl).isEqualTo(secondSessionData.homeserverUrl)
assertThat(alteredSession.slidingSyncProxy).isEqualTo(secondSessionData.slidingSyncProxy)
// Check that alteredSession.loginTimestamp is not altered, so equal to firstSessionData.loginTimestamp
assertThat(alteredSession.loginTimestamp).isEqualTo(firstSessionData.loginTimestamp)
assertThat(alteredSession.oidcData).isEqualTo(secondSessionData.oidcData)
@@ -286,7 +283,6 @@ class DatabaseSessionStoreTest {
accessToken = "accessToken",
refreshToken = "refreshToken",
homeserverUrl = "homeserverUrl",
slidingSyncProxy = "slidingSyncProxy",
loginTimestamp = 1,
oidcData = "aOidcData",
isTokenValid = 1,
@@ -305,7 +301,6 @@ class DatabaseSessionStoreTest {
accessToken = "accessTokenAltered",
refreshToken = "refreshTokenAltered",
homeserverUrl = "homeserverUrlAltered",
slidingSyncProxy = "slidingSyncProxyAltered",
loginTimestamp = 2,
oidcData = "aOidcDataAltered",
isTokenValid = 1,
@@ -19,7 +19,6 @@ internal fun aDbSessionData(
accessToken = "accessToken",
refreshToken = "refreshToken",
homeserverUrl = "homeserverUrl",
slidingSyncProxy = null,
loginTimestamp = null,
oidcData = "aOidcData",
isTokenValid = 1,
@@ -31,7 +31,6 @@ fun aSessionData(
refreshToken = refreshToken,
homeserverUrl = "aHomeserverUrl",
oidcData = null,
slidingSyncProxy = null,
loginTimestamp = null,
isTokenValid = isTokenValid,
loginType = LoginType.UNKNOWN,