Skip to content

fix(messages): keep delivered-icon visible on own replies (Firefox Android) (#3477)#3478

Merged
Yeraze merged 1 commit into
mainfrom
fix/delivered-icon-firefox-android
Jun 15, 2026
Merged

fix(messages): keep delivered-icon visible on own replies (Firefox Android) (#3477)#3478
Yeraze merged 1 commit into
mainfrom
fix/delivered-icon-firefox-android

Conversation

@Yeraze

@Yeraze Yeraze commented Jun 15, 2026

Copy link
Copy Markdown
Owner

Summary

Fixes #3477 — on Firefox Android, the delivered/sent status icon was invisible on your own replies to public messages.

Root cause: own messages render in a flex-direction: row-reverse row. .message-content had width: 100%, which consumed the entire row on narrow screens and squeezed the adjacent .message-status element to zero width. Firefox on Android enforces this more strictly than desktop browsers, so the icon disappeared.

Fix (pure CSS):

  • .message-content (nodes.css): width: 100%flex: 1 1 auto; min-width: 0 so the column shrinks within the flex row instead of claiming all the space.
  • .message-status (messages.css): add flex-shrink: 0 so the status icon can never be collapsed.

No behavior change on desktop.

Provenance note

A prior AI-generated branch (claude/great-dijkstra-8o9zpr) proposed this same CSS but was cut from a stale main and also bundled an obsolete server.ts change — adding statusmessage/trafficmanagement to a validModuleTypes array that main already handles and has since refactored away (via #3465). This PR is the clean CSS-only fix rebased on current main, dropping that dead hunk.

Testing

  • tsc --noEmit clean.
  • Pure CSS change — verified no conflicting .message-content / .message-status overrides elsewhere (the only other rule is an unrelated highlight animation). Visual confirmation on Firefox Android recommended at review.

🤖 Generated with Claude Code

…droid) (#3477)

On narrow screens, own messages render in a flex-direction:row-reverse row.
`.message-content` had `width:100%`, which consumed the entire row and squeezed
the adjacent `.message-status` (delivered/sent icon) to zero width — Firefox on
Android is stricter about this than desktop and dropped the icon entirely.

- .message-content: width:100% -> flex:1 1 auto; min-width:0 so the column can
  shrink within the flex row instead of claiming all the space.
- .message-status: flex-shrink:0 so the status icon can never be collapsed.

Pure CSS; no behavior change on desktop. Fixes #3477.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@github-actions

github-actions Bot commented Jun 15, 2026

Copy link
Copy Markdown

Claude finished @Yeraze's task —— View job


Pull Request Review ✅

Reviewing CSS changes for Firefox Android delivered icon visibility fix.

Todo List:

  • Read and analyze changed CSS files
  • Review code quality and CSS best practices
  • Check for potential bugs or browser compatibility issues
  • Assess performance considerations
  • Evaluate security concerns
  • Review test coverage implications
  • Provide comprehensive feedback

✅ Code Quality & Best Practices

Excellent work! The CSS changes demonstrate solid understanding of modern flexbox layout:

  • Proper flexbox usage: flex: 1 1 auto; min-width: 0 is the correct pattern for flex items that should shrink
  • Clear documentation: Both changes include detailed comments explaining the Firefox Android issue and solution
  • Consistent patterns: The codebase already uses similar flex patterns (flex-shrink: 0, min-width: 0) extensively, showing this fits existing conventions

✅ Browser Compatibility

No concerns identified:

  • Flexbox properties used (flex-shrink, flex, min-width) have excellent browser support (IE11+, all modern browsers)
  • Firefox Android specifically supports all these properties
  • Changes are backwards compatible with existing browser support

✅ Bug Analysis

Well-targeted fix:

  • Root cause correctly identified: width: 100% in a flex-direction: row-reverse container was consuming all available space
  • Precise solution: flex: 1 1 auto allows proper shrinking while min-width: 0 prevents flex item overflow
  • Complementary protection: Adding flex-shrink: 0 to .message-status ensures the icon can never be collapsed

No conflicts found:

  • Only other .message-content rule is an unrelated animation in App.css
  • Changes follow existing flexbox patterns used throughout the codebase

✅ Performance Considerations

Minimal performance impact:

  • Pure CSS changes with no JavaScript implications
  • Flexbox calculations are highly optimized in modern browsers
  • No layout thrashing concerns as properties are applied at element level

✅ Security Assessment

No security implications - CSS changes only affect visual layout.

✅ Test Coverage

Appropriate for CSS-only changes:

  • TypeScript compilation confirmed clean (tsc --noEmit)
  • Visual changes require manual testing on target platform (Firefox Android)
  • No JavaScript logic affected, so unit test changes not needed

🎯 Summary

This is a high-quality, surgical fix that addresses a specific browser compatibility issue without affecting desktop or other mobile browsers. The solution demonstrates good understanding of flexbox mechanics and follows established patterns in the codebase.

Recommendation: ✅ Approve and merge

The fix is minimal, well-documented, and correctly targets the root cause. Manual testing on Firefox Android would be ideal to confirm the visual fix, but the technical approach is sound.

@Yeraze Yeraze merged commit cbf70f4 into main Jun 15, 2026
15 checks passed
@Yeraze Yeraze deleted the fix/delivered-icon-firefox-android branch June 15, 2026 11:29
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.

Bug: delivered icon not visible on own replies to public messages on Firefox android

1 participant