Radial Status: disable by default - confirmed corrupting member list/profile UI

This commit is contained in:
Ally Founder 2026-08-02 19:38:49 -04:00
parent 511dff142c
commit 2b111e7d8c
3 changed files with 23 additions and 3 deletions

View file

@ -8,6 +8,10 @@ let unpatchAll: () => void = () => {};
export default {
onLoad: () => {
// Off by default - see the note in patches/ringPatch.ts. Confirmed on-device to corrupt
// member list rows and the profile status indicator, and to never match YouBar's own
// indicator at all - being re-diagnosed properly before this defaults back on.
storage.enabled ??= false;
storage.colors ??= {
online: "#23A55A",
idle: "#F0B232",

View file

@ -20,6 +20,13 @@ export default function patchRing(): () => void {
return before("render", General.View, (args: any[]) => {
try {
// Off by default - the broadened circle match below turned out to false-positive on
// unrelated Views in the member list (confirmed by on-device testing: it visibly
// corrupted member list rows and the profile status indicator, and never matched
// YouBar's own indicator at all), so this no longer runs unless explicitly turned on
// while it's being properly re-diagnosed with live capture data.
if (!storage.enabled) return;
const [wrapper] = args;
if (!wrapper || !Array.isArray(wrapper.style)) return;

View file

@ -6,7 +6,7 @@ import SettingsScaffold from "@shared/ui/SettingsScaffold";
import ColorInput from "@shared/ui/ColorInput";
import NoteBox from "@shared/ui/NoteBox";
const { FormSection, FormInput } = Forms;
const { FormSection, FormInput, FormSwitchRow } = Forms;
const STATUSES: { key: string; label: string; defaultColor: string }[] = [
{ key: "online", label: "Online", defaultColor: "#23A55A" },
@ -36,9 +36,18 @@ export default function Settings() {
return (
<SettingsScaffold>
<NoteBox>
Replaces the small presence dot on an avatar with a colored ring instead, per status
below. Leave a status blank to keep showing the normal dot for it.
Off by default right now - the current matching logic was confirmed to corrupt member
list rows and the profile status indicator, and to miss YouBar's own indicator
entirely. Being properly re-diagnosed; only turn this on if you're helping test it.
</NoteBox>
<FormSection title="Enable">
<FormSwitchRow
label="Draw ring around avatars"
subLabel="Known broken right now - see the note above"
value={!!storage.enabled}
onValueChange={(v: boolean) => { storage.enabled = v; }}
/>
</FormSection>
<FormSection title="Ring colors">
{STATUSES.map(({ key, label, defaultColor }) => (
<ColorInput