Revision 798634

Go back to digest for 20th April 2008

Other in Networking Tools

Eike Hein committed changes in /branches/extragear/kde3/network/konversation:

Merge the rewrite of connection management and instanciation, along with related code. This brings about a large set of changes and improvements, so get a beverage and make yourself comfortable:

- Improved behavior with regard to reusing existing connections in connection attempts that provide an initial channel to join, such as command line arguments, the DCOP interface, the bookmark system or irc:// links). Previously, the application would have inconsistently either reused an existing or created a new connection.

- Better dialog messages in the interactive variant of the decision to either reuse or create a new connection (from the Server List dialog and the Quick
connect dialog).
- Improved and more consistent display of connection names (i.e. network or server host name) throughout the application.
- Much improved irc:// URL support for connection intanciation, with support added for IPv6 host names and many of the features proposed by the Mirashi
specification.
- Eliminated redundant irc:// URL parsing codepaths in favor of a single one.
- Added support for irc:// URLs to the chat views.
- Removed "konversationircprotocolhandler" shell script. The Konversation executable now understands irc:// URLs directly.
- Initiating connections from command line arguments and options now works also when the application is already running.
- Fixed a bug that would cause a connection initiated from command line options not to get past the identity validation stage when the configuration file was unitialized and empty.
- The server list dialog will now always be closed when starting Konversation with command line arguments to initiate a connection, consistent with the configuration-based auto-connect behavior
- Providing a channel in the creation of a new connection (i.e. via command line arguments, the DCOP interface, the Quick Connect dialog, the bookmark system or irc:// links) now consistently pre-empts the stored auto-join channel list if the target of the connection is a network or the hostname is found to be part of a configured network. Previously, tis would only work for Quick Connect and the bookmark system (which caused the infamous Sabayon user flood in #kde due to their "Get Support" desktop link connecting to Freenode, which in an unconfigured Konversation has #kde in its auto-join list)...
- Connections now have globally unique IDs.
- The DCOP interface now understands connection IDs in addition to host names.
- The scripting systems now uses globally unique connection IDs rather than server host names to refer to connections, fixing a bug where scripted responses were being handed to all connections sharing a hostname (which was actually intentional in the absence of connection IDs, but undesirable for users).

- Ported the DCC code away from relying on server group IDs to refer to connections, made it use connection IDs instead. Fixes potential bugs with multiple concurrent connections to the same network.
- Improved iteration behavior over a network's server list on connection losses.
- The "Reconnect" action now works also when Konversation doesn't consider the connection to be in a disconnected state.
- Improved the server status view messages related to reconnection attempts.
- Improved the naming of preferences related to automatic reconnection attempts to be less confusing.
- Made it possible to set the number of automatic reconnection attempts to unlimited.
- Provided better default values to the preferences related to automatic reconnection attempts.
- Consistently apply the "Reconnect delay" setting (previously confusingly named "Reconnect timeout"), which wasn't done before.
- Fixed a bug that could cause the connection process to claim that a DNS lookup was successful when it actually wasn't.
- Fixed opening bookmarks with spaces in the target address name (which may be a network name, and networks may have spaces in their name).
- Properly update the state of the "Add/Remove to Watched Nicknames" nickname context menu actions when the connection isn't to a config-backed network, in which case there's no way to store and make use of those list entries.
- Fixed a crash when quitting the application with a resident connection that disconnected due to an SSL error.
- Fixed crashes in the DCOP interface if no connection was present.
- Lay the groundwork for the upcoming auto-away merge.
- Massive code cleanups.

This was also the biggest outstanding to-do item for the upcoming 1.1 release.

File Changes

Added 4 files
  • /branches/extragear/kde3/network/konversation/src
  •   /connectionmanager.cpp
  •   /connectionmanager.h
  •   /connectionsettings.cpp
  •   /connectionsettings.h
Deleted 3 files
  • /branches/extragear/kde3/network/konversation/src
  •   /konversationircprotocolhandler
  •   /konviiphelper.cpp
  •   /konviiphelper.h
Modified 70 files
  • /branches/extragear/kde3/network/konversation
  •   /ChangeLog
  •   /src/channel.cpp
  •   /src/channel.h
  •   /src/channellistpanel.cpp
  •   /src/chatwindow.cpp
  •   /src/chatwindow.h
  •   /src/commit.h
  •   /src/common.cpp
  •   /src/common.h
  •   /src/connectionbehavior_preferences.ui
  •   /src/dcctransfer.cpp
  •   /src/dcctransfer.h
  •   /src/dcctransferdetailedinfopanel.cpp
  •   /src/dcctransfermanager.cpp
  •   /src/dcctransfermanager.h
  •   /src/dcctransferpanel.cpp
  •   /src/dcctransferrecv.cpp
  •   /src/dcctransfersend.cpp
  •   /src/inputfilter.cpp
  •   /src/inputfilter.h
  •   /src/ircqueue.cpp
  •   /src/ircview.cpp
  •   /src/ircview.h
  •   /src/joinchanneldialog.cpp
  •   /src/konvdcop.cpp
  •   /src/konvdcop.h
  •   /src/konversationapplication.cpp
  •   /src/konversationapplication.h
  •   /src/konversationmainwindow.cpp
  •   /src/konversationmainwindow.h
  •   /src/konvibookmarkhandler.cpp
  •   /src/konvibookmarkhandler.h
  •   /src/konviface.h
  •   /src/konvirc.protocol
  •   /src/konvirc6.protocol
  •   /src/main.cpp
  •   /src/Makefile.am
  •   /src/nickinfo.cpp
  •   /src/nicklistview.cpp
  •   /src/nicksonline.cpp
  •   /src/notificationhandler.cpp
  •   /src/outputfilter.cpp
  •   /src/outputfilter.h
  •   /src/query.cpp
  •   /src/query.h
  •   /src/quickconnectdialog.cpp
  •   /src/quickconnectdialog.h
  •   /src/scriptlauncher.cpp
  •   /src/server.cpp
  •   /src/server.h
  •   /src/serverdialog.cpp
  •   /src/servergroupdialog.cpp
  •   /src/servergroupsettings.cpp
  •   /src/servergroupsettings.h
  •   /src/serverison.cpp
  •   /src/serverlistdialog.cpp
  •   /src/serverlistdialog.h
  •   /src/serversettings.cpp
  •   /src/serversettings.h
  •   /src/sslsocket.cpp
  •   /src/statuspanel.cpp
  •   /src/statuspanel.h
  •   /src/topiclabel.cpp
  •   /src/topiclabel.h
  •   /src/viewcontainer.cpp
  •   /src/viewcontainer.h
  •   /src/warnings_preferences.cpp
  •   /src/config/konversation.kcfg
  •   /src/config/preferences.cpp
  •   /src/config/preferences.h
77 files changed in total