Feature #428

avatar

Multi identity support

Added by Clément Bourgeois 5256 days ago. Updated 3968 days ago.

Status:Closed Start:08/01/2010
Priority:High Due date:
Assigned to:avatarMirco Bauer % Done:

100%

Category:Engine
Target version:0.11
Complexity:

Medium

Votes: 10 (View)

Description

Currently, Smuxi has only the ability to handle one identity per connection. If you want to be connected to IRC with different ident/username/nick(s) you have to create one user per identity in the core then start one frontend per identity.

It would be better if Smuxi was able to handle multiple identities natively.


Related issues

duplicated by Smuxi - Feature #728 Option to define custom nicknames under IRC server configuration Closed 06/27/2012

Associated revisions

Revision 3a07213acabf7b0de23b9d1851781c82efb56537
Added by Mirco Bauer 4780 days ago

[Engine/Engine-*] Refactored IProtocolManager.Connect() to use ServerModel

Cleanly pass all connection parameters to the protocol manager using the
ServerModel class. This way it is no longer needed to add and save a server
before making use of SSL options.

Also it will make it easier to add multi-identity support (references: #428),
different encoding per server (references: #27),
client certificates (references: #96) and SASL support (references: #98).

Revision 823c66815eef41600c4683aff056cf78d0b83e34
Added by Mirco Bauer 3968 days ago

Engine(-IRC|-XMPP), Frontend-GNOME: implemented multi identity support (closes: #428)

Revision 967ab9a8aa38795a49670708cb0d5664c9fc3c9d
Added by Mirco Bauer 3631 days ago

Engine: read Nickname field when de-serializing ServerModels

This broke multi identity support by always using the global nickname when
ran on a smuxi-server. (refs: #428)

History

Updated by Jimmie E 5172 days ago

avatar
  • Assigned to changed from Mirco Bauer to Jimmie E
  • Complexity set to Medium

A complicated solution is to be able to create more identities, and then let each server have a default identity to use. When there only is 1 the option could be hidden in the server-configuration (or link to create a new). Quick connect could then also give the option to temporarily connect with a different identity.

Or it may just be enough to just have a "Nicknames" property on every server that, if filled in, overrides the default/main nicknames+realname for that server.

Is there more to a identity than nickname and realname? (username/password already exists)

Updated by Mirco Bauer 5147 days ago

avatar

Jimmie E wrote:

A complicated solution is to be able to create more identities, and then let each server have a default identity to use. When there only is 1 the option could be hidden in the server-configuration (or link to create a new). Quick connect could then also give the option to temporarily connect with a different identity.

Or it may just be enough to just have a "Nicknames" property on every server that, if filled in, overrides the default/main nicknames+realname for that server.

Is there more to a identity than nickname and realname? (username/password already exists)

I would say overriding the nick and realname in the server property is sufficient to archive multi identity support. A new question in this matter is when and how should the currently used nick shown (when the main identity gets overridden)?

Updated by Mirco Bauer 4787 days ago

avatar

Thanks for submitting that patch but it needs 3 things need to be done before I can merge it:
1) rebase on master
2) apply Smuxi's Coding Standards (no extra newline for opening curly brackets for if ()s for example)
3) discard the IProtocolManager changes and instead fetch the realname and nicknames values from the config, see ApplyConfig(): http://git.qnetp.net/?p=smuxi.git;a=blob;f=src/Engine-IRC/Protocols/Irc/IrcProtocolManager.cs;h=0efe2e100b0ba4fb85ca9c37cfbc74b81557f9d5;hb=HEAD#l2098

The ServerModel needs to be extended then of course, but that is easy to do

Updated by Mirco Bauer 4787 days ago

avatar
  • Assigned to changed from Jimmie E to Bianca Mix

Bianca said on IRC she wants to look into this

Updated by Mirco Bauer 4787 days ago

avatar

The branch of Pavlos can be found on gitorious and should be used as base branch: https://gitorious.org/hacking-smuxi/hacking-smuxi/commits/feature/override_identity_per_server

Updated by Mirco Bauer 4738 days ago

avatar
  • Assigned to deleted (Bianca Mix)

This feature need some bigger refactoring in the frontend as it needs to deal with protocol specific settings like realname and nicks for IRC

Updated by Mirco Bauer 4724 days ago

avatar
  • Target version set to 0.8.10

Updated by Mirco Bauer 4591 days ago

avatar
  • Target version changed from 0.8.10 to 0.9

Updated by Oliver Schneider 4295 days ago

avatar

isn't this fixed by servers being identified by ids instead of hostnames?

Updated by Mirco Bauer 4220 days ago

avatar

Oliver Schneider wrote:

isn't this fixed by servers being identified by ids instead of hostnames?

Nope, this is about having different nickname/realname per server. It needs new IRC-specific settings UI.

Updated by Mirco Bauer 4143 days ago

avatar
  • Target version changed from 0.9 to 0.10

Updated by Mirco Bauer 4034 days ago

avatar
  • Target version changed from 0.10 to TBD

Updated by Mirco Bauer 4005 days ago

avatar
  • Assigned to set to Mirco Bauer
  • Target version changed from TBD to 0.11

Updated by Mirco Bauer 4005 days ago

avatar
  • Priority changed from Normal to High

Updated by Mirco Bauer 3968 days ago

avatar

Alternative is to abuse the JSON serializer and deserializer here

Updated by Mirco Bauer 3968 days ago

avatar
  • Status changed from New to Closed
  • % Done changed from 0 to 100

Also available in: Atom PDF