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> is http://sprunge.us/CaDd interesting information at all
<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
<computerman> referring to nine eleven
<computerman> very hurtful
<dominikh> I respectfully ask you to take your off-topic (and I'm assuming good faith here or I'd call it trolling) somewhere else, too.
Rickmasta has joined #cinch
Rickmasta has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<dominikh> will fix it in ~12 hours. in the meantime don't raise exceptions :P
<tinnvec> looking at the "cinch group" repo, if I want to make a plugin available for reuse, is a gem the preferred way?
Rickmasta has joined #cinch
Rickmast_ has joined #cinch
Rickmasta has quit [Ping timeout: 250 seconds]
Rickmast_ has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
Lirion has quit [Ping timeout: 240 seconds]
Lirion has joined #cinch
tinnvec has quit [Remote host closed the connection]
tinnvec has joined #cinch
tinnvec has quit [Remote host closed the connection]
tinnvec has joined #cinch
BlindSight has quit [Quit: ZNC - http://znc.in]
BlindSight has joined #cinch
BlindSight is now known as Guest80946
Guest80946 has quit [Changing host]
Guest80946 has joined #cinch
<dominikh> tinnvec: yeah. name your gem cinch-$something :)
<dominikh> and follow the structure of other plugins (that is, have the class in the module Cinch::Plugins)
<tinnvec> ah cool thanks, I thought I had seen that somewhere but couldn't remember where
<dominikh> it used to be documented on cinchrb.org – but that website is no more
<dominikh> used to have a plugin repository there
<leftylink> damn I never even knew such a thing existed
<leftylink> must have been long before my time
<dominikh> couple years ago
<leftylink> going ot check THE ARCHIVES
<dominikh> it looked better with CSS :P
<tinnvec> haha nice
<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…]
apeiros has quit [Ping timeout: 268 seconds]
apeiros has joined #cinch
Rickmasta has joined #cinch