1.0.8 fixed the row-pairing bug but kept patching the shared UserRow
memo wrapper's .type via @revenge-mod/patcher's after() - confirmed
live that this breaks member list rendering outright, unconditionally,
even as a single non-stacking patch on a fresh app process. Replaced
with afterJSX() intercepting each createElement(UserRow, props) call
and a plain property assignment (el.type = a single stable function),
never touching the shared object via after()'s Proxy machinery.
Also fixed the actual tag-injection logic, live-verified end to end:
UserRow renders a single TableRow with name+tag at ret.props.label (a
prop, not a child reachable by the old generic tree search - that
mismatch was the reason tags never appeared even before the crash).
The existing tag element found there is Discord's own BotTag, which
derives its label purely from a type enum and ignores any custom
text/color props - so the old "mutate BotTag in place" path was a
silent no-op. Now always injects the plugin's own GradientTag
instead, confirmed live to actually render custom tag text and color.