mIRC Home    About    Download    Register    News    Help

Print Thread
Page 1 of 2 1 2
Joined: Sep 2003
Posts: 149
S
Stealth Offline OP
Vogon poet
OP Offline
Vogon poet
S
Joined: Sep 2003
Posts: 149
mIRC assumes the PART command is always successful, which is not the proper way to handle PART messages.

mIRC should wait until the PART is received from the server after "PART #channel" is sent. This would be the proper way to handle parts, as PART is a command that returns a success message.


mIRC 6.21 - Win XP Pro (SP2) - 2.4 Ghz - 1 GB Mem
irc.x-tab.org
Joined: Dec 2002
Posts: 5,493
Hoopy frood
Offline
Hoopy frood
Joined: Dec 2002
Posts: 5,493
I can't reproduce this issue here, if I join a #channel and then /part #channel, the channel window is closed only when the PART event from the server is received. Can you describe a step by step process that reproduces the issue you are seeing?

Joined: Sep 2003
Posts: 149
S
Stealth Offline OP
Vogon poet
OP Offline
Vogon poet
S
Joined: Sep 2003
Posts: 149
Yes, mIRC waits for the PART from the server when /part is used, but not when the window is closed using the close button.


mIRC 6.21 - Win XP Pro (SP2) - 2.4 Ghz - 1 GB Mem
irc.x-tab.org
Joined: Dec 2002
Posts: 2,033
R
Hoopy frood
Offline
Hoopy frood
R
Joined: Dec 2002
Posts: 2,033
Are you suggesting that when the user closes a channel window, the window should not actually close until it receives the part event from the server?

Joined: Dec 2002
Posts: 3,547
S
Hoopy frood
Offline
Hoopy frood
S
Joined: Dec 2002
Posts: 3,547
This is weird..

/part #channel

-> irc.StormIRC.org PART #channel
<- :Andy!Madison@NetAdmin.StormIRC.org PART #channel

Clicking on the close button

<- :Andy!Madison@NetAdmin.StormIRC.org PART #channel
-> irc.StormIRC.org PART #channel
<- :Andy!Madison@NetAdmin.StormIRC.org PART #channel

I don't actually understand all this at all, shouldn't both cases be the same or?

Joined: Dec 2002
Posts: 2,962
S
Hoopy frood
Offline
Hoopy frood
S
Joined: Dec 2002
Posts: 2,962
Quote:
I don't actually understand all this at all, shouldn't both cases be the same or?

Not really. Clicking the X button is a UI interaction saying you want the window closed. In my opinion that means mIRC should close it ASAP. It's basic useability that the UI should be as responsive as possible. User presses X - window closes. No delays. No "but only if the server agrees". Just close it.


Spelling mistakes, grammatical errors, and stupid comments are intentional.
Joined: Jan 2003
Posts: 2,523
Q
Hoopy frood
Offline
Hoopy frood
Q
Joined: Jan 2003
Posts: 2,523
Apparently when you close a channel window, mirc fakes the receipt of a PART message from the server and then sends a PART command to it. From the scripter's point of view, this allows the usage of the on PART event as a form of on CLOSE event for the channel window. The main use of that is presumably the ability to do something like this:
Code:
on *:part:#: part # My part message
ie to be able to specify a default part message (either global or per-channel/network), sort of like you can specify a default quit message in Options. This way mirc sends two part messages, first the one you specified in the on PART event and then the internal one (which mirc sends anyway). The second PART command results in a "No such channel" response from the server, but mirc hides that message, so the user doesn't notice anything.


/.timerQ 1 0 echo /.timerQ 1 0 $timer(Q).com
Joined: Dec 2002
Posts: 2,033
R
Hoopy frood
Offline
Hoopy frood
R
Joined: Dec 2002
Posts: 2,033
I agree that it should not wait for the server to respond. It should first close the window, ignore any server messages pertaining to the parted channel, and then send the part command. I've always assumed this is how it worked.

Joined: Dec 2002
Posts: 2,033
R
Hoopy frood
Offline
Hoopy frood
R
Joined: Dec 2002
Posts: 2,033
Originally Posted By: qwerty
The second PART command results in a "No such channel"


Why would that happen when the first is faked? Technically the client would still be on the channel. So, when the window is closed, mIRC would fake the incoming part message triggering the part event, and then issue the part command to the server provided a script has not already done so.

Joined: Jan 2003
Posts: 2,523
Q
Hoopy frood
Offline
Hoopy frood
Q
Joined: Jan 2003
Posts: 2,523
Quote:
Why would that happen when the first is faked?
Not sure I'm reading that correctly, but what I said before is that a PART reply is faked (incoming PART message), not a part command (outgoing).

Quote:
provided a script has not already done so
Apparently mirc doesn't check that. If you're asking why not, I can't answer that, but the fact that Khaled chose to hide the "No such channel" message instead of checking whether a script sent a PART command before the internal one probably means that implementing the former was easier. smile

Edit: as it turns out, mirc doesn't even hide the "No such channel" (or "You're not on that channel") message (thanks Sat)... so implementing nothing is definitely easier :P

Last edited by qwerty; 10/06/07 06:52 PM.

/.timerQ 1 0 echo /.timerQ 1 0 $timer(Q).com
Joined: Dec 2002
Posts: 2,033
R
Hoopy frood
Offline
Hoopy frood
R
Joined: Dec 2002
Posts: 2,033
I guess what I meant was, why would mirc issue a fake part command. But maybe it would do that for the same reason it would fake an incoming part message from the server. Issue a fake part command so that if there is a scripted part alias, it is used, and fakes an incoming part message so the part event is triggered. I think I have myself confused now. crazy

