mirror of
https://github.com/RedWizardsLab/EchoHub.git
synced 2026-09-04 00:26:07 +02:00
deploy: 2d5f8eeded
This commit is contained in:
@@ -182,8 +182,8 @@ Class ServerStatusDto <a class="header-action link-secondary" title="View sourc
|
||||
|
||||
<a id="EchoHub_Core_DTOs_ServerStatusDto__ctor_" data-uid="EchoHub.Core.DTOs.ServerStatusDto.#ctor*"></a>
|
||||
|
||||
<h3 id="EchoHub_Core_DTOs_ServerStatusDto__ctor_System_String_System_String_System_Int32_System_Int32_System_String_" data-uid="EchoHub.Core.DTOs.ServerStatusDto.#ctor(System.String,System.String,System.Int32,System.Int32,System.String)">
|
||||
ServerStatusDto(string, string?, int, int, string)
|
||||
<h3 id="EchoHub_Core_DTOs_ServerStatusDto__ctor_System_String_System_String_System_Int32_System_Int32_System_String_System_String_" data-uid="EchoHub.Core.DTOs.ServerStatusDto.#ctor(System.String,System.String,System.Int32,System.Int32,System.String,System.String)">
|
||||
ServerStatusDto(string, string?, int, int, string, string)
|
||||
<a class="header-action link-secondary" title="View source" href="https://github.com/HueByte/EchoHub/blob/master/src/EchoHub.Core/DTOs/ServerDtos.cs"><i class="bi bi-code-slash"></i></a>
|
||||
</h3>
|
||||
|
||||
@@ -191,7 +191,7 @@ Class ServerStatusDto <a class="header-action link-secondary" title="View sourc
|
||||
<div class="markdown level1 conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public ServerStatusDto(string Name, string? Description, int OnlineUsers, int TotalChannels, string RegistrationMode = "open")</code></pre>
|
||||
<pre><code class="lang-csharp hljs">public ServerStatusDto(string Name, string? Description, int OnlineUsers, int TotalChannels, string RegistrationMode = "open", string Version = "0.0.0")</code></pre>
|
||||
</div>
|
||||
|
||||
<h4 class="section">Parameters</h4>
|
||||
@@ -206,6 +206,8 @@ Class ServerStatusDto <a class="header-action link-secondary" title="View sourc
|
||||
<dd></dd>
|
||||
<dt><code>RegistrationMode</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
|
||||
<dd></dd>
|
||||
<dt><code>Version</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
|
||||
<dd></dd>
|
||||
</dl>
|
||||
|
||||
|
||||
@@ -409,14 +411,10 @@ Class ServerStatusDto <a class="header-action link-secondary" title="View sourc
|
||||
|
||||
|
||||
|
||||
<h2 class="section" id="methods">Methods
|
||||
</h2>
|
||||
<a id="EchoHub_Core_DTOs_ServerStatusDto_Version_" data-uid="EchoHub.Core.DTOs.ServerStatusDto.Version*"></a>
|
||||
|
||||
|
||||
<a id="EchoHub_Core_DTOs_ServerStatusDto_Deconstruct_" data-uid="EchoHub.Core.DTOs.ServerStatusDto.Deconstruct*"></a>
|
||||
|
||||
<h3 id="EchoHub_Core_DTOs_ServerStatusDto_Deconstruct_System_String__System_String__System_Int32__System_Int32__System_String__" data-uid="EchoHub.Core.DTOs.ServerStatusDto.Deconstruct(System.String@,System.String@,System.Int32@,System.Int32@,System.String@)">
|
||||
Deconstruct(out string, out string?, out int, out int, out string)
|
||||
<h3 id="EchoHub_Core_DTOs_ServerStatusDto_Version" data-uid="EchoHub.Core.DTOs.ServerStatusDto.Version">
|
||||
Version
|
||||
<a class="header-action link-secondary" title="View source" href="https://github.com/HueByte/EchoHub/blob/master/src/EchoHub.Core/DTOs/ServerDtos.cs"><i class="bi bi-code-slash"></i></a>
|
||||
</h3>
|
||||
|
||||
@@ -424,7 +422,42 @@ Class ServerStatusDto <a class="header-action link-secondary" title="View sourc
|
||||
<div class="markdown level1 conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public void Deconstruct(out string Name, out string? Description, out int OnlineUsers, out int TotalChannels, out string RegistrationMode)</code></pre>
|
||||
<pre><code class="lang-csharp hljs">public string Version { get; init; }</code></pre>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h4 class="section">Property Value</h4>
|
||||
<dl class="parameters">
|
||||
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
|
||||
<dd></dd>
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<h2 class="section" id="methods">Methods
|
||||
</h2>
|
||||
|
||||
|
||||
<a id="EchoHub_Core_DTOs_ServerStatusDto_Deconstruct_" data-uid="EchoHub.Core.DTOs.ServerStatusDto.Deconstruct*"></a>
|
||||
|
||||
<h3 id="EchoHub_Core_DTOs_ServerStatusDto_Deconstruct_System_String__System_String__System_Int32__System_Int32__System_String__System_String__" data-uid="EchoHub.Core.DTOs.ServerStatusDto.Deconstruct(System.String@,System.String@,System.Int32@,System.Int32@,System.String@,System.String@)">
|
||||
Deconstruct(out string, out string?, out int, out int, out string, out string)
|
||||
<a class="header-action link-secondary" title="View source" href="https://github.com/HueByte/EchoHub/blob/master/src/EchoHub.Core/DTOs/ServerDtos.cs"><i class="bi bi-code-slash"></i></a>
|
||||
</h3>
|
||||
|
||||
<div class="markdown level1 summary"></div>
|
||||
<div class="markdown level1 conceptual"></div>
|
||||
|
||||
<div class="codewrapper">
|
||||
<pre><code class="lang-csharp hljs">public void Deconstruct(out string Name, out string? Description, out int OnlineUsers, out int TotalChannels, out string RegistrationMode, out string Version)</code></pre>
|
||||
</div>
|
||||
|
||||
<h4 class="section">Parameters</h4>
|
||||
@@ -439,6 +472,8 @@ Class ServerStatusDto <a class="header-action link-secondary" title="View sourc
|
||||
<dd></dd>
|
||||
<dt><code>RegistrationMode</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
|
||||
<dd></dd>
|
||||
<dt><code>Version</code> <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
|
||||
<dd></dd>
|
||||
</dl>
|
||||
|
||||
|
||||
|
||||
@@ -201,7 +201,7 @@ Attachments are rendered as single link lines \u2014 the widely-supported IRC co
|
||||
<a class="header-action link-secondary" title="View source" href="https://github.com/HueByte/EchoHub/blob/master/src/EchoHub.Server.Irc/IrcMessageFormatter.cs"><i class="bi bi-code-slash"></i></a>
|
||||
</h3>
|
||||
|
||||
<div class="markdown level1 summary"><p>Split a message into chunks of approximately maxBytes (UTF-8), at word boundaries.</p>
|
||||
<div class="markdown level1 summary"><p>Split a message into chunks of approximately maxBytes (UTF-8), at line and word boundaries.</p>
|
||||
</div>
|
||||
<div class="markdown level1 conceptual"></div>
|
||||
|
||||
|
||||
@@ -90,6 +90,7 @@
|
||||
<p>Release history for EchoHub.</p>
|
||||
<h2 id="releases">Releases</h2>
|
||||
<ul>
|
||||
<li><a href="v0.2.17.html">v0.2.17</a> - Server Version Reporting & IRC Multi-Line Fix</li>
|
||||
<li><a href="v0.2.16.html">v0.2.16</a> - Periodic Server-Stats Report, Upload & Moderation Logging & Quieter Connection Logs</li>
|
||||
<li><a href="v0.2.15.html">v0.2.15</a> - Invite Codes, Data Export & Deletion, /me, /banner, Replies, Open Images In Browser & IRC Image Links</li>
|
||||
<li><a href="v0.2.14.html">v0.2.14</a> - Clipboard Image & Multi-File Paste, E2E Room Unlock Fixes, Encrypted Key Cache & IRC Gateway Polish</li>
|
||||
|
||||
@@ -15,6 +15,9 @@
|
||||
<li>
|
||||
<a href="index.html" name="" title="Overview">Overview</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="v0.2.17.html" name="" title="v0.2.17">v0.2.17</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="v0.2.16.html" name="" title="v0.2.16">v0.2.16</a>
|
||||
</li>
|
||||
|
||||
+1
-1
@@ -1,2 +1,2 @@
|
||||
|
||||
{"items":[{"name":"Overview","href":"index.html","topicHref":"index.html"},{"name":"v0.2.16","href":"v0.2.16.html","topicHref":"v0.2.16.html"},{"name":"v0.2.15","href":"v0.2.15.html","topicHref":"v0.2.15.html"},{"name":"v0.2.14","href":"v0.2.14.html","topicHref":"v0.2.14.html"},{"name":"v0.2.13","href":"v0.2.13.html","topicHref":"v0.2.13.html"},{"name":"v0.2.12","href":"v0.2.12.html","topicHref":"v0.2.12.html"},{"name":"v0.2.11","href":"v0.2.11.html","topicHref":"v0.2.11.html"},{"name":"v0.2.10","href":"v0.2.10.html","topicHref":"v0.2.10.html"},{"name":"v0.2.9","href":"v0.2.9.html","topicHref":"v0.2.9.html"},{"name":"v0.2.8","href":"v0.2.8.html","topicHref":"v0.2.8.html"},{"name":"v0.2.7","href":"v0.2.7.html","topicHref":"v0.2.7.html"},{"name":"v0.2.6","href":"v0.2.6.html","topicHref":"v0.2.6.html"},{"name":"v0.2.5","href":"v0.2.5.html","topicHref":"v0.2.5.html"},{"name":"v0.2.4","href":"v0.2.4.html","topicHref":"v0.2.4.html"},{"name":"v0.2.3","href":"v0.2.3.html","topicHref":"v0.2.3.html"},{"name":"v0.2.2","href":"v0.2.2.html","topicHref":"v0.2.2.html"},{"name":"v0.2.1","href":"v0.2.1.html","topicHref":"v0.2.1.html"},{"name":"v0.2.0","href":"v0.2.0.html","topicHref":"v0.2.0.html"},{"name":"v0.1.1","href":"v0.1.1.html","topicHref":"v0.1.1.html"},{"name":"v0.1.0","href":"v0.1.0.html","topicHref":"v0.1.0.html"}]}
|
||||
{"items":[{"name":"Overview","href":"index.html","topicHref":"index.html"},{"name":"v0.2.17","href":"v0.2.17.html","topicHref":"v0.2.17.html"},{"name":"v0.2.16","href":"v0.2.16.html","topicHref":"v0.2.16.html"},{"name":"v0.2.15","href":"v0.2.15.html","topicHref":"v0.2.15.html"},{"name":"v0.2.14","href":"v0.2.14.html","topicHref":"v0.2.14.html"},{"name":"v0.2.13","href":"v0.2.13.html","topicHref":"v0.2.13.html"},{"name":"v0.2.12","href":"v0.2.12.html","topicHref":"v0.2.12.html"},{"name":"v0.2.11","href":"v0.2.11.html","topicHref":"v0.2.11.html"},{"name":"v0.2.10","href":"v0.2.10.html","topicHref":"v0.2.10.html"},{"name":"v0.2.9","href":"v0.2.9.html","topicHref":"v0.2.9.html"},{"name":"v0.2.8","href":"v0.2.8.html","topicHref":"v0.2.8.html"},{"name":"v0.2.7","href":"v0.2.7.html","topicHref":"v0.2.7.html"},{"name":"v0.2.6","href":"v0.2.6.html","topicHref":"v0.2.6.html"},{"name":"v0.2.5","href":"v0.2.5.html","topicHref":"v0.2.5.html"},{"name":"v0.2.4","href":"v0.2.4.html","topicHref":"v0.2.4.html"},{"name":"v0.2.3","href":"v0.2.3.html","topicHref":"v0.2.3.html"},{"name":"v0.2.2","href":"v0.2.2.html","topicHref":"v0.2.2.html"},{"name":"v0.2.1","href":"v0.2.1.html","topicHref":"v0.2.1.html"},{"name":"v0.2.0","href":"v0.2.0.html","topicHref":"v0.2.0.html"},{"name":"v0.1.1","href":"v0.1.1.html","topicHref":"v0.1.1.html"},{"name":"v0.1.0","href":"v0.1.0.html","topicHref":"v0.1.0.html"}]}
|
||||
|
||||
@@ -0,0 +1,124 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>v0.2.17 | EchoHub Documentation </title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="v0.2.17 | EchoHub Documentation ">
|
||||
|
||||
|
||||
<link rel="icon" href="../images/hue_icon.svg">
|
||||
<link rel="stylesheet" href="../public/docfx.min.css">
|
||||
<link rel="stylesheet" href="../public/main.css">
|
||||
<meta name="docfx:navrel" content="../toc.html">
|
||||
<meta name="docfx:tocrel" content="toc.html">
|
||||
|
||||
<meta name="docfx:rel" content="../">
|
||||
|
||||
|
||||
<meta name="docfx:docurl" content="https://github.com/HueByte/EchoHub/blob/master/docs/#L1">
|
||||
<meta name="loc:inThisArticle" content="In this article">
|
||||
<meta name="loc:searchResultsCount" content="{count} results for "{query}"">
|
||||
<meta name="loc:searchNoResults" content="No results for "{query}"">
|
||||
<meta name="loc:tocFilter" content="Filter by title">
|
||||
<meta name="loc:nextArticle" content="Next">
|
||||
<meta name="loc:prevArticle" content="Previous">
|
||||
<meta name="loc:themeLight" content="Light">
|
||||
<meta name="loc:themeDark" content="Dark">
|
||||
<meta name="loc:themeAuto" content="Auto">
|
||||
<meta name="loc:changeTheme" content="Change theme">
|
||||
<meta name="loc:copy" content="Copy">
|
||||
<meta name="loc:downloadPdf" content="Download PDF">
|
||||
|
||||
<script type="module" src="./../public/docfx.min.js"></script>
|
||||
|
||||
<script>
|
||||
const theme = localStorage.getItem('theme') || 'auto'
|
||||
document.documentElement.setAttribute('data-bs-theme', theme === 'auto' ? (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light') : theme)
|
||||
</script>
|
||||
|
||||
</head>
|
||||
|
||||
<body class="tex2jax_ignore" data-layout="" data-yaml-mime="">
|
||||
<header class="bg-body border-bottom">
|
||||
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
|
||||
<div class="container-xxl flex-nowrap">
|
||||
<a class="navbar-brand" href="../index.html">
|
||||
<img id="logo" class="svg" src="../images/hue_icon.svg" alt="EchoHub">
|
||||
EchoHub
|
||||
</a>
|
||||
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<i class="bi bi-three-dots"></i>
|
||||
</button>
|
||||
<div class="collapse navbar-collapse" id="navpanel">
|
||||
<div id="navbar">
|
||||
<form class="search" role="search" id="search">
|
||||
<i class="bi bi-search"></i>
|
||||
<input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<main class="container-xxl">
|
||||
<div class="toc-offcanvas">
|
||||
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
|
||||
<div class="offcanvas-header">
|
||||
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="offcanvas-body">
|
||||
<nav class="toc" id="toc"></nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="content">
|
||||
<div class="actionbar">
|
||||
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
|
||||
<i class="bi bi-list"></i>
|
||||
</button>
|
||||
|
||||
<nav id="breadcrumb"></nav>
|
||||
</div>
|
||||
|
||||
<article data-uid="">
|
||||
<h1 id="v0217">v0.2.17</h1>
|
||||
|
||||
<h2 id="new-features">New Features</h2>
|
||||
<ul>
|
||||
<li><strong>Server version reporting</strong> — <code>GET /api/server/info</code> now returns the server version. The client fetches it on connect and shows a warning dialog when the server and client versions don't match, with the option to continue or disconnect.</li>
|
||||
</ul>
|
||||
<h2 id="bug-fixes">Bug Fixes</h2>
|
||||
<ul>
|
||||
<li><strong>IRC multi-line messages</strong> — sending a message with line breaks from the TUI now correctly delivers each line as a separate PRIVMSG to IRC clients. Previously newlines were embedded raw in the IRC frame, so IRC clients silently dropped everything after the first line — most visibly, a link on its own line disappeared while its embed preview still showed.</li>
|
||||
</ul>
|
||||
|
||||
</article>
|
||||
|
||||
<div class="contribution d-print-none">
|
||||
<a href="https://github.com/HueByte/EchoHub/blob/master/docs/#L1" class="edit-link">Edit this page</a>
|
||||
</div>
|
||||
|
||||
<div class="next-article d-print-none border-top" id="nextArticle"></div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="affix">
|
||||
<nav id="affix"></nav>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<div class="container-xxl search-results" id="search-results"></div>
|
||||
|
||||
<footer class="border-top text-secondary">
|
||||
<div class="container-xxl">
|
||||
<div class="flex-fill">
|
||||
<div class='footer-custom'><div class='footer-inner'><span class='footer-brand'>EchoHub</span><span class='footer-sep'>·</span><a href='https://github.com/HueByte/EchoHub'>GitHub</a><span class='footer-sep'>·</span><a href='https://echohub.voidcube.cloud'>Website</a></div></div>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
||||
+8
-3
@@ -602,7 +602,7 @@
|
||||
"api/core/EchoHub.Core.DTOs.ServerStatusDto.html": {
|
||||
"href": "api/core/EchoHub.Core.DTOs.ServerStatusDto.html",
|
||||
"title": "Class ServerStatusDto | EchoHub Documentation",
|
||||
"summary": "Class ServerStatusDto Namespace EchoHub.Core.DTOs Assembly EchoHub.Core.dll public record ServerStatusDto : IEquatable<ServerStatusDto> Inheritance object ServerStatusDto Implements IEquatable<ServerStatusDto> Inherited Members object.GetType() object.MemberwiseClone() object.Equals(object, object) object.ReferenceEquals(object, object) Constructors ServerStatusDto(ServerStatusDto) protected ServerStatusDto(ServerStatusDto original) Parameters original ServerStatusDto ServerStatusDto(string, string?, int, int, string) public ServerStatusDto(string Name, string? Description, int OnlineUsers, int TotalChannels, string RegistrationMode = \"open\") Parameters Name string Description string OnlineUsers int TotalChannels int RegistrationMode string Properties Description public string? Description { get; init; } Property Value string EqualityContract protected virtual Type EqualityContract { get; } Property Value Type Name public string Name { get; init; } Property Value string OnlineUsers public int OnlineUsers { get; init; } Property Value int RegistrationMode public string RegistrationMode { get; init; } Property Value string TotalChannels public int TotalChannels { get; init; } Property Value int Methods Deconstruct(out string, out string?, out int, out int, out string) public void Deconstruct(out string Name, out string? Description, out int OnlineUsers, out int TotalChannels, out string RegistrationMode) Parameters Name string Description string OnlineUsers int TotalChannels int RegistrationMode string Equals(ServerStatusDto?) public virtual bool Equals(ServerStatusDto? other) Parameters other ServerStatusDto Returns bool Equals(object?) public override bool Equals(object? obj) Parameters obj object Returns bool GetHashCode() public override int GetHashCode() Returns int PrintMembers(StringBuilder) protected virtual bool PrintMembers(StringBuilder builder) Parameters builder StringBuilder Returns bool ToString() public override string ToString() Returns string Operators operator ==(ServerStatusDto?, ServerStatusDto?) public static bool operator ==(ServerStatusDto? left, ServerStatusDto? right) Parameters left ServerStatusDto right ServerStatusDto Returns bool operator !=(ServerStatusDto?, ServerStatusDto?) public static bool operator !=(ServerStatusDto? left, ServerStatusDto? right) Parameters left ServerStatusDto right ServerStatusDto Returns bool"
|
||||
"summary": "Class ServerStatusDto Namespace EchoHub.Core.DTOs Assembly EchoHub.Core.dll public record ServerStatusDto : IEquatable<ServerStatusDto> Inheritance object ServerStatusDto Implements IEquatable<ServerStatusDto> Inherited Members object.GetType() object.MemberwiseClone() object.Equals(object, object) object.ReferenceEquals(object, object) Constructors ServerStatusDto(ServerStatusDto) protected ServerStatusDto(ServerStatusDto original) Parameters original ServerStatusDto ServerStatusDto(string, string?, int, int, string, string) public ServerStatusDto(string Name, string? Description, int OnlineUsers, int TotalChannels, string RegistrationMode = \"open\", string Version = \"0.0.0\") Parameters Name string Description string OnlineUsers int TotalChannels int RegistrationMode string Version string Properties Description public string? Description { get; init; } Property Value string EqualityContract protected virtual Type EqualityContract { get; } Property Value Type Name public string Name { get; init; } Property Value string OnlineUsers public int OnlineUsers { get; init; } Property Value int RegistrationMode public string RegistrationMode { get; init; } Property Value string TotalChannels public int TotalChannels { get; init; } Property Value int Version public string Version { get; init; } Property Value string Methods Deconstruct(out string, out string?, out int, out int, out string, out string) public void Deconstruct(out string Name, out string? Description, out int OnlineUsers, out int TotalChannels, out string RegistrationMode, out string Version) Parameters Name string Description string OnlineUsers int TotalChannels int RegistrationMode string Version string Equals(ServerStatusDto?) public virtual bool Equals(ServerStatusDto? other) Parameters other ServerStatusDto Returns bool Equals(object?) public override bool Equals(object? obj) Parameters obj object Returns bool GetHashCode() public override int GetHashCode() Returns int PrintMembers(StringBuilder) protected virtual bool PrintMembers(StringBuilder builder) Parameters builder StringBuilder Returns bool ToString() public override string ToString() Returns string Operators operator ==(ServerStatusDto?, ServerStatusDto?) public static bool operator ==(ServerStatusDto? left, ServerStatusDto? right) Parameters left ServerStatusDto right ServerStatusDto Returns bool operator !=(ServerStatusDto?, ServerStatusDto?) public static bool operator !=(ServerStatusDto? left, ServerStatusDto? right) Parameters left ServerStatusDto right ServerStatusDto Returns bool"
|
||||
},
|
||||
"api/core/EchoHub.Core.DTOs.UpdateProfileRequest.html": {
|
||||
"href": "api/core/EchoHub.Core.DTOs.UpdateProfileRequest.html",
|
||||
@@ -792,7 +792,7 @@
|
||||
"api/server-irc/EchoHub.Server.Irc.IrcMessageFormatter.html": {
|
||||
"href": "api/server-irc/EchoHub.Server.Irc.IrcMessageFormatter.html",
|
||||
"title": "Class IrcMessageFormatter | EchoHub Documentation",
|
||||
"summary": "Class IrcMessageFormatter Namespace EchoHub.Server.Irc Assembly EchoHub.Server.Irc.dll public static class IrcMessageFormatter Inheritance object IrcMessageFormatter Inherited Members object.GetType() object.MemberwiseClone() object.ToString() object.Equals(object) object.Equals(object, object) object.ReferenceEquals(object, object) object.GetHashCode() Methods FormatMessage(MessageDto, string?) Format a MessageDto as one or more IRC PRIVMSG lines. Attachments are rendered as single link lines \\u2014 the widely-supported IRC convention (clients auto-preview or open plain http(s) URLs) \\u2014 never as terminal color art. publicBaseUrl makes the links absolute so any IRC client can open them. public static List<string> FormatMessage(MessageDto message, string? publicBaseUrl = null) Parameters message MessageDto publicBaseUrl string Returns List<string> SplitMessage(string, int) Split a message into chunks of approximately maxBytes (UTF-8), at word boundaries. public static List<string> SplitMessage(string content, int maxBytes) Parameters content string maxBytes int Returns List<string> ToAbsoluteUrl(string, string?) Joins a relative attachment path onto the configured public base URL. Already-absolute URLs and unset base URLs pass through unchanged. public static string ToAbsoluteUrl(string url, string? publicBaseUrl) Parameters url string publicBaseUrl string Returns string"
|
||||
"summary": "Class IrcMessageFormatter Namespace EchoHub.Server.Irc Assembly EchoHub.Server.Irc.dll public static class IrcMessageFormatter Inheritance object IrcMessageFormatter Inherited Members object.GetType() object.MemberwiseClone() object.ToString() object.Equals(object) object.Equals(object, object) object.ReferenceEquals(object, object) object.GetHashCode() Methods FormatMessage(MessageDto, string?) Format a MessageDto as one or more IRC PRIVMSG lines. Attachments are rendered as single link lines \\u2014 the widely-supported IRC convention (clients auto-preview or open plain http(s) URLs) \\u2014 never as terminal color art. publicBaseUrl makes the links absolute so any IRC client can open them. public static List<string> FormatMessage(MessageDto message, string? publicBaseUrl = null) Parameters message MessageDto publicBaseUrl string Returns List<string> SplitMessage(string, int) Split a message into chunks of approximately maxBytes (UTF-8), at line and word boundaries. public static List<string> SplitMessage(string content, int maxBytes) Parameters content string maxBytes int Returns List<string> ToAbsoluteUrl(string, string?) Joins a relative attachment path onto the configured public base URL. Already-absolute URLs and unset base URLs pass through unchanged. public static string ToAbsoluteUrl(string url, string? publicBaseUrl) Parameters url string publicBaseUrl string Returns string"
|
||||
},
|
||||
"api/server-irc/EchoHub.Server.Irc.IrcNumericReply.html": {
|
||||
"href": "api/server-irc/EchoHub.Server.Irc.IrcNumericReply.html",
|
||||
@@ -1187,7 +1187,7 @@
|
||||
"changelog/index.html": {
|
||||
"href": "changelog/index.html",
|
||||
"title": "Changelog | EchoHub Documentation",
|
||||
"summary": "Changelog Release history for EchoHub. Releases v0.2.16 - Periodic Server-Stats Report, Upload & Moderation Logging & Quieter Connection Logs v0.2.15 - Invite Codes, Data Export & Deletion, /me, /banner, Replies, Open Images In Browser & IRC Image Links v0.2.14 - Clipboard Image & Multi-File Paste, E2E Room Unlock Fixes, Encrypted Key Cache & IRC Gateway Polish v0.2.13 - Chat Visual Overhaul, Auto-Join All Channels & Persistent Read Positions v0.2.12 - End-to-End Encrypted Channels, IRC Channel Keys, Image Save & Ctrl+W Crash Fix v0.2.11 - EchoHubSpace Auth, Live Directory Updates & Server Browser Metadata v0.2.10 - Command Palette, Infinite History Scroll & Auto-Updater Fixes v0.2.9 - Install Script & Chocolatey Fixes v0.2.8 - Docker Support, IRC Account Creation & BOM Fix v0.2.7 - User List Fix & Terminal.Gui NuGet Migration v0.2.6 - Major Refactoring & Code Organization v0.2.5 - Session Persistence, Auto-Updates, Audio & Transparent Theme v0.2.4 - E2E Message Encryption v0.2.3 - Moderation, Embeds & UI Overhaul v0.2.2 - Startup & Shutdown Fixes v0.2.1 - Shutdown & CI Fixes v0.2.0 - IRC Gateway v0.1.1 - Directory Connection Self-Healing v0.1.0 - Initial Release"
|
||||
"summary": "Changelog Release history for EchoHub. Releases v0.2.17 - Server Version Reporting & IRC Multi-Line Fix v0.2.16 - Periodic Server-Stats Report, Upload & Moderation Logging & Quieter Connection Logs v0.2.15 - Invite Codes, Data Export & Deletion, /me, /banner, Replies, Open Images In Browser & IRC Image Links v0.2.14 - Clipboard Image & Multi-File Paste, E2E Room Unlock Fixes, Encrypted Key Cache & IRC Gateway Polish v0.2.13 - Chat Visual Overhaul, Auto-Join All Channels & Persistent Read Positions v0.2.12 - End-to-End Encrypted Channels, IRC Channel Keys, Image Save & Ctrl+W Crash Fix v0.2.11 - EchoHubSpace Auth, Live Directory Updates & Server Browser Metadata v0.2.10 - Command Palette, Infinite History Scroll & Auto-Updater Fixes v0.2.9 - Install Script & Chocolatey Fixes v0.2.8 - Docker Support, IRC Account Creation & BOM Fix v0.2.7 - User List Fix & Terminal.Gui NuGet Migration v0.2.6 - Major Refactoring & Code Organization v0.2.5 - Session Persistence, Auto-Updates, Audio & Transparent Theme v0.2.4 - E2E Message Encryption v0.2.3 - Moderation, Embeds & UI Overhaul v0.2.2 - Startup & Shutdown Fixes v0.2.1 - Shutdown & CI Fixes v0.2.0 - IRC Gateway v0.1.1 - Directory Connection Self-Healing v0.1.0 - Initial Release"
|
||||
},
|
||||
"changelog/v0.1.0.html": {
|
||||
"href": "changelog/v0.1.0.html",
|
||||
@@ -1244,6 +1244,11 @@
|
||||
"title": "v0.2.16 | EchoHub Documentation",
|
||||
"summary": "v0.2.16 A logging and observability pass built on the new server-logs room. Busy servers stop drowning in connect/disconnect noise, the events operators actually care about — uploads, moderation actions — now get logged, and a new periodic report summarizes server activity as pretty-printed JSON that streams into the logs room and is saved to the database for history. New Features Periodic server-stats report — every 6 hours (configurable), the server logs an aggregate activity snapshot as pretty-printed JSON and saves it to the database. Each report covers the window since the previous one: messages sent, files uploaded (and total bytes), new members, active members (distinct senders), session connections/disconnections, kicks, bans, total registered members, users online now, and peak concurrent online. Reports also stream into the live server-logs room, and old ones are pruned past a configurable retention. New Stats config section (Stats:Enabled, Stats:IntervalHours = 6, Stats:RetentionDays = 90). Upload logging — every file, image, and audio upload is now logged with its resource URL (/api/files/{id}), kind, size, uploader, and channel. In end-to-end encrypted rooms the filename is client-side ciphertext, so it's logged as [encrypted] — the server still never sees room content. Moderation & user-action logging — role changes, kicks, bans, unbans, mutes, unmutes, moderator message removals, and channel nukes are now logged with the actor, target, and reason. Bans and channel nukes log at Warning level so they stand out. Improvements Quieter connection logs — user connect, disconnect, join-channel, and leave-channel events (over both SignalR and IRC) dropped from Information to Debug. On a busy server these fired constantly and buried everything else; the aggregate counts now live in the periodic stats report instead. They still show in Development, where the default level is Debug. Config examples stay in sync — .env.example gained the ServerLogs and Stats sections (the former had been missing), alongside appsettings.json / appsettings.example.json. Notes for server operators New config section: Stats — Enabled (default true), IntervalHours (default 6), RetentionDays (default 90, 0 keeps reports forever). See appsettings.example.json and .env.example. A non-positive interval falls back to 6h; positive values are honored down to a 1-second floor. One new database migration (AddServerStatsReports) applies automatically on startup. Connect/disconnect/join/leave now log at Debug — if you relied on those Information lines, lower Serilog:MinimumLevel:Default (or ServerLogs:MinLevel for the room) to Debug, or read the periodic stats report for aggregates."
|
||||
},
|
||||
"changelog/v0.2.17.html": {
|
||||
"href": "changelog/v0.2.17.html",
|
||||
"title": "v0.2.17 | EchoHub Documentation",
|
||||
"summary": "v0.2.17 New Features Server version reporting — GET /api/server/info now returns the server version. The client fetches it on connect and shows a warning dialog when the server and client versions don't match, with the option to continue or disconnect. Bug Fixes IRC multi-line messages — sending a message with line breaks from the TUI now correctly delivers each line as a separate PRIVMSG to IRC clients. Previously newlines were embedded raw in the IRC frame, so IRC clients silently dropped everything after the first line — most visibly, a link on its own line disappeared while its embed preview still showed."
|
||||
},
|
||||
"changelog/v0.2.2.html": {
|
||||
"href": "changelog/v0.2.2.html",
|
||||
"title": "v0.2.2 - Startup & Shutdown Fixes | EchoHub Documentation",
|
||||
|
||||
@@ -4926,6 +4926,16 @@
|
||||
},
|
||||
"version": ""
|
||||
},
|
||||
{
|
||||
"type": "Conceptual",
|
||||
"source_relative_path": "changelog/v0.2.17.md",
|
||||
"output": {
|
||||
".html": {
|
||||
"relative_path": "changelog/v0.2.17.html"
|
||||
}
|
||||
},
|
||||
"version": ""
|
||||
},
|
||||
{
|
||||
"type": "Conceptual",
|
||||
"source_relative_path": "changelog/v0.2.2.md",
|
||||
|
||||
+30
-18
@@ -15388,15 +15388,15 @@ references:
|
||||
fullName.vb: EchoHub.Core.DTOs.ServerStatusDto.New(EchoHub.Core.DTOs.ServerStatusDto)
|
||||
nameWithType: ServerStatusDto.ServerStatusDto(ServerStatusDto)
|
||||
nameWithType.vb: ServerStatusDto.New(ServerStatusDto)
|
||||
- uid: EchoHub.Core.DTOs.ServerStatusDto.#ctor(System.String,System.String,System.Int32,System.Int32,System.String)
|
||||
name: ServerStatusDto(string, string?, int, int, string)
|
||||
href: api/core/EchoHub.Core.DTOs.ServerStatusDto.html#EchoHub_Core_DTOs_ServerStatusDto__ctor_System_String_System_String_System_Int32_System_Int32_System_String_
|
||||
commentId: M:EchoHub.Core.DTOs.ServerStatusDto.#ctor(System.String,System.String,System.Int32,System.Int32,System.String)
|
||||
name.vb: New(String, String, Integer, Integer, String)
|
||||
fullName: EchoHub.Core.DTOs.ServerStatusDto.ServerStatusDto(string, string?, int, int, string)
|
||||
fullName.vb: EchoHub.Core.DTOs.ServerStatusDto.New(String, String, Integer, Integer, String)
|
||||
nameWithType: ServerStatusDto.ServerStatusDto(string, string?, int, int, string)
|
||||
nameWithType.vb: ServerStatusDto.New(String, String, Integer, Integer, String)
|
||||
- uid: EchoHub.Core.DTOs.ServerStatusDto.#ctor(System.String,System.String,System.Int32,System.Int32,System.String,System.String)
|
||||
name: ServerStatusDto(string, string?, int, int, string, string)
|
||||
href: api/core/EchoHub.Core.DTOs.ServerStatusDto.html#EchoHub_Core_DTOs_ServerStatusDto__ctor_System_String_System_String_System_Int32_System_Int32_System_String_System_String_
|
||||
commentId: M:EchoHub.Core.DTOs.ServerStatusDto.#ctor(System.String,System.String,System.Int32,System.Int32,System.String,System.String)
|
||||
name.vb: New(String, String, Integer, Integer, String, String)
|
||||
fullName: EchoHub.Core.DTOs.ServerStatusDto.ServerStatusDto(string, string?, int, int, string, string)
|
||||
fullName.vb: EchoHub.Core.DTOs.ServerStatusDto.New(String, String, Integer, Integer, String, String)
|
||||
nameWithType: ServerStatusDto.ServerStatusDto(string, string?, int, int, string, string)
|
||||
nameWithType.vb: ServerStatusDto.New(String, String, Integer, Integer, String, String)
|
||||
- uid: EchoHub.Core.DTOs.ServerStatusDto.#ctor*
|
||||
name: ServerStatusDto
|
||||
href: api/core/EchoHub.Core.DTOs.ServerStatusDto.html#EchoHub_Core_DTOs_ServerStatusDto__ctor_
|
||||
@@ -15406,15 +15406,15 @@ references:
|
||||
fullName.vb: EchoHub.Core.DTOs.ServerStatusDto.New
|
||||
nameWithType: ServerStatusDto.ServerStatusDto
|
||||
nameWithType.vb: ServerStatusDto.New
|
||||
- uid: EchoHub.Core.DTOs.ServerStatusDto.Deconstruct(System.String@,System.String@,System.Int32@,System.Int32@,System.String@)
|
||||
name: Deconstruct(out string, out string?, out int, out int, out string)
|
||||
href: api/core/EchoHub.Core.DTOs.ServerStatusDto.html#EchoHub_Core_DTOs_ServerStatusDto_Deconstruct_System_String__System_String__System_Int32__System_Int32__System_String__
|
||||
commentId: M:EchoHub.Core.DTOs.ServerStatusDto.Deconstruct(System.String@,System.String@,System.Int32@,System.Int32@,System.String@)
|
||||
name.vb: Deconstruct(String, String, Integer, Integer, String)
|
||||
fullName: EchoHub.Core.DTOs.ServerStatusDto.Deconstruct(out string, out string?, out int, out int, out string)
|
||||
fullName.vb: EchoHub.Core.DTOs.ServerStatusDto.Deconstruct(String, String, Integer, Integer, String)
|
||||
nameWithType: ServerStatusDto.Deconstruct(out string, out string?, out int, out int, out string)
|
||||
nameWithType.vb: ServerStatusDto.Deconstruct(String, String, Integer, Integer, String)
|
||||
- uid: EchoHub.Core.DTOs.ServerStatusDto.Deconstruct(System.String@,System.String@,System.Int32@,System.Int32@,System.String@,System.String@)
|
||||
name: Deconstruct(out string, out string?, out int, out int, out string, out string)
|
||||
href: api/core/EchoHub.Core.DTOs.ServerStatusDto.html#EchoHub_Core_DTOs_ServerStatusDto_Deconstruct_System_String__System_String__System_Int32__System_Int32__System_String__System_String__
|
||||
commentId: M:EchoHub.Core.DTOs.ServerStatusDto.Deconstruct(System.String@,System.String@,System.Int32@,System.Int32@,System.String@,System.String@)
|
||||
name.vb: Deconstruct(String, String, Integer, Integer, String, String)
|
||||
fullName: EchoHub.Core.DTOs.ServerStatusDto.Deconstruct(out string, out string?, out int, out int, out string, out string)
|
||||
fullName.vb: EchoHub.Core.DTOs.ServerStatusDto.Deconstruct(String, String, Integer, Integer, String, String)
|
||||
nameWithType: ServerStatusDto.Deconstruct(out string, out string?, out int, out int, out string, out string)
|
||||
nameWithType.vb: ServerStatusDto.Deconstruct(String, String, Integer, Integer, String, String)
|
||||
- uid: EchoHub.Core.DTOs.ServerStatusDto.Deconstruct*
|
||||
name: Deconstruct
|
||||
href: api/core/EchoHub.Core.DTOs.ServerStatusDto.html#EchoHub_Core_DTOs_ServerStatusDto_Deconstruct_
|
||||
@@ -15553,6 +15553,18 @@ references:
|
||||
commentId: Overload:EchoHub.Core.DTOs.ServerStatusDto.TotalChannels
|
||||
fullName: EchoHub.Core.DTOs.ServerStatusDto.TotalChannels
|
||||
nameWithType: ServerStatusDto.TotalChannels
|
||||
- uid: EchoHub.Core.DTOs.ServerStatusDto.Version
|
||||
name: Version
|
||||
href: api/core/EchoHub.Core.DTOs.ServerStatusDto.html#EchoHub_Core_DTOs_ServerStatusDto_Version
|
||||
commentId: P:EchoHub.Core.DTOs.ServerStatusDto.Version
|
||||
fullName: EchoHub.Core.DTOs.ServerStatusDto.Version
|
||||
nameWithType: ServerStatusDto.Version
|
||||
- uid: EchoHub.Core.DTOs.ServerStatusDto.Version*
|
||||
name: Version
|
||||
href: api/core/EchoHub.Core.DTOs.ServerStatusDto.html#EchoHub_Core_DTOs_ServerStatusDto_Version_
|
||||
commentId: Overload:EchoHub.Core.DTOs.ServerStatusDto.Version
|
||||
fullName: EchoHub.Core.DTOs.ServerStatusDto.Version
|
||||
nameWithType: ServerStatusDto.Version
|
||||
- uid: EchoHub.Core.DTOs.ServerStatusDto.op_Equality(EchoHub.Core.DTOs.ServerStatusDto,EchoHub.Core.DTOs.ServerStatusDto)
|
||||
name: operator ==(ServerStatusDto?, ServerStatusDto?)
|
||||
href: api/core/EchoHub.Core.DTOs.ServerStatusDto.html#EchoHub_Core_DTOs_ServerStatusDto_op_Equality_EchoHub_Core_DTOs_ServerStatusDto_EchoHub_Core_DTOs_ServerStatusDto_
|
||||
|
||||
Reference in New Issue
Block a user