-
Notifications
You must be signed in to change notification settings - Fork 78
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
User management #350
Comments
Here's another related bug that I observed:
|
(The above behavior was observed on |
The outcomes of our discussion this morning on this issue were:
We also need to understand the consequences of moving to this scheme in places where the application may currently assume that all users are present in the internal user list. |
This might also possibly enable us to maintain a new invariant that will simplify channel list rendering: all entries in the channel list must actually correspond to a channel ID, since only users with corresponding DM channels will ever appear. (This assumes the heuristic considers channel metadata to decide which users to show, and it also assumes that upon selecting a user from the user search UI described above, a DM channel is created if one doesn't already exist.) |
Another item from our discussion this morning was that the user listing UI described above will also need to display full user details, including username, display name, and status (online, offline, etc.). |
Not entirely clear above, but the "interface to the server's user search" described above is a separate display item, either replacing the messages area or as a dialog window overlaying the messages. This would have its own input box where the user's interactions affect just that portion, with either an Esc to dismiss this display and return to the normal Matterhorn or by selecting one of the presented users, which will then act on that user as described above. Regarding current user status: The web UI shows the user status as an icon relative to the user's name each time it appears next to a post in the messages window, and if there happens to be a DM for that user in the sidebar the user status is also shown there. Historically for Matterhorn, since we (thought we were) showing all users, the sidebar provided the current status indication for the user as well as the DM handle. There is a desire to show the user status, but there will not necessarily be a DM entry in the sidebar to attach the user status to, but adding an indicator to each username in the chat window is more expensive on a character-cell display. The solution we decided upon for handling user status is to use the user selection display described above. There is a server query that will allow that display to be populated just with members of the current channel, and at that point the current status (online, away, etc.) of each user can be displayed. The DM sidebar will still have status annotations as well, but only for those DM users. It's recommended that this current-channel user display be tied to a single key event for quick and easy display (and selecting a particular user in this mode would go to a DM with that user, just as with a general user selection display). |
Yeah, I was deliberately avoiding jumping to conclusions about how it would be represented, although I favor a dialog-style approach. |
Some other considerations:
Other notes about user list UI:
Other tasks:
|
This is now done in |
Here's a link to the |
For posterity: @aisamanra started working on a user list overlay in the https://github.com/matterhorn-chat/matterhorn/tree/feature/user-list-overlay branch. I've done some more work on it and it's far enough along that now:
|
Here is the heuristic summary inlined to avoid broken links later:
|
Also:
|
Related: #376 |
(Let's also be sure to check on whether our work on this addresses the concerns raised in #376.) |
…hold This change starts us down the path of only showing direct message channels that are sufficiently relevant to be displayed, based on a subset of the conditions described in #350. Ultimately we'll implement more, but this is an initial test of filtering the DM channels.
The main concerns in this ticket, along with most of the new features that were called for, have been addressed partly by changes to |
Is there a way to restore the old behavior? I just want to ctrl+G to go to any user. I'd also like to see at a glance what users are online now, even if the heuristic doesn't think I want to talk to them. If not then I'll downgrade to the previous version (or submit a patch (or maintain a fork)). In fact, the reason I'm using Matterhorn is because it has features that the web client doesn't have. If the feature sets are being unified, then there's no reason for me to use Matterhorn. |
@rightfold there is not a way to restore the previous behavior, but there is As far as the previous behavior of As far as the overall relationship to the web client is concerned, I'm glad to hear that you're using Matterhorn because of its feature set. Our position is as follows: we intend to add web client features to Matterhorn to the extent that they can be added in a terminal setting. Our goal is to do so in a way that minimizes surprise to web client users migrating to Matterhorn while also providing the best terminal user experience that we can think of. That might entail adding the web client features but changing their designs to more terminal-friendly ones, or it might mean omitting aspects of web client features that rely heavily on mouse- or DOM-related UI idioms. It might also entail adding web client features but deviating slightly on specific behaviors, which is definitely the case for the new sidebar changes. While our intention is not to remove features from Matterhorn to bring it into parity with the web client -- I'd definitely like to see Matterhorn providing features that the web client doesn't -- in this particular case we did so because the fact that all users were shown in the sidebar was actually a combination of historical accident, best effort, bugs, and lack of understanding of the web client's UI. I understand that our motivation for making the change doesn't help you and that you want the old behavior back. We've had some discussions about that ourselves on the development team, which is why I mentioned above that we'd be open to discussing it. Thanks for your feedback! |
This ticket is about a few things all at once:
We'll explore these issues and others related to them and figure out how we want to tackle this.
The text was updated successfully, but these errors were encountered: