If you want to download an older version ive heard 205.15 works well, i reccomend ApkMirror
- Follow the instructions from https://github.com/vendetta-mod/Vendetta
- After the client is installed, navigate to Settings > Plugins, then click the +, and finally paste
https://vd-plugins.github.io/proxy/maisymoe.github.io/strife/Experiments
into the input and clickInstall
- Once the experiments plugin is enabled, reload the app then go to Settings > Experiments >
Tabs V2 - redesign opt-out/in for all
and selectControl Bucket
.
Ive also heard enmity works well for IOS.
Note that if you re-enable the new ui via the toggle switch, u will have to run the script to dissable it, the script still works if the Tabs V2 - redesign opt-out/in for all
experiment is set to Control
Old Script Method. (Still works when above experiment set to control)
The following code updates your user setting to toggle the mobileRedesignDisabled
setting to true
, this must be done via the the web/desktop client
It is reccomended to use the discord web app: https://discord.com/app
Shoutout to @aamiaa for writing a much more elegant script, go show them some love
To run the script, you must:
- Go to the discord web/desktop client
- Log into your account
- Press
Ctrl + Shift + I
orF12
and the Developer Tools window should appear - Click the
Console
tab at the top - Then paste the following code into the developer console and press enter:
// get discords modules
let wpRequire;
window.webpackChunkdiscord_app.push([[ Math.random() ], {}, (req) => { wpRequire = req; }]);
// find the user settings module
let UserSettingsActions = Object.values(wpRequire.c).find(x => x?.exports?.PreloadedUserSettingsActionCreators).exports;
// find the protobuf module (settings encoding)
let ProtobufTypes = Object.values(wpRequire.c).find(x => x?.exports?.BoolValue).exports;
// use the modules to update users settings to set mobileRedesignDisabled to true
UserSettingsActions.PreloadedUserSettingsActionCreators.updateAsync("appearance", data => {
data.mobileRedesignDisabled = ProtobufTypes.BoolValue.create({value: true})
}, UserSettingsActions.UserSettingsDelay.INFREQUENT_USER_ACTION)
(Added comments to make it clear what the script is doing. That being said, you should not run scripts unless you have read through them to ensure they arent malicious. Ive left a detailed breakdown of the code at the bottom of this post)
compact version:
let wpRequire;window.webpackChunkdiscord_app.push([[Math.random()],{},(req)=>{wpRequire=req;}]);let UserSettingsActions=Object.values(wpRequire.c).find(x=>x?.exports?.PreloadedUserSettingsActionCreators).exports;let ProtobufTypes=Object.values(wpRequire.c).find(x=>x?.exports?.BoolValue).exports;UserSettingsActions.PreloadedUserSettingsActionCreators.updateAsync("appearance",data=>{data.mobileRedesignDisabled=ProtobufTypes.BoolValue.create({value:true})},UserSettingsActions.UserSettingsDelay.INFREQUENT_USER_ACTION)
After running the script, you should instantly go back to the old discord layout
If you run into any issues check the comments below to see if ther are any issues reported
If not, leave a comment and i would be happy to assist you
If for any reason you need to go back to the new UI and both the toggle switch is missing in appearance settings, and the sparkle emoji method isnt working, then you can run this script:
let wpRequire;window.webpackChunkdiscord_app.push([[Math.random()],{},(req)=>{wpRequire=req;}]);let UserSettingsActions=Object.values(wpRequire.c).find(x=>x?.exports?.PreloadedUserSettingsActionCreators).exports;let ProtobufTypes=Object.values(wpRequire.c).find(x=>x?.exports?.BoolValue).exports;UserSettingsActions.PreloadedUserSettingsActionCreators.updateAsync("appearance",data=>{data.mobileRedesignDisabled=ProtobufTypes.BoolValue.create({value:false})},UserSettingsActions.UserSettingsDelay.INFREQUENT_USER_ACTION)
Expand this to view an in depth breakdown of what the code does
The first 2 lines get the webpack modules from discord, this gives us access to all discords methods and values.
let wpRequire;
window.webpackChunkdiscord_app.push([[ Math.random() ], {}, (req) => { wpRequire = req; }]);
Initialising the wpRequire
variable and then setting it with (req) => { wpRequire = req; }
The next line finds the user settings module, this is used to update the user settings.
let UserSettingsActions = Object.values(wpRequire.c).find(x => x?.exports?.PreloadedUserSettingsActionCreators).exports;
This code searches for the module with the PreloadedUserSettingsActionCreators
export, this is the module that contains the updateAsync
method which is used to update settings.
The next line finds the protobuf module, this is used to encode the settings data.
let ProtobufTypes = Object.values(wpRequire.c).find(x => x?.exports?.BoolValue).exports;
This code searches for the module with the BoolValue
export, this is the module that contains the BoolValue.create
method which is used to encode the settings data.
Protobuf is a data encoding method used by discord to encode data, this allows discord to send data in a compact format.
The final lines updates the user settings to set mobileRedesignDisabled
to true
UserSettingsActions.PreloadedUserSettingsActionCreators.updateAsync("appearance", data => {
data.mobileRedesignDisabled = ProtobufTypes.BoolValue.create({value: true})
}, UserSettingsActions.UserSettingsDelay.INFREQUENT_USER_ACTION)
This code calls the updateAsync
method from the UserSettingsActions
module, this method takes 3 arguments:
section
- the section of the settings to updateupdate
- a method that takes the current settings data and updates itdelay
- the delay before the settings are updated
The section
argument is set to appearance
as this is the section that contains the mobileRedesignDisabled
setting.
The update
argument is a method that takes the current settings data and updates it, this method is called with the current settings data as the first argument, this is then updated to set mobileRedesignDisabled
to true
using the create
method from the ProtobufTypes
module.
The delay
argument is set to UserSettingsActions.UserSettingsDelay.INFREQUENT_USER_ACTION
as this is the delay used by discord when updating settings.
I use the mobile client for convenience. For me though, I do not like the swipe to reply (I much prefer swiping to see member list) and I’m also not a fan of the new messages tab. I found it to be a worse user experience for me. There’s other reasons for other people, but I’m just sharing my own personal ones.