Unified notification system #970

Open
opened 2025-02-22 06:58:46 +13:00 by dtonon · 2 comments
dtonon commented 2025-02-22 06:58:46 +13:00 (Migrated from github.com)

This proposal, related to #958, aims to optimize the notification system, and incidentally the sidebar UI.

Key concepts:

Status alerts are proposed to the user with toast messages on the bottom-right area of the screen.

Alerts can be of different kinds, with different styles and interactions, for example a generic notification that auto disappear after X seconds, and a warning one that requires a manual action.

Messages have a mandatory basic text of max 160 chars, and some additional informations; the toast shows only the basic text, clicking the user can read the full text.

The bottom area of the sidebar contains a single notification counter; when there is a new request/pending action, the counter highlights, when the user enters the view, the highlight status is reset.

All the requests and pending actions are grouped in a unique view, and always stay at the top. Other generic messages follow.

When a requests/pending action is completed, it should "transform" in a informative message a move down.

Requests and pending actions generate a notification.


We need to decide how many messages keep; probably a time range of some days (e.g. 7) is sufficient; older messages are automatically deleted.

A button on the top-right permits accessing a similar view with the raw logs of the application, but this will be eventually managed in a separate issue.

Image

Image

The sidebar's content should adapt when resized (min width = 130px):

Image
This proposal, related to #958, aims to optimize the notification system, and incidentally the sidebar UI. ## Key concepts: Status alerts are proposed to the user with toast messages on the bottom-right area of the screen. Alerts can be of different kinds, with different styles and interactions, for example a generic notification that auto disappear after X seconds, and a warning one that requires a manual action. Messages have a mandatory basic text of max 160 chars, and some additional informations; the toast shows only the basic text, clicking the user can read the full text. The bottom area of the sidebar contains a single notification counter; when there is a new request/pending action, the counter highlights, when the user enters the view, the highlight status is reset. All the requests and pending actions are grouped in a unique view, and always stay at the top. Other generic messages follow. When a requests/pending action is completed, it should "transform" in a informative message a move down. Requests and pending actions generate a notification. --- We need to decide how many messages keep; probably a time range of some days (e.g. 7) is sufficient; older messages are automatically deleted. A button on the top-right permits accessing a similar view with the raw logs of the application, but this will be eventually managed in a separate issue. <img width="1041" alt="Image" src="https://github.com/user-attachments/assets/2bfae04a-fe63-46fe-97b7-dd33303215af" /> <br/><br/> <img width="1041" alt="Image" src="https://github.com/user-attachments/assets/c30cd8d9-3145-4e53-b353-86e7d83cd1c6" /> <br/><br/> The sidebar's content should adapt when resized (min width = 130px): <img width="1041" alt="Image" src="https://github.com/user-attachments/assets/3a721bbe-57b6-4abe-aa29-521f8f3578c6" />
mikedilger commented 2025-04-08 11:55:44 +12:00 (Migrated from github.com)

It would sure be nice if someone could code this.

It would sure be nice if someone could code this.
mikedilger commented 2025-04-08 15:53:27 +12:00 (Migrated from github.com)

I did a cheap-ass version of this on unstable. To be improved.

Actually I did probably less than 5%. I just made tooltip toasts instead of the bottom bar messages where there wasn't enough space.

I did a cheap-ass version of this on unstable. To be improved. Actually I did probably less than 5%. I just made tooltip toasts instead of the bottom bar messages where there wasn't enough space.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
nostr/gossip#970
No description provided.