User:DannyS712/Global watchlist/Changelog
Appearance
Changelog for User:DannyS712/Global watchlist.js
This page is outdated, but if it was updated, it might still be useful. Please help by correcting, augmenting and revising the text into an up-to-date form. |
- 1) Initial version
- 1.1) Properly link to pages with
'
in the page name - 1.2) Add a refresh button
- 1.3) Code cleanup, set up basic infrastructure for dealing with sites with no changes
- 1.4) Allow user-defined site list, defaulting to
['en.wikipedia.org', 'meta.wikimedia.org', 'commons.wikimedia.org', 'www.wikidata.org']
rather than always using it - 1.5) Add a link from the normal watchlist to the global watchlist page, begin first attempt at internationalization
- 1.6) Add another special page to allow users to configure their site list without needing to manually edit their
global.js
- 1.7) Rescope the code to all be stored in a window variable (
window.GlobalWatchlist
), allowing refreshing the feed without needing to reload the page- 1.7.1) Tweak rescope
- 1.7.2) Always show the first text field for setting user-defined site lists
- 1.7.3) Rescope configuration page removal function, to allow multiple entries to be removed without errors
- 1.7.4) Use
encodeURIComponent
for page links - 1.7.5) Fix addition to again work with titles that contained
'
- 1.7.6) No longer require
.org
at the end of each user-defined site, but still allow its presence for backwards compatibility - 1.7.7) Improve handling of sites with no changes separately, prefill current user-defined settings when the configuration page is opened
- 1.8) Cleanup code, add proper infrastructure for internationalization
- 1.8.1) Improve debugging by not always redirecting from the configuration page directly back to the global watchlist
- 1.8.2) Improve
global.js
replace function - 1.8.3) Ensure that empty sites aren't added to the user-defined list
- 1.8.4) Improve
global.js
replace function - 1.8.5) Expand scope of messages that can be translated using the new infrastructure
- 1.8.6) Clean up code, add site aliases for when users are defining custom site lists
- 1.8.7) List sites without changes separately, below sites with changes
- 1.8.8) Tweak display of the list of sites without changes
- 1.8.9) Remove irrelevant notice about overwriting settings when saving, since current settings are prefilled
- 1.8.10) Empty the list of sites without changes when the feed is refreshed
- 1.9) Add a loading icon while waiting for the feed to be retrieved, both on initial display and when the feed is refreshed
- 1.9.1) Use seperate style sheet rather than only relying on inline styles
- 1.9.2) Set
&redirect=no
in page links - 1.9.3) Store
window.GlobalWatchlist
with spaces to improve readability - 1.9.4) Add history link next to each entry
- 1.10) Separate out debug functions, use more informative notes when logging
- 1.10.1) Add
getState
function, to view current script variables' statuses
- 1.10.1) Add
- 1.11) Begin conversion to using OOUI
- 1.11.1) Convert configuration page to also use OOUI
- 1.11.2) Tweak CSS for configuration page layout
- 1.11.3) Convert to OOUI label for sites with no changes
- 1.11.4) Add OOUI label for user defined site list
- 1.11.5) Combine function retrieval function to use the same for both local and foreign
- 1.11.6) Fix logging of objects added in
1.10
- 1.11.7) Code cleanup
- 1.11.8) Only add
$('<hr>')
before the list of sites with no changes if at least 1 site had changes, otherwise it would create two such elements in a row - 1.11.9) Improve logging, use more jquery, and increase code readability
- 1.11.10) Begin migration to dedicated config objection (manual edits to
global.js
only) - 1.11.11) Finish backend of migration to dedicated config objection
- 1.1) Properly link to pages with
- 2) Add user-customizable filtering of bot edits, anonymous edits, and minor edits, with GUI configuration on settings page
- 2.1) Improve skin support, migrate to OOUI for all links except from watchlist, add "reset changes" for config page
- 2.2) Fix
setHeading
for minerva skin, move to dedicated init function- 2.2.1) Add label for sites with changes, refactor
hasChanges
- 2.2.2) Fix addition of label
- 2.2.1) Add label for sites with changes, refactor
- 2.3) Add Bengali translations
- 2.3.1) Add a few French translations
- 2.4) Add "mark as seen" buttons for each site
- 2.4.1) When marking a site as seen, don't hard refresh the page
- 2.4.2) Code cleanup, update translations
- 2.4.3) Additional migration to object notation
- 2.4.4) Work around API's limit of only marking 50 pages at a time as seen
- 2.4.5) Add "mark all as seen" button for all sites (, )
- 2.4.6) Continue using objects, separate out marking as seen
- 2.4.7) Only show "mark all as seen" if there are multiple sites with changes
- 2.4.8) Add destructive flags for marking as seen
- 2.4.9) Ensure double refresh doesn't create duplicates
- 2.4.10) Introduce helper
OOUI.makeButtonInput
- 2.4.11) Clean up, add
runtime.presetFlag
- 2.5) Update translations, message tweaks
- 2.5.1) Always prefill current sites, even if using the default
- 2.6) Add link to see changes for each page
- 2.6.1) Add linker helper
- 2.6.2) Patch recursive
markSiteAsSeen
calls - 2.6.3) Reduce code duplication, clean up linker
- 2.7) Add unwatch links
- 2.7.1) Clean up code
- 2.7.2) Change from 3 column split to 2
- 2.7.3) Tweak debug info
- 2.7.4) Add separate message for multiple changes to the page, allow using variables in messages
- 2.8) Make compatible with minerva skin, other miscellaneous updates
- 2.8.1) Fix call to checkAll
- 2.8.2) Objects, clean up settings
- 2.9) Introduce mode helper
- 2.9.1) Fix mobile api settings
- 2.9.2) Fix double
$('<hr>')
s - 2.9.3) CLean up, objects
- 2.9.4) Add template helper to reduce message calls
- 2.9.5) After unwatching a page, remove unwatch link, strikethrough entry
- 2.9.6) Remove template helper, clean up messages, allow _ in script import
- 2.9.7) Add "as of" at the top
- 2.9.8) Remove runtime helper, expand use of config
- 2.9.9) Simplify initialization, use config
- 3) Retrieve wikidata labels for properties and items
- 3.0.1) Bugfix - correction of linking added in
3
- 3.0.2) Bugfix - correction of default filters added in
2.9.6
- 3.0.1) Bugfix - correction of linking added in
- 3.1) Overhaul config
- 3.1.1) Bugfix - correction of label retrieval affected by
3.0.1
- 3.1.1) Bugfix - correction of label retrieval affected by
- 3.2) Show new page creations
- 3.2.1) Also retrieve wikidata labels for new page creations
- 3.2.2) Allow configuring what types of changes to show (edits and/or page creations)
- 3.2.3) Add confirmation before marking all sites as seen
- 3.3) Show log entries
- 3.3.1) Make default options consistent
- 3.4) Add basic validation to filter options
- 3.5) After unwatching a page, replace the unwatch link with "rewatch"
- 3.6) Add basic validation to site options
- 3.6.1) Code cleanup
- 3.7) Use translated messages from core that already exist
- 3.7.1) Fix message for logs links added in
3.7
- 3.7.1) Fix message for logs links added in
- 4) Deprecations of backwards-compatible code
- 4.1) Migrate messages to
mw.msg()
calls- 4.1.1) Code cleanup
- 4.1.2) Add
ban
as a valid language code - 4.1.3) Use core
newpageletter
message for new page "N"
- 4.2) Show bot and minor flags next to edits, using core localized messages, if applicable to all edits
- 4.2.1) Allow unwatching from log entries by using page titles rather than IDs
- 4.2.2) Fix visual processing of pages that are (un)watched
- 4.2.3) When unwatching a page, also apply visual processing to talk page (and vice versa)
- 4.2.4) Use
OO.ui.ProgressBarWidget();
for the progress bar
- 4.3) Add basic option not to group edits by page
- 4.3.1) Code cleanup
- 4.3.2) Add stricter validation (language.project must be a valid combination, not just separately valid)
- 4.3.3) Code cleanup
- 4.3.4) Fix encoding of double quotes
- 4.4.0) Add framework for separate tests
- 4.4.1) Add
mnw
as a valid wikipedia language
- 4.4.1) Add
- 4.1) Migrate messages to
- 5) Add option to switch from development branch to stable branch
- 5.1) Use
entirewatchlist
for marking a site as seen, rather than a list of titles- 5.1.1) For wikidata entries, show the Qid, etc. in addition to the retrieved label
- 5.1.2) Add links to edit each site's watchlist
- 5.1.3) Code cleanup
- 5.1.4) Fix typo bugs
- 5.1.5) Begin using eslint
- 5.1.6) Continue linting
- 5.1.7) Save framework for checking if settings have been changed
- 5.2) Clean up API calls
- 5.2.1) Update translations
- 5.2.2) Use
formatversion
2 - 5.2.3) Code cleanup
- 5.2.4) More cleanup
- 5.2.5) Use CSS instead of a
<center>
tag - 5.2.6) Use CSS instead of a
<center>
tag - 5.2.7) Use CSS instead of a
<center>
tag - 5.2.8) Use CSS instead of a
<strike>
tag - 5.2.9) Save work on autorefresh
- 5.2.10) Consider a site as having no changed if all pages have been unwatched, for autorefresh
- 5.3) Add OOUI icons
- 5.3.1) Fix
checkChangesShown
logic relating to if the feed should be refreshed - 5.3.2) Save work on background refresh for live updates, and lint
- 5.3.1) Fix
- 5.4) Add live updates
- 5.4.1) Code cleanup
- 5.4.2) Add OOUI icons for live updates
- 5.4.3) Combine API helper functions
- 5.4.4) Cleanup
- 5.4.5) Cleanup
- 5.4.6) Fix use of
forEach
with validation - 5.4.7) Tweak validation to return an array of invalid sites, rather than just one
- 5.4.8) Cleanup
- 5.4.9) Cleanup
- 5.4.10) Add new wikis to validation (, , , )
- 5.4.11) Validate wikis against sites that the user has a merged SUL account on, rather than a hard-coded list
- 5.4.12) Linting
- 5.4.13) Activate more eslint rules
- 5.5) Add an option to opt out of confirmation before marking all sites as seen
- 5.6) Notify the user regarding the result of saving the settings
- 5.1) Use
- 6) Finalized previous updates, port to stable version
- 6.1) Remove support for site aliases
- 6.1.1) Code cleanup
- 6.1.2) Cleaner implementation of
parseOptions
- 6.1.3) Don't create a new toggle element each time the options are reset
- 6.1.4) Don't create a new checkbox element each time either
- 6.1.5) Separate settings from configuration, cleanup
- 6.1.6) Fix filter rendering that prevented loading the "not" filter settings
- 6.2) Add a fast mode
- 6.2.1) Activate some of the remaining eslint rules
- 6.2.2) Show that the refresh button is disabled during live updates
- 6.3) Retrieve labels for lexemes as well
- 6.3.1) Make buttons sticky when scrolling
- 6.3.2) Minor cleanup
- 6.3.3) Continued cleanup
- 6.4) Show edit summaries
- 6.5) Show user info, fix links in summaries
- 6.5.1) Make group by page toggleable on watchlist view
- 6.5.2) If a user makes multiple edits to a page, and no one else edits, show that user's info
- 6.5.3) Show that the group by page toggle is disabled in fast mode
- 6.5.4) Fast-mode related cleanup
- 6.5.5) Activate more eslint rules
- 6.5.6) Fix watch/unwatch links
- 6.5.7) Combine processUnwatched and processRewatched
- 6.5.8) Clean up
- 6.5.9) Minor tweaks, including a simpler filterE
- 6.5.10) Activate a few more eslint rules
- 6.5.11) Quick hack to disable the group page toggle in live mode
- 6.6) Create actual QQQ documentation
- 6.6.1) Remove specifying
gw-msg-
in each message definition, add it in later - 6.6.2) Associate messages with translation units
- 6.6.3) Add init case for QQX documentation helper script
- 6.6.4) Tidy up a bit
- 6.6.5) Update translations with new i18n script
- 6.6.6) Show the message name when using
uselang=qqx
- 6.6.7) Use the core translation for the 'x' when a user has made multiple edits
- 6.6.8) Activate more eslint rules
- 6.6.1) Remove specifying
- 6.7) Factor out a
GlobalWatchlist.Site
class- 6.7.1) Relint, cleanup
- 6.7.2) Update tests
- 6.7.3) Continue moving methods to the Site class
- 6.7.4) Move the api methods to the Site class
- 6.8.0) Show basic tag info
- 6.8.1) Parse the tag descriptions
- 6.8.2) Minor fixes
- 6.8.3) Combine watch and unwatch methods
- 6.8.4) Relint
- 6.8.5) Cleanup
- 6.8.6) Update tests
- 6.9) Use checkboxes instead of toggles for settings
- 6.9.1) Store OOUI elements
- 6.9.2) Use promises, cleanup
- 6.9.3) Separate processing of groupPage
- 6.9.4) Lint, lots of cleanup
- 6.9.5) Fix diff link for grouped edits
- 6.9.6) More use of promises
- 6.10) Fetch watchlists in parallel
- 6.10.1) Cleanup
- 6.10.2) Don't query tag info in fast mode
- 6.10.3) Save the Site objects instead of creating them each time
- 6.10.4) Remove last use of async/await, add messages to translation, remove old code, reduce esversion to 6
- 6.10.5) Marked for translation
- 6.11) Add jsDoc
- 6.1) Remove support for site aliases
- 7) No changes from 6.11, just syncing with the stable version
- 7.1) Count the number of edits each user makes if multiple edit a page
- 7.1.1) Don't show 1x for users with 1 edit
- 7.1.2) Update translations
- 7.1.3) Reduce OOUI footprint
- 7.1.4) Move markAllAsSeen to a proper function, tweak find-and-replace
- 7.2) Update CSS, move addRow to a proper function
- 7.2.1) Update documentation and tests, add a separate helper method to retrieve the api instance so that tests can override it
- 7.2.2) Mostly testing improvements
- 7.2.3) Add a lot of tests
- 7.2.4) Update translations
- 7.2.5) Split large functions for ease of understanding and parsing by others
- 7.3) Handle retrieving more than 50 wikidata ids rather than dying, add basic error handling for the api
- 7.3.1) Handle failure to retrieve wikidata ids for deleted entries
- 7.3.2) Implement some of Mediawiki's jQuery coding conventions
- 7.3.3) Cleanup
- 7.3.4) Add notes as part of investigating splitting the script
- 7.3.5) Don't show a colon for an edit summary if no summary was provided
- 7.3.6) Add
max-statements-per-line
rule and make pass
- 7.1) Count the number of edits each user makes if multiple edit a page
- 8) No changes from 7.3.6, just syncing with the stable version
- 8.0.1) Link to meta documentation in edit summaries
- 8.0.2) Add more debugging logging
- 8.0.3) When logging debug statements, also push to an array for easier retrieval
- 8.0.4) Fix longstanding bug in settings processing
- 8.0.5) Update translations
- 8.1) Update CSS to handle RTL text
- 8.1.1) Update CSS to handle strikethrough with RTL text
- 8.2) Make feed for each site collapsable, as well as the list of sites with no changes; fix link text
- 8.2.1) Update the check for if sites are showing changes following changes for collapsing
- 8.2.2) Don't fail on edits with hidden usernames