Skip to content

Comments

Feature: New chatbox#604

Draft
CodingWithAnxiety wants to merge 5 commits intodevelopmentfrom
feat/new-chatbox
Draft

Feature: New chatbox#604
CodingWithAnxiety wants to merge 5 commits intodevelopmentfrom
feat/new-chatbox

Conversation

@CodingWithAnxiety
Copy link
Member

Adds a new chatbox to the Horizon interface.

Notably, this layout defaults to the buttons being under, and also is generally a little neater. Still needs some testing. PR as draft.

Copy link

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 introduces a new Mattermost-style chatbox interface for Horizon with improved layout and functionality. The formatting toolbar can now be positioned at the top or bottom (defaulting to bottom), and the UI has been modernized with better visual feedback and placeholder text for chat inputs.

Changes:

  • Redesigned BBCode editor with Mattermost-style UI, including toolbar positioning options and overflow menu for formatting buttons
  • Added minimum window size constraints (600x400) for better UX
  • Added placeholder text for channel and private message inputs with proper internationalization

Reviewed changes

Copilot reviewed 10 out of 10 changed files in this pull request and generated 9 comments.

Show a summary per file
File Description
bbcode/Editor.vue Complete UI overhaul with new container structure, toolbar positioning support, and responsive overflow menu for formatting buttons
scss/_bbcode_editor.scss Added Mattermost-specific styles and color chip styling for the new editor layout
chat/ConversationView.vue Integrated new editor features including toolbar position setting, placeholder text, and redesigned controls slot
chat/StatusSwitcher.vue Updated to use new controls slot pattern for character counter
chat/ManageChannel.vue Updated to use new controls slot pattern for character counter
chat/SettingsView.vue Added UI control for toolbar position preference
chat/interfaces.ts Added bbCodeBarPosition setting type definition
chat/common.ts Added bbCodeBarPosition setting with 'bottom' default
chat/locales/en_us.json Added placeholder text strings for channels and private messages, plus toolbar position setting labels
electron/browser_windows.ts Added minimum window dimensions to improve usability

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@FatCatClient
Copy link
Contributor

Can we get screenshots, please?

I think that playing with custom font sizes for everything doesn't help in making it fit in with the rest of the UI. Don't we have standard classes for most of those?

@FatCatClient
Copy link
Contributor

FatCatClient commented Jan 19, 2026

Some additional bugs/ issues I've noticed:

  • Switching the position setting seems to break the box sizing (also note the cursor position):
Screen.Recording.2026-01-19.101226.mp4
  • The position setting isn't being respected at all for other bbcode editors (status switcher, settings dialog, ads). Is this a bug?
  • Color popup now always comes out from the bottom (and can clip out of the view):
image
  • Mobile-sized UX is arguably worse with tiny buttons in a popout space (way harder to tap/ click). It also clips outside of the viewport often once it takes up multiple lines:
image
  • Might be a matter of taste, but the original buttons having a hover background made them stand out more as actual clickable elements? It certainly looked a bit less "in your face".
  • The new indicators for Ad/ Channel mode are less clear than also having the background color change.

Having an overflow menu for buttons is nice, and some of the effects like the primary color for when the color picker and preview are active look good and clear, but I'm worried we might be losing track of the simplicity that worked well for the original client.

@CodingWithAnxiety CodingWithAnxiety self-assigned this Jan 20, 2026
@FatCatClient FatCatClient added this to the 1.37.0 milestone Feb 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

2 participants