Skip to content

ECHO-452 Better chat templates#293

Merged
ussaama merged 2 commits intomainfrom
better-templates
Sep 16, 2025
Merged

ECHO-452 Better chat templates#293
ussaama merged 2 commits intomainfrom
better-templates

Conversation

@ussaama
Copy link
Copy Markdown
Contributor

@ussaama ussaama commented Sep 16, 2025

Summary by CodeRabbit

  • New Features

    • Quick-access chat templates as clickable pills, plus a searchable Templates modal.
    • New “Strategic Planning” template and improved template highlighting/selection.
    • External link to suggest new templates.
  • Bug Fixes

    • Selected template now clears when the input is emptied.
  • Style

    • Branding updated from “Echo” to “ECHO” across relevant UI text.
  • Chores

    • Localization updates across languages to support new template UI and branding.

- add templates modal to select additional templates
- add logic to remove selection of template if user clears text input box
- extract the templates to a central place to be used for chat main page and templates modal
- add keys to templates for better rendering and as identifiers
- remove commented 'Linkedin' template
@linear
Copy link
Copy Markdown

linear bot commented Sep 16, 2025

@cursor
Copy link
Copy Markdown

cursor bot commented Sep 16, 2025

You have run out of free Bugbot PR reviews for this billing cycle. This will reset on October 5.

To receive reviews on all of your PRs, visit the Cursor dashboard to activate Pro and start your 14-day free trial.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Sep 16, 2025

Walkthrough

Introduces a new templates data module and TemplatesModal component, refactors ChatTemplatesMenu to use quick-access chips plus a modal, and threads selectedTemplateKey through ProjectChatRoute. Updates various UI strings to use uppercase “ECHO.” Broad localization resource updates reflect file moves and new/renamed msgids.

Changes

Cohort / File(s) Summary
Chat templates UI
echo/frontend/src/components/chat/ChatTemplatesMenu.tsx, echo/frontend/src/components/chat/TemplatesModal.tsx, echo/frontend/src/components/chat/templates.ts
Refactor to two-tier templates (quick-access + modal). Added TemplatesModal, introduced templates.ts with Template interface, Templates, and quickAccessTemplates. ChatTemplatesMenu now accepts optional selectedTemplateKey prop and renders chips + modal trigger; internal selection logic updated.
Project chat route updates
echo/frontend/src/routes/project/chat/ProjectChatRoute.tsx
Passes selectedTemplateKey to ChatTemplatesMenu. Clears template when input is emptied via useEffect. Updates disclaimer text to uppercase “ECHO.”
Participant and project copy
echo/frontend/src/routes/participant/ParticipantConversation.tsx, echo/frontend/src/components/project/ProjectPortalEditor.tsx
Text-only updates: “Echo” → “ECHO” in cooldown toast and project editor labels.
Localization — de-DE
echo/frontend/src/locales/de-DE.po, echo/frontend/src/locales/de-DE.ts
Moves template-related msgids to new files; adds new template/disclaimer strings; rekeys messages to English phrase keys in .ts payload.
Localization — en-US
echo/frontend/src/locales/en-US.po, echo/frontend/src/locales/en-US.ts
Updates references and adds new template/ECHO strings; switches .ts to English phrase keys.
Localization — es-ES
echo/frontend/src/locales/es-ES.po, echo/frontend/src/locales/es-ES.ts
Reference shifts, new template/ECHO strings; .ts payload expanded and rekeyed with English IDs.
Localization — fr-FR
echo/frontend/src/locales/fr-FR.po, echo/frontend/src/locales/fr-FR.ts
Template strings relocated; adds new modal/search/strategic planning/ECHO entries; .ts payload replaced with expanded set.
Localization — nl-NL
echo/frontend/src/locales/nl-NL.po, echo/frontend/src/locales/nl-NL.ts
Similar relocation and new entries; .ts now includes English message-ID keys alongside existing ones.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

Suggested labels

Feature, improvement

Pre-merge checks and finishing touches

❌ Failed checks (2 warnings)
Check name Status Explanation Resolution
Linked Issues Check ⚠️ Warning For [ECHO-452] the PR satisfies two core objectives: the Strategic Planning template was added to Templates and a scalable two-tier design (quick-access chips + searchable TemplatesModal) was implemented to handle many templates. The requested pop-up solicitation ("Do you have a template you want to share with other Hosts?") with an email-preferred submission path is not implemented as described; the modal only exposes a bottom CTA linking to Notion and localized "Let us know!" copy. Because the explicit in-app pop-up/email submission flow from the linked issue is missing, the linked-issue requirements are only partially met. Add an in-app prompt or modal that asks the soliciting question and wire it to the preferred submission mechanism (mailto or a small form/back-end endpoint), or explicitly document that the Notion link is an interim solution and capture the email-response workflow as follow-up work; include a short test/QA note and update the linked issue to reflect remaining scope.
Out of Scope Changes Check ⚠️ Warning This PR includes notable changes outside the templates objective: large localization payload rewrites across multiple locale files (en-US.ts, fr-FR.ts, es-ES.ts, nl-NL.ts, de-DE.ts) that rekey translation maps, and branding/case changes (Echo → ECHO) in ProjectPortalEditor, ParticipantConversation, and ProjectChatRoute. Those edits expand review surface and risk unrelated regressions and do not appear required to meet ECHO-452. Separate the i18n rekeying and branding/casing edits into their own PRs or provide an explicit justification and migration plan in this PR, run the full i18n/translation CI and snapshot checks, and ensure reviewers focus template UX changes here while localization/branding are reviewed independently.
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title Check ✅ Passed The title "ECHO-452 Better chat templates" is concise, references the linked issue, and accurately summarizes the primary change set (templates UX improvements including a Strategic Planning template, quick-access chips, and a TemplatesModal). It is clear enough for a teammate scanning history to understand the PR's main intent.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.
✨ Finishing touches
  • 📝 Generate Docstrings
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch better-templates

Tip

👮 Agentic pre-merge checks are now available in preview!

Pro plan users can now enable pre-merge checks in their settings to enforce checklists before merging PRs.

  • Built-in checks – Quickly apply ready-made checks to enforce title conventions, require pull request descriptions that follow templates, validate linked issues for compliance, and more.
  • Custom agentic checks – Define your own rules using CodeRabbit’s advanced agentic capabilities to enforce organization-specific policies and workflows. For example, you can instruct CodeRabbit’s agent to verify that API documentation is updated whenever API schema files are modified in a PR. Note: Upto 5 custom checks are currently allowed during the preview period. Pricing for this feature will be announced in a few weeks.

Please see the documentation for more information.

Example:

reviews:
  pre_merge_checks:
    custom_checks:
      - name: "Undocumented Breaking Changes"
        mode: "warning"
        instructions: |
          Pass/fail criteria: All breaking changes to public APIs, CLI flags, environment variables, configuration keys, database schemas, or HTTP/GraphQL endpoints must be documented in the "Breaking Change" section of the PR description and in CHANGELOG.md. Exclude purely internal or private changes (e.g., code not exported from package entry points or explicitly marked as internal).

Please share your feedback with us on this Discord post.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 32

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (16)
echo/frontend/src/locales/fr-FR.po (3)

271-281: Typos and phrasing in Compare & Contrast prompt.

Fix misspelling and awkward phrasing; keep tone intact.

-"Aller au-delà des comparaisons superficieles
+"Aller au-delà des comparaisons superficielles
@@
-"Structurer l'analyse pour construire une compréhension
+"Structurer l'analyse pour favoriser la compréhension
- "Dessiner des insights qui contredisent les idées conventionnelles
+ "Dégager des insights qui remettent en cause les idées reçues

2657-2659: “Ceci est …”, not “Cette est …”.

-msgstr "Cette est une vue en direct du portail du participant. Vous devrez actualiser la page pour voir les dernières modifications."
+msgstr "Ceci est une vue en direct du portail du participant. Vous devrez actualiser la page pour voir les dernières modifications."

2989-2993: Conjugation: “enverrons”, not “envoyerons”.

-msgstr "Nous vous envoyerons un message uniquement si votre hôte génère un rapport, nous ne partageons jamais vos informations avec personne. Vous pouvez vous désinscrire à tout moment."
+msgstr "Nous vous enverrons un message uniquement si votre hôte génère un rapport, nous ne partageons jamais vos informations avec personne. Vous pouvez vous désinscrire à tout moment."
echo/frontend/src/locales/en-US.po (2)

2735-2737: en-US spelling: analyze.

 msgid "library.description"
-msgstr "This is your project library. Create views to analyse your entire project at once."
+msgstr "This is your project library. Create views to analyze your entire project at once."

3204-3206: en-US spelling: analyze.

-msgstr "Your view has been created. Please wait as we process and analyse the data."
+msgstr "Your view has been created. Please wait as we process and analyze the data."
echo/frontend/src/locales/nl-NL.po (6)

14-14: Set correct Plural-Forms header

Missing plural rules will break pluralized strings. Set Dutch plural forms.

-"Plural-Forms: \n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"

285-307: Complete and tighten the “Analyze these elements…” translation

Several bullets are missing and tone is off. Proposed fuller, crisper Dutch.

 msgid ""
 "Analyze these elements with depth and nuance. Please:\n"
@@
 msgstr ""
-"Analyseer deze elementen met diepte en nuance. Neem de volgende punten in acht:\n"
-"\n"
-"Focus op verrassende verbindingen en contrasten\n"
-"Ga verder dan duidelijke oppervlakte-niveau vergelijkingen\n"
-"Identificeer verborgen patronen die de meeste analyses missen\n"
-"Blijf analytisch exact terwijl je aantrekkelijk bent\n"
-"\n"
-"Opmerking: Als de vergelijkingen te superficieel zijn, laat het me weten dat we meer complex materiaal nodig hebben om te analyseren."
+"Analyseer deze elementen met diepgang en nuance. Graag:\n"
+"\n"
+"Leg onverwachte verbanden en contrasten bloot\n"
+"Ga verder dan voor de hand liggende vergelijkingen op oppervlakteniveau\n"
+"Identificeer verborgen patrononen die de meeste analyses missen\n"
+"Bewaar analytische scherpte en blijf boeiend\n"
+"Gebruik voorbeelden die onderliggende principes verhelderen\n"
+"Structureer de analyse zodat het begrip opbouwt\n"
+"Trek inzichten die de conventionele wijsheid uitdagen\n"
+"\n"
+"Opmerking: Als de gelijkenissen/verschillen te oppervlakkig zijn, geef aan dat we complexer materiaal nodig hebben om te analyseren."

1012-1015: Wrong language mix in “Enable Report Notifications”

German/Dutch mashup. Use Dutch.

-msgstr "Berichtsbenachrichtigingen inschakelen"
+msgstr "Rapportmeldingen inschakelen"

203-206: Use “chat” consistently

We mix “gesprek” vs “chat”. Align with the rest of the UI.

-msgstr "Voeg toe aan dit gesprek"
+msgstr "Voeg toe aan deze chat"

2267-2270: Use “chat” consistently

-msgstr "Verwijder van dit gesprek"
+msgstr "Verwijder uit deze chat"

903-903: Normalize Dutch pronouns in echo/frontend/src/locales/nl-NL.po — use informal "je"

Mixed "je" and "u/uw" found; convert participant-facing "u/uw" → "je" for consistency.

  • Examples to change: 1062: "Voer uw toegangscode in" → "Voer je toegangscode in"; 1318: "Geweldig! Uw documenten worden nu geüpload." → "Geweldig! Je documenten worden nu geüpload."; 3102: "Typ hier uw reactie" → "Typ hier je reactie".
  • Many strings already use "je" (e.g., 18: "Je bent niet ingelogd") — run a global pass and review possessive cases (uw → je/jouw) for grammar.
echo/frontend/src/locales/es-ES.po (5)

14-14: Set correct Plural-Forms header

Spanish plural rules are missing; pluralized strings may break.

-"Plural-Forms: \n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"

539-542: “Confirm Publishing” should not be “Publicar”

Use “Confirmar publicación”.

-msgstr "Publicar"
+msgstr "Confirmar publicación"

1794-1796: Consistency: stick to informal “tú” voice

-msgstr "Por favor, habilite la participación para habilitar el uso compartido"
+msgstr "Habilita la participación para poder compartir"

1701-1703: Natural phrasing for “Open for Participation?”

-msgstr "¿Abierto para Participación?"
+msgstr "¿Permitir participación?"

257-282: Improve fidelity of “Analyze these elements…”

Sharper imperatives, complete bullets.

 msgid ""
 "Analyze these elements with depth and nuance. Please:\n"
@@
 msgstr ""
-"Analiza estos elementos con profundidad y matiz. Por favor:\n"
-"\n"
-"Enfoque en las conexiones inesperadas y contrastes\n"
-"Pasa más allá de las comparaciones superficiales\n"
-"Identifica patrones ocultos que la mayoría de las analíticas pasan por alto\n"
-"Mantén el rigor analítico mientras sigues siendo atractivo\n"
-"Usa ejemplos que iluminan principios más profundos\n"
-"Estructura el análisis para construir una comprensión\n"
-"Dibuja insights que contradicen ideas convencionales\n"
-"\n"
-"Nota: Si las similitudes/diferencias son demasiado superficiales, por favor házmelo saber, necesitamos material más complejo para analizar."
+"Analiza estos elementos con profundidad y matiz. Por favor:\n"
+"\n"
+"Céntrate en conexiones y contrastes inesperados\n"
+"Ve más allá de comparaciones obvias y superficiales\n"
+"Identifica patrones ocultos que la mayoría pasa por alto\n"
+"Mantén rigor analítico sin perder atractivo\n"
+"Usa ejemplos que aclaren principios subyacentes\n"
+"Estructura el análisis para construir comprensión\n"
+"Extrae conclusiones que cuestionen la sabiduría convencional\n"
+"\n"
+"Nota: Si las similitudes/diferencias son demasiado superficiales, indícame que necesitamos material más complejo para analizar."
📜 Review details

Configuration used: CodeRabbit UI

Review profile: ASSERTIVE

Plan: Pro

Disabled knowledge base sources:

  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 7c60655 and 7c7a547.

📒 Files selected for processing (16)
  • echo/frontend/src/components/chat/ChatTemplatesMenu.tsx (2 hunks)
  • echo/frontend/src/components/chat/TemplatesModal.tsx (1 hunks)
  • echo/frontend/src/components/chat/templates.ts (1 hunks)
  • echo/frontend/src/components/project/ProjectPortalEditor.tsx (3 hunks)
  • echo/frontend/src/locales/de-DE.po (65 hunks)
  • echo/frontend/src/locales/de-DE.ts (1 hunks)
  • echo/frontend/src/locales/en-US.po (66 hunks)
  • echo/frontend/src/locales/en-US.ts (1 hunks)
  • echo/frontend/src/locales/es-ES.po (65 hunks)
  • echo/frontend/src/locales/es-ES.ts (1 hunks)
  • echo/frontend/src/locales/fr-FR.po (65 hunks)
  • echo/frontend/src/locales/fr-FR.ts (1 hunks)
  • echo/frontend/src/locales/nl-NL.po (67 hunks)
  • echo/frontend/src/locales/nl-NL.ts (1 hunks)
  • echo/frontend/src/routes/participant/ParticipantConversation.tsx (1 hunks)
  • echo/frontend/src/routes/project/chat/ProjectChatRoute.tsx (4 hunks)
🧰 Additional context used
🧠 Learnings (2)
📚 Learning: 2025-05-30T15:36:40.131Z
Learnt from: ussaama
PR: Dembrane/echo#169
File: echo/frontend/src/locales/fr-FR.po:521-523
Timestamp: 2025-05-30T15:36:40.131Z
Learning: In the French localization file (fr-FR.po), "Dembrane Echo" is intentionally translated as "Echo Dembrane" for better French language flow and natural sound. This is not an error but a deliberate localization choice.

Applied to files:

  • echo/frontend/src/components/project/ProjectPortalEditor.tsx
  • echo/frontend/src/locales/fr-FR.po
📚 Learning: 2025-08-19T10:14:31.647Z
Learnt from: ussaama
PR: Dembrane/echo#266
File: echo/frontend/src/components/chat/ChatAccordion.tsx:214-221
Timestamp: 2025-08-19T10:14:31.647Z
Learning: In the Echo frontend codebase using Lingui, i18n IDs in Trans components (e.g., `<Trans id="any.string.here">`) can be arbitrary strings and don't need to follow specific naming conventions. They are just references used in .po files, and the actual translations need to be manually defined in the locale files.

Applied to files:

  • echo/frontend/src/locales/de-DE.po
  • echo/frontend/src/locales/en-US.po
🧬 Code graph analysis (7)
echo/frontend/src/components/chat/TemplatesModal.tsx (1)
echo/frontend/src/components/chat/templates.ts (2)
  • Templates (11-76)
  • Template (4-9)
echo/frontend/src/locales/de-DE.ts (1)
echo/frontend/src/locales/en-US.ts (1)
  • messages (1-1)
echo/frontend/src/routes/project/chat/ProjectChatRoute.tsx (1)
echo/frontend/src/components/chat/ChatTemplatesMenu.tsx (1)
  • ChatTemplatesMenu (19-106)
echo/frontend/src/locales/nl-NL.ts (2)
echo/frontend/src/locales/de-DE.ts (1)
  • messages (1-1)
echo/frontend/src/locales/en-US.ts (1)
  • messages (1-1)
echo/frontend/src/components/chat/ChatTemplatesMenu.tsx (2)
echo/frontend/src/components/chat/templates.ts (2)
  • quickAccessTemplates (78-78)
  • Templates (11-76)
echo/frontend/src/components/chat/TemplatesModal.tsx (1)
  • TemplatesModal (26-134)
echo/frontend/src/locales/fr-FR.ts (3)
echo/frontend/src/locales/de-DE.ts (1)
  • messages (1-1)
echo/frontend/src/locales/en-US.ts (1)
  • messages (1-1)
echo/frontend/src/locales/es-ES.ts (1)
  • messages (1-1)
echo/frontend/src/locales/en-US.ts (4)
echo/frontend/src/locales/de-DE.ts (1)
  • messages (1-1)
echo/frontend/src/locales/es-ES.ts (1)
  • messages (1-1)
echo/frontend/src/locales/fr-FR.ts (1)
  • messages (1-1)
echo/frontend/src/locales/nl-NL.ts (1)
  • messages (1-1)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: ci-check-server
🔇 Additional comments (14)
echo/frontend/src/locales/en-US.ts (1)

1-1: en-US catalog aligned with new template keys and ECHO casing. LGTM.

No action needed.

echo/frontend/src/routes/participant/ParticipantConversation.tsx (1)

256-257: Cooldown toast copy — ECHO casing verified. LGTM.
CE1Qet contains "Please wait {timeStr} before requesting another ECHO." (other variants: Am5V3+ → "Echo", GXZvZ7 → "echo").

echo/frontend/src/components/project/ProjectPortalEditor.tsx (1)

386-386: Revoke LGTM — i18n still contains mixed‑case "Echo" strings

rg output shows leftover "Echo" occurrences in frontend locale bundles (examples: "Dembrane Echo", "Echo is powered by AI. Please double-check responses.", "Please wait {timeStr} before requesting another Echo."). Replace those with "ECHO" across all locale/message files under echo/frontend (messages.*) and regenerate the compiled locales/build artifacts.

Likely an incorrect or invalid review comment.

echo/frontend/src/routes/project/chat/ProjectChatRoute.tsx (2)

334-340: Template auto‑clear on empty input — confirm UX intent.

Sending a message usually clears the input; this effect will also clear the template right after submit. If the template should apply per-message, great. If users expect it to persist for the next prompt, consider clearing on explicit “Clear” only or omitting this effect.


576-576: Branding copy update to “ECHO” — LGTM.

Also applies to: 606-606

echo/frontend/src/components/chat/templates.ts (1)

61-75: Strategic Planning template — meets ECHO‑452 objective. LGTM.

Please confirm the backend recognizes the id strategic-planning.

echo/frontend/src/locales/nl-NL.ts (1)

1-1: NL locale refresh — LGTM.

New keys for templates (“Meer templates”, “Zoek templates...”) and ECHO branding landed. No blockers spotted here.

echo/frontend/src/locales/es-ES.ts (1)

1-1: Spanish locale contains residual English strings — verify translations in echo/frontend/src/locales/es-ES.ts

Verification script returned no output / errored; please open echo/frontend/src/locales/es-ES.ts and translate remaining English entries (examples): K1Omdr — "Are you sure you want to generate the library? This will take a while.", nAEwOZ — "Enter your access code", hjaZqm / O1x7Ay — "Project Overview", gqYJin / zyA8Hj / No7/sO — "This is your project library". LGTM after translation.

echo/frontend/src/locales/fr-FR.ts (1)

1-1: LGTM — fix fr-FR translations & small nits

  • File: echo/frontend/src/locales/fr-FR.ts — translate remaining English fallthroughs: K1Omdr ("Are you sure you want to generate the library? This will take a while.") → "Êtes‑vous sûr de vouloir générer la bibliothèque ? Cela prendra un certain temps."; hjaZqm → "Aperçu du projet"; O1x7Ay → "Aperçu et édition du projet"; nAEwOZ → "Entrez votre code d'accès".
  • Grammar nit: S6iyis currently "Veuillez ne fermer votre navigateur" → change to "Veuillez ne pas fermer votre navigateur".
  • Branding: HA9VXi shows "ÉCHO" — align to canonical "ECHO" (no accent) across locale.
  • Also fix other English leftovers (examples: gqYJin, zyA8Hj, AAC/NE, NMz7xK, D3SDJS, hX9DE4, EM1Aiy) and re-run a grep for "This |Are you|Enter your" to confirm none remain.
echo/frontend/src/locales/fr-FR.po (1)

2494-2496: Title case consistency (FR).

Template titles use sentence case elsewhere (“Notes de réunion”). Prefer “Planification stratégique”.
[raise_nitpick_refactor]

 msgid "Strategic Planning"
-msgstr "Planification Stratégique"
+msgstr "Planification stratégique"
echo/frontend/src/locales/en-US.po (1)

78-80: Trim stray leading space.
[raise_nitpick_refactor]

 msgid "library.generate.duration.message"
-msgstr " Generating library can take up to an hour."
+msgstr "Generating library can take up to an hour."
echo/frontend/src/locales/nl-NL.po (2)

935-939: Style: lowercase “antwoorden”

[raise_nitpick_refactor]

-msgstr "ECHO wordt aangedreven door AI. Controleer de Antwoorden nogmaals."
+msgstr "ECHO wordt aangedreven door AI. Controleer de antwoorden nogmaals."

2431-2433: Consistency: prefer “sjablonen” over “templates”

Matches “Templates” → “Sjablonen” elsewhere.
[raise_nitpick_refactor]

-msgstr "Zoek templates..."
+msgstr "Zoek sjablonen..."
echo/frontend/src/locales/es-ES.po (1)

2966-2968: Add opening question mark

[raise_nitpick_refactor]

-msgstr "Quieres añadir una plantilla a ECHO?"
+msgstr "¿Quieres añadir una plantilla a ECHO?"

@ussaama ussaama enabled auto-merge September 16, 2025 08:34
@ussaama ussaama added this pull request to the merge queue Sep 16, 2025
Merged via the queue into main with commit acffdcf Sep 16, 2025
11 checks passed
@ussaama ussaama deleted the better-templates branch September 16, 2025 09:19
spashii pushed a commit that referenced this pull request Nov 18, 2025
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- New Features
- Quick-access chat templates as clickable pills, plus a searchable
Templates modal.
- New “Strategic Planning” template and improved template
highlighting/selection.
  - External link to suggest new templates.

- Bug Fixes
  - Selected template now clears when the input is emptied.

- Style
  - Branding updated from “Echo” to “ECHO” across relevant UI text.

- Chores
- Localization updates across languages to support new template UI and
branding.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants