nextcloud / nextcloud/talk-desktop

Notifications overview

Open
#988 0 comments 23 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

overview
Dominant language
JavaScript
Stars
525
Forks
85
Avg merge
8h 5m
Merged PRs (30d)
35

Description

How to use GitHub
  • Please use the 👍 reaction to show that you are interested into the same feature.
  • Please don't comment if you have no relevant information to add. It's just extra noise for everyone subscribed to this issue.
  • Subscribe to receive notifications on status change and new comments.

Notifications reliability

Notifications are sometimes not reliable. Especially when an app is not used, notifications can be delayed and then many notifications shown simultaneously.

  1. Improve notifications logging
  2. Hypothesis 1 - Chromium suspends WS connection (most likely)
    • In this case we should move notifications handling to the main process in Talk Desktop
      • Make notify_push frontend environment independent
    • Alternative - Web Push API
  3. Hypothesis 2 - There is a problem with notify_push frontend
  4. Hypothesis 3 - There is a problem with notify_push backend
Notifications implementations

Currently Talk Desktop stores a copy of notifications app source code. This results in handling issues in 2 places.

  1. In the notifications app separate:
    • Notifications core (UI, web-browser, and Vue independent)
    • Talk related notifications handling
    • Frontend
  2. In the notifications app provide all above as a library and publish to npm
  3. Reuse in Talk Desktop
Notifications visibility

Currently notifications are only visible in the notifications center on the system level.

  1. Add Talk frontend API to get the number of unread messages as well as subscribe to an update
  2. Use this API to show the number in the badge
  3. Add UI to see the list of notifications
Other improvements
  • Update existing notification when possible:
    • Update notification text on the message edit
    • Remove notification when the message has been deleted
    • Replace "Incoming call" notification with "Missed call"
  • Make sure information from notifications, conversations list, and conversation are inline

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Review linked issues 378, 699, 1151, 391, and 85, then inspect the notifications app copy used by Talk Desktop. Trace notify_push and the frontend notification handling, including the proposed main-process path; done would require an agreed subset of the reliability, reuse, visibility, and notification-update improvements.

Written by the indexing model from the issue text.

Assessment

Tech stack
electron, javascript
Domain
backend, desktop, frontend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.