User:Ale jrb/Scripts/igloo/dev

This is the igloo dev page, that chronicles what it currently being worked on, and the latest changes to the program.

changes in 1.0n
More to come......
 * Safari Compatibility
 * CSD Module

changes in 1.0m
fixes:
 * fixed a bug that prevented igloo from intercepting and blocking some key presses in Google Chome.
 * fixed a bug that caused text size issues in the vector skin - igloo will now more aggressively defend its CSS.
 * fixed a bug where igloo would occasionally wait much longer than was necessary after loading data from iglooNet before proceeding.
 * fixed a bug where page titles containing more than one apostrophe could not be clicked on in the recent changes feed.
 * fixed an initial filter error where only one condition would be checked.
 * fixed a bug where igloo did not display total sessions correctly.

changes:
 * implemented the filter system.
 * added settings for controlling filters.
 * created the default filters for general use.
 * make several improvements to the profanity highlighter.

behind the scenes:
 * altered iglooNet to be able to stream filters.
 * introduced the ID system.

changes in 1.0l
fixes:
 * igloo should no longer irretrievably crash if it loads a document with invalid XML. Instead, it attempts to sanitise it, and notifies the user cleanly if this fails.
 * fixed an issue where igloo would occasionally fail to continue loading after a pingfail. igloo will now correctly count pingfails and eject only when the limit is reached.
 * fixed a bug where igloo would fail to correctly show permissions data in the title bar.
 * fixed a bug where iglooNet investigation would result in a JavaScript error.

changes:
 * igloo now permits several ping fails in the verification system in an attempt to increase reliability.
 * igloo will now notify you when reverting if the page has changed since it was first loaded.
 * igloo will no longer warn or report you when reverting yourself. It also now has the ability to prompt when this occurs.
 * igloo can now be launched from any page from its option in the toolbox.
 * igloo is now capable of blocking users; it will offer a block option to administrators when reverting a user on a final warning, and will add a block button to the igloo toolbar.
 * it is now possible to change the displayed font size of diffs for easier viewing.
 * changed the identity link from (IG) to (GLOO) to more clearly differentiate from (HG).
 * iglooNet will use trusted user's activity to investigate and dynamically whitelist users in the background (NB. this is unrelated to user actions; iglooNet decides by itself).

behind the scenes:
 * created seperate popup system to facilitate in-program interfaces (e.g. the settings interface, block interface, and future interfaces such as extra warnings and deletion).

changes in 1.0k
fixes:
 * fixed a bug that caused the history display to fail when the page title had an apostophe in it.
 * fixed a bug that prevented the diff being displayed when a title containing an apostrophe was clicked in the recent changes list.
 * fixed a bug where the edit summary for warned users was not correct.
 * fixed a bug where server didn't recognise users with certain symbols in their name.
 * fixed a bug where igloo blocked keyboard actions, even when these DIDN'T conflict with igloo shortcuts.
 * fixed a bug where edits were not scored if displayed due to a failed rollback.
 * fixed a bug where some pages caused a JavaScript error. These will now display as missing.
 * fixed a bug where messages in the status area would show the wrong number of digits.
 * fixed a bug where computers with slow internet connections may still be loading a diff while a reversion is in progress.
 * fixed a bug where the history popup would display on the initial view, before any diff was loaded.

changes:
 * disabled the whitelist - can now be used by anyone with the relevant permissions.
 * igloo now preloads the interface before displaying it. (This behaviour can be changed as a global setting.)
 * added most of the settings system.
 * added the basic blocking code - will activate this in the next release.
 * added a first run message - igloo will show this to users the first time they use the program.
 * added a 'go-to' input - you can now display the latest edit to any page.
 * altered the title bar - igloo will now display relevant permissions information.
 * igloo will now warn you if you press F5 (refresh) while the program is running.

behind the scenes:
 * igloo now supports dynamic key blocking, and can adjust its key-press actions based on the active interface.
 * as part of the settings system, iglooNet can now stream on-load data and statistics to the user.

changes in 1.0j

 * I have fixed and re-activated the history system, so you can now browse through the lastest history of the page you are viewing. This includes a link for viewing the full history of a page, that will appear in the main browser. It also tags any edits that it has data on.
 * igloo will now warn you if you try to revert an edit made by a trusted user. This should help stop those annoying accidents where you revert an admin (oops).
 * bf: fixed a bug that meant that times in the status window were occasionally showing incorrectly.
 * bf: fixed some iglooNet bugs that were preventing 'dirty' users from expiring in the system.

changes in 1.0i

 * bf: I found and fixed a stupid bug that has been evading me for ages, where iglooNet would refuse to tag admins and bots. Edits by users that iglooNet has identified as a member of one of these groups will now be correctly tagged as free from vandalism.
 * bf: removed the unfinished page history module, as it is not working correctly. This should return soon, finished.
 * improved the information message that iglooNet returns if the user is not on the whitelist or has been suspended.
 * code refactoring, improved the colouring system.

changes in 1.0h

 * interface buttons have been added for moving through the igloo history.
 * it is now possible to move both forward and backwards through the diff history.
 * prepped codebase for page history viewing.

changes in 1.0g

 * bf: igloo will now correctly score edits that appear after the initial load of a diff.
 * bf: igloo will correctly clear the self reversion prevention token when a new diff is loaded in all situations.
 * code refactoring and improvement

In Development
the details in this section are not set; this is merely a list of things that I hope to achieve before a general release of the program
 * page history: igloo will have an interface for browsing through a page history, and possibly for browsing through user contributions as well. Edits will be correctly flagged by iglooNet in these situations. done
 * enhanced history: currently, it is possible to revisit diffs once you have left them, but not to move 'forward' through the history again. This should be possible. done
 * iglooNet: this seems to occasionally fail, or simply forget to tag a page or user. Why? There are no obvious bugs, and the system appears to be generally working properly. It needs fixing. done
 * browsing: it should be possible to visit a page directly through the igloo interface, without it appearing in recent changes. done
 * user preferences: users should be able to configure a number of settings, including: adding own warnings, feed limits, custom filters, custom colouring, status bar notifications etc. done
 * warning messages: igloo should link to the diff of the change made by the user in its warning messages. done
 * administration features: blocking. If the program user is an administrator, igloo will be able to block users directly rather than reporting them to AIV. done
 * feed filters: the feed filter system should be set up, so that users can apply their choices of what to view in the program feed. done
 * CSD tagging: igloo will be able to place CSD tags on pages. just bugfixes left


 * undo: igloo should maintain a list of recent vandalism reversions by each user, and allow them to undo all actions relating to the reversion. This should also remove the user from the iglooNet database. working
 * various warnings: igloo will be able to issue multiple types of warning, rather than being limited to vandalism warnings. These will be issued through a user interface, and can be sent with or without a revert.
 * page history #2: it should be possible to restore any edit in the page history, without using rollback in these situations.
 * rollback: this requires a system of non-rollback rollback. Remove the rollback requirement..?


 * IE? The IE XML parser is almost unusable, and has stopped working completely since the release of IE 8, rendering igloo useless there. Is there a way of bypassing that, short of building a new parser, in order to ensure compatibility?
 * AIV enhancements. igloo should improve its AIV reports, providing blocking administrators with more information, such as recently vandalised pages.
 * contribs: it should be possible to view a list of user contribs, perhaps with a link next to their name. These contribs appear and can be viewed in the igloo interface.