Skip to content
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

Make chat not fixed to the bottom #1208

Open
askmeaboutlo0m opened this issue Apr 7, 2024 · 5 comments
Open

Make chat not fixed to the bottom #1208

askmeaboutlo0m opened this issue Apr 7, 2024 · 5 comments
Labels
feature New features or improvements to existing ones

Comments

@askmeaboutlo0m
Copy link
Member

Currently, the chat always splits the main window at the bottom. It can't be moved anywhere else.

Depending on your screen and how you have the application arranged, this is not a good place for it. However, we also can't make it a dock, because the chat needs to spring open automatically when there's an alert, which a dock can't really do in a sensible way without risking messing up your entire application layout.

It's unclear what the solution for this could be, it needs some thinking on design. Maybe some kind of on-canvas display similar to how video games usually do it, with the chat being somewhere in the corner.

@askmeaboutlo0m askmeaboutlo0m added feature New features or improvements to existing ones needs design An idea that needs a design for it, like a UI mockup or similar labels Apr 7, 2024
@MorrowShore
Copy link
Member

There are quite a few ways this may be implemented.

  • Introduce tabs for the panel on the right (Desktop view) which allows changing between the normal color-select / layers, and a chat, which would automatically be set as the active window when an admin message arrives.
  • Introduce a chat overlay with customizable transparency which would remain on top after dragging it with a hotkey, and remain both non-intractable and transparent during work, until a hotkey to chat or drag the window is pressed. This solution would be similar to streamer-side chat overlays.
  • Introduce a semi-transparent chat overlay (similar to viewer-side overlays during streams) where new chat messages ascends from the status bar on the very bottom and fades after reaching a certain height or existing for long enough.
  • Introduce the option to render chat in the empty space around the canvas.
    ...

There are many possibilities; feedback from users either here or in the community Discord server would be great.

@MorrowShore MorrowShore added the needs discussion For ideas not fully fleshed out yet and need more work before putting into motion label Apr 8, 2024
@Invertex
Copy link

Curious, why does it need to "spring open" on alert?
If it's docked, the size shouldn't be changing on alert, just highlighted and/or ping no? And if it's hidden, it shouldn't be shown automatically... Just maybe a notif icon on the UI somewhere that there's unseen chats.

But having an option for transparent overlay would be a nice extra option

@askmeaboutlo0m
Copy link
Member Author

@Invertex Alerts are supposed to be messages of such high importance that they must be shown to the user immediately. For example, a server admin sending a notice that the server is going down for a reboot, a moderator wanting to talk to you instead of just instantly banning you for violating rules or a session operator letting you know that they're going to clear the canvas and to save what you want to keep.

Those cases go beyond just the "unread messages" badge (which already exists in the bottom-right corner.) If you don't act on these, you lose art, your session will be terminated or you get your account banned.

Unfortunately, most alerts you get currently "preparing for session reset" ones. That's historical, because there didn't use to be any other indicator that the session is resetting. Those exist now, so we should make the message less disruptive.

However, it might be worth a thought if maybe the chat is the wrong place for some or all of those messages and if we can stick them somewhere else. A server admin sending an announcement or an operator telling you to save your stuff isn't really something that needs to go into the chat because it's not something you're supposed to respond to, just something you need to be made aware of. So we could actually put those somewhere else, maybe similar to the disconnect notification where it shows up at the top of the canvas.

That doesn't cover the case where a moderator wants to talk to you though, since you're not gonna chat through a banner message. Or maybe that message could have a "Respond" button that opens up a separate chat dialog. Which may be nice in general for moderators, since it would make it clearer that it's not an automated message, but instead actually the owner of the server wanting them to fix something.

@Invertex
Copy link

Yeah I would agree separating announcements/alerts into a separate panel would probably be a better option. Can just have a dedicated button to show a list of announcements that have happened and highlight it if there's an unseen one.

Could have similar for moderation messages, or they could both be part of the same window, just a different instance of the regular chat window, that gets targeted for alerts and moderator chat. And by default would open as a floating window so it only blocks but doesn't displace interface. Probably not something people would care to have docked for frequent access.

@MorrowShore
Copy link
Member

MorrowShore commented Aug 13, 2024

Here's a potential design.


This would be the normal appearance, which means the user is not currently typing.

The windows are non-interactive (not clickable), and when you hover your mouse close to them, they disappear.
normal


Here's how it would look when you start typing.

You'd be able to move your typing area box around freely and resize it.
The chat popups' position is locked to be either above or below the floating chat box depending on their available space, so they follow the typing area.
typing


Here's when messages from the server owner, or the server itself arrives.

error when typing
error when normal


Naturally, you would then be able to right click on individual chat bubbles to get a context menu for actions regarding the sender. This should make it easier to moderate as well.

And another feature would be selecting the color of your name and message.
However, it's important to ensure readability, so presets would be preferred.

@MorrowShore MorrowShore removed needs discussion For ideas not fully fleshed out yet and need more work before putting into motion needs design An idea that needs a design for it, like a UI mockup or similar labels Aug 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature New features or improvements to existing ones
Projects
None yet
Development

No branches or pull requests

3 participants