Release 5.3.30
What Changed
- Assignee filter. In chat folders you can filter by assignee, including Without assignee — find unassigned dialogs or combine with specific operators (OR logic).
- Contact messages in history. Contact messages (share contact, forwarded from address book) now appear in appeal history and Operator Panel with text like «Contact: Name — phone».
- Scenario builder. More stable behaviour: unknown node types and errors are handled gracefully; the editor no longer breaks when opening scenarios with unsupported or legacy nodes.
- Telegram and search_list. Correct saving of search_list values and proper handling of Telegram inline keyboards in scenarios.
- Trigger mappings. Channels configured in the interface (widget, e-chat, etc.) are now normalized for trigger mappings, so trigger settings are preserved correctly when switching or syncing.
- Operator Panel sidebar. Small improvements and fixes in the sidebar and operator learning block.
How It Changed
Scenario builder and Telegram
Before: Opening a scenario with an unknown node type or a runtime error could break the scenario builder; search_list and Telegram inline keyboard data might not save or display correctly.
Now: Unknown nodes are wrapped in a fallback view; errors are caught so the editor stays usable; search_list and inline keyboard handling are fixed.
Why it matters: Fewer broken scenarios and reliable behaviour when using Telegram buttons and search_list in flows.
Assignee and contact
Before: No filter for «without assignee» in folders; contact messages did not appear in appeal history.
Now: Assignee filter includes «Without assignee»; contact messages show in history with «Contact: Name — phone».
Why it matters: Faster distribution and full context for shared contacts.
Trigger mappings and sidebar
Before: Trigger mappings could get out of sync when UI channel names differed from internal ones; sidebar and learning block had minor glitches.
Now: Channels are normalized for trigger mappings so settings stay consistent; sidebar and operator learning block are more stable.
Why it matters: Reliable automation triggers and a smoother operator experience.