# Add the ability to reorder favorited collab channels \(\#52649\) · gitcafe/zed

[View on GitCafe](https://git.cafe/gitcafe/zed/commit/64315583c82370900735e609231746bd34aba571)

Repository: [gitcafe/zed](https://git.cafe/gitcafe/zed)

Visibility: public

Requested revision: 64315583c82370900735e609231746bd34aba571

Requested commit: 64315583c82370900735e609231746bd34aba571

Commit: 64315583c82370900735e609231746bd34aba571

Tree: 4e4a915fd97eeeee0783a81d8b767244dfa1b301

Author: Joseph T\. Lyons

Committer: GitHub

## Message

```
Add the ability to reorder favorited collab channels (#52649)

Currently, if you try to re-order a favorite, the favorite will not
reorder, but the actual channels will.


https://github.com/user-attachments/assets/1fbab9ea-4ff4-473f-8de3-d3b60696c5a1

Additionally, a new bug seems to be that if you reorder channels, focus
jumps to a favorite:


https://github.com/user-attachments/assets/fa776ad2-8648-4e68-a253-a98f57bd4951

This PR allows for re-ordering of favorites independent of the actual
channels, and fixes the focusing bug


https://github.com/user-attachments/assets/977e575a-055c-4f26-8183-2744ff7f8f56

I didn't feel comfortable adding just the functionality/fixes alone, so
I added a function to represent the state of the collab panel as a list
of strings, like how testing around the project panel is, and wrote a
few tests to ensure the behavior was pinned down.

The tests cover testing:

- Favoriting/unfavoriting
- Reordering favorites without impacting order of channels in the
channels list
- Reordering channels in the channels list without impacting order of
favorites

Self-Review Checklist:

- [x] I've reviewed my own diff for quality, security, and reliability
- [x] Unsafe blocks (if any) have justifying comments
- [x] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [x] Tests cover the new/changed behavior
- [x] Performance impact has been considered and is acceptable

Closes #ISSUE

Release Notes:

- Added the ability to reorder favorited collab channels.
```

## Parents

- [3aeef321c3bd668826b0ca8817b733934e44985b](https://git.cafe/gitcafe/zed/commit/3aeef321c3bd668826b0ca8817b733934e44985b?format=markdown)

[Source at this commit](https://git.cafe/gitcafe/zed/tree/64315583c82370900735e609231746bd34aba571?format=markdown)
