Merge pull request #30198 from bdach/thank-you-discord-once-more

Fix discord RPC complaining yet again if given a single space character as activity state / details
This commit is contained in:
Dan Balasescu 2024-10-11 01:15:56 +09:00 committed by GitHub
commit c545269eec
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 6 additions and 4 deletions

View File

@ -279,10 +279,12 @@ private static string clampLength(string str)
// As above, discord decides that *non-empty* strings shorter than 2 characters cannot possibly be valid input, because... reasons? // As above, discord decides that *non-empty* strings shorter than 2 characters cannot possibly be valid input, because... reasons?
// And yes, that is two *characters*, or *codepoints*, not *bytes* as further down below (as determined by empirical testing). // And yes, that is two *characters*, or *codepoints*, not *bytes* as further down below (as determined by empirical testing).
// That seems very questionable, and isn't even documented anywhere. So to *make it* accept such valid input, // Also, spaces don't count. Because reasons, clearly.
// just tack on enough of U+200B ZERO WIDTH SPACEs at the end. // That all seems very questionable, and isn't even documented anywhere. So to *make it* accept such valid input,
if (str.Length < 2) // just tack on enough of U+200B ZERO WIDTH SPACEs at the end. After making sure to trim whitespace.
return str.PadRight(2, '\u200B'); string trimmed = str.Trim();
if (trimmed.Length < 2)
return trimmed.PadRight(2, '\u200B');
if (Encoding.UTF8.GetByteCount(str) <= 128) if (Encoding.UTF8.GetByteCount(str) <= 128)
return str; return str;