<feed xmlns='http://www.w3.org/2005/Atom'>
<title>LunaticChat.git/website/src/docs/features/velocity.md, branch main</title>
<subtitle>A next-generation chat plugin for Paper, Folia and Velocity.
</subtitle>
<link rel='alternate' type='text/html' href='https://openpgpkey.dangofactory.net/cgit/cgit.cgi/LunaticChat.git/'/>
<entry>
<title>docs: name both plugin versions for cross-server direct messages</title>
<updated>2026-08-05T10:46:16+00:00</updated>
<author>
<name>Sho Sakuma</name>
<email>me@m1sk9.dev</email>
</author>
<published>2026-08-05T10:46:16+00:00</published>
<link rel='alternate' type='text/html' href='https://openpgpkey.dangofactory.net/cgit/cgit.cgi/LunaticChat.git/commit/?id=639173db48d037ffa5c084d089e5fc7d85d71d80'/>
<id>639173db48d037ffa5c084d089e5fc7d85d71d80</id>
<content type='text'>
The badge read `v1.3.0~`, pointing at a Velocity release that does not exist.
The feature needs both halves, and the Velocity half first shipped as 1.2.0
inside the unified v1.3.0 release, so a reader hunting for Velocity v1.3.0 finds
nothing and cannot tell which proxy build carries the relay.

Also refreshes the gradle.properties example, which still showed the versions
current when it was written.

Co-Authored-By: Claude &lt;noreply@anthropic.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The badge read `v1.3.0~`, pointing at a Velocity release that does not exist.
The feature needs both halves, and the Velocity half first shipped as 1.2.0
inside the unified v1.3.0 release, so a reader hunting for Velocity v1.3.0 finds
nothing and cannot tell which proxy build carries the relay.

Also refreshes the gradle.properties example, which still showed the versions
current when it was written.

Co-Authored-By: Claude &lt;noreply@anthropic.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>docs: correct the cross-server DM server name and two related claims</title>
<updated>2026-08-04T19:51:22+00:00</updated>
<author>
<name>Sho Sakuma</name>
<email>me@m1sk9.dev</email>
</author>
<published>2026-08-04T19:51:22+00:00</published>
<link rel='alternate' type='text/html' href='https://openpgpkey.dangofactory.net/cgit/cgit.cgi/LunaticChat.git/commit/?id=7e791eaef4e838f590585ab4dc3a3c0e6e7f0972'/>
<id>7e791eaef4e838f590585ab4dc3a3c0e6e7f0972</id>
<content type='text'>
The `@&lt;server&gt;` argument resolves against the server names registered in
`velocity.toml`, not the `features.velocityIntegration.serverName` of the
destination: PresenceTracker publishes `serverInfo.name` and
CrossServerDirectMessageRelay matches the target against the same, so the
previous text had it exactly backwards. Following it on a proxy where the two
names differ produces SERVER_NOT_FOUND every time, and points the reader at the
wrong file to fix. `serverName` still matters, for `{server}` and for
recognising local players, so what it does is stated instead.

Also corrects two claims made while widening these pages:

- `/lcv status` reports only this server's protocol version, not both sides'.
  The Velocity bug template leaned on it as its most important field, so a
  reporter would have pasted output that cannot answer the compatibility
  question. It now also says to run it after a player has joined, since the
  handshake waits for one - the same caveat the README install steps needed.
- Spies see pre-conversion text for direct messages only. Channel messages are
  converted before the handler runs, so spies get the same formatted string the
  members do.

Co-Authored-By: Claude &lt;noreply@anthropic.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The `@&lt;server&gt;` argument resolves against the server names registered in
`velocity.toml`, not the `features.velocityIntegration.serverName` of the
destination: PresenceTracker publishes `serverInfo.name` and
CrossServerDirectMessageRelay matches the target against the same, so the
previous text had it exactly backwards. Following it on a proxy where the two
names differ produces SERVER_NOT_FOUND every time, and points the reader at the
wrong file to fix. `serverName` still matters, for `{server}` and for
recognising local players, so what it does is stated instead.

Also corrects two claims made while widening these pages:

- `/lcv status` reports only this server's protocol version, not both sides'.
  The Velocity bug template leaned on it as its most important field, so a
  reporter would have pasted output that cannot answer the compatibility
  question. It now also says to run it after a player has joined, since the
  handshake waits for one - the same caveat the README install steps needed.
- Spies see pre-conversion text for direct messages only. Channel messages are
  converted before the handler runs, so spies get the same formatted string the
  members do.

Co-Authored-By: Claude &lt;noreply@anthropic.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>docs: correct the website where it had drifted from the implementation</title>
<updated>2026-08-04T19:36:50+00:00</updated>
<author>
<name>Sho Sakuma</name>
<email>me@m1sk9.dev</email>
</author>
<published>2026-08-04T19:36:50+00:00</published>
<link rel='alternate' type='text/html' href='https://openpgpkey.dangofactory.net/cgit/cgit.cgi/LunaticChat.git/commit/?id=418be2d127ce2d6a3ed5e9c876deb9c2aafc089b'/>
<id>418be2d127ce2d6a3ed5e9c876deb9c2aafc089b</id>
<content type='text'>
Several statements were wrong rather than merely thin, and each would have set
the wrong expectation:

- the conversion example implied romaji replaces the input, when the result is
  appended in parentheses and both are sent
- the handshake was described as happening at startup, when it waits for the
  first player to join, so a DISCONNECTED status on an empty server read as a
  fault
- cache eviction was called oldest-first, which the unordered in-memory map
  cannot provide
- the Velocity settings table omitted crossServerDirectMessage
- ConfigManager was described as reading Bukkit's FileConfiguration, and the
  settings storage as recovering from a backup that does not exist

It also documents behaviour that had no mention anywhere: the `!` force-global
prefix, that spy sees channel messages and not only DMs, the nightly build
warnings, the overall 1000ms conversion budget that makes api.timeout above it
ineffective, and the data files the plugin writes.

Co-Authored-By: Claude &lt;noreply@anthropic.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Several statements were wrong rather than merely thin, and each would have set
the wrong expectation:

- the conversion example implied romaji replaces the input, when the result is
  appended in parentheses and both are sent
- the handshake was described as happening at startup, when it waits for the
  first player to join, so a DISCONNECTED status on an empty server read as a
  fault
- cache eviction was called oldest-first, which the unordered in-memory map
  cannot provide
- the Velocity settings table omitted crossServerDirectMessage
- ConfigManager was described as reading Bukkit's FileConfiguration, and the
  settings storage as recovering from a backup that does not exist

It also documents behaviour that had no mention anywhere: the `!` force-global
prefix, that spy sees channel messages and not only DMs, the nightly build
warnings, the overall 1000ms conversion budget that makes api.timeout above it
ineffective, and the data files the plugin writes.

