Managed to analyse it further, so here's the conclusion post WireGuard "client configuration" GUI stuff - #4 by Foxy
So this basically becomes a feature request/request to improve gui to be less prone to errors.
Original starting post's content (not actuallytrue, sorry!):
Related closed post - forum.gl-inet.com/t/wireguard-client-qr-codes-in-glinet-gui-are-wrong/58445
It seems in the closed post people focused on the fact that someone suggested the default value to include 0.0.0.0/0 and NOT on the actual issue.
Actual issue is that the address fields are switched - in the client, the first field (Interface>Addresses) should have the IP that device is supposed to claim for itself, while Peer>AllowedIPs is supposed to hold connection to which ips is supposed to be tunneled.
Explanation: Client's allowed ip is the opposite of server's - both mean what the other side manages - server's "allowed ips" means "what ips is the client allowed to take for itself", client's "allowed ips" means "what ips to route through the tunnel".
I spent too much time debugging why my tunnel doesn't work because I trusted you </3 - and wireguard accepts only subnets with 0s in the host part, so just switching those around doesn't work and gives "bad address" error in the client.
(That might be why for your programmers the current version looks "right" - because /32 is both host and network, no “host bits” == all bits are 0s. So the client accepts that order.)
Let me give you my generated config (shown by gui) as example:
[Interface]
Address = 192.168.6.2/24,fd00:9c05:59b2:402c::2/64
PrivateKey =...
DNS = 192.168.6.1,fd00:9c05:59b2:402c::1
MTU = 1420
[Peer]
AllowedIPs = 192.168.6.2/32
Endpoint = ...:51820
PersistentKeepalive = 25
PublicKey =...
While the correct settings are:
[Interface]
Address = 192.168.6.2/32, fd00:9c05:59b2:402c::2/128
PrivateKey =...
DNS = 192.168.6.1,fd00:9c05:59b2:402c::1
MTU = 1420
[Peer]
AllowedIPs = 192.168.6.0/24,fd00:9c05:59b2:402c::/64,192.168.5.0/24
Endpoint = ...:51820
PersistentKeepalive = 25
PublicKey =...
- As I said, host bits need to be zeroed - 192.168.6.2/24 had to be switched to .0/24 - set the host bits to 0, same with ::2 becoming just :: - THAT is what makes WG client give "bad address" error.
- .5.0 is my normal LAN, the generated settings don't add that despite me setting "Allow Remote Access to the LAN Subnet" - just a detail to fix alongside it.
- Also notice that the pregenerared settings only put ipv6 in one place.
I can explain the symptoms I got with the pregenerared config if anyone wants that. But the fact is: after switching them up (with the host bits zeroed), the tunnel started working perfectly.
Edit: forgot to say: Flint 3, firmware 4.9.0 - but the upgrade notes didn't say anything about wireguard and the old thread is over a year old, so I assumed no one touched that

