GitLab Pages should not decode pound/hashtag/# symbol in URLs

Summary

Most URLs listed in https://gitlab-org.gitlab.io/gitlab-design/ contain a pound/hashtag symbol # that comes from our naming system for files and folders in that repo.

Some months ago, a URL like this https://gitlab-org.gitlab.io/gitlab-design/hosted/pedro/ce%2335424-spec-previews/ would keep the %23 (the encoded URI for #) when navigating to such URL from that listing page.

Today, click that URL from that listing page wrongly decodes %23 into #, producing a 404 error.

Our script that creates the listing page already escapes any such characters: https://gitlab.com/gitlab-org/gitlab-design/blob/master/specscript.rb#L16

Steps to reproduce

See summary.

Example Project

  • Project: https://gitlab.com/gitlab-org/gitlab-design
  • Pages: https://gitlab-org.gitlab.io/gitlab-design/

What is the current bug behavior?

A URL with %23 (the encoded URI for #) wrongly decodes %23 into #, producing a 404 error.

What is the expected correct behavior?

A URL with %23 (the encoded URI for #) should keep that character encoded.

Output of checks

This bug happens on GitLab.com

Assignee Loading
Time tracking Loading