Arturo Bernal created JSPWIKI-1318:
--------------------------------------
Summary: User preferences lose a plus sign: a time zone such as
GMT+5 is not saved
Key: JSPWIKI-1318
URL: https://issues.apache.org/jira/browse/JSPWIKI-1318
Project: JSPWiki
Issue Type: Bug
Reporter: Arturo Bernal
A time zone with a plus sign cannot be saved in the user preferences.
Steps: open UserPreferences.jsp, choose the time zone GMT+5 (the list has 16
zones with a plus sign, all of them to the east of Greenwich), save, and open
the page again.
Expected: the time zone is still GMT+5.
Actual: the selector shows the first option of the list, GMT-12. The cookie
JSPWikiUserPrefs holds GMT 5, with a blank where the plus sign was. A zone with
a minus sign, such as GMT-5, is kept.
Cause: the function that reads cookies, in
jspwiki-war/src/main/scripts/util/cookies.js, decodes the value and then
replaces every plus sign with a blank. The value is written with
encodeURIComponent, which writes a plus sign as %2B, so the plus sign is lost
when the preferences are read, and the next save stores the blank.
Found with the current master (3.0.1-SNAPSHOT, Tomcat 10.1, Chrome). Related to
JSPWIKI-1049, where a time zone was one of the preferences that were not kept;
the case of that report, GMT-5, is not affected by this. A pull request follows.
--
This message was sent by Atlassian Jira
(v10.3.26#10030026)