programmer2514 / BetterDiscord-CollapsibleUI

A feature-rich BetterDiscord plugin that reworks the Discord UI to be significantly more modular
MIT License
63 stars 7 forks source link

Members list occasionally gets completely reversed when Resizeable Members List is enabled #92

Open Aida-Enna opened 9 months ago

Aida-Enna commented 9 months ago

Some random? channels now (as of 7.30) show the member list "reversed" (the names, statuses, all the elements are backwards). Scrolling up/down in the server list refreshes the element and fixes it, but clicking on the channel again brings the issue back.

image

Turning off "Resizable members list" stops the issue from occurring. I haven't changed any settings in a few months, so the values for that should be the default ones.

programmer2514 commented 9 months ago

Could you send your CollapsibleUI config file and a list of your other plug-ins so I can try to reproduce it? I know why that would occur but I don't know what's causing it and I can't seem to reproduce it on my end.

Aida-Enna commented 9 months ago

Could you send your CollapsibleUI config file and a list of your other plug-ins so I can try to reproduce it? I know why that would occur but I don't know what's causing it and I can't seem to reproduce it on my end.

Sure! I just disabled all my other plugins and made sure I'm using vanilla zeres and reloaded and it still happens. Here's my config:

    "currentVersionInfo": {
        "version": "7.3.0",
        "hasShownChangelog": true
    },
    "cuiSettingsVersion": "9",
    "disableTransitions": "false",
    "transitionSpeed": "250",
    "disableToolbarCollapse": "false",
    "disableSettingsCollapse": "false",
    "enableFullToolbarCollapse": "false",
    "dynamicUncollapse": "true",
    "dynamicUncollapseDelay": "15",
    "autoCollapse": "false",
    "resizableChannelList": "true",
    "channelListWidth": "244",
    "disabledButtonsStayCollapsed": "false",
    "keyBindsEnabled": "true",
    "settingsButtonsMaxWidth": "100",
    "toolbarIconMaxWidth": "300",
    "membersListMaxWidth": "240",
    "toolbarMaxWidth": "800",
    "userAreaMaxHeight": "300",
    "msgBarMaxHeight": "400",
    "windowBarHeight": "18",
    "collapsedDistance": "0",
    "serverListButtonActive": "true",
    "channelListButtonActive": "true",
    "msgBarButtonActive": "true",
    "windowBarButtonActive": "false",
    "membersListButtonActive": "true",
    "userAreaButtonActive": "true",
    "callContainerButtonActive": "true",
    "conditionalAutoCollapse": "false",
    "profilePanelMaxWidth": "340",
    "dynamicUncollapseDistance": "30,30,30,30,30,30,30,30",
    "dynamicUncollapseCloseDistance": "30,30,30,30,30,30,30,30",
    "autoCollapseThreshold": "500,600,400,200,950,400,550,1000",
    "autoCollapseConditionals": ",,,,,,,",
    "buttonsOrder": "1,2,4,6,7,3,5,8",
    "dynamicUncollapseEnabled": "true,true,true,true,true,true,true,true",
    "keyStringList": "Alt+S,Alt+C,Alt+T,Alt+W,Alt+M,Alt+U,Alt+P,Alt+I",
    "profilePanelButtonActive": "false",
    "disableMsgBarBtnCollapse": "false",
    "messageBarButtonsMaxWidth": "200",
    "messageBarButtonsMinWidth": "40",
    "buttonCollapseFudgeFactor": "10",
    "resizableMembersList": "true"
}

If you still can't reproduce it and want that list of plugins anyway, I can post it - Just figured it would be easier to do it this way. Thank you!

wilecoyote commented 9 months ago

This problem also occurs for me. The plugin DateViewer is reversed all the time.

programmer2514 commented 9 months ago

@Aida-Enna I still can't reproduce it on my end, even with the config file you gave me and all plugins disabled. What version of Discord are you using? EDIT: And does the issue persist if you disable your theme?

@wilecoyote That is a different issue entirely caused by DateViewer. I'll need to write some compatibility code

wilecoyote commented 9 months ago

@wilecoyote That is a different issue entirely caused by DateViewer. I'll need to write some compatibility code

Only the DateViewer problem. But i also encountered the problem with the reversed member list. Not every time. If i remember right, it occurred when i navigated between servers.

Aida-Enna commented 9 months ago

