stub for new config system
refactor to clarify what is the main keefox shared module and what is per-window code: keefox_org > keefox_win; keeFoxInst > keefox_org
started making all modules build to single jsm file so we can have a single module namespace export one day
gitignore update
module merging fix for 0x1A char being left at the end of the combined file;
"advanced form scanning" (regular polling for new forms appearing after page load) can now be enabled or disabled on per-site basis;
forms can now be scanned even if no password field exists;
new configuration system built along with first draft of default config;
login.live.com is the first site to be automatically re-polled looking for new forms;
new localisation system to allow default fall back to en-US and loading from non-default locations. Also will allow for reduced translation duplication across XUL and script parts of the add-on;
all localisation is now done in the keefox.properties file
migrated lots of locale string calculations to new locale system
locale system supports multiple sources of localisation data;
locale system supports translations supplied in JSON format
FAMS converted to new locale system;
new locale system now detects which locale is most appropriate given user's current application locale choice;
FAMS config and locale strings separated to new files
install and install_mono converted to new locale system
"save password" prompt obeys new config settings;
options panel updated to reference site-specific options where required;
site-specific options panel created;
FAMS config now stored in UTF8 encoding;
sqlite site meta schema v2 brings deprecation of sqlite DB;
FIXED: In some circumstances the nsObserver listening for preference changes can attempt to interact with KeeFox before it has finished loading
PRIVACY: Passwords could sometimes be displayed in the "error console" (see http://keefox.org/2012/11/29/error-console-can-temporarily-display-passwords/);
Config version set to 1
Temporarily disabling cross-domain save password session canceling;
Changed form field filling algorithm to use a collection of relevance scores in order to allow clearer and more advanced control over what gets filled where - only minor tweaks to actual ranking system now but we can extend with many further criteria in future if we want;
FIXED: A few white/black-listing form fill criteria bugs;
Choice of submit button now ranked - current criteria includes only a small selection of common "submit" and "reset" form names;
Password saving prompts now consider same criteria as form-filling (allows for saving forms with no password field);
New KPRPC config system uses single KeePass Entry string with a JSON object describing all the per-entry configuration that KPRPC clients like KeeFox might be interested in;
Upgrade from old config system to new is triggered when a database is loaded (TODO: How to keep things neat if KeeFox is trying to communicate while the upgrade is happening?);
New config allows for form fields that have no name (since we no longer have to use the name as a key) although support for this feature is incomplete;
KeeFox tutorial entries could be duplicated in the database. Exact symptoms are unknown (it's been a "problem" for years) but the upgrade to the new config system will tidy up any problem and it isn't able to re-occur;