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 { 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/java/chat/stoat/api/StoatAPI.kt b/app/src/main/java/chat/stoat/api/StoatAPI.kt index d6508d81..1e571827 100644 --- a/app/src/main/java/chat/stoat/api/StoatAPI.kt +++ b/app/src/main/java/chat/stoat/api/StoatAPI.kt @@ -63,11 +63,11 @@ 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" -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" 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() + } } } } 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 00000000..27342a35 Binary files /dev/null and b/app/src/main/res/raw/cloudflare_tls_i_e1.cer differ 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 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: