diff options
author | Douwe Maan <douwe@gitlab.com> | 2016-06-01 10:50:03 +0000 |
---|---|---|
committer | Douwe Maan <douwe@gitlab.com> | 2016-06-01 10:50:03 +0000 |
commit | c0f19cc94ecb606e521afc4a39582c4dae9c5967 (patch) | |
tree | cabe924378ffa5f1eb85534a72a885a33f231422 /CHANGELOG | |
parent | adcbd001350b13530038a0382bb7df6f918dcbb9 (diff) | |
parent | f8a3344d1297e2a66d1ec60372258c651c74baf5 (diff) | |
download | gitlab-ce-c0f19cc94ecb606e521afc4a39582c4dae9c5967.tar.gz |
Merge branch 'fix-404-labels-in-todos' into 'master'
Fix 404 page when viewing TODOs that contain milestones or labels in different projects
A user viewing the TODOs page will see a 404 if there are mentioned milestones or labels in multiple different projects. This is likely a caching bug and only occurs
when Markdown rendering occurs across multiple projects, which is why it's so tricky to reproduce. This is what I think is happening:
1. LabelReferenceFilter#references_in encounters label ~X for ProjectA and finds the label in the DB as id = 1.
2. LabelReferenceFilter.references_in yields [1, 'X', nil, ...]
3. Since project_ref is nil, AbstractReferenceFilter#project_from_ref_cache caches nil => ProjectA.
4. LabelReferenceFilter#references_in encounters label ~Y for ProjectB and finds the label in the DB as id = 2.
5. LabelReferenceFilter.references_in yields [2, 'Y', nil, ...]
6. AbstractReferenceFilter#project_from_ref_cache lookups nil and returns ProjectA. It was supposed to be ProjectB.
7. A is the wrong project, so the label lookup fails.
This MR expands the `project_ref` to the right value as soon as we have it to avoid this caching bug.
Closes #17898
See merge request !4312
Diffstat (limited to 'CHANGELOG')
-rw-r--r-- | CHANGELOG | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/CHANGELOG b/CHANGELOG index 79395b81abb..d2e3c80cdfe 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -6,6 +6,7 @@ v 8.9.0 (unreleased) - Allow forking projects with restricted visibility level - Improve note validation to prevent errors when creating invalid note via API - Remove project notification settings associated with deleted projects + - Fix 404 page when viewing TODOs that contain milestones or labels in different projects - Redesign navigation for project pages - Fix groups API to list only user's accessible projects - Redesign account and email confirmation emails |