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 phab: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). phab:T138901
    • But remember downloadsinprogress, used for aborts.
  • get rid of the cookie class phab:T178506
  • replace instaview with action=parse or action=extracts phab: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 phab: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 phab: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 ?)

Start a discussion about improving the User:TheDJ/popups.js page

Start a discussion