Bug 150377 - Bookmark of channels in different servers could not work
Summary: Bookmark of channels in different servers could not work
Status: RESOLVED FIXED
Alias: None
Product: konversation
Classification: Applications
Component: general (show other bugs)
Version: 1.0.1
Platform: Debian testing Linux
: NOR normal
Target Milestone: ---
Assignee: Konversation Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-10-01 16:04 UTC by Marco Menardi
Modified: 2012-04-02 11:10 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Marco Menardi 2007-10-01 16:04:26 UTC
Version:           1.0.1 (using KDE KDE 3.5.7)
Installed from:    Debian testing/unstable Packages
OS:                Linux

(premise: I have the italian version of konversation, so forgive me if I write what I think should / could be the english equivalent of the menu items I use to reproduce the bug.)
I have 2 nets in the server list, one is "freenode" and the other was "Mozilla / Firefox".
Then I noticed that bookmarking a channel in the second net produces something like:
irc://mozilla%20/ Firefox/#thunderbird
and when I select it from the bookmark list, seems that is not parsed correctly, since:
a) tries to connect to the server even if I'm already connected
b) I think it mis-parses the server so can't connect at all
Renaming the server net simply "mozilla" and adjusting the bookmars:
irc://mozilla/#thunderbird
did the trick.
So you can either do:
a) don't let the user enter invalid labels for server net
b) improve the parser
Comment 1 Eike Hein 2008-04-18 20:05:45 UTC
SVN commit 798634 by hein:

Merge the rewrite of connection management and instanciation, along with re-
lated 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 argu-
  ments, the DCOP interface, the bookmark system or irc:// links). Previously,
  the application would have inconsistently either reused an existing or crea-
  ted a new connection.
CCBUG:150377
- 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 exe-
  cutable 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, this 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 res-
  ponses were being handed to all connections sharing a hostname (which was
  actually intentional in the absence of connection IDs, but undesirable for
  users).
BUG:137843
BUG:139861
- Ported the DCC code away from relying on server group IDs to refer to connec-
  tions, 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 un-
  limited.
- Provided better default values to the preferences related to automatic reconn-
  ection 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 look-
  up 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.



 M  +65 -0     ChangeLog  
 M  +2 -3      src/Makefile.am  
 M  +28 -20    src/channel.cpp  
 M  +2 -2      src/channel.h  
 M  +1 -1      src/channellistpanel.cpp  
 M  +3 -9      src/chatwindow.cpp  
 M  +1 -3      src/chatwindow.h  
 M  +1 -1      src/commit.h  
 M  +3 -3      src/common.cpp  
 M  +18 -2     src/common.h  
 M  +3 -3      src/config/konversation.kcfg  
 M  +14 -19    src/config/preferences.cpp  
 M  +1 -1      src/config/preferences.h  
 M  +17 -6     src/connectionbehavior_preferences.ui  
 A             src/connectionmanager.cpp   [License: GPL (v2+)]
 A             src/connectionmanager.h   [License: GPL (v2+)]
 A             src/connectionsettings.cpp   [License: GPL (v2+)]
 A             src/connectionsettings.h   [License: GPL (v2+)]
 M  +7 -7      src/dcctransfer.cpp  
 M  +3 -3      src/dcctransfer.h  
 M  +4 -3      src/dcctransferdetailedinfopanel.cpp  
 M  +7 -7      src/dcctransfermanager.cpp  
 M  +3 -3      src/dcctransfermanager.h  
 M  +1 -1      src/dcctransferpanel.cpp  
 M  +4 -3      src/dcctransferrecv.cpp  
 M  +4 -3      src/dcctransfersend.cpp  
 M  +3 -6      src/inputfilter.cpp  
 M  +1 -1      src/inputfilter.h  
 M  +2 -2      src/ircqueue.cpp  
 M  +12 -6     src/ircview.cpp  
 M  +1 -1      src/ircview.h  
 M  +27 -23    src/joinchanneldialog.cpp  
 M  +36 -22    src/konvdcop.cpp  
 M  +13 -4     src/konvdcop.h  
 M  +56 -366   src/konversationapplication.cpp  
 M  +13 -44    src/konversationapplication.h  
 D             src/konversationircprotocolhandler  
 M  +23 -47    src/konversationmainwindow.cpp  
 M  +2 -5      src/konversationmainwindow.h  
 M  +4 -2      src/konvibookmarkhandler.cpp  
 M  +0 -2      src/konvibookmarkhandler.h  
 M  +1 -1      src/konviface.h  
 D             src/konviiphelper.cpp  
 D             src/konviiphelper.h  
 M  +1 -1      src/konvirc.protocol  
 M  +1 -1      src/konvirc6.protocol  
 M  +3 -11     src/main.cpp  
 M  +6 -6      src/nickinfo.cpp  
 M  +5 -2      src/nicklistview.cpp  
 M  +31 -32    src/nicksonline.cpp  
 M  +1 -1      src/notificationhandler.cpp  
 M  +18 -51    src/outputfilter.cpp  
 M  +11 -3     src/outputfilter.h  
 M  +10 -5     src/query.cpp  
 M  +1 -1      src/query.h  
 M  +9 -7      src/quickconnectdialog.cpp  
 M  +9 -6      src/quickconnectdialog.h  
 M  +4 -4      src/scriptlauncher.cpp  
 M  +451 -718  src/server.cpp  
 M  +80 -124   src/server.h  
 M  +2 -2      src/serverdialog.cpp  
 M  +6 -8      src/servergroupdialog.cpp  
 M  +2 -31     src/servergroupsettings.cpp  
 M  +3 -11     src/servergroupsettings.h  
 M  +2 -2      src/serverison.cpp  
 M  +14 -9     src/serverlistdialog.cpp  
 M  +5 -4      src/serverlistdialog.h  
 M  +14 -9     src/serversettings.cpp  
 M  +7 -6      src/serversettings.h  
 M  +4 -1      src/sslsocket.cpp  
 M  +17 -25    src/statuspanel.cpp  
 M  +2 -2      src/statuspanel.h  
 M  +9 -2      src/topiclabel.cpp  
 M  +1 -1      src/topiclabel.h  
 M  +30 -94    src/viewcontainer.cpp  
 M  +2 -4      src/viewcontainer.h  
 M  +4 -2      src/warnings_preferences.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=798634
Comment 2 Eike Hein 2012-04-02 11:10:15 UTC
The URLs-with-spaces problem was fixed a while ago.