web: картинки заметки отдаются через ресайз

Раньше страница ссылалась прямо на файлы Memos, и в браузер уезжали
исходники с телефона на десятки мегабайт. Теперь вложения идут через
эндпоинт /image/{uid}: скачиваем тем же клиентом, что и телеграм-часть,
ужимаем ImageMagick до 1600px по большей стороне и кэшируем результат
в памяти (FIFO на 20 картинок) плюс Cache-Control на час.

GIF и SVG отдаются без конверсии: анимация и вектор в JPEG теряются.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
av
2026-08-06 12:26:33 +03:00
co-authored by Claude Opus 5
parent 8e8cc990c4
commit 39f4a4dff9
4 changed files with 185 additions and 10 deletions
+1 -1
View File
@@ -69,7 +69,7 @@ func main() {
memorySvc := memory.NewService(selector, store, client, loc, logger)
// Web handler
handler := web.NewHandler(memorySvc, cfg.Memos.URL, cfg.Memos.PublicURL, cfg.General.AllowLoadMore, logger)
handler := web.NewHandler(memorySvc, client, cfg.Memos.URL, cfg.Memos.PublicURL, cfg.General.AllowLoadMore, logger)
// Telegram bot. Авторизация в Telegram идёт в фоне (Bot.Run) с повторами:
// недоступный api.telegram.org не должен мешать старту веб-части.