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
***************
*** 703,708 ****
--- 703,719 ----
  
      .line 74
      :goto_4
+ 
+     invoke-static {}, Lcom/discord/stores/StoreStream;->getUserSettings()Lcom/discord/stores/StoreUserSettings;
+ 
+     move-result-object v0
+ 
+     invoke-virtual {v0}, Lcom/discord/stores/StoreUserSettings;->getNoDelete()Z
+ 
+     move-result v4
+ 
+     if-nez v4, :cond_b
+ 
      new-instance v0, Lcom/discord/models/domain/ModelMessageDelete;
  
      invoke-direct {v0}, Lcom/discord/models/domain/ModelMessageDelete;-><init>()V
Only in com.discord-992/smali/com/discord/gateway/io: IncomingParser.smali.orig
diff -crB com.discord-992-base/smali/com/discord/models/domain/ModelChannel.smali com.discord-992/smali/com/discord/models/domain/ModelChannel.smali
*** com.discord-992-base/smali/com/discord/models/domain/ModelChannel.smali	2019-11-26 10:48:45.886158303 +0300
--- com.discord-992/smali/com/discord/models/domain/ModelChannel.smali	2019-11-26 16:10:55.323740051 +0300
***************
*** 2170,2175 ****
--- 2170,2185 ----
          }
      .end annotation
  
+     invoke-static {}, Lcom/discord/stores/StoreStream;->getUserSettings()Lcom/discord/stores/StoreUserSettings;
+ 
+     move-result-object v0
+ 
+     invoke-virtual {v0}, Lcom/discord/stores/StoreUserSettings;->getLeakChannels()Z
+ 
+     move-result v0
+ 
+     if-eqz v0, :cond_0
+ 
      .line 272
      iget-object v0, p0, Lcom/discord/models/domain/ModelChannel;->permissionOverwrites:Ljava/util/Map;
  
Only in com.discord-992/smali/com/discord/models/domain: ModelChannel.smali.orig
Only in com.discord-992/smali/com/discord/models/domain: ModelChannel.smali.rej
diff -crB com.discord-992-base/smali/com/discord/stores/StoreUserSettings.smali com.discord-992/smali/com/discord/stores/StoreUserSettings.smali
*** com.discord-992-base/smali/com/discord/stores/StoreUserSettings.smali	2019-11-26 10:48:46.122826014 +0300
--- com.discord-992/smali/com/discord/stores/StoreUserSettings.smali	2019-11-26 16:10:19.603520324 +0300
***************
*** 1514,1519 ****
--- 1514,1767 ----
      return v0
  .end method
  
