Skip to content

Preserve user-entered IDN addresses for display - #1203

Open
chiphead2332 wants to merge 2 commits into
Moonfin-Client:mainfrom
chiphead2332:feature/preserve-idn-display-address
Open

Preserve user-entered IDN addresses for display#1203
chiphead2332 wants to merge 2 commits into
Moonfin-Client:mainfrom
chiphead2332:feature/preserve-idn-display-address

Conversation

@chiphead2332

Copy link
Copy Markdown
Contributor

Pull Request

Summary

Preserve the user-entered internationalized domain name (IDN) as the server's display address while continuing to use its ASCII/Punycode form for network requests.

This allows addresses such as https://bücher.de to remain recognizable in Moonfin's UI instead of being replaced by https://xn--bcher-kva.de after normalization or connection.

Related Issues

Type of Change

  • Bug fix
  • New feature
  • Refactor
  • Performance improvement
  • UI/UX update
  • Documentation update
  • Build/CI change
  • Other (describe):

Changes Made

  • Preserve the user-entered server address separately from the normalized address used for network requests.
  • Keep Unicode IDN hostnames readable when displaying saved server addresses.
  • Preserve the resolved network address when redirects or server path discovery require it, rather than incorrectly restoring the original display hostname.
  • Add regression coverage for Unicode IDNs, explicit Punycode input, persistence, legacy saved servers, and redirect/resolved-address behavior.

Platform

  • Android
  • iOS
  • tvOS
  • Web
  • macOS
  • Windows
  • Linux
  • All / Shared code

Testing

The change was validated with automated formatting, static analysis, targeted regression tests, the adjacent add-server UI test, and manual testing on Windows.

  • Tested on emulator / simulator
  • Tested on physical device
  • Manual testing completed
  • Not tested (explain why):

Test Steps

  1. Add a server using a Unicode IDN.
  2. Confirm it connects successfully and the saved server entry displays the Unicode address rather than the normalized xn--... form.
  3. Close and reopen Moonfin, confirm the Unicode display address persists, and reconnect to the saved server successfully.
  4. Verify that explicitly entered Punycode is not decoded into Unicode for display.
  5. Verify that redirects or discovered server base URLs that change the host continue to use the resolved address rather than the original display hostname.

Screenshots (if applicable)

Not applicable.

Checklist

  • Code builds successfully
  • Code follows project style and conventions
  • No unnecessary commented-out code
  • No new warnings introduced

@chiphead2332 chiphead2332 changed the title Feature/preserve idn display address Preserve user-entered IDN addresses for display Aug 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant