Local App startup saved passwords such as `好` or `a+b` correctly and started the service, but the launcher encoded its URL fragment twice. The browser then submitted a different password and stopped at the site-access screen.
Both App launch URL paths now read the escaped fragment and serialize its query parameters once. Regression checks use the browser-visible fragment, which prevents an extra Go URL-decoding step from hiding the defect.
## Release notes
### 中文
- 修复 App 设置中文、空格或特殊字符作为本地站点密码后,启动时无法自动进入站点的问题。
### English
- Fixed automatic Local site entry when an App password contains Chinese text, spaces or special characters.
## Verification
- Go App and Launcher checks passed, including password round trips, reopening a launch URL, empty passwords and retained language/theme parameters.
- 105 relevant Web tests, type-checking and the Web build passed.
- A development App built from the repaired source passed the actual fresh Launcher-to-Local flow with a one-character Chinese password: one automatic JSON login returned 200, Host UI opened without manual login, the consumed fragment was cleared, and Chinese/dark preferences were retained.
Compatible App bug fix; signaling, Native control, capture and persistent room contracts are unchanged.