Feature #428
Multi identity support
Status: | Closed | Start: | 08/01/2010 | |
Priority: | High | Due date: | ||
Assigned to: | Mirco 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
[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
Engine(-IRC|-XMPP), Frontend-GNOME: implemented multi identity support (closes: #428)
Revision 967ab9a8aa38795a49670708cb0d5664c9fc3c9d
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
- 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
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 Pavlos Touboulidis 4997 days ago
Here you go.
For the server:
https://gitorious.org/hacking-smuxi/hacking-smuxi/commit/1ac2908902cfc89f2d2e719db4ab547d998e71ec/diffs
For the GNOME front-end:
https://gitorious.org/hacking-smuxi/hacking-smuxi/commit/5a8171ffeb7feee872b5fd788c8909827a819fbc/diffs
Updated by Mirco Bauer 4787 days ago
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
- 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
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
- 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
- Target version set to 0.8.10
Updated by Mirco Bauer 4591 days ago
- Target version changed from 0.8.10 to 0.9
Updated by Oliver Schneider 4295 days ago
isn't this fixed by servers being identified by ids instead of hostnames?
Updated by Mirco Bauer 4220 days ago
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
- Target version changed from 0.9 to 0.10
Updated by Mirco Bauer 4034 days ago
- Target version changed from 0.10 to TBD
Updated by Mirco Bauer 4027 days ago
Updated by Mirco Bauer 4005 days ago
- Assigned to set to Mirco Bauer
- Target version changed from TBD to 0.11
Updated by Mirco Bauer 4005 days ago
- Priority changed from Normal to High
Updated by Mirco Bauer 3968 days ago
Alternative is to abuse the JSON serializer and deserializer here
Updated by Mirco Bauer 3968 days ago
- Status changed from New to Closed
- % Done changed from 0 to 100
Applied in changeset 823c66815eef41600c4683aff056cf78d0b83e34.