Skip to content

feat: add Maximum Notifications and Multiline Message Text settings - #98

Merged
SpikeHD merged 4 commits into
SpikeHD:mainfrom
penguinwokrs:feat/notification-display-settings
Nov 9, 2026
Merged

SpikeHD merged 4 commits into
SpikeHD:mainfrom
penguinwokrs:feat/notification-display-settings

Conversation

@penguinwokrs

@penguinwokrs penguinwokrs commented Nov 3, 2026 •

Copy link
Copy Markdown
Contributor

Adds two notification settings:

  • Maximum Notifications (default 3): how many rows show at once, notifications and voice channel chat together. When the area is full, the oldest row is dropped to make room for the new one. Up to now it kept 4.
  • Multiline Message Text (off by default): long messages wrap onto up to 3 lines.

Long text now also ends with "…", which wasn't drawn before. Since the line breaks are estimated from the text length, this only applies to the built-in template; custom templates are unchanged.

Off On
Long messages cut to one line with an ellipsis Long messages wrapped onto up to 3 lines

Tested on Windows with long English and Japanese messages. cargo fmt and clippy pass.

Adds the Maximum Notifications setting (default 3). Notifications and voice
channel chat rows share that many rows; the rest wait their turn,
notifications first, instead of pushing rows out.
Long messages wrap onto up to 3 lines, and cut-off text ends with an ellipsis
(Blitz doesn't draw text-overflow). Only the built-in template is affected.
@penguinwokrs
penguinwokrs force-pushed the feat/notification-display-settings branch from 5bf1d60 to 4b3d491 Compare November 8, 2026 12:31
@penguinwokrs

Copy link
Copy Markdown
Contributor Author

@SpikeHD Now that #97 is merged, I rebased this onto main, so it's down to the 2 commits for these settings. Ready for review whenever you have time!

Comment thread crates/orbolay-core/src/app_state.rs Outdated
self.show_pending()
}

pub fn show_pending(&mut self) -> bool {

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

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

Am I correct in saying that this waits for old notifications to expire before showing newer ones?

If this is the case, I think I'd prefer if notifications were more like a sliding window: if we are at the max, and a new notification comes in, the oldest should immediately be discarded to make room for the newest.

@penguinwokrs penguinwokrs Nov 8, 2026 •

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Yes, it waited. Now when the area is full, the oldest row (notification or chat, whichever came first) is dropped right away to make room for the new one. The pending queues are gone.

Comment thread TEMPLATES.md Outdated
<button class="action secondary" data-action="1">Reject</button>
```

"Show Full Message Text" and the "…" for cut-off text only apply to the built-in template. Custom templates are rendered as before, with the whole body text.

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

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

This can be removed

@penguinwokrs penguinwokrs Nov 8, 2026 •

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Removed.

Comment thread crates/orbolay-core/src/config.rs Outdated
#[serde(default = "default_max_notifications")]
pub max_notifications: u32,
#[serde(default)]
pub notification_full_text: bool,

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

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

I think notification_full_text is a bit of a misleading name imo, since we still truncate them. Maybe something like extended_notification_bodies or multiline_notification_bodies?

@penguinwokrs penguinwokrs Nov 8, 2026 •

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Renamed to multiline_notification_bodies (multilineNotificationBodies in config.json). The toggle is now labeled "Multiline Message Text" too.

@penguinwokrs penguinwokrs changed the title feat: add Maximum Notifications and Show Full Message Text settings feat: add Maximum Notifications and Multiline Message Text settings Nov 8, 2026
@penguinwokrs
penguinwokrs requested a review from SpikeHD November 8, 2026 23:05
@SpikeHD
SpikeHD merged commit a44e794 into SpikeHD:main Nov 9, 2026
11 checks passed
@SpikeHD

SpikeHD commented Nov 9, 2026

Copy link
Copy Markdown
Owner

thank you!

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.

2 participants