Two unrelated fixes bundled here.
1. Client respawn (ClientDll.cpp EasyRun/Run, test.cpp Run): after a host
is shared or transferred to another server, restarting the master
(server A) left the host's main instance stuck, because the respawn
loop waited on IsStoped() (g_bThreadExit && GetCount()==0), which never
becomes true while a still-alive shared instance holds AddCount(1).
S_SERVER_EXIT now triggers an immediate reconnect without waiting for
shared instances; client-exit / update still waits for all instances to
drain. Verified by 100 restart cycles.
2. Web login page (WebService.cpp): the MFC web server only substituted
__BASE_PATH__ in index.html and left __BRAND_NAME__ as a literal token
in the login page title/heading. Substitute it with "SimpleRemoter" to
match the original branding and the Go server's default.
Co-Authored-By: deepseek-v4-pro
Add a dedicated ShareHostDlg with a "Use Shine protocol" checkbox (default
checked) so the operator can choose Shine (0) or HELL (1) when sharing or
transferring a host. The chosen protocol is appended to the wire payload as a
trailing colon field: "IP:PORT:0/1" for share and "IP:PORT:days:0/1" for
transfer.
The client parses the trailing field from COMMAND_SHARE and
COMMAND_ASSIGN_MASTER, applies it to new connections, and persists it so
auto-share/auto-transfer on restart keeps the same protocol. Old clients
ignore the extra field, and old/missing payloads fall back to -1 (baked-in
HELL), preserving compatibility with existing servers and share_list entries.
Co-Authored-By: deepseek-v4-pro
Record the client's active-window history (start time, window title, and
dwell duration), newest first, skipping dwellings under 5 seconds and
breaking the timing on idle, capped at 500 entries. Add an "Activity
History" item inside the host's Client Management submenu that requests
the snapshot over the main connection and shows it in a new dialog. The
dialog rebuilds its edit control as a Unicode window so UTF-8 titles
render correctly instead of degrading to "?" through the MBCS ANSI
boundary. The menu item and dialog title go through _TR and are
localized in en_US and zh_TW.
Co-Authored-By: deepseek-v4-pro