Skip to content

[ENG-12353] Merge latest develop into feature branch and re-do/combine migrations - #11955

Merged
cslzchen merged 29 commits into
CenterForOpenScience:feature/post-enter-p2from
cslzchen:feature/post-enter-p2
Oct 2, 2026
Merged

cslzchen merged 29 commits into
CenterForOpenScience:feature/post-enter-p2from
cslzchen:feature/post-enter-p2

Conversation

@cslzchen

@cslzchen cslzchen commented Oct 2, 2026

Copy link
Copy Markdown
Collaborator

Ticket

https://openscience.atlassian.net/browse/ENG-12353

Purpose

Merge latest develop into feature branch and re-do/combine migrations

Changes

See diff

Side Effects

N/A

QE Notes

N/A

CE Notes

N/A

Documentation

N/A

ihorsokhanexoft and others added 29 commits September 10, 2026 09:35
…enterForOpenScience#11852)

## Ticket
https://openscience.atlassian.net/browse/ENG-6292

## Purpose
When a registration is approved by an admin, postcommit spam checks are run with a stale state of a registration. While admin is being updated a registration moderation state to **ACCEPTED**, postcommit spam checks process a stale version of the registration that has moderation_state=**INITIAL**. So if postcommit finishes execution after transaction handlers, it overrides already updated **ACCEPTED** value by the stale **INITIAL** state

If we revert **.save** logic in tasks.py, the new test starts failing as moderation state is updated to **INITIAL** because by default **.save** updates all fields
## Ticket
https://openscience.atlassian.net/browse/ENG-10903

## Purpose
Stuck Registration list contains some registrations that are not “stuck” this causes confusion for Support team members and significant increase in time required when restarting registrations that are stuck. Necessitating the use of a spreadsheet to track which registrations have already been restarted.
… delete_* fields (CenterForOpenScience#11890)

## Ticket
https://openscience.atlassian.net/browse/ENG-10341

## Purpose
Restored files are considered as deleted and not shown on UI

## Changes
In fact, when user restores `TrashedFileNode`, we recast this object to `OsfStorageFileNode` but this object still contains `deleted`, `deleted_on`, `deleted_by` field values that make this file unreachable

- Now `restore()` method for `TrashedFileNode` objects clears values for the `deleted` field before recasting to `OsfStorageFileNode`
- Management command fixes all `OsfStorageFileNode` objects that were restored via `restore()` and have values in `deleted` field
- `deleted_on` field is not cleared because when we restore a folder, it restores **ONLY** children within the same `deleted_on` datetime. Therefore, we preserve `deleted_by` to know who triggered deletion
Code reference:
https://github.com/CenterForOpenScience/osf.io/blob/e2f47e984b5f0c42cf2f1668f44c2d7b14e96054/osf/models/files.py#L751-L766
…ration (CenterForOpenScience#11883)

## Ticket
https://openscience.atlassian.net/browse/ENG-11228

## Purpose
During moderation of pending registrations, moderators are unable to view files because file links in schema_responses point to the backing source project (registered_from) rather than to the archived registration copy. This occurs when the archive_success task either has not yet executed or has failed, leaving file references un-migrated at the time of moderation.
…enScience#11900)

## Ticket
https://openscience.atlassian.net/browse/ENG-10902

## Purpose
Problem Statement

Currently registrations which are stuck show up in a “Stuck Registration” list in admin https://admin.osf.io/nodes/stuck_registration_list/ this allows Support team (product personnel) to go in and restart stuck registrations potentially before users notice their registration has failed to archive, reducing user frustration with the OSF and the registration workflow in general. However, this is a time consuming task that can take anywhere from 45 - 90 min a day, tracking restarted registrations and noting if/when they have archived.

Acceptance Criteria

Create celery beat job to auto-restart stuck registrations daily

Admin controls to save who to email reports to after script runs

Create report to email that says which archive jobs failed to complete

In Admin on the Management Commands page have a section to designate what email to send reports to (up to 3 emails)
…even after the institution has been turned off (CenterForOpenScience#11910)

## Ticket
https://openscience.atlassian.net/browse/ENG-11909

## Purpose
Problem
Currently, turning off an OSFI member means that all affiliation and dashboard information is removed from the frontend.  This is fine.  However, it also means that any ROR IDs for that institution within DOIs/metadata that already exists will be removed when those records are updated.  This really isn’t aligned with best practice.


Acceptance Criteria
Turning off an OSFI institutional member should have all of the existing effects except that metadata and DOIs that already have ROR IDs from this member should not have those IDs removed, even when the records are updated.  They should not appear on the FE or in Search.
…ce#11929)

## Ticket
https://openscience.atlassian.net/browse/ENG-12251

## Changes

Admins can sign in into admin panel only by using correct email + password, having two-factor config enabled and confirmed + using a verification code for each log in
https://openscience.atlassian.net/browse/ENG-10693

The Angular SSR (Server-Side Rendering) app will only be used for bots such as the Google Bot and similar. We will use Nginx to redirect pages from the client-side app to the SSR pages if they match certain criteria. Normal web traffic will not be server-side rendered.
Phase 2 involves adding metrics to the app so that Product can assess the performance and reliability of the service without Google telling us.
The following metrics (If there are some that we can’t measure, then those can be negotiated) - these may be part of a second phase after getting the basic functionality running on Production:
SSR Render Success Rate - Measures how often search engine bots successfully receive a fully rendered page instead of an error or a broken response.
SSR Response Speed (Time to First Byte) - Measures how quickly search engines start receiving page content after requesting it. Faster responses help search engines crawl pages more efficiently and avoid treating them as slow or unreliable (Looking at Google here....)
Rendered Page Completeness - Measures whether the rendered pages include the key information search engines need (such as titles, summaries, and main content), rather than just an empty or partial page.
Indexed Pages by Content Type - Measures how many projects, registrations, preprints, etc. are successfully indexed by search engines over time. This helps us understand whether this work is improving discoverability in practice.
User agent, if available
@cslzchen
cslzchen changed the base branch from develop to feature/post-enter-p2 October 2, 2026 14:35
@cslzchen
cslzchen merged commit 90feb88 into CenterForOpenScience:feature/post-enter-p2 Oct 2, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants