User:DWalden (WMF)/Edit Recovery

Survey cross-browser compatibility

 * Test the basic capability of an array of browsers
 * Do all browsers implement indexeddb in the same way?

Page sections and conflicts

 * Page sections are identified by a numeric ID e.g. https://www.mediawiki.org/w/index.php?title=User:DWalden_(WMF)/Edit_Recovery&action=edit&section=1
 * These numeric IDs can be changed by rearranging sections on a page or adding new sections. What if this happens between a user editing a section and recovering the edit at a later date?

Content types

 * Do different page content types (wikitext, JSON, CSS, etc.) make a difference?
 * E.g. try editing your User:DWalden_(WMF)/common.js

Unintended logouts

 * What forms of session exiting and expiring will clear the edit recovery data?
 * For example, clearing cookies, cookie expiry

Compatibility with other features

 * What features, gadgets, extensions will this not play nicely with?

Dynamic forms

 * Some wikis and extensions have different editing forms, do they work with edit recovery.
 * Examples of these include wikisource (pages in the Index and Page namespaces).
 * What about the Extension:Page_Forms extension?

Test ideas

 * Upgrading browser? Migrating profiles?
 * Review unit coverage
 * Sections
 * Multiple pages
 * Cross browser and device
 * Types of edit?
 * Are edits restored accurately?
 * Unintended logouts (e.g. session timeout)
 * Does session expiry clear the data?
 * Corruption detection?
 * How clearly is it communicated to users? (esp. with conflicts)
 * Frequency
 * It appears to be 5 seconds after stop typing. Too long?
 * Compatibility
 * Other extensions, gadgets, RTP, etc.
 * Syntax highlighting
 * Different content types
 * What URL params might interfere?
 * What config variables might interfere?
 * What if a property is missing from the indexeddb object (e.g. minor edit)
 * Disaster recovery
 * ACID properties
 * Relaxed vs. strict durability ("How long does it take for a relaxed transaction to be written to non-volatile storage?")
 * Timing
 * Crash just as new data being stored
 * Dynamic forms (e.g. page forms extension, proofread page)?
 * Negative testing
 * No space left on device
 * Make the indexeddb sqlite database read-only
 * Cleared appropriately
 * What about unsuccessful saves?
 * Deliberately logging out does not clear
 * Different parent revisions
 * i18n
 * Stress
 * https://en.wikipedia.beta.wmflabs.org/w/index.php?title=Barack_Obama&action=edit