+ .method public getLeakChannels()Z
+     .locals 3
+ 
+     iget-object v0, p0, Lcom/discord/stores/StoreUserSettings;->prefs:Landroid/content/SharedPreferences;
+ 
+     const-string v1, "CACHE_KEY_CTC_LEAK_CHANNELS"
+ 
+     const/4 v2, 0x1
+ 
+     invoke-interface {v0, v1, v2}, Landroid/content/SharedPreferences;->getBoolean(Ljava/lang/String;Z)Z
+ 
+     move-result v0
+ 
+     return v0
+ .end method
+ 
+ .method public setLeakChannels(Z)V
+     .locals 2
+ 
+     iget-object v0, p0, Lcom/discord/stores/StoreUserSettings;->prefs:Landroid/content/SharedPreferences;
+ 
+     invoke-interface {v0}, Landroid/content/SharedPreferences;->edit()Landroid/content/SharedPreferences$Editor;
+ 
+     move-result-object v0
+ 
+     const-string v1, "CACHE_KEY_CTC_LEAK_CHANNELS"
+ 
+     invoke-interface {v0, v1, p1}, Landroid/content/SharedPreferences$Editor;->putBoolean(Ljava/lang/String;Z)Landroid/content/SharedPreferences$Editor;
+ 
+     move-result-object p1
+ 
+     invoke-interface {p1}, Landroid/content/SharedPreferences$Editor;->apply()V
+ 
+     return-void
+ .end method
+ 
+ .method public getImageSpoiler()Z
+     .locals 3
+ 
+     iget-object v0, p0, Lcom/discord/stores/StoreUserSettings;->prefs:Landroid/content/SharedPreferences;
+ 
+     const-string v1, "CACHE_KEY_CTC_IMAGE_SPOILER"
+ 
+     const/4 v2, 0x0
+ 
+     invoke-interface {v0, v1, v2}, Landroid/content/SharedPreferences;->getBoolean(Ljava/lang/String;Z)Z
+ 
+     move-result v0
+ 
+     return v0
+ .end method
+ 
+ .method public setImageSpoiler(Z)V
+     .locals 2
+ 
+     iget-object v0, p0, Lcom/discord/stores/StoreUserSettings;->prefs:Landroid/content/SharedPreferences;
+ 
+     invoke-interface {v0}, Landroid/content/SharedPreferences;->edit()Landroid/content/SharedPreferences$Editor;
+ 
+     move-result-object v0
+ 
+     const-string v1, "CACHE_KEY_CTC_IMAGE_SPOILER"
+ 
+     invoke-interface {v0, v1, p1}, Landroid/content/SharedPreferences$Editor;->putBoolean(Ljava/lang/String;Z)Landroid/content/SharedPreferences$Editor;
+ 
+     move-result-object p1
+ 
+     invoke-interface {p1}, Landroid/content/SharedPreferences$Editor;->apply()V
+ 
+     return-void
+ .end method
+ 
+ 
+ .method public getNoDelete()Z
+     .locals 3
+ 
+     iget-object v0, p0, Lcom/discord/stores/StoreUserSettings;->prefs:Landroid/content/SharedPreferences;
+ 
+     const-string v1, "CACHE_KEY_CTC_NO_DELETE"
+ 
+     const/4 v2, 0x0
+ 
+     invoke-interface {v0, v1, v2}, Landroid/content/SharedPreferences;->getBoolean(Ljava/lang/String;Z)Z
+ 
+     move-result v0
+ 
+     return v0
+ .end method
+ 
+ .method public setNoDelete(Z)V
+     .locals 2
+ 
+     iget-object v0, p0, Lcom/discord/stores/StoreUserSettings;->prefs:Landroid/content/SharedPreferences;
+ 
+     invoke-interface {v0}, Landroid/content/SharedPreferences;->edit()Landroid/content/SharedPreferences$Editor;
+ 
+     move-result-object v0
+ 
+     const-string v1, "CACHE_KEY_CTC_NO_DELETE"
+ 
+     invoke-interface {v0, v1, p1}, Landroid/content/SharedPreferences$Editor;->putBoolean(Ljava/lang/String;Z)Landroid/content/SharedPreferences$Editor;
+ 
+     move-result-object p1
+ 
+     invoke-interface {p1}, Landroid/content/SharedPreferences$Editor;->apply()V
+ 
+     return-void
+ .end method
+ 
+ .method public getShowTyping()Z
+     .locals 3
+ 
+     iget-object v0, p0, Lcom/discord/stores/StoreUserSettings;->prefs:Landroid/content/SharedPreferences;
+ 
+     const-string v1, "CACHE_KEY_CTC_SHOW_TYPING"
+ 
+     const/4 v2, 0x1
+ 
+     invoke-interface {v0, v1, v2}, Landroid/content/SharedPreferences;->getBoolean(Ljava/lang/String;Z)Z
+ 
+     move-result v0
+ 
+     return v0
+ .end method
+ 
+ .method public setShowTyping(Z)V
+     .locals 2
+ 
+     iget-object v0, p0, Lcom/discord/stores/StoreUserSettings;->prefs:Landroid/content/SharedPreferences;
+ 
+     invoke-interface {v0}, Landroid/content/SharedPreferences;->edit()Landroid/content/SharedPreferences$Editor;
+ 
+     move-result-object v0
+ 
+     const-string v1, "CACHE_KEY_CTC_SHOW_TYPING"
+ 
+     invoke-interface {v0, v1, p1}, Landroid/content/SharedPreferences$Editor;->putBoolean(Ljava/lang/String;Z)Landroid/content/SharedPreferences$Editor;
+ 
+     move-result-object p1
+ 
+     invoke-interface {p1}, Landroid/content/SharedPreferences$Editor;->apply()V
+ 
+     return-void
+ .end method
+ 
+ 
+ .method public getStoredToken()Ljava/lang/String;
+     .locals 3
+ 
+     iget-object v0, p0, Lcom/discord/stores/StoreAuthentication;->prefs:Landroid/content/SharedPreferences;
+ 
+     const-string v1, "none"
+ 
+     const-string v2, "STORE_AUTHED_TOKEN"
+ 
+     invoke-interface {v0, v2, v1}, Landroid/content/SharedPreferences;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
+ 
+     move-result-object v0
+ 
+     return-object v0
+ .end method
+ 
+ 
+ .method public setStoredToken(Ljava/lang/String;)V
+     .locals 2
+ 
+     iget-object v0, p0, Lcom/discord/stores/StoreAuthentication;->prefs:Landroid/content/SharedPreferences;
+ 
+     invoke-interface {v0}, Landroid/content/SharedPreferences;->edit()Landroid/content/SharedPreferences$Editor;
+ 
+     move-result-object v0
+ 
+     const-string v1, "STORE_AUTHED_TOKEN"
+ 
+     invoke-interface {v0, v1, p1}, Landroid/content/SharedPreferences$Editor;->putString(Ljava/lang/String;Ljava/lang/String;)Landroid/content/SharedPreferences$Editor;
+ 
+     move-result-object p1
+ 
+     invoke-interface {p1}, Landroid/content/SharedPreferences$Editor;->apply()V
+ 
+     return-void
+ .end method
+ 
+ .method public getAccountToken(Ljava/lang/String;)Ljava/lang/String;
+     .locals 3
+ 
+     const-string v2, "STORE_AUTHED_TOKEN_CTC_USER_"
+ 
+     invoke-virtual {p1}, Ljava/lang/String;->toUpperCase()Ljava/lang/String;
+ 
+     move-result-object p1
+ 
+     new-instance v0, Ljava/lang/StringBuilder;
+ 
+     invoke-direct {v0, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
+ 
+     invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
+ 
+     invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
+ 
+     move-result-object v2
+ 
+     iget-object v0, p0, Lcom/discord/stores/StoreAuthentication;->prefs:Landroid/content/SharedPreferences;
+ 
+     const-string v1, "none"
+ 
+     invoke-interface {v0, v2, v1}, Landroid/content/SharedPreferences;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
+ 
+     move-result-object v0
+ 
+     return-object v0
+ .end method
+ 
+ 
+ .method public setAccountToken(Ljava/lang/String;Ljava/lang/String;)V
+     .locals 2
+ 
+     const-string v1, "STORE_AUTHED_TOKEN_CTC_USER_"
+ 
+     invoke-virtual {p1}, Ljava/lang/String;->toUpperCase()Ljava/lang/String;
+ 
+     move-result-object p1
+ 
+     new-instance v0, Ljava/lang/StringBuilder;
+ 
+     invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
+ 
+     invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
+ 
+     invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
+ 
+     move-result-object v1
+ 
+     iget-object v0, p0, Lcom/discord/stores/StoreAuthentication;->prefs:Landroid/content/SharedPreferences;
+ 
+     invoke-interface {v0}, Landroid/content/SharedPreferences;->edit()Landroid/content/SharedPreferences$Editor;
+ 
+     move-result-object v0
+ 
+     invoke-interface {v0, v1, p2}, Landroid/content/SharedPreferences$Editor;->putString(Ljava/lang/String;Ljava/lang/String;)Landroid/content/SharedPreferences$Editor;
+ 
+     move-result-object p1
+ 
+     invoke-interface {p1}, Landroid/content/SharedPreferences$Editor;->apply()V
+ 
+     return-void
+ .end method
+ 
  .method handleConnectionOpen(Lcom/discord/models/domain/ModelPayload;)V
      .locals 0
  
diff -crB com.discord-992-base/smali/com/discord/widgets/chat/input/WidgetChatInputEditText$1.smali com.discord-992/smali/com/discord/widgets/chat/input/WidgetChatInputEditText$1.smali
*** com.discord-992-base/smali/com/discord/widgets/chat/input/WidgetChatInputEditText$1.smali	2019-11-26 10:48:46.372827117 +0300
--- com.discord-992/smali/com/discord/widgets/chat/input/WidgetChatInputEditText$1.smali	2019-11-26 16:10:19.603520324 +0300
***************
*** 55,60 ****
--- 55,70 ----
  
      invoke-virtual {v0}, Lcom/discord/widgets/chat/input/WidgetChatInputEditText;->saveText()V
  
+     invoke-static {}, Lcom/discord/stores/StoreStream;->getUserSettings()Lcom/discord/stores/StoreUserSettings;
+ 
+     move-result-object v0
+ 
+     invoke-virtual {v0}, Lcom/discord/stores/StoreUserSettings;->getShowTyping()Z
+ 
+     move-result v0
+ 
+     if-eqz v0, :cond_1
+ 
      .line 221
      invoke-static {p1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
  
diff -crB com.discord-992-base/smali/com/discord/widgets/chat/input/WidgetChatInputSend.smali com.discord-992/smali/com/discord/widgets/chat/input/WidgetChatInputSend.smali
*** com.discord-992-base/smali/com/discord/widgets/chat/input/WidgetChatInputSend.smali	2019-11-26 10:48:46.369493769 +0300
--- com.discord-992/smali/com/discord/widgets/chat/input/WidgetChatInputSend.smali	2019-11-26 16:10:19.603520324 +0300
***************
*** 60,65 ****
--- 60,89 ----
      return p0
  .end method
  
+ .method public static final access$SetInput(Lcom/discord/widgets/chat/input/WidgetChatInputSend;Lcom/discord/widgets/chat/input/WidgetChatInputEditText;Ljava/lang/CharSequence;)Z
+     .locals 1
+ 
+     .line 147
+     invoke-virtual {p1, p2}, Lcom/discord/widgets/chat/input/WidgetChatInputEditText;->setText(Ljava/lang/CharSequence;)V
+ 
+     .line 148
+     invoke-virtual {p1}, Lcom/discord/widgets/chat/input/WidgetChatInputEditText;->clearLastTypingEmission()V
+ 
+     .line 151
+     invoke-static {}, Lcom/discord/stores/StoreStream;->getChat()Lcom/discord/stores/StoreChat;
+ 
+     move-result-object p1
+ 
+     const/4 v0, 0x0
+ 
+     .line 152
+     invoke-virtual {p1, v0}, Lcom/discord/stores/StoreChat;->setEditingMessage(Lcom/discord/stores/StoreChat$EditingMessage;)V
+ 
+     const/4 p1, 0x1
+ 
+     return p1
+ .end method
+ 
  .method private final clearInput(Lcom/discord/widgets/chat/input/WidgetChatInputEditText;)Z
      .locals 1