* Revision 0.9.44 fixes some more charset related problems. The user description is now properly decoded for /query views, and the channel name for mode messages.
* Revision 0.9.43 fixes the ``unknown CTCP'' handler, so that it displays the correct diagnostic, instead of ``my_unkctcpMsg''.
* Revision 0.9.42 fixes charset problems with part reasons, and another charset problem with kick messages. It also deals with spaces in nicknames and usernames by replacing them with underscores, instead of just failing to log in. This revision also makes it so that you no longer need to restart ChatZilla after changing your description or username.
* Revision 0.9.41 adds an ``autoperform'' pref to networks that can be used to execute arbitrary ChatZilla commands when you connect to a network. These autoperform commands will be executed before any of your ``Open At Startup'' channels are processed. This release also makes ChatZilla recognize the optional ``reason'' parameter for PART messages. Many IRC servers do not yet support PART reasons, so don't be surprised if you don't see any.
193246 /list doesn't work on RFC2812 compliant IRC servers
114744 File->Close vs. View-Close
80125 Logging facility in Chatzilla.
198538 Chat views tab titles are lowcase
200188 PgDn/PgUp scroll left and right Chatzilla panes
199201 sound settings blocks stalked messages if WAV sound file ...
114104 messaging from private chat tab does not show the addressee
201324 Userlist not always kept sorted as requested
202644 Column sort behavior should parallel mailnews
184228 Spelling error in irc.js: "function net_conenct()".
206915 /join reports joining new channel in current window
209524 stalk word list cannot have length one
198823 Should be able to set Default Character Coding in Prefere...
200097 lowcase ``<nickname> has changed the topic to...''
205792 important text notification does not properly differentia...
86526 chatzilla stores default prefs in prefs.js
Thanks to ssieb, kazhik ans Silver for the patches.
Changes between 0.8.26 and 0.8.31 are:
* bug 119746: it is now possible to change character sets per channel.
* bug 206066: auto-connect networks now open in correct order
* bug 193246: fixed /list problem on some servers
160295 chatzilla doesn't display nicknames in userlist when the
194184 nickname change doesn't affect screenname
194287 ChatZilla alters taken nickname only at the very first at
169804 Blank text area + Crtl+Enter in multi-text mode shows you
162251 Chatzilla doesnt start maximized
178313 /names command fails to show output for other channels
196265 message type([info],[error]) auto wrapped after localizat
197024 Multi/Single-line input mode ought to be configurable in
198843 Spelling mistake in Prefs > Chatzilla > Stalking
fixes...
bug 190568, ssieb upgraded networking code that was making incorrect assumptions.
bug 191910, added a munger rule to turn `` and '' into unicode left/right double
quotes.
bug 124638, Neil's fix to keep chatzilla from stealing focus when joining channels.
bug 191500, Items in chatzilla's pref tree were hardcoded into the .xul file.
bug 194334, Adds accelerator keys to some pref panels, in places where they were missing.
Allows formatting to be nested, to a certain extent. * http://foo * will
linkify http://foo AND bold it.
Lets tab characters pass through the control-code munger.
Added auto-reconnect, and a pref to control it.
Fixed URL munging so that it only creates links for valid schemes, and doesn't
include trailing punctuation in the link.
No longer strips leading and trailing whitespace from submitted lines.
add James Ross' pref panel, bug 23265
rework pref code to be table driven
add pref observer to watch for prefs changed from outside chatzilla
make the keyboard shortcut for ``Leave Channel'' and ``Close View'' Accel+W, bug 122782
add UI for the multiline input mode, bug 149588
add tab completion for channel names, bug 131633
fix bug where networks added from a startup script didn't show in the list displayed in the *client* tab at startup.
adds key= and pass= parameters to irc: urls, bug 187699
fix ``secret'' channel mode, bug 184244
bug 165901, "Clicking on network/channel name has no effect"
bug 165875, "Support CTCP CLIENTINFO in Chatzilla"
bug 165868, "Support CTCP TIME in Chatzilla"
bug 137892, "Pref for new tab threshold is ignored"
fix strict warning in static.js
bug 131498 Can't join a channel with Japanese name
bug 133472 slow switching between channels
patches from samuel@sieb.net and naitoh@be-in.org
samuel's changes switch from DOM manipulation to a <xul:deck>, to speed up the time it takes to switch tabs.
naitoh's changes make it possible to join channels with encoded names
change by me to load external scripts before processing startup urls, so that user-defiend networks function properly in irc: urls.
nsIComponentRegistrar.
2. Converts callers of nsComponentManager::AutoRegister to use
nsIComponentRegistrar's autoRegistrar method.
3. Add nsIComponentRegistrar implmentation to nsComponentManagerImpl.
4. Rearrange nsComponentManager.cpp so that related methods are in the same
place.
5. Added a C-style function NS_GetComponentRegistrar so that getting the
registrar is easier in some places.
6. Added a nsISimpleEnumerator interface on PLDHashTableEnumeratorImpl. in
this way, the same base class can support both old style and new style
enumerations.
7. Fixed a nasty bug where unregistring factories will leave the contract id
hash with a dangling pointer. Now, when unregister is called we search the
contract id hash for entries which have the given doomned cid and remove them.
Bug 115853. r=dp@netscape.com, sr=rpotts@netscape.com
a) create a new nsIComponentManager with only four functions on it:
CreateInstance CreateInstanceByContractID GetClassInfo GetClassInfoByContractID.
b) rename the old nsIComponentManager to nsIComponentManagerObsolete.
c) fixes callers which use to access the nsIComponentManager for component
registration functionality. These callers will temporary use the
nsIComponentManagerObsolete interface.
d) Create a new API NS_GetComponentManager() which mirrors the
NS_GetServiceManager()
e) Perserves the old NS_GetGlobalComponentManager(). Note the cast usage.
r/sr = rpotts@netscape.comalecf@netscape.combrendan@mozilla.org
r=samuel@sieb.net, rs=brendan@mozilla.org, a=asa@mozilla.org
- changes to work with new socket interface.
- correct isOp detection in setTopic
- remove checks for undefined exceptions
- route data-available immediatley. inserting a data-available event to be routed later caused disconnect events to be recieved out of order.
r=samuel@sieb.net, rs=brendan@mozilla.org, a=asa@mozilla.org
- factor chatzilla specific code out of this file. Callbacks into chatzilla specific code are now used, making this file more generic.
- according to darinf (the current necko guy), using openOutputStream with asyncRead is a bad thing. Most of the changes in this file involve migrating from usage of openOutputStream to asyncWrite.
- Changes also include fixing the function declaration syntax to match the rest of the code (two lines, named functions.)
Revising nsIChannel to allow for overlapped i/o. This consists of three parts:
1. Factoring nsIChannel into a protocol specific part, the nsIChannel, and a socket specific, the nsITransport.
2. Derive the nsIChannel from a nsIRequest.
2. Changes the notification system from necko and the URILoader to pass the nsIRequest interface instead of nsIChannel interface.
This goal stems from wanting to be able to have active AsyncRead and AsyncWrite operations on nsSocketTransport.
This is desired because it would greatly simplify the task of maintaining persistent/reusable socket connections
for FTP, HTTP, and Imap (and potentially other protocols). The problem with the existing nsIChannel interface is
that it does not allow one to selectively suspend just one of the read or write operations while keeping the other active.
r=darin@netscape.comsr=rpotts@netscape.com
1. Factoring nsIChannel into a protocol specific part, the nsIChannel, and a socket specific, the nsITransport.
2. Derive the nsIChannel from a nsIRequest.
2. Changes the notification system from necko and the URILoader to pass the nsIRequest interface instead of nsIChannel interface.
This goal stems from wanting to be able to have active AsyncRead and AsyncWrite operations on nsSocketTransport.
This is desired because it would greatly simplify the task of maintaining persistent/reusable socket connections
for FTP, HTTP, and Imap (and potentially other protocols). The problem with the existing nsIChannel interface is
that it does not allow one to selectively suspend just one of the read or write operations while keeping the other active.
The full details of the change on written up in the netlib newsgroup.
r=darin@netscape.comsr=rpotts@netscape.com
interfaces. Since the C++ generated code upper-cases the method names, this
affects no C++ code, but only a few javascript methods.
Bug 46771.
r=waterson.
I am in today and tomorrow.
a=brendan
* chatzilla-service.js
added components required for irc:// urls.
* command-manager.js
sort names before returning
* connection-xpcom.js
added support for async reads.
* events.js
Added "yield" event type to break out of event processing.
* irc-debug.js
add MPL
show data for "senddata" type events.
* irc.js
add password param for server.login() method.
add key param for channel.join() method.
refactoring to use the connection's async read method if it's there
(it's not in connection-rhino.js yet.)
* utils.js
add hyphenateWord function.
* chatzilla.xul
add windowtype attribute.
apply exv@randomc.com 's userlist context menu patch.
* commands.js
apply cbegle@geocast.com 's /stalk and /unstalk patch.
update join, server, and attach commands to include new params.
alias leave part.
removed bogus comments.
* handlers.js
apply cbegle@geocast.com 's /stalk and /unstalk patch.
update join, server, and attach commands to include new params.
check for pending irc urls after connection is made.
* static.js
apply cbegle@geocast.com 's /stalk and /unstalk patch.
apply exv@randomc.com 's userlist context menu patch.
add long word rule to munger.
implement parseIRCURL() and gotoIRCURL() function.
implement doURLTest() to test the other two.
1) Passing the proxy hostname and port to the underlying socket
and changing all users that appeared in lxr.
2) (psm-glue) registering with the cache manager to allow local loopback so that
psm will work with a proxy.
3) (psm-glue) Storing proxy information in psmSocketInfo.
most reviewed by gagan@netscape.com.
* irc.js
add ctcpTo(), ctcp() methods
forward unknown ctcp codes to onUnknownCTCP handler
* utils.js
add abbreviateWord function
* commands.js
add /ctcp command
* handler.js
make |this| refer to client.currentObject in /eval
implement /ctcp command
chop long hostnames onJoin
add onUnknownCTCP handler
redraw fixes in on366, onPart
* rdf.js
add getTreeRoot method
* static.js
comment fixes
add max word/nick display vars, implementations
updateTitle changes, show correct title based on client.currentObject
fix delete view issue
chop long nicks before displaying
* chatzilla.xul
add tasksoverlay
convert starusbar from html:table to box
html:input -> textfield
* handlers.js
prompt for a new nickname if default was not changed
* readprefs.js
read network pref
* static.js
titlebutton -> menubutton
* listbox.js
convert html thingies to xul thingies. Quite broken, need to change quicklist to a tree
* chatzilla.css
deleted much, more skinnable now
Various changes to make it Right
* events.js
parameterize hook functions to allow arbitrary hook arrays to be used.
search hooks in reverse order of add
* irc.js
check to see if server is connected before trying to disconnect on net.quit()
watch for exception on connect()
move auto-join-channel into on001 handler.
watch for java.lang.ThreadDeath if running under rhino.
fix onNick for the undernet network
* utils.js
define dd under rhino.
allow functions as patterns in matchObject().
* ircbot.js
define gc() for rhino.
add initPersonality hook.
add support for script line continuation with "\"
* chatzilla.xul
include globalOverlay.xul (why?)
comment out style change menu.
* handlers.js
read prefs before initialization.
add updateTitle() calls where appropriate.
* readprefs.js
Add comment to explain valid prefs.
add style prefs.
* static.js
Fix matchMyNick to match if nick is anywhere in the message (bug 24860.)
Hook up user styles in output window.
add updateTitle(), (bug 24671.)
* chatzilla.css
remove window size designation (resize issues.)
* output-default.css
remove font size attributes.
swap mark=odd and directed-to-me declaration order, to make directed-to-me take
precedence.
* output-marble.css
tab->space changes
* Makefile.in, makefile.win
Install files under chrome directory instead of bin. smfr will adjust mac next.
* connection-xpcom.js, utils.js, readprefs.js
Remove getPriv call (not needed for chrome:// url.)
* irc/xul/content/*, irc/xul/skin/*
Copied test3* files from test directory into new structure. Renamed test3* to chatzilla*.
* Makefile.in, makefile.win
Install new files: munger.js, test3-readprefs.js, and face-*.gif (9 files)
* irc.js
Update regexps to 1.5 syntax.
* test3-commands.js
Wire whois command.
* test3-handlers.js
readPrefs() on startup.
Show checkmark on debug message menu.
Clear inputbox after a /command.
Send eval output to currentobject, instead of *client*
Fix for /join #channelname joining ##channelname.
Whois command implementation.
Factor _addToUserList out of onJoin so it can be used from onNick as well.
Whois reply display code.
* test3-output-*.css
New styles for munger tags.
Assorted style changes.
* test3-static.js
Change linuxnet->moznet.
Munger hookup.
newInlineText creates spans instead of anchors.
notifyActivity blinks indicator if it is already lit.
s/parity/mark
* test3.css
Assorted ui style changes: tbuttons in groove, color changes, etc.
* test3.xul
Include new js file.
Put statusbar in a toolbox.
* xul/tests/test3-output-loud.css
Added css for "loud" style.
* xul/tests/blue_rock.gif
Added pic for new default style, from Eterm background collection.
* makefile.win, Makefile.in
Add blue_rock.gif to install files.
* js/lib/irc.js
Strip \r characters from input.
* xul/tests/index.html
Updated content.
* xul/tests/test3-handlers.js
Create userlist object onJoin if it isnt already there.
* xul/tests/test3-output-default.css
New default style.
* xul/tests/test3-static.js
Added irc.freei.net server to top of EFNet network. This server does not
require the ident service, which is blocked by the NS firewall.
* xul/tests/test3.xul
Added "loud" style to menu (old default style.)
Install new css files and alternate images.
* README
Removed some rot.
* events.js
Add ability to disable a hook without uninstalling it.
Changed return value of addHook to the new hook object.
Added getHook(name) method.
Removed unused variable from routeEvent.
* http.js, irc-debug.js
Fixed spelling error.
* irc.js
network.onConnect no longer forwards the event to the server.
Added getModeStr() method to the IRCChanMode object to retrieve the entire mode string for a channel.
* utils.js
Added Clone() constructor.
Fixed problem in stringTrim.
Added getStackTrace() ... Whoopee!! ...
* bsconnection.c, bsutil.c
Stop warnings on Mac.
* index.html
Change links to buttons to avoid troubles with other methods (href="javascript:f()" | (href="javascript:(void 0)" | href="#") onclick="f()")
* test3-commands.js
Wiring for /testdisplay and /msg commands.
* test3-handlers.js
Added debug message toggle menuitem handler.
Added style change menu item handler.
Added hack to work around bad KeyUp events.
Factored out some logic from onInputCompleteLine into getObjectDetails (in test3-static.js)
Added /testdisplay and /msg implementation.
Fixed error message for unknown network passed to /network.
Added topicDate to output of /topic command.
updateNetwork and updateChannel calls sprinkled throughout to keep the statusbar current.
Added topic change handler.
* test3-static.js
Post new messages top to bottom!!
Disable the debug hook by default.
Added getObjectDetails (factored out of test3-handlers.js)
Added setOutputStyle to dynamically change the .cs file used for the output window.
Implemented updateNetwork and updateChannel.
Massive changes to .display methods make output window now display using a table, instead of spans (much faster, btw.)
Fixed addHistory to trim the correct side of the output, regardless of print direction.
* test3.css
Factored out output window styles.
* test3.xul
Added menu options for debug message toggle and style changes.
Added statusbar (table.)
* test3-output-default.css, test3-output-marble.css
Added output window stylesheets.
Added start page for the various test clients.
* Makefile.in, makefile.win
Changes to install index.html.
* irc.js
Fix to stop e.meat from getting filled with the <params> when there is no
<trailing> token in the message (raw data events)
Forward server ping and pong events to the parent network.
* utils.js
Verify XPCOM is present for functions that require it.
Modified arrayInsertAt and arrayRemoveAt to use Array.prototype.splice()
* test3-handlers.js
Add various verifications to commands, report on precondition problems
Added /msg command.
* test3.css
Show message types by default, suppress only specific types.
Changes to install command related files.
connection-xpcom.js:
style changes; fix to verify the socket is open before send/recieve,
* dcc.js, http.js, events.js:
style changes
* irc-debug.js:
changes to display network events
* irc.js:
style changes, userIsMe() convenience function added.
Route events to parent network if there is no local landing spot.
add usersAffected property to onChanMode events.
* utils.js:
add jsenv.HAS_DOCUMENT
* listbox.js
add MPL (duh)
add prepend and insert methods
* test3-handlers.js
Add MPL
Use new command stuff to provide online help and error reporting.
Hook some basic server messages to output window.
Alphabetize nicks (order breaks when someone /nicks)
Added nick property to some display() lines so they can be CSS'd by user.
Listen for onChanMode event.
Modify client.viewsArray to allow for multiple view with the same name.
* test3-static.js
Add MPL
Show navigator.userAgent in VERSION reply
modify setCurrentObject to not care if there isnt a toolbutton associated
modify getTBForObject to work with multiple view w/ same name
test3.xul
Add MPL
Include command related scripts
Makefile updates to install test3 on unix/win (win not tested)
paths fixed in test3.xul
help message added to test3-static.js
initialize the client object before the help message is displayed in test3-handlers.js
fix to keys() in utils.js to prevent trailing comma
formatting changes; added |properNick| to CIRCUser to hold nickname with nIcKCaPs preserved.
utils.js:
optimized silly code in matchObject; fixed no-op renameProperty (it used to delete the prop)