Backport #28454 (the only conflict is caused by some comments) * Close #24483 * Close #28123 * Close #23682 * Close #23149 (cherry picked from commit a3f403f438e7f5b5dca3a5042fae8e68a896b1e7) Conflicts: modules/setting/ui.go trivial context conflict