Sep 3 * Use jquery.js's OO style to refactor searchall.js [done] * Register browser.contentWindow's (or contentDocument's) onload event handler to make searchall's unit tests working [canceled] * Add support for baidu.cn and yahoo.cn [done] * Talk to highway for an XPCOM wrapper builder for ordinary C++ classes [done] * Port Perl's Benchmark::Timer over to JS [done] * Use timer.js to benchmark the loading time of the 3 iframes [done] Sep 4 * Make the embedded tester support multiple .js test scripts [done] * Add test-progress.js to test the Progress class in progress.js [done] * Display (sorted) timer.js's benchmark results in status bar (statusbar.js) [done] * Make the progressmeter work (progressbar.js) [done] * Make the drop-down URI menulist work fully (searchall.js, onchange => homePage) [done] Sep 5 * Make url-list menulists automatically hide duplicated URLs in the popup list. [done] * Add custom hooks to search sites' buttons so that the position of the foucs and inputs does no longer matter. [done] * When the url changes, it should automatically do the searching if #search-box is not empty [pending] * Use checkboxes to toggle iframes. [done] Sep 6 * Package the whole stuff as .xpi and make a realase. [done] * Test the resulting .xpi file in both Linux and Win32. [done] Sep 7 * Add RDF/rdf-em support to Template::Declare. [done] Sep 10 * Rewrite browserOverlay.xul using Template::Declare. [done] * Start the 'xulapp' branch. [done] * Implement XUL::App::Schema using Object::Declare. [done] * Implement `bin/xulapp debug foo.xul`. [done] * Send mail to SpiderMonkey.pm's author for ideas on a DOM lib. [done] Sep 11 * Implement `bin/xulapp register`. [done] * Implement `bin/xulapp unregister`. [done] * Implement `bin/xulapp setup`. [done] * Implement `bin/xulapp bundle` for .xpi packaging. [done] * Refactor SearchAll using XUL::App. [done] * Merged the 'xulapp' branch back to trunk/. [done] * Send mail to HTML::DOM's author for ideas on a DOM lib. [done] Sep 19 * Add support for automatic extension updating. [deferred] * Add listbox to the Logs tabpannel. [done] * Use the 'tree' command line utility's format for my dumpDOM function. [done] Sep 20 * Implemented the Foramtted View. [done] * Make the font size of the inner HTML pages smaller (per laser's request). [canceled] * Fix the checkbox + splitter toggling bug. [half done] Sep 21 * Add persist to XUL components. [done] Later... * Add "Next" and "Previous" buttons. [done] * Add a splash window before the main window shows up (splash.js and splash.xul). [canceled] * Move the local repos from yuting++'s loki/agentz/ to hack/. [done] * Eliminate potential errors in page loading timers. [done] * Use blog.agentzh.org as SearchAll's homepage for now. [done] * Check if some searchall.* domain is still available. [done] * Add a SearchAll button to FF's context menu so as to searchall the selected words in arbitrary web pages. [done] * Work with Yedan++ to build a real SaerchAll homepage. [done] * Test the speed and accessibility of the sites in the results via the AJAX head request. [done] * Do s/is conflicting with/is breaking/ in fmt-view.html. [done] * Update the pref to disable Firebug for 'searchall'. [done] * Default to English search engines if the locale is not zh-* __and__ SearchAll is started for the very first time. [done] * I18N for fmt-view.html (is XHTML XML?) [cancelled] * Work with Yuanyin++ to do zh-CN localization for AMO. * Add a "Try mining the original page" link to force mining the patterns. [done] * Fix the checkbox + splitter toggling bug. [done] * Add the Merged View to merge the search results from different sites. [cancelled] * Use the getter/setter feature to reimplement our own JS classes. [done] * Implement features as in http://www.langreiter.com/exec/google-vs-google.html?q=Perl using SVG. [done] * Add test-timer.js to test the Timer class in timer.js. * Implement an XPCOM component for desktop searching. XUL::App's TODO: * Add support for the --profile option, like this: $ xulapp debug --profile dev3 foo.xul [done] It will also create a profile if it doesn't exist. [done] It will also checks prefs.js to see whether the necessary variables have been set or not. If not, it will set those config vars automatically. [done]