Co-Authored-By: Claude &lt;noreply@anthropic.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>docs: add developer design/architecture guide (EN/JA) (#251)</title>
<updated>2026-07-19T13:06:37+00:00</updated>
<author>
<name>Sho Sakuma</name>
<email>me@m1sk9.dev</email>
</author>
<published>2026-07-19T13:06:37+00:00</published>
<link rel='alternate' type='text/html' href='https://openpgpkey.dangofactory.net/cgit/cgit.cgi/LunaticChat.git/commit/?id=bee1a61b7e38b160d967a91dd06bc5f44e14d057'/>
<id>bee1a61b7e38b160d967a91dd06bc5f44e14d057</id>
<content type='text'>
* docs: add developer design/architecture guide (EN/JA)

The docs site covered features and reference but had no entry point for
the codebase's design. Add a Developer Guide section describing the
module structure (engine shared kernel, platform-paper, platform-velocity),
the protocol-version compatibility model, and the Service Container /
Feature Gating pattern, so contributors can understand the architecture
without reading the source first.

Co-Authored-By: Claude &lt;noreply@anthropic.com&gt;

* docs: mirror cross-server DM docs into English (#231)

PR #231 added the cross-server direct messaging feature but updated only
the Japanese docs. Port the same additions to the English pages
(configuration, direct-message, velocity, commands) so both locales stay
in sync.

Co-Authored-By: Claude &lt;noreply@anthropic.com&gt;

* style: apply biome formatting to ja.ts sidebar config

The developer-guide sidebar entries were not biome-formatted, failing the
build_docs CI check (format:check). Apply the formatter.

Co-Authored-By: Claude &lt;noreply@anthropic.com&gt;

---------

Co-authored-by: Claude &lt;noreply@anthropic.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* docs: add developer design/architecture guide (EN/JA)

The docs site covered features and reference but had no entry point for
the codebase's design. Add a Developer Guide section describing the
module structure (engine shared kernel, platform-paper, platform-velocity),
the protocol-version compatibility model, and the Service Container /
Feature Gating pattern, so contributors can understand the architecture
without reading the source first.

Co-Authored-By: Claude &lt;noreply@anthropic.com&gt;

* docs: mirror cross-server DM docs into English (#231)

PR #231 added the cross-server direct messaging feature but updated only
the Japanese docs. Port the same additions to the English pages
(configuration, direct-message, velocity, commands) so both locales stay
in sync.

Co-Authored-By: Claude &lt;noreply@anthropic.com&gt;

* style: apply biome formatting to ja.ts sidebar config

The developer-guide sidebar entries were not biome-formatted, failing the
build_docs CI check (format:check). Apply the formatter.

Co-Authored-By: Claude &lt;noreply@anthropic.com&gt;

---------

Co-authored-by: Claude &lt;noreply@anthropic.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>docs(website): make English the default locale</title>
<updated>2026-06-12T06:42:51+00:00</updated>
<author>
<name>Sho Sakuma</name>
<email>me@m1sk9.dev</email>
</author>
<published>2026-06-12T06:42:51+00:00</published>
<link rel='alternate' type='text/html' href='https://openpgpkey.dangofactory.net/cgit/cgit.cgi/LunaticChat.git/commit/?id=8326b6a7619fd9e4fb6a640d01c4bf0c6194dc81'/>
<id>8326b6a7619fd9e4fb6a640d01c4bf0c6194dc81</id>
<content type='text'>
Swap the website default locale from Japanese to English.
English now lives at the site root (/), and Japanese moves
under /ja/. Update locale config, nav/sidebar links, internal
doc links, and asset relative paths accordingly.

Co-Authored-By: Claude &lt;noreply@anthropic.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Swap the website default locale from Japanese to English.
English now lives at the site root (/), and Japanese moves
under /ja/. Update locale config, nav/sidebar links, internal
doc links, and asset relative paths accordingly.

Co-Authored-By: Claude &lt;noreply@anthropic.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>docs: clarify paper/velocity compatibility</title>
<updated>2026-05-05T21:09:43+00:00</updated>
<author>
<name>Sho Sakuma</name>
<email>me@m1sk9.dev</email>
</author>
<published>2026-05-05T21:09:43+00:00</published>
<link rel='alternate' type='text/html' href='https://openpgpkey.dangofactory.net/cgit/cgit.cgi/LunaticChat.git/commit/?id=c092edbab0e8b516faaa459f6d0915c7df3cd06f'/>
<id>c092edbab0e8b516faaa459f6d0915c7df3cd06f</id>
<content type='text'>
Add a dynamic compatibility matrix (GitHub Releases + ProtocolVersion.kt at
each tag) shown on the home page, download page, and a new reference doc.
Split protocol theory and rolling-update rules out of the Velocity feature
guide into the new compatibility reference, and simplify the download notice.

Also set explicit GitHub release titles in the Paper / Velocity workflows so
the awkward paper/v* tag prefix is not the user-facing label.

Co-Authored-By: Claude &lt;noreply@anthropic.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add a dynamic compatibility matrix (GitHub Releases + ProtocolVersion.kt at
each tag) shown on the home page, download page, and a new reference doc.
Split protocol theory and rolling-update rules out of the Velocity feature
guide into the new compatibility reference, and simplify the download notice.

Also set explicit GitHub release titles in the Paper / Velocity workflows so
the awkward paper/v* tag prefix is not the user-facing label.

Co-Authored-By: Claude &lt;noreply@anthropic.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>docs(website): add v1 documentation pages and fix dark theme</title>
<updated>2026-04-04T16:18:10+00:00</updated>
<author>
<name>Sho Sakuma</name>
<email>me@m1sk9.dev</email>
</author>
<published>2026-04-04T16:18:10+00:00</published>
<link rel='alternate' type='text/html' href='https://openpgpkey.dangofactory.net/cgit/cgit.cgi/LunaticChat.git/commit/?id=6e96b5de6ef49140a49eb0bd9cbd4b9fa541a2cb'/>
<id>6e96b5de6ef49140a49eb0bd9cbd4b9fa541a2cb</id>
<content type='text'>
Add 12 documentation pages covering configuration, permissions,
features (DM, channel chat, romaji conversion, Velocity integration,
message logging, admin), and reference (commands, message format,
player settings). Restructure sidebar for new docs layout.

Fix dark theme rendering caused by :global(.dark) in DownloadCard.vue
applying filter:invert(1) to html element. Fix download button colors
for dark mode. Add protocol version compatibility notice to download
page. Move favicon.ico to correct public directory.

Co-Authored-By: Claude &lt;noreply@anthropic.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add 12 documentation pages covering configuration, permissions,
features (DM, channel chat, romaji conversion, Velocity integration,
message logging, admin), and reference (commands, message format,
player settings). Restructure sidebar for new docs layout.

Fix dark theme rendering caused by :global(.dark) in DownloadCard.vue
applying filter:invert(1) to html element. Fix download button colors
for dark mode. Add protocol version compatibility notice to download
page. Move favicon.ico to correct public directory.

Co-Authored-By: Claude &lt;noreply@anthropic.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
