docs: unify documentation and streamline code comments
- Translated project documentation (LEARNING-JOURNEY, CONTRIBUTORS, AI_DISCLOSURE) to English for better accessibility. - Standardized internal code documentation by converting XML-doc blocks to standard comment format. - Cleaned up inline comments and removed redundant versioning metadata across the codebase. - Refactored non-functional text elements to improve readability and maintain a consistent style.
This commit is contained in:
@@ -26,10 +26,9 @@ public sealed class ExtraChat : IDisposable
|
||||
|
||||
internal (string, uint)? ChannelOverride { get; set; }
|
||||
|
||||
// Volatile reference: IPC callbacks (OnChannelCommandColours/OnChannelNames) fire on a
|
||||
// Dalamud-dispatcher thread while the ImGui thread reads the IReadOnlyDictionary projections.
|
||||
// Reference assignment is atomic on x64, but the JIT (especially Mono on Wine/Linux) needs
|
||||
// the volatile barrier to guarantee visibility across threads. See AUDIT-2026-05-05 [SEC-01].
|
||||
// volatile: IPC callbacks fire on a Dalamud thread while ImGui reads these.
|
||||
// Reference assignment is atomic on x64, but the barrier ensures visibility
|
||||
// across threads (especially Mono/Wine). See AUDIT-2026-05-05 [SEC-01].
|
||||
private volatile Dictionary<string, uint> ChannelCommandColoursInternal = new();
|
||||
internal IReadOnlyDictionary<string, uint> ChannelCommandColours =>
|
||||
ChannelCommandColoursInternal;
|
||||
@@ -54,6 +53,7 @@ public sealed class ExtraChat : IDisposable
|
||||
OverrideChannelGate.Subscribe(OnOverrideChannel);
|
||||
ChannelCommandColoursGate.Subscribe(OnChannelCommandColours);
|
||||
ChannelNamesGate.Subscribe(OnChannelNames);
|
||||
|
||||
try
|
||||
{
|
||||
ChannelCommandColoursInternal = ChannelCommandColoursGate.InvokeFunc(null!);
|
||||
@@ -61,7 +61,7 @@ public sealed class ExtraChat : IDisposable
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
// ExtraChat is optional; missing IPC peer is normal when the plugin isn't loaded.
|
||||
// ExtraChat is optional; IPC failure is normal when the plugin isn't loaded.
|
||||
Plugin.Log.Verbose(ex, "ExtraChat IPC initial state query failed (peer not loaded?)");
|
||||
}
|
||||
}
|
||||
@@ -75,22 +75,11 @@ public sealed class ExtraChat : IDisposable
|
||||
|
||||
private void OnOverrideChannel(OverrideInfo info)
|
||||
{
|
||||
if (info.Channel == null)
|
||||
{
|
||||
ChannelOverride = null;
|
||||
return;
|
||||
}
|
||||
|
||||
ChannelOverride = (info.Channel, info.Rgba);
|
||||
ChannelOverride = info.Channel == null ? null : (info.Channel, info.Rgba);
|
||||
}
|
||||
|
||||
private void OnChannelCommandColours(Dictionary<string, uint> obj)
|
||||
{
|
||||
private void OnChannelCommandColours(Dictionary<string, uint> obj) =>
|
||||
ChannelCommandColoursInternal = obj;
|
||||
}
|
||||
|
||||
private void OnChannelNames(Dictionary<Guid, string> obj)
|
||||
{
|
||||
ChannelNamesInternal = obj;
|
||||
}
|
||||
private void OnChannelNames(Dictionary<Guid, string> obj) => ChannelNamesInternal = obj;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user