User talk:TheDJ/popups.js

Rewrite plan:


 * get rid of last action=raw usage. Replace with api revision calls.
 * √ preview
 * √ oldid preview
 * √ red links
 * √ section previews
 * √ empty pages
 * √ diff
 * √ Combine two revid requests
 * √ double check date
 * √ fix the revision link for the dates
 * √ test all diff variants
 * √ convert everything to formatversion=2
 * √ convert to new continue style
 * once everything is an api call, start getting rid of storing and handling the text response, and instead pass and store the json object T178670
 * get info from api, instead of from download
 * √ get last modified from api response
 * get info from api, instead of from wikitext
 * get redirect information from api response
 * get disambig state from api response
 * get size from api response
 * get category count from api response ?
 * get link count from api response ?
 * get image count from api response ?
 * get primary image from page images api
 * consolidate the separate parts of the popups, into a single api call per popup, instead of firing multiple api requests when that is not needed.
 * user info and user page
 * image info and image page
 * do we still need the downloader caching layer ? maxage enough?
 * replace the downloader class with mediawiki.api (so we get promises, token refresh etc etc). T138901
 * But remember downloadsinprogress, used for aborts.
 * get rid of the cookie class T178506
 * replace instaview with action=parse or action=extracts T138803
 * split off diff library, lazy load it (or maybe reuse wikEd's diff lib?)

Bugs:
 * Fix most recent edit (from title)
 * When we have a link with no title, instead of blocking, use the curid and fetch the title from the api instead.
 * Overflow of contributions table of the 350px width
 * Hovering what links here in popups menu doesn't trigger preview
 * Add separator to popupPreview# views, for api requests like what links here (backlinks).
 * Add 'Non-existing page' string when previewing redlinks
 * autoedit is not compatible with syntax highlight T178871
 * getlastcontribs and sincemyedit actions are practically broken, as they try to open a new page async from the click action, which will be blocked by the popup blocker of most browsers.

Questions:
 * What's the use of pending popup tasks ? Can we get rid of it. Seems to be used to determine if a reset is required or something of popup ?
 * Maybe use slightly wider popup size ?
 * language error format

Features:
 * article badges 169115
 * interlanguage previews ?
 * local storage settings
 * preference panel, like twinkle has
 * add language of popup content to the div
 * add indicator for drag handle to popup (make whole view draggable by default ?)