Dombi Attila
15af95dee0
[OP-19483] Introduce Bundler cooldown
...
https://community.openproject.org/wp/OP-19483
2026-06-09 15:44:49 +03:00
OpenProject Actions CI
b4ee3567be
update locales from crowdin [ci skip]
2026-06-09 12:42:09 +00:00
OpenProject Actions CI
16707c0224
update locales from crowdin [ci skip]
2026-06-09 12:39:31 +00:00
Kabiru Mwenja
e92b78d500
[STC-805] Numeric ID showing in Gitlab tab on work packages without links to issues ( #23627 )
...
https://community.openproject.org/wp/STC-805
2026-06-09 14:35:46 +03:00
Kabiru Mwenja
bb317278ba
Merge pull request #23582 from opf/bug/stc-811-documents-pagination-breaks-upon-filtering-the-list
...
[STC-811] Fix pagination for filtered Documents & Reserved identifiers
2026-06-09 14:32:29 +03:00
corinnaguenther
1450c4903e
Release notes 17.5 update ( #23526 )
...
* Release notes 17.5 update
[OP-19139] 17.5 Release notes prepared
https://community.openproject.org/wp/OP-19139
* Add link to docs
* Delete nested groups section
2026-06-09 13:27:23 +02:00
Jan Sandbrink
1feba4d963
Move CanonicalPageInfo query into internal namespace
...
Making it more clear that this is a query for internal usage
2026-06-09 13:15:28 +02:00
Jens Ulferts
ceb7771000
Merge pull request #23495 from opf/fix/improve_speed_of_backlog_filtering
...
Fix/improve speed of backlog filtering
2026-06-09 12:03:57 +02:00
Klaus Zanders
c0ecc6af5d
Fix rubocop issue in Controller
2026-06-09 11:50:28 +02:00
Klaus Zanders
69f15b7fab
Sort file
2026-06-09 11:34:30 +02:00
Klaus Zanders
de875258a4
Get rid of some additional comments
2026-06-09 11:29:14 +02:00
Jan Sandbrink
e6d02ca89d
Merge pull request #23528 from opf/configure-internal-wiki
...
Add UI for internal wiki provider
2026-06-09 11:22:53 +02:00
Eric Schubert
e8fea8cc8a
Merge pull request #23581 from opf/implementation/73352-add-create-wiki-page-dialog
...
[#73352 ] added create wiki page dialog
2026-06-09 11:21:37 +02:00
Klaus Zanders
fd31ca162c
Use large-portrait and center the modals
2026-06-09 10:31:44 +02:00
Klaus Zanders
e43b84766b
Add dialog that shows a scheduling violation
2026-06-09 10:31:43 +02:00
Klaus Zanders
a0e21a9df9
Add methods to detect scheduling violations with the work package
2026-06-09 10:31:43 +02:00
Klaus Zanders
c4659b295b
Use correct filter form
2026-06-09 10:31:42 +02:00
Klaus Zanders
80b1ce5a60
Fix layout of resource_management en.yml
2026-06-09 10:31:42 +02:00
Klaus Zanders
f3319c8a36
Fix specs after adding the principal_explicit flag
2026-06-09 10:31:41 +02:00
Klaus Zanders
e3fe605ce9
Condense comments
2026-06-09 10:31:41 +02:00
Klaus Zanders
cc688f5973
Refactor form component for allocation step
2026-06-09 10:31:40 +02:00
Klaus Zanders
978b89121e
Add multi-step "Allocate resource" dialog
...
Implement the dialog for creating a resource allocation as a two-step
Primer dialog driven by Turbo streams:
1. Kind step: choose between an explicit principal and a
filter-criteria placeholder.
2. Allocation step: the per-kind form (principal/work package, date
range, hours, filter name) swapped in without navigation.
Backend changes:
- Controller `new`/`step`/`create` actions render and update the
dialog via Turbo streams; entity and principal are resolved against
the project and the user's visibility.
- Add `principal_explicit` to distinguish an assigned principal from a
named filter placeholder, with validations and a
`needs_principal_assignment` scope on ResourceAllocation.
- Add the `step` collection route.
- ViewComponents and form objects under app/components and app/forms.
- Locales for the dialog copy.
Add request, feature, and model specs covering the flow.
2026-06-09 10:31:39 +02:00
Klaus Zanders
323c095e36
Use real timestamp IDs for resource allocation migrations
...
The migrations used a date plus a fake incrementing hour counter
(e.g. 20260602120000, ...130000, ...140000) rather than real
timestamps. Those synthetic IDs risk colliding with migrations added
elsewhere in the app. Rename them to their actual file creation time:
20260602120000 -> 20260602152805 add_users
20260602130000 -> 20260602152807 create_..._journals
20260602140000 -> 20260602170908 add_filter_name
create_resource_allocations already had a real timestamp and is left
unchanged. Order and resulting schema are preserved.
2026-06-09 10:31:39 +02:00
Klaus Zanders
3466daba5e
Add methods to resolve the user filter to users
2026-06-09 10:31:38 +02:00
Klaus Zanders
9be91ca804
Store the name for resource allocation user filters
2026-06-09 10:31:38 +02:00
Klaus Zanders
b7640dfccd
Implement journaling for resource allocations
2026-06-09 10:31:37 +02:00
Klaus Zanders
ccf61ead91
Add GlobalID handling for ResourceAllocation#entity
2026-06-09 10:31:37 +02:00
Klaus Zanders
204d0516f8
Accessors to set allocated time in hours
2026-06-09 10:31:36 +02:00
Klaus Zanders
cff618a153
Add reviewed_by and requested_by to the resource allocation
2026-06-09 10:31:36 +02:00
Klaus Zanders
45afae52d6
Ensure ResourceAllocation is scoped to a work package for now, allow further classes later
2026-06-09 10:31:35 +02:00
Klaus Zanders
63cf1dea7e
Implement stub controller for Resource Allocations
2026-06-09 10:31:34 +02:00
Jens Ulferts
319633fd99
Merge pull request #23619 from opf/merge-release/17.5-20260609045502
...
Merge release/17.5 into dev
2026-06-09 10:07:07 +02:00
Marcello Rocha
dd0b94692c
Implements GET /wiki_page_links ( #23597 )
...
* Create tests for the endpoint
* Filter by PageLink#type
* Implements the endpoint
2026-06-09 10:03:42 +02:00
ulferts
4f59344fdb
fix lockfileVersion
2026-06-09 09:40:46 +02:00
dependabot[bot]
de3f31f3df
Bump the typescript-eslint group in /frontend with 2 updates ( #23621 )
...
Bumps the typescript-eslint group in /frontend with 2 updates: [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin ) and [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser ).
Updates `@typescript-eslint/eslint-plugin` from 8.59.4 to 8.60.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases )
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md )
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.60.0/packages/eslint-plugin )
Updates `@typescript-eslint/parser` from 8.59.4 to 8.60.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases )
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md )
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.60.0/packages/parser )
---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
dependency-version: 8.60.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: typescript-eslint
- dependency-name: "@typescript-eslint/parser"
dependency-version: 8.60.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: typescript-eslint
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-09 08:35:17 +01:00
ulferts
db815d0d22
Merge remote-tracking branch 'origin/dev' into merge-release/17.5-20260609045502
2026-06-09 09:32:19 +02:00
Kabiru Mwenja
f94d7b0bfc
Resolve the changes-filter predecessor once in a journals CTE
...
The :only_changes filter re-seeked each journal's predecessor in every EXISTS
branch (~7 LATERAL lookups per row). A CTE now shadows the journals table,
exposing predecessor_id/predecessor_data_id once per row, and each branch reads
those columns instead. On a 703-journal work package this cuts the COUNT from
~1.13M to ~35K shared buffers.
2026-06-09 10:25:21 +03:00
Oliver Günther
92a0c03c42
Fix fetching of SAML metadata for large aggregate endpoints ( #23531 )
...
* Fix fetching of SAML metadata for large aggregate endpoints
https://community.openproject.org/work_packages/OP-19420
* Use XML pull parser to avoid text parsing
2026-06-09 09:13:52 +02:00
Oliver Günther
adfe334449
Merge pull request #23605 from opf/feat/flat-meeting-objects
...
Flat meeting API objects
2026-06-09 09:06:44 +02:00
Mir Bhatia
6f0e53f406
Please rubocop
2026-06-09 09:05:28 +02:00
Klaus Zanders
b25543b490
Merge pull request #23622 from opf/dependabot/bundler/dev/retriable-3.5.1
...
Bump retriable from 3.5.0 to 3.5.1
2026-06-09 08:57:48 +02:00
Kabiru Mwenja
96d5b5805f
Merge pull request #23587 from opf/code-maintenance/68063-lateral-predecessor-changes-filter
...
Code Maintenance/STC-462: Fix slow "only changes" activity filter on work packages with long histories
2026-06-09 09:53:32 +03:00
Mir Bhatia
6f207589ef
Update label to change colours and include counter conditionally
2026-06-09 08:53:15 +02:00
Mir Bhatia
7957079830
Add clear button and turbo navigate instead of full page reload
2026-06-09 08:53:14 +02:00
Mir Bhatia
eaf8eb0c17
Add single select version
2026-06-09 08:53:12 +02:00
Mir Bhatia
141f4b1669
Improve async version
2026-06-09 08:53:11 +02:00
Mir Bhatia
1d8329c220
Try async fetch
2026-06-09 08:53:08 +02:00
Jan Sandbrink
f466dd3832
Reduce maximum result size of XWiki search_pages
...
This is only done to improve worst-case latency, because
we perform one additional request per result.
Local testing showed a latency above 1000ms for 50 results
and ~500ms for 20 results. I'd expect real world scenarios to
be slightly worse, because of higher network latency.
2026-06-09 08:51:51 +02:00
Jan Sandbrink
1599bde011
Return a proper failure if unexpected JSON is encountered
...
Instead of raising an error, we use throw-catch based control flow
to return the same failure that would be returned if the response
had not been JSON at all.
2026-06-09 08:51:50 +02:00
Jan Sandbrink
1ba2bf95ce
Use stable identifiers to fetch XWiki pages
...
We now have two ways to fetch page infos from XWiki:
* using the canonical identifier (but through a new endpoint that will resolve stable identifiers as well)
* using the stable identifier
Since we want to store the stable identifier, the stable version is the one exposed through the XWiki registry.
The canonical form is required to fully resolve some list queries from XWiki properly.
2026-06-09 08:51:27 +02:00