Commit Graph

108026 Commits

Author SHA1 Message Date
Alexander Brandon Coles 1e4d633fa0 Allow npm 11 alongside npm 10
Node 24 ships npm 11, which the previous `^10.9.8` range rejected with
an EBADENGINE warning.
2026-06-07 21:44:36 +01:00
Alexander Brandon Coles b50d16d931 Add @types/node as explicit devDependency
`@angular-devkit/build-angular` previously provided `@types/node`
transitively; its removal broke `ng test` in CI, as ts-node compiles
`esbuild/plugins.ts` with the `node` types forced.
2026-06-07 21:44:35 +01:00
Alexander Brandon Coles 817babaff5 Bump ng-select to ^23.0.0
ng-select 23.0.0 introduces support for Angular v22.

See https://github.com/ng-select/ng-select/releases/tag/v23.0.0
2026-06-07 21:21:21 +01:00
Alexander Brandon Coles f6ca0c7aa1 Remove unused @angular-devkit/build-angular
Removes @angular-devkit/build-angular now that Angular's Webpack support
is deprecated.
2026-06-07 21:18:03 +01:00
Alexander Brandon Coles 7ad404d775 Update Angular CDK to v22 2026-06-07 21:07:41 +01:00
Alexander Brandon Coles 65fed00130 Fix remaining Angular 22 upgrade errors
Angular 22 rejects constructor inheritance from the undecorated
`NgControl` base class (NG2006), and TypeScript 6.0 widens the DOM
`hidden` getter to include string values.
2026-06-07 21:07:40 +01:00
Alexander Brandon Coles 68ee9cf4e0 Patch ngx-gallery for removed Hammer symbols
`@angular/platform-browser` no longer exports the Hammer symbols that
`@kolkov/ngx-gallery` imports. Stubs them out via patch-package; the
gallery's gestures were already inert without `HammerModule`.
2026-06-07 21:07:40 +01:00
Alexander Brandon Coles c360862a16 Migrate off removed ComponentFactoryResolver
Angular 22 removes `ComponentFactoryResolver`. `TabPortalOutlet` now
instantiates tab components with the standalone `createComponent`
function.
2026-06-07 21:07:40 +01:00
Alexander Brandon Coles 0067b2d533 Fix frontend tsconfig for TypeScript 6.0
TypeScript 6.0 requires an explicit `rootDir` when linked-plugin
symlinks push the common source directory outside the project (TS5011),
and type declarations even for side-effect imports such as
`moment/locale/*` (TS2882). Angular 22 also rejects
`extendedDiagnostics` while `strictTemplates` is off (NG4003).
2026-06-07 21:07:39 +01:00
Alexander Brandon Coles 73e4c9f874 Temporarily force @angular/build to ^22.0.0
Necessary until a compatible version of @angular-builders/custom-esbuild
is released. See https://github.com/just-jeb/angular-builders/pull/2284
2026-06-07 21:01:53 +01:00
Alexander Brandon Coles 7020778ee5 [OP-19470] Update Angular to v22
Force updates Angular dependencies:

    ng update @angular/core@22 @angular/cli@22 --force

And performs automated upgrade:

= Adds `ChangeDetectionStrategy.Eager` to all components.
- Adds 'withXhr' to 'provideHttpClient' function calls when the
  'HttpXhrBackend' is used.
- Wraps optional chaining expressions in $safeNavigationMigration().
- Disables the 'nullishCoalescingNotNullable & optionalChainNotNullable
  extended diagnostics.
- Adds 'strictTemplates: false' in tsconfig.json when not set.

https://community.openproject.org/wp/OP-19470
2026-06-07 21:01:53 +01:00
Alexander Brandon Coles ead911e214 Bump Node to 22.22.3, npm to ^10.9.8
Bumps supported Node engines to `^22.22.3 || ^24.15.0`.

