Smokedetector: SD randomly loses connection to CHQ chat

Created on 4 Aug 2020  路  7Comments  路  Source: Charcoal-SE/SmokeDetector

What problem has occurred? What issues has it caused?


Examples:
https://chat.stackexchange.com/transcript/message/55147397
https://chat.stackexchange.com/transcript/message/55127179
https://chat.stackexchange.com/transcript/message/55127158

SD will not post any message to/respond to commands CHQ until a manual reboot in another room.

What would you like to happen/not happen?

Not to randomly disconnect.

chat system completed bug

Most helpful comment

OTOH, if we are going to be doing significant development on ChatExchange, then it might be a good idea to have the fork we use be in the Charcoal-SE organization, rather than shoehorning in something in @ArtOfCode-'s account. I don't have an objection to using Art's fork, but from an organizational POV it felt a bit strange when I went exploring to figure out where to make bug fixes in the ChatExchange code. Primarily, I wasn't sure if Art's fork existed with the intent to make changes for some other project, or if it was just for SmokeDetector. In other words, when recently looking at the ChatExchange code to fix bugs, I was concerned that changes PR'ed/merged into Art's fork might result in affecting some other project that Art might be working on.

I did briefly look into creating a fork of ChatExchange for Charcoal-SE when I made the most recent updates. Creating a fork of ChatExchange in Charcoal-SE is currently blocked by the existence of the archived Charcoal-SE / stack.chat. I was not around when that fork of a fork of ChatExchange was created, or aware of it when it was archived. I'm not sure if we have any benefit to keeping it around at this point.

As for ChatExchange, what I'd suggest we do is delete the Charcoal-SE / stack.chat fork. [I've downloaded a copy of the repository .zip file. Other people may want to do so too.] We can then re-fork ChatExchange directly and adjust SmokeDetector's requirements.txt to use the master branch of the Charcoal-SE fork. Currently, this should result in only an administrative change, because Art's fork of ChatExchange is effectively even with ChatExchange, even though it might not look like it. The current differences between the main ChatExchange repository and Art's fork is that Art's fork hasn't yet synced to the main ChatExchange repo after it merged the PR Art created from his fork's master branch (i.e. all the code is the same).

All 7 comments

So, this is a problem, but there's really not that much we can really do about it - we're bound by ChatExchange plugin and how it operates, and it has no mechanism to 'reconnect after failure' and such.

This is happening too often now. Maybe we need to spot where the problem is (either here or in CE code base) and fix it.

We are using Art's fork of ChatExchange already, and upstream was making noises which seemed like it would not be receiving further updates from their side. Perhaps the time has come to make ours an official fork, or create a replacement (though the idea scares me).

We are using Art's fork of ChatExchange already, and upstream was making noises which seemed like it would not be receiving further updates from their side. Perhaps the time has come to make ours an official fork, or create a replacement (though the idea scares me).

I'm not against having a chat lib that works for us but we need to be careful last time I looked theres a lot of black magic inside ChatExchange to make it work...

I'm not sure where the impression was given that ChatExchange wasn't accepting updates. The most recent PR which we (Art) submitted, which was bug fixes, performance improvements, and self-documentation, was merged within 4 hours.

It's reasonable for us to be running off of our own fork, but I'm not aware of ChatExchange being unwilling to accept updates, at least to fix bugs.

I don't know about anyone else, but I haven't even begun to take a look at what might be causing this current issue. It could be in ChatExchange, it could be something we're doing. I think it's quite premature for us to say "let's ditch ChatExchange". Until we're at the point where we need something that ChatExchange is set against having, I think we should be targeting any changes/development we do with the intent that it gets merged back into the main ChatExchange repo.

OTOH, if we are going to be doing significant development on ChatExchange, then it might be a good idea to have the fork we use be in the Charcoal-SE organization, rather than shoehorning in something in @ArtOfCode-'s account. I don't have an objection to using Art's fork, but from an organizational POV it felt a bit strange when I went exploring to figure out where to make bug fixes in the ChatExchange code. Primarily, I wasn't sure if Art's fork existed with the intent to make changes for some other project, or if it was just for SmokeDetector. In other words, when recently looking at the ChatExchange code to fix bugs, I was concerned that changes PR'ed/merged into Art's fork might result in affecting some other project that Art might be working on.

I did briefly look into creating a fork of ChatExchange for Charcoal-SE when I made the most recent updates. Creating a fork of ChatExchange in Charcoal-SE is currently blocked by the existence of the archived Charcoal-SE / stack.chat. I was not around when that fork of a fork of ChatExchange was created, or aware of it when it was archived. I'm not sure if we have any benefit to keeping it around at this point.

As for ChatExchange, what I'd suggest we do is delete the Charcoal-SE / stack.chat fork. [I've downloaded a copy of the repository .zip file. Other people may want to do so too.] We can then re-fork ChatExchange directly and adjust SmokeDetector's requirements.txt to use the master branch of the Charcoal-SE fork. Currently, this should result in only an administrative change, because Art's fork of ChatExchange is effectively even with ChatExchange, even though it might not look like it. The current differences between the main ChatExchange repository and Art's fork is that Art's fork hasn't yet synced to the main ChatExchange repo after it merged the PR Art created from his fork's master branch (i.e. all the code is the same).

This is becoming more problematic now.
https://chat.stackexchange.com/search?q=reboot&room=65945

Was this page helpful?
0 / 5 - 0 ratings