Files
messageLogger/docs/how-it-works.md
T
lyuksovannyyandClaude Opus 5.5 b86cc8a1c8
Publish plugin / publish (push) Successful in 4s
[no bump] Move technical docs to docs/, add icon and PNG export tool
README now carries the icon, TL;DR, description and features; the
technical sections live in docs/. tools/icon_png.py renders
images/icon.svg to a square PNG (512x512 by default, --resolution N).
plugin.json points at the plugin's own icon.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 14:16:37 +02:00

1.0 KiB

How Message Logger works

Server sync and caching

The server only points at copies (logger/activity group message ids); the client reads them through its own session, so the account must be a member of those groups.

The server is asked about a chat only when needed: when it wasn't checked within the last hour (from the oldest loaded message on; the answer replaces the chat's cached marks), when older history is loaded past the checked range (that part only), or after an edit/delete event in the chat. Answers hold at most 100 marks (edited/deleted) and 100 missing ids, newest first. Marks are cached per chat in the plugin's SQLite (state.db, no size cap), so a chat opened again — even offline — shows them at once, and deleted messages are restored from the cache. An expired chat keeps its cache until the next successful check, which replaces it and starts over. Cached answers older than Cache lifetime (1/7/30/90/365 days or never; 30 by default) are removed, checked once a day (from local midnight) and when the setting changes.