From f1266d31372d0c99d984d2d9fdc0e1a90f5e2ee5 Mon Sep 17 00:00:00 2001 From: Infi Date: Sun, 12 Oct 2025 00:36:15 +0200 Subject: [PATCH 1/6] docs: change repo location (pre-emptively) Signed-off-by: Infi --- docs/astro.config.mjs | 6 +++--- docs/src/content/docs/index.mdx | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/astro.config.mjs b/docs/astro.config.mjs index 27968d20..25fa2b91 100644 --- a/docs/astro.config.mjs +++ b/docs/astro.config.mjs @@ -4,13 +4,13 @@ import markdownIntegration from "@astropub/md" // https://astro.build/config export default defineConfig({ - site: "https://revoltchat.github.io", - base: "/android", + site: "https://stoatchat.github.io", + base: "/for-android", integrations: [ starlight({ title: "Stoat for Android Technical Documentation", social: { - github: "https://github.com/revoltchat/android", + github: "https://github.com/stoatchat/for-android", }, sidebar: [ { diff --git a/docs/src/content/docs/index.mdx b/docs/src/content/docs/index.mdx index 3acfc02a..3fcc1c9a 100644 --- a/docs/src/content/docs/index.mdx +++ b/docs/src/content/docs/index.mdx @@ -1,6 +1,6 @@ --- -title: Revolt on Android — Technical Documentation -description: A guide to getting started with Revolt on Android. +title: Stoat for Android — Technical Documentation +description: A guide to getting started with Stoat for Android. template: splash hero: image: From ba577e8e083b3b73fd8a0d61908d057d898f56d1 Mon Sep 17 00:00:00 2001 From: Infi Date: Sun, 12 Oct 2025 00:36:33 +0200 Subject: [PATCH 2/6] fix: do not include /app for STOAT_WEB_APP Signed-off-by: Infi --- app/src/main/java/chat/stoat/api/StoatAPI.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/chat/stoat/api/StoatAPI.kt b/app/src/main/java/chat/stoat/api/StoatAPI.kt index d6508d81..380301fb 100644 --- a/app/src/main/java/chat/stoat/api/StoatAPI.kt +++ b/app/src/main/java/chat/stoat/api/StoatAPI.kt @@ -63,7 +63,7 @@ val STOAT_FILES = if (USE_ALPHA_API) "https://alpha.revolt.chat/autumn" else "https://cdn.stoatusercontent.com" val STOAT_PROXY = if (USE_ALPHA_API) "https://alpha.revolt.chat/january" else "https://proxy.stoatusercontent.com" -const val STOAT_WEB_APP = "https://stoat.chat/app" +const val STOAT_WEB_APP = "https://stoat.chat" const val STOAT_INVITES = "https://stt.gg" val STOAT_WEBSOCKET = if (USE_ALPHA_API) "wss://alpha.revolt.chat/ws" else "wss://events.stoat.chat" From c64d4e96028faae4344a093ab780ea1b56426961 Mon Sep 17 00:00:00 2001 From: Infi Date: Sun, 12 Oct 2025 01:22:23 +0200 Subject: [PATCH 3/6] feat: include cloudflare trust anchor Signed-off-by: Infi --- app/src/main/AndroidManifest.xml | 1 + app/src/main/res/raw/cloudflare_tls_i_e1.cer | Bin 0 -> 744 bytes app/src/main/res/xml/network_security_config.xml | 9 +++++++++ 3 files changed, 10 insertions(+) create mode 100644 app/src/main/res/raw/cloudflare_tls_i_e1.cer create mode 100644 app/src/main/res/xml/network_security_config.xml diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 0aee3eef..ea6add7d 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -28,6 +28,7 @@ android:allowBackup="true" android:dataExtractionRules="@xml/data_extraction_rules" android:fullBackupContent="@xml/backup_rules" + android:networkSecurityConfig="@xml/network_security_config" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" diff --git a/app/src/main/res/raw/cloudflare_tls_i_e1.cer b/app/src/main/res/raw/cloudflare_tls_i_e1.cer new file mode 100644 index 0000000000000000000000000000000000000000..27342a35838f58ba8d79dd87f5cb2cb28da9316d GIT binary patch literal 744 zcmXqLVtQiG#FVvwnTe5!NkGSbQKr75@Lucsr`uSz%=Ih~jIr*h2X*r2SsbEVzi;GJ$^U`6K8X80z z2(z(+y~M-_^&2xIJF^o53%lZRg_^adI+wj4maFhRlsRy$JYBP}Kk3e)%UX$6JX1~; zFDlrZSF)UGMcMZde|Zi<=mg4VoC`4TOMBkrifS{LjK+ zzy_q47#R%YL1M}*z%XkNFhG22C^U_RTeP=5tymWOmG&Xfh|Z{p2f_-#K35Q!2&&mg+)2V1S~Adftb$6 zBE}*z=Llz!yM%c4a;eVElT5EZWbXMl$$$@JIzK2lSb&MF4LM0MXD}F~G8r=L6`EX9 zP${=gI&6|m?8$}_&27)lf0vRx>A6`}ZJ(!l#B-Ko-f~$?J=!`SR_bY)*)SQzGA>9q y|LJV-|BAHU=dG&)4~cHsv2p#R2?rKLiSTr&Z|>{N5W7%XZ^9c=^<>^<%U%E;qtROc literal 0 HcmV?d00001 diff --git a/app/src/main/res/xml/network_security_config.xml b/app/src/main/res/xml/network_security_config.xml new file mode 100644 index 00000000..6c0dbfad --- /dev/null +++ b/app/src/main/res/xml/network_security_config.xml @@ -0,0 +1,9 @@ + + + + stoatusercontent.com + + + + + \ No newline at end of file From 249733a5a6a88ba17cafcc74caf1afa77c0c4702 Mon Sep 17 00:00:00 2001 From: Infi Date: Sun, 12 Oct 2025 01:22:42 +0200 Subject: [PATCH 4/6] fix: crash if changelog cannot be reached Signed-off-by: Infi --- .../stoat/screens/chat/ChatRouterScreen.kt | 16 ++++++++++------ .../stoat/screens/settings/ChangelogsScreen.kt | 18 +++++++++++++----- 2 files changed, 23 insertions(+), 11 deletions(-) diff --git a/app/src/main/java/chat/stoat/screens/chat/ChatRouterScreen.kt b/app/src/main/java/chat/stoat/screens/chat/ChatRouterScreen.kt index 340e263f..08483e56 100644 --- a/app/src/main/java/chat/stoat/screens/chat/ChatRouterScreen.kt +++ b/app/src/main/java/chat/stoat/screens/chat/ChatRouterScreen.kt @@ -166,12 +166,16 @@ class ChatRouterViewModel @Inject constructor( val current = kvStorage.get("currentDestination") setSaveDestination(ChatRouterDestination.fromString(current ?: "")) - latestChangelogRead = changelogs.hasSeenCurrent() - latestChangelog = changelogs.getLatestChangelogCode() - latestChangelogBody = - changelogs.fetchChangelogByVersionCode(latestChangelog.toLong()).rendered - if (!latestChangelogRead) { - changelogs.markAsSeen() + try { + latestChangelogRead = changelogs.hasSeenCurrent() + latestChangelog = changelogs.getLatestChangelogCode() + latestChangelogBody = + changelogs.fetchChangelogByVersionCode(latestChangelog.toLong()).rendered + if (!latestChangelogRead) { + changelogs.markAsSeen() + } + } catch (e: Exception) { + e.printStackTrace() } val seenEarlyAccess = kvStorage.getBoolean("spark/earlyAccess/dismissed") diff --git a/app/src/main/java/chat/stoat/screens/settings/ChangelogsScreen.kt b/app/src/main/java/chat/stoat/screens/settings/ChangelogsScreen.kt index 8a11d1e5..e3006124 100644 --- a/app/src/main/java/chat/stoat/screens/settings/ChangelogsScreen.kt +++ b/app/src/main/java/chat/stoat/screens/settings/ChangelogsScreen.kt @@ -61,16 +61,24 @@ class ChangelogsSettingsScreenViewModel @Inject constructor( suspend fun requestChangelog(version: String) { viewModelScope.launch { - renderedChangelog = Changelogs( - context, - kvStorage - ).fetchChangelogByVersionCode(version.toLong()).rendered + try { + renderedChangelog = Changelogs( + context, + kvStorage + ).fetchChangelogByVersionCode(version.toLong()).rendered + } catch (e: Exception) { + e.printStackTrace() + } } } suspend fun populate() { viewModelScope.launch { - index = Changelogs(context, kvStorage).fetchChangelogIndex() + try { + index = Changelogs(context, kvStorage).fetchChangelogIndex() + } catch (e: Exception) { + e.printStackTrace() + } } } } From 5c49d95880a190b2f89fc3d90b4296e0afe520d8 Mon Sep 17 00:00:00 2001 From: Infi Date: Sun, 12 Oct 2025 01:22:56 +0200 Subject: [PATCH 5/6] fix: update changelog url for new repo Signed-off-by: Infi --- app/src/main/java/chat/stoat/api/StoatAPI.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/chat/stoat/api/StoatAPI.kt b/app/src/main/java/chat/stoat/api/StoatAPI.kt index 380301fb..1e571827 100644 --- a/app/src/main/java/chat/stoat/api/StoatAPI.kt +++ b/app/src/main/java/chat/stoat/api/StoatAPI.kt @@ -67,7 +67,7 @@ const val STOAT_WEB_APP = "https://stoat.chat" const val STOAT_INVITES = "https://stt.gg" val STOAT_WEBSOCKET = if (USE_ALPHA_API) "wss://alpha.revolt.chat/ws" else "wss://events.stoat.chat" -const val STOAT_KJBOOK = "https://revoltchat.github.io/android" +const val STOAT_KJBOOK = "https://stoatchat.github.io/for-android" fun String.api(): String { return "$STOAT_BASE$this" From 68dbc86777410790d0212f0810d12d55dfc847f5 Mon Sep 17 00:00:00 2001 From: Infi Date: Sun, 12 Oct 2025 01:27:23 +0200 Subject: [PATCH 6/6] chore: bump to 1.3.8 Signed-off-by: Infi --- app/build.gradle.kts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index f9089f0b..1e9ee07f 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -80,8 +80,8 @@ android { applicationId = "chat.revolt" minSdk = 26 targetSdk = 36 - versionCode = Integer.parseInt("001_003_207".replace("_", ""), 10) - versionName = "1.3.7" + versionCode = Integer.parseInt("001_003_208".replace("_", ""), 10) + versionName = "1.3.8" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" vectorDrawables {