diff --git a/meshchat.py b/meshchat.py index 047d677..c0fffde 100644 --- a/meshchat.py +++ b/meshchat.py @@ -768,6 +768,7 @@ class ReticulumMeshChat: # get query params aspect = request.query.get("aspect", None) + limit = request.query.get("limit", None) # build announces database query query = database.Announce.select() @@ -776,8 +777,12 @@ class ReticulumMeshChat: if aspect is not None: query = query.where(database.Announce.aspect == aspect) - # get announces from database - query_results = query.order_by(database.Announce.id.asc()) + # limit results + if limit is not None: + query = query.limit(limit) + + # order announces latest to oldest + query_results = query.order_by(database.Announce.updated_at.desc()) # process announces announces = [] diff --git a/src/frontend/components/messages/MessagesPage.vue b/src/frontend/components/messages/MessagesPage.vue index e6b38bc..ce48cbe 100644 --- a/src/frontend/components/messages/MessagesPage.vue +++ b/src/frontend/components/messages/MessagesPage.vue @@ -143,6 +143,7 @@ export default { const response = await window.axios.get(`/api/v1/announces`, { params: { aspect: "lxmf.delivery", + limit: 500, // limit ui to showing 500 latest announces }, });