db48f27842
Cherry-pick from ChatTwo upstream f35b7d3 (Infiziert90, 2026-05-12). Chat.SetChannel allocates a native Utf8String for the target name and then runs a validity check. The previous early return on an invalid linkshell skipped Dtor and leaked the native allocation; every invalid linkshell switch added one Utf8String to the unmanaged heap. - Renamed ValidAnyLinkshell to IsChannelOrExistingLinkshell so the call-site reads naturally. - Wrapped ChangeChatChannel in the validity check instead of early-returning. Dtor now runs on every path. - ChatLogWindow follows the rename at its single call-site.