@Aida-Enna I still can't reproduce it on my end, even with the config file you gave me and all plugins disabled. What version of Discord are you using? EDIT: And does the issue persist if you disable your theme?

@wilecoyote That is a different issue entirely caused by DateViewer. I'll need to write some compatibility code

Weird - I'm using normal discord, not canary or ptb. It still happens with discord's built in theming disabled (I don't use a custom theme).

It looks like the transform: scaleX(-1); is not getting applied to the membersListInner element in some channels, only the membersList. If I add the transformation manually, it fixes it. Here is that element on a channel where it does not flip (I have replaced identifiable information with very obvious junk data). It seems to only happen in channels where it's a few people with access (and in the member list) as opposed to many people with access.

<div class="members-3WRCEx thin-RnSY0a scrollerBase-1Pkza4 fade-27X6bG customTheme-3QAYZq" tabindex="0" data-list-id="members-999" data-jump-section="global" style="overflow: hidden scroll; padding-right: 0px;"><div role="list" aria-label="Members" class="content-yjf30S" style="height: 132px;"><div aria-hidden="true" style="height: 0px;"></div><h3 class="membersGroup-2eiWxl container-q97qHp"><span class="hiddenVisually-39QJvl">Online, 2 members</span><span aria-hidden="true">Online — 2</span></h3><div class="member-2gU6Ar member-48YF_l container-1oeRFJ clickable-28SzVr" aria-expanded="false" tabindex="-1" index="0" role="listitem" data-list-item-id="members-999" aria-selected="false"><div class="memberInner--L4X2b layout-1qmrhw"><div class="avatar-6qzftW"><div class="wrapper-3Un6-K" role="img" aria-label="username1, Idle" aria-hidden="false" style="width: 32px; height: 32px;"><svg width="40" height="40" viewBox="0 0 40 40" class="mask-1y0tyc svg-1G_H_8" aria-hidden="true"><foreignObject x="0" y="0" width="32" height="32" mask="url(#svg-mask-avatar-status-round-32)"><div class="avatarStack-3Bjmsl"><img src="https://cdn.discordapp.com/avatars/999/999.webp?size=40" alt=" " class="avatar-31d8He" aria-hidden="true"></div></foreignObject><rect width="10" height="10" x="22" y="22" fill="#f0b232" mask="url(#svg-mask-status-idle)" class="pointerEvents-2KjWnj"></rect></svg></div></div><div class="content-1U25dZ"><div class="nameAndDecorators-3ERwy2"><div class="name-3Vmqxm"><span class="username-i5-wv-"><span class="username-3_PJ5r desaturateUserColors-1O-G89">User1</span></span></div><svg aria-label="Server Owner" class="ownerIcon-255uKo icon-1dGlZy" aria-hidden="false" role="img" width="24" height="24" viewBox="0 0 16 16"><path fill-rule="evenodd" clip-rule="evenodd" d="M13.6572 5.42868C13.8879 5.29002 14.1806 5.30402 14.3973 5.46468C14.6133 5.62602 14.7119 5.90068 14.6473 6.16202L13.3139 11.4954C13.2393 11.7927 12.9726 12.0007 12.6666 12.0007H3.33325C3.02725 12.0007 2.76058 11.792 2.68592 11.4954L1.35258 6.16202C1.28792 5.90068 1.38658 5.62602 1.60258 5.46468C1.81992 5.30468 2.11192 5.29068 2.34325 5.42868L5.13192 7.10202L7.44592 3.63068C7.46173 3.60697 7.48377 3.5913 7.50588 3.57559C7.5192 3.56612 7.53255 3.55663 7.54458 3.54535L6.90258 2.90268C6.77325 2.77335 6.77325 2.56068 6.90258 2.43135L7.76458 1.56935C7.89392 1.44002 8.10658 1.44002 8.23592 1.56935L9.09792 2.43135C9.22725 2.56068 9.22725 2.77335 9.09792 2.90268L8.45592 3.54535C8.46794 3.55686 8.48154 3.56651 8.49516 3.57618C8.51703 3.5917 8.53897 3.60727 8.55458 3.63068L10.8686 7.10202L13.6572 5.42868ZM2.66667 12.6673H13.3333V14.0007H2.66667V12.6673Z" fill="currentColor" aria-hidden="true"></path></svg></div><div class="subText-OGOWMj"><div class="activity-2EQDZv"><div class="activityText-1rR-8O">Listening to <strong>Spotify</strong></div><div class="textRuler-1DsANg activityText-1rR-8O" aria-hidden="true">Listening to <strong>Spotify</strong></div><svg class="icon-Lupfh-" aria-hidden="true" role="img" width="16" height="16" viewBox="0 0 16 16"><path fill="currentColor" d="M6,7 L2,7 L2,6 L6,6 L6,7 Z M8,5 L2,5 L2,4 L8,4 L8,5 Z M8,3 L2,3 L2,2 L8,2 L8,3 Z M8.88888889,0 L1.11111111,0 C0.494444444,0 0,0.494444444 0,1.11111111 L0,8.88888889 C0,9.50253861 0.497461389,10 1.11111111,10 L8.88888889,10 C9.50253861,10 10,9.50253861 10,8.88888889 L10,1.11111111 C10,0.494444444 9.5,0 8.88888889,0 Z" transform="translate(3 3)"></path></svg></div></div></div></div></div><div class="member-2gU6Ar member-48YF_l container-1oeRFJ clickable-28SzVr" aria-expanded="false" tabindex="-1" index="1" role="listitem" data-list-item-id="members-999" aria-selected="false"><div class="memberInner--L4X2b layout-1qmrhw"><div class="avatar-6qzftW"><div class="wrapper-3Un6-K" role="img" aria-label="User2, Online" aria-hidden="false" style="width: 32px; height: 32px;"><svg width="40" height="40" viewBox="0 0 40 40" class="mask-1y0tyc svg-1G_H_8" aria-hidden="true"><foreignObject x="0" y="0" width="32" height="32" mask="url(#svg-mask-avatar-status-round-32)"><div class="avatarStack-3Bjmsl"><img src="https://cdn.discordapp.com/avatars/999/999.webp?size=40" alt=" " class="avatar-31d8He" aria-hidden="true"></div></foreignObject><rect width="10" height="10" x="22" y="22" fill="#23a55a" mask="url(#svg-mask-status-online)" class="pointerEvents-2KjWnj"></rect></svg></div></div><div class="content-1U25dZ"><div class="nameAndDecorators-3ERwy2"><div class="name-3Vmqxm"><span class="username-i5-wv-"><span class="username-3_PJ5r desaturateUserColors-1O-G89">User2</span></span></div><span class="botTag-2mryIa botTagRegular-kpctgU botTag-7aX5WZ px-MnE_OR"><span class="botText-1fD6Qk">BOT</span></span></div><div class="subText-OGOWMj"><div class="activity-2EQDZv"><div class="activityText-1rR-8O">Playing <strong>Kingdom Hearts 4</strong></div><div class="textRuler-1DsANg activityText-1rR-8O" aria-hidden="true">Playing <strong>Kingdom Hearts 4</strong></div></div></div></div></div></div></div></div>
mrjelly15 commented 9 months ago

Some random? channels now (as of 7.30) show the member list "reversed" (the names, statuses, all the elements are backwards). Scrolling up/down in the server list refreshes the element and fixes it, but clicking on the channel again brings the issue back.

image

Turning off "Resizable members list" stops the issue from occurring. I haven't changed any settings in a few months, so the values for that should be the default ones.

disabling the resizable members list seemed to fix the issue for me image

berkkrkc09 commented 9 months ago

This happens to me with DateViewer too but my members lists are unaffected. I can confirm that disabling resizable members list fixes this.

Nova1ite commented 8 months ago

I can confirm that I have this issue too...

It seems like only certain themes are affecting CollapsibleUI like this. For me, Solana (Disease), Reborn (MonsterDev), and MixPack (Mixter213) for my themes are affected. But, CP 2077 (Patryk), Fluent Discord (Takos), Nocturnal (Spectra), Tokyo Night (Ashtrath), and Zelk (schnensch) aren't affect by this.

Of course, if you disable the "Resizable Members List" option to off, this won't happen at all with any of these themes. And I tested it all with only CollapsibleUI enabled (everything else is disabled) while turned off any theme mods like SettingsModal and RadialStatus... Even with those theme mods on, it wasn't affected with the reverse layout issue.

Nova1ite commented 8 months ago

Sorry again, it somehow got fixed? I was just playing around with the enabling and disabling themes then all of a sudden there's no reverse layout I was trying to reproduce it again, but nothing worked. Sorry for the confusion again.

Nova1ite commented 8 months ago

Nevermind, it's not a theme issue for sure because it's happening again, but it happened with cp 2077 too. My guess is that it has to do with a plugin conflict probably with CollapsibleUI and another plugin. The reason is that no plugins other than CollapsibleUI were on yesterday. After enabling it all, it was working fine until today again. And sorry, I'm not testing with each individual plugin, I'll give the list I'm using though.

Mine are BDFDB, BetterFormattingRedux, BetterFriendList, BetterRoleColors, BetterSearchPage, ChannelTabs, (CollapsibleUI), DashToSpaceInChannelName, DoNotTrack, Double Click To Edit, InvisibleTyping, NoSpotifyPause, OpenSteamLinksInApp, PlatformIndicators, PluginRepo, ReadAllNotificationsButton, RelativeTimestamps, RemoveChatButtons, RoleMembers, ServerCounter (off though), ServerDetails, ShowBadgesInChat, ShowConnections, SpotifyControls, SpotifyListenAlong, StaffTag, ThemeRepo, WhoReacted, ZeresPluginLibrary.

Just in case, you may want to include SettingsModal and RadialStatus if those could be the issue too.

The best temporary solution for now is what mrjelly15 said, to disable "Resizeable Members List"

programmer2514 commented 6 months ago

@Nova1ite I still cannot seem to reproduce this behavior with any of the above-mentioned plugins enabled. Once CollapsibleUI v8 is released, try it out again and tell me if the issue persists

Nova1ite commented 6 months ago

The reverse member list issue is still there for me on v8

programmer2514 commented 6 months ago

@Nova1ite Could you add me on Discord so I can work it out with you? I still cannot reproduce the issue and I would love to get it fixed for you. It's @tenorthehusky if you're up for it, though I may take a bit to respond because it's around the holidays

Nova1ite commented 6 months ago

@Nova1ite Could you add me on Discord so I can work it out with you? I still cannot reproduce the issue and I would love to get it fixed for you. It's @tenorthehusky if you're up for it, though I may take a bit to respond because it's around the holidays

I added you, but just saying, it's very random and sporadic and only happens every 1-2 days, I'm not sure if it's a problem with just CollapsibleUI itself or a conflict with another plugin. Also, I don't want to leave the error log open the whole time since it's kinda cramped

I noticed it happens randomly when I switch channels, but that's about it

Nova1ite commented 6 months ago

@programmer2514 I managed to reproduce it a couple times now... I think it's a plugin conflict since I only have Comfy, SettingsModal, and CollapsibleUI enabled. I think it has to do with the Devil's library plugin (enabled or disabled) and CollapsibleUI.

So to explain, I noticed it happens whenever I switch to channels I don't often go to and gets "refreshed" back to reverse list. Ex. I go to an art channel I never go to, member list is reversed, I switch back and forth and member list is okay, then I go somewhere else for a while, I come back after switching many channels and maybe like 10 mins and it's back to the reverse list again.

I get this error and it deals with the 0BDFDB plugin.

Screenshot 2023-12-25 153242

EDIT: Nvm, ignore that, I still get it when I unloaded the BDFDB plugin

wilecoyote commented 6 months ago

@programmer2514 would it be possible that the problem is related to the set language? I use Discord with the German language.

programmer2514 commented 6 months ago

@Nova1ite Based on that information, I can guess it may have to do with Discord reloading the members list without my plugin catching the reload event

programmer2514 commented 6 months ago

@wilecoyote With Discord anything is possible lol That said, I think it is unlikely since my plugin tries to be language-agnostic

wilecoyote commented 6 months ago

Today I noticed that the camera is mirrored horizontally when activated. But this isn't related to the plugin. It also has nothing to do with BD itself. The camera also appears mirrored when BD isn't installed. It seems the Discord client does some magic here and there :). Maybe this information can help you to hunt the problem with the reversed member list down.

Tsaukpaetra commented 1 month ago

Joining on the wagon, on 8.3.1 and I notice that switching channels the members list starts correct and then 1-frame-animates to flipped. If I scroll up a few chunks, the list flips back and tends to stay fixed. Going to try to manually update to 8.3.2 from the releases page here and see if there's a difference.

Edit: Nah, no effect lol.