Last modified: 2014-11-12 18:29:10 UTC
Summary: Flow needs to tell IE not to cache API requests, otherwise it will reuse old API responses for view-topic, etc. The Close and open topics "Opening a topic" browser test has always failed on Windows 8 IE. It genuinely doesn't work! 1. Close topic, enter a summary "I closed this", submit. Topic redisplays fine. 2. Reopen topic, enter "I MANUALLY REOPENED THIS", submit. The topic displays the same *old* state: This topic was closed by <YOU> - - - I closed this When you close or reopen a topic, Flow JS first makes a POST API request with action=flow submodule=close-open-topic cotmoderationState=close/reopen But then (by design, see comment for closeOpenTopic inflow-board.js) Flow JS makes a GET API request for action=flow&submodule=view-topic and the server responds with the entire topic tree, and Flow JS displays this. Except in Internet Explorer (so far I've reproduced in Windows 8.1 IE11 and Windows 8 IE10 viewing beta labs and mw.org) when you reopen IE doesn't even make the GET view-topic API request. IE remembers the same request when you close, and so IE redisplays the old content, including the old closed state and old summary. It's not until you reload that IE shows the new topic state. Caching XML HTTP requests is is a known IE "feature", see e.g. http://www.dashbay.com/2011/05/internet-explorer-caches-ajax/ . IE's developer tools Net tab lies and shows an instantaneous server response of 304 Not Modified. Many other Flow API requests can result in IE reusing an earlier API response. In many cases Flow should tell jQuery ajax to disable caching, either with ajax: { cache: false } in the API request as Echo does, or with a single $.ajaxSetup({ cache: false }) call. But the latter means every Flow API request includes a dummy { _: <TIMESTAMP>} parameter, so every API response has a {"warnings":{"main":{"*":"Unrecognized parameter: '_'"}} response.
in backlog: https://trello.com/c/Zz3YN0mW
Change 155463 had a related patch set uploaded by Bsitu: Make IE not cache ajax request https://gerrit.wikimedia.org/r/155463
Change 155463 merged by jenkins-bot: Make IE not cache ajax request https://gerrit.wikimedia.org/r/155463
All patches mentioned in this report were merged or abandoned - is there more work left to do here (if yes: please reset the bug report status to NEW or ASSIGNED), or can you close this ticket as RESOLVED FIXED?