Template Preview for {obj.name}
+Object Content Type: {obj.object_content_type}
+Notification Intervals: {', '.join(obj.notification_interval_choices)}
+Subject:
+{obj.subject}
+ +diff --git a/.github/workflows/test-build.yml b/.github/workflows/test-build.yml index 2f103f53b79..33942968529 100644 --- a/.github/workflows/test-build.yml +++ b/.github/workflows/test-build.yml @@ -201,3 +201,31 @@ jobs: - name: Upload report if: (github.event_name != 'pull_request') && (success() || failure()) # run this step even if previous step failed uses: ./.github/actions/gen-report + + scripts: + runs-on: ubuntu-22.04 + permissions: + checks: write + needs: build-cache + services: + postgres: + image: postgres + + env: + POSTGRES_PASSWORD: ${{ env.OSF_DB_PASSWORD }} + options: >- + --health-cmd pg_isready + --health-interval 10s + --health-timeout 5s + --health-retries 5 + ports: + # Maps tcp port 5432 on service container to the host + - 5432:5432 + steps: + - uses: actions/checkout@v2 + - uses: ./.github/actions/start-build + - name: Run tests + run: poetry run python3 -m invoke test-ci-scripts -n 1 --junit + - name: Upload report + if: (github.event_name != 'pull_request') && (success() || failure()) # run this step even if previous step failed + uses: ./.github/actions/gen-report diff --git a/CHANGELOG b/CHANGELOG index ef50bf25498..8725b6dfc5e 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -2,6 +2,41 @@ We follow the CalVer (https://calver.org/) versioning scheme: YY.MINOR.MICRO. +26.1.4 (2026-01-06) +=================== + +- Follow-up fix for preprint/registration withdrawal request +- Added a script/task to populate default notification subscriptions that were missing before and after NR +- Reworked PR template + +26.1.3 (2026-01-05) +=================== + +- Increase NR migration timeout and batch size + +26.1.2 (2026-01-05) +=================== + +- Notifications Refactor Phase 2 - UAT Hotfix Part 2 + * Fix adding moderator email in admin + * Fix preprint/registration withdrawal request email in digest + * Fix subjects for schema response update emails + * Update defauls for triggered emails + +26.1.1 (2026-01-02) +=================== + +- Notifications Refactor Phase 2 - UAT Hotfix Part 1 + * Fix reset password url + * Fix logout query for new user confirmation url + * Fix new user default notification subscription + * Clean-up / Sync settings + +26.1.0 (2026-01-01) +=================== + +- Notifications Refactor Phase 2 Project Release + 25.18.2 (2025-12-19) ==================== diff --git a/PULL_REQUEST_TEMPLATE.md b/PULL_REQUEST_TEMPLATE.md index ed765fca672..b4978d67c59 100644 --- a/PULL_REQUEST_TEMPLATE.md +++ b/PULL_REQUEST_TEMPLATE.md @@ -1,39 +1,55 @@ - +## Ticket + +[//]: # (Link to a JIRA ticket if available.) + +* [ENG-*****]() ## Purpose - +[//]: # (Briefly describe the purpose of this PR.) ## Changes - +[//]: # (Briefly describe or list your changes.) -## QA Notes +## Side Effects +[//]: # (Any possible side effects?) - +## QE Notes -## Documentation +[//]: # ( + * Any QA testing notes for QE? + * Make verification statements inspired by your code and what your code touches. + * What are the areas of risk? + * Any concerns/considerations/questions that development raised? + * If you have a JIRA ticket, make sure the ticket also contains the QE notes. +) - +## CE Notes -## Side Effects - - +[//]: # ( + * Any server configuration and deployment notes for CE? + * Is model migration required? Is data migration/backfill/population required? + * If so, is it reversible? Is there a roll-back plan? + * Does server settings needs to be updated? + * If so, have you checked with CE on existing settings for affected servers? + * Are there any deployment dependencies to other services? + * If you have a JIRA ticket, make sure the ticket also contains the CE notes. +) -## Ticket +## Documentation - +[//]: # ( + * Does any internal or external documentation need to be updated? + * If the API was versioned, update the developer.osf.io changelog. + * If changes were made to the API, link the developer.osf.io PR here. +) diff --git a/README-docker-compose.md b/README-docker-compose.md index 8e0bc875a8a..57aeb8f6be7 100644 --- a/README-docker-compose.md +++ b/README-docker-compose.md @@ -270,6 +270,12 @@ ```bash docker compose run --rm web python3 -m scripts.parse_citation_styles ``` +- Populate Notification Types + - Needed for notifications. + ```bash + docker compose run --rm web python3 manage.py populate_notification_types + ``` + - _NOTE: The waffle switch `POPULATE_NOTIFICATION_TYPES` needs to be turned on. - Start ember_osf_web - Needed for ember app: - `docker-compose up -d ember_osf_web` diff --git a/addons/base/views.py b/addons/base/views.py index 93be2d0c26a..92f930c085b 100644 --- a/addons/base/views.py +++ b/addons/base/views.py @@ -34,7 +34,6 @@ from framework.flask import redirect from framework.sentry import log_exception from framework.transactions.handlers import no_auto_transaction -from website import mails from website import settings from addons.base import signals as file_signals from addons.base.utils import format_last_known_metadata, get_mfr_url @@ -52,7 +51,7 @@ DraftRegistration, Guid, FileVersionUserMetadata, - FileVersion + FileVersion, NotificationType ) from osf.metrics import PreprintView, PreprintDownload from osf.utils import permissions @@ -64,7 +63,7 @@ from website.util import rubeus # import so that associated listener is instantiated and gets emails -from website.notifications.events.files import FileEvent # noqa +from notifications.file_event_notifications import FileEvent # noqa ERROR_MESSAGES = {'FILE_GONE': """ + ''' + f''' +
+Object Content Type: {obj.object_content_type}
+Notification Intervals: {', '.join(obj.notification_interval_choices)}
+{obj.subject}
+ +