Joined: Dec 2002
Posts: 2,962
S
Hoopy frood
Offline
Hoopy frood
S
Joined: Dec 2002
Posts: 2,962
mIRC doesn't issue a fake part command. It issues a real one after it has faked a part receipt and already closed the channel window.


Spelling mistakes, grammatical errors, and stupid comments are intentional.
Joined: Dec 2002
Posts: 2,033
R
Hoopy frood
Offline
Hoopy frood
R
Joined: Dec 2002
Posts: 2,033
Yeah that's how I described what I thought happened when I said...

Originally Posted By: RoCk
when the window is closed, mIRC would fake the incoming part message triggering the part event, and then issue the part command to the server provided a script has not already done so.

Joined: Sep 2003
Posts: 149
S
Stealth Offline OP
Vogon poet
OP Offline
Vogon poet
S
Joined: Sep 2003
Posts: 149
2 cents from the UnrealIRCd team:

Quote:
Basically why pretty much most of the stuff they've said is complete crap.

1) Responsive UI, or "If the user says Close, we Close, no ifs ands or buts.":
Then go tell Microsoft Word they aren't supposed to give users a last chance to save documents. Or go tell themselves they can't ask for confirmation to exit when there's connections open. It's not hard to go "Leaving #blah" in the window and spew something in error color saying "Cannot leave #blah: <error>"

2) The passing comment on the on part hack for default part msgs. People want so bad then they should stick a freaking *box* right next to the one for default quit msgs.

I don't feel like registering an account on forums for a POS client to say that stuff. But there are *plenty* of examples of windows programs (and GUI apps in general) that do not just go *zap* when you hit the X. If X was supposed to mean DIEDIEDIE windows wouldn't even give an option to cancel the event, now would it?


mIRC 6.21 - Win XP Pro (SP2) - 2.4 Ghz - 1 GB Mem
irc.x-tab.org
Joined: Dec 2002
Posts: 2,033
R
Hoopy frood
Offline
Hoopy frood
R
Joined: Dec 2002
Posts: 2,033
2 cents is about all their IRCd is worth, but they made good points too.

Also note to them that it was users of that "POS client" that were making the comments and giving the opinions, not the creator or the client.

Joined: Aug 2004
Posts: 7,252
R
Hoopy frood
Offline
Hoopy frood
R
Joined: Aug 2004
Posts: 7,252
Quote:
2 cents is about all their IRCd is worth


If that's all it was worth, then why do the majority of the servers polled on Search IRC show to be using a version of UnrealIRCd.

In my opinion, the number of servers using Unreal contradicts your statement of it only being worth about 2 cents.

Joined: Dec 2002
Posts: 5,493
Hoopy frood
Offline
Hoopy frood
Joined: Dec 2002
Posts: 5,493
Thanks for the comments, this is just my personal preference... implementing it the other way is easier (and I did try it out many years ago) but I felt more comfortable with the current behaviour. Is there some reason why you would prefer it to behave differently? Is it important?

Joined: Apr 2004
Posts: 871
Sat Offline
Hoopy frood
Offline
Hoopy frood
Joined: Apr 2004
Posts: 871
Originally Posted By: RusselB
If that's all it was worth, then why do the majority of the servers polled on Search IRC show to be using a version of UnrealIRCd.

To put your statistic in perspective: according to the same site, of all 4233 networks, the top 12 combined carry roughly two thirds (66.5%) of the total IRC userbase. None of those networks are using unrealircd.

So, perhaps it's because every idiot and their dog can set up one? Or because its bells and whistles, and in particular its habit of taking away freedom from the user and giving it to IRCops (need I even mention SAJOIN?) are attractive for power hungry kids? I don't know, but none of that automatically means it's not a POS ircd.

Back on topic though.. what could possibly make PART fail anyway?


Saturn, QuakeNet staff
Joined: Jun 2003
Posts: 5,024
M
Hoopy frood
Offline
Hoopy frood
M
Joined: Jun 2003
Posts: 5,024
You'll also note however that none of the top networks use it, including DALnet, Quakenet, IRCnet, EFnet, Undernet, GameSurge, UniBG, Rizon or freenode. Such networks account for around 600,000 users, which is well over 50% of the IRC population as a whole.

I'm not passing judgment here, but its general reputation is that it's used by newbies who are more interested in having lots of IRCop powers, silly amounts of channel levels that extend beyond the basic op/voice/halfop and have little or no experience running a server but want to do it anyway. Despite this however, a few of their developers seem to find it enjoyable being rude/arrogant and so it's not a surprise if their opinion isn't greeted with open arms *shrugs*

As for the "bug report", this is absolutely pointless. The Microsoft comparison doesn't really work, because whilst there are plenty of apps which will ask for confirmation before closing, there are plenty that don't. The decision is based on an individual basis (so Word/Notepad/etc quite obviously should ask for confirmation, IE probably shouldn't). In mIRC's case (in my opinion) the behaviour at the moment is quite correct.

Stealth, your opinion is welcomed, please do not relay further messages from the "unrealircd team" if they can't be bothered to register.

Regards,


Mentality/Chris
Joined: Dec 2002
Posts: 2,033
R
Hoopy frood
Offline
Hoopy frood
R
Joined: Dec 2002
Posts: 2,033
It was my opinion, that's all.

Page 1 of 2 1 2

Link Copied to Clipboard