Commit Graph

2369 Commits

Author SHA1 Message Date
OpenProject Actions CI ca54954220 Merge branch 'release/17.3' into dev 2026-04-23 04:33:10 +00:00
Oliver Günther 02ae6a9119 Remove password min-rules in favor of clearly listed/checked password rules
https://community.openproject.org/work_packages/73461
2026-04-22 13:43:42 +02:00
Oliver Günther 7135dfc2c4 Add additional validations for path validation for posix on repositories 2026-04-22 11:23:37 +02:00
Pavel Balashou 10f2ed7efe Merge pull request #22842 from opf/jira-import-ssrf
Use ssrf filtering in Jira Import.
2026-04-21 15:26:40 +02:00
Oliver Günther a92edf17a6 Merge remote-tracking branch 'origin/release/17.3' into dev 2026-04-21 11:00:11 +02:00
Oliver Günther 61266cd96b Validate use of existing managed repository paths
https://community.openproject.org/work_packages/74165
2026-04-21 10:59:52 +02:00
Pavel Balashou 53e33770c2 Use ssrf filtering in Jira Import. 2026-04-21 10:29:45 +02:00
Oliver Günther fad228d8d3 Remove style with content 2026-04-20 19:38:03 +02:00
Oliver Günther 12160eab43 Add svg to remove list 2026-04-20 19:38:03 +02:00
Oliver Günther 4abbc75f22 Remove commonmarker GFM tagfilter extension
We already use our own extensive sanitization pipeline, and it turns out
tagfilter is extremely slow on large oneline input (such as big tables).

Rendering a large table inside a work package (2k rows, 20k cells) caused tagfilter to run for over 2 minutes.
Added a separate spec to test all tags the tagfilter filters for to avoid its runaway execution time.
2026-04-20 16:52:10 +02:00
Oliver Günther 098bd4927c Bumped version to 17.3.2
[ci skip]
2026-04-20 13:08:33 +02:00
OpenProject Actions CI 0c68614c6e Merge branch 'release/17.3' into dev 2026-04-17 04:32:30 +00:00
Oliver Günther 96397d7388 Explicit path validation on svn targets
https://community.openproject.org/work_packages/73978
2026-04-16 15:51:52 +02:00
Jan Sandbrink 61c6f8f616 Merge pull request #22758 from opf/extend-pattern-matcher-filter
Allow to extend PatternMatcherFilters via method call
2026-04-15 13:08:50 +02:00
Oliver Günther 94a79e67c0 Bumped version to 17.3.1
[ci skip]
2026-04-15 07:47:24 +02:00
Jan Sandbrink ded6d960c0 Allow to extend PatternMatcherFilters via method call
Instead of requiring plugins to overwrite the .matchers method,
they can now call .append_matcher with their custom matcher.
2026-04-14 16:47:17 +02:00
ulferts 52637b49b1 bump grape 2026-04-14 09:34:44 +02:00
Oliver Günther 40bc3c04e5 Add OpenProject::Cache.fetch_request_cached for hot-path caching
Add fetch_request_cached method that layers RequestStore in front of Rails.cache.fetch

Used in the following places, as they are repeatedly accessed during schema initialization.

all_work_package_form_attributes, form_config_attribute_representation, Query.available_columns

In my tests, this improves cold cache access by reducing initial number of queries to access cache
2026-04-09 15:48:40 +02:00
Henriette Darge 66cae3a519 Merge remote-tracking branch 'origin/dev' into feature/65404-combine-and-redesign-notification-settings-and-email-reminders-pages-in-myaccount-area 2026-04-07 09:08:43 +02:00
OpenProject Actions CI 6559ec3342 Merge branch 'release/17.3' into dev 2026-04-01 09:41:14 +00:00
OpenProject Actions CI 013105e1e1 Merge branch 'release/17.3' into dev 2026-04-01 04:32:16 +00:00
Kabiru Mwenja 5e3dd6a1d1 fix(documents): strip invisible characters from document titles
Documents created with zero-width Unicode characters (e.g. U+200B)
in their titles become unclickable on the index page, making them
hard to manage or delete.

