feat: add online presence tracking with last_seen column and configurable timeout

Add `last_seen` column to users table with index, implement `set_last_seen` and `get_online_users` database functions, expose presence config env vars (`PRESENCE_TIMEOUT_SECONDS`, `PRESENCE_ONLINE_LIMIT`, `PRESENCE_ONLINE_MARGIN_SECONDS`), include `last_seen` in follow list responses, and update profile docs to mention online indicator.
This commit is contained in:
2026-07-04 22:08:20 +00:00
parent 7002b23eeb
commit 0f872336b1
41 changed files with 935 additions and 94 deletions
+2
View File
@@ -49,6 +49,7 @@ from devplacepy.seo import (
website_schema,
profile_page_schema,
)
from devplacepy.services import presence
from devplacepy.services.audit import record as audit
from devplacepy.services.correction import schedule_correction
from devplacepy.services.ai_modifier import schedule_modification
@@ -369,6 +370,7 @@ async def profile_page(
"is_blocked": is_blocked,
"is_muted": is_muted,
"is_owner": is_owner,
"profile_online": presence.is_online(profile_user),
"viewer_is_admin": viewer_is_admin,
"media": media,
"media_pagination": media_pagination,