Skip to content

add TEXT status tag to the sidebar if source is PORTAL_TEXT#247

Merged
ussaama merged 2 commits intomainfrom
feature/echo-374-add-text-status-tag-to-the-sidebar-if-conversation-has-only
Jul 28, 2025
Merged

add TEXT status tag to the sidebar if source is PORTAL_TEXT#247
ussaama merged 2 commits intomainfrom
feature/echo-374-add-text-status-tag-to-the-sidebar-if-conversation-has-only

Conversation

@spashii
Copy link
Copy Markdown
Member

@spashii spashii commented Jul 28, 2025

Summary by CodeRabbit

  • New Features

    • Added a "Text" badge to conversations that contain only text content.
  • Localization

    • Added new translation entries for the "Text" badge in German, Spanish, French, and Dutch.
    • Updated translation files to include the new key and refreshed translation content for German, French, and Dutch.
    • Updated source code reference line numbers in all .po localization files for improved translation maintenance.
  • Style

    • Minor formatting updates in English and Spanish localization files.

@linear
Copy link
Copy Markdown

linear bot commented Jul 28, 2025

@spashii spashii requested a review from ussaama July 28, 2025 12:19
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Jul 28, 2025

Walkthrough

A "Text" badge is now conditionally displayed in conversation status indicators when all conversation chunks are text-only. This required logic and UI updates to ConversationAccordion.tsx. All translation files and message catalogs were updated to include the new "Text" string and to refresh source line references. Additionally, the VSCode sessions schema version was bumped from 10 to 11.

Changes

Cohort / File(s) Change Summary
Conversation Status Indicator Logic & UI
echo/frontend/src/components/conversation/ConversationAccordion.tsx
Added memoized logic to detect text-only conversations and render a "Text" badge when applicable; reformatted some JSX and type annotations for clarity.
Translation PO Files: Source Reference & New Key
echo/frontend/src/locales/en-US.po, echo/frontend/src/locales/de-DE.po, echo/frontend/src/locales/es-ES.po, echo/frontend/src/locales/fr-FR.po, echo/frontend/src/locales/nl-NL.po
Updated source line references for all keys; added new entry for "Text" badge with appropriate translations.
Translation Message Catalogs: Content Refresh
echo/frontend/src/locales/en-US.ts, echo/frontend/src/locales/de-DE.ts, echo/frontend/src/locales/es-ES.ts, echo/frontend/src/locales/fr-FR.ts, echo/frontend/src/locales/nl-NL.ts
Refreshed or regenerated the static JSON message catalogs; added or updated "Text" translation. No changes to export structure or typings.
VSCode Session Schema Update
echo/.vscode/sessions.json
Updated $schema URL from version 10 to version 11.

Sequence Diagram(s)

sequenceDiagram
    participant User
    participant ConversationAccordion
    participant ConversationStatusIndicators

    User->>ConversationAccordion: View conversation list
    ConversationAccordion->>ConversationStatusIndicators: Render status indicators for a conversation
    ConversationStatusIndicators->>ConversationStatusIndicators: Compute hasOnlyTextContent (all chunks PORTAL_TEXT?)
    alt Only text content
        ConversationStatusIndicators-->>User: Show "Text" badge
    else Mixed/other content
        ConversationStatusIndicators-->>User: No "Text" badge
    end
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~7 minutes

Possibly related PRs

Suggested reviewers

  • spashii

Note

⚡️ Unit Test Generation is now available in beta!

Learn more here, or try it out under "Finishing Touches" below.

✨ Finishing Touches
  • 📝 Generate Docstrings
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feature/echo-374-add-text-status-tag-to-the-sidebar-if-conversation-has-only

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
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Explain this complex logic.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai explain this code block.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and explain its main purpose.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai generate unit tests to generate unit tests for this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

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: 1

📜 Review details

Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 724bd2f and 7d71df2.

📒 Files selected for processing (1)
  • echo/frontend/src/components/conversation/ConversationAccordion.tsx (5 hunks)
🧰 Additional context used
🧠 Learnings (2)
📓 Common learnings
Learnt from: ussaama
PR: Dembrane/echo#224
File: echo/frontend/src/components/report/CreateReportForm.tsx:97-155
Timestamp: 2025-07-17T15:57:51.321Z
Learning: In echo/frontend/src/components/report/CreateReportForm.tsx, the conversation status section should only be displayed when there are pending conversations (conversationCounts.pending !== 0). When all conversations are processed, no status information should be shown to keep the UI minimal and clean.
Learnt from: ussaama
PR: Dembrane/echo#180
File: echo/frontend/src/locales/es-ES.ts:1-1
Timestamp: 2025-06-06T05:43:44.935Z
Learning: When users indicate they have already addressed translation issues in locale files, verify the current state before assuming the issue persists. Translation files are often updated in bulk and previously flagged English text may have been properly localized.
echo/frontend/src/components/conversation/ConversationAccordion.tsx (3)

Learnt from: ussaama
PR: #224
File: echo/frontend/src/components/report/CreateReportForm.tsx:97-155
Timestamp: 2025-07-17T15:57:51.321Z
Learning: In echo/frontend/src/components/report/CreateReportForm.tsx, the conversation status section should only be displayed when there are pending conversations (conversationCounts.pending !== 0). When all conversations are processed, no status information should be shown to keep the UI minimal and clean.

Learnt from: ussaama
PR: #169
File: echo/frontend/src/components/project/ProjectPortalEditor.tsx:409-464
Timestamp: 2025-05-30T15:38:44.413Z
Learning: Badge-based selectors in ProjectPortalEditor.tsx: Keyboard navigation enhancements for accessibility are considered optional improvements rather than critical issues. The user acknowledges these suggestions but doesn't prioritize them as blockers.

Learnt from: spashii
PR: #142
File: echo/frontend/src/lib/query.ts:680-696
Timestamp: 2025-05-13T15:20:25.165Z
Learning: In the Echo project, the conversation tags feature is designed with an implicit limit of 100 tags per conversation. Having more than 100 tags indicates a misuse of the feature rather than a limitation that needs to be addressed in the code. Errors for exceeding this limit should be handled at a logical level above the implementation.

⏰ 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). (2)
  • GitHub Check: Cursor Bugbot
  • GitHub Check: ci-check-server
🔇 Additional comments (1)
echo/frontend/src/components/conversation/ConversationAccordion.tsx (1)

420-425: Text badge pipe-clean: LGTM

Conditional render works and styling matches existing palette. Ship it.

@ussaama ussaama enabled auto-merge July 28, 2025 14:18
@ussaama ussaama self-requested a review July 28, 2025 14:18
@ussaama ussaama added this pull request to the merge queue Jul 28, 2025
Merged via the queue into main with commit cb2eafd Jul 28, 2025
12 checks passed
@ussaama ussaama deleted the feature/echo-374-add-text-status-tag-to-the-sidebar-if-conversation-has-only branch July 28, 2025 14:22
spashii added 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**
* Added a "Text" badge to conversations that contain only text content.

* **Localization**
* Added new translation entries for the "Text" badge in German, Spanish,
French, and Dutch.
* Updated translation files to include the new key and refreshed
translation content for German, French, and Dutch.
* Updated source code reference line numbers in all `.po` localization
files for improved translation maintenance.

* **Style**
  * Minor formatting updates in English and Spanish localization files.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Usama <reach.usamazafar@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants