4.89v && 4.90v Offline reasons

Last modification: 2026-08-26 07:21:35
  1. Track who set a user online: added online_by_user_id column to lh_users_online_session recording which operator set a user online; online-hours statistics gained a "Set online by" column showing that operator.
  2. Online operators widget customization: added a new "Online operators widget settings" screen under Statistics (statistic/onlineopsettings) with a new onlineop_settings permission, letting operators choose which columns appear in the online operators dashboard widget (Name, Status, Last assignment, Live chats/free slots, Department, Reason for offline, Session duration) and their position; the widget now renders the configured columns, shows "offline since" in the name column when a dedicated column is hidden, restores expand/collapse actions, preserves passed column widths and allows controlling widget columns from the embed code.
  3. Track who set a user offline: added updated_by_user_id column to lh_users_online_session recording which operator set a user offline or online; online-hours statistics gained a "Set offline by" column showing that operator, with the offline action attributed only to the operator who explicitly set the user offline; last visit is now updated when toggling the hide-online status in user edit.
  4. Autoclose enhancements: all autoclose settings now accept fractional timeout values; the activity timeout supports sender-based modes by appending ,1 (close only when the visitor sent the last message) or ,2 (close only when the operator sent the last message) to the configured value; settings descriptions in the chat list configuration were clarified.
  5. Chat cleanup on close: cleanupOnClose() is now executed when chats are closed via the cronjob or by changing their status (previously it only ran on manual close), removing orphaned records such as auto-responder chat links, bot repeat restrictions, bot chat events, pending bot events, voice/video sessions, transfers, group chats and temporary files; a new utility cron cron/util/cleanup_orphan_chats_data cleans orphaned chat data for chats that were closed before this fix, iterating chats from newest to oldest with an optional start chat id parameter.
  6. Blocked users search: added a block type (btype) filter to the blocked users search covering all block types (IP, Nick, Nick and Department, IP + Nick, IP + Nick and Department, E-mail, Country, Online user, Sender E-mail).
  7. Transfer department window: improved the transfer department window using the searchable multi-dropdown with radio selection and added on_change handler support to the multi-dropdown renderer.
  8. Mail conversations: added "Expand all"/"Collapse all" actions to the mail conversation screen for quickly expanding or collapsing all message bodies.
  9. Message edit history: added a new "Preview message" modal (chat/previewmsg) and an "Edited" link on edited admin messages opening the preview with the edit history.
  10. Widget filters reset: "Reset widget filters" now clears widget local storage client-side instead of performing a server-side action; fixed a related typo.
  11. Miscellaneous: added the Isle of Man flag icon; updated install scripts and database structure definition for the new column; bumped version to 4.89v.

For update just follow standard update procedure. For manual update it's update_355.sql, update_356.sql

**Full Changelog**: https://github.com/LiveHelperChat/livehelperchat/compare/4.88v...4.90v