V0.8.8 removed the pinning feature

This commit is contained in:
2026-03-13 12:57:36 -04:00
parent 83b2105a9a
commit 9f7266bc6a
8 changed files with 32 additions and 193 deletions

View File

@@ -1,6 +1,6 @@
{
"name": "jama-backend",
"version": "0.8.7",
"version": "0.8.8",
"description": "TeamChat backend server",
"main": "src/index.js",
"scripts": {

View File

@@ -54,11 +54,9 @@ router.get('/', authMiddleware, (req, res) => {
(SELECT m.content FROM messages m WHERE m.group_id = g.id AND m.is_deleted = 0 ORDER BY m.created_at DESC LIMIT 1) as last_message,
(SELECT m.created_at FROM messages m WHERE m.group_id = g.id AND m.is_deleted = 0 ORDER BY m.created_at DESC LIMIT 1) as last_message_at,
(SELECT m.user_id FROM messages m WHERE m.group_id = g.id AND m.is_deleted = 0 ORDER BY m.created_at DESC LIMIT 1) as last_message_user_id,
CASE WHEN pc.group_id IS NOT NULL THEN 1 ELSE 0 END as is_pinned
FROM groups g
LEFT JOIN pinned_conversations pc ON pc.group_id = g.id AND pc.user_id = ?
WHERE g.type = 'public'
ORDER BY is_pinned DESC, g.is_default DESC, g.name ASC
ORDER BY g.is_default DESC, g.name ASC
`).all(userId);
// For direct messages, replace name with opposite user's display name
@@ -69,14 +67,12 @@ router.get('/', authMiddleware, (req, res) => {
(SELECT m.content FROM messages m WHERE m.group_id = g.id AND m.is_deleted = 0 ORDER BY m.created_at DESC LIMIT 1) as last_message,
(SELECT m.created_at FROM messages m WHERE m.group_id = g.id AND m.is_deleted = 0 ORDER BY m.created_at DESC LIMIT 1) as last_message_at,
(SELECT m.user_id FROM messages m WHERE m.group_id = g.id AND m.is_deleted = 0 ORDER BY m.created_at DESC LIMIT 1) as last_message_user_id,
CASE WHEN pc.group_id IS NOT NULL THEN 1 ELSE 0 END as is_pinned
FROM groups g
JOIN group_members gm ON g.id = gm.group_id AND gm.user_id = ?
LEFT JOIN users u ON g.owner_id = u.id
LEFT JOIN pinned_conversations pc ON pc.group_id = g.id AND pc.user_id = ?
WHERE g.type = 'private'
ORDER BY is_pinned DESC, last_message_at DESC NULLS LAST
`).all(userId, userId);
ORDER BY last_message_at DESC NULLS LAST
`).all(userId);
// For direct groups, set the name to the other user's display name
// Uses direct_peer1_id / direct_peer2_id so the name survives after a user leaves