diff --git a/.env.example b/.env.example index 68fc71c..54d9cbe 100644 --- a/.env.example +++ b/.env.example @@ -7,7 +7,7 @@ TZ=UTC # Copy this file to .env and customize # Image version to run (set by build.sh, or use 'latest') -JAMA_VERSION=0.3.7 +JAMA_VERSION=0.3.8 # Default admin credentials (used on FIRST RUN only) ADMIN_NAME=Admin User diff --git a/backend/package.json b/backend/package.json index c994f05..582d0e4 100644 --- a/backend/package.json +++ b/backend/package.json @@ -1,6 +1,6 @@ { "name": "jama-backend", - "version": "0.3.7", + "version": "0.3.8", "description": "TeamChat backend server", "main": "src/index.js", "scripts": { diff --git a/backend/src/routes/groups.js b/backend/src/routes/groups.js index 8b710bc..5e099c8 100644 --- a/backend/src/routes/groups.js +++ b/backend/src/routes/groups.js @@ -51,7 +51,8 @@ router.get('/', authMiddleware, (req, res) => { SELECT g.*, (SELECT COUNT(*) FROM messages m WHERE m.group_id = g.id AND m.is_deleted = 0) as message_count, (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.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 FROM groups g WHERE g.type = 'public' ORDER BY g.is_default DESC, g.name ASC @@ -63,7 +64,8 @@ router.get('/', authMiddleware, (req, res) => { u.name as owner_name, (SELECT COUNT(*) FROM messages m WHERE m.group_id = g.id AND m.is_deleted = 0) as message_count, (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.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 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 @@ -88,7 +90,10 @@ router.get('/', authMiddleware, (req, res) => { const otherUserId = g.direct_peer1_id === userId ? g.direct_peer2_id : g.direct_peer1_id; if (otherUserId) { const other = db.prepare('SELECT display_name, name FROM users WHERE id = ?').get(otherUserId); - if (other) g.name = other.display_name || other.name; + if (other) { + g.peer_real_name = other.name; // always the real name for sidebar title + g.name = other.display_name || other.name; // display name for chat header + } } } return g; diff --git a/build.sh b/build.sh index 6f8ec71..f5452ac 100644 --- a/build.sh +++ b/build.sh @@ -13,7 +13,7 @@ # ───────────────────────────────────────────────────────────── set -euo pipefail -VERSION="${1:-0.3.7}" +VERSION="${1:-0.3.8}" ACTION="${2:-}" REGISTRY="${REGISTRY:-}" IMAGE_NAME="jama" diff --git a/frontend/package.json b/frontend/package.json index 45fc143..fecb683 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -1,6 +1,6 @@ { "name": "jama-frontend", - "version": "0.3.7", + "version": "0.3.8", "private": true, "scripts": { "dev": "vite", diff --git a/frontend/src/components/Sidebar.jsx b/frontend/src/components/Sidebar.jsx index bcbf038..37f4714 100644 --- a/frontend/src/components/Sidebar.jsx +++ b/frontend/src/components/Sidebar.jsx @@ -99,14 +99,19 @@ export default function Sidebar({ groups, activeGroupId, onSelectGroup, notifica