Skip to content

fix(website): compare section polish#427

Merged
rohitg00 merged 1 commit into
mainfrom
fix/compare-section-polish
May 16, 2026
Merged

fix(website): compare section polish#427
rohitg00 merged 1 commit into
mainfrom
fix/compare-section-polish

Conversation

@rohitg00
Copy link
Copy Markdown
Owner

@rohitg00 rohitg00 commented May 16, 2026

Summary

Compare section was looking cramped after the v0.9.16 changes landed:

  1. AGENTMEMORY VS. THE FIELD. title was redundant (eyebrow already reads VS.) and wrapped ugly — FIELD. dangled on its own line at most desktop widths. Shortened to VS. THE FIELD. Plus added text-wrap: balance globally to .section-title so any wrapping title breaks at a balanced point.

  2. NATIVE PLUGINS cell value was 6 (Claude/Codex/OpenClaw/Hermes/pi/OpenHuman) — 49 chars stuffed into a ~180px grid column → forced multi-line wrap that looked cramped. The agent names are already visible in the Agents grid two sections above; cell now reads just 6.

  3. Row grid: agentmemory column bumped from 1fr → 1.3fr (label trimmed 1.6fr → 1.4fr) so cells like YES (APACHE-2.0) and 2 (Qdrant, Neo4j) have breathing room. Added word-break: break-word as a safety net and 24px horizontal padding so cells don't kiss the section edge.

Test plan

  • npm run build clean
  • Vercel preview verify: 1920 / 1440 / 1280 — title single-line
  • Mobile: title still readable at 375px

Summary by CodeRabbit

  • Style

    • Improved text wrapping behavior for section titles.
    • Optimized comparison table layout with refined column proportions and enhanced spacing.
    • Updated comparison table heading and native plugin feature descriptions.
  • Chores

    • Updated test metrics.

Review Change Stack

…in list

User caught the section looking bad on the live merge:

1. Title "AGENTMEMORY VS. THE FIELD." was redundant (eyebrow already
   reads VS.) and wrapped ugly with FIELD. dangling on its own line.
   Shortened to "VS. THE FIELD." Eyebrow + title now read together
   as "VS. · VS. THE FIELD." which is still on-brand and fits one
   line at every viewport above 480px.

2. Added `text-wrap: balance` to .section-title globally so titles
   that DO need to wrap break at a balanced point instead of leaving
   orphan words. Affects every section's heading; net win — already
   verified other titles (Features TWELVE THINGS, CommandCenter TWO
   UIs, Agents SIX FIRST-PARTY, etc) render correctly.

3. Comparison NATIVE PLUGINS cell value was "6 (Claude/Codex/
   OpenClaw/Hermes/pi/OpenHuman)" — that's 49 chars stuffed into a
   ~180px grid column, forcing multi-line wrap that looked cramped.
   Cell now reads just "6"; the agent names are already visible in
   the dedicated Agents grid two sections above.

4. Row grid: bumped agentmemory column from 1fr → 1.3fr at the
   expense of the label column (1.6fr → 1.4fr) so the longer cell
   values (95.2%, YES (APACHE-2.0), 2 (Qdrant, Neo4j)) have
   breathing room. Added `word-break: break-word` as a safety net
   for future entries. Padded the row 24px horizontally so cells
   don't kiss the section edge.

Build clean.
@vercel
Copy link
Copy Markdown

vercel Bot commented May 16, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
agentmemory Ready Ready Preview, Comment May 16, 2026 9:36am

Request Review

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 16, 2026

📝 Walkthrough

Walkthrough

CSS styling for text wrapping and comparison table layout is refined. The comparison table section heading and native plugins row content are shortened. Generated metadata is updated with incremented test count and current timestamp.

Changes

Comparison Page Update

Layer / File(s) Summary
Heading and layout styling
website/app/globals.css, website/components/Compare.module.css
Section title heading uses balanced text wrapping. Comparison table row grid proportions shift from 1.6fr 1fr 1fr 1fr 1fr to 1.4fr 1.3fr 1fr 1fr 1fr, horizontal padding increases to 20px 24px, and word-break is applied to prevent content overflow.
Comparison table content
website/components/Compare.tsx
Section heading changes from "AGENTMEMORY VS. THE FIELD." to "VS. THE FIELD.". Native plugins row in the comparison data changes to a dash-only format instead of a longer parenthetical description.
Metadata regeneration
website/lib/generated-meta.json
Test pass count increments from 975 to 977 and regeneration timestamp is updated to 2026-05-16T09:33:03.891Z.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Possibly related PRs

  • rohitg00/agentmemory#415: Both PRs update the comparison table content in website/components/Compare.tsx, particularly the NATIVE PLUGINS row data.

