ChatZilla To-do List
What the Heck is This Page?
Roughly, it is a list of things that need to be done to ChatZilla, but it is also a brain-dump of some ideas for new features or ways to fix certain bugs. It also includes a Bug Plan listing what will happen to certain bugs, how they will be solved, and potential problems, as well as the ChatZilla 1.0 section for the requirements for reaching the magical 1.0.
Any additions, changes or suggestions for this list to Silver on #chatzilla.
Version Plan / Timeline
Firefox 1.1 DPR
|
Tuesday, 01 March, 2005
|
Firefox 1.1 PR
|
Friday, 01 April, 2005
|
Mozilla/Gecko 1.8beta2 Freeze
|
Wednesday, 06 April, 2005
|
ChatZilla 0.9.68
|
Monday, 11 April, 2005
|
|
Gecko 1.8beta3
|
Wednesday, 11 May, 2005
|
ChatZilla 0.9.68.2
|
Saturday, 14 May, 2005
|
ChatZilla 0.9.68.3
|
Sunday, 15 May, 2005
|
ChatZilla 0.9.68.4
|
Saturday, 21 May, 2005
|
ChatZilla 0.9.68.5
|
Saturday, 21 May, 2005
|
|
ChatZilla 0.9.69
|
Early-June, 2005
|
|
Gecko 1.8 Branch
|
Wednesday, 08 June, 2005
|
|
Firefox 1.1
|
Wednesday, 06 July, 2005
|
|
Gecko 1.9a1 Freeze
|
Wednesday, 20 July, 2005
|
|
Gecko 1.9a2 Freeze
|
?
|
|
Ideas for Next Release
Bug Plan
-
Bug 106610 → ?
This will be fixed by the multiple window landing... but what about those that like the current behaviour? Clearly mirroring inputs across windows is silly, but continuting to have a single input per window is possible (though being able to toggle the option will be hard work).
Note to self: the input history will need to be moved from client to the view handler, maybe using some shared "input with history" thingy.
-
Bug 166295 → WONTFIX/INVALID (by design behaviour)
Default behaviour is as intended. Sloppy networks may get a preference, though.
[done] How feasable is handling the messages from ChanServ specially?
-
Bug 246273 → ...FIXED
We could simply make any relative paths (nsILocalFile can tell us if a path is relative, right?) resolve with-respect-to the "profilePath" preference.
-
Bug 252848 → ...
Generic message filtering instead of anything specific.
-
Bug 257206 → review attachment 157587
-
Bug 259198 → get review to cvs remove both readprefs.js and all of xul/content/prefpanel.
-
Bug 262024 → ?
Hmm... we can reasonably easily add a toolbar, though graphics will be hard work. The idea for a URL bar is a bit odd... not sure that is going to work, since you can't replace a view in IRC with another sensibly, only open new ones. Perhaps a drop-down (menu or toolbar) of bookmarked IRC links would help... maybe label the box "Go to:" instead, and not show the current URL (but resolve smartly?).
General Todo Items
-
Emoticons
-
XML network list semi-working
-
It can load the XML file into the client.networks object and function.
-
Need some way to save correctly without losing any XML attributes/nodes. Hard.
-
Uses newly-written xml.js and special JavaScript-based XML schema language.
-
Stop Unicode (Chinese/Japanese/etc.) nicknames wrapping.
-
Can we do this? CSS property perhaps? Needs some testing.
-
Topic set by message doesn't show correct nickname when it's encoded.
-
Probably just missing a toUnicode somewhere...
-
User object clear-up:
-
When user quits, remove object if they don't have a view open.
-
If they have a query view open, leave object until view is closed (unless they reconnect).
-
The above will need to be an option for the IRC library, which also must have the option to remove user objects right away, or never.
-
Stop leaking PrefManager objects!
-
0.9.64f leaked these babies like they cost nothing. Major leak fixed in 0.9.64g and onwards, but a good analysis of object use (especially PrefManagers since they involve native objects and wont normally destroy themselves) would be a good idea.
-
0.9.68.2 Fixed a leak of user pref managers in auto-WHO checking.
-
Option to stop /msg appearing in-channel when tab-limit reached.
-
Username links dragged to input should dump nickname only - not global change to dragging 'em.
-
Add tab-complete option to cycle matches instead of common-prefix them.
-
Might require a far bit of re-engeneering with the tab-completion system.
-
Parse MODE messages according to RPL_ISUPPORT data.
-
Channel topic popup is positioned as if window was at (0, 0) on Linux.
-
Userlist options seem to be backwards.
-
Only for my custom view, it seems... odd.
-
Double-click userlist --> query view?
-
Localisation warning that shows up in MT.
-
Truncate URL in header if it's too wide.
-
Can be done with position: stuff instead of a single positioned table.
-
Ban lists
-
Add command to list (MODE #channel +b).
-
Add /ban command [bug 180574].
-
Add /unban command (how would this work?) [bug 180574].
-
What about exclusion lists? (mode +e)
-
When scrolled down, need indicator that more text has arrived. Options:
-
Blink/colour the bottom border of view area.
-
Arrow or "more" text in bottom right (left?) of view.
-
Style the down arrow of the scrollbar (cool, but might not play nice w/ native theming or native scrollbars - Mac).
-
Somehow make long-line splitting, and embeded newline splitting, be reflected in the UI locally.
-
Could make .messageTo return an array of the lines actually sent? (Charset?)
-
Could add IRCServer method to "pre-process" lines, which does the splitting, returning the "safe to send" version which is then displayed and sent.
-
See CIRCServer.prototype.messageTo
-
Add some way to edit list of items used as input tooltips. Each item needs just:
-
A RegExp, and
-
An item ID (for the <tooltip/>).
DCC Chat and Send Todo
-
Failed DCC file connections might leave file open.
-
"Connected to" shows remote IP, but local port is initiating connection.
-
/dcc-chat help text should include the word "offer" to make it clear you will be the server half.
-
Deleting a DCC Chat view should do /dcc-close automatically.
-
Shows (null) for remote IP when you are initiator.
-
Some view to show all DCC statuses. /dcc-list-like.
User Interface Todo
-
Window Manager
-
Drag-drop entire views to arrange view, using horizontal and vertical splitting, as well as stacked (tabbed).
-
Drag-drop tabs to re-order sub-views.
-
Views can be floated, and docked to new windows.
-
Multiple windows.
-
Not all windows will get the full complement of UI, there will be two kinds:
-
Full windows (File > New ChatZilla Window).
-
Floated view windows.
-
Views can be docked on top of each other (tabbed) and next to each other (splitters).
-
Should a view that has just been "floated" get a full window, or just itself?
-
Current plan is to have just the view in a floating window. What about docking other views to it?
-
Need to re-write ChatZilla core to be a XPCOM service and maybe have its own hidden window (I'd prefer not, but I'm not sure if we can manager stuff properly without).
-
Manage networks dialog XUL prototyped
-
Similar layout to channel list dialog.
-
Requires XML network list to be done.
-
Manage plugins dialog
-
My idea would be to list know and loaded plugins, showing similar information to /list-plugins, but we could also include ones that failed to load on start. Options would include loading, unloading, disable/enabling scripts, and changing which loaded at startup.
-
SamHasler suggested we also let users edit scripts (even write new ones?) using the system default text editor. Might be tricky to do on all OSes, but would be useful to fix scripts that didn't load because of an error.
-
Other ideas?
-
[DONE] Add a "Re-join #channel" menu to menus that normally have "Leave #channel" when you part using noDelete.
Prefeferences Window Todo
-
[DONE?] Make array types check for changes properly.
-
MAYBE make prefs window get change notifications and update. Not easy.
-
Pref Editors (v2 of the window).
-
Drop-downs.
-
Browse buttons/items.
-
Custom dialogs.
-
Make groupboxes get flexed to the height.
Website and FAQ
-
Link to the FAQ, and particularily #connect, from /help.
-
Explain what a motif really is! (#make-motif)
ChatZilla 1.0
-
Access to all views, even hidden ones.
-
/views with view-list plugin.
-
Window Manager, see the user interface todo.
-
[Hmm. czplugins.mozdev.org - needs work] Make script repository on hacksrus.com.
-
How about a usable install mechanism?
If we include something like the Plugin Installer stuff, we could have links like x-cz:install/escaped-url (perhaps even resolving URLs relative to the referrer? What about when it is passed to CZ as an external app?) which trigger an install prompt in ChatZilla. We would need to be ultra-careful with anything like this, because of the inherant security risks, though.
-
XML network/server list: http://twpol.dyndns.org/temp/cz_nets.xml. (See also the item above.)
Powered by the Content Parser System, copyright 2002 - 2007 James G. Ross.
|