dominikh changed the topic of #cinch to: The IRC Framework | Latest version: Cinch 2.2.7
Rickmasta has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
dominikh changed the topic of #cinch to: The IRC Framework | Latest version: Cinch 2.3.0
<dominikh>
Cinch 2.3.0, with log filtering and STATUSMSG support.
Rickmasta has joined #cinch
<leftylink>
log filtering, interesting
Rickmasta has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
Rickmasta has joined #cinch
Namaste has quit [Quit: ZNC - 1.6.0 - http://znc.in]
Namaste has joined #cinch
<leftylink>
I know y'all don't do cinch-test but I don't really have other places to talk about cinch-test and it's as good as any since it's cinch-related
<leftylink>
s/any/any place to talk about it/ in case that wasn't clear
<leftylink>
there's been a bug in it for 2 years and almost 4 months, and no1curr
<leftylink>
in fact, I ran into the bug before and was puzzled by it, and decided not to bother looking further into why the bug was happening but instead worked around it
<leftylink>
today though the foot has to come down
<leftylink>
... I hope the maintainer still responds to PRs
<leftylink>
that's all I have to say about that
<dominikh>
"ok", I guess.
Lirion has quit [Quit: "host maintenance."]
<leftylink>
it also manifested itself in a pretty heisenbuggy way... add some puts, test pass, remove puts, test fail, go "wat"
<dominikh>
so… cinch-test sounds about as good designed for testing as cinch itself?
<leftylink>
hmm... there's a lot of stuff in there that seems kinda hax. Well mostly I say this since I haven't really done ruby metaprogramming and haven't done stuff like class_eval
<dominikh>
well, needs hacks to work with cinch, I suppose.
<leftylink>
there are also warts like... I can't do bot.config { |c| c.nick = 'something' } because the fake network that cinch-test provides doesn't have some isupport thing. I haven't looked into this very much, again I kinda just work around it... <__<
<dominikh>
mhm
<leftylink>
as for why it was heisenbuggy... the bug I described was that two handlers were being fired for the same message, and they were racing with each other
<dominikh>
handlers tend to do that, yeah
<leftylink>
hmm, I wonder if I could fix this bot nick thing... again, I guess either everybody using cinch-test 1) doesn't care about the bot having a nick, or 2) worked around it in similar ways as I did
<leftylink>
ayiyi
<dominikh>
I'm not really sure what the issue here is, bot nicks should work just fine without ISUPPORT. ISUPPORT only indicates a max length iirc, and we have some default if it's not specified
<leftylink>
upon further review... the problem was ... I was holding it wrong
<dominikh>
heh
<leftylink>
a fundamental misunderstanding of how cinch-test works and confusion on my part between the block passed to Cinch::Bot.new and the block passed to configure
<leftylink>
so I imagine I was doing the equivalent of Cinch::Bot.new { self.nick = 'mybot' } or something (and @irc was nil at the time), gotta do Cinch::Bot.new { configure { |c| c.nick = 'mybot' } }
<leftylink>
seems like such a rookie mistake. but well it happened
Rickmasta has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<leftylink>
I have a small suspicion that exception reporting has broken in cinch 2.3.0. will investigate further and get an actual report instead of just some random suspicion
<dominikh>
ah jesus, please not :>
<leftylink>
I need to stop bleeding first though, does message have time on it
<leftylink>
yes, Message#time, we good
<leftylink>
can stop the bleeding
<leftylink>
actually, maybe it won't, depending on how the network is doing stuff
<leftylink>
oh well, that's a bot problem, not a cinch problem. I'll figure out the exception things later though
<leftylink>
first, bleeding
<leftylink>
ok guess I can't stop the bleeding. let's see what's up
<leftylink>
gonna first send this line in case it helps. fuller report coming in a bit when I make a small testbot for it /home/leftylink/.gem/ruby/2.2.0/gems/cinch-2.3.0/lib/cinch/logger/formatted_logger.rb:44:in `format_general': undefined method `gsub' for #<NoMethodError:0x0000000190cf30> (NoMethodError)
<dominikh>
it's broken, yes. although over here, it's not printing exceptions at all anymore
<leftylink>
uh indeed. hrmmm. I wonder how I trigger the behavior that I saw instead, then
<dominikh>
probably by calling #log with an exception object
<dominikh>
or #info or #debug or something; instead of #exception
<dominikh>
stupid little mistake, 2.3.1 will be out shortly
<leftylink>
I am failing at a minimal repro though, let's see
<dominikh>
I've already fixed it ;)
<dominikh>
as for minimal repo: a handler that `raise "foo"`
<leftylink>
well that just does as you said - it simply prints nothing
<leftylink>
instead of raising the exception in that stack trace... which stops the entire bot, doh
<leftylink>
however that could just be a symptom of
<leftylink>
hmm
<leftylink>
I don't know actually. but if 2.3.1 fixes it then twill be good
<leftylink>
oh
<leftylink>
ok looking at that commit I guess I see the mistake, though as for why it results in those particular symptoms... unsure
<dominikh>
there seem to be two separate bugs. one existed before 2.3.0, one was introduced in 2.3.0, and they - somewhat - interact
<leftylink>
gonna just replace e with e.message and see what happens, suppose I don't really know enough to figure out the other bug
<leftylink>
well bleeding stopped, but whether that is a result of what I did or just because "the times they are a-changin'" is unclear. oh well, whatever
<leftylink>
I will mention that I should have realized this was happening when testing my plugin earlier
Lirion has joined #cinch
<computerman>
is ruby halal
<leftylink>
because that race was in fact causing an exception to be raised, I just couldn't see it
<leftylink>
too much excitement for a day! week's only barely gotten started
<leftylink>
better ask about ruby being halal in #ruby !!!
<computerman>
i asked but they were very islamaphobic
<leftylink>
damn.
<computerman>
and told me to quote unquote go hijack another channel
<dominikh>
it used to crawl rubygems for cinch-* gems and list them. also had voting.
<dominikh>
in retrospect a useless website
<dominikh>
I want a Cinch 3.0 :(
<leftylink>
you've said that such a thing would be a complete rewrite and I'm wary of such things
<dominikh>
well, probably not a rewrite from scratch, but a lot of components would be ripped out and reassembled
<dominikh>
there's too much broken API
<leftylink>
2015-04-03 19:03:13 < dominikh> but hey, there's a "next" branch now. ~2 more years and thre might be Cinch 3
<dominikh>
but all the things I want to fix I can't, because they're part of the public API
<leftylink>
2014-07-31 21:50:35 < dominikh> on an unrelated note, anyone want to take Cinch, fix its various API flaws and design Cinch 3.0 under my supervision? :P
<leftylink>
wao
<dominikh>
so the only way is to break backwards compatibility, which means Cinch 3
<dominikh>
latest flaw: logging.
<leftylink>
I think if there would be a list of all the things that are desired to change, all written down somewhere, that might at least give some starting point. I can't promise support but if I at least understand what the goals are and the scope of the project, then it would be easier to judge
<dominikh>
if I did that, I could as well write the code ;)
<leftylink>
hmm...
<leftylink>
2014-07-31 21:52:22 < dominikh> if you can't see em, you're not the right man for the job :P – on a more serious note, there's too much coupling. messages take part in the dispatching of messages, the parser is useless without the actual connection, etc
<leftylink>
2014-07-31 21:54:42 < dominikh> most people don't seem to see the many flaws, anyway, so there's no incentive for me to fix them, anyway. and I don't really do ruby anymore, either
<leftylink>
yeah iono if I really am feeling the pain myself, and I geuss if I don't feel the pain I'm not really incentivized
<dominikh>
the pain is in maintaining Cinch itself, mostly :)
<leftylink>
somewhat surprised you're still doing it, really
<leftylink>
maybe you still care about us
* leftylink
sniffles
<dominikh>
it's an active project used by a fair amount of numbers, it would be irresponsible not to maintain it
Rickmasta has joined #cinch
Namaste has quit [Quit: ZNC - 1.6.0 - http://znc.in]
Namaste has joined #cinch
Rickmasta has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]