WIP
- Flagged tests that should not be run on a production environment: These tests depend on the static storage backend of the project. In a production environment, the filenames could get changed due to static minification and cache invalidation. Hence, these tests should not be run on the production environment because they'll fail.
- Fixed hardcoded static image URLs. These create issues when static files are served using an external service (e.g. S3 storage buckets).
- Fixed "Organization.DoesNotExist" error on creating a new organization.
- Fixed handling of the "OPENWISP_NOTIFICATIONS_SOUND" setting. The
code was not passing the sound file path to the utilities of
django.contrib.staticfiles
and hence the sound file was not loaded properly when using different static storage backend.
- Introduced mechanism to clear cache on specific signals
- Removed notification widget and toast template tags: the template tags "notification_widget" and "notification_toast" have been removed and their HTML is added directly to the admin/base_site.html template
- Changed the API URL prefix to make it consistent with other OpenWISP modules
- Dropped support for Python 3.6
- Added support for Python 3.8 and 3.9
- Dropped support for Django 2.2
- Added support for Django 3.2 and 4.0
- Updated django channels to 3.0.x
- Upgraded celery to 5.2.x
- Upgraded openwisp-utils to 1.0.x
- Restyled widget to new OpenWISP theme plus various UI fixes and improvements
- Restyled notification email template
- When clicking on the mark as read button, the notification widget now instantaneously marks notification as read instead of waiting for the API response
- Added
models
parameter toregister_notification_type
- Switch to openwisp-utils email template
- Optimized query for flagging all notification as read via API
- Added celery time limits to tasks except
delete_old_notifications
(which may take a long time to finish in big installations) - Changed wording of "unsubscribe" button, which has been renamed to "Silence notifications"
- Added dedicated channel layer group for each user to avoid generating
warnings like
63 of 67 channels over capacity in group ow_notification
- Fixed a bug which caused to lose notification preferences of users
- Fixed extensibility of openwisp-users: removed openwisp-users as a direct dependency from migrations file because it was creating issues when extending openwisp-users
- Fixed multiple jquery inclusions in
base_site.html
- Fixed WSS connection error when running on http
- Fixed creation of notification settings for superuser
- Fixed unregistered notification type breaking API
- Fixed closing notification toast on slow connections
- Fixed notification storms: when many notifications are created due to severe network outages, the UI is not flooded anymore
- Fixed browsable API view for NotificationReadAllView
- Added error handling for sending emails when notification settings for a specific user are not present
- Fixed unsubscribe / silence notifications button alignment
- Fixed Swagger API doc issues
- Fixed
create_notification
command to honor organization notification preferences
- Fixed notification alert sound being played from multiple windows
- [dependencies] Upgraded
openwisp-utils~=0.7.0
andopenwisp-users~=0.5.0
- Added management command to populate notification preferences
- Fixed ignore notification widget loading on add views of admin site
- Fixed notification widget partially covering entire webpage
- Resolved accessibility issue with the ignore notification widget:
added
Escape
key handler for the ignore notification widget
- Added support for Django 3.1
- Added possibility of silencing notifications for specific objects temporarily or permanently
- Resolved accessibility issues with the notification widget: all clickable items are now browsable with the keyboard as well
- Added notification types
- Added configurable notification email template
- Added swappable models and extensible classes
- Added REST API for CRUD operations
- Added option to define notification preference
- Added real-time notification alerts
- Added automatic cleanup of old notifications
- Added configurable host for API endpoints.