Page MenuHomePhabricator

Fix a hang in fancy date picker for Ye Olde Time Years
ClosedPublic

Authored by epriestley on Aug 10 2017, 10:36 AM.
Tags
None
Referenced Files
F18366607: D18383.id44182.diff
Wed, Aug 27, 10:29 PM
F18124740: D18383.id44187.diff
Aug 13 2025, 12:44 PM
F18124735: D18383.id44182.diff
Aug 13 2025, 12:44 PM
F18124731: D18383.id44181.diff
Aug 13 2025, 12:44 PM
F18124730: D18383.id.diff
Aug 13 2025, 12:44 PM
F18112171: D18383.diff
Aug 12 2025, 4:06 PM
F18094865: D18383.diff
Aug 7 2025, 10:24 PM
F18090507: D18383.id44187.diff
Aug 6 2025, 4:06 PM
Subscribers
None
Tokens
"Pterodactyl" token, awarded by avivey.

Details

Summary

Fixes T12960. When the user enters a date like "1917", we currently loop ~20 million times.

Instead:

  • Be a little more careful about parsing.
  • Javascript's default behavior of interpreting "2001-02-31" as "2001-03-03" ("February 31" -> "March 3") already seems reasonable, so just let it do that.
Test Plan

Verified these behaviors:

  • 2017-08-08 - Valid, recent.
  • 17-08-08 - Valid, recent.
  • 1917-08-08 - Valid, a century ago, no loop.
  • 2017-02-31 - "February 31", interpreted as "March 3" by Javascsript, seems reasonable.
  • Quack - Default, current time.
  • 0/0/0, 0/99/0 - Default, current time.

Diff Detail

Repository
rP Phabricator
Lint
Lint Not Applicable
Unit
Tests Not Applicable