Repository: miniflux/v2 (language: go)

Issue:
Settings > 'Default home' & 'Catergories Sorting' Null after triggering an error
Trigger an error to be displayed on the `/settings` page will cause the "Default home page" and the "Categories sorting" fields to reload with "null".
Once this happens the user is blocked from updating any settings as they will continuously receive the "The username, theme, language and timezone fields are mandatory." error.
![minifux error](https://github.com/miniflux/v2/assets/7475401/c8aba54b-1b37-48d8-a171-69d8f8ddd0a9)

### Steps to recreate
1. Go to the `/settings` Screen
2. Enter different passwords and click 'Update' to trigger the `Passwords are not the same.` error.
3. "Default home page" and the "Categories sorting" fields are now null and the drop down has no options.

![minifux error](https://github.com/miniflux/v2/assets/7475401/4c71ebf8-4899-4586-96fe-2fc61030ace3)

### Expected Result
On triggering a error the "Default home page" and the "Categories sorting" form fields needs to retain it's values so as to allow the user to correct the original issue.


Discussion / hints:

Fix patch:
diff --git a/internal/ui/settings_update.go b/internal/ui/settings_update.go
index fceec0dca49..e84cd1ff456 100644
--- a/internal/ui/settings_update.go
+++ b/internal/ui/settings_update.go
@@ -30,6 +30,12 @@ func (h *handler) updateSettings(w http.ResponseWriter, r *http.Request) {
 		return
 	}
 
+	creds, err := h.store.WebAuthnCredentialsByUserID(loggedUser.ID)
+	if err != nil {
+		html.ServerError(w, r, err)
+		return
+	}
+
 	settingsForm := form.NewSettingsForm(r)
 
 	sess := session.New(h.store, request.SessionID(r))
@@ -42,6 +48,10 @@ func (h *handler) updateSettings(w http.ResponseWriter, r *http.Request) {
 	view.Set("user", loggedUser)
 	view.Set("countUnread", h.store.CountUnreadEntries(loggedUser.ID))
 	view.Set("countErrorFeeds", h.store.CountUserFeedsWithErrors(loggedUser.ID))
+	view.Set("default_home_pages", model.HomePages())
+	view.Set("categories_sorting_options", model.CategoriesSortingOptions())
+	view.Set("countWebAuthnCerts", h.store.CountWebAuthnCredentialsByUserID(loggedUser.ID))
+	view.Set("webAuthnCerts", creds)
 
 	if validationErr := settingsForm.Validate(); validationErr != nil {
 		view.Set("errorMessage", validationErr.Translate(loggedUser.Language))


Test patch: