Is it okay to break chat?

holatuwol

Developer
I've been refactoring chat to make it easier to navigate (from a programming perspective) and to address Issue 786 in the bug tracker, and chat is finally in a usable state, though it's not 100% working.

To add to the potentional problems, I haven't used the chat client itself in years, and I'm not sure I remembered how everything was supposed to work when I was moving stuff around and arbitrarily deleting code that I didn't like.

So, since people here actually use daily builds, and Jason and Veracity have established a reputation for daily builds being safe to use (something I'm not quite as good at doing), I was curious if it's okay for me to break chat.
 

Veracity

Developer
Staff member
As long as you are planning on continuing work and submitting updates until it IS 100% working, I think it's fine to submit now. If you can't remember how things are SUPPOSED to work, perhaps you need the input of people who use it and know how it USED to work, at least.

But then, I don't use chat, myself, so I am hardly the one to say "go ahead, break chat, no problem!" I'll shut up and let the real chatters weigh in. :)
 

Spiny

Member
I only use relay browser chat with CDM's Tabbed Chat and DaCyclops' Time less Chat GM scripts. I enabled some option a while ago to see what would happen if I tried to integrate CLI into chat and my chat just ended up busted so I disabled it. I know I can prefix commands with /CLI in my relay browser but it's easier to just go to the cli in those cases or use the KoL version of the desired chat command. I have one very vague recollection of trying to use mafia's chat system when I first started using Mafia and I seem to recall several floating chat windows on my screen and when I tried to close them, they'd just reappear and I didn't care for it, but this was several months ago and could just as easily have been a bad dream I had that I am confusing with reality lol.
 

lostcalpolydude

Developer
Staff member
We can always revert to unbroken builds if there are real issues. Jick did mention adding several new zones pretty soon (I guess you would know more about that than us). If game changes make old builds unusable, and your changes make new builds unusable, that could be more of a problem.

Like spiny, I just stick to relay browser chat, where I had a fun time discovering that you need to turn off "Reformat incoming chat HTML..." for tabbed chat to not be partially broken.

Worst case, there's always spending turns on one character while chatting with another, and not using chat commands while playing turns.
 

mredge73

Member
Will it break chatbots?
I have a mafia chatbot that is always on, if it will break him then I need a heads up to know what version to use until you finish your experiments. It would be awesome if you can fix the bug that your referenced, my chatbot doesn't respond to some PMs when they do not appear in chat but do appear on the relay browser.
 

holatuwol

Developer
Would these changes be likely to break relay browser chat as well as mafia chat?
All chat processing (including stuff that's happening in the relay browser) is funneled through KoLmafia with these changes, so the possibility exists.

Will it break chatbots?
I have no idea. It actually should make chatbots run a bit smoother (including a fix for the bug that you mentioned, since that's a side-effect of Issue 786), but since I don't have any chatbot code on my system, I'm not 100% certain.
 
Last edited:

Veracity

Developer
Staff member
So, since people here actually use daily builds, and Jason and Veracity have established a reputation for daily builds being safe to use (something I'm not quite as good at doing), I was curious if it's okay for me to break chat.

I'll comment that Jason, you, and I have all submitted things in the last month that were not quite right. We have either followed up and fixed them before a user has commented - or perhaps I was the first "user" of Jason's submit, say, and debugged and submitted a fix before a bug report was filed by someone else. Sometimes, somebody else (usually Spiny :)) finds a bug and submits a bug report, which we fix right away.

We don't have "daily" builds any more. We have "hourly" builds - and it is completely trivial for people to back off and take a a build that is only slightly older than the most recent.

I appreciate your refactoring. You have a very good vision of how to "clean up" code and make it easier to understand. You DO tend to release massive cleanups with a bug or two in them, but that's completely understandable. I liked what you did with the CLI cleanup, for example. I was bit by a bug first thing the next day when I updated and ran it. I spent some time debugging, submitted a fix, and probably nobody else had a problem. That's fine.

I will give you the caveat that I generally don't "do" chat, so if you submit a bug, I will not be the one to notice it. Chances are, it will be you yourself, later, or one of the many adopters of our hourly builds - and they are not shy about making bug reports. They will pin bugs, you will see them - and you will fix them, I expect.

In summary: if you have greatly improved the chat code, please submit it, warts and all - as long as you are prepared to monitor the bug forums and aggressively fix reported bugs, even as you fix defects and incomplete sections that you already know about.

I'm glad you're back. Don't hold back. :)
 

Bale

Minion
Feel free to break chat. I won't like it to be broken, but if you think you need to break a few eggs I'll accept that price for the yummy omelet you're trying to make.
 

xKiv

Active member
And the breaks come in.

1) maybe it's because I run have chat open in two browsers (chrome + ff) connected to one relay, but chat commands sometimes ... don't finish. But only sometimes.
Like I did /cast cocoon and CLI said "11/21/09 12:12 PM - Casting Cannelloni Cocoon." but chat said nothing and nothing happened.
And my "buy mmj, use mmj" similarly froze on buying.

2) chat logging used to start when I opened any chat, even relay browser chat; now it didn't start until I opened KolMafia chat.

ETA: 3) apparently, *everything* is a PM now ... O_O (and I was wondering why all chat gets logged in CLI)

Only exception so far:
Exception in thread "LocalRelayAgent4" java.lang.NullPointerException
at net.sourceforge.kolmafia.request.RelayRequest.printHeaders(RelayRequest.java:399)
at net.sourceforge.kolmafia.LocalRelayAgent.sendServerResponse(LocalRelayAgent.java:422)
at net.sourceforge.kolmafia.LocalRelayAgent.performRelay(LocalRelayAgent.java:133)
at net.sourceforge.kolmafia.LocalRelayAgent.run(LocalRelayAgent.java:109)
could not parse: [hobopolis] <b><a target=mainpane href="showplayer.php?who=-2">Dungeon</a></b>: xKiv diverted some cold water out of Exposure Esplanade.
 
Last edited:

Rinn

Developer
I got the version with your chat changes and the first thing I noticed is that the chat window is not showing up as a tab even though I have it set to startup as such. I also don't seem to be receiving hobopolis game messages even though I'm listening to that channel.
 
Last edited:

holatuwol

Developer
Fixed 1. Not sure what's causing 2 and 3, since logging looks to be working on my end, but maybe I'm misinterpreting you.

The inability to parse that /hobopolis message should be fixed.

Chat showing up as a separate window when you wanted it to be in the main tabbed interface should also be fixed. Not sure if multi-window chat interface ever worked in that fashion, but if it did, that's not fixed at this time.
 

Bale

Minion
Problem: Using r7819, with chat open in relay (Opera) browser's sidebar AND mafia's chat. All messages in my default chat channel are echoed to the CLI. Very annoying. Closed mafia's chat and the problem persisted until I closed the sidebar chat. After I was confident it was good, I tried to reopen mafia's chat window and it failed. The chat window just showed an untabbed gray blankness, however the chat messages came to my CLI again. Had to close mafia's chat.

Well and truly broken. :D
 

holatuwol

Developer
I was in chat for a few hours today and didn't see any of this. What are your in-game chat preferences, and your KoLmafia chat preferences?
 

Bale

Minion
Chat preferences (anything not listed, has it's box un-checked)
Use small fonts in hypertext
Use tabbed, rather than multi-window
Use shiny closeable tabs
Use the relay browser when clicking on links
Add a toobar to chat windows
Merge clan dungeon channel

Browser preferences (I'm only listing the ones that look relevant and are enabled)
Integrate chat and relay browser gCLI
Reformat incoming chat HTML

In-game chat preferences
I'm in channel hardcore and listening to clan. No other channels. (hardcore is being echoed to my CLI, not clan.)
profanity filter is off
show tag in current channel
enable right click menu
 

Bale

Minion
Briefly turned chat back on in relay browser. Got this:

Code:
[556] Dungeons of Doom
Encounter: Ouch! You bump into a door!
Encounter:     mimic
Strategy: attack with weapon
Round 0: bale wins initiative!
Round     1: bale attacks!
Round 1: mimic takes 14 damage.
Round 2: bale     attacks!
Round 2: mimic takes 16 damage.
Round 3: bale attacks!
Round     3: mimic takes 13 damage.
Round 4: bale attacks!
Round 4: mimic     takes 17 damage.
Round 5: bale attacks!
Round 5: mimic takes 15     damage.
You acquire an item: dead mimic
You gain 5 Strengthliness
You     gain 3 Wizardliness
You gain 8 Roguishness

Conditions satisfied     after 1 adventures.
11/22/09 03:45 AM - You are now talking in channel:     hardcore.This is a channel to chat with other players who have completed     at least one hardcore ascension.
11/22/09 03:45 AM - glebs (#604001):     what's a pull?
11/22/09 03:45 AM - keska2 (#1653695): not particularly
11/22/09     03:45 AM - NOOBz_must_dIE (#1000225): Only good pull in HC is a familiar     hatchling or VIP pass.
11/22/09 03:45 AM - keska2 (#1653695): glebs,     it's what happens before the moustache ride
11/22/09 03:45 AM - Wireus     (#1698096): if you're gonna pull anything, pull wet stunt nut stew
11/22/09     03:45 AM - Wireus (#1698096): if you're pulling the wet stew
11/22/09     03:45 AM - Currently listening to channels:**clan**hardcore
11/22/09     03:46 AM - keska2 (#1653695): ah, FoB. a great day to... eat black     pudding. sigh
11/22/09 03:46 AM - Deandra (#1507094): yes, wet stew is     a good pull
11/22/09 03:46 AM - keska2 (#1653695): if you've got time     to pull wet stew, you're probably taking too many days to care :P
11/22/09     03:46 AM - keska2 (#1653695): unless you're on a boozer run or something
11/22/09     03:46 AM - NOOBz_must_dIE (#1000225): Which is better, boring spaghetti or     spicy noodles?
11/22/09 03:46 AM - Deandra (#1507094): well I don't     know if it's a good pull on a 2 day
11/22/09 03:46 AM - Deandra     (#1507094): I'd definitely pull it on a 3 day

>     use dead mimic

Using 1 dead mimic...
You acquire an item:     hexagonal wand
Finished using 1 dead mimic.
 

lostcalpolydude

Developer
Staff member
7819, I'm also seeing all of chat go into the CLI. I have those Browser settings off, and I'm using relay browser chat (I haven't touched mafia's chat in a very long time, if ever).
 
Top