The flag was introduced to prevent mails from being sent during testing.
With the notifications in place, this no longer serves a purpose as the mail would only be sent after the aggregation time expires
* Fix argument alignment since f08bea3467
The FactoryBot.* prefix has been removed in f08bea3467. Since then
rubocop complains about Layout/ArgumentAlignment. This commit fixes it.
* do not fix alignments for modules/*/spec yet
hoping to be under the limit of 65535 characters for reviewdog to report on rubocop errors
* destroy notifications upon journal destruction
* breakup spec by journable
* have a dedicated job for scheduling journal completed events
* generate notifications in delayed job
* route wiki journal events through notifications
* combine mail sending for notifications into single job
* robustness if a journal is deleted
* linting
* differentiate BaseJournal and AssociatedJournal
BaseJournal holds the data of a journal that reflects the columns in the journaled model while AssociatedJournal reflects the columns of a model associated to the journaled model via a has_many/one association
* route news journal events through notifications
This does not yet include notifications for comments on news
* include news comment in notification workflow
* have the whole workflow in a single state machine job
* include forum message in notification workflow
* include document in notification workflow
* less dependencies from acts as watchable
* fix, test and document workflow job
* Add bell icon to icon font
* Add in app notification in top menu
* Add fullscreen modal
* Add notification modal and items
* Style items
* Toggle details of item
* Mark all read
* Add no results box
* wip specification for event api
* Add events table, query and index
* Send out events from WP notification mailer job
There we have the recipients present
* Add cleanup job for older events with a setting
* Hide bell notification when not logged
* Add specs for events API index/show
* Fix setting yml key
* remove pry in event creation
* Fix before hook in events API to after_validation
* Fix polymorphic association raising exception for aggregated journals
* Fix typo in read_ian
* Fix yml entry for mentioned
* Add read/unread post actions to event API and add specs
* Wire up API to frontend
* Fix order on events
* Switch to unread in notification
* Add event query
* rename WPEventService
* route wp mail sending over events
* rename spec methods
* author becomes watcher
* correct message call signature
* rename events to notifications
* renname parameter to reflect notification nature
* create author watcher for existing work packages
* Merge unreadCount from store
* Take a stab at polymorphic representers
* Fix link generation in polymorphic resources
For journals, no title is being generated however
* Fix frontend model for context
* Use timer for polling
* add notification_setting data layer
* Fix show resource spec
* Fix duplicate class in notification bell item
* Add minimal feature spec for notification
* API for notification settings
* Persist notifications
* adapt work package notification creation to notification settings
* extract notified_on_all
* consolidate wp#recipients
* concentrate wp notification in journal service
* simplify methods
* Remove unused patch endpoint
* Add specs for rendering and parsing notification settings
* Contract spec
* Update service spec
* adapt specs
* Angular notifications frontend
commit e29dced64699eb5f2443b9307c78343c9a58d1ee
Author: Wieland Lindenthal <w.lindenthal@forkmerge.com>
Date: Mon Jun 21 17:34:50 2021 +0200
Create Akita store and query for notification settings
commit 1a45c26c1a0c147d15393e49d2625aca4851a64d
Author: Wieland Lindenthal <w.lindenthal@forkmerge.com>
Date: Mon Jun 21 11:09:25 2021 +0200
Remove tabs from notificaition settings page
commit 0ea21e90c13a197f8bf2cfba1b60ddcff4e5e827
Author: Oliver Günther <mail@oliverguenther.de>
Date: Sun Jun 20 21:55:48 2021 +0200
WIP in app settings
* migrate notification data
* add project visible filter to project query
* Add inline-create and table display grouped by project
* Add notifications under admin/users
* Remove notifications partial
* Rename notififcations store to user preferences store
* Add setting for self_notified and hook that up to the backend
* Add aria-label to table checkboxes
* Restyle table and toolbar
* replace remains of mail_notifications attribute
* initialize notification settings for new user
* adapt my_preferences references
* reenable no self notified for documents
* adapt specs
* Avoid has_many :notifcation_settings
Rails magically autosaves the user's preferences when the user gets saved,
which somehow also tries to save the notfifications even when unchanged.
This breaks some specs such as the avatar upload spec. As we can't update the assocation
through rails anyway, just delegate to the user for reading instead.
* Restore update method of notification settings
* Restore update spec
* fix spec syntax
* lint scss
* linting
* Fix content_tag for bell icon
* Add feature specs for notification settings
* Disable ContentTag cop
* use visible filter to get projects for notification
The visible filter will reduce the project list down to the set of projects visible to the user provided as a parameter. This includes public projects.
* test for actual mail sending
* adapt me resource path
this.apiV3Service.users.me changed its type in 0d6c0b6bc7
* Implement changed migration
* Linting
* Add actor to notification representer
* Fix factory creating a duplicate WP journal
* Add work packages loading and journal details to notification entry component
* IAN basic facets, keep and expanded states.
* Fix notification bell spec
* Render body separately and add auto updating relative time
* Add fixedTime title
* Add actor to notification entry
* Fix clicking links on work package and project
* Tiny styling changes on entry row
* Disable count in notification if larger than 99 (wont fit)
* Introduce virtual scrolling to entry table
* allow delaying & prevent mail sending if ain read
Introduces a setting to delay mail sending after a journal aggregation time has expired. That way, users can confirm a notification in app. If they do before the delay expires, no mail is sent out additionally for that user.
* consolidate notifications (in&out) into shared admin menu
Co-authored-by: ulferts <jens.ulferts@googlemail.com>
Co-authored-by: Wieland Lindenthal <w.lindenthal@forkmerge.com>
* remove intermediate placeholder scope
Doing so, placeholder users will begin to show up in the system
* remove scope without value
* extract scope
* use enum for status
* allow placeholder users to become project members
* display placeholder user member on members widget
* remove now superfluous method
The status name can simply be queried via #status now
* replace possible_assignees/responsibles on project
This also leads to placeholder users becoming eligible as assignees and
responsibles.
* fix aggregated scope on bulk edit
* linting
* remove IssueHelper
Updates the copyright to 2021 for all files that have a copyright. Files in our source code without the copyright header still do not receive one automatically. Additionally, backlisted files are also excluded.
Previously the copyright of chiliproject which references redmine stated a copyright of redmine up to and including 2017 which is not true for the code we have in here. Because of that I changed that to 2013
Makes use of being able to check for a batch of permissions (either by
user or by project) to drastically reduce the time required for pruning
watchers.
Additionally, we load all watchers that satisfy the combination of
belonging to on of the users passed
belonging to a watchable scoped to one of the projects passed
at once.