fix(branding): replace 'Chatwoot' with 'Business Name' in sender-name preview
Some checks failed
Lock Threads / action (push) Has been cancelled
Run Linux nightly installer / nightly (push) Has been cancelled
Mark stale issues and pull requests / stale (push) Has been cancelled

SenderNameExamplePreview.vue hardcoded businessName: 'Chatwoot' in the
preview tiles of the inbox-setup wizard's Sender Name section. So even
when an admin had configured their actual business name, the example
preview still rendered 'Smith from Chatwoot' / 'Chatwoot' as the sample
output, leaking upstream brand into the setup flow.

Replace with the generic 'Business Name' placeholder so the example
shows what the input field's placeholder ('Enter your business name')
already implies — that this is where the user's brand name goes.
This commit is contained in:
netlas
2026-04-29 15:25:33 +03:00
parent c28c7943ea
commit e5216ae074
2 changed files with 7 additions and 2 deletions

View File

@@ -35,6 +35,7 @@ LeadChat is a white-label Chatwoot fork maintained on the `leadchat` branch. Cus
| `app/javascript/dashboard/i18n/locale/en/inboxMgmt.json` | New keys: `INBOX_MGMT.ADD.MICROSOFT_SHARED.*` and `INBOX_MGMT.EMAIL_PROVIDERS.MICROSOFT_SHARED.*` | (no comment markers — JSON; flagged here in LEADCHAT.md instead) |
| `app/javascript/shared/components/Branding.vue` (template only) | Replace conditional "Powered by ..." footer link with the empty placeholder div that the original v-else already used. Removes branding from the website chat widget, survey screens, and any other component that mounts `<Branding/>`. Enterprise's `disable_branding` feature flag gets reset by `Internal::ReconcilePlanConfigService`, so a feature-flag approach is unreliable. | `<!-- === LeadChat: branding-removal === -->` |
| `app/views/layouts/vueapp.html.erb` (`<title>` + meta description) | Hardcode `<title>LeadChat</title>` and `<meta name="description">` so they don't render "Chatwoot" via `INSTALLATION_NAME`. The reconcile service resets `INSTALLATION_NAME` to "Chatwoot" on every run, so binding to that config value is unreliable. The original meta description also hardcoded Chatwoot's marketing copy ("customer support solution that helps companies engage customers over Messenger, Twitter, Telegram, WeChat, Whatsapp...") which we drop entirely. | `<%# === LeadChat: branding-removal === %>` |
| `app/javascript/dashboard/routes/dashboard/settings/inbox/components/SenderNameExamplePreview.vue` (lines 33, 43) | Replace hardcoded `businessName: 'Chatwoot'` in the Friendly and Professional preview tiles of the inbox-setup wizard with the generic `'Business Name'` placeholder. The example was leaking upstream brand into the agent-facing setup UI even when the inbox's actual configured business name was something else. | `// === LeadChat: branding-removal === ` |
### C. New top-level files (no upstream conflict potential)

View File

@@ -23,6 +23,10 @@ const emit = defineEmits(['update']);
const { t } = useI18n();
// === LeadChat: branding-removal — example businessName changed from "Chatwoot"
// to "Business Name" so the preview shows a generic placeholder that matches
// the input field placeholder ("Enter your business name") instead of leaking
// the upstream brand into the inbox setup UI. ===
const senderNameKeyOptions = computed(() => [
{
key: 'friendly',
@@ -30,7 +34,7 @@ const senderNameKeyOptions = computed(() => [
content: t('INBOX_MGMT.EDIT.SENDER_NAME_SECTION.FRIENDLY.SUBTITLE'),
preview: {
senderName: 'Smith',
businessName: 'Chatwoot',
businessName: 'Business Name',
email: '<support@yourbusiness.com>',
},
},
@@ -40,7 +44,7 @@ const senderNameKeyOptions = computed(() => [
content: t('INBOX_MGMT.EDIT.SENDER_NAME_SECTION.PROFESSIONAL.SUBTITLE'),
preview: {
senderName: '',
businessName: 'Chatwoot',
businessName: 'Business Name',
email: '<support@yourbusiness.com>',
},
},