- 09 Mar, 2022 1 commit
-
-
Kevin Morris authored
People can change comaintainer ownership to suspended users if they want to. Suspended users cannot login, so there is no breach of security here. It does make sense to allow ownership to be changed, imo. Closes #339 Signed-off-by:
Kevin Morris <kevr@0cost.org>
-
- 10 Feb, 2022 1 commit
-
-
Kevin Morris authored
As repeats of these traceback notifications were annoying some of the devops staff, and it took coordination to share tracebacks with developers, this commit removes that responsibility off of devops by reporting tracebacks to Gitlab repositories in the form of issues. - removed ServerErrorNotification - removed notifications.postmaster configuration option - added notifications.gitlab-instance option - added notifications.error-project option - added notifications.error-token option - added aurweb.exceptions.handle_form_exceptions, a POST route decorator Issues are filed confidentially. This change will need updates in infrastructure's ansible configuration before this can be applied to aur.archlinux.org. Signed-off-by:
Kevin Morris <kevr@0cost.org>
-
- 18 Jan, 2022 1 commit
-
-
Kevin Morris authored
This patch cleans up aurweb.templates and removes direct module-level initialization of the environment. Signed-off-by:
Kevin Morris <kevr@0cost.org>
-
- 10 Jan, 2022 1 commit
-
-
Kevin Morris authored
This commit does quite a bit: - Catches unhandled exceptions raised in the route handler and produces a 500 Internal Server Error Arch-themed response. - Each unhandled exception causes a notification to be sent to new `notifications.postmaster` email with a "Traceback ID." - Traceback ID is logged to the server along with the traceback which caused the 500: `docker-compose logs fastapi | grep '<traceback_id>'` - If `options.traceback` is set to `1`, traceback is displayed in the new 500.html template. Signed-off-by:
Kevin Morris <kevr@0cost.org>
-
- 18 Dec, 2021 1 commit
-
-
Kevin Morris authored
Instead of allowing an exception to propogate through the framework routes, catch it and log out an error about notifications not being sent. Signed-off-by:
Kevin Morris <kevr@0cost.org>
-
- 29 Nov, 2021 1 commit
-
-
Kevin Morris authored
- Removed notify sharness test Signed-off-by:
Kevin Morris <kevr@0cost.org>
-
- 19 Oct, 2021 2 commits
-
-
This is in addition to the current recipients. Co-maintainers should also be made aware when their package has pending requests. NOTE: This commit was slightly modified to resolve cherry-pick conflicts in `pu`.
-
This is in addition to the current recipients. Co-maintainers should also be made aware when their package has pending requests.
-
- 06 Jun, 2021 1 commit
-
-
Kevin Morris authored
+ Added SUPPORTED_LANGUAGES, a global constant dictionary of language => display pairs for languages we support. + Add Translator.get_translator, a function used to retrieve a translator after initializing it (if needed). Use `fallback=True` while creating languages, in case we setup a language that we don't have a translation for, it will noop the translation. This is particularly useful for "en," since we do not translate it, but doing this will allow us to go through our normal translation flow in any case. + Added typing. + Added get_request_language, a function that grabs the language for a request session, defaulting to aurweb.config [options] default_lang. + Added get_raw_translator_for_request, a function that retrieves the concrete translation object for a given language. + Added tr, a jinja2 contextfilter that can be used to inline translate strings in jinja2 templates. + Added `python-jinja` dep to .gitlab-ci.yml. This needs to be included in documentation before this set is merged in. + Introduce pytest units (test_l10n.py) in `test` along with __init__.py, which marks `test` as a test package. + Additionally, fix up notify.py to use the global translator. Also reduce its source width to <= 80 by newlining some code. + Additionally, prepare locale in .gitlab-ci.yml and add aurweb.config [options] localedir to config.dev with YOUR_AUR_ROOT like others. Signed-off-by:
Kevin Morris <kevr@0cost.org> Signed-off-by:
Lukas Fleischer <lfleischer@archlinux.org>
-
- 20 Feb, 2021 1 commit
-
-
The existing notify.py script was grabbing entries regardless of user suspension. This has been modified to only send notifications to unsuspended users. This change was written as a solution to https://bugs.archlinux.org/task/65554 . Signed-off-by:
Kevin Morris <kevr.gtalk@gmail.com> Signed-off-by:
Lukas Fleischer <lfleischer@archlinux.org>
-
- 14 Oct, 2020 1 commit
-
-
Signed-off-by:
Lukas Fleischer <lfleischer@archlinux.org>
-
- 27 Aug, 2020 1 commit
-
-
Lukas Fleischer authored
When using the sendmail() function with smtplib.SMTP or smtplib.SMTP_SSL, the list of actual recipients for the email (to be translated to RCPT commands) has to be provided as a parameter. Update the notification script and add all Cc recipients to that parameter. Signed-off-by:
Lukas Fleischer <lfleischer@archlinux.org>
-
- 26 Aug, 2020 1 commit
-
-
After f7a57c82 (Localize notification emails, 2018-05-17), the server.sendmail line was not updated to now send the to the email address but instead sends to (email, 'en') and as sendmail accepts an iterable an email is also send to 'en'. Signed-off-by:
Lukas Fleischer <lfleischer@archlinux.org>
-
- 11 Feb, 2020 2 commits
-
-
Lukas Fleischer authored
Add more options to configure the smtplib implementation for sending notification emails. The port can be changed using the new smtp-port option. Encryption can be configured using smtp-use-ssl and smtp-use-starttls. Keep in mind that you usually also need to change the port when enabling either of these options. Authentication can be configured using smtp-user and smtp-password. Authentication is disabled if either of these values is empty. Signed-off-by:
Lukas Fleischer <lfleischer@archlinux.org>
-
Lukas Fleischer authored
Support mail delivery without a local MTA. Instead, an SMTP server can now be configured using the smtp-server option in the [notifications] section. In order to use this option, the value of the sendmail option must be empty. Signed-off-by:
Lukas Fleischer <lfleischer@archlinux.org>
-
- 02 Feb, 2020 1 commit
-
-
Lukas Fleischer authored
Support secondary email addresses that can be used to recover an account in case access to the primary email address is lost. Reset keys for an account are always sent to both the primary and the backup email address. Signed-off-by:
Lukas Fleischer <lfleischer@archlinux.org>
-
- 30 Jan, 2020 1 commit
-
-
Lukas Fleischer authored
Since commit eeaa1c3a (Separate text from footer in notification emails, 2020-01-04), information about unsubscribing from notifications is added in a signature block. However, the code to format the email body trimmed the RFC 3676 signature delimiter, replacing "-- " by "--". Fix this by adding a special case for signature delimiters. Signed-off-by:
Lukas Fleischer <lfleischer@archlinux.org>
-
- 06 Jan, 2020 1 commit
-
-
Signed-off-by:
Lukas Fleischer <lfleischer@archlinux.org>
-
- 19 Aug, 2019 1 commit
-
-
Will no longer send notifications about "a orphan request", but determine whether to use a/an based on the first character of the request type. Signed-off-by:
Lars Rustand <rustand.lars@gmail.com> Signed-off-by:
Lukas Fleischer <lfleischer@archlinux.org>
-
- 08 Feb, 2019 1 commit
-
-
Eli Schwartz authored
Because filtering by matching the sender && regular expressions on the subject is awkward. Signed-off-by:
Eli Schwartz <eschwartz@archlinux.org>
-
- 20 May, 2018 1 commit
-
-
Lukas Fleischer authored
Mention both the package base name and the request type in the subject of request closure notification. Implements FS#41607. Signed-off-by:
Lukas Fleischer <lfleischer@archlinux.org>
-
- 17 May, 2018 3 commits
-
-
Lukas Fleischer authored
User modern Python format() strings with curly braces. Also, convert all placeholders to named arguments. This allows translators to reorder messages. Signed-off-by:
Lukas Fleischer <lfleischer@archlinux.org>
-
Lukas Fleischer authored
Add support for translating notification emails and send localized notifications, based on the user's language preferences. Also, update the translations Makefile to add strings from the notification script to the message catalog. Implements FS#31850. Signed-off-by:
Lukas Fleischer <lfleischer@archlinux.org>
-
Lukas Fleischer authored
Reimplement most of the notification script logic. Create a separate class for each notification type. Each class provides methods for generating the list of recipients, the message subject, the message body, the references to add at the end of the message and the message headers. Additionally, a method for sending notification emails is provided. One major benefit of the new implementation is that both the generation of recipients and message contents are much more flexible. For example, it is now easily possible to make user-specific adjustments to every single notification of a batch. Signed-off-by:
Lukas Fleischer <lfleischer@archlinux.org>
-
- 16 May, 2018 1 commit
-
-
Lukas Fleischer authored
Make sure we are consistent with not adding newlines at the end of notification emails. Signed-off-by:
Lukas Fleischer <lfleischer@archlinux.org>
-
- 13 Mar, 2018 1 commit
-
-
Signed-off-by:
Johannes Löthberg <johannes@kyriasis.com> Signed-off-by:
Lukas Fleischer <lfleischer@archlinux.org>
-
- 25 Aug, 2017 1 commit
-
-
Lukas Fleischer authored
Use `/usr/bin/env python3` instead of `/usr/bin/python3` in the shebang of Python scripts. This adds support for non-standard Python interpreter paths such as the paths used in virtualenv environments. Signed-off-by:
Lukas Fleischer <lfleischer@archlinux.org>
-
- 20 Dec, 2016 1 commit
-
-
Lukas Fleischer authored
Do not use the EXCEPT clause which is unsupported in MySQL. Instead, use a subquery which is standard-compliant and makes the query easier to read at the same time. Signed-off-by:
Lukas Fleischer <lfleischer@archlinux.org>
-
- 13 Nov, 2016 1 commit
-
-
Lukas Fleischer authored
Currently, only package maintainers receive out-of-date notifications for their packages. Add package base co-maintainers to the list of recipients for out-of-date notifications. Signed-off-by:
Lukas Fleischer <lfleischer@archlinux.org>
-
- 17 Oct, 2016 1 commit
-
-
Lukas Fleischer authored
Add wrappers for the maintenance scripts to the setuptools configuration. Signed-off-by:
Lukas Fleischer <lfleischer@archlinux.org>
-
- 29 Sep, 2016 3 commits
-
-
Lukas Fleischer authored
Instead of using configparser and mysql.connector directly, change all Python scripts to use the config and db Python modules which are now accessible from a common location. Signed-off-by:
Lukas Fleischer <lfleischer@archlinux.org>
-
Lukas Fleischer authored
Move the main program logic of all scripts to main() methods such that they can be used as modules and easily be invoked by setuptools wrapper scripts. Signed-off-by:
Lukas Fleischer <lfleischer@archlinux.org>
-
Lukas Fleischer authored
Add a new script that checks for TU votes ending within the next 48 hours and sends reminder emails to all Trusted Users who did not cast their votes yet. The script is designed to be executed as a cron job, such that the check is performed periodically. Since the script does not remember users it already sent emails to, the interval should not be chosen too small to avoid spamming. Signed-off-by:
Lukas Fleischer <lfleischer@archlinux.org>
-
- 30 Jun, 2016 1 commit
-
-
Lukas Fleischer authored
Before commit 9746a654 (Port notification routines to Python, 2015-06-27), notification emails for automatically closed requests explicitly stated that the action was taken "automatically by the Arch User Repository package request system". When porting the notification routines to Python, this feature was overlooked and emails sent by the new script always reported that the requester triggered the acceptance or rejection of a request. This patch reimplements the old behavior such that notifications no longer look as if the requester had accepted the request himself. Reported-by:
Johannes Löthberg <johannes@kyriasis.com> Signed-off-by:
Lukas Fleischer <lfleischer@archlinux.org>
-
- 21 Feb, 2016 1 commit
-
-
Lukas Fleischer authored
Add a new option that makes it possible to subscribe to package ownership changes (adoption/disownment). Fixes FS#15412. Signed-off-by:
Lukas Fleischer <lfleischer@archlinux.org>
-
- 19 Feb, 2016 2 commits
-
-
Lukas Fleischer authored
Reimplement get_request_recipients() such that it always returns the email addresses of the package base maintainer and the request initiator, instead of the email address of the user triggering the request status change. Fixes FS#48238. Signed-off-by:
Lukas Fleischer <lfleischer@archlinux.org>
-
Lukas Fleischer authored
In commit 7b57e0e1 (Set Message-ID when sending package request emails, 2014-07-01), we changed the code responsible for sending notifications such that the value of the Message-ID header is set deterministically in the first email referring to a request. Unfortunately, this was forgotten when porting the notification routines to Python in 9746a654 (Port notification routines to Python, 2015-06-27) and later fixed by 092e00f4 (notify: Fix references in request notifications, 2015-10-10). However, when fixing another bug, the old behavior of not setting a Message-ID was restored by d87b138a (notify: Fix merging of header dicts, 2015-10-26). Revert that particular change once more and add a comment such that the line gets extra attention, should it be changed in the future. Fixes FS#48239. Signed-off-by:
Lukas Fleischer <lfleischer@archlinux.org>
-
- 07 Feb, 2016 3 commits
-
-
Lukas Fleischer authored
Introduce a new notification option to receive notifications when a new commit is pushed to a package repository. Implements FS#30109. Signed-off-by:
Lukas Fleischer <lfleischer@archlinux.org>
-
Lukas Fleischer authored
Add a configuration option to the account edit page that allows for globally enabling/disabling package base comment notifications. Signed-off-by:
Lukas Fleischer <lfleischer@archlinux.org>
-
Lukas Fleischer authored
As a preparatory step to adding support for package notifications on events other than comments, rename the database table accordingly. Signed-off-by:
Lukas Fleischer <lfleischer@archlinux.org>
-