Skip to content

Board doesn't get filtered from URL content

Summary

Putting links in various areas of GitLab (or other software) create URL-encoded links. It turns out this:

(a) https://gitlab.com/gitlab-org/gitlab-ce/boards?scope=all&utf8=✓&state=opened&label_name[]=regression

is transformed into this:

(b) https://gitlab.com/gitlab-org/gitlab-ce/boards?scope=all&utf8=✓&state=opened&label_name%5B%5D=regression

The problem is that although the filtering by label: regression is filled in the filter box, the filter isn't applied and all issues are loaded and fill the board lists nonetheless.

Steps to reproduce

Click this link whose source is the (a) form but which gets encoded as (b).

Alternatively, open a Markdown editor (possibly within GitLab but could be another third-party software), paste the (a) form in (either directly or within []()), preview the thing, notice [] was changed into %5B%5D, and click the generated link.

What is the current bug behavior?

Filter criteria appears in box but board doesn't get filtered.

What is the expected correct behavior?

Board gets filtered.

Relevant logs and/or screenshots

Unfiltered (%5B%5D):

Screen_Shot_2017-05-10_at_14.48.31

Filtered ([]):

Screen_Shot_2017-05-10_at_14.49.19

Output of checks

This bug happens on GitLab.com

Possible fixes

Blindfolded guess: the filter box is handled server-side from Rails params (which transforms %5B%5D back into [], while the board filling parses the document.location itself differently on the client side.