fix(mail): correct indentation for mail.after_create do_action
Check Cross-Plugin Imports / check (push) Has been cancelled

This commit is contained in:
Agent Zero
2026-08-17 09:01:28 +02:00
parent 8de35a24a7
commit 371f2a55fe
6 changed files with 583 additions and 584 deletions
+1 -1
View File
@@ -826,7 +826,7 @@ async def imap_sync_folder(
# Lifecycle hook: mail.after_receive
from app.core.hooks import do_action
await do_action("mail.after_receive", {'mail_id': str(mail.id), 'tenant_id': str(tenant_id), 'account_id': str(account.id), 'folder_id': str(folder.id), 'subject': subject, 'from_address': from_addr}, db=db, tenant_id=tenant_id)
await do_action("mail.after_create", {'mail_id': str(mail.id), 'tenant_id': str(tenant_id), 'subject': subject, 'from_address': from_addr}, db=db, tenant_id=tenant_id)
await do_action("mail.after_create", {'mail_id': str(mail.id), 'tenant_id': str(tenant_id), 'subject': subject, 'from_address': from_addr}, db=db, tenant_id=tenant_id)
# Outbox event: mail.received
from app.core.outbox import enqueue_outbox_event
+12 -12
View File
@@ -1,8 +1,8 @@
{
"timestamp": "2026-08-17T07:17:53.788386",
"total_time": 6.71,
"timestamp": "2026-08-17T07:22:14.401718",
"total_time": 5.85,
"total_scripts": 7,
"total_issues": 1109,
"total_issues": 1173,
"passed": 1,
"failed": 6,
"skipped": 0,
@@ -12,23 +12,23 @@
"description": "Frontend\u2194Backend API Contracts",
"status": "FAIL",
"exit_code": 246,
"elapsed": 0.31,
"elapsed": 0.22,
"issues": 758
},
{
"name": "trace_hooks",
"description": "Hook Registrations vs Triggers",
"status": "FAIL",
"exit_code": 1,
"elapsed": 0.05,
"issues": 0
"exit_code": 64,
"elapsed": 0.29,
"issues": 64
},
{
"name": "trace_functions",
"description": "Dead Functions (defined but never called)",
"status": "FAIL",
"exit_code": 3,
"elapsed": 2.6,
"elapsed": 2.47,
"issues": 3
},
{
@@ -36,7 +36,7 @@
"description": "Unused Store Actions/State",
"status": "FAIL",
"exit_code": 67,
"elapsed": 0.12,
"elapsed": 0.09,
"issues": 323
},
{
@@ -44,7 +44,7 @@
"description": "Contract Attribute Mismatches",
"status": "PASS",
"exit_code": 0,
"elapsed": 2.01,
"elapsed": 1.41,
"issues": 0
},
{
@@ -52,7 +52,7 @@
"description": "Plugin\u2192Manifest\u2192Frontend Verkabelung",
"status": "FAIL",
"exit_code": 24,
"elapsed": 0.14,
"elapsed": 0.11,
"issues": 24
},
{
@@ -60,7 +60,7 @@
"description": "Broken/Missing Imports",
"status": "FAIL",
"exit_code": 1,
"elapsed": 1.49,
"elapsed": 1.24,
"issues": 1
}
]
@@ -1,6 +1,6 @@
{
"py_defs": 1616,
"py_dead": 629,
"py_defs": 1575,
"py_dead": 627,
"ts_defs": 959,
"ts_dead": 442,
"critical_dead": [
+37 -38
View File
@@ -114,6 +114,10 @@
"file": "app/services/contact_service.py",
"hook_name": "contact.before_delete"
},
{
"file": "app/services/contact_service.py",
"hook_name": "contact.after_delete"
},
{
"file": "app/services/contact_service.py",
"hook_name": "contact.format_display_name"
@@ -194,6 +198,10 @@
"file": "app/plugins/builtins/dms/routes.py",
"hook_name": "dms.after_upload"
},
{
"file": "app/plugins/builtins/dms/routes.py",
"hook_name": "dms_file.after_create"
},
{
"file": "app/plugins/builtins/dms/routes.py",
"hook_name": "dms.before_update"
@@ -202,6 +210,10 @@
"file": "app/plugins/builtins/dms/routes.py",
"hook_name": "dms.after_update"
},
{
"file": "app/plugins/builtins/dms/routes.py",
"hook_name": "dms_file.after_update"
},
{
"file": "app/plugins/builtins/dms/routes.py",
"hook_name": "dms.before_delete"
@@ -210,6 +222,10 @@
"file": "app/plugins/builtins/dms/routes.py",
"hook_name": "dms.after_delete"
},
{
"file": "app/plugins/builtins/dms/routes.py",
"hook_name": "dms_file.after_delete"
},
{
"file": "app/plugins/builtins/dms/routes.py",
"hook_name": "dms.before_restore"
@@ -226,10 +242,18 @@
"file": "app/plugins/builtins/mail/services.py",
"hook_name": "mail.after_receive"
},
{
"file": "app/plugins/builtins/mail/services.py",
"hook_name": "mail.after_create"
},
{
"file": "app/plugins/builtins/mail/services.py",
"hook_name": "mail.after_send"
},
{
"file": "app/plugins/builtins/mail/services.py",
"hook_name": "mail.after_update"
},
{
"file": "app/plugins/builtins/mail/services.py",
"hook_name": "mail.before_delete"
@@ -282,6 +306,10 @@
"file": "app/plugins/builtins/calendar/routes.py",
"hook_name": "calendar.after_appointment"
},
{
"file": "app/plugins/builtins/calendar/routes.py",
"hook_name": "calendar_entry.after_create"
},
{
"file": "app/plugins/builtins/calendar/routes.py",
"hook_name": "calendar.before_update"
@@ -290,6 +318,10 @@
"file": "app/plugins/builtins/calendar/routes.py",
"hook_name": "calendar.after_update"
},
{
"file": "app/plugins/builtins/calendar/routes.py",
"hook_name": "calendar_entry.after_update"
},
{
"file": "app/plugins/builtins/calendar/routes.py",
"hook_name": "calendar.before_delete"
@@ -298,6 +330,10 @@
"file": "app/plugins/builtins/calendar/routes.py",
"hook_name": "calendar.after_delete"
},
{
"file": "app/plugins/builtins/calendar/routes.py",
"hook_name": "calendar_entry.after_delete"
},
{
"file": "app/plugins/builtins/unified_search/search_engine.py",
"hook_name": "search.before_search"
@@ -371,44 +407,7 @@
"hook_name": "tag.after_delete"
}
],
"orphan_registrations": [
{
"file": "app/plugins/builtins/dms/plugin.py",
"hook_name": "dms_file.after_create"
},
{
"file": "app/plugins/builtins/dms/plugin.py",
"hook_name": "dms_file.after_update"
},
{
"file": "app/plugins/builtins/dms/plugin.py",
"hook_name": "dms_file.after_delete"
},
{
"file": "app/plugins/builtins/mail/plugin.py",
"hook_name": "mail.after_create"
},
{
"file": "app/plugins/builtins/mail/plugin.py",
"hook_name": "mail.after_update"
},
{
"file": "app/plugins/builtins/contacts/plugin.py",
"hook_name": "contact.after_delete"
},
{
"file": "app/plugins/builtins/calendar/plugin.py",
"hook_name": "calendar_entry.after_create"
},
{
"file": "app/plugins/builtins/calendar/plugin.py",
"hook_name": "calendar_entry.after_update"
},
{
"file": "app/plugins/builtins/calendar/plugin.py",
"hook_name": "calendar_entry.after_delete"
}
],
"orphan_registrations": [],
"orphan_triggers": [
{
"file": "app/routes/companies.py",
@@ -1,5 +1,5 @@
{
"total_imports": 2274,
"total_imports": 2251,
"broken": [
{
"file": "app/core/auth.py",
File diff suppressed because it is too large Load Diff