Repository navigation
Releases
Releases · OniverseDesign/onicord
Release v0.2.8
Changes
- Persistent P2P Node Identity & Seed Stability: Stored a persistent 32-byte cryptographic node seed in SQLite (
app_config.db) for Hyperswarm initialization, ensuring stable peer identities across restarts and eliminating DHT routing churn. - Atomic SQLite Online Backups & WAL Checkpointing: Integrated SQLite's native
db.backup()API for.onipkgexports to prevent database corruption during live writes, complemented by periodic passive WAL flushes every 10 minutes. - Asynchronous Video Thumbnail Generation & Chat Previews: Added non-blocking FFmpeg WebP thumbnail extraction for uploaded videos, paired with rich chat media cards featuring format badges, play controls, and inline download progress.
- Virtualized PDF Viewer with Text Selection Layer: Integrated
@tanstack/react-virtualinPdfViewerto render only in-viewport document pages with render task cancellation, alongside a PDF.jsTextLayerfor native text selection and copying. - Keyboard Navigation for Mentions & Commands Popovers: Implemented full keyboard arrow, Enter, and Tab navigation across
@mentionsand/commandspopovers with automatic scroll-into-view tracking. - Precision Floating Formatting Toolbar: Rewrote selection measurement in
useChatComposerusingrange.getClientRects(), anchoring the floating markdown bar directly above highlighted text with viewport boundary clamping and scroll tracking. - Zustand Streamer Mode Store & Voice Server State Sync: Migrated streamer mode state to an atomic persistent Zustand store (
useStreamerModeStore) and dynamically synced active voice server metadata on server update events. - CSS Bundle Diet & Dependency Stripping: Removed unused dependencies (
daisyui,react-resizable-panels,tailwindcss-animate), cutting the main production stylesheet size from 264 kB to 168 kB (36% reduction). - Server Rail Visual Polish & Brand Asset Refresh: Standardized server icon hover and active states in
ServerRail, eliminating outline artifacts and introducing high-resolution application branding assets. - Component ClassName Normalization: Standardized conditional Tailwind class merging with
cn()across UI primitives, includingUserListItem,Isla,FlameBadge, andColorPicker.
Release v0.2.7
Changes
- Server AFK Voice Channels & Inactivity Engine: Introduced automated AFK voice tracking (
useVoiceAfkTracker) that monitors mic volume and typing activity, seamlessly relocating idle users to a designated AFK channel after a configurable timeout (1m to 1h) with strict mute enforcement. - Drag-and-Drop Voice Member Moderation: Added native drag-and-drop moderation in
ChannelsSidebar, allowing administrators and members with the newmove_memberspermission to move voice participants between channels with real-time visual drop targeting. - P2P Voice Move Authorization Protocol: Implemented secure P2P packet exchange (
voice-move-member) with dual verification of administrator privileges against server metadata before executing remote voice channel relocations. - Multi-Audio Track Probing & P2P Cinema Synchronization: Enhanced
TorrentServiceto probe and map all audio streams in video torrents, enabling on-the-fly audio stream selection and real-time synchronized audio and subtitle track switching across watch party peers. - Virtual Feed Scroll Stabilization & Bottom Pinning: Overhauled
useChatScrollwith direct@tanstack/react-virtualsynchronization, programmatic scroll guards, and multi-pass layout settling to eliminate scroll jumps during late-mounting embeds and images. - Server Channel & Category Management Redesign: Revamped
ServerChannelsTabwith dedicated quick-add buttons for text, voice, forum, and AFK channels, real-time channel search filtering, collapsible categories with member count badges, and reordered uncategorized channel placement. - Unicode Grapheme Boundary Protection: Integrated
safeSliceUnicodewithIntl.Segmenteracross room and server stores, eliminating corrupted multi-byte characters, emoji clusters, and mathematical scripts during name normalization and truncation. - Extended System Typography Fallbacks: Expanded root font cascades in stylesheet tokens to include
Segoe UI Historic,Cambria Math, andApple Symbolsfor uniform cross-platform symbol and mathematical script rendering. - Contextual Input Placeholders & Chat Usability: Added dynamic channel-scoped input placeholders (
#{{channel}}) and updated the jump-to-present floating button with high-contrast theming and responsive text labels. - Internationalization & Voice State Localization: Fully translated AFK warnings, remote move notifications, channel management controls, and role permissions across English, Spanish, and Portuguese locales.
Release v0.2.6
Changes
- AudioWorklet Loopback AEC for Screen Share Audio: Integrated an adaptive digital loopback echo cancellation worklet (
loopback-aec-worklet.js) that analyzes speaker reference audio and cancels self-echo from Windows desktop audio capture during screen shares. - Off-Thread CAS Cryptographic Worker: Offloaded SHA-256 hash generation and disk persistence for buffers larger than 64 KB to a dedicated Node.js worker thread (
casHasherWorker.cjs), keeping the Electron main process and UI completely responsive. - Harmonized 8-Level Typography Scale & UI Primitives: Established an 8-level typographic scale (
2xsto3xl) in Tailwind and token styles, backed by accessible and polymorphicHeadingandTextprimitives across chat, modals, and settings. - Unified Activity Invite Cards & Notification Sanitization: Consolidated arcade, cinema, and watch party embeds into
ActivityInviteCardwith required voice channel permission guards, while stripping raw payload markers in desktop and in-app notifications. - Adaptive Opus Audio Engine & Verified LAN Routing: Introduced dynamic Opus audio bitrate scaling (128 kbps studio quality for 1-4 callers, 96 kbps hi-fi, and 64 kbps standard) coupled with socket-verified LAN detection preventing spoofed routes.
- Stream Stage Architecture & Seamless PiP Transitions: Unified inline, floating Picture-in-Picture, and fullscreen player lifecycles in
StreamDisplayandRoomStreamStage, eliminating audio dropouts and video unmounting during view transitions. - Automated Watch Party Metadata & Chat Sharing: Automatic resolution of video titles and thumbnails via OpenGraph and oEmbed upon playback, alongside one-click interactive invite broadcasting directly from the media bar.
- Startup Pipeline Acceleration & Pre-Warmed Splash: Parallelized profile and server hydration, deferred non-critical background services, mounted the main view behind the splash screen for instant display, and parallelized background room swarms.
- Onboarding & Onipkg Backup Restoration Polish: Overhauled
ProfileSetupwith responsive two-column layouts, automatic avatar extraction from.onipkgarchives, granular category checkboxes, and updated i18n translations across English, Spanish, and Portuguese. - GPU Acceleration Flags & Cross-Room File Seeding: Enabled Chromium zero-copy and GPU canvas rasterization switches, while extending local file resolution across all joined rooms and SQLite download registries.
Release v0.2.5
Changes
- Virtual Chat Rendering & Feed Virtualization: Integrated
@tanstack/react-virtualfor 60 FPS message feed scrolling, smooth jump-to-message transitions, and O(M) single-pass thread participant precomputations. - Zustand State Architecture & Voice Isolation: Decoupled voice telemetry and speaking indicators into atomic Zustand selectors (
useVoiceStore), eliminating whole-tree re-renders, while centralizing application state (useAppStore). - Modular Room & P2P Packet Architecture: Decomposed monolithic
RoomViewandRoomManagerpacket routers into dedicated domain submodules (RoomHeader,RoomOverlays,RoomRightSidebar, and modular P2P packet handlers). - Swarm P2P File Distribution & Streaming: Multi-source block downloading with dynamic seeder scheduling, automated local database seeding, file handle pooling, and executable permission safeguards.
- Unified Sandboxed Plugin Host: Consolidated iframe runtime into
SandboxedPluginFramewith strict permission checking, isolated storage, and collaborative P2P sync. - Asset Diet, WOFF2 Fonts & Bundling Optimization: Replaced the 10.5 MB TTF icon font with compressed WOFF2, removed external Google Fonts dependencies, added dynamic on-demand i18n locale loading, and optimized Vite vendor chunking.
- WebRTC Voice Engine & Audio Resource Cleanup: Plugged audio node leaks, ensured complete camera/screen track deallocation on disconnect, and guarded against duplicate remote stream attachments.
- Automated yt-dlp Multi-Platform Binary Tooling: Introduced automated per-platform binary provisioning (
ensure-ytdlp.cjs), offloading binaries from the main asar package to reduce installer overhead. - Security & Media Protocol Hardening: Enforced strict origin guards on hardware/media capture and blocked unauthorized access to local database and credential files via internal media protocols.
- Dead Code & Legacy Deprecation Cleanup: Purged obsolete components (
WelcomeScreen,JoinModal,e2ee.js,CloudBackupTab), stripping over 2,500 lines of technical debt.
Release v0.2.4
Onicord v0.2.4
Changes
- Desktop & In-App Notification Author Sanitization: Enhanced notification author resolution across webhooks, addons, bots, and members, eliminating raw hashes and ambiguous placeholders while formatting clean contextual titles for channels, DMs, and threads.
- Robust In-App Changelog & Markdown Formatting: Added HTML-to-markdown normalization for update feeds, native link support in
ChangelogModal, and prioritized GitHub Release notes fetching with seamless cache fallbacks. - UI Zoom Scaling & Settings Reversion Safeguards: Standardized display scaling on the document root element to eliminate layout shifts, and added automatic reversion of zoom and language tweaks when exiting settings without saving.
- Voice Shortcut & Mute State Reactivity: Fixed stale hook references in global voice shortcut listeners to guarantee instant mute toggling, backed by channel speak-permission guards.
- Plugin Toast Internationalization: Extended the sandbox toast API to support localized titles, message keys, and dynamic translation parameters for third-party addons.
Release v0.2.3
Onicord v0.2.3
Changes
- SQLite & Content-Addressed Storage (CAS) Database Architecture: Migrated core storage from flat JSON files to high-performance
better-sqlite3relational databases in WAL mode, coupled with a Content-Addressed Storage engine for SHA-256 media deduplication and automated legacy data migration. - Interactive Server Moderation & Eviction Engine: Added native confirmation dialogs for kicking and banning members, real-time ban/kick propagation across peer swarms, instant unbanning, and graceful eviction modals replacing browser alert popups.
- Rich Server Invites & Direct TCP Connection Links: Full chat integration for server invites with live P2P metadata resolution (server icon, name, member count), one-click joining, and support for direct TCP deep links (
onicord://direct:<IP>:<PORT>/<CODE>). - Permission-Aware Unread Tracker & Server Read State: Isolated unread badge tracking enforcing role-based channel visibility (
hasChannelAccess) and direct message recipient verification, alongside one-click "Mark as Read" actions for channels and servers. - Message Grouping & Server-Scoped Identity Polish: Hardened message grouping logic preventing improper clustering between local users, remote peers, and webhooks, with full propagation of server-specific profiles across reply previews and reaction bars.
- P2P Media Streaming & Engine Optimization: Streamlined background torrent engine prioritization, enhanced on-the-fly FFmpeg audio/video remuxing and transcoding fallbacks, and updated bundled
yt-dlpbinary.
Release v0.2.2
Onicord v0.2.2
Changes
- Enhanced Auto-Updater & Native Changelog System: Integrated silent background downloads for packaged installer updates, automatic installation upon app quit, and a dedicated
ChangelogModalwith live markdown formatting accessible from the About tab for both current and incoming versions. Added automated update verification, hot-reloading in the sandbox, and update notifications for installed community addons. - Public P2P Server Discovery & Community Exploration (Discover): Introduced a decentralized peer-to-peer discovery engine with zero central servers, allowing public communities to advertise across the DHT swarm with custom tags, categories, descriptions, and banners, complete with a "Knock to Join" approval and rate-limiting system.
- Dedicated Forum Channels & Thread Discussion System: Native forum channel architecture (
type: "forum") with structuredForumPostCardlayouts, interactiveForumTagsBartopic filtering, expandable post composer with title and#tagextraction, top-anchored descending scroll, and deep thread panel integration. - Native Backup & Vault System (.onipkg / .onibackup): Comprehensive local archive vault engine enabling encrypted, category-granular export and restoration (profile, servers, chats, plugins, and stickers), automated scheduled vault backups with retention policies, and first-run restoration directly on the Profile Setup onboarding screen.
- Per-Server Profiles & Custom Identity: Full support for server-specific identities, allowing members to customize their nickname, avatar, banner color, status, and custom link per server without altering their global profile, synchronized in real time across peer swarms.
- Discord-Style Mosaic Media Gallery & Multi-File Uploads: Dynamic responsive image grids for multi-attachment messages (1-image, 2-column, 3-tile mosaic, and 4+ 2x2 grids with remaining counters), combined with multi-file composition staging and interactive lightbox carousel navigation.
- Contextual Skeleton Loading & Anti-Flicker Transitions: Staggered breathing wireframe animations (
onicord-skeleton-breath) tailored for both text and forum channels, featuring smooth cross-fade exits that eliminate layout shifts during message hydration while respecting reduced-motion accessibility preferences. - Automated Server Welcomes & Default Role Assignment: Configurable server welcome system dispatching localized greetings to designated channels upon peer arrival with dynamic translation of default templates, alongside automated assignment of base member roles.
- Granular Channel Communication & Read-Only Restrictions: Configurable channel-level speak/write permissions for text and forum channels, allowing administrators to establish read-only announcement channels and restrict messaging by role, backed by real-time audit log tracking.
- Background Auto-Download of Shared Media & Custom Download Directory: Optional background downloading of shared media attachments with configurable file size limits (10 MB to 10 GB or unlimited), custom download directory selection, and local deduplication against existing files.
- Server Rail & Database Stability Polish: Active voice indicators with green glow on collapsed server folders, standardized z-index design tokens, serialized database write queues, and automatic recovery of corrupted or missing servers from
room-metaarchives.
Release v0.2.1
Onicord v0.2.1
Changes
- Native P2P Media Streaming Engine: Integrated local HTTP chunking server for peer-to-peer torrent and magnet streams with native range-request buffering, automatic audio/video codec probing, and real-time transcoding fallbacks for browser-incompatible media formats.
- Agnostic Addon Stage Framework: Standardized plugin host lifecycle protocols, resume-time synchronization, and isolated per-addon stage progression storage, enabling seamless theater and Picture-in-Picture modes for third-party media and game addons.
- Chat Input & Text Caret Stability: Resolved text caret position jumps and selection offset loss during markdown formatting, emoji insertion, and text composition within the chat input area.
- Reply Formatting & Quote Sanitization: Cleaned up message reply previews by eliminating raw system placeholders, binary attachment flags, and formatting artifacts across quoted message bubbles and thread cards.
- Keybinding Collision Safeguards: Added strict input-focus guards to the global and local keybinding engines, preventing accidental triggers of Push-to-Talk, deafen, mute, or search shortcuts while typing in message fields or textareas.
- Continuous Animation Freezing: Full integration of the reduced-motion and continuous-animation accessibility toggles, freezing infinite CSS keyframe loops and pausing animated avatars, stickers, and brand icons to eliminate background CPU and GPU overhead.
- Interactive Chat Embed Theming: Aligned interactive addon card action buttons with the atomic dark-accent contrast standards, ensuring readability and visual consistency across all active themes.
- PiP Stage Layout Decoupling: Fixed chat room visibility being suppressed when an active video or game addon stage transitions into floating Picture-in-Picture mode.
Release v0.2.0
Onicord v0.2.0
Changes
- Synchronized P2P Watch Party: Watch synchronized YouTube and web videos directly in voice lounges with dual Theatre and GPU-accelerated PiP floating mini-player modes, drift compensation, subtitle selection, and contextual right-click chat integration.
- Streamer Mode & Broadcast Privacy: Automatic detection of active streaming software (OBS, Twitch Studio, Streamlabs) or manual toggle, with instant masking of room codes, invite links, and server keys, suppression of message popups, and a purple avatar streaming status.
- Autonomous Server Webhooks & Feed Ingress: Push alerts directly into channels with Discord-compatible JSON payloads via a built-in local HTTP ingress server, or configure autonomous RSS/Atom/JSON feed polling over the P2P swarm without cloud dependencies.
- Universal Settings Search & Flash Navigation: Instant real-time search across all application and server settings tabs with automated tab switching, smooth scrolling, and visual pulse highlight (flash navigation) on target preference cards.
- Standardized Floating Media Bar: Unified, distraction-free floating media controls shared across Watch Party, Screen Sharing, and Arcade stages with volume sliders, audio ducking, and theatre toggle adhering to the Catppuccin Mocha palette.
- Intelligent Media Audio Ducking: Integrated audio ducking for Watch Party video streams, automatically attenuating playback volume whenever a peer speaks in the voice lounge for crystal-clear conversations.
- Screen Share Full-Area Stage: Expanded video streaming display to occupy 100% full-area stage layout, matching the dimensions of the Arcade and Watch Party interfaces.
- Modular P2P Soundboard Addon: Official
.onipkgSoundboard addon for the Plugin Island, enabling participants to drop custom audio clips (.mp3,.wav,.ogg), sync them in real time across peers, and play soundboard effects in voice calls. - Multi-Language Localization Parity: Complete translations across Spanish (
es), English (en), and Portuguese (pt) for all new settings, search, streamer mode, and watch party features.
Release v0.1.9
Onicord v0.1.9
Changes
- Interactive Toast Notifications: Toasts are now fully interactive with contextual click actions—clicking message notifications navigates straight to the active server/channel, while update alerts open Settings directly to the About tab.
- Dynamic Accent Glow & Sender Avatars: Info toasts dynamically inherit the user's selected theme accent color for borders and ambient glows, and message notifications display the sender's avatar or initial letter badge.
- Ultra-Fluid PiP Floating Windows: Dragging floating PiP windows (screen shares and addon stage games) is now hardware-accelerated with GPU transforms (
translate3d) andrequestAnimationFrame, eliminating stutter and mouse lag. - Profile Popout Toggle & Exit Animations: Clicking a member's card now toggles the profile smoothly without re-opening glitches, featuring a fluid scale-out exit animation before unmounting.
- Centralized & Standardized Motion System: Unified animation tokens, natural bezier curves, and exit transitions across all modal dialogs, popovers, context menus, and select dropdowns.
- User Panel & Audio Control Ergonomics: Persistent mute and deafen toggles in the bottom user panel, allowing microphone and headphone adjustments before connecting to voice lounges.
- Chat & Navigation UI Polish: Added an animated floating "Jump to present" button when scrolling message history, smooth slide transitions for reply bars and pending attachments, and rotating category chevrons.
- Chat & Thread Reply System: Resolved duplicate reply rendering and enabled full quoted reply previews in the thread panel instead of inserting plain text mentions.