Skip to content

Commit 8105161

Browse files
authored
Merge pull request #1728 from DimensionDev/dependabot/gradle/ktor-3.4.0
Bump ktor from 3.3.3 to 3.4.0
2 parents 682d8bc + 10d3ead commit 8105161

File tree

5 files changed

+27
-23
lines changed

5 files changed

+27
-23
lines changed

gradle/libs.versions.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ kotlinx-collections-immutable = "0.4.0"
2626
kotlinx-serialization = "1.10.0"
2727
coil3 = "3.3.0"
2828
ktorfit = "2.7.2"
29-
ktor = "3.3.3"
29+
ktor = "3.4.0"
3030
platformtoolsDarkmodedetector = "0.7.5"
3131
prettytime = "5.0.9.Final"
3232
reorderable = "3.0.0"

shared/src/commonMain/kotlin/dev/dimension/flare/data/network/bluesky/BlueskyService.kt

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ import io.ktor.client.plugins.api.createClientPlugin
1111
import io.ktor.client.request.HttpRequestPipeline
1212
import io.ktor.http.Url
1313
import io.ktor.util.AttributeKey
14-
import io.ktor.util.encodeBase64
1514
import kotlinx.coroutines.flow.Flow
1615
import kotlinx.coroutines.flow.firstOrNull
1716
import kotlinx.coroutines.flow.flowOf
@@ -20,6 +19,7 @@ import sh.christian.ozone.BlueskyApi
2019
import sh.christian.ozone.XrpcBlueskyApi
2120
import sh.christian.ozone.oauth.OAuthApi
2221
import sh.christian.ozone.oauth.OAuthCodeChallengeMethod
22+
import kotlin.io.encoding.Base64
2323

2424
// compatibility support for darwin (iOS, macOS) since Ktor's SHA-256 implementation is not available there
2525
// see: https://github.com/ktorio/ktor/blob/477d76409fec6c2d71683817c6060f1b2afdcbb2/ktor-utils/posix/src/io/ktor/util/CryptoNative.kt#L25C57-L25C92
@@ -35,7 +35,12 @@ internal data object OAuthCodeChallengeMethodS256 : OAuthCodeChallengeMethod("S2
3535
return base64UrlSafe
3636
}
3737

38-
private fun ByteArray.encodeBase64Url(): String = encodeBase64().trimEnd('=').replace('+', '-').replace('/', '_')
38+
private fun ByteArray.encodeBase64Url(): String =
39+
Base64
40+
.encode(this)
41+
.trimEnd('=')
42+
.replace('+', '-')
43+
.replace('/', '_')
3944
}
4045

4146
internal data class BlueskyService private constructor(

shared/src/commonMain/kotlin/dev/dimension/flare/data/network/xqt/elonmusk114514/ElonMusk1145141919810.kt

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,11 @@ import dev.whyoleg.cryptography.CryptographyProvider
66
import dev.whyoleg.cryptography.algorithms.SHA256
77
import io.ktor.client.request.get
88
import io.ktor.client.statement.bodyAsText
9-
import io.ktor.util.decodeBase64Bytes
10-
import io.ktor.util.encodeBase64
11-
import kotlinx.serialization.Serializable
129
import kotlin.experimental.xor
10+
import kotlin.io.encoding.Base64
1311
import kotlin.random.Random
1412
import kotlin.time.Clock
13+
import kotlinx.serialization.Serializable
1514

1615
internal object ElonMusk1145141919810 {
1716
@Serializable
@@ -29,9 +28,9 @@ internal object ElonMusk1145141919810 {
2928
.hasher()
3029
.hash(data.encodeToByteArray())
3130

32-
fun encodeBase64(data: ByteArray): String = data.encodeBase64()
31+
fun encodeBase64(data: ByteArray): String = Base64.encode(data)
3332

34-
fun decodeBase64(data: String): ByteArray = data.decodeBase64Bytes()
33+
fun decodeBase64(data: String): ByteArray = Base64.decode(data)
3534

3635
suspend fun senpaiSukissu(
3736
method: String,

shared/src/commonMain/kotlin/dev/dimension/flare/model/PlatformType.kt

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
package dev.dimension.flare.model
22

33
import androidx.compose.runtime.Immutable
4-
import io.ktor.util.decodeBase64String
54
import kotlinx.serialization.Serializable
5+
import kotlin.io.encoding.Base64
66

77
@Immutable
88
@Serializable
@@ -35,10 +35,10 @@ public val PlatformType.logoUrl: String
3535

3636
public val xqtOldHost: String =
3737
buildString {
38-
append("dHc=".decodeBase64String())
39-
append("aXR0".decodeBase64String())
40-
append("ZXI=".decodeBase64String())
41-
append("LmNvbQ==".decodeBase64String())
38+
append(Base64.decode("dHc=").decodeToString())
39+
append(Base64.decode("aXR0").decodeToString())
40+
append(Base64.decode("ZXI=").decodeToString())
41+
append(Base64.decode("LmNvbQ==").decodeToString())
4242
}
4343

4444
public val xqtHost: String =
@@ -49,25 +49,25 @@ public val xqtHost: String =
4949

5050
public val vvo: String =
5151
buildString {
52-
append("d2Vp".decodeBase64String())
53-
append("Ym8=".decodeBase64String())
52+
append(Base64.decode("d2Vp").decodeToString())
53+
append(Base64.decode("Ym8=").decodeToString())
5454
}
5555

5656
public val vvoHost: String =
5757
buildString {
58-
append("bS53".decodeBase64String())
59-
append("ZWli".decodeBase64String())
60-
append("by5jbg==".decodeBase64String())
58+
append(Base64.decode("bS53").decodeToString())
59+
append(Base64.decode("ZWli").decodeToString())
60+
append(Base64.decode("by5jbg==").decodeToString())
6161
}
6262

6363
public val vvoHostShort: String =
6464
buildString {
6565
append(vvo)
66-
append("LmNu".decodeBase64String())
66+
append(Base64.decode("LmNu").decodeToString())
6767
}
6868

6969
public val vvoHostLong: String =
7070
buildString {
71-
append("d2Vp".decodeBase64String())
72-
append("Ym8uY29t".decodeBase64String())
71+
append(Base64.decode("d2Vp").decodeToString())
72+
append(Base64.decode("Ym8uY29t").decodeToString())
7373
}

shared/src/commonMain/kotlin/dev/dimension/flare/ui/model/mapper/Rss.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,12 @@ import dev.dimension.flare.model.MicroBlogKey
77
import dev.dimension.flare.ui.model.UiTimeline
88
import dev.dimension.flare.ui.render.toUi
99
import io.ktor.http.Url
10-
import io.ktor.util.encodeBase64
1110
import kotlinx.collections.immutable.persistentMapOf
1211
import kotlinx.datetime.LocalDateTime
1312
import kotlinx.datetime.Month
1413
import kotlinx.datetime.UtcOffset
1514
import kotlinx.datetime.toInstant
15+
import kotlin.io.encoding.Base64
1616
import kotlin.time.Instant
1717

1818
internal fun StatusContent.Rss.RssContent.render(): UiTimeline =
@@ -132,7 +132,7 @@ internal fun StatusContent.Rss.RssContent.RDF.render(): UiTimeline =
132132

133133
internal fun MicroBlogKey.Companion.fromRss(url: String) =
134134
MicroBlogKey(
135-
id = url.encodeBase64(),
135+
id = Base64.encode(url.encodeToByteArray()),
136136
host = "RSS",
137137
)
138138

0 commit comments

Comments
 (0)