diff --git a/.env.example b/.env.example index 876a95b..57e874a 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.7.8 +JAMA_VERSION=0.7.9 # Default admin credentials (used on FIRST RUN only) ADMIN_NAME=Admin User diff --git a/backend/package.json b/backend/package.json index 946c1d0..4a9511e 100644 --- a/backend/package.json +++ b/backend/package.json @@ -1,6 +1,6 @@ { "name": "jama-backend", - "version": "0.7.8", + "version": "0.7.9", "description": "TeamChat backend server", "main": "src/index.js", "scripts": { diff --git a/build.sh b/build.sh index 43d53e0..7d1e33f 100644 --- a/build.sh +++ b/build.sh @@ -13,7 +13,7 @@ # ───────────────────────────────────────────────────────────── set -euo pipefail -VERSION="${1:-0.7.8}" +VERSION="${1:-0.7.9}" ACTION="${2:-}" REGISTRY="${REGISTRY:-}" IMAGE_NAME="jama" diff --git a/frontend/package.json b/frontend/package.json index 4864008..de8567c 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -1,6 +1,6 @@ { "name": "jama-frontend", - "version": "0.7.8", + "version": "0.7.9", "private": true, "scripts": { "dev": "vite", diff --git a/frontend/src/components/Sidebar.jsx b/frontend/src/components/Sidebar.jsx index 2549322..375101e 100644 --- a/frontend/src/components/Sidebar.jsx +++ b/frontend/src/components/Sidebar.jsx @@ -82,16 +82,15 @@ export default function Sidebar({ groups, activeGroupId, onSelectGroup, notifica ]; const publicFiltered = allGroups.filter(g => g.type === 'public'); - const dms = allGroups - .filter(g => g.type === 'private' && !!g.is_direct) + // All private groups (DMs + group chats) sorted together by most recent message + const privateFiltered = allGroups + .filter(g => g.type === 'private') .sort((a, b) => { if (!a.last_message_at && !b.last_message_at) return 0; if (!a.last_message_at) return 1; if (!b.last_message_at) return -1; return new Date(b.last_message_at) - new Date(a.last_message_at); }); - const privateNonDM = allGroups.filter(g => g.type === 'private' && !g.is_direct); - const privateFiltered = [...privateNonDM, ...dms]; const getNotifCount = (groupId) => notifications.filter(n => n.groupId === groupId).length; @@ -176,7 +175,7 @@ export default function Sidebar({ groups, activeGroupId, onSelectGroup, notifica )} {privateFiltered.length > 0 && (