Poem

🐰 CSS balance brings harmony to text,
Grid columns dance in their rightful hex,
"VS. THE FIELD!" now proudly proclaims,
Two more tests pass—success claims its names!

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'fix(website): compare section polish' accurately describes the main changes: styling and layout adjustments to the compare section including text wrapping, grid resizing, and padding updates.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/compare-section-polish

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 ESLint

If the error stems from missing dependencies, add them to the package.json file. For unrecoverable errors (e.g., due to private dependencies), disable the tool in the CodeRabbit configuration.

ESLint skipped: no ESLint configuration detected in root package.json. To enable, add eslint to devDependencies.


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

@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

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@website/components/Compare.module.css`:
- Line 21: Replace the deprecated property usage in the .row rule: change the
word-break: break-word declaration to use overflow-wrap: anywhere and set
word-break: normal for the .row selector; locate the existing word-break:
break-word occurrence and update it so the .row grid container uses
overflow-wrap: anywhere (and word-break: normal) to achieve modern,
standards-compliant wrapping behavior.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 9bfcc6d1-b29a-405d-a5ff-a78287995dea

📥 Commits

Reviewing files that changed from the base of the PR and between f1fbea3 and 0d08787.

📒 Files selected for processing (4)
  • website/app/globals.css
  • website/components/Compare.module.css
  • website/components/Compare.tsx
  • website/lib/generated-meta.json

align-items: center;
font-size: 14px;
letter-spacing: 0.12px;
word-break: break-word;
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Verify deprecated usage and inspect candidate replacements in CSS files
rg -n --type=css 'word-break:\s*break-word' -C2
rg -n --type=css 'overflow-wrap:\s*anywhere|word-break:\s*normal' -C2

Repository: rohitg00/agentmemory

Length of output: 356


🏁 Script executed:

fd -type f -name '.stylelintrc*' -o -name 'stylelint.config.*'

Repository: rohitg00/agentmemory

Length of output: 235


🏁 Script executed:

cat -n website/components/Compare.module.css | head -30

Repository: rohitg00/agentmemory

Length of output: 875


🌐 Web query:

word-break break-word deprecated CSS modern replacement overflow-wrap

💡 Result:

The CSS value word-break: break-word is deprecated and should not be used in modern web development [1][2][3]. Modern Replacement The recommended modern replacement is overflow-wrap: anywhere [4][5][6]. Why the change? 1. Deprecation: The word-break: break-word value was a non-standard, browser-specific extension that was never part of the official CSS specification [4][1]. While it remains supported in many browsers for legacy compatibility, it is officially deprecated [1][2]. 2. Functionality: The overflow-wrap property (formerly known as word-wrap) is the standard way to control how text wraps when it would otherwise overflow its container [5][7][8]. 3. overflow-wrap: anywhere vs. break-word: - overflow-wrap: break-word: This is the standard approach for most use cases. It attempts to wrap text normally and only breaks a word if it is impossible to avoid an overflow [5][7][9]. - overflow-wrap: anywhere: This is a more modern and robust option. It behaves similarly to break-word but also considers the word-breaking opportunity when calculating the minimum intrinsic size of a container, which helps prevent layout issues in flex or grid containers [5][6]. Summary of Usage - For general text wrapping: Use overflow-wrap: break-word [7][9]. - For robust layout control (especially in flex/grid): Use overflow-wrap: anywhere [4][5][6]. - Avoid: word-break: break-all (unless you specifically want to break words at any character, even when it is not necessary) and the deprecated word-break: break-word [1][7][9].

Citations:


🏁 Script executed:

find . -maxdepth 3 -type f \( -name '.stylelintrc*' -o -name 'stylelint.config.*' -o -name 'package.json' \) | head -20

Repository: rohitg00/agentmemory

Length of output: 265


🏁 Script executed:

rg -l 'stylelint' --type json --max-count 5

Repository: rohitg00/agentmemory

Length of output: 82


🏁 Script executed:

cat -n .stylelintrc.json

Repository: rohitg00/agentmemory

Length of output: 1690


🏁 Script executed:

web_search
stylelint deprecated word-break property rules standard config

Repository: rohitg00/agentmemory

Length of output: 408


🌐 Web query:

stylelint rule deprecated word-break break-word CSS property

💡 Result:

The CSS value word-break: break-word is deprecated [1][2]. While it remains supported in browsers for backward compatibility, it is no longer recommended for use in new projects [3][1][2]. To address this in your project: 1. Recommended Alternative: Use overflow-wrap: anywhere [4][1]. This property is the modern standard for controlling how words break when they would otherwise overflow their container [1]. 2. Stylelint Configuration: Stylelint does not have a specific built-in rule that exclusively targets the deprecation of the word-break: break-word value. However, you can manage this using the following approaches: - declaration-property-value-disallowed-list: You can explicitly disallow this specific value in your Stylelint configuration to prevent its use [5]. { "rules": { "declaration-property-value-disallowed-list": { "word-break": ["break-word"] } } } - stylelint-csstree-validator: For more comprehensive validation of CSS values against current specifications, it is recommended to use the stylelint-csstree-validator plugin [5]. This plugin can help identify deprecated or invalid values that core Stylelint rules might miss [5]. Note that the Stylelint rule property-no-deprecated is intended for deprecated CSS properties (e.g., word-wrap), not for deprecated values of valid properties [6]. Therefore, it will not flag word-break: break-word [6].

Citations:


Replace deprecated word-break: break-word with overflow-wrap: anywhere.

The word-break: break-word keyword at line 21 is deprecated (non-standard, browser-specific). Since .row is a grid container, use overflow-wrap: anywhere with word-break: normal for proper modern behavior.

💡 Suggested patch
 .row {
   display: grid;
   grid-template-columns: 1.4fr 1.3fr 1fr 1fr 1fr;
   gap: 16px;
   padding: 20px 24px;
   border-bottom: 1px solid var(--charcoal);
   align-items: center;
   font-size: 14px;
   letter-spacing: 0.12px;
-  word-break: break-word;
+  overflow-wrap: anywhere;
+  word-break: normal;
 }
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
word-break: break-word;
.row {
display: grid;
grid-template-columns: 1.4fr 1.3fr 1fr 1fr 1fr;
gap: 16px;
padding: 20px 24px;
border-bottom: 1px solid var(--charcoal);
align-items: center;
font-size: 14px;
letter-spacing: 0.12px;
overflow-wrap: anywhere;
word-break: normal;
}
🧰 Tools
🪛 Stylelint (17.11.0)

[error] 21-21: Deprecated keyword "break-word" for property "word-break" (declaration-property-value-keyword-no-deprecated)

(declaration-property-value-keyword-no-deprecated)

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@website/components/Compare.module.css` at line 21, Replace the deprecated
property usage in the .row rule: change the word-break: break-word declaration
to use overflow-wrap: anywhere and set word-break: normal for the .row selector;
locate the existing word-break: break-word occurrence and update it so the .row
grid container uses overflow-wrap: anywhere (and word-break: normal) to achieve
modern, standards-compliant wrapping behavior.

