Adding multiple aliases to an app Fails
-
I have a Surfer app that needed typo aliases, so I added 6 at once, and the save dialog spins for a while and throws a RED error popup message.
Something about a property being set to 'null'.
It also keeps the save button spinning, so one can't try again and one has to exit the app config and go back in where all changes are lost.
-
Dec 14 10:13:13 box:dns/cloudflare get: []
Dec 14 10:13:15 box:dns/cloudflare get: []
Dec 14 10:13:17 box:dns/cloudflare get: []
Dec 14 10:13:18 box:dns/cloudflare get: []
Dec 14 10:13:19 box:dns/cloudflare get: []
Dec 14 10:13:20 box:dns/cloudflare get: []
Dec 14 10:13:23 box:dns/cloudflare get: ["IP"]
Cannot read property 'message' of null
at Function.BoxError.toHttpError (/home/yellowtent/box/src/boxerror.js:107:16)
at setLocation (/home/yellowtent/box/src/routes/apps.js:413:37)
at runMicrotasks (<anonymous>)
at processTicksAndRejections (internal/process/task_queues.js:95:5) {
status: 500,
internalError: TypeError: Cannot read property 'message' of null
at Object.setLocation (/home/yellowtent/box/src/apps.js:1686:111)
at runMicrotasks (<anonymous>)
at processTicksAndRejections (internal/process/task_queues.js:95:5),
details: null
POST /api/v1/apps/5174ca9b-9b4e-44ee-aff9-633c3b52f243/configure/location 500 Internal Server Error Cannot read property 'message' of null 78.794 ms - 94 -
@robi ok so good catch. The error you are seeing is an actual bug, triggered by some other validation error most likely. Which is why it is not reproducible here.
For a start, can you manually apply this change and then run
systemctl restart box
and attempt to set the aliases again? -
@nebulon this appears to do the trick.
The configuration after several seconds proceeded with the green progress bar with 6 added aliases.
Not sure why it waits for DNS propagation as the changes are instant.. looong wait.
it seems to wait for ALL the domains nameservers to respond, when it could do well with just the first. The rest will catch up in a few seconds as they update too.
It also does it for all the nameserver IPs, so if there are 4, it does it 4 times per each instance, no wonder it takes forever.
I'm sure you can find a way to optimize this as a non-blocking operation.
Thank you
-
@robi said in Adding multiple aliases to an app Fails:
it seems to wait for ALL the domains nameservers to respond, when it could do well with just the first. The rest will catch up in a few seconds as they update too.
this is done because we cannot predict which nameserver will be used by Let's Encrypt or the browser. By waiting on all nameservers, the whole process is more reliable. Especially for the end user, if the browser hits NXDOMAIN it can get complicated to clear the DNS cache.