ICECHAT NX v1.6.5 - NATIVE WINDOWS CLIENT BUILD
================================================

The Windows client is a native Go/Win32 application. It does not invoke
PowerShell and has no .ps1 dependency.

Release toolchain:

  Go 1.27.1 or a newer supported Go 1.27 maintenance release.

Reference build command from this source directory:

  GO111MODULE=off GOOS=windows GOARCH=amd64 CGO_ENABLED=0 go build -trimpath -ldflags="-s -w -H=windowsgui" -o IceChatNX.exe main.go

PAGE.wav is embedded at compile time with go:embed and is the default page tune.
An external WAV may be selected by setting page_tune in CONFIG/config.json to a path.

First-run Link to BBS configuration is implemented with native Win32 controls and writes
CONFIG/config.json directly. The release config ships with
https://www.yourdomain.com/doors/icechatnx/api.php as the example URL and no
API key; the SysOp must generate a unique key in the ATDT Admin Panel. When the
key is saved, the client encrypts it with Windows DPAPI and persists only the
api_token_protected blob. Older plaintext api_token values are migrated
automatically. The API-key edit control is masked by default with Show/Hide.

Remote API URLs must use HTTPS. Plain HTTP is accepted only for loopback test
addresses. The client's net/http transport is configured not to follow HTTP
redirects so the shared token cannot be forwarded to another redirect target.

v1.6.5 keeps the Windows chat GUI, but its live conversation is bridged through
ATDT's built-in private SysopChat queue instead of a custom caller-side
chat screen. The Windows window polls the IceChat NX API, which mirrors ATDT
private-line rows into IceChat NX's permanent transcript.

APPLICATION ICON
----------------
IceChatNX.ico is converted from the IceChat NX snowflake artwork. The release
binary has the icon embedded directly in its PE resource table as RT_ICON /
RT_GROUP_ICON resource #1. After compiling the GUI binary, run:

  python embed_icon_resource.py IceChatNX.exe IceChatNX.ico IceChatNX.exe.manifest IceChatNX.release.exe

The manifest enables Microsoft Common Controls v6 and Per-Monitor-V2 DPI awareness,
so standard Win32 buttons, edit fields, checkboxes, and dialogs use the current
Windows visual style instead of the legacy classic-control appearance. Use
IceChatNX.release.exe as the packaged release binary.

CHAT COLOR RENDERING
--------------------
The client loads the Windows Msftedit.dll Rich Edit control at runtime so SysOp and caller transcript lines can be rendered in separate colors. The default palette is black background, cyan SysOp, green caller, and white message-entry text.

ATDT BRIDGE COMPATIBILITY
-------------------------
The Windows client and door are documented against the ATDT private SysOp chat
capabilities they use rather than a specific ATDT version number.
