IRC Log Viewer » #firebreath » 2015-02-18

IRC Nick Time (GMT-7) Message
PabloAguerre_ 12:02 Hi There: Regarding FireBreath 2.0 (https://groups.google.com/forum/#!topic/firebreath-dev/qfcowZkfPz0) do u guys hae any estimates on when could it be available?
taxilian 12:02 I'm working on it now
but we'll see
the plan is in the next month to have an initial implementation
the plan is in the next month to have an initial implementation
may depend on how much help I get
may depend on how much help I get
so far I've gotten almost no help
PabloAguerre_ 12:02 ohh ok, thanks for responding
regarding help
what are the qualifications u are looking for?
what are the qualifications u are looking for?
taxilian 12:02 right now the most useful would be someone with some activex experience
extensive experience with C++11 and c++ templates would also be useful
as well as understanding of asynchronous programming
PabloAguerre_ 12:02 ok let me check with my collegues. Unfortunatelly most of us have experience in c++ (3y+ only), some in ActiveX and a lot in asynch programming
taxilian 12:02 well if you're available and willing to help I'm sure I can find things for you to look at
PabloAguerre_ 12:02 Basicaly we were trying to avoid coding custom Browser Plugins using NativeMessaging for Chrome vs Mozilla Extensions js-ctypes. So if the mentioned work was needed we would like to help u somehow
but not sure if we have the right expertise
but not sure if we have the right expertise
here is my e-mail: [email protected] i case u think u want to try my help
taxilian 12:02 I would love to have your help; if you could hang around in here during development that would be the easiest way to coordinate
PabloAguerre so did you say you do or do not have experience with c++ and activex?
PabloAguerre so did you say you do or do not have experience with c++ and activex?
PabloAguerre_ 12:02 3y approximately
3y approximately
taxilian 12:02 how are you with templates?
PabloAguerre_ 13:02 do u mean ATL w/COM?
taxilian 13:02 yes =]
PabloAguerre_ 13:02 like mentioned, don't have senior experience, if u like please let me know how can i help and provie me repo and time frame for it. I can show my advance and i u can check how i do
taxilian 13:02 not a problem at all
so let me tell you where I'm at, so you understand
are you already familiar with FireBreath as it currently is?
PabloAguerre_ 13:02 honestly not
taxilian 13:02 that's fine. just helps me figure out how to best explain
so FireBreath as it is makes some assumptions based on the currently supported browsers which are not valid for some of the new technologies
some have to do with graphics, and I'm ignoring those for now
the ones we're currently focussed on is scripting
in NPAPI and ActiveX/COM all calls to and from the browser are synchonous
unfortunately, new technologies like native messaging, nacl, and websockets are all asynchronous
PabloAguerre_ 13:02 yes
taxilian 13:02 so what I'm doing right now is rewriting FireBreath to be asynchronous for all communications
so far I've only done NPAPI, but on NPAPI in my repo (or at least some commits back when it still all compiled =]) all property getters or method calls return a Promises/A+ compliant Promise object, rather than a value
so far I've only done NPAPI, but on NPAPI in my repo (or at least some commits back when it still all compiled =]) all property getters or method calls return a Promises/A+ compliant Promise object, rather than a value
If you're not familiar with the Promise javascript pattern it would be worth reading up on
If you're not familiar with the Promise javascript pattern it would be worth reading up on
what I'm working on now is creating a similar mechanism in C++ to make consuming asynchronous APIs from the browser simpler
once I have this stage done (hopefully by the end of the weak) we will start work on the FireWyrm protocol
PabloAguerre_ 13:02 i'm familiar with promises
taxilian 13:02 FireWyrm is a json-based text protocol which will be designed to work over any arbitrary transport by means of a "WyrmHole". I WyrmHole is just something that supports needed APIs for the FireWrym code to communicate with the plugin instance
FireWyrm is a json-based text protocol which will be designed to work over any arbitrary transport by means of a "WyrmHole". I WyrmHole is just something that supports needed APIs for the FireWrym code to communicate with the plugin instance
Native messaging will be one of the first WyrmHoles that we will create
PabloAguerre_ 13:02 ok
taxilian 13:02 FireWyrmJS will require a relatively modern browser as it will require using ecmascript getters/setters but it will generate wrapper objects for all of the plugin mechanisms and route all calls to and from the plugin across the wyrmhole
so one of the things that needs to be done once I finish this stage is for someone to update the activex code to be asynchronous like the npapi code is
it's actually not really asynchronous, though, because those protocols aren't actually async, but we'll make them seem to be
and at the same time make it easy to implement async operations from within FireBreath
and at the same time make it easy to implement async operations from within FireBreath
that way the API will be consistent across all three interface types -- NPAPI, ActiveX, and FireWyrm
PabloAguerre_ 13:02 ok make sense
taxilian 13:02 so currently I'm fighting with finding the best way to make async calls from c++ into javascript; I don't think there is a lot that you could do right now. once I finish that then there will be a bit more to look at
PabloAguerre_ 13:02 k, so how do u want me to help? I mean for emulating Async in ActiveX are u expecting to use Queues or something like that?
k, so how do u want me to help? I mean for emulating Async in ActiveX are u expecting to use Queues or something like that?
taxilian 13:02 nothing so elaborate. basically just need to change the return value from the COMJavascriptObject to return promise objects which are resolved to the return value instead of just returning the value
the only trick iwth that is that a javascript call needs to be made into the page to get the promise object
I found it wasn't viable to implement a fully Promises/A+ compliant object in C++ so I wrote a very lightweight (to my knowledge, it's the smallest available) javascript implementation which is embedded in the firebreath code
kylehuff 14:02 not sure how I missed that frebreath-dev email. I must have silenced the list at some point...
taxilian 14:02 hehe
didn't realize you hadn't seen it
taxilian 14:02 so I need to figure out how to do template specialization so that I have one version of a function for any time that the type is FB::Deferred<T> and another for all other <T>
kylehuff 14:02 well, you lost me at template... I still don't understand a single facet of templates.
also, it is my day to ignore to you, so I am entitled to abstain from the matter all together...