Closed srenault-meeds closed 8 months ago
Ready for review @margondicco
Reviewed the description cc @margondicco
Hello Go fonc (+ add coworker for tasks)
yes updated thanks
Read for tech spec @boubaker
Spec Tech ready for review by DAO Members (eXo : @rdenarie )
Ok for me. Like for Notification UI upgrade, it will need an update on eXo notification (spaceId is not present in all notification as I can see).
ACCs & PRs ready to review by DAO members (eXo: @rdenarie )
Like for Notification UI upgrade, it will need an update on eXo notification (spaceId is not present in all notification as I can see).
Yes, you can find an example here: https://github.com/Meeds-io/kudos/pull/393/files and https://github.com/Meeds-io/task/pull/270/files
All PR approved
All PR approved
Thanks all PRs merged.
Rationale
❌ When listing notifications in the drawer, I can't mark it as read when using desktop (I can do it only in mobile view by using swipe to the right) ❌ When I receive notifications related to a space I am not active, I cannot mute this space
1. Functional Requirements
Top User Stories
UX when hovering a notification from the drawer ✅ Three dots proposed when hovering a notification to remove it or to mark it as read
New option to mute notifications for any activity in a space ✅ Option to mute notifications from a space
from a space popover
from space detail panel
from notification drawer
✅ Ability to mute a space from its popover, its details and from user settings
When muted, any notification coming from that space will be muted, except mention:
Impacts
NA
Gamification
NA
Notifications
NA
Analytics
Usage of spaces that are muted
Unified Search
NA
2. Technical Requirements
Expected Volume & Performance
No considerable amount of data should be used to store the muted spaces information per user (a simple list of space identifiers).
Security
Only an admin or the user him(her)self should be able to mute a space.
Extensibility
We should be able to designate some plugins that are sent even if the associated space is muted.
Configurability
The default configuration for all notification plugins has to be
user can mute it
by default, only for some plugins (like for mention based plugins) where we should give a way to make the muting on it is disabled.Upgradability
No data upgrade is needed on already existing notifications.
Feature Flags
No feature flags will be added.
4. Software Architecture
Access
A new REST endpoint has to be added to allow muting a space or unmute it. Like enabling/disabling channel endpoint, the used endpoint will be
/notifications/settings/{username}/spaces/{spaceId}
with a Form Parameter to set it enabled or disabled. The existing endpoint to retrieve user settings will be used to retrieve muted spaces list.Services & processing
Each generated Notification has to allow to specify the
spaceId
. By default, to reuse the work done inSpaceWebNotification
(MIP #17 ), by default the space identifier will be retrieved from parameter "spaceId" which is already stored in notifications. InUserSetting
, the list of muted spaces will be mapped usingSettingService
as other attributes of User Notification Settings. Consequently, the notifications processing will be changed to validate for each user whether the space is muted for a given plugin inside a pace or not. If not, send it else ignore its processing for all channels.Data and persistence
No change