Add SMS tool button to NavTop, gate softphone + SMS on organization.isVoip
Redesign phone provider setup to match email provider format with logos, help tips, and correct nav tabs
- Rewrite PhoneProviderSetup to match EmailProviderSetup pattern: list/config view split, AnimatePresence transitions, back button with provider name in header,...
Show Phone System(s) settings unconditionally so orgs can configure VOIP before enabling it
- Remove isVoip gate from phone section on /settings page — Provider Setup card has no condition so it always appears; Agents and Dial Plans still gated by isVo...
Guard against non-array API responses in useContacts hook
setBooks, fetchContacts, and searchContacts now safely handle error objects and Spring paginated wrappers instead of crashing with 'e.map is not a function'.
Add Personal Calendars & Contacts section to member membership-permissions tab
Add PersonalProviderSection component for member CalDav/CardDav integrations
Inject helpTips into SettingsView help panel override in PhoneProviderSetup
Use outer SettingsView help panel on email provider config page
Push provider-specific help to HelpTipsOverrideContext so the config view uses the same Help & Tips panel layout as the list view, instead of rendering its own ...
Rename email nav sub-item from General to Provider Setup
Uses namespaced key Email - Provider Setup to avoid collision with the existing AI Provider Setup route entry.
Implement email provider config secondary page with ?configure=1 routing
- List view shows provider cards only - Clicking a configurable provider pushes ?configure=1 - Config view shows back arrow, config form, and inline Help & Tips...
Add HelpTipsOverrideContext and fix help panel suppression in SettingsView
- Fix helpTips type from string to React.ReactNode - Add HelpTipsOverrideContext so child components can suppress outer help panel - Condition help panel and Sh...
Replace editor/preview toggle with inline template editor
New TemplateInlineEditor component renders the full template (header, backgrounds, margins, signature) with a borderless Quill editor embedded in the body area....
Reorder source dropdown, default to user, use team member label
- Default scope changed from "company" to "user" - Dropdown order reversed: Team Members first, Department, then org - "Individual User" renamed to the parent o...
Remove placeholder text from preview, allow sending without subject
- Empty email body in preview no longer shows "Start typing your email..." - Subject is no longer required to send — Send button is enabled with just a recipi...
Template dropdown fills remaining width, other controls right-aligned
The template source dropdown now has flex:1 to fill all remaining space. Edit/Preview toggle, attach button, Draft, and Send buttons are right-aligned with flex...
Like what you see shipping?
All of it arrives in your workspace on its own. Start on the free plan and read this page again in a month.
