Page MenuHomePhabricator

Force date/time preferences to valid values
ClosedPublic

Authored by epriestley on Jun 18 2015, 7:14 PM.
Tags
None
Referenced Files
F14054438: D13346.diff
Sat, Nov 16, 1:48 AM
F14044163: D13346.diff
Tue, Nov 12, 3:10 PM
F14026269: D13346.diff
Fri, Nov 8, 12:47 AM
F14005548: D13346.id.diff
Sun, Oct 27, 3:16 PM
F13984704: D13346.diff
Sun, Oct 20, 3:23 PM
F13982688: D13346.id32290.diff
Sun, Oct 20, 1:12 AM
F13962079: D13346.id32297.diff
Oct 15 2024, 7:58 AM
Unknown Object (File)
Oct 12 2024, 10:34 AM

Details

Summary

Fixes T8601. To reproduce the problem:

  • Set your time preference to "" (the empty string). This isn't possible from the modern UI, but can be done with "Right Click > Inspect Element", or users may have carried it forward from an older setting (this is the case with me and @hach-que on this install).
  • Load Calendar with some events.
  • This parses an epoch, which sets valueTime to "" (since there are no format characters in the preference) and then getEpoch() fails because strlen($time) is 0.
  • Since getEpoch() failed, getDateTime() also fails.

To fix this:

  • Only permit the date and time preferences to have valid values.
Test Plan
  • Loaded page before patch, saw fatal.
  • Applied patch.
  • No more fatal.
  • Viewed tooltips, dates/times, dates/times in other apps.
  • Changed my preferences, saw them respected.

Diff Detail

Repository
rP Phabricator
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

epriestley retitled this revision from to Force date/time preferences to valid values.
epriestley updated this object.
epriestley edited the test plan for this revision. (Show Details)
epriestley added a reviewer: lpriestley.
epriestley added a subscriber: hach-que.
lpriestley edited edge metadata.
This revision is now accepted and ready to land.Jun 18 2015, 10:04 PM
This revision was automatically updated to reflect the committed changes.