fix: properly handle removing the last split dns record

Previously it would set the value to an empty array, breaking DNS resolution for that split completely.
The correct behavior was to remove the key altogether! This fixes #231
This commit is contained in:
Aarnav Tale
2025-06-21 13:07:39 -04:00
parent 1150d1616e
commit 8819af270d
2 changed files with 3 additions and 2 deletions
+2 -1
View File
@@ -5,8 +5,9 @@
- Begin using a new SQLite database file in `/var/lib/headplane/hp_persist.db`.
- The database is created automatically if it does not exist.
- It currently stores SSH connection details and will migrate older data.
- The docker container now runs in a non-root, distroless image (closes [#255](https://github.com/tale/headplane/issues/255))
- The docker container now runs in a non-root, distroless image (closes [#255](https://github.com/tale/headplane/issues/255)).
- You may need to run `chown -R 65532:65532 <host_path>` on your data directory to ensure the container can write to it.
- Removing a Split DNS record will no longer make the split domain unresolvable by clients (closes [#231](https://github.com/tale/headplane/issues/231)).
### 0.6.0 (May 25, 2025)
- Headplane 0.6.0 now requires **Headscale 0.26.0** or newer.
+1 -1
View File
@@ -104,7 +104,7 @@ async function removeNs(formData: FormData, context: LoadContext) {
await context.hs.patch([
{
path: `dns.nameservers.split."${splitName}"`,
value: servers,
value: servers.length > 0 ? servers : null,
},
]);
}