IceChat NX v1.6.5 ================== - Security hardening release covering the v1.6.4 code review findings 1 through 7. - Windows client source/release target updated to a supported Go 1.27 maintenance toolchain. - Release Windows executable rebuilt with Go 1.27.1. - Remote BBS API links now require HTTPS; plain HTTP is allowed only for localhost/loopback testing. - Windows HTTP redirects are disabled so X-IceChatNX-Token is never forwarded to a redirect target. - Windows API keys are protected with Windows DPAPI and stored as api_token_protected instead of plaintext; existing plaintext api_token values are migrated automatically. - Link to BBS masks the API key by default and adds a Show/Hide control. - ATDT doorstore directories are hardened to 0750 and IceChat NX state/transcript files to 0640 where supported. - Admin Panel API URL discovery now uses only ATDT's configured base_url and no longer trusts Host or X-Forwarded-* headers. - API POST endpoints now require Content-Type: application/json and cap request bodies at 64 KiB. - ATDT bridge compatibility checks are capability-based rather than tied to one ATDT version number. IceChat NX v1.6.4 ================== - Removed the obsolete Windows SCRIPTS folder and helper CMD files; Link to BBS and Auto Start with Windows are handled directly in the native GUI. - Renamed the bridge documentation to ATDT-BRIDGE-NOTES.TXT and made current compatibility notes version-neutral, based on ATDT private SysOp chat capabilities. - Windows chat transcript now uses a terminal-style black background with role-specific colors: cyan for SysOp lines and green for caller lines. - Chat Appearance options now include separate SysOp, Caller, Input Text, and Background color pickers; Reset restores the new terminal palette. - Transcript rendering uses the Windows Rich Edit control so each chat line can be colored independently while preserving automatic latest-message scrolling and manual scrollback. - Refreshed the native Windows UI with an embedded Common Controls v6 visual-styles manifest so buttons, edit fields, checkboxes, and dialogs use the current Windows theme instead of classic Win32 styling. - Added Per-Monitor-V2 DPI awareness to the Windows client manifest for cleaner scaling on modern displays. - Standardized action-button typography on Segoe UI regular weight for a cleaner Windows 10/11 appearance. - Updated Link to BBS, page-alert, and chat action controls to use the same modern UI typography. - Added Admin Panel Maintenance controls to purge stored page records and IceChat NX chat history. - Both purge actions require an explicit confirmation checkbox before the Purge button is enabled, with server-side confirmation enforcement as well. - Purging page records preserves the next page-number sequence so running Windows clients do not miss future pages. - Purging chat history clears IceChat NX mirrored messages and permanent transcript files without modifying ATDT's global chat_msgs table. - Windows chat transcript now automatically scrolls to the newest line when a new message arrives, while preserving manual scrollback between new messages. - Added a native ATDT Admin Panel for IceChat NX. - Admin Panel shows the full API URL and current API key with copy-to-clipboard controls. - API key is hidden by default and can be shown/hidden; a Generate New Key action rotates it securely. - Runtime admin settings are persisted under data/doorstore/icechatnx/settings.json so door upgrades do not overwrite them. - Admin Panel adds SysOp display name, client-offline threshold, caller page cooldown, offline queueing, page retention, and chat-message retention settings. - Admin Panel shows Windows-client heartbeat status, client version, queue counts, and active chats. - Windows Configure API workflow renamed to Link to BBS. - Link to BBS now edits both the API URL and API KEY and writes them to CONFIG\config.json with Save/Cancel controls. - No default API key is shipped; new installs must generate a unique key in the Admin Panel. - Link to BBS uses https://www.yourdomain.com/doors/icechatnx/api.php as the example URL. - Main window, Options menu, and tray menu now use the Link to BBS wording. IceChat NX v1.6.3 - Polished the Windows client main UI with Segoe UI typography, cleaner section headings, consistent spacing, and a compact professional layout. - Main window is now fully resizable; the Activity log grows with the window and bottom controls remain anchored. - Added minimum window sizing so controls cannot be crushed or overlap. - Connection status is now presented as a colored status indicator with separate Last Poll and Active Chats fields. - API endpoint is presented as its own selectable read-only field. - Last four action buttons are equal width with a restrained 11 pt-style font so Hide to Tray no longer looks oversized. - Reorganized Options > Chat Appearance and added Configure API to the Options menu. - Removed the explanatory polling footer from the Windows chat window; the transcript now uses the reclaimed space. ================= v1.6.3 ------ - Windows chat windows are now dynamically resizable; controls reflow with the window. - Added an Options menu to the Windows client top menu bar. - Added selectable terminal chat text sizes: 12, 14, 16, 18, 20, and 24 pt. - Added native Windows color pickers for chat background and foreground text. - Default chat appearance remains white background with black text at 16 pt. - Chat appearance settings persist in CONFIG\config.json and apply immediately to open chats. - Added Reset Chat Appearance. - Added Auto Start with Windows toggle with live check-mark state. IceChat NX v1.6.2 ------------------- - Uses the supplied display/main.ans as the default customizable opening screen. v1.6.2 ------ - Reorganized Windows client files into DOCS, SCRIPTS, ASSETS, and CONFIG folders. - Native client now reads/writes CONFIG/config.json and CONFIG/icechatnx-client-state.json. - Existing root-level config/state JSON files are migrated automatically on first launch. - External relative page tunes such as PAGE.wav now resolve under ASSETS/. - Updated helper CMD scripts for their new SCRIPTS/ location. - Windows page tune now stops immediately after a successful Acknowledge or Accept Chat action. - Removed legacy UPGRADE-FROM notes, TESTING.TXT, and DATA-STORAGE.TXT from the release package. IceChat NX v1.6.0 ------------------- - Added a SysOp-customizable opening ANSI screen at doors/icechatnx/display/main.ans. - main.ans supports dynamic placeholders for version, caller, SysOp name, client status, client name, heartbeat age, and status text. - Uses ATDT's built-in CP437/ANSI loader, including SAUCE stripping and classic CP437 glyph conversion. - Added display/README.TXT with placeholder documentation and customization notes. - If main.ans is missing, empty, unreadable, oversized, or otherwise unusable, IceChat NX falls back to the built-in opening screen. - Dynamic placeholder values are sanitized so caller/client text cannot inject ANSI control sequences. - Retains the ATDT 1.7.8 private-line chat bridge and native Windows GUI client. IceChat NX v1.5.2 ------------------- - Rebuilt the Windows client as a Windows GUI-subsystem executable so no console/terminal window opens behind it. - Embedded the IceChat NX ice-cube artwork into the EXE resource table for the Explorer/file icon. - The same embedded icon is used for application windows and the system tray. - Corrected initialization of the larger Consolas-style chat fonts. - Retains the dedicated Quit button on the main GUI. ICECHAT NX CHANGELOG ==================== v1.5.2 ------ * Replaced IceChat NX's custom caller chat screen with ATDT 1.7.8's built-in private SysopChat line. * No ATDT source/core files are patched or replaced. * Accept Chat in the native Windows client now posts an ATDT private SysOp message to the exact caller node/session. ATDT's normal browser poll then opens SysopChat automatically, normally within its existing ~4 second poll. * While SysopChat is active, new SysOp lines are delivered by ATDT's normal background poll without the caller pressing Refresh and without a lookup on every keypress. ATDT preserves a half-typed caller line during async updates. * Caller replies entered in ATDT SysopChat are mirrored back into the native IceChat NX Windows chat window automatically. * IceChat NX snapshots caller node + ATDT session identity when the page is created and validates the same live session before opening a private line, preventing a recycled node number from receiving an old page. * The Windows client keeps ATDT's console heartbeat fresh while an IceChat NX private line is active so the caller is not incorrectly told the SysOp has stepped away. * End Chat from Windows uses ATDT's existing sysophup marker. The caller sees ATDT's normal private-line-ended notice and may leave the line with the same key/blank-line behavior as ATDT's built-in chat. * Caller-side custom F5/CTRL+R chat refresh logic was removed; accepted chats are now ATDT private-line screens, not IceChat NX door screens. * Permanent IceChat NX transcript logging remains under data/doorstore/icechatnx/chatlogs/. ATDT private lines are mirrored there with ATDT message ids deduplicated across Windows polling. * Windows first-run Configure API dialog, embedded IceChat PAGE.ICE tune, native x64 executable, autostart, and manual Windows Refresh button remain. * API status now reports the ATDT version; the Windows connection test displays it. * Default chat message length is 70 characters to match ATDT Chat::MAX_BODY. * Target is ATDT 1.7.8 or newer with the private SysopChat implementation used by the supplied ATDT 1.7.8 build. v1.4.0 ------ * Removed caller-side chat refreshes on every printable keypress and edit. * F5/CTRL+R remained explicit Refresh Chat commands for the old self-contained caller chat screen. * Added native first-launch Configure API support to IceChatNX.exe. * Added Configure API to the main GUI and tray menu. v1.3.0 ------ * Renamed/rebranded the project from SysOp Pager to IceChat NX. * Moved writable runtime storage to data/doorstore/icechatnx/. * Added permanent plain-text chat transcripts. * Renamed the native Windows client to IceChatNX.exe.