Bug Description
TimezoneManager.parseTimezone() at lines 368-373 references this.database.abbreviations, but the TimezoneDatabase class uses this.aliases (line 427 in TimezoneDatabase.js). The property this.database.abbreviations is always undefined, so the abbreviation lookup silently fails and falls through to the offset parser.
Impact
- Timezone abbreviations like "EST", "PST", "CET" are never resolved to their IANA equivalents
- The fallback offset parser can't handle abbreviations, so they fail silently
- Users passing common timezone abbreviations get incorrect behavior with no error
Code Location
// TimezoneManager.js:368-373
if (
this.database.abbreviations && // ALWAYS undefined
Object.prototype.hasOwnProperty.call(this.database.abbreviations, upperTz)
) {
return this.database.abbreviations[upperTz];
}
Fix
Change this.database.abbreviations to this.database.aliases:
if (
this.database.aliases &&
Object.prototype.hasOwnProperty.call(this.database.aliases, upperTz)
) {
return this.database.aliases[upperTz];
}
Files
core/timezone/TimezoneManager.js:368-373 (bug)
core/timezone/TimezoneDatabase.js:427 (correct property name)
Bug Description
TimezoneManager.parseTimezone()at lines 368-373 referencesthis.database.abbreviations, but theTimezoneDatabaseclass usesthis.aliases(line 427 in TimezoneDatabase.js). The propertythis.database.abbreviationsis alwaysundefined, so the abbreviation lookup silently fails and falls through to the offset parser.Impact
Code Location
Fix
Change
this.database.abbreviationstothis.database.aliases:Files
core/timezone/TimezoneManager.js:368-373(bug)core/timezone/TimezoneDatabase.js:427(correct property name)