From e464c9a283be8c4d990cc773df6017532396e69d Mon Sep 17 00:00:00 2001 From: eatsfoobars Date: Tue, 26 Nov 2019 22:53:26 +0000 Subject: [PATCH 01/38] CTC CI: Fix apksigner execution, import requests --- ctcci/ctcci.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/ctcci/ctcci.py b/ctcci/ctcci.py index b2c2c5cf6..e69296f86 100644 --- a/ctcci/ctcci.py +++ b/ctcci/ctcci.py @@ -2,6 +2,7 @@ import os import sys import shutil +import requests import json import subprocess from ctcconfig import * @@ -231,9 +232,9 @@ APK_PATH = os.path.join(WORK_FOLDER, "discord", # Sign the APK if DO_APKSIGNER: - subprocess.run(f"apksigner sign --ks {KEYSTORE_FILE}" + subprocess.run(f"apksigner sign --ks {KEYSTORE_FILE} " f"--ks-key-alias {KEYSTORE_ALIAS} " - f"--ks-pass pass:{KEYSTORE_PASS}" + f"--ks-pass pass:{KEYSTORE_PASS} " f"{APK_PATH}", shell=True, cwd=WORK_FOLDER) From 1066c3c5a67639587b9e264a6bdd7e04c3d08bfe Mon Sep 17 00:00:00 2001 From: Ave Ozkal Date: Wed, 27 Nov 2019 13:16:57 +0300 Subject: [PATCH 02/38] Supplemental: Fix spoilerimg Closes #39 --- patches/supplemental/992.patch | 70 ++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) diff --git a/patches/supplemental/992.patch b/patches/supplemental/992.patch index 11aacac12..ca51296f9 100644 --- a/patches/supplemental/992.patch +++ b/patches/supplemental/992.patch @@ -1,3 +1,73 @@ +diff -crB com.discord-970-base/smali_classes2/okhttp3/MultipartBody$Part.smali com.discord-970/smali_classes2/okhttp3/MultipartBody$Part.smali +*** com.discord-970-base/smali_classes2/okhttp3/MultipartBody$Part.smali 2019-10-10 08:36:54.670388010 +0300 +--- com.discord-970/smali_classes2/okhttp3/MultipartBody$Part.smali 2019-10-10 08:48:52.678274615 +0300 +*************** +*** 43,50 **** + return-void + .end method + + .method public static a(Ljava/lang/String;Ljava/lang/String;Lokhttp3/RequestBody;)Lokhttp3/MultipartBody$Part; +! .locals 2 + .param p1 # Ljava/lang/String; + .annotation runtime Ljavax/annotation/Nullable; + .end annotation +--- 43,84 ---- + return-void + .end method + ++ .method public static final interceptFilename(Ljava/lang/String;)Ljava/lang/String; ++ .locals 3 ++ ++ invoke-static {}, Lcom/discord/stores/StoreStream;->getUserSettings()Lcom/discord/stores/StoreUserSettings; ++ ++ move-result-object v0 ++ ++ invoke-virtual {v0}, Lcom/discord/stores/StoreUserSettings;->getImageSpoiler()Z ++ ++ move-result v1 ++ ++ if-eqz v1, :cond_1 ++ ++ new-instance v2, Ljava/lang/StringBuilder; ++ ++ const-string v1, "SPOILER_" ++ ++ invoke-direct {v2, v1}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V ++ ++ invoke-virtual {v2, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; ++ ++ invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; ++ ++ move-result-object p0 ++ ++ # I commented this out and do this in StoreMessages now as this'd only work for a single image ++ # const/4 v1, 0x0 ++ ++ # invoke-virtual {v0, v1}, Lcom/discord/stores/StoreUserSettings;->setImageSpoiler(Z)V ++ ++ :cond_1 ++ return-object p0 ++ .end method ++ + .method public static a(Ljava/lang/String;Ljava/lang/String;Lokhttp3/RequestBody;)Lokhttp3/MultipartBody$Part; +! .locals 5 + .param p1 # Ljava/lang/String; + .annotation runtime Ljavax/annotation/Nullable; + .end annotation +*************** +*** 69,74 **** +--- 103,113 ---- + .line 255 + invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; + ++ invoke-static {p1}, Lokhttp3/MultipartBody$Part;->interceptFilename(Ljava/lang/String;)Ljava/lang/String; ++ ++ move-result-object p1 ++ ++ :cond_2 + .line 256 + invoke-static {v0, p1}, Lokhttp3/MultipartBody;->a(Ljava/lang/StringBuilder;Ljava/lang/String;)Ljava/lang/StringBuilder; + diff -crB com.discord-992-base/smali/com/discord/gateway/io/IncomingParser.smali com.discord-992/smali/com/discord/gateway/io/IncomingParser.smali *** com.discord-992-base/smali/com/discord/gateway/io/IncomingParser.smali 2019-11-26 10:48:45.866158214 +0300 --- com.discord-992/smali/com/discord/gateway/io/IncomingParser.smali 2019-11-26 16:10:19.603520324 +0300 From aeac528a1647504c39d4251d7b86b6d5d6c8cf39 Mon Sep 17 00:00:00 2001 From: Ave Ozkal Date: Wed, 27 Nov 2019 13:17:50 +0300 Subject: [PATCH 03/38] Release CTC for 9.9.3. --- README.md | 2 +- patches/branding/993.patch | 242 + patches/branding/README.md | 1 + patches/customdefaultemoji/993.patch | 43 + patches/customdefaultemoji/README.md | 1 + patches/customtheme/993.patch | 275 + patches/customtheme/README.md | 1 + patches/customversion/993.patch | 20 + patches/customversion/README.md | 1 + patches/disable-mobileindicator/993.patch | 20 + patches/disable-mobileindicator/README.md | 1 + patches/experiments/993.patch | 184 + patches/experiments/README.md | 1 + patches/litecord/993.patch | 323 + patches/litecord/README.md | 1 + patches/mutant/993.patch | 52098 ++++++++++++++++++++ patches/mutant/README.md | 1 + patches/necessary/993.patch | 14 + patches/noblocked/993.patch | 18 + patches/noblocked/README.md | 1 + patches/nonearby/993.patch | 102 + patches/nonearby/README.md | 1 + patches/noprofilestrip/993.patch | 53 + patches/noprofilestrip/README.md | 1 + patches/nospoiler/993.patch | 69 + patches/nospoiler/README.md | 1 + patches/notrack/993.patch | 2764 ++ patches/notrack/README.md | 1 + patches/nozlib/993.patch | 34 + patches/nozlib/README.md | 1 + patches/slashcommands/993.patch | 2859 ++ patches/slashcommands/README.md | 1 + patches/smalltime/993.patch | 190 + patches/smalltime/README.md | 1 + patches/squareavatars/993.patch | 21 + patches/squareavatars/README.md | 1 + patches/supplemental/993.patch | 437 + patches/supplemental/README.md | 1 + patches/tokenlogin/993.patch | 33 + patches/tokenlogin/README.md | 1 + patchport-state.json | 2 +- 41 files changed, 59820 insertions(+), 2 deletions(-) create mode 100644 patches/branding/993.patch create mode 100644 patches/customdefaultemoji/993.patch create mode 100644 patches/customtheme/993.patch create mode 100644 patches/customversion/993.patch create mode 100644 patches/disable-mobileindicator/993.patch create mode 100644 patches/experiments/993.patch create mode 100644 patches/litecord/993.patch create mode 100644 patches/mutant/993.patch create mode 100644 patches/necessary/993.patch create mode 100644 patches/noblocked/993.patch create mode 100644 patches/nonearby/993.patch create mode 100644 patches/noprofilestrip/993.patch create mode 100644 patches/nospoiler/993.patch create mode 100644 patches/notrack/993.patch create mode 100644 patches/nozlib/993.patch create mode 100644 patches/slashcommands/993.patch create mode 100644 patches/smalltime/993.patch create mode 100644 patches/squareavatars/993.patch create mode 100644 patches/supplemental/993.patch create mode 100644 patches/tokenlogin/993.patch diff --git a/README.md b/README.md index 59c6e2a99..4d96b723d 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ Modular Client Mod for Discord's Android app. -**Latest supported Discord Android version:** 9.9.2 (992), released on 2019-11-26. +**Latest supported Discord Android version:** 9.9.3 (993), released on 2019-11-27. New patch development will be done for the latest supported version. diff --git a/patches/branding/993.patch b/patches/branding/993.patch new file mode 100644 index 000000000..5bc8b94fc --- /dev/null +++ b/patches/branding/993.patch @@ -0,0 +1,242 @@ +diff -crB from/AndroidManifest.xml to/AndroidManifest.xml +*** from/AndroidManifest.xml 2019-11-27 13:17:41.862287805 +0300 +--- to/AndroidManifest.xml 2019-11-27 13:17:44.972284722 +0300 +*************** +*** 1,4 **** +! + + + +--- 1,4 ---- +! + + + +*************** +*** 19,30 **** + + + +! + + + + +! + + + +--- 19,30 ---- + + + +! + + + + +! + + + +*************** +*** 85,91 **** + + + +! + + + +--- 85,91 ---- + + + +! + + + +*************** +*** 115,121 **** + + + +! + + + +--- 115,121 ---- + + + +! + + + +*************** +*** 141,147 **** + + + +! + + + +--- 141,147 ---- + + + +! + + + +*************** +*** 151,157 **** + + + +! + + + +--- 151,157 ---- + + + +! + + + +*************** +*** 191,199 **** + + + +! +! +! + + + +\ No newline at end of file +--- 191,199 ---- + + + +! +! +! + + + +\ No newline at end of file +diff -crB from/apktool.yml to/apktool.yml +*** from/apktool.yml 2019-11-27 13:15:18.949285901 +0300 +--- to/apktool.yml 2019-11-27 13:17:44.972284722 +0300 +*************** +*** 179,183 **** + tag: null + version: 2.4.1-197d46-SNAPSHOT + versionInfo: +! versionCode: '993' +! versionName: 9.9.3 +--- 179,183 ---- + tag: null + version: 2.4.1-197d46-SNAPSHOT + versionInfo: +! versionCode: '993CTCBUILD' +! versionName: 9.9.3-cutthecord-CTCBUILD +diff -crB from/res/values/strings.xml to/res/values/strings.xml +*** from/res/values/strings.xml 2019-11-27 13:15:10.329376584 +0300 +--- to/res/values/strings.xml 2019-11-27 13:17:44.972284722 +0300 +*************** +*** 1296,1302 **** + Disconnecting your account might remove you from servers you joined via this account. + Disconnect %1$s + Disconnect from Voice +! Discord + Free and secure chat for gamers, works on both your desktop and your phone. + Team voice & text chat + discord.gg/ +--- 1296,1302 ---- + Disconnecting your account might remove you from servers you joined via this account. + Disconnect %1$s + Disconnect from Voice +! CTCNAME + Free and secure chat for gamers, works on both your desktop and your phone. + Team voice & text chat + discord.gg/ +*************** +*** 3193,3199 **** + Failed to reply to %1$s + Replied to %1$s + Notification Settings +! Discord + "Somebody Playin'" + Notifications + Setup notifications to know when your friends send a message. +--- 3193,3199 ---- + Failed to reply to %1$s + Replied to %1$s + Notification Settings +! CTCNAME + "Somebody Playin'" + Notifications + Setup notifications to know when your friends send a message. +*************** +*** 4401,4407 **** + Subscriptions + Suggestions + %1$s, %2$s +! Support + Remove all embeds + Suppressed + "It seems you've gone AFK on us. We've went ahead and moved you to the AFK channel." +--- 4401,4407 ---- + Subscriptions + Suggestions + %1$s, %2$s +! CutTheCord Repo + Remove all embeds + Suppressed + "It seems you've gone AFK on us. We've went ahead and moved you to the AFK channel." +diff -crB from/smali/com/discord/app/e.smali to/smali/com/discord/app/e.smali +*** from/smali/com/discord/app/e.smali 2019-11-27 13:15:13.996004677 +0300 +--- to/smali/com/discord/app/e.smali 2019-11-27 13:17:44.972284722 +0300 +*************** +*** 56,62 **** + .line 16 + sput-object v0, Lcom/discord/app/e;->uZ:Ljava/lang/String; + +! const-string v0, "https://support.discordapp.com" + + .line 18 + sput-object v0, Lcom/discord/app/e;->va:Ljava/lang/String; +--- 56,62 ---- + .line 16 + sput-object v0, Lcom/discord/app/e;->uZ:Ljava/lang/String; + +! const-string v0, "https://gitdab.com/distok/cutthecord" + + .line 18 + sput-object v0, Lcom/discord/app/e;->va:Ljava/lang/String; +diff -crB from/smali/com/discord/utilities/captcha/CaptchaHelper$showCaptchaHelpDialog$$inlined$let$lambda$1.smali to/smali/com/discord/utilities/captcha/CaptchaHelper$showCaptchaHelpDialog$$inlined$let$lambda$1.smali +*** from/smali/com/discord/utilities/captcha/CaptchaHelper$showCaptchaHelpDialog$$inlined$let$lambda$1.smali 2019-11-27 13:15:14.649331138 +0300 +--- to/smali/com/discord/utilities/captcha/CaptchaHelper$showCaptchaHelpDialog$$inlined$let$lambda$1.smali 2019-11-27 13:17:44.975618052 +0300 +*************** +*** 78,84 **** + .line 65 + new-instance v0, Landroid/content/Intent; + +! const-string v1, "https://discordapp.com/app" + + .line 67 + invoke-static {v1}, Landroid/net/Uri;->parse(Ljava/lang/String;)Landroid/net/Uri; +--- 78,84 ---- + .line 65 + new-instance v0, Landroid/content/Intent; + +! const-string v1, "https://gitdab.com/distok/cutthecord/issues/22#issuecomment-82" + + .line 67 + invoke-static {v1}, Landroid/net/Uri;->parse(Ljava/lang/String;)Landroid/net/Uri; diff --git a/patches/branding/README.md b/patches/branding/README.md index 1b9c76475..9583f30df 100644 --- a/patches/branding/README.md +++ b/patches/branding/README.md @@ -72,4 +72,5 @@ You can use the following line to patch authorities: - 9.8.6 - 9.9.1 - 9.9.2 +- 9.9.3 diff --git a/patches/customdefaultemoji/993.patch b/patches/customdefaultemoji/993.patch new file mode 100644 index 000000000..242a1ad5f --- /dev/null +++ b/patches/customdefaultemoji/993.patch @@ -0,0 +1,43 @@ +diff -crB com.discord-992-base/smali/com/discord/stores/StoreEmoji.smali com.discord-992/smali/com/discord/stores/StoreEmoji.smali +*** com.discord-992-base/smali/com/discord/stores/StoreEmoji.smali 2019-11-26 10:48:46.036158964 +0300 +--- com.discord-992/smali/com/discord/stores/StoreEmoji.smali 2019-11-26 12:08:01.403160008 +0300 +*************** +*** 97,113 **** + + sput-object v0, Lcom/discord/stores/StoreEmoji;->Companion:Lcom/discord/stores/StoreEmoji$Companion; + +! const-string v2, "thinking" + +! const-string v3, "ok_hand" + +! const-string v4, "eyes" + +! const-string v5, "sweat_drops" + +! const-string v6, "joy" + +! const-string v7, "pig" + + .line 350 + filled-new-array/range {v2 .. v7}, [Ljava/lang/String; +--- 97,113 ---- + + sput-object v0, Lcom/discord/stores/StoreEmoji;->Companion:Lcom/discord/stores/StoreEmoji$Companion; + +! const-string v2, "star" + +! const-string v3, "thinking" + +! const-string v4, "ok_hand" + +! const-string v5, "eyes" + +! const-string v6, "sweat_drops" + +! const-string v7, "joy" + + .line 350 + filled-new-array/range {v2 .. v7}, [Ljava/lang/String; +Only in com.discord-992/smali/com/discord/stores: StoreEmoji.smali.orig +Only in com.discord-992/smali/com/discord/stores: StoreEmoji.smali.rej + diff --git a/patches/customdefaultemoji/README.md b/patches/customdefaultemoji/README.md index f642715a4..02fd3d134 100644 --- a/patches/customdefaultemoji/README.md +++ b/patches/customdefaultemoji/README.md @@ -38,4 +38,5 @@ This patch changes default list of custom emojis. - 9.8.6 - 9.9.1 - 9.9.2 +- 9.9.3 diff --git a/patches/customtheme/993.patch b/patches/customtheme/993.patch new file mode 100644 index 000000000..2d8b3eca5 --- /dev/null +++ b/patches/customtheme/993.patch @@ -0,0 +1,275 @@ +diff -crB from/res/drawable/drawable_overlay_channels_active.xml to/res/drawable/drawable_overlay_channels_active.xml +*** from/res/drawable/drawable_overlay_channels_active.xml 2019-11-26 10:48:43.112812730 +0300 +--- to/res/drawable/drawable_overlay_channels_active.xml 2019-11-26 10:50:03.879836050 +0300 +*************** +*** 3,9 **** + xmlns:android="http://schemas.android.com/apk/res/android"> + + +! + + + +--- 3,9 ---- + xmlns:android="http://schemas.android.com/apk/res/android"> + + +! + + + +diff -crB from/res/values/colors.xml to/res/values/colors.xml +*** from/res/values/colors.xml 2019-11-26 10:48:44.109483795 +0300 +--- to/res/values/colors.xml 2019-11-26 10:50:03.879836050 +0300 +*************** +*** 50,56 **** + #37000000 + #ff657b83 + #ff333333 +! #ff1d1d1d + #40000000 + #40ffffff + @android:color/white +--- 50,56 ---- + #37000000 + #ff657b83 + #ff333333 +! #ff000000 + #40000000 + #40ffffff + @android:color/white +*************** +*** 61,68 **** + #1f000000 + #90000000 + #de000000 +! #ff36393e +! #ff303337 + #14000000 + #ff3f51b5 + #ff303f9f +--- 61,68 ---- + #1f000000 + #90000000 + #de000000 +! #ff000000 +! #ff000000 + #14000000 + #ff3f51b5 + #ff303f9f +*************** +*** 96,104 **** + #ff4f545c + #0d4f545c + #4d4f545c +! #ff282b30 +! #ff2e3136 +! #ff1e2124 + #ff8a8e94 + #6680cbc4 + #66009688 +--- 96,104 ---- + #ff4f545c + #0d4f545c + #4d4f545c +! #ff000000 +! #ff000000 +! #ff000000 + #ff8a8e94 + #6680cbc4 + #66009688 +*************** +*** 106,112 **** + #fff47b67 + #ff45ddc0 + #ff021f25 +! #ff00b0f4 + #ff0067e0 + #ff37474f + #ff263238 +--- 106,112 ---- + #fff47b67 + #ff45ddc0 + #ff021f25 +! #ff50f148 + #ff0067e0 + #ff37474f + #ff263238 +*************** +*** 149,166 **** + #ff72767d + #4d72767d + #9972767d +! #ff4f545c +! #4d4f545c +! #994f545c + #ff40444b +! #ff36393f +! #9936393f +! #ff2f3136 +! #992f3136 +! #e62f3136 + #ff292b2f +! #ff202225 +! #99202225 + #ff18191c + #9918191c + #e618191c +--- 149,166 ---- + #ff72767d + #4d72767d + #9972767d +! #ff0f0f0f +! #4d0f0f0f +! #99404040 + #ff40444b +! #ff000000 +! #99000000 +! #ff000000 +! #99000000 +! #e6000000 + #ff292b2f +! #ff0f0f0f +! #990f0f0f + #ff18191c + #9918191c + #e618191c +*************** +*** 191,199 **** + #de000000 + #4dffffff + #39000000 +! #ff738bd7 +! #1a738bd7 +! #ff697ec4 + #ffc9d2f0 + #ff5161ff + #4d5c6a9e +--- 191,199 ---- + #de000000 + #4dffffff + #39000000 +! #ff9c4249 +! #1a9c4249 +! #ff000000 + #ffc9d2f0 + #ff5161ff + #4d5c6a9e +*************** +*** 255,261 **** + #ffbdbdbd + #ffbdbdbd + #fff1f1f1 +! #e6616161 + #e6ffffff + @android:color/transparent + #ff593695 +--- 255,261 ---- + #ffbdbdbd + #ffbdbdbd + #fff1f1f1 +! #e6000000 + #e6ffffff + @android:color/transparent + #ff593695 +diff -crB from/res/values/styles.xml to/res/values/styles.xml +*** from/res/values/styles.xml 2019-11-26 10:48:43.946149741 +0300 +--- to/res/values/styles.xml 2019-11-26 10:50:03.879836050 +0300 +*************** +*** 373,379 **** + @color/white_alpha_40 + @drawable/ic_backspace_white_24dp + @color/primary_500 +! #ff34373c + @color/grey_unread + @color/grey_channels + @color/grey_account +--- 373,379 ---- + @color/white_alpha_40 + @drawable/ic_backspace_white_24dp + @color/primary_500 +! @color/primary_500 + @color/grey_unread + @color/grey_channels + @color/grey_account +*************** +*** 385,396 **** + @color/chat_input_button_tint_colors_dark + @drawable/drawable_rect_rounded_dark + @color/dark_grey_2_alpha_10 +! #ff3e4145 + @drawable/ic_img_selected_dark_theme + @color/white_alpha_70 + @color/white_alpha_20 + @color/white +! #1afaa61a + @drawable/drawable_bg_reaction_dark + @drawable/drawable_reaction_text_color_dark + @color/primary_700 +--- 385,396 ---- + @color/chat_input_button_tint_colors_dark + @drawable/drawable_rect_rounded_dark + @color/dark_grey_2_alpha_10 +! @color/primary_600 + @drawable/ic_img_selected_dark_theme + @color/white_alpha_70 + @color/white_alpha_20 + @color/white +! @color/purple_brand_alpha_10 + @drawable/drawable_bg_reaction_dark + @drawable/drawable_reaction_text_color_dark + @color/primary_700 +*************** +*** 453,459 **** + @color/brand_500 + @color/primary_100 + @color/primary_600 +! #ff2b2e31 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +