#instantbird log on 11 29 2011

All times are UTC.

00:07:42 <-- chrisccoulson has quit (Ping timeout)
00:29:19 --> clokep has joined #instantbird
00:29:19 * ChanServ sets mode +h clokep 
00:37:22 <clokep> flo: Seems like that would be helpful, maybe we can do a similar API somehow? :-/
00:38:50 <Mook_as> and then you can feed things to individual IRC channels via pipes and stream pumps, or something along those lines :p
00:42:16 <-- BlueMaxima has quit (Quit: Instantbird 1.1)
00:43:26 <-- aleth has quit (Quit: Instantbird 1.2a1pre)
00:43:31 --> aleth has joined #instantbird
00:45:35 <-- aleth has quit (Quit: Instantbird 1.2a1pre)
00:45:37 --> aleth has joined #instantbird
00:46:23 <clokep> Well this would be for receiving messages. ;)
00:46:45 <Mook_as> well, hopefully you use the same encoding for send and receive ;)
00:47:54 <clokep> Hopefully, but I really have no idea, ASCII is good enough for English usually. :)
00:49:33 <clokep> EionRobb: These are the errors I'm getting right now: http://pastebin.instantbird.com/1126
00:49:42 <-- aleth has quit (Quit: Instantbird 1.2a1pre)
00:49:44 --> aleth has joined #instantbird
00:50:13 <EionRobb> 'illegal use of this type' it says.  you should consult a lawyer
00:50:58 <clokep> Thanks. :P
00:51:00 <Mook_as> what's the source code like?
00:51:07 <Mook_as> what's it like after -E ?
00:51:11 <EionRobb> completely illegal
00:51:31 <EionRobb> clokep: it's probably because PurpleBuddy *buddy isn't defined at the top of the function
00:51:50 <clokep> It's not? I could have sworn I checked that. :(
00:51:52 <EionRobb> doesn't msvc not like declaring things half way through the code?
00:52:00 <clokep> Mook_as: The file is http://code.google.com/p/skype4pidgin/source/browse/trunk/libskype.c
00:52:02 <EionRobb> no, its declared on that line
00:52:11 <-- aleth has quit (Quit: Instantbird 1.2a1pre)
00:52:12 <clokep> EionRobb: I think you might be right. I'll give that a try. :)
00:52:14 --> aleth has joined #instantbird
00:53:11 <clokep> (And that's definitely the wrong file, but I think you can find it from there. ;))
00:53:56 <Mook_as> doesn't gcc like to die on that too? (declaring variables that might never be hit due to the switch() )
00:54:22 <Mook_as> (adding a block might be enough, to make the variable local to that scope)
00:54:43 <EionRobb> probably throws a warning
00:55:03 <EionRobb> were you intentionally compiling it for linux, clokep
00:55:28 <clokep> EionRobb: No, am I by mistake some how?
00:55:40 <-- aleth has quit (Quit: Instantbird 1.2a1pre)
00:55:43 --> aleth has joined #instantbird
00:56:06 <EionRobb> the -DSKYPE_DBUS flag will try to compile it for linux.... oh, no ignore me, that will only add in the dbus version if you *were* compiling for linux
00:56:26 <EionRobb> if it doesn't run though, you might want to check that it doesn't need -DWIN32 or something
00:56:26 <clokep> I'm not passing that flag.
00:56:36 <EionRobb> you are passing that in http://pastebin.instantbird.com/1126
00:56:36 <clokep> I shouldn't be at least...
00:56:54 <EionRobb>  -DDISPLAY_VERSION=\"2.10.0\" -DENABLE_NLS -DSKYPE_DBUS -DOSTYPE=\"WINNT6.1\"
00:57:41 <clokep> Bah, I thought I had that in a comment block. :(
00:57:47 <clokep> OK, I fixed that. :)
00:58:29 <-- Tomek has quit (Quit: Instantbird 1.1)
00:58:35 <-- aleth has quit (Quit: Instantbird 1.2a1pre)
00:58:37 --> aleth has joined #instantbird
00:59:34 <EionRobb> there's a patch at http://code.google.com/p/skype4pidgin/issues/detail?id=168 that might help you out
01:00:00 <-- aleth has quit (Quit: Instantbird 1.2a1pre)
01:00:02 --> aleth has joined #instantbird
01:01:05 <EionRobb> maybe I'll just apply it now to help you out
01:02:06 <-- aleth has quit (Quit: Instantbird 1.2a1pre)
01:02:07 --> aleth has joined #instantbird
01:03:10 * Mook_as wonders if this means there _might_ be working skype (messaging) for 1.2
01:04:15 <EionRobb> neat :)
01:04:22 <clokep> Thanks. :) I could do it manually if you'd like.
01:04:37 <EionRobb> nope, almost there.  there's another compile bug too, just to make it fun :)
01:05:34 <-- aleth has quit (Quit: Instantbird 1.2a1pre)
01:05:36 --> aleth has joined #instantbird
01:08:16 <EionRobb> ok, do an svn update now?
01:10:11 <clokep> Ah, thanks.
01:10:24 <clokep> Mine was like super out of date actually.
01:12:26 <clokep> So much of that code is Adium stuff...
01:13:19 <EionRobb> yeah :(
01:13:35 <EionRobb> I'm happy to add instantbird-specific stuff in there if you want too
01:13:54 <EionRobb> I just never got around to getting all the IB deps going
01:14:36 <clokep> Hopefully it'll just "work"...
01:15:48 <clokep> Will probably need to change the l10n stuff actually.
01:20:17 <-- franksouza1832 has quit (Ping timeout)
01:20:23 <-- franksouza1831 has quit (Ping timeout)
01:21:10 <-- aleth has quit (Quit: Instantbird 1.2a1pre)
01:21:16 --> aleth has joined #instantbird
01:23:40 --> asuth has joined #instantbird
01:30:45 <-- aleth has quit (Quit: Instantbird 1.2a1pre)
01:46:26 <clokep> EionRobb: You were right, we apparently aren't exporting all the symbols you use in Skype. :(
01:46:36 <clokep> (purple_home_dir, for example)
01:46:51 <EionRobb> stop massacring all your deps libraries :)
01:47:16 * clokep hides.
01:47:21 <clokep> Blame flo for that though. :-/
01:47:32 <EionRobb> yeah, he's pretty brutal with the chop-chop
01:48:29 <clokep> After updating from your changes I ended up with http://pastebin.instantbird.com/1127 but there's a lot in there and I need to review aleth's patch. :)
01:48:43 <clokep> (But if you were just curious about the aount of work you might need...)
01:48:48 <EionRobb> what's aleth's patch?
01:49:16 <EionRobb> there's no skype stuff in that pastebin?
01:49:16 <clokep> Let's you automatically jump to the last un-read message.
01:49:23 <clokep> Arg. I overwrote the file. :(
01:49:39 <EionRobb> what kind of 'automatic'?
01:50:00 <clokep> You press Alt + Page Up after restoring a conversation from hold.
01:50:06 <clokep> Pressing it again jumps to the top of the conversation.
01:50:07 <Mook_as> clokep: pastebin is limited on size; you probably want sprunge instead
01:50:25 <clokep> Mook_as: Or I can just not be lazy and only take the part once it starts compiling Skype. :)
01:50:38 <EionRobb> I like the lazy option.  it means I have to read less ;)
01:50:54 * Mook_as just hits end then scroll up :p
01:51:15 <EionRobb> I really have to try IB again.  "restoring a conversation from hold" sounds interesting
01:51:25 <clokep> EionRobb: http://pastebin.instantbird.com/1128
01:51:40 <clokep> (That's after I uncommented the USE_VV ifdefs)
01:52:49 <clokep> bug 1032 is the patch I was discussing btw.
01:52:52 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=1032 enh, --, ---, nobody, NEW, Scrolling to the first unread message is too difficult
01:53:18 <Mook_as> wow, libskype.c is full of fatal warnings
01:53:37 <EionRobb> oh, don't compile the c files individually
01:53:50 <EionRobb> I was having a bad day when I wrote that... libskype.c includes the right .c files for you
01:54:00 <EionRobb> so just compile libskype.c
01:54:02 <clokep> Oh.
01:54:04 <EionRobb> yeah
01:54:05 <clokep> Interesting.
01:54:10 <EionRobb> fantastic form! :s
01:55:00 <clokep> Yes. :)
01:55:40 <Mook_as> it might be useful to #define something in libskype.c and check for it in the other *.c and #error if they're not found
01:55:45 <EionRobb> oh, I like that
01:55:48 <Mook_as> (... or properly split them out, but that's more work)
01:56:17 <EionRobb> I'll do that now
01:58:22 <clokep> EionRobb: http://pastebin.instantbird.com/1129 ... pretty much things we don't define now.
01:59:37 <EionRobb> what's the equiv of ~/.puple then?
01:59:50 <EionRobb> you don't have async queues in your glib?  :|
02:01:17 <-- Mook_as has quit (Quit: gone)
02:01:22 <clokep> Apparently not. :-/
02:04:59 <clokep> The equivalent to ~/.purple is ~/.instantbird I believe.
02:06:18 <EionRobb> oh, oops.  that's not what purple_home_dir() does
02:07:50 <clokep> I think we don't define it btw because I have a feeling flo thinks that protocols shouldn't touch that directly.
02:08:14 <clokep> It seems like you're storing a database or something there?
02:09:37 <EionRobb> its a fallback to get the user icon
02:09:56 <clokep> I see.
02:09:57 <EionRobb> some platforms don't support the GET AVATAR command, so I rip it directly out of the skype database storage instead
02:10:16 <EionRobb> protocols should do whatever they want to be able to do what they need to do
02:10:28 <EionRobb> what if there was a protocol that wrote to a text file on a network share? :)
02:10:51 <clokep> You don't need to convince me. ;)
02:11:03 <EionRobb> I'm guessing that flo will read the backlog ;)
02:11:18 <EionRobb> hello future flo!
02:11:20 <clokep> Yes, he reads it. Especially if we keep saying his name. :P
02:11:40 <EionRobb> flo the glib butcher
02:20:08 <-- skeledrew has quit (Ping timeout)
02:20:37 <EionRobb> so we can get rid of 2 of those unresolved symbols by taking an axe to the skype_update_buddy_icon function
02:20:39 --> skeledrew has joined #instantbird
02:21:02 <EionRobb> and you could comment out the g_spawn* stuff out of the exec_skype function
02:21:10 <EionRobb> but the async queue stuff is pretty important
02:21:45 <EionRobb> I wonder if you could #include <glib/async.h> or something? :)
02:23:34 <clokep> I don't think we have that file. http://lxr.instantbird.org/instantbird/search?string=g_spawn
02:26:38 --> myk has joined #instantbird
02:27:07 <EionRobb> what about gasyncqueue.h ?
02:28:48 <clokep> Yes, that's there.
02:28:48 <clokep> http://lxr.instantbird.org/instantbird/source/purple/libraries/glib/gasyncqueue.h
02:29:53 <EionRobb> oh yeah, it's not complaining about that when compiling, just linking
02:30:20 <clokep> Hm. I see.
02:30:35 <EionRobb> what version of glib are you linking against?
02:30:47 <clokep> I think it's 2.16.1
02:30:57 <EionRobb> ok, that's new enough then :)
02:31:20 <clokep> That's what https://wiki.instantbird.org/Instantbird:Third_party_code says at least. ;)
02:32:23 <clokep> What is "SkypeNet" btw?
02:32:52 <EionRobb> skypenet is an alternative to the skype api.  it runs with a headless skype instead of the skype UI
02:33:38 <clokep> Interesting, is that officially supported?
02:33:50 <EionRobb> its also a binary tcp protocol to communicate with the running skypekit client, rather than a text-based protocol over win32/dbus/x11/osxdistributednotificationcentre sockets to connect to the running skype client
02:34:01 <EionRobb> oh, oops wrong one
02:34:05 <EionRobb> I was thinking of skypekit
02:34:13 <clokep> Ah yeah. I know SkypeKit.
02:34:24 <EionRobb> skypenet was my attempt to make the text-based skype api run over tcp
02:34:30 <EionRobb> it worked for a while, but my server got shut down :)
02:34:41 <EionRobb> there's a few other equivalents that the plugin *could* work with, but doesn't :)
02:35:01 <EionRobb> skyped was one of them... and maybe imo2skype was another
02:35:13 <clokep> Oh I see. :)
02:35:44 <EionRobb> I had a server running at skype.robbmob.com which would run instances of skype in Xvfb windows
02:36:43 <EionRobb> does IB compile with any #defines automatically set, such as #ifdef INSTANTBIRD or something?
02:36:54 <clokep> I don't think so.
02:37:00 <EionRobb> k
02:39:55 <clokep> Perhaps we should.
02:41:19 <EionRobb> ok, if you add -DINSTANTBIRD to your compile options (and svn update) then the compile should go better
02:41:33 <EionRobb> though I don't know how to help you with your linking issue.. unless you have an old version of glib that you link against?
02:42:28 <clokep> We only have gasyncqueue.h, not gasyncqueue.c I'm adding it nad hoping it compiles. :)
02:42:41 <EionRobb> blimey
02:42:48 <EionRobb> that's what's happen when you axe the glibs!
02:42:50 <clokep> (And it did.)
02:42:59 <clokep> Just g_spawn_command_line_async now.
02:43:49 <-- hunsly has quit (Ping timeout)
02:43:58 <-- wesj has quit (Input/output error)
02:44:10 <EionRobb> I got rid of that in the svn update, though?
02:44:57 <clokep> Ah, OK. :)
03:01:19 <-- billysanca has quit (Quit: Instantbird 1.2a1pre)
03:08:23 <clokep> Well I got it to compile.
03:08:25 <-- myk has quit (Ping timeout)
03:08:46 <clokep> But the account manager dies when I go into it in Instantbird.
03:09:29 <clokep> My current diff is http://pastebin.instantbird.com/1130
03:09:46 <clokep> But soe of the ifdefs..>Idk what effect they'd have. :P
03:12:35 <clokep> (Btw the g_file_open_tmp I think we include. I have no idea why it's not working...)
03:17:04 --> myk has joined #instantbird
03:17:24 <-- myk has quit (Quit: Instantbird 1.1)
03:25:27 <EionRobb> that's weird.  that file open tmp one wasn't in the compiler output previously was it?
03:25:37 <clokep> No.
03:25:38 <EionRobb> oh, it's not doubling up on the symbols :)
03:26:14 <clokep> flo: It seems binary components register as @instantbird.org/prpl-<protocol name> but our JS ones use @instantbird.org/purple/<protocol name>, shouldn't those match in some way?
03:26:20 <clokep> EionRobb: What's that mean?
03:28:57 <clokep> Ah, never mind.
03:29:23 <EionRobb> as in, if the symbol is missing, it only complains once, not once for every usage :)
03:31:06 <clokep> Yup.
03:31:11 <clokep> Anyway I'm going to bed, thanks for the help. Goodnight.
03:31:17 <-- clokep has quit (Quit: Instantbird 1.2a1pre)
03:52:23 <-- skeledrew has quit (Quit: Instantbird 1.2a1pre)
03:52:32 --> skeledrew has joined #instantbird
03:54:19 <-- skeledrew has quit (Quit: Instantbird 1.2a1pre)
03:59:45 --> instantbot has joined #instantbird
03:59:45 topic changed by gravel.mozilla.org to "Ask questions about Instantbird (http://www.instantbird.com) here|Get Instantbird 1.1 while it's hot! :) |News: http://blog.instantbird.org/ |Nightlies: http://nightly.instantbird.im/ (testing purpose only) |IRC logs: http://log.bezut.info/ |Pastebin: http://pastebin.instantbird.org/"
03:59:45 * ChanServ sets mode +v instantbot 
04:01:26 --> instantbot has joined #instantbird
04:01:26 topic changed by gravel.mozilla.org to "Ask questions about Instantbird (http://www.instantbird.com) here|Get Instantbird 1.1 while it's hot! :) |News: http://blog.instantbird.org/ |Nightlies: http://nightly.instantbird.im/ (testing purpose only) |IRC logs: http://log.bezut.info/ |Pastebin: http://pastebin.instantbird.org/"
04:01:26 * ChanServ sets mode +v instantbot 
04:03:58 --> GeekShadow has joined #instantbird
04:09:16 <EionRobb> clokep: when you're back, I turned the USE_VV #ifdefs into #ifndef INSTANTBIRD  for you :)
04:09:40 <-- EionRobb has quit (Quit: Leaving.)
04:12:04 --> skeledrew has joined #instantbird
06:09:54 --> BlueMaxima has joined #instantbird
06:15:38 <-- harisund has quit (Ping timeout)
06:20:57 --> harisund has joined #instantbird
06:48:20 <-- Tonnes has quit (Ping timeout)
06:49:28 --> Tonnes has joined #instantbird
06:57:23 <-- harisund has quit (Ping timeout)
06:57:25 --> harisund has joined #instantbird
07:00:14 <-- harisund has quit (Ping timeout)
07:03:58 --> harisund has joined #instantbird
07:09:51 <-- harisund has quit (Ping timeout)
07:09:53 --> harisund has joined #instantbird
07:14:47 <-- harisund has quit (Ping timeout)
07:15:05 --> harisund has joined #instantbird
07:33:01 --> Even1 has joined #instantbird
07:54:51 --> jb has joined #instantbird
08:03:26 --> chrisccoulson has joined #instantbird
08:03:30 --> keret has joined #instantbird
08:03:38 <-- chrisccoulson has quit (Client exited)
08:04:34 <-- keret has left #instantbird ()
08:14:04 --> chrisccoulson has joined #instantbird
08:18:20 <-- Tobin has quit (Quit: Everything you do is to hurt me, leave me alone.)
08:18:50 --> Tobin has joined #instantbird
08:34:35 --> MadWookiee has joined #instantbird
08:37:17 --> Mic has joined #instantbird
08:37:17 * ChanServ sets mode +h Mic 
08:37:25 <Mic> Hi
08:41:15 --> Mad_Maks has joined #instantbird
08:48:11 <-- Even1 has quit (Ping timeout)
09:04:48 <-- harisund has quit (Ping timeout)
09:10:10 --> harisund has joined #instantbird
09:19:39 <-- Suiseiseki has quit (Ping timeout)
09:37:32 --> mmkmou has joined #instantbird
09:38:33 --> Suiseiseki has joined #instantbird
09:57:35 --> gerard-majax has joined #instantbird
10:15:52 --> flo has joined #instantbird
10:15:52 * ChanServ sets mode +qo flo flo 
10:16:22 <flo> Good morning :)
10:30:33 --> franksouza183 has joined #instantbird
10:30:53 <-- franksouza183 has left #instantbird ()
10:33:42 <flo> the onConnectionClosed, onConnectionReset and onConnectionTimedOut method don't seem to make much sense :-/.
10:33:51 <flo> I keep hitting cases that are mishandled
10:35:32 <flo> we could as well have an onConnectionError method, with the nsresult as an argument
10:36:11 <flo> and call it when onStopRequest is called with an NS_ERROR_* value for aStatus
10:48:58 <flo> "JavaScript strict warning: chrome://global/content/bindings/radio.xml, line 129: reference to undefined property val.value" :-S
11:12:09 <-- gmoro_ has quit (Quit: Leaving)
11:12:20 --> gmoro_ has joined #instantbird
11:13:03 <-- chrisccoulson has quit (Ping timeout)
11:17:54 --> clokep has joined #instantbird
11:17:54 * ChanServ sets mode +h clokep 
11:26:57 <clokep> flo: It's possible they're not properly called. They WFM, but there might be edge cases I never saw. :-/
11:37:12 --> chrisccoulson has joined #instantbird
11:39:39 --> aleth has joined #instantbird
11:41:30 <flo> clokep: when I have a proxy refusing connections (just configure a socks proxy on localhost and a random port), it calls onConnectionClosed, why make my js-xmpp code says "The server closed the connection"
11:42:02 <clokep> I don't know if I tested with proxies at all.
11:49:55 <instantbot> aletheia2@fastmail.fm cancelled review?(clokep@gmail.com) for attachment 1033 on bug 1032.
11:49:56 <instantbot> aletheia2@fastmail.fm requested review from clokep@gmail.com for attachment 1035 on bug 1032.
11:49:58 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=1032 enh, --, ---, nobody, NEW, Scrolling to the first unread message is too difficult
11:53:10 <-- Mad_Maks has quit (Quit: Instantbird 1.2a1pre)
11:59:55 <clokep> aleth: Thanks, that works well. :)
12:00:09 <clokep> I want to re-read the scrolling part and make sure I fully understand it before r+ing.
12:00:21 <clokep> (And that requires me to wake up a bit more. ;))
12:00:30 <clokep> I'll be back soon. :)
12:00:35 <-- clokep has quit (Quit: Instantbird 1.2a1pre)
12:07:22 <Mic> aleth: what about using the HOME and END keys to scroll to the start or end of the next section?
12:07:49 <aleth> Mic: You already need them in the textbox.
12:07:59 <Mic> Only if there's input.
12:08:32 <Mic> That's what I did for "scroll keys" .. using the keypresses as if in the browser when they weren't needed in the input box
12:08:51 <Mic> I never got UP/DOWN to work properly, though :(
12:09:03 <aleth> Oh, you mean treating them differently when the textbox is empty?
12:09:32 <aleth> That's an idea. Might it not be confusing?
12:09:37 <Mic> Yes, it seems reasonable to me. Why would one press such a key if there's nothing there? He's most likely expecting something to happen, I'd say?
12:09:59 <aleth> But then you'd want the same for PgUp/PgDn etc
12:10:14 <Mic> "Scroll keys" does that :)
12:10:18 <aleth> And up/down like you say. Otherwise it's not consistent
12:10:49 <aleth> So you are suggesting integrating "Scroll keys" in IB :) 
12:10:51 <Mic> Up/down turned out to be really difficult since there doesn't seem to be a nice way to tell if the input box content was wrapped into several lines
12:10:58 <aleth> I didn't know that add-on, will try iy
12:11:01 <aleth> *it
12:11:19 <Mic> I'm not sure if it still works, may need a compatibility bump at least
12:12:10 <aleth> Anyway, I think that would be a separate patch ("Handle navigation keys differently when textbox empty" or something)
12:12:27 <aleth> My patch just introduces new navigation possibilities
12:13:45 --> Mad_Maks has joined #instantbird
12:15:05 <Mic> Ah! I thought all this was going into an add-on, but flo only asked for an add-on to change the behaviour
12:15:14 <Mic> hmm, now I pinged him. Sorry.
12:16:30 <aleth> Mic: The patch started because I thought the default behaviour on opening conversations from hold was wrong. It changed along the way.
12:17:11 <aleth> Btw, out of interest, what's your preferred behaviour when conversations are restored? Scroll-to-the-end or scroll-to-first-unread-message?
12:17:26 <Mic> That might depend on the circumstances ;)
12:17:53 <aleth> As always... certainly if you are pinged has to be treated differently
12:18:22 <Mic> If there's too much to catch up, then I most likely would scroll to the end and see what's currently being discussed
12:19:01 <Mic> Thanks for working on all this by the way :)
12:19:30 <aleth> Yes. The question is what's the most usual case.  And I think in conversation with flo it became clear that also differs from person to person.
12:19:55 <Mic> Machine learning the user behaviour? ;)
12:20:06 <aleth> Yes, let's add a little neural net
12:20:12 <Mic> Even better: an AI that summarizes the backlog for you :)
12:20:59 <aleth> That would be nice. Just a precis please ;)
12:21:06 <Mic> I think someone suggested machine learning to tell which tab/window someone would most likely like to go to/back when pressing tab/alt+tab
12:21:15 <Mic> I think that was on PMO one day
12:21:22 <Mic> Might be a year ago ..
12:22:35 <aleth> Actually that's one of the things missing in FF I think, Alt-Tab (or similar) when inside FF should let one cycle through thumbnails of currently open tabs.
12:23:50 <Mic> Alt+Tab is taken by a system wide shortcut already on MS Windows
12:24:05 <aleth> And on Linux... 
12:24:26 <aleth> But it's probably only me that keeps hitting it intuitively when I want to cycle between tabs and not windows
12:24:45 <Mic> Could be .. I can't remember. It's a year since I last used a Linux system (Ubuntu was it)
12:24:57 <aleth> I think Alt-Tab is pretty universal
12:25:15 <Mic> I'm away, need to fix lunch now
12:34:15 <flo> aleth: is ctrl+tag too difficult to use?
12:38:10 <aleth> flo: No, it's not. There are two things here - one is that Ctrl-Tab switches to the next tab immediately rather than showing me a list of thumbnails until I let go (as Alt-Tab does for windows), the other is that I've noticed that 'mentally' it seems I think of other tabs as windows sometimes, as I press Alt-Tab without thinking. 
12:39:16 <flo> I think there used to be some ctrl-tab preview in Firefox nigthlies in the past, but that has been disabled/removed before shipping a release
12:39:55 <aleth> It might not be trivial/fast when some of the tabs aren't loaded yet for example.
12:43:14 --> clokep_work has joined #instantbird
12:43:14 * ChanServ sets mode +h clokep_work 
12:46:40 <clokep_work> There was a tab previous behavior at some point I think, yes.
12:46:45 <clokep_work> (In Firefox.)
12:47:26 <aleth> Personally I think thumbnails are overrated and a cycleable list would be fine.
12:48:07 <aleth> That's also my problem with Panorama - lots of tiny thumbnails carrying zero information, all the info in the title which is abbreviated to something like 10 characters.
12:48:37 <clokep_work> Doesn't ctrl+tab cycle through a list?
12:48:55 <aleth> No, it just switches to the next tab.
12:49:05 <clokep_work> I don't see how that's different. :-/
12:49:13 <-- mmkmou has quit (Ping timeout)
12:49:16 <clokep_work> The list of tabs is a list, you're cycling through them...
12:49:25 <aleth> It's much slower ;)
12:49:52 <clokep_work> It's instantaneous...
12:50:24 <aleth> Not for me. But then I have tabs load on demand.
12:50:50 <clokep_work> Ah, well that's your problem then. :P
12:59:06 --> Mic1 has joined #instantbird
12:59:15 <-- Mic has quit (Ping timeout)
12:59:56 <-- flo has quit (Ping timeout)
13:01:10 <instantbot> clokep@gmail.com requested review from florian@instantbird.org for attachment 1035 on bug 1032.
13:01:12 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=1032 enh, --, ---, nobody, NEW, Scrolling to the first unread message is too difficult
13:02:01 --> flo has joined #instantbird
13:02:01 * ChanServ sets mode +qo flo flo 
13:05:20 --> mmkmou has joined #instantbird
13:14:31 --> hunsly has joined #instantbird
13:27:24 <-- Mad_Maks has quit (Quit: Instantbird 1.2a1pre)
13:27:34 --> Mad_Maks has joined #instantbird
13:45:50 <-- flo has quit (Ping timeout)
13:48:36 --> flo has joined #instantbird
13:48:36 * ChanServ sets mode +qo flo flo 
13:56:48 <-- Mad_Maks has quit (Client exited)
14:02:43 <-- jb has quit (Connection reset by peer)
14:02:44 --> jb has joined #instantbird
14:05:21 <-- BlueMaxima has quit (Quit: Instantbird 1.1)
14:11:20 <flo> clokep_work: how much work do you estimate there would be (for me) to review JS-IRC before we can integrate it?
14:16:36 --> jb1 has joined #instantbird
14:17:10 <-- jb has quit (Ping timeout)
14:22:18 <instantbot> aletheia2@fastmail.fm cancelled review?(florian@instantbird .org) for attachment 1035 on bug 1032.
14:22:19 <instantbot> aletheia2@fastmail.fm requested review from florian@instantbird .org for attachment 1036 on bug 1032.
14:22:22 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=1032 enh, --, ---, aletheia2, ASSI, Scrolling to the first unread message is too difficult
14:31:48 <-- jb1 has quit (Ping timeout)
14:32:48 --> jb has joined #instantbird
14:35:17 <-- harisund has quit (Ping timeout)
14:40:39 --> harisund has joined #instantbird
14:51:58 <clokep_work> flo: Well I've made some changes (renamed the files at the very least), which should be put up before review.
14:52:25 <clokep_work> Once that's done...I don't know how bad it'll be to review.
14:52:25 <flo> renamed utils.jsm to something I'm less likely to want to remove? ;-)
14:52:45 <flo> is l10n already handled?
14:52:47 <clokep_work> It's a lot of code, but I don't think it's terrible.
14:53:06 <clokep_work> The two (main) issues I know of are: l10n is not handled & CTCP formatting is not handled.
14:53:12 <clokep_work> utils -> ircUtils. ;)
14:54:37 <flo> socket.jsm??
14:55:08 <clokep_work> What about it?
14:56:13 <flo> why is it duplicated?
14:56:57 <-- clokep_work has quit (Ping timeout)
14:58:54 --> clokep_work has joined #instantbird
14:58:54 * ChanServ sets mode +h clokep_work 
14:59:15 <clokep_work> flo: Because I didn't put an updated patch up yet?
14:59:31 <clokep_work> We had this conversation already.
14:59:45 <clokep_work> There's no differences. I just added everything initially because I wasn't sure of differences.
14:59:53 <flo> I have a poor memory then :-/
15:00:10 <clokep_work> It's ok. I said I was going to remove it. I probably should have said that in the comment too though.
15:00:49 <clokep_work> If you wanted to review it for an overall "how the hell you did things", that's fine. Just don't comment on file names, etc. :)
15:01:10 <clokep_work> I'll hopefully have some time to look an XMPP tonight.
15:01:33 <flo> no, just trying to estimate how much time I should allocate for it if I want to promise we will have it working soon ;).
15:02:25 --> jb1 has joined #instantbird
15:03:04 <-- jb has quit (Ping timeout)
15:03:05 <clokep_work> Right. The actual irc.js is probably what needs the most review.
15:03:25 <clokep_work> The rfc & ctcp files are just handling messages.
15:03:38 <clokep_work> ("just" probably isn't an adequate description...)
15:05:56 <flo> and handling is a bit "vague" ;)
15:07:26 <flo> I'm about to cleanup/rewrite Varuna's saveIcon function
15:07:33 <flo> I'll probably put that in a method of the account prototype
15:07:58 <flo> I'm wondering if it should go in the XMPPAccount prototope or the GenericAccount prototype of jsProtoHelper
15:09:07 <flo> hmm, maybe in the XMPPAccount until we have another protocol that can benefit from sharing that method
15:11:26 <clokep_work> flo: Twitter can benefit.
15:11:33 <flo> really?
15:11:47 <clokep_work> If saveIcon is what I think it is...
15:11:51 <flo> the twitter code seems very happy right now with using the Mozilla HTTP cache for its icons ;)
15:11:51 <clokep_work> Is that how you set your own icon?
15:12:01 <clokep_work> Ah, never mind. :)
15:12:03 <flo> it's how you store an icon file in the profile folder
15:12:15 <clokep_work> Yes, never mind then. :)
15:13:00 --> Tomek has joined #instantbird
15:19:15 --> franksouza183 has joined #instantbird
15:19:22 <-- franksouza183 has left #instantbird ()
15:28:33 <clokep_work> flo: https://developer.mozilla.org/en/Components.utils.createObjectIn doesn't help us with the Twitter initLogModule fix we had, does it?
15:29:13 <flo> were we creating an object?
15:30:47 --> franksouza183 has joined #instantbird
15:30:52 <-- franksouza183 has left #instantbird ()
15:30:59 <clokep_work> We end up createing properties of a "this" object.
15:33:50 <clokep_work> AH you can add chrome w/ bootstrapped extension now? Interesting.
15:40:24 --> franksouza183 has joined #instantbird
15:40:29 <-- franksouza183 has left #instantbird ()
15:44:30 --> igorko has joined #instantbird
15:45:54 <clokep_work> Mic: This is interesting, but I don't think it really helps us : http://mxr.mozilla.org/mozilla-central/source/widget/public/nsIJumpListItem.idl#158
16:08:33 <-- Tomek has quit (Quit: Instantbird 1.1)
16:22:22 --> ecaron has joined #instantbird
16:29:43 --> chrisccoulson_ has joined #instantbird
16:30:17 <-- chrisccoulson_ has quit (Connection reset by peer)
16:30:25 --> chrisccoulson_ has joined #instantbird
16:30:27 <-- chrisccoulson has quit (Ping timeout)
16:44:00 * chrisccoulson_ is now known as chrisccoulson
16:50:30 * flo wonders if ecaron has seen the tweets from tiagojbsoares
16:51:04 * ecaron still trying to figure out what link to use as a "roadmap"
16:52:56 <flo> ecaron: the official roadmap is https://wiki.instantbird.org/Instantbird:Roadmap but there's nothing exciting listed for 1.2 :-(
16:54:33 --> myk has joined #instantbird
16:56:07 <aleth> SIPE support, maybe? (possibly exciting to those who need it)
16:56:23 <flo> is that ready?
16:57:27 <ecaron> flo: Any thoughts on the contact search request?
16:58:18 <flo> no
16:58:22 <flo> not even sure of what it is
17:01:06 <ecaron> There was a Twitter question about being able to search contacts.
17:01:18 <ecaron> It sounds like another feature for the hyper-connected individual.
17:01:18 <-- jb1 has quit (Connection reset by peer)
17:01:20 --> jb has joined #instantbird
17:01:36 <flo> yeah, but I'm not sure if it was about searching in your contacts, or searching for contacts to add.
17:01:43 <ecaron> Ah.
17:02:04 <flo> (I don't have any interesting thoughts to share on either of those though)
17:02:28 <ecaron> I'll see what conversation we can start with that guy.
17:02:40 <ecaron> Is it outside of Ib's philosophy to have bug bounties?
17:03:05 <flo> what would be a better name for xmppProtoHelper.jsm? It's (from my point of view) too close to jsProtoHelper, I keep confusing these 2 files.
17:03:18 <flo> xmppBase.jsm? xmpp-base.jsm? xmpp.jsm?
17:03:38 <ecaron> Regarding: "Is there a way to automatically connect with a certain status in all acounts?"
17:03:38 <ecaron> Can I respond: "Whatever status you were last connected with is the status that'll be used when you reconnect. Does that suit your needs?"
17:04:00 <flo> ecaron: it's the feature he requests
17:04:03 <flo> not the current behavior
17:04:32 <flo> I think there was an add-on for that feature at some point, or at least someone talking about making one.
17:04:48 <flo> I'm not sure if it's been completed and uploaded to AIO though :-/
17:04:52 <ecaron> That's your answer for everything;-)
17:05:03 <flo> "I'm not sure"? 
17:05:31 <ecaron> "There's an add-on for that"
17:05:40 <ecaron> I think addon 259 is what he wants
17:05:46 <flo> well, if there are add-ons for everything, it's great :)
17:05:59 <ecaron> Does instantbot have any AIO integration?
17:06:01 <flo> I reply very often "it's possible to write an add-on for that" ;)
17:06:06 <flo> no
17:08:05 <flo> maxVersion 0.3a1pre :(
17:09:13 <flo> certainly incompatible with nightlies (broken by the changes in bug 759)
17:09:16 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=759 min, --, ---, florian, ASSI, Reorganize purplexpcom
17:09:21 <flo> but the person on twitter is using 1.1
17:11:41 * flo decided xmpp.jsm
17:30:50 <-- aleth has quit (Quit: Instantbird 1.2a1pre)
17:36:24 <flo> clokep_work: the new attachement in bug 1171 should be clean enough to be reviewable.
17:36:29 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=1171 nor, --, ---, florian, ASSI, Replace the current binary XMPP plugin with a JS implementation
17:38:26 <-- Suiseiseki has quit (Connection reset by peer)
17:38:56 --> Suiseiseki has joined #instantbird
17:39:31 <-- myk has quit (sand.mozilla.org concrete.mozilla.org)
17:39:31 <-- micahg_ has quit (sand.mozilla.org concrete.mozilla.org)
17:39:31 <-- douglaswth has quit (sand.mozilla.org concrete.mozilla.org)
17:39:31 <-- lewellyn has quit (sand.mozilla.org concrete.mozilla.org)
17:40:38 <-- Tonnes has quit (Ping timeout)
17:46:58 --> myk has joined #instantbird
17:48:26 <-- gerard-majax has quit (Ping timeout)
17:48:39 <-- myk has quit (Ping timeout)
17:53:47 --> Mook_as has joined #instantbird
17:55:33 --> lewellyn has joined #instantbird
17:59:17 --> douglaswth has joined #instantbird
18:03:51 --> myk has joined #instantbird
18:14:27 --> jb1 has joined #instantbird
18:15:08 <-- jb has quit (Ping timeout)
18:18:20 <-- MadWookiee has quit (Quit: Instantbird 1.1)
18:22:38 <-- jb1 has quit (Quit: Instantbird 1.1)
18:26:13 --> aleth has joined #instantbird
18:35:20 --> gerard-majax has joined #instantbird
18:35:33 <-- mmkmou has left #instantbird ()
18:47:09 --> franksouza183 has joined #instantbird
18:47:14 <-- franksouza183 has left #instantbird ()
18:48:27 --> franksouza183 has joined #instantbird
18:48:31 <-- franksouza183 has quit (Quit: franksouza183)
18:48:43 --> franksouza183 has joined #instantbird
18:48:47 <-- franksouza183 has left #instantbird ()
18:50:03 --> franksouza183 has joined #instantbird
18:50:08 <-- franksouza183 has left #instantbird ()
18:54:11 --> Mnyromyr has joined #instantbird
19:40:32 <-- flo has quit (Quit: Instantbird 1.2a1pre)
19:41:59 --> micahg has joined #instantbird
19:50:46 --> EionRobb has joined #instantbird
20:03:51 <-- hunsly has quit (Ping timeout)
20:40:53 <clokep_work> flo: It compiles, I need to test it. I can't get it working on my laptop last I checked (and I think there might be an issue registering protocols in external dlls? I know it works for null...but everything else I've tried crashes and burns. :(
20:41:45 <clokep_work> flo: Someone made an add-on to reconnect with your previous status. I don't remember who or what it's called. :(
20:42:02 <clokep_work> I like xmpp-base.jsm (I prefer blahBlahBlah for everything, but that's not how any of the xmpp files are named.)
20:42:06 <clokep_work> Bug bounties? Who's paying? :P
20:42:33 <clokep_work> And I'll review that soon.
20:45:46 <EionRobb> so no more luck with the skype prpl?
20:51:07 <clokep_work> All I've done since last night is sleep and be at work. ;)
20:52:13 <-- aleth has quit (Quit: Instantbird 1.2a1pre)
20:52:21 --> aleth has joined #instantbird
20:59:40 <-- igorko has quit (Quit: Instantbird 1.1)
21:00:20 <EionRobb> unasseptabull.  norty stool.
21:04:23 <clokep_work> :P
21:04:34 <clokep_work> Ill update again tonight and import your files and see what runs.
21:04:48 <clokep_work> I think the issue I'm having is an Instantbird issue, not a Skype4Pidgin issue.
21:05:01 <EionRobb> could be a threading issue ;)
21:05:16 <EionRobb> if you get crash reports or something, feel free to pass on
21:05:47 <EionRobb> actually, there's some kind of auto crash reporting in IB, right?
21:06:59 <clokep_work> Yes, there is. :) EionRobb http://crash-stats.instantbird.com/query/query?product=Instantbird&version=ALL%3AALL&date=&range_value=1&range_unit=weeks&query_search=signature&query_type=exact&query=&build_id=&process_type=all&do_query=1
21:07:15 <-- Mic1 has quit (Quit: Instantbird 1.2a1pre)
21:07:31 <clokep_work> I'm getting an exception when opening the account window when I try to add a protocol that isn't statically compiled into purple.dll.
21:07:42 <clokep_work> This happens w/ SIPE, open steam works and skype4pidgin.
21:07:45 <clokep_work> So I don't think it's me. :-D
21:08:03 <EionRobb> oh, you're using the steamworks plugin too
21:09:57 <clokep_work> I had played w/ it a bit.
21:10:05 <clokep_work> I wasn't building it until yesterday when I was like WTF is going on.
21:10:08 <clokep_work> SIPE is in a separate tree though.
21:10:23 <EionRobb> don't care about sipe, I didn't write that one ;)
21:10:34 <clokep_work> Ah, did you write the steamworks one?
21:10:44 <EionRobb> yep :)
21:10:46 <EionRobb> why wasn't it building?
21:10:52 <clokep_work> That one compiled pretty much no problem. I think there might have been a typo in it.
21:10:59 <clokep_work> Because I removed it from the makefile. :P
21:11:09 <clokep_work> So *I* wasn't building it, not *it* wasn't building.
21:11:18 --> Tonnes has joined #instantbird
21:11:57 <EionRobb> ok :)   that one requires being compiled with msvc on windows anyway, so should have been lots easier
21:12:18 <EionRobb> annoying that c++ dlls aren't compatible between compilers like C dlls are
21:12:20 <instantbot> c++ sucks
21:12:29 <EionRobb> thanks, instantbot
21:12:44 <clokep_work> Yeah it was pretty easy. :) I had to change one thing I don't remember if it was in your code or the opensteamworks stuff. I'll run a diff later.
21:12:59 <EionRobb> with those crash stats, is it possible to filter it down to specific plugins (or keywords) and have them auto emailed?
21:13:29 <EionRobb> oh, I missed the advanced filters bit
21:13:32 <clokep_work> You can do keywords in the advanced menu.
21:13:41 <clokep_work> I don't think you can get auto-emailed though.
21:13:53 <EionRobb> rss feeds?
21:14:25 <clokep_work> It doesn't seem to have one, it's possible an updated version of socorro has it...but I don't think Eve n will want to update that. ;)
21:14:58 <clokep_work> It doesn't seem to though (https://crash-stats.mozilla.com/topcrasher/byversion/Firefox/8.0.1/7)
21:15:02 <clokep_work> Why do you ask?
21:15:34 <EionRobb> oh, if people are going to be using the skype/steamworks plugins, it'd be nice to be in the loop when things go horribly wrong :)
21:16:26 <clokep_work> Right. :) We'll bug you if there's issues. :P
21:16:43 <clokep_work> We've fixed a bunch of crashes in libpurple (we being flo :)) since we have crash-stats. Helps out a lot.
21:17:17 <EionRobb> that's very cool :)
21:18:46 --> flo has joined #instantbird
21:18:46 * ChanServ sets mode +qo flo flo 
21:19:17 <aleth> Re msn, just stumbled over this alternative msn libpurple plugin. You're probably aware of it, but if not: https://code.google.com/p/msn-pecan/
21:19:19 --> franksouza183 has joined #instantbird
21:19:33 <-- franksouza183 has left #instantbird ()
21:19:40 <clokep_work> aleth: Yes, one of their developers was working on getting it to compile in Instantbird at one point, not sure if he ever succeeded or not.
21:19:44 <flo> aleth: one of the msn pecan developers sometimes comes here
21:20:10 --> DGMurdockIII has joined #instantbird
21:20:14 <EionRobb> https://code.google.com/p/msn-pecan/issues/detail?id=313 ;)
21:20:18 * flo wonders if MSN on JS-XMPP is a viable non-crashy alternative
21:21:17 <aleth> That exists?
21:21:34 <flo> aleth: Microsoft opened an XMPP gateway recently
21:21:35 <aleth> Ah, you mean this? http://www.process-one.net/en/blogs/article/details_on_msns_xmpp_server/
21:21:40 <flo> a bit like facebook chat has an XMPP gateway
21:21:47 <EionRobb> oh I forgot about msn over xmpp.  I need to finish off my libpurple plugin for the auth for it
21:22:14 <aleth> Would be a nice way to avoid msn issues, if MS support it properly that is
21:22:22 <flo> EionRobb: who are the target users?
21:22:36 <flo> aleth: "if MS support it properly that is" is a total unknown :(
21:23:08 <flo> we already know that the XMPP gateway doesn't support file transfer, nor editing the roster
21:23:23 <EionRobb> flo: target users?  sounds like a marketing stunt :P
21:23:52 <flo> EionRobb: don't you like to know that some people will use what you spend time developing?
21:23:55 <aleth> "Current standard XMPP clients can not connect to Microsoft's XMPP server, since it has a specific and proprietary authentication schema, unlike Facebook"
21:24:23 <flo> aleth: yeah, it needs OAuth. But we already have OAuth code for twitter, so... :)
21:24:29 <EionRobb> flo: yes and no.  I mostly write stuff for myself and if other people like it and have feature requests I throw them in... unless someone has requested a plugin in #pidgin
21:24:39 <flo> that OAuth code is also being abstracted away to be used for DropBox
21:24:46 <aleth> Oh, at least something fairly standard then 
21:25:11 <flo> aleth: it's totally non standard, but based on a few standard building blocks :)
21:25:41 <aleth> lol, that's a nice way of putting it :)
21:27:35 <clokep_work> flo: "abstracted away...DropBox" as part of the Tb BigFiles stuff or by you?
21:28:11 <-- aleth has quit (Quit: Instantbird 1.2a1pre)
21:28:13 --> aleth has joined #instantbird
21:28:22 <flo> clokep_work: I'm not sure of what you meant with "prplnull works but my code doesn't, so it's surely a bug in the core". Were you just wanting to have people sympathize with you for the pain of debugging that? :-P
21:28:25 <flo> clokep_work: yes, for BigFiles
21:28:41 <flo> they are developing our future file transfer feature, so we can give them some of our code for it ;).
21:29:26 <clokep_work> flo: Awesome! :)
21:29:41 <clokep_work> I'm saying it's DEFINITELY a bug in core...I'm just saying that protocls that used to register (i.e. SIPE) don't anymore.
21:29:44 <aleth> great! :)
21:29:49 <clokep_work> But I need to go.
21:29:50 <clokep_work> Bye.
21:29:51 <-- clokep_work has quit (Quit: http://www.mibbit.com ajax IRC Client)
21:30:05 <EionRobb> flo: what's that?  is dropbox providing some kind of http file transfer fallback?
21:30:37 <flo> EionRobb: it's possible to upload files to dropbox via a REST API (OAuth authenticated)
21:30:51 <EionRobb> yep
21:30:52 <flo> and then files are publicly available throw a (non guessable) public HTTP url.
21:30:58 <flo> *through
21:31:02 <EionRobb> are you partnering with them though?
21:31:33 <flo> no (for Instantbird).
21:31:53 <flo> just registering the application to have an OAuth client id is enough
21:31:55 <EionRobb> ok.  :)
21:32:05 <flo> for Thunderbird, I'm not sure, so I won't say anything.
21:32:55 <flo> with millions of users, it's more likely that they can negotiate something interesting.
21:33:40 <flo> DropBox won't be the only possible file storage provider for Thunderbird
21:33:49 <flo> I just mentioned it because it uses OAuth
21:34:15 <aleth> Spideroak might be worth a look
21:34:32 * flo has never seen that name before
21:34:41 <aleth> https://spideroak.com
21:34:50 <flo> Ubuntu One may also be considered
21:35:17 <aleth> They are smaller, do something slightly different, and have a better encryption policy
21:36:39 <flo> I'm interested in finding a place where we could upload encrypted blobs of containing Instantbird users' logs
21:37:07 <flo> s/of //
21:38:04 <aleth> I don't know whether it would fit, however I've used it for backups, but not syncing.
21:38:08 <aleth>  They do have an API apparently https://spideroak.com/blog/20100311173000-introducing-the-spideroak-web-api
21:39:29 <aleth> It seems if you use their web API you lose one of their major selling points
21:40:01 <aleth> But of course if you do your own encryption anyway...
21:41:59 <EionRobb> what about using one of those other file sharing sites like rapidshare or filesonic or something?
21:44:20 <DGMurdockIII> 2(aleth2): look at http://www.syncany.org/
21:46:30 <EionRobb> ooh
21:47:17 <aleth> Interesting, so that's like an interface layer to wherever you have storage? I can't tell whether they've separated API from client
21:48:06 * Mook_as wonders what search would be like with the remote log storage
21:49:13 <DGMurdockIII> 2(aleth2): they have a channel on freenode irc server #Syncany
21:51:03 <-- aleth has quit (Quit: Instantbird 1.2a1pre)
21:51:06 --> aleth has joined #instantbird
21:52:11 <flo> Mook_as: we wouldn't search the remote logs
21:52:40 <flo> but on the machines where you enable the feature, they would be downloaded, decrypted and indexed locally
21:53:11 <flo> Mook_as: the point of putting (encrypted) logs in the cloud is to synchronize them between machines
21:53:21 <Mook_as> right, that makes sense
21:53:31 <-- Tobin has quit (Ping timeout)
21:53:52 <Mook_as> if we're low on disk, we could even through away the local logs in that case (but keep the local index)?
21:54:04 * Mook_as is assuming old logs are immutable
21:54:31 <flo> hmm
21:54:47 <flo> I'm not sure if it would be easy to access specific parts inside the encrypted blobs
21:55:18 <Mook_as> assuming the blobs are not huge, why not grab the whole blob?
21:55:20 <flo> I thought we may want to offer to disable completely local storage (if you are chatting from a machine which isn't yours) and store only online
21:55:35 <Mook_as> (decrypt locally, seek in that)
21:55:49 <flo> Mook_as: there are likely search results matching your request spread in several different blobs
21:56:08 <Mook_as> ah, right, and you need to show context, so you'd need to grab them
21:56:15 <Mook_as> so some sort of caching is required, bah
21:57:20 <-- aleth has quit (Quit: Instantbird 1.2a1pre)
21:57:25 --> aleth has joined #instantbird
22:08:37 <flo> aleth: "JavaScript strict warning: chrome://instantbird/content/accounts.js, line 617: reference to undefined property this._accountElement" :-S
22:09:14 <aleth> another one?
22:09:32 <aleth> oh joy
22:10:13 <Mook_as> I've got a persistent warning now in komodo about undefined property... on the line where I access a property of that "undefined" property and everything succeeds -_-
22:17:46 <instantbot> aletheia2@fastmail.fm cancelled review?(florian@instantbird .org) for attachment 1027 on bug 1182.
22:17:47 <instantbot> aletheia2@fastmail.fm requested review from florian@instantbird .org for attachment 1038 on bug 1182.
22:17:48 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=1182 nor, --, 1.2, nobody, NEW, "Reference to undefined property" JS warnings
22:20:08 <-- aleth has quit (Quit: Instantbird 1.2a1pre)
22:20:10 --> aleth has joined #instantbird
22:21:14 <flo> aleth: http://pastebin.instantbird.com/1131 this seems enough
22:21:35 <flo> (taking advantage of the absence of warnings with the || and && operators)
22:22:26 --> BlueMaxima has joined #instantbird
22:23:10 <aleth> flo: I am a little puzzled, as the new line in your pastebin is the current line in my accounts.js
22:23:23 <aleth> In which case there should not have been a warning in the first place
22:23:38 <flo> line 599 looks similar to line 617
22:24:38 <flo> (by the way, I think a ("_accountElement" in this) test would be more explicit at both these lines
22:24:39 <aleth> Ah, I see. Right. I have messed up line numbers due to the previous patch
22:26:09 <aleth> ("_accountElement" in this) should also be future-proof if the exceptional behaviour of boolean operators changes
22:26:30 <flo> ok, so you prefer that I change the code to that?
22:27:22 <aleth> I think that's better than relying on the operator trick. Either ("_accountElement" in this) or the null initialisation seems good
22:28:06 <aleth> The former is more elegant really
22:28:53 <flo> ok, so http://pastebin.instantbird.com/1132 is what I should commit then, right?
22:29:31 <aleth> Looks good :)
22:30:00 <instantbot> florian@instantbird.org granted review for attachment 1027 on bug 1182.
22:30:02 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=1182 nor, --, 1.2, nobody, NEW, "Reference to undefined property" JS warnings
22:31:59 <aleth> Ah, did you check that  ("_accountElement" in this) doesn't throw a warning? Compare https://bugzilla.instantbird.org/attachment.cgi?id=1026&action=diff
22:32:33 <aleth> I remember being surprised at that one\
22:32:50 <flo> why would it?
22:33:05 <aleth> Well, there would have been no need for that patch if it didn't ;)
22:33:27 <flo> no
22:33:36 <flo> but that patch is harder to review
22:33:39 <aleth> It wouldn't throw a warning in accounts.js either way because of the boolean operator thing still applying
22:34:30 <flo> just check in your error console
22:34:40 <flo> ("foobar" in this) will return false, without warning
22:35:25 <instantbot> florian@instantbird.org cancelled review?(florian@instantbird .org) for attachment 1038 on bug 1182.
22:35:27 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=1182 nor, --, 1.2, nobody, NEW, "Reference to undefined property" JS warnings
22:35:29 <aleth> That's what was puzzling me about https://bugzilla.instantbird.org/attachment.cgi?id=1026&action=diff
22:35:57 <aleth> Maybe I missed something
22:36:47 <flo> I think you missed something. But that code isn't easy to understand. I looked at that warning too, and wasn't sure of what needed to be done after 5 minutes.
22:37:42 <flo> and I'm sure attachment 1026 will be r- (initializing booleans to null can't be right), but I don't know yet what a correct patch is
22:38:35 <flo> this evening I'm starting by reviewing the easy patch that have a high likelyhood of reducing the number of warnings in my terminal while working on JS-XMPP :)
22:38:42 <flo> *patches
22:39:46 <aleth> That patch doesn't initialize the boolean, that's the point of the null value. But I mentioned when I submitted it that I though it inelegant.
22:41:13 <aleth> Ah, I think I see a better way to do it.
22:41:14 <flo> yeah... don't worry about that file, until we are out of easy warnings to get rid of :)
22:41:38 <flo> aleth: I'm looking at https://bugzilla.instantbird.org/attachment.cgi?id=1024&action=diff
22:42:32 <aleth> I can fix 1026 differently I think. The problem with days between submitting a patch and review is you forget what you did and why :/
22:42:47 <flo> there are at least 2          delete this.reconnectUpdateInterval; in that file
22:42:53 <flo> so I don't think initializing to null will help
22:43:10 <flo> sorry about that :(
22:43:28 <aleth> Good catch, that's probably from before I learnt to check for deletes
22:43:58 <flo> I suspect replacing the this.reconnectUpdateInterval tests with (... in this) tests would be better
22:44:43 <flo> hmm, except the warning is on this line: "clearInterval(this.reconnectUpdateInterval);" :-S
22:45:31 <aleth> Maybe the initialization value should be zero.
22:45:57 <aleth> clearInterval(undefined) seems a bad idea though so those deletes would have to go too
22:48:12 <Mook_as> what's wrong with clearInterval(undefined) ?
22:48:47 <flo> http://pastebin.instantbird.com/1133 this fixes the warning for me
22:49:55 <aleth> Avoiding the issue ;)
22:50:12 <flo> so in my error console, |this.foobar| causes a warning, but |if (this.foobar) 32; else 41; | prints 41 without warning
22:50:29 <aleth> I think in (...) it's interpreted as a boolean again
22:50:43 <flo> (by the way, I didn't even know it was a valid syntax to expect an if/else construct to return a value
22:51:12 <flo> aleth: so then testing the value would not cause a warning, but using it would cause the warning?
22:51:28 <Mook_as> yep, for the same reason if (document.all) is magic
22:51:33 <aleth> Seems so
22:51:54 <flo> |if (this.foobar == 42) 32; else 41; | causes a warning, though
22:52:11 <flo> |if (this.foobar === undefined) 32; else 41; | doesn't
22:52:14 <aleth> No longer boolean
22:52:28 <aleth> Though I am sketchy on JS type handling...
22:52:36 <flo> |if (this.foobar === null) 32; else 41; | cause the warning
22:52:41 <flo> so undefined has a special behavior too
22:52:45 <Mook_as> it's not even type handling; it's pretending to do hasProperty (vs getProperty)
22:53:15 <flo> Mook_as: so if hasProperty succeeds then it tests the value?
22:53:27 <Mook_as> right, something like that
22:53:36 <flo> Mook_as: it's crazy ;)
22:53:39 <Mook_as> it is!
22:53:43 <flo> aleth: so. Did you like my pastebin?
22:53:47 <aleth> :/
22:53:49 <Mook_as> (and hasProperty isn't a real thing)
22:54:07 <flo> (sure)
22:54:26 <aleth> flo: yes looks better than initializing with 0
22:54:35 <flo> ok, i'll take it then
22:55:53 <instantbot> florian@instantbird.org denied review for attachment 1024 on bug 1182.
22:55:56 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=1182 nor, --, 1.2, nobody, NEW, "Reference to undefined property" JS warnings
22:57:14 <-- aleth has quit (Quit: Instantbird 1.2a1pre)
22:57:26 --> aleth has joined #instantbird
23:02:23 <flo> aleth: I'm afraid https://bugzilla.instantbird.org/attachment.cgi?id=1021&action=diff doesn't fix anything
23:03:15 <flo> I would like to have steps to reproduce for the _topicKeyPress warning (reading the code, it's not obvious to me in which situation it happens)
23:04:33 <flo> a possible solution (even without finding what's causing finishEditTopic for no reason) is to add a if (!this.hasAttribute("editing"))\n return; at the begining of that method
23:07:53 <flo> for the warning about _conv, I would like to know what's trying to access that property before it's uninitialized, to see if we have a real bug
23:09:22 * aleth wishes for a debugger
23:09:39 * flo added if (!("_conv" in this)) debugger; at the line before and restarted his debug build
23:10:05 <aleth> :)
23:10:26 <aleth> so that can be done at least with a debug build
23:10:36 <flo> all these reviews aren't as trivial as they seemed :-/
23:10:49 <flo> I thought I could handled all of the patches in that bug in less than an hour
23:10:53 <aleth> No :/
23:11:15 <aleth> Sorry, some of the earlier ones I didn't know as much as I did at the end
23:11:38 <flo> it's obviously not happening
23:11:57 <flo> (it = handling that in less than an hour)
23:12:10 <-- Mnyromyr has quit (Quit: ChatZilla 0.9.86 [SeaMonkey 1.1.19/2010030105])
23:12:22 <flo> aleth: that in itself is a good thing: you are learning! :)
23:13:13 <flo> aleth: http://pastebin.instantbird.com/1134 here's the JS stack
23:14:43 <aleth> Coming to JS from C, some things are more different than they at first appear.  JS is almost more lisp-like (though I never really learned lisp)
23:16:17 --> clokep has joined #instantbird
23:16:17 * ChanServ sets mode +h clokep 
23:24:34 <aleth> flo: So it's registerWindow in imWindows.jsm that should be changed?
23:25:12 <flo> do you see anything wrong there?
23:25:43 <aleth> No, I'm trying to follow the trace to where it tries to get conv before it's initialized
23:26:59 <aleth> but I don't understand the reference to "chrome://instantbird/content/instantbird.js":44
23:27:08 <flo> My fix looks like this for the _conv warning: http://pastebin.instantbird.com/1135
23:27:53 <flo> just putting "t.setAttribute("label", aConv.title);" after "conv.conv = aConv;" would also have fixed the warning
23:27:58 <flo> and would have been easier
23:28:14 <flo> but when I see something wrong that the warning highlighted, I try to fix that too ;)
23:29:12 <flo> aleth: do you need help reading that stack?
23:29:23 <aleth> Yes, that was my question
23:29:40 <flo> did you begin at the end?
23:29:54 <aleth> Yes
23:30:15 <flo> there's nothing interesting that far down
23:30:37 <flo> but anyway, frame 8 is the load event listener of the instantbird.xul window (the mo_load function in instantbird.js)
23:30:38 <aleth> Ah, that explains it then. I couldn't see anything wrong :)
23:30:48 <-- myk has quit (Ping timeout)
23:30:57 <aleth> Yes, that's why I asked about registerWindow
23:31:38 <aleth> So in the trace, what we are seeing is the internal route to the conv getter?
23:31:50 <flo> in frames 4-7, it gets the conversation that needs to be shown (= the conversation that's the reason for the conv window to open), and creates a tab for it
23:32:08 <aleth> Right
23:32:38 <flo> right, we are seeing what called the .conv getter.
23:33:05 <flo> it turns out it's the updateTitlebar method of tabbrowser (uh? Why is tabbrowser touching anything inside the conversation?!)
23:34:03 <flo> and that method was called by onxblDOMAttrModified. This name indicates that XBL is doing some magic. But anyway, we are at http://lxr.instantbird.org/instantbird/source/instantbird/content/tabbrowser.xml#2070 because a "label" attribute has been changed
23:34:55 <flo> the next question is "which code has changed that label attribute?". The stack doesn't answer that, but looking at the tabbrowser.xml code, there's only one possible place (the one I've patched)
23:35:05 <flo> does this help?
23:35:07 <aleth> OK, thanks
23:35:22 <aleth> Yes it does
23:35:31 <aleth> I still don't understand frame 8 though
23:35:41 <flo> what don't you understand about it?
23:36:04 <aleth> How do you get from Conversations.registerWindow(window); to the conv getter?
23:36:35 <aleth> ah sorry
23:36:40 <aleth> Got it now.
23:37:20 <flo> :)
23:38:10 <flo> are you going to investigate more the _topicKeyPress warning, or should I just add a test on the "editing" attribute?
23:38:51 <aleth> Unless you think there is something hidden there, I'd say a test is enough
23:40:02 <flo> I've no idea of why finishEditTopic is called without startEditTopic being called before, so just adding a test is clearly a way to hide a bug
23:40:37 <flo> but that bug is most likely totally harmless
23:40:57 <aleth> It seems most of those warnings have turned out to reveal little bugs actually. Mostly harmless ones, but still
23:44:12 <flo> so should I check-in that additional test, or do you want to investigate?
23:44:49 <aleth> Check it in :)
23:45:02 <flo> ok
23:45:03 <aleth> I'm investigating the imThemes.jsm one...
23:45:32 <aleth> I can't reproduce it in the error console.
23:46:51 <flo> I'm patching tabbrowser.xml, so it may be a good idea to identify the cause for the this.mCurrentConversation warning
23:47:02 <flo> do you know what's Line: 262 for you in that file?
23:47:14 <flo> (or steps to reproduce)
23:47:23 <aleth>             if (this.mCurrentConversation == newConversation && !aForceUpdate)
23:48:04 <instantbot> florian@instantbird.org denied review for attachment 1021 on bug 1182.
23:48:08 <instantbot> Bug https://bugzilla.instantbird.org/show_bug.cgi?id=1182 nor, --, 1.2, nobody, NEW, "Reference to undefined property" JS warnings
23:48:34 <flo> thanks :)
23:49:37 <aleth> It just needs a ("mCurrentConversation" in this) &&, right?
23:50:35 <flo> it just needs swapping the order of things in the test
23:50:49 <flo> aForceUpdate is always true when this.mCurrentConversation isn't initialized
23:50:57 <aleth> even neater
23:52:53 <flo> do you have steps to reproduce for the warning in buddytooltip.xml?
23:54:38 <aleth> I can't remember :/ That patch doesn't look very good anymore actually
23:56:02 <flo> yeah... but putting r- without comment isn't really helpful either
23:56:22 <aleth> Some of those warnings, it
23:56:58 <aleth> scratch that