promotional bannermobile promotional banner

KOKOTO WebChat (Fabric, Forge, NeoForge)

Multi-platform Minecraft web chat with map/standalone UI, DM & groups, secure relay, filters, rich media, notifications, and Bukkit/Paper companion-plugin integrations.
Back to Files

KOKOTO-WebChat-5.2.0-Fabric-26.2.jar

File nameKOKOTO-WebChat-5.2.0-Fabric-26.2.jar
Uploader
kokoto__kokoto__
Uploaded
Sep 6, 2026
Downloads
5
Size
15.3 MB
Mod Loaders
ForgeFabricNeoForge
File ID
8821177
Type
R
Release
Supported game versions
  • 26.2
  • 26.1.2
  • 1.21.11
  • 1.21.10
  • 1.21.8
  • 1.21.5
  • 1.21.4
  • 1.21.3
  • 1.21.1
  • 1.20.6
  • 1.20.4
  • 1.20.2
  • 1.20.1
  • 1.19.4
  • 1.19.2
  • 1.18.2

Curse Maven Snippet

Forge

implementation "curse.maven:kokoto-webchat-fabric-forge-1670279:8821177"

Fabric

modImplementation "curse.maven:kokoto-webchat-fabric-forge-1670279:8821177"

NeoForge

implementation "curse.maven:kokoto-webchat-fabric-forge-1670279:8821177"

Learn more about Curse Maven

What's new

## KOKOTO WebChat 5.2.0

5.2.0 adds message reactions, personal conversation archives/PDF export, public/DM/group typing indicators, custom-emoji picker enhancements, and Relay Protocol 2.1 capability negotiation. It also includes security and account-linking corrections carried forward from the 5.1.0 public release baseline.

### Added

#### Message reactions
- Added persistent reactions for logged-in users on public chat, DMs, and normal group-chat messages using Unicode emoji and KWC custom emoji.
- Added multi-server reactions: public reaction state is committed by the message-origin server, cross-server DM reactions remain participant-only, and group-room reactions remain local.
- Added reactor-name hover details, compact reaction controls, and partial reaction-bar updates that preserve active media and virtual-scroll state.
- Added **Admin > Emojis > Reaction icons** management with master enable/disable, separate custom-emoji allowance, catalog ordering, and administrator-managed search aliases.
- Added one **Reactions** Chat-settings preference shared by live browser notifications and background/mobile Web Push; each browser/device uses only the notification delivery path it supports.
- Suppress duplicate private-chat attention account-wide when the exact DM/group conversation is actively viewed in any signed-in KWC browser for the account. The page must be visible and focused, chat must not be minimized, the private modal must be open, and the thread/room ID must match. While that condition is true, live browser notifications, browser-local notification-inbox insertion, and Web Push are all suppressed for that conversation across the account; normal notifications resume as soon as no active client is viewing it.

#### Custom-emoji picker
- Added a browser-local **Recent** pseudo-folder and an optional **Favorites** pseudo-folder shared by public chat, DM, and group-chat pickers. Favorites can be disabled or stored in browser-local storage or the signed-in KWC account, with an administrator-configurable maximum; account storage is independent of chat-history storage.
- Added floating custom-emoji search across ID, name, display label, pack name, and every public alias with NFKC/case normalization.

#### Relay Protocol 2.1
- Added independent relay revision/capability negotiation with `public`, `dm`, `read`, `reaction`, `reaction-authority`, and `typing` capabilities.
- KWC 5.1.0 and 5.2.0 remain compatible for the common Relay v2 public-chat/DM/read feature set. Reactions and typing require participating KWC 5.2.0 / Relay 2.1 peers.

#### Saved conversations and PDF export
- Added per-account **Saved conversations** for public chat, DMs, and group rooms, with server-side range validation before a snapshot is created.
- Added static archive/PDF views that preserve KWC chat presentation, reply/reaction/server context, display name and real account name, while keeping attachments as references to their original KWC sources.
- Added PDF export using the user's currently applied KWC appearance.
- Added `chat.conversation-archive.enabled` (default `true`). Disabled mode does not register archive API routes, does not open/create `conversation-archives.db`, and does not create saved-conversation controls in the web DOM; existing archive data remains untouched.
- Added configurable archive quotas: 100 archives/account, 1,000 messages/archive, and 10,000 saved messages/account by default, controlled by `max-archives-per-user`, `max-messages-per-archive`, and `max-messages-per-user`.

#### Public/DM/group typing and private-chat controls
- Added event-driven public/DM/group typing indicators without polling or persistent typing state. Server administrators control Open chat, DM, and Group chat independently in Web Admin **Settings** or `chat.typing-indicator.*` in `config.yml` (defaults: OFF / ON / ON); `chat.typing-indicator.user-display-control` defaults OFF; when enabled by the administrator, signed-in users get one account-stored **Show typing indicators** preference that hides incoming hints on their own screen without suppressing their outgoing typing activity. The rounded high-opacity indicator floats above the active composer, uses each viewer's normal display-name/original-name toggle, strips formatting tags from shown names, and scales to about 80% of the user chat font without dropping below the base UI font. Public and remote-DM typing can use Relay 2.1; group typing remains scoped to actual room participants.
- Consolidated private-room invite, saved-conversation, hide, and room-management actions under Settings according to permission.

### Fixed from 5.1.0
- Corrected mention notification matching inherited from 5.1.0. Ordinary occurrences of a user's name no longer count as mentions: a mention must start with `@`, matches registered real/display names using the longest name at each `@`, and notifies all accounts that share the same exact display name.
- Corrected existing built-in account-linking text that still showed the obsolete `/kwc auth` command; upgrades migrate those built-in values to `/kchat auth <code>` without overwriting unrelated customized translations.
- Enforced guest-disabled public-chat visibility on server-side history/search/around/SSE endpoints instead of frontend hiding only.
- Hardened trusted-proxy / `X-Forwarded-For` client-IP resolution against leftmost-header spoofing.
- Enforced exact routing for leaf HTTP API contexts.
- Reduced the unauthenticated client-config response to the fields actually consumed by the frontend.

This mod has no related projects