safe move + sqlite WAL + log indexes + backup with logs
- fix: imap folder names with spaces (RFC3501 quoting in move/create/select) - fix: move only deletes source after COPY + Message-ID verification in target - fix: backup endpoint hung on sqlite write locks — enable WAL + busy_timeout - perf: indexes on filter_logs(created_at, level, account_id+created_at) for fast log queries on millions of rows - feat: optional "logs mit sichern" checkbox in backup export, restore on import - UI: backup download uses fetch+blob with error display instead of location.href Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -158,7 +158,7 @@ def _poll_account_sync(account_id: int) -> None:
|
||||
try:
|
||||
# Ordner muss ausgewählt sein
|
||||
if not hasattr(client, '_current_folder') or client._current_folder != folder:
|
||||
client.conn.select(folder)
|
||||
client.select_folder(folder)
|
||||
client._current_folder = folder
|
||||
mail = client.fetch_mail(uid)
|
||||
except Exception as e:
|
||||
@@ -195,7 +195,10 @@ def _poll_account_sync(account_id: int) -> None:
|
||||
total_matched += 1
|
||||
# Aktionen ausführen
|
||||
for action in rule.actions:
|
||||
success = execute_action(client, mail, action, smtp_config)
|
||||
success = execute_action(
|
||||
client, mail, action, smtp_config,
|
||||
source_folder=folder,
|
||||
)
|
||||
action_label = action.action_type.value
|
||||
param = action.parameter or ""
|
||||
if param:
|
||||
|
||||
Reference in New Issue
Block a user