Misc fixes and improvements (#555)
Co-authored-by: Ven <vendicated@riseup.net>
This commit is contained in:
parent
a5392e5c53
commit
bed5e98bb0
|
@ -87,11 +87,11 @@ export default definePlugin({
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
match: /(?<=\.(?:canUseEmojisEverywhere|canUseAnimatedEmojis)\(\i)(?=\))/g,
|
match: /(?<=\.(?:canUseEmojisEverywhere|canUseAnimatedEmojis)\(\i)(?=\))/g,
|
||||||
replace: ",fakeNitroIntention"
|
replace: ',typeof fakeNitroIntention!=="undefined"?fakeNitroIntention:void 0'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
match: /(?<=&&!\i&&)!(?<canUseExternal>\i)(?=\)return \i\.\i\.DISALLOW_EXTERNAL;)/,
|
match: /(?<=&&!\i&&)!(?<canUseExternal>\i)(?=\)return \i\.\i\.DISALLOW_EXTERNAL;)/,
|
||||||
replace: `(!$<canUseExternal>&&![${EmojiIntentions.CHAT},${EmojiIntentions.GUILD_STICKER_RELATED_EMOJI}].includes(fakeNitroIntention))`
|
replace: `(!$<canUseExternal>&&(typeof fakeNitroIntention==="undefined"||![${EmojiIntentions.CHAT},${EmojiIntentions.GUILD_STICKER_RELATED_EMOJI}].includes(fakeNitroIntention)))`
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
@ -100,7 +100,7 @@ export default definePlugin({
|
||||||
predicate: () => Settings.plugins.FakeNitro.enableEmojiBypass === true,
|
predicate: () => Settings.plugins.FakeNitro.enableEmojiBypass === true,
|
||||||
replacement: {
|
replacement: {
|
||||||
match: /(?<=(?:canUseEmojisEverywhere|canUseAnimatedEmojis):function\((?<user>\i))\){(?<premiumCheck>.+?\))/g,
|
match: /(?<=(?:canUseEmojisEverywhere|canUseAnimatedEmojis):function\((?<user>\i))\){(?<premiumCheck>.+?\))/g,
|
||||||
replace: `,fakeNitroIntention){$<premiumCheck>||fakeNitroIntention===undefined||[${EmojiIntentions.CHAT},${EmojiIntentions.GUILD_STICKER_RELATED_EMOJI}].includes(fakeNitroIntention)`
|
replace: `,fakeNitroIntention){$<premiumCheck>||fakeNitroIntention==null||[${EmojiIntentions.CHAT},${EmojiIntentions.GUILD_STICKER_RELATED_EMOJI}].includes(fakeNitroIntention)`
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
|
@ -27,10 +27,10 @@ export default definePlugin({
|
||||||
{
|
{
|
||||||
find: '("ApplicationStreamPreviewUploadManager")',
|
find: '("ApplicationStreamPreviewUploadManager")',
|
||||||
replacement: [
|
replacement: [
|
||||||
".\\.default\\.makeChunkedRequest\\(",
|
"\\i\\.default\\.makeChunkedRequest\\(",
|
||||||
".{1,2}\\..\\.post\\({url:"
|
"\\i\\.\\i\\.post\\({url:"
|
||||||
].map(match => ({
|
].map(match => ({
|
||||||
match: new RegExp(`return\\[(?<code>\\d),${match}.\\..{1,3}\\.STREAM_PREVIEW.+?}\\)\\];`),
|
match: new RegExp(`return\\[(?<code>\\d),${match}\\i\\.\\i\\.STREAM_PREVIEW.+?}\\)\\];`),
|
||||||
replace: 'return[$<code>,Promise.resolve({body:"",status:204})];'
|
replace: 'return[$<code>,Promise.resolve({body:"",status:204})];'
|
||||||
}))
|
}))
|
||||||
},
|
},
|
||||||
|
|
|
@ -19,9 +19,11 @@
|
||||||
import ErrorBoundary from "@components/ErrorBoundary";
|
import ErrorBoundary from "@components/ErrorBoundary";
|
||||||
import { LazyComponent } from "@utils/misc";
|
import { LazyComponent } from "@utils/misc";
|
||||||
import { formatDuration } from "@utils/text";
|
import { formatDuration } from "@utils/text";
|
||||||
import { find, findByCode, findByPropsLazy } from "@webpack";
|
import { find, findByPropsLazy } from "@webpack";
|
||||||
import { FluxDispatcher, GuildMemberStore, GuildStore, moment, Parser, SnowflakeUtils, Text, Timestamp, Tooltip } from "@webpack/common";
|
import { FluxDispatcher, GuildMemberStore, GuildStore, moment, Parser, SnowflakeUtils, Text, Timestamp, Tooltip } from "@webpack/common";
|
||||||
import { Channel } from "discord-types/general";
|
import { Channel } from "discord-types/general";
|
||||||
|
import type { ComponentType } from "react";
|
||||||
|
|
||||||
|
|
||||||
enum SortOrderTypes {
|
enum SortOrderTypes {
|
||||||
LATEST_ACTIVITY = 0,
|
LATEST_ACTIVITY = 0,
|
||||||
|
@ -73,6 +75,17 @@ enum ChannelFlags {
|
||||||
REQUIRE_TAG = 1 << 4
|
REQUIRE_TAG = 1 << 4
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let EmojiComponent: ComponentType<any>;
|
||||||
|
let ChannelBeginHeader: ComponentType<any>;
|
||||||
|
|
||||||
|
export function setEmojiComponent(component: ComponentType<any>) {
|
||||||
|
EmojiComponent = component;
|
||||||
|
}
|
||||||
|
|
||||||
|
export function setChannelBeginHeaderComponent(component: ComponentType<any>) {
|
||||||
|
ChannelBeginHeader = component;
|
||||||
|
}
|
||||||
|
|
||||||
const ChatScrollClasses = findByPropsLazy("auto", "content", "scrollerBase");
|
const ChatScrollClasses = findByPropsLazy("auto", "content", "scrollerBase");
|
||||||
const TagComponent = LazyComponent(() => find(m => {
|
const TagComponent = LazyComponent(() => find(m => {
|
||||||
if (typeof m !== "function") return false;
|
if (typeof m !== "function") return false;
|
||||||
|
@ -81,9 +94,6 @@ const TagComponent = LazyComponent(() => find(m => {
|
||||||
// Get the component which doesn't include increasedActivity logic
|
// Get the component which doesn't include increasedActivity logic
|
||||||
return code.includes(".Messages.FORUM_TAG_A11Y_FILTER_BY_TAG") && !code.includes("increasedActivityPill");
|
return code.includes(".Messages.FORUM_TAG_A11Y_FILTER_BY_TAG") && !code.includes("increasedActivityPill");
|
||||||
}));
|
}));
|
||||||
const EmojiComponent = LazyComponent(() => findByCode('.jumboable?"jumbo":"default"'));
|
|
||||||
// The component for the beggining of a channel, but we patched it so it only returns the allowed users and roles components for hidden channels
|
|
||||||
const ChannelBeginHeader = LazyComponent(() => findByCode(".Messages.ROLE_REQUIRED_SINGLE_USER_MESSAGE"));
|
|
||||||
|
|
||||||
const ChannelTypesToChannelNames = {
|
const ChannelTypesToChannelNames = {
|
||||||
[ChannelTypes.GUILD_TEXT]: "text",
|
[ChannelTypes.GUILD_TEXT]: "text",
|
||||||
|
|
|
@ -26,7 +26,7 @@ import { findByPropsLazy } from "@webpack";
|
||||||
import { ChannelStore, PermissionStore, Tooltip } from "@webpack/common";
|
import { ChannelStore, PermissionStore, Tooltip } from "@webpack/common";
|
||||||
import { Channel } from "discord-types/general";
|
import { Channel } from "discord-types/general";
|
||||||
|
|
||||||
import HiddenChannelLockScreen from "./components/HiddenChannelLockScreen";
|
import HiddenChannelLockScreen, { setChannelBeginHeaderComponent, setEmojiComponent } from "./components/HiddenChannelLockScreen";
|
||||||
|
|
||||||
const ChannelListClasses = findByPropsLazy("channelName", "subtitle", "modeMuted", "iconContainer");
|
const ChannelListClasses = findByPropsLazy("channelName", "subtitle", "modeMuted", "iconContainer");
|
||||||
|
|
||||||
|
@ -239,8 +239,8 @@ export default definePlugin({
|
||||||
{
|
{
|
||||||
find: 'jumboable?"jumbo":"default"',
|
find: 'jumboable?"jumbo":"default"',
|
||||||
replacement: {
|
replacement: {
|
||||||
match: /(?<=\i:\(\)=>\i)(?=}.+?(?<component>\i)=function.{1,20}node,\i=\i.isInteracting)/,
|
match: /(?<=(?<component>\i)=function.{1,20}node,\i=\i.isInteracting.+?}}\)},)/,
|
||||||
replace: ",hc1:()=>$<component>" // Blame Ven length check for the small name :pensive_cry:
|
replace: "shcEmojiComponentExport=($self.setEmojiComponent($<component>),void 0),"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -248,8 +248,8 @@ export default definePlugin({
|
||||||
replacement: [
|
replacement: [
|
||||||
{
|
{
|
||||||
// Export the channel beggining header
|
// Export the channel beggining header
|
||||||
match: /(?<=\i:\(\)=>\i)(?=}.+?function (?<component>\i).{1,600}computePermissionsForRoles)/,
|
match: /(?<=function (?<component>\i)\(.{1,600}computePermissionsForRoles.+?}\)})(?=var)/,
|
||||||
replace: ",hc2:()=>$<component>"
|
replace: "$self.setChannelBeginHeaderComponent($<component>);"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
// Patch the header to only return allowed users and roles if it's a hidden channel (Like when it's used on the HiddenChannelLockScreen)
|
// Patch the header to only return allowed users and roles if it's a hidden channel (Like when it's used on the HiddenChannelLockScreen)
|
||||||
|
@ -325,6 +325,9 @@ export default definePlugin({
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|
||||||
|
setEmojiComponent,
|
||||||
|
setChannelBeginHeaderComponent,
|
||||||
|
|
||||||
isHiddenChannel(channel: Channel & { channelId?: string; }) {
|
isHiddenChannel(channel: Channel & { channelId?: string; }) {
|
||||||
if (!channel) return false;
|
if (!channel) return false;
|
||||||
|
|
||||||
|
|
|
@ -70,7 +70,7 @@ export default definePlugin({
|
||||||
{
|
{
|
||||||
find: "getCooldownTextStyle",
|
find: "getCooldownTextStyle",
|
||||||
replacement: {
|
replacement: {
|
||||||
match: /return \i\.Z\.getName\(.,.\.props\.channel\.id,(.)\)/,
|
match: /return \i\.\i\.getName\(.,.\.props\.channel\.id,(.)\)/,
|
||||||
replace: "return $1"
|
replace: "return $1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -42,9 +42,9 @@ export default definePlugin({
|
||||||
{
|
{
|
||||||
find: ".Types.ORIGINAL_POSTER",
|
find: ".Types.ORIGINAL_POSTER",
|
||||||
replacement: {
|
replacement: {
|
||||||
match: /return null==(.)\?null:\(0,.{1,3}\.jsxs?\)\((.{1,3})\.Z/,
|
match: /return null==(.)\?null:\(0,.{1,3}\.jsxs?\)\((.{1,3}\.\i)/,
|
||||||
replace: (orig, type, BotTag) =>
|
replace: (orig, type, BotTag) =>
|
||||||
`if(arguments[0].message.webhookId&&arguments[0].user.isNonUserBot()){${type}=${BotTag}.Z.Types.WEBHOOK}${orig}`,
|
`if(arguments[0].message.webhookId&&arguments[0].user.isNonUserBot()){${type}=${BotTag}.Types.WEBHOOK}${orig}`,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
|
Loading…
Reference in a new issue