Skip to content

fix(CollaboratorAvatarGroup): canonicalize User.border_color → borderColor#1495

Merged
mascot-five merged 1 commit intomasterfrom
fix/collaborator-border-color-canonical
May 6, 2026
Merged

fix(CollaboratorAvatarGroup): canonicalize User.border_color → borderColor#1495
mascot-five merged 1 commit intomasterfrom
fix/collaborator-border-color-canonical

Conversation

@leecalcote
Copy link
Copy Markdown
Member

Summary

Renames the last remaining snake_case identifier on Sistent's consumer-facing API: `User.border_color` → `User.borderColor` on the `Users` prop interface for `CollaboratorAvatarGroup`.

Phase 7c (commit `3a18882d`) deferred this rename on the grounds that it would be a public Sistent API break. That carve-out has stopped being load-bearing now that we've established the coordinated-rename pattern via #1484 (`useRoomActivity({ provider_url → providerUrl })`): rename the Sistent contract → ship a Sistent release → bump consumers in lockstep. We own the project; canonicalizing the last consumer-facing snake_case identifier is exactly what the contract is for.

Changes

  • `User.border_color: string` → `User.borderColor: string` on the exported `Users` prop interface (`CollaboratorAvatarGroup.tsx:42`).
  • Both `` call sites updated to read `user.borderColor` (visible avatar group at line 196, popup-overflow list at line 245).
  • JSDoc example + `@property` doc comments updated to match.

Diff: 5 lines changed in 1 file.

Test plan

  • `npx jest` — 29/29 passing.
  • `grep -rn "border_color" src/` — no matches.
  • Once the next Sistent release ships, smoke-test `CollaboratorAvatarGroup` in Kanvas: open a design in two tabs and verify the borders on collaborator avatars render with their assigned colors.

Coordinated consumer flips

After this PR ships in a Sistent release and `@sistent/sistent` is bumped in extensions:

  • `meshery-extensions/meshmap/collaborators/app.tsx:59` is the only call site building a `Users` map for `` — flips `border_color: user.border_color` → `borderColor: user.borderColor` in the same PR as the Sistent bump (matching the pattern in meshery-extensions#4221).

No other downstream consumers identified by cluster-wide audit.

References

…Color

Phase 7c (commit 3a18882) deferred this rename on the grounds that
it would be a public sistent API break. That carve-out was correct
at the time, but it has stopped being load-bearing now that we've
established the coordinated-rename pattern via sistent#1484
(`useRoomActivity({ provider_url → providerUrl })`): rename the
sistent contract → ship a sistent release → bump consumers in
lockstep.

We own the project; bringing the last consumer-facing snake_case
identifier inline with the canonical naming scheme is exactly the
kind of change the contract is for.

Changes
- `User.border_color: string` → `User.borderColor: string` on the
  exported `Users` prop interface for `CollaboratorAvatarGroup`.
- Both `<StyledAvatar>` call sites (visible avatar group + popup
  overflow) updated to read `user.borderColor`.
- JSDoc example + `@property` doc comment updated to match.

Verified
- `npx jest` — 29/29 passing.
- `grep -rn "border_color" src/` — no matches.

Coordinated consumer flips
- `meshery-extensions/meshmap/collaborators/app.tsx:59` (the only
  call site building a `Users` map for `<CollaboratorAvatarGroup>`).
  After this PR ships in a sistent release and `@sistent/sistent`
  is bumped in extensions, the consumer flip is a one-line change
  in the same PR as the bump (matching the pattern in
  meshery-extensions#4221).
- No other downstream consumers identified by repo audit.

Signed-off-by: Yi Nuo <218099172+yi-nuo426@users.noreply.github.com>
Copilot AI review requested due to automatic review settings May 6, 2026 17:53
@mascot-five mascot-five merged commit 962410c into master May 6, 2026
8 checks passed
@mascot-five mascot-five deleted the fix/collaborator-border-color-canonical branch May 6, 2026 17:56
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR updates CollaboratorAvatarGroup’s public-facing users prop shape to use canonical camelCase by renaming the remaining snake_case field border_color to borderColor, aligning with the broader identifier-naming contract used across the Sistent ecosystem.

Changes:

  • Renamed User.border_colorUser.borderColor in the users map type used by CollaboratorAvatarGroup.
  • Updated both StyledAvatar call sites to read user.borderColor.
  • Updated the JSDoc example and @property documentation to match the new field name.

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request refactors the User interface and its usage within the CollaboratorAvatarGroup component by renaming the border_color property to borderColor to align with camelCase naming conventions. The changes are consistently applied across the interface definition, JSDoc documentation, and component props. There are no review comments to address, and I have no further feedback to provide.

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.

4 participants