feat(branding): standardize "Let's Chat" display name; guard tab title (LC-538) #508

Merged
Claude-Run merged 1 commit from feat/LC-538-standardize-name-casing into main 2026-07-04 06:42:58 +02:00
Member

Standardize the product name across every user-visible surface to "Let's Chat" (title case, apostrophe), while keeping the lowercase hyphenated lets-chat single-token form for repo/system/wire identifiers (crate + binary names, LETS_CHAT_* env vars, X-LetsChat-* webhook headers, user-agent strings, urn/UID/iCal identifiers, email [lets-chat] subject filter tags) that cannot carry an apostrophe.

  • Browser tab/window title: replace lets-chat with "Let's Chat" in all 51 Askama <title> / {% block title %} blocks, the base.html default, maintenance.html, and the data-base-title attribute that layout.html's unread-count script uses to rebuild document.title. Normalize admin/analytics.html to the shared - Admin - Let's Chat shape.
  • Desktop app: window title, tray tooltip, and Quit menu item now read "Let's Chat".
  • PWA manifest.webmanifest name + short_name now "Let's Chat" (installed-app / home-screen title).
  • User-visible prose: email templates (password reset, digest, login alert, verify) and en/es locale strings (backup/bridge/IMAP admin notes, verify-email link) now use "Let's Chat".
  • Add tests/lc538_tab_title_naming.rs: a structural grep-ban over templates/ that fails if any <title> / block title / data-base-title line reintroduces the lowercase lets-chat in tab-title text, so AC-1 is enforced mechanically against regression.

System identifiers, code comments, and log lines are intentionally left as lets-chat (the hyphenated single-token form, already consistent per AC-2).

#LC-538

Standardize the product name across every user-visible surface to "Let's Chat" (title case, apostrophe), while keeping the lowercase hyphenated `lets-chat` single-token form for repo/system/wire identifiers (crate + binary names, `LETS_CHAT_*` env vars, `X-LetsChat-*` webhook headers, user-agent strings, urn/UID/iCal identifiers, email `[lets-chat]` subject filter tags) that cannot carry an apostrophe. - Browser tab/window title: replace `lets-chat` with "Let's Chat" in all 51 Askama `<title>` / `{% block title %}` blocks, the `base.html` default, `maintenance.html`, and the `data-base-title` attribute that `layout.html`'s unread-count script uses to rebuild `document.title`. Normalize `admin/analytics.html` to the shared `- Admin - Let's Chat` shape. - Desktop app: window title, tray tooltip, and Quit menu item now read "Let's Chat". - PWA `manifest.webmanifest` `name` + `short_name` now "Let's Chat" (installed-app / home-screen title). - User-visible prose: email templates (password reset, digest, login alert, verify) and en/es locale strings (backup/bridge/IMAP admin notes, verify-email link) now use "Let's Chat". - Add `tests/lc538_tab_title_naming.rs`: a structural grep-ban over `templates/` that fails if any `<title>` / `block title` / `data-base-title` line reintroduces the lowercase `lets-chat` in tab-title text, so AC-1 is enforced mechanically against regression. System identifiers, code comments, and log lines are intentionally left as `lets-chat` (the hyphenated single-token form, already consistent per AC-2). #LC-538
feat(branding): standardize "Let's Chat" display name; guard tab title (LC-538)
All checks were successful
check-secrets / TruffleHog (pull_request) Successful in 5s
check-secrets / Nosey parker (push) Successful in 6s
check-secrets / Nosey parker (pull_request) Successful in 7s
check-secrets / TruffleHog (push) Successful in 6s
check-secrets / Kingfisher (push) Successful in 8s
check-secrets / Kingfisher (pull_request) Successful in 8s
Check / clippy + fmt + tests (pull_request) Successful in 3m51s
Create release / Create release from merged PR (pull_request) Has been skipped
2de2c5d336
Standardize the product name across every user-visible surface to "Let's Chat" (title case, apostrophe), while keeping the lowercase hyphenated `lets-chat` single-token form for repo/system/wire identifiers (crate + binary names, `LETS_CHAT_*` env vars, `X-LetsChat-*` webhook headers, user-agent strings, urn/UID/iCal identifiers, email `[lets-chat]` subject filter tags) that cannot carry an apostrophe.

- Browser tab/window title: replace `lets-chat` with "Let's Chat" in all 51 Askama `<title>` / `{% block title %}` blocks, the `base.html` default, `maintenance.html`, and the `data-base-title` attribute that `layout.html`'s unread-count script uses to rebuild `document.title`. Normalize `admin/analytics.html` to the shared `- Admin - Let's Chat` shape.
- Desktop app: window title, tray tooltip, and Quit menu item now read "Let's Chat".
- PWA `manifest.webmanifest` `name` + `short_name` now "Let's Chat" (installed-app / home-screen title).
- User-visible prose: email templates (password reset, digest, login alert, verify) and en/es locale strings (backup/bridge/IMAP admin notes, verify-email link) now use "Let's Chat".
- Add `tests/lc538_tab_title_naming.rs`: a structural grep-ban over `templates/` that fails if any `<title>` / `block title` / `data-base-title` line reintroduces the lowercase `lets-chat` in tab-title text, so AC-1 is enforced mechanically against regression.

System identifiers, code comments, and log lines are intentionally left as `lets-chat` (the hyphenated single-token form, already consistent per AC-2).

#LC-538
Claude-Run deleted branch feat/LC-538-standardize-name-casing 2026-07-04 06:42:58 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
psa-systems/lets-chat!508
No description provided.