2026-03-18 - 2026-09-18
Overview
4 Releases published by 1 user
Published
v-architecture-recovery-complete
Published
pre-recovery-current
Published
phase1-backup
Phase 1 DB Backup
Published
v-phase0-baseline
36 Issues closed from 1 user
Closed
#389 Bug: ai_assistant seit 0137 in Produktion inaktiv (migration_failed) — KI-Chat down
Closed
#388 UI-Backlog Modul 16: Besitzübertragung (/api/v1/ownership)
Closed
#387 UI-Backlog Modul 15: External-Agent-API (/api/v1/external/agent)
Closed
#386 UI-Backlog Modul 14: Gäste-Verwaltung (/api/v1/guests)
Closed
#385 Oeffentliche Share-Zugriffsseite fuer externe Besucher (Modul 13/16 UI-Backlog)
Closed
#384 UI fuer Firmen-Verwaltung mit Ansprechpartner-Links (Modul 12/16 UI-Backlog)
Closed
#383 UI fuer Wissens-Graph mit BFS-Traversierung (Modul 11/16 UI-Backlog)
Closed
#382 UI fuer ABAC-Richtlinien (Modul 10/16 UI-Backlog)
Closed
#381 fix(app-shell): Haengende Lazy-Routen ("Dashboard loads forever") — instabile Zustands-Selektoren
Closed
#380 fix(webhooks): .any() auf JSONB-Spalte crashte jeden Event-Publish (158 failed Outbox-Events)
Closed
#379 UI fuer Event-Outbox (Modul 9/16 UI-Backlog)
Closed
#378 feat(agent-memory): UI fuer Agent-Memories mit semantischer Suche — Modul 8/16
Closed
#377 feat(skills): UI fuer AI-Skill-Definitionen — Modul 7/16
Closed
#376 feat(templates): UI fuer Berechtigungs-Vorlagen — Modul 6/16
Closed
#375 feat(marketplace): UI fuer Plugin-Marketplace — Modul 5/16
Closed
#374 feat(tenants): UI fuer Mandanten-Verwaltung — Modul 4/16
Closed
#373 feat(api-tokens): UI fuer Bearer-Tokens — Modul 3/16
Closed
#372 feat(delegations): UI fuer Berechtigungs-Delegationen — Modul 2/16
Closed
#371 feat(arch): Phase Q — Frontend-Plugin-Architektur vollendet (Q1-Q4)
Closed
#370 fix(arch): Externer Architektur-Audit — 13 Backend-Fixes, Phase Q geplant
Closed
#369 feat(approvals): Freigaben-UI — Review-Queue mit Approve/Reject (UI-Modul 1/16)
Closed
#368 feat(N4): Restliche Module — Tasks/Kommunikation/Wiki/Reports/Agents/Tags/Search + Navigation + Dashboard-Schnittstelle
Closed
#367 feat(N3): Backend respektiert X-Workspace-ID bei Listen — contacts/dms/mail/calendar + Frontend-Defaults
Closed
#366 feat(N2): Dynamischer Scope-Editor — WorkspaceScopeEditor ersetzt JSON-Textarea, Scope-Values in workspace_modules.config
Closed
#365 feat(N1): Scope-Registry via Contract — workspace_scopes() Deklarationen + /scope-definitions Endpoint
Closed
#364 M6 Weitere Hosts: MiniApps in Fenstern + AI-Agenten-Ausgabe-Blöcke
Closed
#363 M5 Plugin-MiniApps: dms, mail, wiki, graph_rag, automation liefern Dashboard-Widgets
Closed
#362 M4 System-Rückbau: Dashboard-Inhalte als MiniApps, Core = reiner Host
Closed
#361 M3 Dashboard-Builder-Frontend: Edit-Modus, Drag&Drop, Palette, Tabs
Closed
#360 M2 Dashboard-Backend: Persönliche Dashboards (Tabelle, CRUD, Seed, RLS)
Closed
#359 SPEC W4a: Import/Export Contribution-Architektur — zentraler Dialog per Toolbar-Button, Formate als Plugins, Module als Contributors
Closed
#358 BUG: 5 statische Route-Permissions inkonsistent zu Backend/Manifest — 2 Phantom-Permissions (communication:read, activity:read), /wiki ungeschützt
Closed
#357 REFACTOR: Contacts-Entities aus statischem ENTITY_MODELS entfernt — ContactsPlugin ist Single Source; + VORBESTAND: 12 ACL-Batch-Failures durch Suite-Isolation (relation users does not exist)
Closed
#356 BUG: 4 Core→Plugin-Imports in core/jobs.py DSAR-Sammlung — direkte Model-Imports statt Contracts
Closed
#355 BUG: Plugin-Lifecycle Runtime-Cleanup tot — was_already_active/inactive erst NACH registry-Aufruf berechnet
Closed
#351 BUG: KI-Chat-Stream 403 'Stream failed: 403' und Wiki-Speichern 403 nach Seiten-Reload (CSRF-Token fehlt)
399 Issues created by 1 user
Opened
#1 [Auto] Test error from Forgejo plugin verification - issue should be created
Opened
#2 [Auto] Test error from deployment check
Opened
#3 [Auto] [Backend] GET /assets/index-CgB_O-GF.js → 404
Opened
#4 [Auto] [Backend] GET /api/v1/comm/conversations → 422
Opened
#5 [Auto] Request failed with status code 422
Opened
#6 [Auto] [Backend] POST /api/v1/ai-proactive/context → 422
Opened
#7 [Auto] [Backend] GET /api/v1/dms/folders → 422
Opened
#8 [Auto] [Backend] GET /api/v1/dms/shared-with-me → 422
Opened
#9 [Auto] [Backend] GET /api/v1/dms/files → 422
Opened
#10 [Auto] [Backend] POST /api/v1/errors → 429
Opened
#11 [Auto] [Backend] GET /api/v1/calendars → 422
Opened
#12 [Auto] [Backend] GET /api/v1/calendar/entries → 422
Opened
#13 [Auto] [Backend] GET /assets/audit-YdrTWRRr.js → 404
Opened
#14 [Auto] [Backend] GET /assets/unifiedContacts-Obr3TWjn.js → 404
Opened
#15 [Auto] [Backend] GET /assets/Dashboard-iBLriNYf.js → 404
Opened
#16 [Auto] [Backend] POST /api/v1/comm/conversations/440dd9e1-fc4e-4aba-b71b-310059c328a3/read → 422
Opened
#17 [Auto] [Backend] POST /api/v1/ai-proactive/context → 422
Opened
#18 [Auto] Request failed with status code 422
Opened
#19 [Auto] [Backend] POST /api/v1/ai-proactive/context → 422
Opened
#20 [Auto] [Backend] POST /api/v1/comm/conversations/440dd9e1-fc4e-4aba-b71b-310059c328a3/read → 422
Opened
#21 [Auto] Request failed with status code 422
Opened
#22 [Auto] [Backend] POST /api/v1/errors → 429
Opened
#23 [Auto] [Backend] GET /api/v1/contacts/merge-history: module 'app.services.dedup_service' has no attribute 'get_merge_history'
Opened
#24 [Auto] [Backend] POST /api/v1/comm/conversations → 422
Opened
#25 [Auto] [Backend] POST /api/v1/comm/conversations/88fa5706-a496-44b1-a710-6962328b4ae4/read → 422
Opened
#26 [Auto] [Backend] POST /api/v1/ai/sessions → 422
Opened
#27 [Auto] [Backend] POST /api/v1/comm/conversations/88fa5706-a496-44b1-a710-6962328b4ae4/messages → 422
Opened
#28 [Auto] [Backend] POST /api/v1/comm/conversations/309453fd-b3d9-4d47-9c59-a38d3ce91932/read → 422
Opened
#29 [Auto] [Backend] POST /api/v1/comm/conversations/440dd9e1-fc4e-4aba-b71b-310059c328a3/read → 422
Opened
#30 [Auto] [Backend] POST /api/v1/ai-proactive/context → 422
Opened
#31 [Auto] Request failed with status code 422
Opened
#32 [Auto] [Backend] POST /api/v1/comm/conversations/88fa5706-a496-44b1-a710-6962328b4ae4/read → 422
Opened
#33 [Auto] [Backend] POST /api/v1/ai/sessions → 422
Opened
#34 [Auto] [Backend] POST /api/v1/comm/conversations/88fa5706-a496-44b1-a710-6962328b4ae4/messages → 422
Opened
#35 [Auto] [Backend] POST /api/v1/comm/conversations → 422
Opened
#36 [Auto] [Backend] POST /api/v1/comm/conversations/309453fd-b3d9-4d47-9c59-a38d3ce91932/read → 422
Opened
#37 [Auto] [Backend] POST /api/v1/comm/conversations/309453fd-b3d9-4d47-9c59-a38d3ce91932/messages → 422
Opened
#38 [Auto] [Backend] GET /api/v1/dms/files/e042718c-d679-4c63-ad1f-15a6c735f69d/preview: Path traversal detected: /tmp/dms/bfe4d09e-e84d-4e01-ba00-8bc2aa49e5aa/e042718c-d679-4c63-ad1f-15a6c735f69d
Opened
#39 [Auto] Network Error
Opened
#40 [Auto] [Backend] GET /api/.env → 404
Opened
#41 [Auto] [Backend] GET /var/www/.env → 404
Opened
#42 [Auto] [Backend] GET /var/www/html/.env → 404
Opened
#43 [Auto] [Backend] GET /api/v1/.env → 404
Opened
#44 [Auto] [Backend] GET /api/v2/.env → 404
Opened
#45 [Auto] [Backend] GET /api/v3/.env → 404
Opened
#46 [Auto] [Backend] GET /api/dev/.env → 404
Opened
#47 [Auto] [Backend] GET /api/staging/.env → 404
Opened
#48 [Auto] [Backend] GET /assets/unifiedContacts-EETKTlWn.js → 404
Opened
#49 [Auto] [Backend] GET /assets/audit-DllbP_0S.js → 404
Opened
#50 [Auto] [Backend] GET /assets/ActivityFeed-CYZDvvAc.js → 404
Opened
#51 [Auto] [Backend] GET /assets/Dashboard-Bwx9yAxz.js → 404
Opened
#52 [Auto] Failed to fetch dynamically imported module: https://crm.media-on.de/assets/Dashboard-Bwx9yAxz.js
Opened
#53 [Auto] [Backend] PUT /api/v1/contact-folders/contacts/hgghdddfdsf1efdsfdf1hghhhhkhkjkhk/move → 404
Opened
#54 [Auto] Request failed with status code 404
Opened
#55 [Auto] [Backend] GET /api/v1/contacts/merge-history: module 'app.services.dedup_service' has no attribute 'get_merge_history'
Opened
#56 [Auto] Request failed with status code 500
Opened
#57 [Auto] Network Error
Opened
#58 [Auto] [Backend] GET /api/setup-complete → 404
Opened
#59 [Auto] [Backend] GET /api/config → 404
Opened
#60 [Auto] [Backend] GET /api/endpoints → 404
Opened
#61 [Auto] [Backend] GET /api/v1/credentials → 404
Opened
#62 [Auto] [Backend] GET /api/v1/chatflows → 404
Opened
#63 [Auto] [Backend] GET /api/v1/apikey → 404
Opened
#64 [Auto] [Backend] GET /api/v1/auths/ → 404
Opened
#65 [Auto] Network Error
Opened
#66 [Auto] can't access property "length", s is undefined
Opened
#67 [Auto] [Backend] POST /api/v1/auth/login: hash could not be identified
Opened
#68 [Auto] [Backend] GET /assets/Calendar-DW3BIZnI.js → 404
Opened
#69 [Auto] [Backend] GET /assets/calendar-Kk9kZjjW.js → 404
Opened
#70 [Auto] Failed to fetch dynamically imported module: https://crm.media-on.de/assets/Calendar-DW3BIZnI.js
Opened
#71 [Auto] [Backend] GET /assets/index-DtmzxYFn.js → 404
Opened
#72 [Auto] [Backend] GET /api/config.js → 404
Opened
#73 [Auto] [Backend] GET /api/health → 404
Opened
#74 [Auto] [Backend] GET /api/config → 404
Opened
#75 [Auto] [Backend] GET /api/env → 404
Opened
#76 [Auto] [Backend] GET /api/settings → 404
Opened
#77 [Auto] [Backend] GET /assets/config.js → 404
Opened
#78 [Auto] [Backend] GET /var/log/exception.log → 404
Opened
#79 [Auto] [Backend] GET /var/log/system.log → 404
Opened
#80 [Auto] [Backend] POST /api/v1/auth/login → 429
Opened
#81 [Auto] Request failed with status code 429
Opened
#82 [Auto] Network Error
Opened
#83 [Auto] [Backend] POST /api/v1/search: (sqlalchemy.dialects.postgresql.asyncpg.Error) <class 'asyncpg.exceptions.InFailedSQLTransactionError'>: current transaction is aborted, commands ignored until end of transaction block
[SQL: SAVEPOINT sa_savepoint_...
Opened
#84 [Auto] Request failed with status code 500
Opened
#85 [Auto] Network Error
Opened
#86 [Auto] Network Error
Opened
#87 [Auto] Network Error
Opened
#88 [Auto] Network Error
Opened
#89 [Auto] [Backend] GET /api/v1/contacts/merge-history: module 'app.services.dedup_service' has no attribute 'get_merge_history'
Opened
#90 [Auto] Request failed with status code 500
Opened
#91 [Auto] [Backend] GET /api/v1/notifications: (sqlalchemy.dialects.postgresql.asyncpg.ProgrammingError) <class 'asyncpg.exceptions.UndefinedColumnError'>: column notifications.entity_type does not exist
[SQL: SELECT notifications.id, notifications.entity...
Opened
#92 [Auto] [Backend] GET /api/v1/custom-fields/definitions: (sqlalchemy.dialects.postgresql.asyncpg.ProgrammingError) <class 'asyncpg.exceptions.UndefinedColumnError'>: column custom_field_definitions.sensitivity does not exist
[SQL: SELECT custom_field_de...
Opened
#93 [Auto] [Backend] GET /api/v1/contact-folders: (sqlalchemy.dialects.postgresql.asyncpg.ProgrammingError) <class 'asyncpg.exceptions.UndefinedColumnError'>: column contact_folder_permissions.deleted_at does not exist
[SQL: SELECT contact_folder_permissio...
Opened
#94 [Auto] [Backend] GET /api/v1/contacts/new → 404
Opened
#95 [Auto] Request failed with status code 404
Opened
#96 [Auto] [Backend] POST /api/v1/errors → 429
Opened
#97 [Auto] [Backend] GET /api/v1/contact-folders: (sqlalchemy.dialects.postgresql.asyncpg.ProgrammingError) <class 'asyncpg.exceptions.UndefinedColumnError'>: column contact_folder_permissions.deleted_at does not exist
[SQL: SELECT contact_folder_permissio...
Opened
#98 [Auto] Request failed with status code 500
Opened
#99 [Auto] [Backend] GET /api/v1/custom-fields/definitions: (sqlalchemy.dialects.postgresql.asyncpg.ProgrammingError) <class 'asyncpg.exceptions.UndefinedColumnError'>: column custom_field_definitions.sensitivity does not exist
[SQL: SELECT custom_field_de...
Opened
#100 [Auto] [Backend] POST /api/v1/errors → 429
Opened
#101 [Auto] [Backend] GET /api/v1/contacts/e7ae2362-09a6-4822-a735-61cacc2e91d0/custom-fields: (sqlalchemy.dialects.postgresql.asyncpg.ProgrammingError) <class 'asyncpg.exceptions.UndefinedColumnError'>: column custom_field_definitions.sensitivity does not ...
Opened
#102 [Auto] Network Error
Opened
#103 [Auto] [Backend] GET /assets/tanstack-CJfrXGyn.js.map → 404
Opened
#104 [Auto] [Backend] GET /assets/manifest.json → 404
Opened
#105 [Auto] [Backend] GET /assets/i18n-Be8EW4Hr.js.map → 404
Opened
#106 [Auto] [Backend] GET /assets/utils-CJoOod2_.js.map → 404
Opened
#107 [Auto] [Backend] GET /assets/ui-components-DoRcgegK.js.map → 404
Opened
#108 [Auto] [Backend] GET /api/.env → 404
Opened
#109 [Auto] [Backend] GET /assets/index-BEig-TMM.js.map → 404
Opened
#110 [Auto] [Backend] GET /assets/markdown-DR8SuYk4.js.map → 404
Opened
#111 [Auto] [Backend] GET /assets/icons-7kKMd81m.js.map → 404
Opened
#112 [Auto] [Backend] GET /assets/react-vendor-UgT218La.js.map → 404
Opened
#113 [Auto] [Backend] GET /api/csrf_token → 404
Opened
#114 [Auto] [Backend] GET /api/v1/comm/conversations → 503
Opened
#115 [Auto] [Backend] POST /api/v1/ai-proactive/context → 503
Opened
#116 [Auto] Request failed with status code 503
Opened
#117 [Auto] [Backend] POST /api/v1/attachments → 422
Opened
#118 [Auto] [Backend] GET /api/v1/attachments/1fcf9481-8575-42de-8171-8a3364dd7510 → 404
Opened
#119 [Auto] [Backend] POST /api/v1/workspaces → 405
Opened
#120 [Auto] [Backend] GET /api/v1/workspaces → 404
Opened
#121 [Auto] [Backend] GET /api/v1/workspaces/my → 404
Opened
#122 [Auto] [Backend] POST /api/v1/workspaces: (sqlalchemy.dialects.postgresql.asyncpg.ProgrammingError) <class 'asyncpg.exceptions.UndefinedColumnError'>: column "deleted_at" of relation "workspaces" does not exist
[SQL: INSERT INTO workspaces (id, name, i...
Opened
#123 [Auto] [Backend] GET /api/v1/workspaces: (sqlalchemy.dialects.postgresql.asyncpg.ProgrammingError) <class 'asyncpg.exceptions.UndefinedColumnError'>: column workspaces.deleted_at does not exist
[SQL: SELECT workspaces.id, workspaces.name, workspaces.ic...
Opened
#124 [Auto] [Backend] GET /api/v1/workspaces/my: (sqlalchemy.dialects.postgresql.asyncpg.ProgrammingError) <class 'asyncpg.exceptions.UndefinedColumnError'>: column workspaces.deleted_at does not exist
[SQL: SELECT workspaces.id, workspaces.name, workspaces...
Opened
#125 [Auto] [Backend] POST /api/v1/workspaces/modules → 405
Opened
#126 [Auto] [Backend] POST /api/v1/workspaces: (sqlalchemy.dialects.postgresql.asyncpg.ProgrammingError) <class 'asyncpg.exceptions.UndefinedColumnError'>: column "deleted_at" of relation "workspaces" does not exist
[SQL: INSERT INTO workspaces (id, name, i...
Opened
#127 [Auto] [Backend] POST /api/v1/workspaces: (sqlalchemy.dialects.postgresql.asyncpg.ProgrammingError) <class 'asyncpg.exceptions.UndefinedColumnError'>: column workspace_users.created_at does not exist
[SQL: INSERT INTO workspace_users (id, workspace_id,...
Opened
#128 [Auto] [Backend] GET /api/v1/workspaces/my: (sqlalchemy.dialects.postgresql.asyncpg.ProgrammingError) <class 'asyncpg.exceptions.UndefinedColumnError'>: column workspace_users.created_at does not exist
[SQL: SELECT workspaces.id, workspaces.name, works...
Opened
#129 [Auto] [Backend] POST /api/v1/workspaces/modules → 405
Opened
#130 [Auto] [Backend] GET /api/v1/workspaces/context → 400
Opened
#131 [Auto] [Backend] POST /api/v1/workspaces: (sqlalchemy.dialects.postgresql.asyncpg.ProgrammingError) <class 'asyncpg.exceptions.UndefinedColumnError'>: column workspace_users.created_at does not exist
[SQL: INSERT INTO workspace_users (id, workspace_id,...
Opened
#132 [Auto] [Backend] GET /api/v1/api/v1/workspaces/my → 404
Opened
#133 [Auto] [Backend] GET /api/v1/comm/conversations → 503
Opened
#134 [Auto] [Backend] POST /api/v1/ai-proactive/context → 503
Opened
#135 [Auto] Request failed with status code 404
Opened
#136 [Auto] Request failed with status code 503
Opened
#137 [Auto] [Backend] GET /api/v1/calendars → 503
Opened
#138 [Auto] [Backend] GET /api/v1/tags → 503
Opened
#139 [Auto] [Backend] GET /api/v1/calendar/entries → 503
Opened
#140 [Auto] [Backend] POST /api/v1/errors → 429
Opened
#141 [Auto] [Backend] GET /api/v1/mail/accounts → 503
Opened
#142 [Auto] [Backend] GET /health/ready: 'dict' object has no attribute 'checks'
Opened
#143 [Auto] [Backend] GET /api/v1/api/v1/workspaces/my → 404
Opened
#144 [Auto] [Backend] GET /api/v1/comm/conversations → 503
Opened
#145 [Auto] Request failed with status code 404
Opened
#146 [Auto] [Backend] POST /api/v1/ai-proactive/context → 503
Opened
#147 [Auto] Request failed with status code 503
Opened
#148 [Auto] [Backend] GET /api/v1/calendar/entries → 503
Opened
#149 [Auto] [Backend] GET /api/v1/tags → 503
Opened
#150 [Auto] [Backend] GET /api/v1/calendars → 503
Opened
#151 [Auto] [Backend] POST /api/v1/errors → 429
Opened
#152 [Auto] [Backend] GET /api/v1/tasks → 503
Opened
#153 [Auto] [Backend] POST /api/v1/auth/login: (sqlalchemy.dialects.postgresql.asyncpg.ProgrammingError) <class 'asyncpg.exceptions.InsufficientPrivilegeError'>: new row violates row-level security policy for table "audit_log"
[SQL: INSERT INTO audit_log (i...
Opened
#154 [Auto] [Backend] POST /api/v1/auth/login: (sqlalchemy.dialects.postgresql.asyncpg.ProgrammingError) <class 'asyncpg.exceptions.InsufficientPrivilegeError'>: new row violates row-level security policy for table "audit_log"
[SQL: INSERT INTO audit_log (i...
Opened
#155 [Auto] [Backend] POST /api/v1/auth/login → 429
Opened
#156 [Auto] [Backend] POST /api/v1/auth/login: (sqlalchemy.dialects.postgresql.asyncpg.ProgrammingError) <class 'asyncpg.exceptions.InsufficientPrivilegeError'>: new row violates row-level security policy for table "sessions"
[SQL: INSERT INTO sessions (id,...
Opened
#157 [Auto] [Backend] POST /api/v1/auth/login: (sqlalchemy.dialects.postgresql.asyncpg.ProgrammingError) <class 'asyncpg.exceptions.InsufficientPrivilegeError'>: new row violates row-level security policy for table "audit_log"
[SQL: INSERT INTO audit_log (i...
Opened
#158 [Auto] [Backend] GET /api/v1/comm/conversations → 503
Opened
#159 [Auto] [Backend] GET /api/v1/api/v1/workspaces/my → 404
Opened
#160 [Auto] Request failed with status code 404
Opened
#161 [Auto] [Backend] POST /api/v1/ai-proactive/context → 503
Opened
#162 [Auto] Request failed with status code 503
Opened
#163 [Auto] [Backend] GET /api/v1/mail/accounts → 503
Opened
#164 [Auto] [Backend] GET /api/v1/mail/signatures → 503
Opened
#165 [Auto] [Backend] POST /api/v1/errors → 429
Opened
#166 [Auto] [Backend] GET /api/v1/calendars → 503
Opened
#167 [Auto] [Backend] GET /api/v1/tags → 503
Opened
#168 [Auto] [Backend] GET /api/v1/api/v1/workspaces/my → 404
Opened
#169 [Auto] [Backend] GET /api/v1/comm/conversations → 503
Opened
#170 [Auto] Request failed with status code 404
Opened
#171 [Auto] [Backend] POST /api/v1/ai-proactive/context → 503
Opened
#172 [Auto] Request failed with status code 503
Opened
#173 [Auto] [Backend] GET /api/v1/custom-fields/definitions: (sqlalchemy.dialects.postgresql.asyncpg.ProgrammingError) <class 'asyncpg.exceptions.UndefinedColumnError'>: column custom_field_definitions.sensitivity does not exist
[SQL: SELECT custom_field_de...
Opened
#174 [Auto] [Backend] GET /api/v1/contact-folders: (sqlalchemy.dialects.postgresql.asyncpg.ProgrammingError) <class 'asyncpg.exceptions.UndefinedColumnError'>: column contact_folder_permissions.deleted_at does not exist
[SQL: SELECT contact_folder_permissio...
Opened
#175 [Auto] Request failed with status code 500
Opened
#176 [Auto] [Backend] POST /api/v1/errors → 429
Opened
#177 [Auto] [Backend] POST /api/v1/contact-folders: Could not refresh instance '<ContactFolder at 0x743208f4dc70>'
Opened
#178 [Auto] [Backend] GET /api/v1/api/v1/workspaces/my → 404
Opened
#179 [Auto] Request failed with status code 404
Opened
#180 [Auto] [Backend] GET /api/v1/contact-folders: (sqlalchemy.dialects.postgresql.asyncpg.ProgrammingError) <class 'asyncpg.exceptions.UndefinedColumnError'>: column contact_folder_permissions.deleted_at does not exist
[SQL: SELECT contact_folder_permissio...
Opened
#181 [Auto] [Backend] GET /api/v1/custom-fields/definitions: (sqlalchemy.dialects.postgresql.asyncpg.ProgrammingError) <class 'asyncpg.exceptions.UndefinedColumnError'>: column custom_field_definitions.sensitivity does not exist
[SQL: SELECT custom_field_de...
Opened
#182 [Auto] Request failed with status code 500
Opened
#183 [Auto] [Backend] POST /api/v1/contact-folders: Could not refresh instance '<ContactFolder at 0x727c54576a50>'
Opened
#184 [Auto] [Backend] POST /api/v1/contact-folders: Could not refresh instance '<ContactFolder at 0x727c56159d30>'
Opened
#185 [Auto] [Backend] POST /api/v1/errors → 429
Opened
#186 [Auto] [Backend] POST /api/v1/contact-folders: Could not refresh instance '<ContactFolder at 0x727c57506990>'
Opened
#187 [Auto] [Backend] POST /api/v1/contact-folders: Could not refresh instance '<ContactFolder at 0x727c574daa50>'
Opened
#188 [Auto] [Backend] GET /api/v1/api/v1/workspaces/my → 404
Opened
#189 [Auto] Request failed with status code 404
Opened
#190 [Auto] [Backend] GET /api/v1/custom-fields/definitions: (sqlalchemy.dialects.postgresql.asyncpg.ProgrammingError) <class 'asyncpg.exceptions.UndefinedColumnError'>: column custom_field_definitions.sensitivity does not exist
[SQL: SELECT custom_field_de...
Opened
#191 [Auto] [Backend] GET /api/v1/contact-folders: (sqlalchemy.dialects.postgresql.asyncpg.ProgrammingError) <class 'asyncpg.exceptions.UndefinedColumnError'>: column contact_folder_permissions.deleted_at does not exist
[SQL: SELECT contact_folder_permissio...
Opened
#192 [Auto] Request failed with status code 500
Opened
#193 [Auto] [Backend] POST /api/v1/contact-folders: Could not refresh instance '<ContactFolder at 0x727c575a0080>'
Opened
#194 [Auto] [Backend] POST /api/v1/contact-folders: Could not refresh instance '<ContactFolder at 0x727c573fca40>'
Opened
#195 [Auto] [Backend] POST /api/v1/errors → 429
Opened
#196 [Auto] [Backend] POST /api/v1/contact-folders: Could not refresh instance '<ContactFolder at 0x727c574d7da0>'
Opened
#197 [Auto] [Backend] POST /api/v1/contact-folders: Could not refresh instance '<ContactFolder at 0x727c5748f0e0>'
Opened
#198 [Auto] [Backend] POST /api/v1/contact-folders: Could not refresh instance '<ContactFolder at 0x7b5227103c80>'
Opened
#199 [Auto] [Backend] POST /api/v1/contact-folders: Could not refresh instance '<ContactFolder at 0x7b522705c9e0>'
Opened
#200 [Auto] Request failed with status code 500
Opened
#201 [Auto] [Backend] GET /api/v1/api/v1/workspaces/my → 404
Opened
#202 [Auto] Request failed with status code 404
Opened
#203 [Auto] [Backend] GET /api/v1/contact-folders: (sqlalchemy.dialects.postgresql.asyncpg.ProgrammingError) <class 'asyncpg.exceptions.UndefinedColumnError'>: column contact_folder_permissions.deleted_at does not exist
[SQL: SELECT contact_folder_permissio...
Opened
#204 [Auto] can't access property "length", I.items is undefined
Opened
#205 [Auto] [Backend] GET /assets/ContactsList-CVDA-nR0.js → 404
Opened
#206 [Auto] [Backend] GET /assets/calendar-YYMYCud8.js → 404
Opened
#207 [Auto] [Backend] GET /assets/Calendar-EaMYHR3p.js → 404
Opened
#208 [Auto] [Backend] GET /api/v1/api/v1/workspaces/my → 404
Opened
#209 [Auto] Request failed with status code 404
Opened
#210 [Auto] [Backend] POST /api/v1/workflows → 422
Opened
#211 [Auto] Request failed with status code 422
Opened
#212 [Auto] [Backend] GET /api/v1/contacts/merge-history: module 'app.services.dedup_service' has no attribute 'get_merge_history'
Opened
#213 [Auto] Request failed with status code 500
Opened
#214 [Auto] [Backend] POST /api/v1/reports/presets/generate → 500
Opened
#215 [Auto] [Backend] POST /api/v1/ai/sessions: Could not refresh instance '<AIChatSession at 0x7d33b3ed0a10>'
Opened
#216 [Auto] [Backend] POST /api/v1/ai/sessions: Could not refresh instance '<AIChatSession at 0x7d33c8451a30>'
Opened
#217 [Auto] [Backend] POST /api/v1/ai/sessions: Could not refresh instance '<AIChatSession at 0x7d33b195c4a0>'
Opened
#218 [Auto] Network Error
Opened
#219 [Auto] [Backend] GET /api/v1/api/v1/workspaces/my → 404
Opened
#220 [Auto] Request failed with status code 404
Opened
#221 [Auto] [Backend] POST /api/v1/ai/sessions: Could not refresh instance '<AIChatSession at 0x7d34705d44d0>'
Opened
#222 [Auto] [Backend] POST /api/v1/ai/sessions: Could not refresh instance '<AIChatSession at 0x7d3470802810>'
Opened
#223 [Auto] Request failed with status code 500
Opened
#224 [Auto] [Backend] PUT /api/v1/ai/sessions/5ccf591e-92dd-4366-848c-db5a2b5e771d: Could not refresh instance '<AIChatSession at 0x7d34701b35f0>'
Opened
#225 [Auto] [Backend] PUT /api/v1/ai/sessions/5ccf591e-92dd-4366-848c-db5a2b5e771d: Could not refresh instance '<AIChatSession at 0x7d34701b2bd0>'
Opened
#226 [Auto] [Backend] POST /api/v1/workflows: create_workflow() got an unexpected keyword argument 'is_system_admin'
Opened
#227 [Auto] [Backend] POST /api/v1/ai/sessions: Could not refresh instance '<AIChatSession at 0x76879af9be60>'
Opened
#228 [Auto] [Backend] POST /api/v1/ai/sessions: Could not refresh instance '<AIChatSession at 0x76879afa9d30>'
Opened
#229 [Auto] Request failed with status code 500
Opened
#230 [Auto] [Backend] PUT /api/v1/ai/folders/886d0d8e-084f-4c36-bf39-18e33cb65c4c: Could not refresh instance '<AIChatFolder at 0x76879ae591c0>'
Opened
#231 [Auto] [Backend] PUT /api/v1/ai/folders/886d0d8e-084f-4c36-bf39-18e33cb65c4c: Could not refresh instance '<AIChatFolder at 0x76879aeb0f50>'
Opened
#232 [Auto] [Backend] GET /api/v1/api/v1/workspaces/my → 404
Opened
#233 [Auto] Request failed with status code 404
Opened
#234 [Auto] [Backend] PUT /api/v1/ai/folders/886d0d8e-084f-4c36-bf39-18e33cb65c4c: Could not refresh instance '<AIChatFolder at 0x76879ad1c0e0>'
Opened
#235 [Auto] [Backend] PUT /api/v1/ai/folders/886d0d8e-084f-4c36-bf39-18e33cb65c4c: Could not refresh instance '<AIChatFolder at 0x768798449670>'
Opened
#236 [Auto] [Backend] PUT /api/v1/ai/folders/13cc9dda-252d-4fc1-809a-68747c8c6638: Could not refresh instance '<AIChatFolder at 0x76879ad1f2f0>'
Opened
#237 [Auto] [Backend] GET /assets/Communication-CYrgEpCq.js → 404
Opened
#238 [Auto] error loading dynamically imported module: https://crm.media-on.de/assets/Communication-CYrgEpCq.js
Opened
#239 [Auto] [Backend] GET /api/v1/api/v1/workspaces/my → 404
Opened
#240 [Auto] Request failed with status code 404
Opened
#241 [Auto] [Backend] POST /api/v1/ai/sessions: Could not refresh instance '<AIChatSession at 0x7a3e304067e0>'
Opened
#242 [Auto] [Backend] POST /api/v1/ai/sessions: Could not refresh instance '<AIChatSession at 0x7a3e3089a030>'
Opened
#243 [Auto] [Backend] POST /api/v1/ai/sessions: Could not refresh instance '<AIChatSession at 0x7a3e30783020>'
Opened
#244 [Auto] [Backend] POST /api/v1/ai/sessions: Could not refresh instance '<AIChatSession at 0x7a3e303bf0b0>'
Opened
#245 [Auto] Request failed with status code 500
Opened
#246 [Auto] [Backend] PUT /api/v1/ai/sessions/59aebe69-364b-4752-a6f3-c02fa18c4b2b: Could not refresh instance '<AIChatSession at 0x7a3e21f25d30>'
Opened
#247 [Auto] [Backend] GET /api/v1/api/v1/workspaces/my → 404
Opened
#248 [Auto] Request failed with status code 404
Opened
#249 [Auto] [Backend] PUT /api/v1/ai/folders/886d0d8e-084f-4c36-bf39-18e33cb65c4c: Could not refresh instance '<AIChatFolder at 0x7178a80b0350>'
Opened
#250 [Auto] [Backend] PUT /api/v1/ai/folders/886d0d8e-084f-4c36-bf39-18e33cb65c4c: Could not refresh instance '<AIChatFolder at 0x7178896cc980>'
Opened
#251 [Auto] Request failed with status code 500
Opened
#252 [Auto] [Backend] PUT /api/v1/ai/sessions/3d8dce78-aebc-4f85-ac20-2ef2b13c3484: Could not refresh instance '<AIChatSession at 0x7178896cf980>'
Opened
#253 [Auto] [Backend] PUT /api/v1/ai/sessions/3d8dce78-aebc-4f85-ac20-2ef2b13c3484: Could not refresh instance '<AIChatSession at 0x7178896cc650>'
Opened
#254 [Auto] [Backend] PUT /api/v1/ai/sessions/3d8dce78-aebc-4f85-ac20-2ef2b13c3484: Could not refresh instance '<AIChatSession at 0x71788956c260>'
Opened
#255 [Auto] [Backend] PUT /api/v1/ai/sessions/3d8dce78-aebc-4f85-ac20-2ef2b13c3484: Could not refresh instance '<AIChatSession at 0x7178896cfc80>'
Opened
#256 [Auto] [Backend] PUT /api/v1/ai/sessions/482c28e8-b120-4e9b-8083-6b0333451b9a: Could not refresh instance '<AIChatSession at 0x7178897931a0>'
Opened
#257 [Auto] [Backend] GET /assets/i18n-Be8EW4Hr.js.map → 404
Opened
#258 [Auto] [Backend] GET /assets/manifest.json → 404
Opened
#259 [Auto] [Backend] GET /assets/utils-CJoOod2_.js.map → 404
Opened
#260 [Auto] [Backend] GET /assets/ui-components-CAHGkyru.js.map → 404
Opened
#261 [Auto] [Backend] GET /assets/tanstack-CJfrXGyn.js.map → 404
Opened
#262 [Auto] [Backend] GET /api/.env → 404
Opened
#263 [Auto] [Backend] GET /assets/markdown-DR8SuYk4.js.map → 404
Opened
#264 [Auto] [Backend] GET /assets/icons-CrzTyOGn.js.map → 404
Opened
#265 [Auto] [Backend] GET /assets/react-vendor-UgT218La.js.map → 404
Opened
#266 [Auto] [Backend] GET /api/config → 404
Opened
#267 [Auto] [Backend] POST /api/v1/ai/sessions: Could not refresh instance '<AIChatSession at 0x7178897e2ff0>'
Opened
#268 [Auto] [Backend] POST /api/v1/ai/sessions: Could not refresh instance '<AIChatSession at 0x7178a910ce00>'
Opened
#269 [Auto] Request failed with status code 500
Opened
#270 [Auto] [Backend] GET /assets/tags-CWRsGReH.js → 404
Opened
#271 [Auto] [Backend] GET /assets/Calendar-B6Uz7muv.js → 404
Opened
#272 [Auto] [Backend] GET /assets/calendar-B5oF5yQU.js → 404
Opened
#273 [Auto] error loading dynamically imported module: https://crm.media-on.de/assets/Calendar-B6Uz7muv.js
Opened
#274 [Auto] [Backend] GET /api/v1/api/v1/workspaces/my → 404
Opened
#275 [Auto] Request failed with status code 404
Opened
#276 [Auto] Network Error
Opened
#277 [Auto] [Backend] GET /api/v1/api/v1/workspaces/my → 404
Opened
#278 [Auto] Request failed with status code 404
Opened
#279 [Auto] [Backend] GET /api/v1/api/v1/workspaces/my → 404
Opened
#280 [Auto] Request failed with status code 404
Opened
#281 [Auto] [Backend] POST /api/v1/auth/login: (sqlalchemy.dialects.postgresql.asyncpg.ProgrammingError) <class 'asyncpg.exceptions.InsufficientPrivilegeError'>: permission denied for table sessions
[SQL: INSERT INTO sessions (id, user_id, csrf_token, expir...
Opened
#282 [Auto] [Backend] POST /api/v1/auth/login: (sqlalchemy.dialects.postgresql.asyncpg.ProgrammingError) <class 'asyncpg.exceptions.InsufficientPrivilegeError'>: permission denied for table audit_log
[SQL: INSERT INTO audit_log (id, user_id, action, entity_...
Opened
#283 [Auto] [Backend] POST /api/v1/auth/login: (sqlalchemy.dialects.postgresql.asyncpg.ProgrammingError) <class 'asyncpg.exceptions.InsufficientPrivilegeError'>: permission denied for table audit_log
[SQL: INSERT INTO audit_log (id, user_id, action, entity_...
Opened
#284 [Auto] [Backend] POST /api/v1/auth/login: (sqlalchemy.dialects.postgresql.asyncpg.ProgrammingError) <class 'asyncpg.exceptions.InsufficientPrivilegeError'>: permission denied for table audit_log
[SQL: INSERT INTO audit_log (id, user_id, action, entity_...
Opened
#285 [Auto] [Backend] POST /api/v1/auth/login: (sqlalchemy.dialects.postgresql.asyncpg.ProgrammingError) <class 'asyncpg.exceptions.InsufficientPrivilegeError'>: permission denied for table audit_log
[SQL: INSERT INTO audit_log (id, user_id, action, entity_...
Opened
#286 [Auto] [Backend] POST /api/v1/auth/login → 429
Opened
#287 [Auto] [Backend] POST /api/v1/auth/password-reset/request: (sqlalchemy.dialects.postgresql.asyncpg.ProgrammingError) <class 'asyncpg.exceptions.UndefinedColumnError'>: column password_reset_tokens.created_at does not exist
[SQL: SELECT password_reset_t...
Opened
#288 [Auto] [Backend] POST /api/v1/auth/password-reset/request: (sqlalchemy.dialects.postgresql.asyncpg.ProgrammingError) <class 'asyncpg.exceptions.InsufficientPrivilegeError'>: new row violates row-level security policy for table "password_reset_tokens"
[...
Opened
#289 [Auto] [Backend] POST /api/v1/auth/password-reset/confirm → 400
Opened
#290 [Auto] [Backend] GET /assets/audit-DGyJyBdF.js → 404
Opened
#291 [Auto] [Backend] GET /assets/Dashboard-DXJjLcxe.js → 404
Opened
#292 [Auto] [Backend] GET /assets/unifiedContacts-CwocqY18.js → 404
Opened
#293 [Auto] [Backend] GET /assets/ActivityFeed-BRdy9gIp.js → 404
Opened
#294 [Auto] [Backend] GET /api/v1/api/v1/workspaces/my → 404
Opened
#295 [Auto] error loading dynamically imported module: https://crm.media-on.de/assets/Dashboard-DXJjLcxe.js
Opened
#296 [Auto] Request failed with status code 404
Opened
#297 [Auto] [Backend] POST /api/v1/errors → 429
Opened
#298 [Auto] [Backend] GET /api/v1/api/v1/workspaces/my → 429
Opened
#299 [Auto] [Backend] POST /api/v1/auth/password-reset/request: (sqlalchemy.dialects.postgresql.asyncpg.ProgrammingError) <class 'asyncpg.exceptions.InsufficientPrivilegeError'>: new row violates row-level security policy for table "password_reset_tokens"
[...
Opened
#300 [Auto] [Backend] POST /api/v1/auth/password-reset/confirm: This Session's transaction has been rolled back due to a previous exception during flush. To begin a new transaction with this Session, first issue Session.rollback(). Original exception was: (...
Opened
#301 [Auto] [Backend] POST /api/v1/auth/password-reset/confirm: This Session's transaction has been rolled back due to a previous exception during flush. To begin a new transaction with this Session, first issue Session.rollback(). Original exception was: (...
Opened
#302 [Auto] [Backend] POST /api/v1/auth/password-reset/confirm: This Session's transaction has been rolled back due to a previous exception during flush. To begin a new transaction with this Session, first issue Session.rollback(). Original exception was: (...
Opened
#303 [Auto] [Backend] POST /api/v1/auth/password-reset/confirm: This Session's transaction has been rolled back due to a previous exception during flush. To begin a new transaction with this Session, first issue Session.rollback(). Original exception was: (...
Opened
#304 [Auto] [Backend] POST /api/v1/auth/password-reset/confirm: This Session's transaction has been rolled back due to a previous exception during flush. To begin a new transaction with this Session, first issue Session.rollback(). Original exception was: (...
Opened
#305 [Auto] [Backend] POST /api/v1/auth/password-reset/confirm: This Session's transaction has been rolled back due to a previous exception during flush. To begin a new transaction with this Session, first issue Session.rollback(). Original exception was: (...
Opened
#306 [Auto] [Backend] POST /api/v1/auth/password-reset/confirm: This Session's transaction has been rolled back due to a previous exception during flush. To begin a new transaction with this Session, first issue Session.rollback(). Original exception was: (...
Opened
#307 [Auto] [Backend] POST /api/v1/auth/password-reset/confirm: This Session's transaction has been rolled back due to a previous exception during flush. To begin a new transaction with this Session, first issue Session.rollback(). Original exception was: (...
Opened
#308 [Auto] [Backend] POST /api/v1/auth/password-reset/confirm: This Session's transaction has been rolled back due to a previous exception during flush. To begin a new transaction with this Session, first issue Session.rollback(). Original exception was: (...
Opened
#309 [Auto] [Backend] POST /api/v1/auth/password-reset/confirm → 400
Opened
#310 [Auto] [Backend] HEAD / → 405
Opened
#311 [Auto] [Backend] GET /api/.env → 404
Opened
#312 [Auto] [Backend] GET /etc/ssl/private/server.key → 404
Opened
#313 [Auto] [Backend] GET /api/v1/api/v1/workspaces/my → 404
Opened
#314 [Auto] Request failed with status code 404
Opened
#315 [Auto] [Backend] GET /api/csrf_token → 404
Opened
#316 [Auto] [Backend] POST /api/v1/outbox/replay/ → 405
Opened
#317 [Auto] [Backend] GET /api/.env → 404
Opened
#318 [Auto] [Backend] GET /api/.env → 404
Opened
#319 [Auto] [Backend] GET /assets/index-BbNxX4Hd.js → 404
Opened
#320 [Auto] [Backend] GET /api/v1/permissions → 404
Opened
#321 [Auto] [Backend] GET /api/v1/settings/permissions → 404
Opened
#322 [Auto] [Backend] POST /api/v1/tokens: (sqlalchemy.dialects.postgresql.asyncpg.ProgrammingError) <class 'asyncpg.exceptions.UndefinedColumnError'>: column api_tokens.updated_at does not exist
HINT: Perhaps you meant to reference the column "api_tokens....
Opened
#323 [Auto] [Backend] GET /api/v1/tokens: (sqlalchemy.dialects.postgresql.asyncpg.ProgrammingError) <class 'asyncpg.exceptions.UndefinedColumnError'>: column api_tokens.updated_at does not exist
HINT: Perhaps you meant to reference the column "api_tokens.c...
Opened
#324 [Auto] [Backend] GET /api/v1/dms/files/f8b17a0b-38ed-4301-8a1e-a7b3e8b56698/preview → 400
Opened
#325 [Auto] [Backend] HEAD / → 405
Opened
#326 [Auto] [Backend] GET /api/.env → 404
Opened
#327 [Auto] [Backend] GET /api/v1/dms/files/f8b17a0b-38ed-4301-8a1e-a7b3e8b56698/download: name 'LocalStorage' is not defined
Opened
#328 [Auto] [Backend] GET /api/v1/mcp/servers → 404
Opened
#329 [Auto] [Backend] GET /api/v1/api/v1/workspaces/my → 404
Opened
#330 [Auto] Request failed with status code 404
Opened
#331 [Auto] [Backend] GET /api/v1/api/v1/workspaces/my → 404
Opened
#332 [Auto] Request failed with status code 404
Opened
#333 [Auto] [Backend] GET /api/v1/api/v1/workspaces/my → 404
Opened
#334 [Auto] Request failed with status code 404
Opened
#335 [Auto] [Backend] GET /api/v1/api/v1/workspaces → 404
Opened
#336 [Auto] [Backend] GET /api/v1/api/v1/workspaces → 404
Opened
#337 [Auto] [Backend] GET /api/v1/api/v1/workspaces/my → 404
Opened
#338 [Auto] Request failed with status code 404
Opened
#339 [Auto] [Backend] GET /api/v1/api/v1/workspaces/my → 404
Opened
#340 [Auto] Request failed with status code 404
Opened
#341 [Auto] [Backend] POST /api/v1/contacts → 429
Opened
#342 [Auto] [Backend] PATCH /api/v1/contacts/37530f48-56fc-4f18-a43f-b97617c56323 → 429
Opened
#343 [Auto] [Backend] GET /api/v1/contacts/37530f48-56fc-4f18-a43f-b97617c56323 → 429
Opened
#344 [Auto] [Backend] DELETE /api/v1/contacts/37530f48-56fc-4f18-a43f-b97617c56323 → 429
Opened
#345 [Auto] [Backend] POST /api/v1/workspaces → 429
Opened
#346 [Auto] [Backend] GET /api/v1/workspaces/context → 429
Opened
#347 [Auto] [Backend] POST /api/v1/workspaces/None/widgets → 429
Opened
#348 [Auto] [Backend] GET /api/v1/workspaces/None/widgets → 429
Opened
#349 [Auto] [Backend] GET /api/v1/api/v1/workspaces/my → 404
Opened
#350 [Auto] Request failed with status code 404
Opened
#351 BUG: KI-Chat-Stream 403 'Stream failed: 403' und Wiki-Speichern 403 nach Seiten-Reload (CSRF-Token fehlt)
Opened
#352 BUG: mark_conv_read 500 — comm_message_reads UniqueViolation bei erneutem Als-gelesen-Markieren
Opened
#353 BUG: WebSocket reconnect loop — Verbindung wird wegen fehlendem csrf_token Query-Parameter abgewiesen
Opened
#354 BUG: test_contacts_lifecycle test_app_still_starts_without_contacts_special_case erwartet >100 Routen — veraltet nach Plugin-Manifest-Routing
Opened
#355 BUG: Plugin-Lifecycle Runtime-Cleanup tot — was_already_active/inactive erst NACH registry-Aufruf berechnet
Opened
#356 BUG: 4 Core→Plugin-Imports in core/jobs.py DSAR-Sammlung — direkte Model-Imports statt Contracts
Opened
#357 REFACTOR: Contacts-Entities aus statischem ENTITY_MODELS entfernt — ContactsPlugin ist Single Source; + VORBESTAND: 12 ACL-Batch-Failures durch Suite-Isolation (relation users does not exist)
Opened
#358 BUG: 5 statische Route-Permissions inkonsistent zu Backend/Manifest — 2 Phantom-Permissions (communication:read, activity:read), /wiki ungeschützt
Opened
#359 SPEC W4a: Import/Export Contribution-Architektur — zentraler Dialog per Toolbar-Button, Formate als Plugins, Module als Contributors
Opened
#360 M2 Dashboard-Backend: Persönliche Dashboards (Tabelle, CRUD, Seed, RLS)
Opened
#361 M3 Dashboard-Builder-Frontend: Edit-Modus, Drag&Drop, Palette, Tabs
Opened
#362 M4 System-Rückbau: Dashboard-Inhalte als MiniApps, Core = reiner Host
Opened
#363 M5 Plugin-MiniApps: dms, mail, wiki, graph_rag, automation liefern Dashboard-Widgets
Opened
#364 M6 Weitere Hosts: MiniApps in Fenstern + AI-Agenten-Ausgabe-Blöcke
Opened
#365 feat(N1): Scope-Registry via Contract — workspace_scopes() Deklarationen + /scope-definitions Endpoint
Opened
#366 feat(N2): Dynamischer Scope-Editor — WorkspaceScopeEditor ersetzt JSON-Textarea, Scope-Values in workspace_modules.config
Opened
#367 feat(N3): Backend respektiert X-Workspace-ID bei Listen — contacts/dms/mail/calendar + Frontend-Defaults
Opened
#368 feat(N4): Restliche Module — Tasks/Kommunikation/Wiki/Reports/Agents/Tags/Search + Navigation + Dashboard-Schnittstelle
Opened
#369 feat(approvals): Freigaben-UI — Review-Queue mit Approve/Reject (UI-Modul 1/16)
Opened
#370 fix(arch): Externer Architektur-Audit — 13 Backend-Fixes, Phase Q geplant
Opened
#371 feat(arch): Phase Q — Frontend-Plugin-Architektur vollendet (Q1-Q4)
Opened
#372 feat(delegations): UI fuer Berechtigungs-Delegationen — Modul 2/16
Opened
#373 feat(api-tokens): UI fuer Bearer-Tokens — Modul 3/16
Opened
#374 feat(tenants): UI fuer Mandanten-Verwaltung — Modul 4/16
Opened
#375 feat(marketplace): UI fuer Plugin-Marketplace — Modul 5/16
Opened
#376 feat(templates): UI fuer Berechtigungs-Vorlagen — Modul 6/16
Opened
#377 feat(skills): UI fuer AI-Skill-Definitionen — Modul 7/16
Opened
#378 feat(agent-memory): UI fuer Agent-Memories mit semantischer Suche — Modul 8/16
Opened
#379 UI fuer Event-Outbox (Modul 9/16 UI-Backlog)
Opened
#380 fix(webhooks): .any() auf JSONB-Spalte crashte jeden Event-Publish (158 failed Outbox-Events)
Opened
#381 fix(app-shell): Haengende Lazy-Routen ("Dashboard loads forever") — instabile Zustands-Selektoren
Opened
#382 UI fuer ABAC-Richtlinien (Modul 10/16 UI-Backlog)
Opened
#383 UI fuer Wissens-Graph mit BFS-Traversierung (Modul 11/16 UI-Backlog)
Opened
#384 UI fuer Firmen-Verwaltung mit Ansprechpartner-Links (Modul 12/16 UI-Backlog)
Opened
#385 Oeffentliche Share-Zugriffsseite fuer externe Besucher (Modul 13/16 UI-Backlog)
Opened
#386 UI-Backlog Modul 14: Gäste-Verwaltung (/api/v1/guests)
Opened
#387 UI-Backlog Modul 15: External-Agent-API (/api/v1/external/agent)
Opened
#388 UI-Backlog Modul 16: Besitzübertragung (/api/v1/ownership)
Opened
#389 Bug: ai_assistant seit 0137 in Produktion inaktiv (migration_failed) — KI-Chat down
Opened
#390 R1: Stille-Ausfaelle-Waechter + Alerting (ARQ-Heartbeat, Plugin-Status, DLQ, Mail-Alarm)
Opened
#391 R2: Test-Suite verlaesslich (Isolation relation-users + Vitest-OOM)
Opened
#392 R3: Schema-Integritaet automatisieren (alembic check entblocken + Migration-Hash-Alarm)
Opened
#393 R4: E2E-Kernprozess-Regression nach jedem Full-Deploy
Opened
#394 R5: Backup-Restore-Drill monatlich + RTO/RPO-Nachweis
Opened
#395 R6: Ops-Runbook + Eskalationskette um reale Ausfallklassen ergaenzen
Opened
#396 S1: Sicherheitsgrenzen (Astra F01,F02,F03,F05,F10,F11,F15,F20,F21,F23,F30)
Opened
#397 S2: Ausfuehrung verbinden (Astra F06-F09,F12-F19,F31,F37,F40,F41)
Opened
#398 S3: Fachliche Integritaet (Astra F25-F28,F32-F35,F38,F39)
Opened
#399 S4: Betriebsfreigabe (Astra F04,F22,F24,F29,F36 + korrigierte Phase R)