[Bug] Clients display external headscale hostname rather than internal #1124

Closed
opened 2025-12-29 02:28:24 +01:00 by adam · 3 comments
Owner

Originally created by @Haarolean on GitHub (Oct 28, 2025).

Is this a support request?

  • This is not a support request

Is there an existing issue for this?

  • I have searched the existing issues

Current Behavior

Not sure if it's intended (as it's not documented either), but the clients used to display the internal (base_domain) hostname near the account(-s) before 0.27.0, now it's server_url. This looks unintentional, bc on mobile there are two labels now with the same value:

Image

Expected Behavior

expected to see the internal one as before?

Steps To Reproduce

  1. add account
  2. see hostname
  3. ???
  4. profit

Environment

- OS: alpine
- Headscale version: 0.27.0
- Tailscale version: 1.88.4

Runtime environment

  • Headscale is behind a (reverse) proxy
  • Headscale runs in a container

Debug information

Originally created by @Haarolean on GitHub (Oct 28, 2025). ### Is this a support request? - [x] This is not a support request ### Is there an existing issue for this? - [x] I have searched the existing issues ### Current Behavior Not sure if it's intended (as it's not documented either), but the clients used to display the internal (`base_domain`) hostname near the account(-s) before 0.27.0, now it's `server_url`. This looks unintentional, bc on mobile there are two labels now with the same value: ![Image](https://github.com/user-attachments/assets/54b26bfe-7872-40a2-af4a-785ecc7ef5d5) ### Expected Behavior expected to see the internal one as before? ### Steps To Reproduce 1. add account 2. see hostname 3. ??? 4. profit ### Environment ```markdown - OS: alpine - Headscale version: 0.27.0 - Tailscale version: 1.88.4 ``` ### Runtime environment - [x] Headscale is behind a (reverse) proxy - [x] Headscale runs in a container ### Debug information -
adam added the bug label 2025-12-29 02:28:24 +01:00
adam closed this issue 2025-12-29 02:28:24 +01:00
Author
Owner

@kradalby commented on GitHub (Nov 10, 2025):

I'm not sure what the issue is here. I am finding it hard to see what is changed and what is expected.

I believe there was a change to make the server name being used in the UI to make it clear which control you are connected too. It was deliberate to not use the base name.

@kradalby commented on GitHub (Nov 10, 2025): I'm not sure what the issue is here. I am finding it hard to see what is changed and what is expected. I believe there was a change to make the server name being used in the UI to make it clear which control you are connected too. It was deliberate to not use the base name.
Author
Owner

@Haarolean commented on GitHub (Nov 10, 2025):

@kradalby you got it right. It was the base name before, now it's the domain name.

The problem is, given how UI looks (original screenshot above), it was not intended to be like that. As you can see, the tailnet name (server-url) is displayed twice. What's the point of displaying it twice? Before that, it was two different names — one for server_url, one for base_domain, this way you'd see both the real domain name and the tailnet one.
I agree that the domain name, rather than the tailnet name, looks better in other places, like the main screen, but not sure about this one.

Also, I didn't see this change in the changelog, so I thought it's a regression, thus, this issue.

@Haarolean commented on GitHub (Nov 10, 2025): @kradalby you got it right. It was the base name before, now it's the domain name. The problem is, given how UI looks (original screenshot above), it was not intended to be like that. As you can see, the tailnet name (server-url) is displayed twice. What's the point of displaying it twice? Before that, it was two different names — one for `server_url`, one for `base_domain`, this way you'd see both the real domain name and the tailnet one. I agree that the domain name, rather than the tailnet name, looks better in other places, like the main screen, but not sure about this one. Also, I didn't see this change in the changelog, so I thought it's a regression, thus, this issue.
Author
Owner

@kradalby commented on GitHub (Nov 10, 2025):

After investigating what the iOS app does, since this does not happen on macOS.

Image

As shown in the screenshot, if an account is on Tailscale SaaS, it will not show a second line for the control server. If the account is on a separate server it will list the server as a second line.

The domain we send to the client is intended to be the same as the control server, as that describes which server. you are on, much more than the base_domain. iOS is the odd one out here, and the other clients benefits from this change, so my conclusion is that while it is slightly annoying, we will not do anything about it, at least for now. This domain is also used to display the correct server in the main view when on the account.

Also, I didn't see this change in the changelog, so I thought it's a regression, thus, this issue.

I must have missed it, apologies for that.

@kradalby commented on GitHub (Nov 10, 2025): After investigating what the iOS app does, since this does not happen on macOS. <img width="1290" height="566" alt="Image" src="https://github.com/user-attachments/assets/d3a705b9-c8a8-4787-84b4-4469b97aa385" /> As shown in the screenshot, if an account is on Tailscale SaaS, it will not show a second line for the control server. If the account is on a separate server it will list the server as a second line. The domain we send to the client is intended to be the same as the control server, as that describes which server. you are on, much more than the base_domain. iOS is the odd one out here, and the other clients benefits from this change, so my conclusion is that while it is slightly annoying, we will not do anything about it, at least for now. This domain is also used to display the correct server in the main view when on the account. > Also, I didn't see this change in the changelog, so I thought it's a regression, thus, this issue. I must have missed it, apologies for that.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/headscale#1124