@rohitg00 rohitg00 merged commit 6f228bd into main May 16, 2026
5 checks passed
@rohitg00 rohitg00 deleted the fix/compare-section-polish branch May 16, 2026 09:43
rohitg00 added a commit that referenced this pull request May 16, 2026
…lish (#432)

Patch bump per the established rule: additive surface only. OpenAI
provider is a new optional surface that activates only when
OPENAI_API_KEY is set, gated by OPENAI_API_KEY_FOR_LLM. Telemetry
project_name pin is pure observability metadata. Compare polish is
docs/website only.

PRs included since v0.9.16:
  #307 — OpenAI-compatible LLM provider (universal adapter for
         OpenAI, Azure OpenAI auto-detected by hostname, DeepSeek,
         SiliconFlow, vLLM, LM Studio, Ollama). Plus the maintainer-
         pushed Azure detection + fetch timeout + README scope hint
         follow-ups. Closes #185, #232, #312, supersedes #240.
  #426 — pin worker telemetry project_name
  #427 — Compare section polish (title + native plugins cell + grid)

Files bumped (9):
  package.json, packages/mcp/package.json, plugin/.claude-plugin/plugin.json,
  plugin/.codex-plugin/plugin.json, src/version.ts, src/types.ts,
  src/functions/export-import.ts, test/export-import.test.ts,
  CHANGELOG.md
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.

1 participant