Introduce RemoveInvisibleCharacters normalizer, replacing the former
RemoveAsciiControlCharacters. It strips both ASCII control characters
and Unicode zero-width characters, with each category defined as a
named constant for clarity. Apply it to Document#title and update
existing callers (Project#identifier, CustomField#name).

Add a shared RSpec example "strips invisible characters" to verify
normalization consistently across all three models.
2026-03-31 18:18:41 +03:00
Wieland Lindenthal a5842882db Add rel=nofollow to user-generated links to deter SEO spam (#22548)
* Add rel=nofollow to user-generated links to deter SEO spam

Links in user-generated content (work package descriptions, comments,
wiki pages) previously carried rel="noopener noreferrer" but not
nofollow. Search engines therefore passed PageRank through them, making
OpenProject community instances attractive targets for spammers posting
links for SEO gain.

Adding nofollow removes this incentive without any visible impact on
legitimate users.

* Fix missing nofollow in AutolinkCustomProtocolsFilter
2026-03-31 16:33:17 +02: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
Henriette Darge 3f0f3cfca0 Use reminders form component for the admin view as well and remove now outdated angular components 2026-03-26 15:15:29 +01:00
Oliver Günther 9617b069e9 Bumped version to 17.4.0
[ci skip]
2026-03-26 07:14:46 +01:00
Jens Ulferts d457547f5c Merge pull request #22373 from opf/implementation/71251-migrate-versions-to-sprints
[#71251] Migrate Versions to Sprints
2026-03-25 14:23:29 +01:00
Behrokh Satarnejad 7014e13d3e Merge pull request #22475 from opf/71063-create-a-pagination-component-based-on-the-primer-specification
[71063] Update PVC with new Pagination component and Banner styles
2026-03-25 14:02:04 +01:00
ulferts 64626ad129 Merge remote-tracking branch 'origin/dev' into implementation/71251-migrate-versions-to-sprints 2026-03-25 10:17:26 +01:00
Tom Hykel e83026bda4 Merge pull request #22417 from opf/impl/73175-default-semantic-project-identifier
[#73175] Generate default semantic identifier for Project
2026-03-25 09:35:30 +01:00
Tomas Hykel 52bc6a6977 implement skip_if logic for OpActiveRecord 2026-03-24 12:48:23 +01:00
Tomas Hykel 04717ce615 address PR feedback 2026-03-23 15:01:23 +01:00
Henriette Darge 141ae1a8ea Merge pull request #21972 from opf/feature/71380-inplace-edit-for-project-attributes-on-project-overview-page
[71380] Inplace edit for project attributes on project overview page
2026-03-23 11:50:31 +01:00
Oliver Günther 01b16b809a Remove superfluous code already run in the wrapped textarea 2026-03-23 07:27:17 +01:00
Tomas Hykel 1cb8e9c686 Merge remote-tracking branch 'origin/dev' into impl/73175-default-semantic-project-identifier 2026-03-20 16:10:06 +01:00
Tomas Hykel 9c9141c4c9 make sure to disable acts_as_url properly
 Conflicts:
	app/models/project.rb
2026-03-20 14:17:51 +01:00
Oliver Günther 637a45beb4 Fix id parsing for wiki toolbar now that we use actual html 2026-03-20 09:49:11 +01:00
Oliver Günther 4d731dcab6 Replace raw and explicit html_safe calls 2026-03-20 09:49:10 +01:00
Henriette Darge c7afb4968f Get inplaceEditField for customField dynamically by the format instead of registring them all directly 2026-03-20 08:40:33 +01:00
Dombi Attila 5af77448d1 Escape version name when displaying cause in activities 2026-03-19 13:48:36 +02:00
Dombi Attila 6f437a55b6 [#71251] Migrate Versions to Sprints
https://community.openproject.org/work_packages/71251

- Validate dates only on active Agile::Sprints
- Create journals for migrating Versions to Sprints
- Create migration from Versions to Sprints
2026-03-19 10:37:27 +02:00
Henriette Darge b943d5677a Merge branch 'dev' into feature/71380-inplace-edit-for-project-attributes-on-project-overview-page 2026-03-18 14:49:18 +01:00
Klaus Zanders 7a3a78ceae Merge branch 'dev' into user-working-times 2026-03-18 11:16:01 +01:00
Klaus Zanders cda493946c Merge branch 'dev' into merge-release/17.2-20260318041917 2026-03-18 08:30:59 +01:00
Oliver Günther e209be59e3 Bumped version to 17.2.3
[ci skip]
2026-03-17 16:01:55 +01:00
Henriette Darge a445cc196c * Take care that newly created CF are also correctly registered
* Introduce spec helper for inplace edit fields
* Preserve system_arguments for calculated fields when they are updated
2026-03-17 15:13:21 +01:00
Markus Kahl c850bf5a17 delete patch made obsolete with mail 2.9.0
see https://github.com/mikel/mail/issues/1434
2026-03-17 11:22:05 +00:00
Markus Kahl 06bae92e26 patch mail gem to support tls_hostname until it is officially supported 2026-03-17 11:22:05 +00:00
Andrej 15baa3520d Merge branch 'dev' into merge-release/17.2-20260316105331 2026-03-16 11:54:11 +01:00
Oliver Günther b8a247e3ad Bumped version to 17.2.2
[ci skip]
2026-03-16 11:12:00 +01:00