zulip/static
Steve Howell 1abd00eac2 i18n: Remove code to sweep local storage.
Before 2018, we used a feature of i18next where
we would cache translations in local storage
for up to two weeks:

    var cacheOptions = {
        // ...
        prefix: 'i18next:' + page_params.server_generation + ':',
        expirationTime: 2*7*24*60*60*1000,  // 2 weeks
    };

    i18next.init({
        /// ...
        cache: cacheOptions
    }

Because `server_generation` would change each time you
upgraded a server, a frequently upgraded server like
chat.zulip.org would cause its active users to start
to accumulate lots of obsolete key/value pairs in local
storage over the two weeks.

See #4443 for more details.

We eventually reduced the cache life to 2 days.  And then
on top of that, newer versions of the server would start
to clean up after themselves using this commit from
April 2017:

    e3f1d025ae

We then removed the caching option altogether a year
later in May 2018:

    cff40c557b

We kept around the code to remove all the old keys, though.
This was particularly important for users who may have
been hitting servers that did an upgrade to the new
version from some older version that didn't have the
key-fixing code.

But mostly the problem takes care of itself after
either two days or two weeks, even on really out-of-date
servers.

The original problem was most likely to affect server
admins that did a lot of upgrades (and possibly only really
affected chat.zulip.org), so as long as those server
admins continued their patterns, it's highly likely that
they've done several upgrades since May 2018 that would
have cleaned these keys out for good.

And, again, even if there is some strange straggler here,
they probably only have one set of keys that will expire
either two days or two weeks after an upgrade, depending
on how long ago the prior upgrade was.  (All of their
keys based on older versions of `server_generation` would
have long since expired.)

Finally, any upgrade certainly won't make the problem
worse for any users under this hypothetical situation,
since the new server won't be writing new keys.

So I am removing the cleanup code.
2020-02-29 12:19:51 -08:00
..
assets styles: Finish removing manual antialiasing configuration. 2019-08-30 14:51:52 -07:00
audio notifications: Add a setting for changing the notification sound. 2018-12-09 21:25:30 -08:00
generated
html 5xx.html: Build with webpack. 2019-10-28 15:53:15 -07:00
images integrations: Add AlertManager webhook. 2020-02-14 17:43:15 -08:00
js i18n: Remove code to sweep local storage. 2020-02-29 12:19:51 -08:00
shared typeahead: Convert to ES6 module. 2020-02-19 14:36:42 -08:00
styles styles: Transition closed overlays to visibility: hidden. 2020-02-27 07:53:12 -05:00
templates message_edit_form: Change topic editing default to `change_later`. 2020-02-27 11:30:11 -08:00
third markdown: Fix HTML escaping of &. 2020-02-13 17:50:59 -08:00
.eslintrc.json lint: Delegate console.log check to ESLint. 2020-02-07 14:09:47 -08:00
.gitignore emoji: Resolve emoji sprite sheets and stylesheets through Webpack. 2020-02-25 14:43:46 -08:00
favicon.ico