- Refactor widget.js.
- Fix possible race conditions in inbox reload logic.
- Reload only the updated inbox when an inbox is updated / created not all.
- Retain last inbox while navigatin back from admin -> inbox
- Continuity email layout fixes and improvments.
- Replace haikunator with email local part for visitor names, fallback to "Visitor"
- Add optional website_url config field for "go to chat" link in continuity email footer
- Remove unused / unncessary i18n keys.
- fix duplicate initialization guard
- notification bell for agents
- Refactor and clean up dead code
- Fixes to pre chat form
- Add new column country to users table
- Update ratelimit pkg to be generic
feat: make data table item names clickable.
fix(conversation): focus reply box editor on conversation change
fix(conversation): focus editor on tab change in ReplyBoxContent
fix(conversation): update conversation list item to use router-link
fix(conversation): update message bubble to use router-link for author
fix(conversation): update last interaction fields on message insert
fix(conversation): add last interaction fields to conversation model
fix(conversation): update SQL queries to include last interaction fields
feat(migrations): add migration for last interaction fields in conversations
fix(schema): update schema to include last interaction fields in conversations
Show a warning in sidebar when a conversation with a visitor is opened.
Move string.js utils to shared-ui utils
Modify user fetch queries to allow optional filter by multiple user types not just one.
Fix capitalizaiton for live chat en translations
For example, when a user selects the USA, the form also shows Canada, as both share the +1 calling code.
Rename column from `phone_number_calling_code` to `phone_number_country_code`.
Feat: Show the calling code alongside the country flag in the contact form for the selected country. Previously, only the flag was displayed.
feat: Add HTTP utility functions for trusted origin checks
feat: Implement typing status broadcasting for live chat clients and agents.
feat: Add support for signed URLs in media manager
fix: Update database migration to handle duplicate visitors with same email address.
feat: Add conversation subscription and typing message models for WebSocket communication
feat: Implement conversation subscription management in WebSocket hub this is used for broadcasting typing indicator.
feat: Revamp widget JavaScript to improve mobile responsiveness and show unread messages if any.
- Passes appliedSLAID directly to SLA logic instead of refetching
- Adds appliedSLAID field to conversation struct (already fetched in get-conversation query)
- allow agent to set the to address, adds a to address input in the reply box.
- show to, from, bcc and subject in each message
- always use email addresses from message meta instead of querying via get-to-address
- Reorder notification form fields.
- Refactors and adhoc fixes.
Online: Conversations are auto-assigned.
Auto-away (inactivity in browser): Marks agent as away without stopping assignment (nothing changes for agent).
Manual away: Prevents new conversations from being assigned. (option available in the sidebar)
Reassign replies: Customer replies unassigns the conversation, returning it to the team inbox / unassigned inbox.
prevents multiple update queries unnecessarily on applied sla table.
clear next sla deadline in conversations properly when there's no deadline to be met.
uses the new status column in the applied sla table to determine if the sla is still active and has to be calculated again.