feat: dynamically track mutability of messages (#6367)

This commit is contained in:
nerix
2025-08-04 21:04:59 +02:00
committed by GitHub
parent 0085b64418
commit 4ffdc2fa7b
171 changed files with 233 additions and 0 deletions
+1
View File
@@ -95,6 +95,7 @@
- Dev: Update tooltip for colon completion setting. (#6370)
- Dev: Added some commands for forcing a relayout (and related things) in channel views. (#6342)
- Dev: Update vcpkg baseline. (#6359)
- Dev: Added an explicit `frozen` flag to `Message`. (#6367)
## 2.5.3
+16
View File
@@ -79,6 +79,8 @@ LimitedQueueSnapshot<MessagePtr> Channel::getMessageSnapshot()
void Channel::addMessage(MessagePtr message, MessageContext context,
std::optional<MessageFlags> overridingFlags)
{
message->freeze();
MessagePtr deleted;
if (context == MessageContext::Original && this->getType() != Type::None)
@@ -157,6 +159,11 @@ void Channel::disableAllMessages()
void Channel::addMessagesAtStart(const std::vector<MessagePtr> &_messages)
{
for (const auto &msg : _messages)
{
msg->freeze();
}
std::vector<MessagePtr> addedMessages =
this->messages_.pushFront(_messages);
@@ -172,6 +179,10 @@ void Channel::fillInMissingMessages(const std::vector<MessagePtr> &messages)
{
return;
}
for (const auto &msg : messages)
{
msg->freeze();
}
auto snapshot = this->getMessageSnapshot();
if (snapshot.size() == 0)
@@ -256,6 +267,7 @@ void Channel::fillInMissingMessages(const std::vector<MessagePtr> &messages)
void Channel::replaceMessage(const MessagePtr &message,
const MessagePtr &replacement)
{
replacement->freeze();
int index = this->messages_.replaceItem(message, replacement);
if (index >= 0)
@@ -266,6 +278,8 @@ void Channel::replaceMessage(const MessagePtr &message,
void Channel::replaceMessage(size_t index, const MessagePtr &replacement)
{
replacement->freeze();
MessagePtr prev;
if (this->messages_.replaceItem(index, replacement, &prev))
{
@@ -276,6 +290,8 @@ void Channel::replaceMessage(size_t index, const MessagePtr &replacement)
void Channel::replaceMessage(size_t hint, const MessagePtr &message,
const MessagePtr &replacement)
{
replacement->freeze();
auto index = this->messages_.replaceItem(hint, message, replacement);
if (index >= 0)
{
+1
View File
@@ -107,6 +107,7 @@ QJsonObject Message::toJson() const
{"count"_L1, static_cast<qint64>(this->count)},
{"serverReceivedTime"_L1,
this->serverReceivedTime.toString(Qt::ISODate)},
{"frozen"_L1, this->frozen},
};
QJsonArray badges;
+15
View File
@@ -86,6 +86,16 @@ struct Message {
};
ReplyStatus isReplyable() const;
uint32_t count = 1;
/// Can this message be modified?
///
/// Our rendering and layout code expects messages to be mostly immutable.
/// Thus, when this flag is set, this message may not be modified.
/// Only flags and this member can be modified safely (from the GUI thread).
/// This is only used for plugins right now. This value is only ever set to
/// true.
mutable bool frozen = false;
std::vector<std::unique_ptr<MessageElement>> elements;
ScrollbarHighlight getScrollBarHighlight() const;
@@ -93,6 +103,11 @@ struct Message {
std::shared_ptr<ChannelPointReward> reward = nullptr;
QJsonObject toJson() const;
void freeze() const
{
this->frozen = true;
}
};
} // namespace chatterino
@@ -137,6 +137,7 @@
}
],
"flags": "PubSub|AutoMod|AutoModOffendingMessageHeader|EventSub|ModerationAction",
"frozen": true,
"id": "automod_19d067ff-89b5-4790-a720-97599894eb6b",
"localizedName": "",
"loginName": "automod",
@@ -243,6 +244,7 @@
}
],
"flags": "PubSub|AutoMod|AutoModOffendingMessage|EventSub|ModerationAction",
"frozen": true,
"id": "",
"localizedName": "",
"loginName": "nerixyz",
@@ -149,6 +149,7 @@
}
],
"flags": "PubSub|AutoMod|AutoModOffendingMessageHeader|AutoModBlockedTerm|EventSub|ModerationAction",
"frozen": true,
"id": "automod_0cbb6e48-1606-46c6-b1ac-c97626e1c5cb",
"localizedName": "",
"loginName": "automod",
@@ -257,6 +258,7 @@
}
],
"flags": "PubSub|AutoMod|AutoModOffendingMessage|AutoModBlockedTerm|EventSub|ModerationAction",
"frozen": true,
"id": "",
"localizedName": "",
"loginName": "nerixyz",
@@ -143,6 +143,7 @@
}
],
"flags": "PubSub|AutoMod|AutoModOffendingMessageHeader|AutoModBlockedTerm|EventSub|ModerationAction",
"frozen": true,
"id": "automod_c0fac418-25a9-41b8-adf3-5bd637fca1e1",
"localizedName": "",
"loginName": "automod",
@@ -249,6 +250,7 @@
}
],
"flags": "PubSub|AutoMod|AutoModOffendingMessage|AutoModBlockedTerm|EventSub|ModerationAction",
"frozen": true,
"id": "",
"localizedName": "",
"loginName": "nerixyz",
@@ -195,6 +195,7 @@
}
],
"flags": "PubSub|AutoMod|AutoModOffendingMessageHeader|AutoModBlockedTerm|EventSub|ModerationAction",
"frozen": true,
"id": "automod_45a63ca1-1b0c-46ef-9075-d112f9a9f376",
"localizedName": "",
"loginName": "automod",
@@ -307,6 +308,7 @@
}
],
"flags": "PubSub|AutoMod|AutoModOffendingMessage|AutoModBlockedTerm|EventSub|ModerationAction",
"frozen": true,
"id": "",
"localizedName": "",
"loginName": "nerixyz",
@@ -137,6 +137,7 @@
}
],
"flags": "PubSub|AutoMod|AutoModOffendingMessageHeader|EventSub|ModerationAction",
"frozen": true,
"id": "automod_19d067ff-89b5-4790-a720-97599894eb6b",
"localizedName": "",
"loginName": "automod",
@@ -243,6 +244,7 @@
}
],
"flags": "PubSub|AutoMod|AutoModOffendingMessage|EventSub|ModerationAction",
"frozen": true,
"id": "",
"localizedName": "",
"loginName": "testaccount_420",
@@ -177,6 +177,7 @@
}
],
"flags": "Disabled|PubSub|AutoMod|AutoModOffendingMessageHeader|EventSub|ModerationAction",
"frozen": true,
"id": "automod_19d067ff-89b5-4790-a720-97599894eb6b",
"localizedName": "",
"loginName": "automod",
@@ -283,6 +284,7 @@
}
],
"flags": "PubSub|AutoMod|AutoModOffendingMessage|EventSub|ModerationAction",
"frozen": true,
"id": "",
"localizedName": "",
"loginName": "nerixyz",
@@ -177,6 +177,7 @@
}
],
"flags": "Disabled|PubSub|AutoMod|AutoModOffendingMessageHeader|EventSub|ModerationAction",
"frozen": true,
"id": "automod_19d067ff-89b5-4790-a720-97599894eb6b",
"localizedName": "",
"loginName": "automod",
@@ -283,6 +284,7 @@
}
],
"flags": "PubSub|AutoMod|AutoModOffendingMessage|EventSub|ModerationAction",
"frozen": true,
"id": "",
"localizedName": "",
"loginName": "nerixyz",
@@ -177,6 +177,7 @@
}
],
"flags": "Disabled|PubSub|AutoMod|AutoModOffendingMessageHeader|EventSub|ModerationAction",
"frozen": true,
"id": "automod_19d067ff-89b5-4790-a720-97599894eb6b",
"localizedName": "",
"loginName": "automod",
@@ -283,6 +284,7 @@
}
],
"flags": "PubSub|AutoMod|AutoModOffendingMessage|EventSub|ModerationAction",
"frozen": true,
"id": "",
"localizedName": "",
"loginName": "nerixyz",
@@ -91,6 +91,7 @@
}
],
"flags": "PubSub|AutoMod|EventSub",
"frozen": true,
"id": "automod_e39e3c58-3d25-49fd-8c94-e776ef57a7f8",
"localizedName": "",
"loginName": "automod",
@@ -84,6 +84,7 @@
}
],
"flags": "PubSub|AutoMod|EventSub",
"frozen": true,
"id": "automod_5686ec52-e02c-4042-ac21-1dfd8cab0f9f",
"localizedName": "",
"loginName": "automod",
@@ -90,6 +90,7 @@
}
],
"flags": "PubSub|AutoMod|EventSub",
"frozen": true,
"id": "automod_fc90dc3b-0634-41c3-8365-f40719f076ab",
"localizedName": "",
"loginName": "automod",
@@ -193,6 +193,7 @@
}
],
"flags": "System|EventSub|ModerationAction",
"frozen": true,
"id": "",
"localizedName": "",
"loginName": "nerixyz",
@@ -203,6 +203,7 @@
}
],
"flags": "System|EventSub|ModerationAction",
"frozen": true,
"id": "",
"localizedName": "",
"loginName": "nerixyz",
@@ -191,6 +191,7 @@
}
],
"flags": "System|EventSub|ModerationAction",
"frozen": true,
"id": "",
"localizedName": "",
"loginName": "nerixyz",
@@ -203,6 +203,7 @@
}
],
"flags": "System|EventSub|ModerationAction",
"frozen": true,
"id": "",
"localizedName": "",
"loginName": "nerixyz",
@@ -158,6 +158,7 @@
}
],
"flags": "System|Timeout|PubSub|EventSub|ModerationAction",
"frozen": true,
"id": "",
"localizedName": "",
"loginName": "nerixyz",
@@ -221,6 +221,7 @@
}
],
"flags": "System|Timeout|PubSub|EventSub|ModerationAction",
"frozen": true,
"id": "",
"localizedName": "",
"loginName": "",
@@ -351,6 +352,7 @@
}
],
"flags": "System|Timeout|PubSub|EventSub|ModerationAction",
"frozen": true,
"id": "",
"localizedName": "",
"loginName": "nerixyz",
@@ -219,6 +219,7 @@
}
],
"flags": "System|Timeout|PubSub|EventSub|ModerationAction",
"frozen": true,
"id": "",
"localizedName": "",
"loginName": "",
@@ -333,6 +334,7 @@
}
],
"flags": "System|Timeout|PubSub|EventSub|ModerationAction",
"frozen": true,
"id": "",
"localizedName": "",
"loginName": "nerixyz",
@@ -142,6 +142,7 @@
}
],
"flags": "System|Timeout|PubSub|EventSub|ModerationAction",
"frozen": true,
"id": "",
"localizedName": "",
"loginName": "nerixyz",
@@ -106,6 +106,7 @@
}
],
"flags": "System|DoNotTriggerNotification|PubSub|ClearChat|ModerationAction",
"frozen": true,
"id": "",
"localizedName": "",
"loginName": "",
@@ -160,6 +160,7 @@
}
],
"flags": "System|DoNotTriggerNotification|EventSub|ModerationAction",
"frozen": true,
"id": "",
"localizedName": "",
"loginName": "testaccount_420",
@@ -160,6 +160,7 @@
}
],
"flags": "System|DoNotTriggerNotification|EventSub|ModerationAction",
"frozen": true,
"id": "",
"localizedName": "",
"loginName": "testaccount_420",
@@ -149,6 +149,7 @@
}
],
"flags": "System|EventSub",
"frozen": true,
"id": "",
"localizedName": "",
"loginName": "nerixyz",
@@ -149,6 +149,7 @@
}
],
"flags": "System|EventSub",
"frozen": true,
"id": "",
"localizedName": "",
"loginName": "nerixyz",
@@ -151,6 +151,7 @@
}
],
"flags": "System|EventSub",
"frozen": true,
"id": "",
"localizedName": "",
"loginName": "nerixyz",
@@ -149,6 +149,7 @@
}
],
"flags": "System|EventSub",
"frozen": true,
"id": "",
"localizedName": "",
"loginName": "nerixyz",
@@ -167,6 +167,7 @@
}
],
"flags": "System|EventSub",
"frozen": true,
"id": "",
"localizedName": "",
"loginName": "nerixyz",
@@ -141,6 +141,7 @@
}
],
"flags": "System|EventSub",
"frozen": true,
"id": "",
"localizedName": "",
"loginName": "uint128",
@@ -145,6 +145,7 @@
}
],
"flags": "System|EventSub",
"frozen": true,
"id": "",
"localizedName": "",
"loginName": "pajlada",
@@ -195,6 +195,7 @@
}
],
"flags": "System|EventSub|ModerationAction",
"frozen": true,
"id": "",
"localizedName": "",
"loginName": "nerixyz",
@@ -203,6 +203,7 @@
}
],
"flags": "System|EventSub|ModerationAction",
"frozen": true,
"id": "",
"localizedName": "",
"loginName": "nerixyz",
@@ -203,6 +203,7 @@
}
],
"flags": "System|EventSub|ModerationAction",
"frozen": true,
"id": "",
"localizedName": "",
"loginName": "nerixyz",
@@ -203,6 +203,7 @@
}
],
"flags": "System|EventSub|ModerationAction",
"frozen": true,
"id": "",
"localizedName": "",
"loginName": "nerixyz",
@@ -192,6 +192,7 @@
}
],
"flags": "System|Timeout|PubSub|SharedMessage|EventSub|ModerationAction",
"frozen": true,
"id": "",
"localizedName": "",
"loginName": "nerixyz",
@@ -249,6 +249,7 @@
}
],
"flags": "System|Timeout|PubSub|SharedMessage|EventSub|ModerationAction",
"frozen": true,
"id": "",
"localizedName": "",
"loginName": "",
@@ -396,6 +397,7 @@
}
],
"flags": "System|Timeout|PubSub|SharedMessage|EventSub|ModerationAction",
"frozen": true,
"id": "",
"localizedName": "",
"loginName": "nerixyz",
@@ -249,6 +249,7 @@
}
],
"flags": "System|Timeout|PubSub|SharedMessage|EventSub|ModerationAction",
"frozen": true,
"id": "",
"localizedName": "",
"loginName": "",
@@ -175,6 +175,7 @@
}
],
"flags": "System|Timeout|PubSub|SharedMessage|EventSub|ModerationAction",
"frozen": true,
"id": "",
"localizedName": "",
"loginName": "nerixyz",
@@ -193,6 +193,7 @@
}
],
"flags": "System|DoNotTriggerNotification|EventSub|ModerationAction",
"frozen": true,
"id": "",
"localizedName": "",
"loginName": "testaccount_420",
@@ -193,6 +193,7 @@
}
],
"flags": "System|DoNotTriggerNotification|EventSub|ModerationAction",
"frozen": true,
"id": "",
"localizedName": "",
"loginName": "testaccount_420",
@@ -295,6 +295,7 @@
}
],
"flags": "System|Timeout|PubSub|SharedMessage|EventSub|ModerationAction",
"frozen": true,
"id": "",
"localizedName": "",
"loginName": "",
@@ -434,6 +435,7 @@
}
],
"flags": "System|Timeout|PubSub|EventSub|ModerationAction",
"frozen": true,
"id": "",
"localizedName": "",
"loginName": "nerixyz",
@@ -603,6 +605,7 @@
}
],
"flags": "System|Timeout|PubSub|SharedMessage|EventSub|ModerationAction",
"frozen": true,
"id": "",
"localizedName": "",
"loginName": "nerixyz",
@@ -255,6 +255,7 @@
}
],
"flags": "System|Timeout|PubSub|SharedMessage|EventSub|ModerationAction",
"frozen": true,
"id": "",
"localizedName": "",
"loginName": "",
@@ -424,6 +425,7 @@
}
],
"flags": "System|Timeout|PubSub|SharedMessage|EventSub|ModerationAction",
"frozen": true,
"id": "",
"localizedName": "",
"loginName": "nerixyz",
@@ -255,6 +255,7 @@
}
],
"flags": "System|Timeout|PubSub|SharedMessage|EventSub|ModerationAction",
"frozen": true,
"id": "",
"localizedName": "",
"loginName": "",
@@ -394,6 +395,7 @@
}
],
"flags": "System|Timeout|PubSub|EventSub|ModerationAction",
"frozen": true,
"id": "",
"localizedName": "",
"loginName": "nerixyz",
@@ -199,6 +199,7 @@
}
],
"flags": "System|Timeout|PubSub|SharedMessage|EventSub|ModerationAction",
"frozen": true,
"id": "",
"localizedName": "",
"loginName": "nerixyz",
@@ -174,6 +174,7 @@
}
],
"flags": "System|Untimeout|EventSub|ModerationAction",
"frozen": true,
"id": "",
"localizedName": "",
"loginName": "nerixyz",
@@ -174,6 +174,7 @@
}
],
"flags": "System|Untimeout|EventSub|ModerationAction",
"frozen": true,
"id": "",
"localizedName": "",
"loginName": "nerixyz",
@@ -149,6 +149,7 @@
}
],
"flags": "System|EventSub",
"frozen": true,
"id": "",
"localizedName": "",
"loginName": "nerixyz",
@@ -167,6 +167,7 @@
}
],
"flags": "System|EventSub",
"frozen": true,
"id": "",
"localizedName": "",
"loginName": "nerixyz",
@@ -149,6 +149,7 @@
}
],
"flags": "System|EventSub",
"frozen": true,
"id": "",
"localizedName": "",
"loginName": "nerixyz",
@@ -149,6 +149,7 @@
}
],
"flags": "System|EventSub",
"frozen": true,
"id": "",
"localizedName": "",
"loginName": "nerixyz",
@@ -225,6 +225,7 @@
}
],
"flags": "System|Timeout|PubSub|EventSub|ModerationAction",
"frozen": true,
"id": "",
"localizedName": "",
"loginName": "",
@@ -379,6 +380,7 @@
}
],
"flags": "System|Timeout|PubSub|EventSub|ModerationAction",
"frozen": true,
"id": "",
"localizedName": "",
"loginName": "nerixyz",
@@ -224,6 +224,7 @@
}
],
"flags": "System|Timeout|PubSub|EventSub|ModerationAction",
"frozen": true,
"id": "",
"localizedName": "",
"loginName": "",
@@ -363,6 +364,7 @@
}
],
"flags": "System|Timeout|PubSub|EventSub|ModerationAction",
"frozen": true,
"id": "",
"localizedName": "",
"loginName": "nerixyz",
@@ -184,6 +184,7 @@
}
],
"flags": "System|Timeout|PubSub|EventSub|ModerationAction",
"frozen": true,
"id": "",
"localizedName": "",
"loginName": "nerixyz",
@@ -151,6 +151,7 @@
}
],
"flags": "System|EventSub|ModerationAction",
"frozen": true,
"id": "",
"localizedName": "",
"loginName": "nerixyz",
@@ -147,6 +147,7 @@
}
],
"flags": "System|EventSub|ModerationAction",
"frozen": true,
"id": "",
"localizedName": "",
"loginName": "nerixyz",
@@ -152,6 +152,7 @@
}
],
"flags": "System|EventSub|ModerationAction",
"frozen": true,
"id": "",
"localizedName": "",
"loginName": "nerixyz",
@@ -147,6 +147,7 @@
}
],
"flags": "System|EventSub|ModerationAction",
"frozen": true,
"id": "",
"localizedName": "",
"loginName": "nerixyz",
@@ -141,6 +141,7 @@
}
],
"flags": "System|Untimeout|EventSub|ModerationAction",
"frozen": true,
"id": "",
"localizedName": "",
"loginName": "nerixyz",
@@ -149,6 +149,7 @@
}
],
"flags": "System|EventSub",
"frozen": true,
"id": "",
"localizedName": "",
"loginName": "nerixyz",
@@ -149,6 +149,7 @@
}
],
"flags": "System|EventSub",
"frozen": true,
"id": "",
"localizedName": "",
"loginName": "nerixyz",
@@ -141,6 +141,7 @@
}
],
"flags": "System|EventSub",
"frozen": true,
"id": "",
"localizedName": "",
"loginName": "uint128",
@@ -144,6 +144,7 @@
}
],
"flags": "System|EventSub",
"frozen": true,
"id": "",
"localizedName": "",
"loginName": "pajlada",
@@ -141,6 +141,7 @@
}
],
"flags": "System|Untimeout|EventSub|ModerationAction",
"frozen": true,
"id": "",
"localizedName": "",
"loginName": "nerixyz",
@@ -160,6 +160,7 @@
}
],
"flags": "System|EventSub|ModerationAction",
"frozen": true,
"id": "",
"localizedName": "",
"loginName": "quotrok",
@@ -160,6 +160,7 @@
}
],
"flags": "System|EventSub|ModerationAction",
"frozen": true,
"id": "",
"localizedName": "",
"loginName": "quotrok",
@@ -86,6 +86,7 @@
}
],
"flags": "LowTrustUsers|RestrictedMessage|EventSub",
"frozen": true,
"id": "",
"localizedName": "",
"loginName": "",
@@ -192,6 +193,7 @@
}
],
"flags": "PubSub|LowTrustUsers|RestrictedMessage|EventSub",
"frozen": true,
"id": "",
"localizedName": "",
"loginName": "nerixyz",
@@ -91,6 +91,7 @@
}
],
"flags": "LowTrustUsers|RestrictedMessage|EventSub",
"frozen": true,
"id": "",
"localizedName": "",
"loginName": "",
@@ -197,6 +198,7 @@
}
],
"flags": "PubSub|LowTrustUsers|RestrictedMessage|EventSub",
"frozen": true,
"id": "",
"localizedName": "",
"loginName": "nerixyz",
@@ -89,6 +89,7 @@
}
],
"flags": "LowTrustUsers|RestrictedMessage|EventSub",
"frozen": true,
"id": "",
"localizedName": "",
"loginName": "",
@@ -195,6 +196,7 @@
}
],
"flags": "PubSub|LowTrustUsers|RestrictedMessage|EventSub",
"frozen": true,
"id": "",
"localizedName": "",
"loginName": "nerixyz",
@@ -86,6 +86,7 @@
}
],
"flags": "LowTrustUsers|RestrictedMessage|EventSub",
"frozen": true,
"id": "",
"localizedName": "",
"loginName": "",
@@ -192,6 +193,7 @@
}
],
"flags": "PubSub|LowTrustUsers|RestrictedMessage|EventSub",
"frozen": true,
"id": "",
"localizedName": "",
"loginName": "nerixyz",
@@ -120,6 +120,7 @@
}
],
"flags": "System|DoNotTriggerNotification|EventSub|ModerationAction",
"frozen": true,
"id": "",
"localizedName": "",
"loginName": "uint128",
@@ -120,6 +120,7 @@
}
],
"flags": "System|DoNotTriggerNotification|EventSub|ModerationAction",
"frozen": true,
"id": "",
"localizedName": "",
"loginName": "uint128",
@@ -120,6 +120,7 @@
}
],
"flags": "System|DoNotTriggerNotification|EventSub|ModerationAction",
"frozen": true,
"id": "",
"localizedName": "",
"loginName": "uint128",
@@ -163,6 +163,7 @@
}
],
"flags": "Collapsed|Action",
"frozen": false,
"id": "90ef1e46-8baa-4bf2-9c54-272f39d6fa11",
"localizedName": "",
"loginName": "pajlada",
@@ -281,6 +281,7 @@
}
],
"flags": "Collapsed",
"frozen": false,
"id": "438b85cc-fa67-4c03-bc38-c4ec2527822c",
"localizedName": "",
"loginName": "nerixyz",
@@ -139,6 +139,7 @@
}
],
"flags": "Highlighted|Collapsed|Subscription",
"frozen": false,
"highlightColor": "#64c466ff",
"id": "8c26e1ab-b50c-4d9d-bc11-3fd57a941d90",
"localizedName": "",
@@ -203,6 +204,7 @@
}
],
"flags": "System|DoNotTriggerNotification|Subscription",
"frozen": false,
"id": "",
"localizedName": "",
"loginName": "",
@@ -131,6 +131,7 @@
}
],
"flags": "Collapsed",
"frozen": false,
"id": "7be87072-bf24-4fa3-b3df-0ea6fa5f1474",
"localizedName": "",
"loginName": "mm2pl",
@@ -131,6 +131,7 @@
}
],
"flags": "Collapsed",
"frozen": false,
"id": "7be87072-bf24-4fa3-b3df-0ea6fa5f1474",
"localizedName": "",
"loginName": "mm2pl",
@@ -108,6 +108,7 @@
}
],
"flags": "Collapsed",
"frozen": false,
"id": "",
"localizedName": "",
"loginName": "test",
@@ -108,6 +108,7 @@
}
],
"flags": "Collapsed",
"frozen": false,
"id": "",
"localizedName": "",
"loginName": "test",
@@ -215,6 +215,7 @@
}
],
"flags": "Collapsed",
"frozen": false,
"id": "546c42a6-21d0-4f3d-a6a0-c77f78d7b131",
"localizedName": "",
"loginName": "badgy",
@@ -216,6 +216,7 @@
}
],
"flags": "Collapsed",
"frozen": false,
"id": "546c42a6-21d0-4f3d-a6a0-c77f78d7b131",
"localizedName": "",
"loginName": "badgy",
@@ -78,6 +78,7 @@
}
],
"flags": "System|DoNotTriggerNotification|Subscription",
"frozen": false,
"id": "",
"localizedName": "",
"loginName": "",
@@ -409,6 +409,7 @@
}
],
"flags": "Collapsed|CheerMessage",
"frozen": false,
"id": "fd6c5507-3a4e-4d24-8f6e-fadf07f520d3",
"localizedName": "",
"loginName": "slyckity",
@@ -183,6 +183,7 @@
}
],
"flags": "Collapsed|CheerMessage",
"frozen": false,
"id": "fd6c5507-3a4e-4d24-8f6e-fadf07f520d3",
"localizedName": "",
"loginName": "slyckity",
@@ -166,6 +166,7 @@
}
],
"flags": "Collapsed|CheerMessage",
"frozen": false,
"id": "fd6c5507-3a4e-4d24-8f6e-fadf07f520d3",
"localizedName": "",
"loginName": "slyckity",
@@ -128,6 +128,7 @@
}
],
"flags": "Collapsed|CheerMessage",
"frozen": false,
"id": "60d8835b-23fa-418c-96ca-5874e5d5e8ba",
"localizedName": "",
"loginName": "exde_hun",
@@ -62,6 +62,7 @@
}
],
"flags": "System|DoNotTriggerNotification|ClearChat|ModerationAction",
"frozen": false,
"id": "",
"localizedName": "",
"loginName": "",
@@ -230,6 +231,7 @@
}
],
"flags": "Collapsed",
"frozen": false,
"id": "b4f3ac1d-6335-4567-bb8d-e76dfd83f7e3",
"localizedName": "",
"loginName": "pajlada",
@@ -60,6 +60,7 @@
}
],
"flags": "System|DoNotTriggerNotification|ClearChat|ModerationAction",
"frozen": false,
"id": "",
"localizedName": "",
"loginName": "",
@@ -62,6 +62,7 @@
}
],
"flags": "System|DoNotTriggerNotification|ClearChat|ModerationAction",
"frozen": false,
"id": "",
"localizedName": "",
"loginName": "",
@@ -60,6 +60,7 @@
}
],
"flags": "System|DoNotTriggerNotification|ClearChat|ModerationAction",
"frozen": false,
"id": "",
"localizedName": "",
"loginName": "",
@@ -117,6 +117,7 @@
}
],
"flags": "Collapsed",
"frozen": false,
"id": "97c28382-e8d2-45a0-bb5d-2305fc4ef139",
"localizedName": "테스트계정420",
"loginName": "testaccount_420",
@@ -127,6 +127,7 @@
}
],
"flags": "Collapsed",
"frozen": false,
"id": "97bb0dfb-a35f-446d-8634-7522d8ef73ed",
"localizedName": "",
"loginName": "nerixyz",
@@ -199,6 +199,7 @@
}
],
"flags": "Collapsed",
"frozen": false,
"id": "44f85d39-b5fb-475d-8555-f4244f2f7e82",
"localizedName": "",
"loginName": "pajlada",
@@ -131,6 +131,7 @@
}
],
"flags": "Collapsed",
"frozen": false,
"id": "9b1c3cb9-7817-47ea-add1-f9d4a9b4f846",
"localizedName": "",
"loginName": "mm2pl",
@@ -60,6 +60,7 @@
}
],
"flags": "System|DoNotTriggerNotification",
"frozen": false,
"id": "",
"localizedName": "",
"loginName": "",
@@ -169,6 +169,7 @@
}
],
"flags": "Collapsed",
"frozen": false,
"id": "7be87072-bf24-4fa3-b3df-0ea6fa5f1474",
"localizedName": "",
"loginName": "mm2pl",
@@ -337,6 +337,7 @@
}
],
"flags": "Collapsed",
"frozen": false,
"id": "23c8b81c-7c73-44e4-84f1-7d37e99714e4",
"localizedName": "",
"loginName": "nerixyz",

Some files were not shown because too many files have changed in this diff Show More