fix(shorts): плановая очистка, бэкап, часовой пояс и экранирование

- purgeScheduledDeletions() теперь чистит short_messages по purge_at
- short_messages добавлена в BACKUP_TABLES/BACKUP_SEQUENCE_TABLES,
  normalizeRestoreData и restore (поле автора проверяется на живость)
- сид short_messages_retention_days перенесён и в db/init.sql
- used_at по умолчанию берётся в зоне приложения (appTodayIso),
  а не по UTC
- поле «Использовано» скрыто при создании, открыто при правке
- удалён пустой escInline и мёртвые data-message/canEdit: сырой
  текст сообщения попадал в атрибут неэкранированным
This commit is contained in:
dev
2026-10-06 00:06:29 +03:00
parent ee09958644
commit d00de2cb1a
6 changed files with 73 additions and 19 deletions
+2 -2
View File
@@ -72,11 +72,11 @@
<label>Резидент (для добавления без разбора строк)</label>
<input type="text" id="shortsResident" class="settings-input" placeholder="Иванов И.И.">
</div>
<div class="settings-field" style="flex-direction:row;align-items:center;gap:8px">
<div class="settings-field" id="shortsUsedField" style="flex-direction:row;align-items:center;gap:8px;display:none">
<input type="checkbox" id="shortsUsed">
<label style="margin:0">Использовано</label>
</div>
<div class="settings-field">
<div class="settings-field" id="shortsUsedAtField" style="display:none">
<label>Дата использования</label>
<input type="date" id="shortsUsedAt" class="settings-input">
</div>