HomePhabricator

Allow older, invalid project tags to continue to function

Description

Allow older, invalid project tags to continue to function

Summary:
Ref T10168.

Around October 12, T9551 made project hashtags stricter and prevented them from containing characters like comma (,).

Around December 27, D14888 changed how hashtags queries work so that the query does normalization instead of requiring the caller to normalize.

After the Dec 27 change, projects from before Oct 12 with now-invalid hashtags will no longer load when queried directly by hashtag, because the page queries for old,[silly]hash,,tag or whatever, it gets normalized into old_silly_hash_tag, and then there are no hits.

Instead, at least for now, query by both the exact raw text and the normalized hashtag. This should keep older stuff working until we can give users more support for migrating forward.

Test Plan:

  • Forced a project to have a bogus hahstag.
  • Before patch: clicking its tag 404'd.
  • After patch: clicking its tag now works.
  • Visited a project by alternate hashtag.
  • Visited a project by denormalized hashtag and alternate hashtag (e.g., capital letters instead of lowercase letters), saw it redirect/normalize properly.

Reviewers: chad

Reviewed By: chad

Maniphest Tasks: T10168

Differential Revision: https://secure.phabricator.com/D15047

Details

Provenance
epriestleyAuthored on Jan 18 2016, 3:36 PM
epriestleyPushed on Jan 18 2016, 5:05 PM
Reviewer
chad
Differential Revision
D15047: Allow older, invalid project tags to continue to function
Parents
rP2144d877ee30: PHUIIconCircleView
Branches
Unknown
Tags
Unknown
Tasks
T10168: Provide a clearer pathway forward for old projects with invalid hashtags
Build Status
Buildable 10176
Build 12353: Run Core Tests