#twisted

/

      • runciter
        ah, got it
      • i think i can be convinced of that
      • ticket?
      • you can just mention Cooperator
      • nanonyme
        None yet, I wanted to talk about this before filing one
      • Hm, why would cooperator be relevant?
      • runciter
        nanonyme: that's what backs task.coiterate
      • nanonyme: magical implementation detail you get to memorize if you look at twisted's source long enough ;)
      • nanonyme
        The thing is taht https://github.com/nanonyme/nanobot/blob/master... this errback never gets called
      • Since there is no deferred
      • In fact, even the addErrback line won't ever get executed
      • I'm pretty sure the same bug happens even without Cooperator
      • runciter
        ok
      • no, Cooperator turned it into a Failure
      • (there's an except: clause in CooperativeTask._oneWorkUnit)
      • nanonyme
        Yes, but that's later
      • That's not a problem
      • runciter
        right, the issue is that the URL can't be encoded, before it hits Agent
      • ok, i'm caught up now
      • eh
      • this is hard
      • nanonyme
        Apparently one way to get it to bork like this is if HTTPS URL contains hostname that has an asterisk
      • It's obviously invalid but I think it still should result in a Failure, not a raised exception
      • runciter
        yeah, the client guts have to idna code the domain to do SNI
      • i think this is worth a mailing list post
      • *i* think arises from conflating pure and impure operations - i'd like to see treq.head(URL('https://whatever'))
      • but i expect i'm in a distinct minority
      • but i think others will agree that it sucks to have to know when a code path hits the wire to know when it'll have to catch an exception and when it get a Failure
      • you might have to know how an implementation works to *act* on an error, but you shouldn't have to know that to even *catch* an error
      • i expect this will also dovetail into a discussion of synchronous vs asynchronous Deferreds
      • nanonyme: you can also file a ticket against Agent, i think, if you want to track any work on it
      • but this is a class of API issues that are worth discussing more generally
      • that *is
      • nanonyme
        Thanks. I'll write a simpler test case for this and post further once my headache gets less bad
      • runciter
        nanonyme: i've got to step out to run some errands - maybe i can draft something for you to look at if i get back, you're around, and haven't sent anything?
      • nanonyme
        My project codebase is unnecessarily complicated to show what goes wrong
      • runciter
        hm in fact, one sec
      • `python synchronous.py 'https://blahblah'` runs the errback, while `python synchronous 'https://*'` does not
      • same code, but two different inputs that require two different error handling strategies
      • gotta run!
      • cdunklau
        hynek: i can't find support for tls: anywhere in the application framework though
      • it's all ssl:
      • hynek: i mean, i can't speak for future plans or whatever, i was just looking at the current master
      • DigiDigi joined the channel
      • kenaan
        Tickets pending review: https://tm.tl/#8464 (rodrigc), #8902, #8912, #8966 (the0id), #8981, #8995, #9024, #9015, #9006, #9017, #5726, #9014, #9027, #9028
      • hynek
        cdunklau: ugh I'm an idiot. TLS: is client-only.
      • DigiDigi
        Is it possible to use a gtk3reactor in Windows?
      • __marco has quit
      • jamesaxl has quit
      • I am wondering if there is a workaround, because reactor.registerGApplication raises 'not currently supported on Windows.'
      • cdunklau
        hynek: i thought i'd seen something to that effect, but it disappeared from my view and i couldn't find it again
      • hynek: glad you figured it out :)
      • tomprince
        cdunklau: Most of the endpoints are defined in twisted.internet.endpoints
      • efphe has quit
      • DigiDigi_ joined the channel
      • DigiDigi has quit
      • cdunklau
        tomprince: yeah i was looking there
      • oh it's _TLSClientEndpointParser's prefix
      • DigiDigi_ is now known as DigiDigi
      • dstufft joined the channel
      • brodolfo has quit