diff --git a/astrbot/core/db/po.py b/astrbot/core/db/po.py index 8fb14c19..d6621d07 100644 --- a/astrbot/core/db/po.py +++ b/astrbot/core/db/po.py @@ -162,7 +162,7 @@ class PlatformSession(SQLModel, table=True): Each session can have multiple conversations (对话) associated with it. """ - __tablename__ = "platform_sessions" + __tablename__ = "platform_sessions" # type: ignore inner_id: int | None = Field( primary_key=True, diff --git a/astrbot/core/db/sqlite.py b/astrbot/core/db/sqlite.py index 4a7f2560..19461861 100644 --- a/astrbot/core/db/sqlite.py +++ b/astrbot/core/db/sqlite.py @@ -1,7 +1,7 @@ import asyncio import threading import typing as T -from datetime import datetime, timedelta +from datetime import datetime, timedelta, timezone from sqlalchemy.ext.asyncio import AsyncSession from sqlmodel import col, delete, desc, func, or_, select, text, update @@ -788,13 +788,13 @@ class SQLiteDatabase(BaseDatabase): async with self.get_db() as session: session: AsyncSession async with session.begin(): - values = {"updated_at": datetime.now()} + values: dict[str, T.Any] = {"updated_at": datetime.now(timezone.utc)} if display_name is not None: values["display_name"] = display_name await session.execute( update(PlatformSession) - .where(PlatformSession.session_id == session_id) + .where(col(PlatformSession.session_id == session_id)) .values(**values), ) @@ -805,6 +805,6 @@ class SQLiteDatabase(BaseDatabase): async with session.begin(): await session.execute( delete(PlatformSession).where( - PlatformSession.session_id == session_id, + col(PlatformSession.session_id == session_id), ), ) diff --git a/astrbot/dashboard/routes/chat.py b/astrbot/dashboard/routes/chat.py index 2620f1a1..1ad78956 100644 --- a/astrbot/dashboard/routes/chat.py +++ b/astrbot/dashboard/routes/chat.py @@ -334,8 +334,8 @@ class ChatRoute(Route): "creator": session.creator, "display_name": session.display_name, "is_group": session.is_group, - "created_at": int(session.created_at.timestamp()), - "updated_at": int(session.updated_at.timestamp()), + "created_at": session.created_at.astimezone().isoformat(), + "updated_at": session.updated_at.astimezone().isoformat(), } ) diff --git a/dashboard/src/components/chat/ConversationSidebar.vue b/dashboard/src/components/chat/ConversationSidebar.vue index 2ea9a481..b2ebd3fe 100644 --- a/dashboard/src/components/chat/ConversationSidebar.vue +++ b/dashboard/src/components/chat/ConversationSidebar.vue @@ -54,7 +54,7 @@ {{ item.display_name || tm('conversation.newConversation') }} - {{ formatDate(item.updated_at) }} + {{ new Date(item.updated_at).toLocaleString() }}