From 4e5756e3aebe87c49be23c046817c3e98f9e45a6 Mon Sep 17 00:00:00 2001 From: Penar Musaraj Date: Tue, 25 Jul 2023 10:58:43 -0400 Subject: [PATCH] FIX: Handle empty directory columns in /u route (#22747) The `/u` route was broken when there were no directory columns because its order parameter relied on the first column's name. This commit adds a `likes_received` as the default order when there are no columns, which results in a list of users being output without any additional columns. For this very edge case, that's better than a JS error. --- app/assets/javascripts/discourse/app/routes/users.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/app/assets/javascripts/discourse/app/routes/users.js b/app/assets/javascripts/discourse/app/routes/users.js index 442f2b3b555..77355b71dff 100644 --- a/app/assets/javascripts/discourse/app/routes/users.js +++ b/app/assets/javascripts/discourse/app/routes/users.js @@ -42,7 +42,10 @@ export default DiscourseRoute.extend({ model(params) { return ajax("/directory-columns.json") .then((response) => { - params.order = params.order || response.directory_columns[0].name; + params.order = + params.order || + response.directory_columns[0]?.name || + "likes_received"; return { params, columns: response.directory_columns }; }) .catch(popupAjaxError);