- Ya
- 19 Aprili 2026, 22:17 UTC
- Mwandishi
- kamo
- Ahadi ya
- adce3ef
The editor's app list had drifted from the backend ServiceType enum: - Missing 8 non-deprecated apps (AI_SUPPORT, SUPPORT, KNOWLEDGE_BASE, NOTES, POS, DOCS, MEET, CALCULATOR). - Included 3 deprecated stand-ins (STORAGE, DOC_MANAGER, DOC_CLASSIFIER). Combined with the old backend behavior that deleted app-config rows on payload absence, this meant saving a master model with any single change silently wiped all 8 missing apps to NOT_AVAILABLE — which manifested user-facing as "disabling CRM also disabled most of the features, and re-enabling CRM only brought CRM back." SERVICE_TYPES now mirrors the 20 non-deprecated values of ServiceType.java in the shared library, in the same order the backend iterates. Descriptions and stages are synced. Deprecated types are intentionally omitted — their config rows are cleaned up during the next save because they're not in the outgoing payload and the backend's upsert-only semantics leave absent rows alone (deprecated apps get purged only via explicit admin action).