Updates to Node 22.22.3 for development, production, GitHub workflows
and in documentation.
2026-06-07 21:01:52 +01:00
Alexander Brandon Coles 768e8c4231 Drop dangling underscore in select-edit-field 2026-06-04 17:45:16 +02:00
Alexander Brandon Coles f7a5725386 Rename InjectField decorator to LazyInject
Renames the `InjectField` decorator (and its file) to `LazyInject` to
name its one distinguishing property: it resolves on first access, not
eagerly at construction. After migrating the DI-constructed call sites to
`inject()`, every remaining user keeps it deliberately for lazy
resolution — to break a circular dependency, to work on a manually
instantiated class, or to defer a service whose factory needs loaded
configuration. Mechanical rename, no behaviour change.
2026-06-04 17:45:16 +02:00
Alexander Brandon Coles 1a3bc3aa1d Type InjectField token as ProviderToken
Replaces the `any`-typed token parameter with `ProviderToken<T>`, so a
non-token argument is now a compile error and `defaultValue`/getter share
that `T`. Runtime is unchanged. A property decorator cannot see the field
type, so a token/field mismatch is still uncatchable here; `inject()`
remains the safer option for DI-constructed classes.
2026-06-04 17:08:18 +02:00
Alexander Brandon Coles 3ba1df1fd3 [DREAM-544] Fix EffectHandler injectable metadata
Decorate the generated effect-handler subclass so Angular no longer
falls back to inherited injectable metadata during service injection,
removing the deprecation warning seen in specs and the browser console.
Effect registration stays in a field initializer, not a constructor: an
explicit constructor on this `@Injectable()` subclass of a generic base
breaks the ngtsc AOT compiler. Adds a decorator spec covering the absent
warning and effect (un)binding.

https://community.openproject.org/wp/DREAM-544
2026-06-04 17:01:00 +02:00
Alexander Brandon Coles 2fe040a159 [OP-19461] Migrate components to inject()
Use Angular field injection in DI-created components and view bases.

https://community.openproject.org/wp/OP-19461
2026-06-04 17:01:00 +02:00
Alexander Brandon Coles 390eed3308 [OP-19461] Migrate services to inject()
Use Angular field injection for DI-managed services with smoke coverage.

https://community.openproject.org/wp/OP-19461
2026-06-04 17:00:59 +02:00
Mir Bhatia bc875f8484 Merge pull request #23559 from opf/bug/fix-gemfile-failure
Add checksums header back to Gemfile.lock
2026-06-04 15:05:50 +02:00
Mir Bhatia 118f63b38f Add checksums header back to Gemfile.lock 2026-06-04 14:47:14 +02:00
Jan Sandbrink 7475a609c1 Merge pull request #23538 from opf/wiki-link-delete-contract
Delete relation page links through service
2026-06-04 14:21:19 +02:00
Jens Ulferts 2f63022e8f Merge pull request #23547 from opf/dependabot/bundler/dev/mcp-0.17.0
Bump mcp from 0.16.0 to 0.17.0
2026-06-04 11:47:23 +02:00
Jens Ulferts a0c740531c Merge pull request #23553 from opf/merge-release/17.5-20260604050944
Merge release/17.5 into dev
2026-06-04 11:43:09 +02:00
Jens Ulferts 2bb5188a3d Merge pull request #23550 from opf/dependabot/npm_and_yarn/frontend/dev/autoprefixer-10.5.0
Bump autoprefixer from 10.4.27 to 10.5.0 in /frontend
2026-06-04 11:42:29 +02:00
Marcello Rocha 81e5726838 [OP#73293] Creates POST /api/v3/wiki_page_links endpoint (#23529)
* Remove the `render_author` method as it is unnecessary
* Add the necessary paths, clarify the param to wiki_provider path
* Rework the representers, merge upstream changes to the create contract
* Remove unnecessary mixin and make everything read-only
* Create Endpoint for POST /api/v3/wiki_page_links
* Incorporates @Kharonus feedback in testing multiple page link creation
2026-06-04 10:06:13 +02:00
Alexander Brandon Coles a7e0dc3f75 Merge remote-tracking branch 'opf/dev' into HEAD
# Conflicts:
#	modules/backlogs/config/locales/crowdin/cs.yml
#	modules/backlogs/config/locales/crowdin/es.yml
#	modules/backlogs/config/locales/crowdin/it.yml
#	modules/backlogs/config/locales/crowdin/ko.yml
#	modules/backlogs/config/locales/crowdin/pl.yml
#	modules/backlogs/config/locales/crowdin/pt-BR.yml
#	modules/backlogs/config/locales/crowdin/ro.yml
#	modules/backlogs/config/locales/crowdin/zh-CN.yml
#	modules/backlogs/spec/features/inbox_column_spec.rb
#	modules/backlogs/spec/support/pages/backlog.rb
#	modules/resource_management/config/locales/crowdin/es.yml
#	modules/resource_management/config/locales/crowdin/it.yml
#	modules/resource_management/config/locales/crowdin/ko.yml
#	modules/resource_management/config/locales/crowdin/pl.yml
#	modules/resource_management/config/locales/crowdin/zh-CN.yml
#	modules/wikis/config/locales/crowdin/es.yml
#	modules/wikis/config/locales/crowdin/it.yml
#	modules/wikis/config/locales/crowdin/ko.yml
#	modules/wikis/config/locales/crowdin/pl.yml
#	modules/wikis/config/locales/crowdin/pt-BR.yml
#	modules/wikis/config/locales/crowdin/zh-CN.yml
2026-06-04 09:44:51 +02:00
dependabot[bot] 33d0ef99e0 Bump @tiptap/extensions from 3.20.0 to 3.23.5 in /frontend (#23549)
Bumps [@tiptap/extensions](https://github.com/ueberdosis/tiptap/tree/HEAD/packages/extension) from 3.20.0 to 3.23.5.
- [Release notes](https://github.com/ueberdosis/tiptap/releases)
- [Commits](https://github.com/ueberdosis/tiptap/commits/v3.23.5/packages/extension)

---
updated-dependencies:
- dependency-name: "@tiptap/extensions"
  dependency-version: 3.23.5
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-04 09:43:50 +02:00
Jens Ulferts d19953a0d3 Merge pull request #23546 from opf/dependabot/npm_and_yarn/frontend/dev/angular-12626428e0
Bump @angular/language-service from 21.2.14 to 21.2.15 in /frontend in the angular group across 1 directory
2026-06-04 09:28:49 +02:00
Jens Ulferts 5e7cd1f207 Merge pull request #23551 from opf/dependabot/npm_and_yarn/frontend/dev/openapi-explorer-2.4.799
Bump openapi-explorer from 2.4.793 to 2.4.799 in /frontend
2026-06-04 09:27:50 +02:00
dependabot[bot] 5f41b90833 Bump @angular/language-service
Bumps the angular group with 1 update in the /frontend directory: [@angular/language-service](https://github.com/angular/angular/tree/HEAD/packages/language-service).


Updates `@angular/language-service` from 21.2.14 to 21.2.15
- [Release notes](https://github.com/angular/angular/releases)
- [Changelog](https://github.com/angular/angular/blob/main/CHANGELOG.md)
- [Commits](https://github.com/angular/angular/commits/v21.2.15/packages/language-service)

---
updated-dependencies:
- dependency-name: "@angular/language-service"
  dependency-version: 21.2.15
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: angular
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-04 05:33:37 +00:00
Jan Sandbrink 663dc3f182 Merge pull request #23480 from opf/httpx-ssrf-filter
Add SSRF filter for HTTPX
2026-06-04 07:19:42 +02:00
OpenProject Actions CI f9336b69c1 update locales from crowdin [ci skip] 2026-06-04 04:41:43 +00:00
OpenProject Actions CI a0b7b96ea4 update locales from crowdin [ci skip] 2026-06-04 04:37:15 +00:00
dependabot[bot] ec3911a943 Bump openapi-explorer from 2.4.793 to 2.4.799 in /frontend
Bumps [openapi-explorer](https://github.com/Authress-Engineering/openapi-explorer) from 2.4.793 to 2.4.799.
- [Changelog](https://github.com/Authress-Engineering/openapi-explorer/blob/release/2.4/CHANGELOG.md)
- [Commits](https://github.com/Authress-Engineering/openapi-explorer/compare/2.4.793...2.4.799)

---
updated-dependencies:
- dependency-name: openapi-explorer
  dependency-version: 2.4.799
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-03 22:32:04 +00:00
dependabot[bot] c4949c2548 Bump autoprefixer from 10.4.27 to 10.5.0 in /frontend
Bumps [autoprefixer](https://github.com/postcss/autoprefixer) from 10.4.27 to 10.5.0.
- [Release notes](https://github.com/postcss/autoprefixer/releases)
- [Changelog](https://github.com/postcss/autoprefixer/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/autoprefixer/compare/10.4.27...10.5.0)

---
updated-dependencies:
- dependency-name: autoprefixer
  dependency-version: 10.5.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-03 22:31:47 +00:00
dependabot[bot] c16cfcd516 Bump mcp from 0.16.0 to 0.17.0
Bumps [mcp](https://github.com/modelcontextprotocol/ruby-sdk) from 0.16.0 to 0.17.0.
- [Release notes](https://github.com/modelcontextprotocol/ruby-sdk/releases)
- [Changelog](https://github.com/modelcontextprotocol/ruby-sdk/blob/main/CHANGELOG.md)
- [Commits](https://github.com/modelcontextprotocol/ruby-sdk/compare/v0.16.0...v0.17.0)

---
updated-dependencies:
- dependency-name: mcp
  dependency-version: 0.17.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-03 22:29:57 +00:00
Dombi Attila 629fd084b0 Merge pull request #23520 from opf/raise-yamllint-error
Raise yamllint error on ci
2026-06-03 21:43:27 +03:00
ulferts 3f0ead428d attempt to fix flickering subproject creation spec
rspec spec/features/projects/subproject_creation_spec.rb:59

The theory is that the page hasn`t completed the turbo request and stale dom elements are evaluated
2026-06-03 18:37:43 +02:00
Kabiru Mwenja a7db7834db Merge pull request #23541 from opf/bug/stc-524-shared-work-package-not-showing-images-of-comments
Allow viewing Activity attachments in shared WPs
2026-06-03 19:09:20 +03:00
Kabiru Mwenja 3f030a2597 Merge pull request #23539 from opf/bug/stc-802-workpackagevalue-id-attribute-macros-failing-with-semantic-ids
Bug/STC-802: Resolve semantic work package identifiers in attribute macros
2026-06-03 18:59:41 +03:00
ulferts 012400d213 attempt to fix flickering budget spec
rspec ./modules/budgets/spec/features/budgets/update_budget_spec.rb:340

The JS might not be initialized shortily after update is pressed. Because of that,
an otherwise useless expectation is added that will retry in such a case.
2026-06-03 17:41:37 +02:00
Kabiru Mwenja b7380349c0 Test that sharing a WP does not expose internal-comment attachments
A shared non-member can see the work package but lacks view_internal_comments,
so internal journals must stay hidden. Pins the internal-branch guard.
2026-06-03 18:34:49 +03:00
Maya Berdygylyjova 5b08b3bc68 [DOCU-816] 17.5 work package identifiers https://community.openproje… (#23503)
* [DOCU-816] 17.5 work package identifiers  https://community.openproject.org/wp/DOCU-816

[DOCU-816] 17.5 work package identifiers

https://community.openproject.org/wp/DOCU-816

* Apply suggestion from @MayaBerd

* update after UX/UI change

* Apply suggestion from @MayaBerd

* Apply suggestions from code review

Co-authored-by: Tom Hykel <mail@thykel.cz>

* Apply suggestions from code review

Co-authored-by: Maya Berdygylyjova <MayaBerd@users.noreply.github.com>

* Update docs/system-admin-guide/manage-work-packages/work-package-identifiers/README.md

Co-authored-by: Tom Hykel <mail@thykel.cz>

---------

Co-authored-by: Tom Hykel <mail@thykel.cz>
2026-06-03 16:55:42 +02:00
ulferts e2339ff1f9 attempt to fix flickering backlog inbox spec
rspec ./modules/backlogs/spec/features/inbox_column_spec.rb:224
2026-06-03 16:32:57 +02:00
Yauheni Suhakou c23da82186 [75226] Auth UI for XWiki update (#23462)
* Update the generated credentials for XWiki to alphanumeric
* Update translations
* Change labels from 'pending' to 'incomplete'
2026-06-03 16:20:15 +02:00
Jan Sandbrink 37537eee2d Merge pull request #23465 from opf/xwiki-search
Implement real search_pages for XWiki
2026-06-03 16:09:29 +02:00
Tomas Hykel a4ae9a44c9 Allow viewing Activity attachments in shared WPs 2026-06-03 16:08:36 +02:00
Alexander Brandon Coles 8448188061 Merge pull request #23489 from opf/code-maintenance/SDS-699-filters-form-specs
[OP-19453] Add spec coverage for filter input forms
2026-06-03 15:59:11 +02:00
Alexander Brandon Coles 71c3cec789 Merge pull request #23488 from opf/code-maintenance/75446-filters-form-component-rework
[OP-19415] Convert FilterForm to ViewComponent
2026-06-03 15:58:36 +02:00
Jan Sandbrink 31e4b7516d Implement real search_pages for XWiki
Fetching actual results from the connected XWiki
instance instead of faking it.
2026-06-03 15:39:26 +02:00