440 Commits

Author SHA1 Message Date
Alexander Brandon Coles 21bf9e8466 Replace deprecated HTTP progress option 2026-06-07 22:51:16 +01:00
OpenProject Actions CI a0b7b96ea4 update locales from crowdin [ci skip] 2026-06-04 04:37:15 +00:00
Ivan Kuchin e3afba4465 follow yamllint except key ordering 2026-05-26 16:33:15 +02:00
OpenProject Actions CI d636628161 update locales from crowdin [ci skip] 2026-05-21 14:04:07 +00:00
OpenProject Actions CI d5b027b04b update locales from crowdin [ci skip] 2026-05-19 04:31:41 +00:00
Alexander Brandon Coles c32f2f2e26 [#74950] Migrate Angular DI to inject()
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
2026-05-18 10:23:52 +02:00
OpenProject Actions CI bda5ed1cdc update locales from crowdin [ci skip] 2026-05-10 04:24:16 +00:00
Alexander Brandon Coles e8767481e9 [#70166] Fix accessibility errors found by ERB Lint (#21503)
* Fix GitHub/NoTitleAttribute, LinkHasHref errors

- Replaces `title` attribute with `aria-label` for interactive elements.
- Removes `title` from non-interactive elements.
- Converts `<a>` tags without proper `href` to `<button>` elements,
  using Primer `Button`/`IconButton` where possible.

# Conflicts:
#	app/views/custom_fields/_custom_options.html.erb
#	spec/features/admin/custom_fields/shared_custom_field_expectations.rb
#	spec/features/admin/custom_fields/work_packages/list_spec.rb

* Fix Autocomplete missing errors

* Fix GitHub/NoPositiveTabIndex errors

Removes all positive `tabindex` values.

* Fix Rails/LinkToBlank errors

* Replace toast with Primer Banner on LDAP form

* Add frozen_string_literal

* Ignore erb lint for deprecated files

* Fix linting errors in repository module

* Fix linting errors in budgets and custom actions

* Fix linting errors in member form and 2fa

* Fix linting errors in mcost types and wiki help and storages

* Fix linting errors in multi select filters, ifc viewer, and unsupported browser banner

* Fix failing spec

* Use Primer banner instead of op-toast where ever it is possible

* Use octicon instead of op_icon

* Fix failing tests

* Use no-decoration-on-hover for button links and change the button with only an icon to primer icon button

* Keep webhook response modal activation selector class-based

* use icon button for edit of hourly rate

---------

Co-authored-by: Behrokh Satarnejad <b.satarnejad@openproject.com>
2026-05-07 10:31:10 +02:00
OpenProject Actions CI 0e4437def6 update locales from crowdin [ci skip] 2026-05-06 04:21:38 +00:00
Oliver Günther 10a59c3f10 Remove fastimage for content type checking 2026-04-15 14:18:42 +02:00
OpenProject Actions CI 10937badb2 update locales from crowdin [ci skip] 2026-04-09 11:38:47 +00:00
OpenProject Actions CI 8157603028 update locales from crowdin [ci skip] 2026-04-09 03:59:36 +00:00
Jan Sandbrink f9d8bc6614 Introduce SubclassResponsibility error
This error is intended for cases when a method is
intentionally not implemented, because the module/class defining
it expects a subclass (or class including the module) to implement
the method.

This is intended to distinguish it from other cases, such as:
* feature not implemented yet
* edge case of a method call not yet supported

Notably it avoids the misuse of the Ruby-defined NotImplementedError,
which is only intended for much more specific scenarios:

> Raised when a feature is not implemented on the current platform. For example, methods depending on the fsync or fork system calls may raise this exception [...]

Also see https://docs.ruby-lang.org/en/master/NotImplementedError.html
2026-03-27 08:14:56 +01:00
OpenProject Actions CI 905cc4f873 update locales from crowdin [ci skip] 2026-03-26 07:50:33 +00:00
Oliver Günther 4d731dcab6 Replace raw and explicit html_safe calls 2026-03-20 09:49:10 +01:00
Dombi Attila c389018b1e Remove es-AR translation 2026-02-16 14:34:07 +02:00
OpenProject Actions CI 82420f0f09 update locales from crowdin [ci skip] 2026-02-16 08:09:09 +00:00
OpenProject Actions CI 5c7c9ecb95 update locales from crowdin [ci skip] 2026-02-15 03:53:21 +00:00
Klaus Zanders c212df5b81 Use more visible scoping for users 2026-02-09 15:07:45 +01:00
OpenProject Actions CI 9fb06a8ab8 update locales from crowdin [ci skip] 2026-02-06 03:51:00 +00:00
OpenProject Actions CI 22f84cea86 update locales from crowdin [ci skip] 2026-01-30 03:49:34 +00:00
OpenProject Actions CI f9cd11687c update locales from crowdin [ci skip] 2026-01-09 14:16:12 +00:00
Jan Sandbrink 0728d07ad1 Self-test basic schema compliance for a few API models
Those self-tests are "basic" in the sense that they only validate
their compliance with our documented schema in one representation.

These test cases don't yet cover/validate whether the generated
representation also fulfills the schema under different circumstances,
for example when rendering for a user with fewer privileges, not allowed
to see certain fields.

Where necessary, the schema was changed to reflect the reality, e.g.
when those tests revealed that a "required" field might be missing due to
a lack of permissions.

In a few cases the implementation was adapted to allow for stricter guarantees
of the specified schema, for example links allowed to leave out the title key
already, so its not necessary to emit `title: nil` in cases where a title is
not known.
2025-12-15 11:10:34 +01:00
OpenProject Actions CI acad8b4a5c update locales from crowdin [ci skip] 2025-12-01 03:36:46 +00:00
OpenProject Actions CI 4586631201 update locales from crowdin [ci skip] 2025-11-29 03:24:59 +00:00
Behrokh Satarnejad a93c851288 [64225] [Accessibility] Provide alternative text for images (#21183)
* add an input for the principal component to pass an alt text of avatar image

* Add avatar alt text in user menu for the user avatar

* Add alt text for assignee in wp single card

* add some description for the canvas

* add alt for images

* Show the summary of chart on it

* change the method parameters

* Hide the gantt chart from screen reader because it doesnt add any value for the screen reader user

* Use better name for inputs and improve the methods definitions

* fix eslint errors

* fix rubocup errors

* remove alt for bcf snapshot

* better structure for avatar in user menu
2025-11-26 16:07:58 +01:00
OpenProject Actions CI e87b33acf1 update locales from crowdin [ci skip] 2025-10-29 03:32:50 +00:00
OpenProject Actions CI 3f2b6afd4a update locales from crowdin [ci skip] 2025-10-04 03:11:42 +00:00
Oliver Günther 14192a74c3 Replace confirm with turbo-confirm, method with turbo-method 2025-09-26 09:15:04 +02:00
Alexander Brandon Coles 8f5be89a59 [#67394] Migrate templates to Control Flow syntax
Automated conversion with:

    ng generate @angular/core:control-flow

Old structural directives `*ngIf`, `*ngFor`, and `[ngSwitch]` are now
deprecated and will be removed in v22.

See https://angular.dev/api/common/NgIf
See https://angular.dev/api/common/NgFor
See https://angular.dev/api/common/NgSwitch
2025-09-16 10:44:16 +01:00
dependabot[bot] e24c4d4744 Bump fastimage from 2.3.1 to 2.4.0
Bumps [fastimage](https://github.com/sdsykes/fastimage) from 2.3.1 to 2.4.0.
- [Changelog](https://github.com/sdsykes/fastimage/blob/master/CHANGELOG)
- [Commits](https://github.com/sdsykes/fastimage/compare/v2.3.1...2.4.0)

---
updated-dependencies:
- dependency-name: fastimage
  dependency-version: 2.4.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-10 05:03:35 +00:00
OpenProject Actions CI 04c03b46af update locales from crowdin [ci skip] 2025-09-09 03:21:00 +00:00
OpenProject Actions CI 292d631128 update locales from crowdin [ci skip] 2025-09-07 03:18:35 +00:00
OpenProject Actions CI d8ff4cc5ab update locales from crowdin [ci skip] 2025-08-30 03:19:12 +00:00
OpenProject Actions CI 7332760706 update locales from crowdin [ci skip] 2025-08-16 03:25:45 +00:00
Alexander Brandon Coles 39b29c2789 Update Angular to v19
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.
2025-07-22 18:22:19 +01:00
OpenProject Actions CI 57d7b943a1 update locales from crowdin [ci skip] 2025-07-03 03:33:35 +00:00
OpenProject Actions CI 9df8ffda1d update locales from crowdin [ci skip] 2025-05-17 03:23:26 +00:00
OpenProject Actions CI 254699d23a update locales from crowdin [ci skip] 2025-05-07 03:27:56 +00:00
OpenProject Actions CI 910a9c8332 update locales from crowdin [ci skip] 2025-04-26 03:22:08 +00:00
OpenProject Actions CI a2370755eb update locales from crowdin [ci skip] 2025-04-22 15:53:46 +00:00
OpenProject Actions CI 6b3b2258ec update locales from crowdin [ci skip] 2025-04-18 03:23:12 +00:00
OpenProject Actions CI b0856f497b update locales from crowdin [ci skip] 2025-04-16 12:37:17 +00:00
Dombi Attila 10dc5538a2 [#63386] Use rescue_from ActiveRecord::RecordNotFound
https://community.openproject.org/work_packages/63386
2025-04-14 13:44:28 +03:00
OpenProject Actions CI 4569e1d661 update locales from crowdin [ci skip] 2025-03-28 03:18:10 +00:00
Ivan Kuchin dfead9fdbe frozen_string_literal in changed specs 2025-03-18 19:35:08 +01:00
Ivan Kuchin 2c1d112aea use require_relative in specs 2025-03-18 19:35:08 +01:00
OpenProject Actions CI efe7774a6c update locales from crowdin [ci skip] 2025-03-15 03:12:20 +00:00
OpenProject Actions CI ad84403fe3 update locales from crowdin [ci skip] 2025-03-14 03:19:43 +00:00
OpenProject Actions CI 1c922531d9 update locales from crowdin [ci skip] 2025-03-11 03:14:55 +00:00