added media fixes, search, push updates, pwa, metrics. preparing release 1.0
CI / Go (build + vet + test) (push) Canceled after 0s
CI / Web (build + lint) (push) Canceled after 0s

This commit is contained in:
vantablackTea
2026-09-27 23:26:15 +03:00
parent 855a62755c
commit 6fc6d977bf
59 changed files with 6823 additions and 113 deletions
+55
View File
@@ -181,4 +181,59 @@ func TestIntegration(t *testing.T) {
if err != nil || !belongs {
t.Fatalf("MessageBelongsToConversation = %v, %v; want true", belongs, err)
}
// Search
hits, err := db.SearchMessages(ctx, u1.ID, "hell", 10)
if err != nil {
t.Fatalf("SearchMessages: %v", err)
}
if len(hits) != 1 || hits[0].ID != msg.ID {
t.Fatalf("SearchMessages = %+v, want single hit for message %d", hits, msg.ID)
}
if hits[0].ConversationType != "dm" {
t.Fatalf("SearchMessages conversation type = %q, want dm", hits[0].ConversationType)
}
if hits, _ := db.SearchMessages(ctx, u1.ID, "", 10); hits != nil {
t.Fatalf("SearchMessages empty query = %v, want nil", hits)
}
if hits, _ := db.SearchMessages(ctx, u1.ID, "zzz-not-found", 10); len(hits) != 0 {
t.Fatalf("SearchMessages no-match = %d hits, want 0", len(hits))
}
// Push subscriptions
sub, err := db.CreatePushSubscription(ctx, PushSubscription{
UserID: u1.ID,
Endpoint: "https://push.example/abc",
P256dh: "p256dh-key",
Auth: "auth-key",
})
if err != nil {
t.Fatalf("CreatePushSubscription: %v", err)
}
sub2, err := db.CreatePushSubscription(ctx, PushSubscription{
UserID: u1.ID,
Endpoint: "https://push.example/abc",
P256dh: "p256dh-key2",
Auth: "auth-key2",
})
if err != nil {
t.Fatalf("CreatePushSubscription upsert: %v", err)
}
if sub2.ID != sub.ID {
t.Fatalf("upsert created a new row: %d vs %d", sub2.ID, sub.ID)
}
subs, err := db.ListPushSubscriptionsForUser(ctx, u1.ID)
if err != nil || len(subs) != 1 {
t.Fatalf("ListPushSubscriptionsForUser = %v, %v; want 1", subs, err)
}
if subs[0].P256dh != "p256dh-key2" {
t.Fatalf("upsert did not update keys: %q", subs[0].P256dh)
}
if err := db.DeletePushSubscription(ctx, u1.ID, sub.Endpoint); err != nil {
t.Fatalf("DeletePushSubscription: %v", err)
}
subs, _ = db.ListPushSubscriptionsForUser(ctx, u1.ID)
if len(subs) != 0 {
t.Fatalf("after delete = %d subs, want 0", len(subs))
}
}