Migrates Angular constructor-based dependency injection to the
`inject()` function. The initial pass used the Angular schematic;
manual follow-up handled abstract classes, inheritance-sensitive
constructors, and call sites that still instantiate services
directly.
Schematic command:
cd frontend && npx ng generate @angular/core:inject-migration \
--path ./ \
--migrate-abstract-classes \
--backwards-compatible-constructors=false \
--non-nullable-optional=false
https://community.openproject.org/wp/74950
Force updates Angular dependencies:
ng update @angular/core@19 @angular/cli@19 --force
And performs automated upgrade:
- Updates non-standalone Directives, Component and Pipes to
'standalone:false' and removes 'standalone:true' from those who are
standalone.
In order to properly select the message to be used, a small helper
function can help by deriving which tranlsation to use.
Updated the relevant feature spec to ensure the right tranlsation is
selected and the comment displayed in the Work Package activity matches
the expectation.
We now derive which should be the Github User attached to the Work Package
Activity Comment depending on what type of state the pull request was
in when the journal is saved.
- If the state was merged, use the `merged_by` user.
- Otherwise, use the author.