diff --git a/src/agent/tables.ts b/src/agent/tables.ts
index 3ed3c4ae..b418f3f7 100644
--- a/src/agent/tables.ts
+++ b/src/agent/tables.ts
@@ -6,6 +6,7 @@ import {Table, listener, registry} from "src/agent/storage"
import user from "src/agent/user"
const sortByCreatedAt = sortBy(([k, x]) => x.value.created_at)
+const sortByLastSeen = sortBy(([k, x]) => x.value.last_seen)
export const people = new Table("people", "pubkey", {
cache: new Cache({
@@ -28,7 +29,9 @@ export const notifications = new Table("notifications", "id")
export const contacts = new Table("contacts", "pubkey")
export const rooms = new Table("rooms", "id")
export const relays = new Table("relays", "url")
-export const routes = new Table("routes", "id")
+export const routes = new Table("routes", "id", {
+ cache: new Cache({max: 5000, sort: sortByLastSeen}),
+})
listener.connect()
diff --git a/src/routes/MessagesList.svelte b/src/routes/MessagesList.svelte
index ae3d0668..320ef69d 100644
--- a/src/routes/MessagesList.svelte
+++ b/src/routes/MessagesList.svelte
@@ -17,8 +17,10 @@
activeTab = tab
}
- const accepted = watch("contacts", t => t.all({accepted: true}))
- const requests = watch("contacts", t => t.all({"accepted:!eq": true}))
+ const accepted = watch("contacts", t => sortBy(e => -e.lastMessage, t.all({accepted: true})))
+ const requests = watch("contacts", t =>
+ sortBy(e => -e.lastMessage, t.all({"accepted:!eq": true}))
+ )
const getDisplay = tab => ({
title: toTitle(tab),
diff --git a/src/routes/Notifications.svelte b/src/routes/Notifications.svelte
index 2662fb8a..ea5b020d 100644
--- a/src/routes/Notifications.svelte
+++ b/src/routes/Notifications.svelte
@@ -26,7 +26,7 @@
$: events = $notifications
.slice(0, limit)
.map(e => [e, findReplyId(e)])
- .filter(([e, ref]) => userEvents.get(ref))
+ .filter(([e, ref]) => userEvents.get(ref)?.kind === 1)
.reduce((r, [e, ref]) => {
const prev = last(r)
const prevTimestamp = pluck("created_at", prev?.notifications || []).reduce(max, 0)
diff --git a/src/routes/PersonDetail.svelte b/src/routes/PersonDetail.svelte
index da91703c..633f9431 100644
--- a/src/routes/PersonDetail.svelte
+++ b/src/routes/PersonDetail.svelte
@@ -244,8 +244,8 @@
{:else if activeTab === "likes"}