Closed Bug 954265 Opened 10 years ago Closed 10 years ago

Differentiate commands that work only in MUCs for /help

Categories

(Chat Core :: General, enhancement)

enhancement
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: clokep, Assigned: florian)

References

Details

(Whiteboard: [1.1-wanted])

Attachments

(1 file)

*** Original post on bio 832 at 2011-06-07 17:26:00 UTC ***

We need to expose the MUC only flag from libpurple into the commands service so the /help command can appropriately know if a command can be run or not.

14:44:29 <flo> it sucks that we don't differenciate commands what work only in MUCs :(
14:44:34 <flo> (for the help message at least)
14:46:56 <clokep_work> Yes, hmm...:-/ I don't think commands tell libpurple if they only work in MUCs though.
14:47:06 <flo> they do
14:47:44 <flo> but it didn't matter until we added the /help command so I haven't exposed that flag in the commands service
14:47:44 <flo> :(
14:52:06 <clokep_work> I'd be willing to give that a try to fix it (if you point me in the right direction. :))
14:54:20 <flo> post 0.3
14:54:26 <flo> it doesn't matter all that much ;)
14:54:36 <flo> but filing a bug would be a good start, just so that we don't forget :)
Depends on: 954126
*** Original post on bio 832 at 2011-06-07 17:32:20 UTC ***

I'll work on this after 0.3 is released.
Assignee: nobody → clokep
Status: NEW → ASSIGNED
Whiteboard: [1.1-wanted]
Status: ASSIGNED → NEW
Attached patch PatchSplinter Review
*** Original post on bio 832 as attmnt 837 at 2011-09-20 21:15:00 UTC was without comment, so any subsequent comment numbers will be shifted ***
Attachment #8352580 - Flags: review?
Assignee: clokep → florian
Status: NEW → ASSIGNED
*** Original post on bio 832 at 2011-09-20 22:26:06 UTC ***

After testing out your patch..../join isn't working for me on IRC private messages, is that the desired behavior? This might be an issue with the libpurple IRC than anything (I would expect things like /invite or /part to stop working in private messages, but not /join.)
*** Original post on bio 832 at 2011-09-21 09:44:55 UTC ***

Comment on attachment 8352580 [details] [diff] [review] (bio-attmnt 837)
Patch

>diff --git a/purple/purplexpcom/src/purpleInitCommands.cpp b/purple/purplexpcom/src/purpleInitCommands.cpp
>--- a/purple/purplexpcom/src/purpleInitCommands.cpp
>+++ b/purple/purplexpcom/src/purpleInitCommands.cpp
>@@ -59,28 +59,30 @@ NS_DEFINE_NAMED_CID(PURPLE_CONV_CHAT_CID
> NS_DEFINE_NAMED_CID(PURPLE_CONV_IM_CID);
> 
> class purpleCommand : public imICommand
> {
> public:
>   NS_DECL_ISUPPORTS
>   NS_DECL_IMICOMMAND
> 
>-  purpleCommand(const gchar *name, const gchar *helpstr, PurpleCmdPriority p,
>-                PurpleCmd *cmd)
>+  purpleCommand(const gchar *name, const gchar *helpstr, PurpleCmdFlag f,
>+                PurpleCmdPriority p, PurpleCmd *cmd)
>     : mName(name),
>       mHelpString(helpstr),
>+      mUsageContext(f & 2),

If you can pretend the value here is 3 rather than 2, then the problem reported in comment 3 doesn't exist ;).

The sad thing though, is that the libpurple IRC plugin registers all commands as compatible with both CHAT and IM (see http://lxr.instantbird.org/instantbird/source/purple/libpurple/protocols/irc/parse.c#188), so all the commands that are totally irrelevant for private conversations are still listed :-(.
Comment on attachment 8352580 [details] [diff] [review]
Patch

*** Original change on bio 832 attmnt 837 at 2011-09-21 12:57:55 UTC ***

(In reply to comment #4)
> (From update of attachment 8352580 [details] [diff] [review] (bio-attmnt 837) [details])
> >diff --git a/purple/purplexpcom/src/purpleInitCommands.cpp b/purple/purplexpcom/src/purpleInitCommands.cpp
> >--- a/purple/purplexpcom/src/purpleInitCommands.cpp
> >+++ b/purple/purplexpcom/src/purpleInitCommands.cpp
> >@@ -59,28 +59,30 @@ NS_DEFINE_NAMED_CID(PURPLE_CONV_CHAT_CID
> > NS_DEFINE_NAMED_CID(PURPLE_CONV_IM_CID);
> > 
> > class purpleCommand : public imICommand
> > {
> > public:
> >   NS_DECL_ISUPPORTS
> >   NS_DECL_IMICOMMAND
> > 
> >-  purpleCommand(const gchar *name, const gchar *helpstr, PurpleCmdPriority p,
> >-                PurpleCmd *cmd)
> >+  purpleCommand(const gchar *name, const gchar *helpstr, PurpleCmdFlag f,
> >+                PurpleCmdPriority p, PurpleCmd *cmd)
> >     : mName(name),
> >       mHelpString(helpstr),
> >+      mUsageContext(f & 2),
> 
> If you can pretend the value here is 3 rather than 2, then the problem reported
> in comment 3 doesn't exist ;).
r+ with this change.

> The sad thing though, is that the libpurple IRC plugin registers all commands
> as compatible with both CHAT and IM (see
> http://lxr.instantbird.org/instantbird/source/purple/libpurple/protocols/irc/parse.c#188),
> so all the commands that are totally irrelevant for private conversations are
> still listed :-(.
I'd say we should handle that in a separate bug, but we should definitely look into fixing it.
Attachment #8352580 - Flags: review? → review?(clokep)
Comment on attachment 8352580 [details] [diff] [review]
Patch

*** Original change on bio 832 attmnt 837 at 2011-09-21 14:44:44 UTC ***

As I said above, r+.
Attachment #8352580 - Flags: review?(clokep) → review+
*** Original post on bio 832 at 2011-09-21 23:14:51 UTC ***

https://hg.instantbird.org/instantbird/rev/4ce6a909c470
Status: ASSIGNED → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Target Milestone: --- → 1.1
You need to log in before you can comment on or make changes to this bug.