Feature summary (what you would like to be able to do and where):
- Currently the URL https://en.wikipedia.org/wiki/Banana_slug?action=edit results in vastly different interfaces depending on the user's current preferences. This creates challenges for skins which want to have editor-specific behaviour. @Samwilson ran into this problem in T307725
It's proposed that
- A query string parameter is added to all edit URLs which captures which editor is used.
- when a wiki has multiple editors enabled ?action=edit would redirect to the appropriate URL. (with action=edit&editor=<name>)
- There is a single preference that captures the "default" editor.
- The link rendered by skins would always point to the appropriate editor
- The VisualEditor two tabs would still work as currently, only one of those links would be to the default editor.
We seem to have unique URLs for some of the editors, but there's no standardisation across them.
Use case(s) (list the steps that you performed to discover that problem, and describe the actual underlying problem which you want to solve. Do not describe only a solution):
- Would save time debugging bug reports (it's not always clear /which/ editor a bug reporter is reporting for if they don't include a screenshot)
- Would make it easier to QA/test different URLs - currently to test the Wikitext editor for example, I have to update multiple preferences just to see it
- Would allow skins to identify editors based on URLs and have special treatments for them (as needed for T307725)
- We could add visual regression tests to pixel.wmcloud.org/
Benefits (why should this be implemented?):
Without this, we'll continue to add significant technical debt as we work around this.
For example, in Vector we have a max-width that is configurable only by page URL. Because editors do not have unique URLs we can't use the existing code, and would instead have to write some VisualEditor specific code (see https://gerrit.wikimedia.org/r/c/mediawiki/skins/Vector/+/802427)