-
Notifications
You must be signed in to change notification settings - Fork 18
IBX-9060: Revamp notifications #1529
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: 4.6
Are you sure you want to change the base?
Conversation
There was a problem hiding this 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 revamps the notifications functionality and introduces new sidebar interactions while updating related configuration and routing. Key changes include:
- Introducing a new sidebar panel with improved event handling and backdrop management.
- Revamping notifications modal and list functionality by adding support for actions such as marking notifications as read/unread, bulk operations, and deletion.
- Updating routing, service configurations, and default settings to support the new notifications features.
Reviewed Changes
Copilot reviewed 27 out of 38 changed files in this pull request and generated 1 comment.
Show a summary per file
File | Description |
---|---|
src/bundle/Resources/public/js/scripts/sidebar/side.panel.js | New sidebar panel implementation with close triggers and backdrop control. |
src/bundle/Resources/public/js/scripts/admin.notifications.modal.js | Updates to notifications modal including new actions and improved event management. |
src/bundle/Resources/public/js/scripts/admin.notifications.list.js | Introduction of notifications list with bulk operations and status management. |
src/bundle/Resources/public/js/scripts/admin.notifications.filters.js | New filters implementation for notifications. |
src/bundle/Resources/public/js/scripts/admin.multilevel.popup.menu.js | Improvement in multilevel popup menu initialization with refactored event handling. |
src/bundle/Resources/encore/ibexa.js.config.js | Updated configuration to include new notifications list entry. |
src/bundle/Resources/config/services/controllers.yaml | Added new controller service definitions for notifications. |
src/bundle/Resources/config/routing.yaml | Introduced new routes to support notifications actions. |
src/bundle/Resources/config/ezplatform_default_settings.yaml | Increased pagination limit for notifications. |
Files not reviewed (11)
- src/bundle/Controller/AllNotificationsController.php: Language not supported
- src/bundle/Controller/NotificationController.php: Language not supported
- src/bundle/Form/Data/SearchQueryData.php: Language not supported
- src/bundle/Form/Type/SearchType.php: Language not supported
- src/bundle/Resources/public/scss/_header-user-menu.scss: Language not supported
- src/bundle/Resources/public/scss/_list-filters.scss: Language not supported
- src/bundle/Resources/public/scss/_notifications-modal.scss: Language not supported
- src/bundle/Resources/public/scss/_notifications.scss: Language not supported
- src/bundle/Resources/public/scss/_side-panel.scss: Language not supported
- src/bundle/Resources/public/scss/ibexa.scss: Language not supported
- src/bundle/Resources/translations/ibexa_admin_ui.en.xliff: Language not supported
Comments suppressed due to low confidence (1)
src/bundle/Resources/public/js/scripts/admin.multilevel.popup.menu.js:2
- [nitpick] The function name 'initMutlilevelPopupMenus' appears to contain a typographical error; consider renaming it to 'initMultilevelPopupMenus' for clarity.
const initMutlilevelPopupMenus = (container) => {
src/bundle/Resources/public/js/scripts/admin.notifications.list.js
Outdated
Show resolved
Hide resolved
106b699
to
46edda7
Compare
485f3de
to
d537c29
Compare
src/bundle/Resources/public/js/scripts/admin.notifications.list.js
Outdated
Show resolved
Hide resolved
src/bundle/Resources/public/js/scripts/admin.notifications.filters.js
Outdated
Show resolved
Hide resolved
src/bundle/Resources/public/js/scripts/admin.notifications.filters.js
Outdated
Show resolved
Hide resolved
src/bundle/Resources/public/js/scripts/admin.notifications.list.js
Outdated
Show resolved
Hide resolved
src/bundle/Resources/views/themes/admin/account/notifications/side_panel.html.twig
Outdated
Show resolved
Hide resolved
src/bundle/Resources/views/themes/admin/ui/component/side_panel/side_panel.html.twig
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi :) I found a few issues that need to be fixed.
- Clicking the "Mark all as read" button does not update individual notifications — they still display the "Mark as read" button instead of switching to "Mark as unread".
1_mark_as_read.mov
- When collapsing the filters, there is a noticeable lag. The behavior should be smooth and seamless. Update: The same situation occurs in the activity log, reported here: https://issues.ibexa.co/browse/IBX-10556
2_lagging.mov
- When opening the Notifications modal window or navigating to the full Notifications page, long notification content is not displayed correctly. The text overflows and is not properly truncated or formatted, which causes readability issues.

3_dlugi_request_review_2.mov
- Cannot delete notifications. According to the documentation, I should be able to.

- In the case when one notification is already read and I select the remaining 9 that are unread, the 'Mark as Read' button is disabled, which it shouldn’t be.

- Missing date validation: I can set the 'from' date later than the 'to' date without any errors.

Example of correct date validation in discounts:

- The 'Mark All as Read' button always appears disabled (grayed out) even though it is clickable
7_disable_mark_all_as_read.mov
- The 'Mark All as Read' button is clickable across the entire width of the page, even when clicking next to the button rather than on it.
mark_all_as_read_resolution.mov
- Not all icons turn gray after being marked as read.
8_brak_odswiezenia_ikony_2.mov
- The icon doesn't change dynamically from read to unread; it only updates after refreshing the page.
8_brak_odswiezenia_ikony_read_and_unread.mov
- When I click the 'Type' filter and select the 'Content published by Scheduler' option, the filter panel expands and the letter 'r' moves to a new line. It should remain on a single line.

- In the case of deleted content, the 'Go to Content' option should be disabled (grayed out). (according to design)

- The 'Send to Trash' notification is not handled correctly. It is also important that for the trash, the hover text should be 'Go to Trash'.

The message should also include the name of the moved content (according to the design).

-
Author images are missing in notifications, e.g., in the content review request. (figma)Decision: is not to do it. -
If I have no notifications and my first notification is 'Cancel Scheduling Publication' (Publish Later, and then in drafts discard Publish Later), I get a 500 error.
Nagranie.z.ekranu.2025-08-26.o.11.08.35.mov
I checked this bug on environments 4.6 and 5.0 without the feature, and it does not throw a 500 error.
- The 'Request access' notification is not handled correctly.


…GET in routing configuration
…in routing and JS fetch configuration.
…lid date ranges in forms, with supporting tests and translations.
…o improve naming consistency.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I set the filter to content unscheduled and in the results I got notifications: sent to trash and content deleted. I shouldn’t have received them.
Update from @tbialcz : It worked like this until now. The backend needs to be reworked — it will take a lot of time.

- When toggling a single notification between unread and read, the Status column shifts its position within the table
status_change_pos.mov
- After clicking on the "Sent to Trash" notification, I should be redirected to the Trash. Also, the table should be labeled "Go to Trash" according to the design (https://www.figma.com/design/MzQBlhdlUvJEGC6vcDNjWb/2.1--Notifications--Revamp-notifications?node-id=3613-442755&t=PwP5LBCok0FETgoX-0)

send_to_trash_2.mov
- When I have pagination in the filters and switch to another page, the criteria disappear.
Nagranie.z.ekranu.2025-08-28.o.13.14.08.mov
… service for trashed notifications
|
![]()
![]()
![]() ![]()
![]()
![]()
![]() ![]()
![]()
![]()
![]()
![]()
![]() |
Related PRs:
in
expression for multi-status support core#627Description:
For QA:
Documentation: