Skip to content

fix(ui): show dnd indicator in member list - #27

Open
Nexform-star wants to merge 1 commit into
barbacane-dev:mainfrom
Nexform-star:fix/dnd-member-indicator
Open

Nexform-star wants to merge 1 commit into
barbacane-dev:mainfrom
Nexform-star:fix/dnd-member-indicator

Conversation

@Nexform-star

Copy link
Copy Markdown

What

Show the do-not-disturb indicator next to users in the channel member list.

Changes

  • Reused the existing DndIndicator component.
  • Passed the already available user object to avoid an extra user lookup.
  • Added a test for quiet members.

Testing

  • npm run lint ✅
  • npm run build ✅
  • npm test ⚠️ 168/170 tests passed; the 2 failures are Windows-specific sh ENOENT failures in runtime-env.test.ts.

Closes #19

@coderabbitai

coderabbitai Bot commented Sep 30, 2026 •

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are limited based on label configuration.

🏷️ Required labels (at least one) (1)
  • deep-review

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository: barbacane-dev/burst/.coderabbit.yaml

Review profile: CHILL

Plan: Advanced

Run ID: 82743ef2-bbe1-4fd5-9ca8-9a8815091f57

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Autopilot is currently an internal CodeRabbit preview.


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.

@ndreno ndreno added the ready-for-review Ready for an automated review label Sep 30, 2026
@nicorp-pr-reviewer

Copy link
Copy Markdown

PR Reviewer Guide 🔍

Here are some key observations to aid the review process:

🎫 Ticket compliance analysis 🔶

19 - Partially compliant

Compliant requirements:

  • The member list now shows the do-not-disturb mark next to the member's name.
  • The DndIndicator component is reused by passing the user object directly.
  • A test case has been added to verify that the indicator is shown for quiet members.
  • All required linting, building and testing steps pass.

Non-compliant requirements:

  • None

Requires further human verification:

  • None
⏱️ Estimated effort to review: 3 🔵🔵🔵⚪⚪
🧪 PR contains tests
🔒 No security concerns identified
⚡ Recommended focus areas for review

DndIndicator placement

The DndIndicator component is placed directly after the member's name, which may cause layout issues if the name is truncated or if the indicator pushes other elements out of alignment. It should be positioned consistently with how it appears in message bubbles for visual coherence.

<DndIndicator user={u} />

@ndreno ndreno left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Thanks a lot for this, and congrats on the first contribution to Burst 🎉 Reusing DndIndicator and passing the user you already have is exactly the right approach. A few small things before we merge:

1. Spacing and truncation. The indicator sits inside the truncate span, right after the name, so it touches the name and gets clipped when a name is long. The sidebar does it like this, which would fit here too:

<span className="flex items-center gap-1">
  <span className="truncate">
    {name}
    {isMe && <span className="text-gray-400"> (you)</span>}
  </span>
  <DndIndicator userId={m.userId} user={u} />
</span>

2. Keep the fallback. u comes from usersById.get(m.userId) and can be undefined when a member isn't in the loaded users. Passing userId={m.userId} as well (as above) lets the indicator look the user up in that case.

3. The test. Making the shared bob fixture quiet changes him for every other test in the file. Could you add a dedicated quiet member instead, and also check that a member who isn't quiet shows no indicator? #19 asked for both cases. Also, the file is missing a final newline.

4. Sign-off. CONTRIBUTING asks for a DCO sign-off on each commit: git commit --amend -s and a force-push is enough.

About the two Windows failures in runtime-env.test.ts (sh ENOENT): that's on us, those tests shell out to sh. Not yours to fix here, it's tracked in #28.

Thanks again!

@Nexform-star

Copy link
Copy Markdown
Author

Thanks for the review! No problem—I'll fix all that and push the changes. Thanks also for the details about the Windows tests 👍

Signed-off-by: Nexform-star <potopilo123@hotmail.com>
@Nexform-star
Nexform-star force-pushed the fix/dnd-member-indicator branch from 873d7ba to a68c29f Compare September 30, 2026 17:56
@ndreno

ndreno commented Oct 1, 2026

Copy link
Copy Markdown
Contributor

Am I talking to a bot?

@Nexform-star

Copy link
Copy Markdown
Author

No lol, Do you speak French?

@ndreno

ndreno commented Oct 1, 2026

Copy link
Copy Markdown
Contributor

oui :)

@Nexform-star

Copy link
Copy Markdown
Author

Ah bah super, ça sera plus simple pour échanger alors ;)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ready-for-review Ready for an automated review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Show the do-not-disturb indicator in the channel member list

2 participants