[05:10] back, looking into fsevents code again… [05:15] two separate bugs in this code [07:27] email sent, time to go. === teknico_ is now known as teknico [08:33] Good morning all! :) [09:51] morning all! [10:47] ok, I'm of to have lunch [10:47] * mandel lunch [11:13] good morning [12:21] hello all❗ [12:32] alecu, hi [12:50] morning! [12:51] * ralsina reads backlog, decides to explain mandel the true meaning of timeshifting [12:52] mandel: the idea is that you finish late because you START LATE [12:57] ralsina, hi [12:59] hi gatox [12:59] gatox: how do you feel this nice feature-freezing morning? ;-) [13:00] ralsina, jeje fine.... i'm adding the behaviour behind the ui now [13:01] ralsina, meh, details [13:02] gatox, question, where is the source code of the fsevents you sued, specially the one with your changes? [13:02] mandel, https://code.launchpad.net/~diegosarmentero/+junk/python-macfsevents [13:03] gatox: no rush on that [13:07] gatox: since mmcc and mandel are sprinting, could you be extra alert for reviews, specially those for mac they propose? [13:08] ralsina, ok! [13:08] gatox: also, stop whining about designer, which is pretty, nice, and the best thing since non-sliced bread! ;-) [13:08] alecu, ping [13:09] ralsina, jejejeje [13:09] mandel: did you see the RT mail? They will be killing monorail and setting up a beefier box in "a week" [13:10] ralsina, no I did not see it.. nevertheless it would be nice to finish setting it up so that we have jenkins and send them all the instructions to follow [13:11] mandel: pong [13:11] ralsina, sidnei filled a second RT so that monorail can connect to canoncical stack so that the slave can connect [13:11] mandel: yes, but I would like clarity on whether it's going to work and be useful this week, or if you should just drop that and move onto other stuff until the new box is up [13:11] ralsina, I don't think it will be useful :( [13:11] mandel: therefore it's not urgent anymore [13:11] mandel: pick your battles, etc. [13:12] mandel: a jenkins that takes 12 hours to run a job is the opposite of useful ;-) [13:12] alecu, what are we doing with fsevents, we already have gatox patches on top of it, I think we can push mmcc changes upstream but we shoud not ignore events, that is, send a create and a modify and wrap the modify in our code with an open & close_write [13:13] ralsina, ack [13:13] alecu, gatox, why did you not push the changes you maid upstream? [13:14] mandel, i have to propose my changes to the official repo of macfsevents..... but i've been busy with th menu and share links features [13:14] mandel: I did not understand your proposed solution ("send a create and a modify and wrap the modify in our code with an open & close_write") [13:14] mandel, i can do it today if necessary [13:15] gatox, mandel: wait [13:15] gatox: mmcc sent an email yesterday, with some issues he found on macfsevents [13:15] gatox: so we should propose both things upstream [13:15] gatox: I'll fwd you the mail [13:17] alecu, what I say, is, quoting the email: 'and fsevents.py ignores the second one.' and then his fix proposes and improved way to ignore the event by switching to !=. My idea is to send both events to upper layers [13:17] alecu, we get a create and a modify and is the second event, the modify which we wrap with an open and close_write just like we already have in our code [13:17] alecu, by the way, it is because we get two events that the root daemon works [13:19] mandel: you've only sent that mail to me! [13:19] mandel: would you mind re-sending it, and cc gatox. [13:19] alecu, puto evolution! sure [13:23] alecu, should have been sent to all [13:23] alecu, so, we need to send this to upstream, the way I see it fixed is by not ignoring events and if an event has two flags, generate two events [13:23] the lower level lib should not be trying to be smart [13:24] mandel: +1. The less brains we have, the lower the chance we'll meet zombies. [13:25] alecu, yes, I have tried to be smart before hehe [13:26] gatox, how manyu bugs did you have to fix? can you send me the info and I'll try to make it to the trunk, smae with the mmcc changes and I suppose we should add tests etc.. [13:27] mandel, ok, i'll send you an email [13:27] gatox, thx, lets try to get this fixed :) [13:48] dobey: as far as you know, is the u1db package ready to go? bug #1035392 [13:48] Launchpad bug 1035392 in Ubuntu "[needs-packaging] u1db" [Wishlist,In progress] https://launchpad.net/bugs/1035392 [13:52] joshuahoover: it's done. i guess the lp auto-bug-fixer thing didn't set it to fix released [14:12] alecu, ralsina, I think that we should agree to use the same cvs when we fork something mainly to keep the history and know when we did the fork.. [14:12] mandel: right [14:15] morning folks, making coffee, catching up, brb [14:19] mmmm, coffee! [14:28] mandel, you are right that we need to send both events - but we do still need to check the mtime against the snapshot because we only get per-directory events. [14:29] we can't get rid of the != check, because it's in a loop comparing all files in the snapshot to all files we've just seen - trying to figure out which file or files the event is about [14:31] mmcc, oh, true.. [14:31] I forgot it was per directory, lame [14:31] mandel: right :\ [14:32] there is a way to get per-file events from the code, but it's possible that we'd have to take snapshots anyway, since it might coalesce events (and I'm not sure it sends the file paths when it does, just dir paths) [14:34] mmcc, I'll work to get gatox changes in and will look at your code to add tests and try to send this upstream [14:36] mandel: sounds good - do you mean get his changes into my version? I branched from his version, so that's done already [14:36] mmcc, no, try to put this upstream plus your changes [14:36] mandel: aha, ok. sounds good [14:36] mmcc, also add tests to our u1client code so that we do know everything works [14:37] tedious but should be fast to do [14:37] I like that :) [14:37] not the tedious part, but the knowing everything works part :) [14:40] mandel so I'll go back to ctypes and smjobbless now… let me know if I need to explain any of my changes. [14:42] mmcc, great, let me know if you need any help [14:43] mmcc, also it looks like we are behind the current trunk of mfsevents (if you branched from gatox code) so we might have so extra bug fixes for free [14:43] mandel, interesting. looking… [14:45] mmcc, for example, they do have a small diff in the snapshot method, now during the walk the do 'obj in files + dirs' while the fork just goes over files [14:46] mmcc, also, they use lstat and not stat [14:46] the first one looks like a nice simplification, but shouldn't change behavior ,right? [14:47] the lstat change is interesting - what do we do on other platforms with links? [14:48] mmcc, we ignore them and we do not follow them [14:48] ignore them? so if I put something with a symlink into a synced folder, that symlink won't get synced? [14:49] mmcc, no, the main reason is that we just let you sync under ~ and your link can be outside ~ [14:49] mmcc, it is a requested feature [14:50] hmm. [14:52] gatox, can you please explain me what is going on here: http://bazaar.launchpad.net/~diegosarmentero/+junk/python-macfsevents/view/head:/fsevents.py#L197 [14:52] ?? [14:53] mandel, do you want to have a quick mumble about this lib behaviour? [14:54] gatox, even better :) [14:54] mandel, after standup? [14:54] sure, is very close [14:54] ack [14:54] oh hey, standup. thanks for the reminder gatox :) [14:55] mmcc, i always remember..... because i eat after the standup.... and i'm already really hungry jeje [14:55] :) [15:00] me [15:00] me [15:01] me [15:01] me [15:01] me [15:01] alecu, mandel thisfred ? [15:01] me [15:02] ralsina ? [15:02] dobey, ralsina is the third one [15:02] oh [15:02] i guess we typed at same time and i didn't see it :) [15:02] alecuuuuuu [15:03] * ralsina is lagged [15:03] zzzz [15:04] me [15:04] me [15:04] DONE: [15:04] Propose a couple of branche for control panel about New shares in the sync menu and the ui for Share Links tab. [15:04] TODO: [15:04] Finish with Share Links tabs: publish and share functionality. [15:04] BLOCKED: [15:04] No [15:04] briancurtin, go [15:04] DONE: lots of branches for dev-tools porting [15:04] TODO: one or two remaining dev-tools branches, then push on running sso on py3 and see what happens next [15:04] NEXT: ralsina [15:05] @ping [15:06] briancurtin, pong! [15:06] ok, everyone that said me, then alecu then thisfred. Go gatox [15:06] briancurtin, ralsina is the weakest link :) [15:06] ralsina, is your turn.. major lag there [15:06] dobey: go! [15:06] DONE: releases [15:06] TODO: finish releases, icon generating magic [15:06] BLCK: None. [15:06] mmcc: go [15:06] DONE: ctypes code for SMJobBless, bug hunt in fsevents.py [15:06] TODO: more SMJobBless & code signing [15:07] BLCK: no [15:07] NEXT: mandel [15:07] DONE: Look at fsevents issues. Done some tests to reproduce cases in which is borken. It is with small files (as mmcc mentioned, flags are merged) and in large and slow files such as moving a large file from a samba share. Drag & Drop and Copy also lack a in_modify event. Looked at the code of macfsevents upstream they have fixed a number of bugs that we have not. [15:07] TODO: Chat with gatox about his fsevents and try to understand them. Merge chages with trunk and add the ones proposed by mmcc to trigger both events (CREATE & IN_MODIFY). [15:07] BLOCKED: No [15:07] COMMENT: I'm working 'til late and I'll be taking a 2 - 2:30 (depends on traffic) break for rugby training. [15:07] NEXT: alecu [15:07] DONE: api doc for dash webcalls; got indicator-sync branch working, looks nice; reviews for brian's py3k branches; researched webclient implementation in vala [15:07] TODO: more on the dash [15:07] BLOCKED: no [15:07] NEXT: thisfred [15:08] thisfred or ralsina: go! [15:10] fight to the ping! [15:10] two pings enter, one pong leaves! [15:10] mandel, i'll be back in 5 min and we can have the mumble if you want [15:11] gatox, ok, ping me when you are back [15:11] DONE: dash talk with alecu & beuno, 1-1 with mandel, reviews, scheduled testing for releases, canonicaladmin, mgmt call, misc. TODO; help around, reviews, etc. talk with dobey about u1ms BLOCKED: no NEXT: dobey [15:11] DONE: documentation5 TODO: documentation6(-?) BLOCKED: no NEXT: no [15:11] Forgot: NOTE: I am terribly lagged, so I will go run some errands & lunch, will be back in about 90' [15:12] mandel - what was the issue you saw with moving large files? [15:12] mmcc, you wont get the in_modify at all yet with the root daemon you get the in_modify once it has been copied over [15:13] mandel, I think that'll be the same issue with mtime > snapshot.mtime. [15:13] I mean, I think the != fix will fix that too [15:13] question: instead of doing "me" at 11 or up to 5 minutes later, and then waiting for everyone to post their statuses, why don't we skip the "me' and just post the second part at 11. Worst thing that can happen is that some reports may get interleaved, which I don't care as much about as the fact that what could take about 20 seconds takes 10 minutes of interruption [15:14] mmcc, yes, I have the same impression too [15:14] ralsina, ^^ [15:14] mmcc, I have a manual 'script' to go through once everything has been merged with the current work at upstream [15:15] mandel: we can test that with my script that'll show the raw events from copying over - I was running two separate instances, one raw and one with the snapshots, and comparing the two - that's how I noticed the raw had more events… [15:15] mandel: ok, I'll let you work then :) [15:16] mmcc, I'm using the one you sent me + the daemon just because I have it installed hehe [15:17] mandel, back [15:18] mandel: I just meant two separate instances of the test event listening script in the branch I posted, not the rest of u1 client… [15:18] mandel, already on mumble [15:19] gatox, ok, launching the thing [15:19] mmcc, ah, ok [15:21] thisfred: OR we could all be here at 11 and do it in 2 minutes [15:21] ralsina, I know, but that has happened never [15:22] thisfred: I'll take another approach. At standup time, the time for "me" is exactly 2minutes. Then post statuses in order. Those who didn't say "me" give their statuses at the end whenever they are ready. [15:23] ok, let's see if that works. I do realize I'm at least as much to blame as anyone for it dragging on [15:23] thisfred: since *I* have to read all the statuses, and your proposed solution simply mean I have to check everything then hunt those who didn't post [15:24] it's just that even when I remember to say me, I'm then either waiting staring at my IRC client for 5 minutes or I get distracted and miss it when I'm pinged [15:24] so, alecu, dobey, mmcc, mandel, briancurtin, gatox, thisfred: tomorrow, I want the "me"s between standup and standup+2 minutes. If you are not here, don't bother me-ing, just post the status at the end [15:24] ralsina: ack [15:24] and I will notice those who are late and post bad things about them on twitter [15:24] that's fine, I quit twitter :D [15:24] thisfred: and +1 [15:24] thisfred: sorry, google+ [15:25] thisfred: and goodreads [15:25] hehe [15:25] thisfred: and facebook [15:25] thisfred: and posters in telephone posts [15:25] not twitter! I don't want @The_Real_Shaq knowing I'm late [15:26] Now that I read what I wrte, are posters called that way because they are put on posts? Or because they were put on post offices? Weeeeeeird. [15:27] ralsina: http://www.etymonline.com/index.php?allowed_in_frame=0&search=poster&searchmode=none says fasten to a post [15:27] now that's a site that could soak up an afternoon. [15:27] mmcc: gives a whole new meaning to "poster boy"! [15:27] From Old English pillar, door-post and Old French, from Latin postis (“a post, a door-post”) [15:28] having clarified that, I will now go to the bank [15:29] speaking of post offices, i need to run and get stamps to mail two letters as if its 1990. be back shortly [15:29] briancurtin: be sure to rewind your answering machine's tape before you leave so there's space [15:30] haha [15:36] ok, need to get lunch here as well. bbiab [15:49] gatox, how are the fsevents tests ran, the ones in the macfsevents I mean [15:50] mandel, mmm i don't remember... i thought it says in one of the files..... i'll check [15:51] gatox, ok, no worries I can find out [15:51] python setup.py test :P [16:03] * briancurtin back === teknico_ is now known as teknico [16:14] gatox, do you remember why you changed the latency parameter to 0 from 0.01 in fsevents? [16:15] mmcc, yes..... so we can receive more events.... and is not perfect, but we started to get more [16:16] gatox: so it was sending fewer events than changes? [16:17] mmcc, yes [16:18] gatox: how were you testing it? [16:19] mmcc, i had some scripts (i think that there are in the wiki you created), that generates a lot of folder and files inside [16:19] gatox: oh yeah, I remember seeing those - thanks! [16:26] * gatox lunch === gatox is now known as gatox_lunch [16:49] mmcc, I;'m adding a keyword param so that we pass our on latency and then be able to push it upstream [16:50] ralsina: 1-1? [16:53] mandel, ok. I'm about to send an email with some thoughts on alecu's question about a loaded system. [16:54] briancurtin: sure, in 5' [16:54] ralsina: i'll be in mumble [17:06] ralsina, mmcc I'm off to rugby and I'll be back in a few hours, ok? [17:07] mandel: ok, have fun, break nothing [17:07] ralsina, break them ;) [17:07] mandel: ack. dislocate nothing [17:07] break someone else's leg [17:07] mandel: avoid rabid racoons [17:07] mandel: walk in the shade [17:08] lol [17:08] * ralsina is all about protecting devs === gatox_lunch is now known as gatox [17:18] briancurtin: which branches from dev-tools need reviews? [17:18] ralsina: i'll put together a paste of them, 1' [17:18] briancurtin: I see 7 from you, all of them? [17:19] ralsina: there are 7 necessary for the porting (all prefixed with py3-) and a general one i just added a min ago [17:20] briancurtin: ack, will do those 7 then [17:35] briancurtin, alecu: confirmed success with the proxy working 100% on windows on 3.0.2b :-D [17:35] yessssss [17:35] [17:36] briancurtin, alecu: there is even a chance that PAC scripts may work since they are supported in latest Qt [17:36] at least in some cases [17:42] briancurtin: reviewing py3-int. You are not letting me run the test MAXINT*2 times, you fascist! [17:42] briancurtin: but more seriosuly, those one-line, obvious branches can merge with one review :-) [17:43] ralsina: i guess i got used to covering higher quantity changes from SSO in isolation by type [17:44] but yeah i probably should have just merged them in the end [17:44] briancurtin: no, the small branches are ok, it's just that those can merge with one review [17:44] briancurtin: it's a bonus for doing small branches :-) [17:45] ahh [17:47] ralsina: how do you tell LP to do one review for say three small branches? [17:48] briancurtin: LP doesn't require more than one review [17:48] briancurtin: so, if you feel the branch is trivial, you just approve it ater you got one [17:48] briancurtin: personal judgement, we are all consenting adults, etc [17:49] ralsina: oh oops i was mixing review with merge proposal, i thought you meant there was some secret way to do one MP for multiple branches. i got it now [17:49] briancurtin: ah, ok [18:03] thisfred, mmcc: https://code.launchpad.net/~dobey/ubuntu-sso-client/update-4-0/+merge/120626 please [18:06] dobey: mmcc is sprinting, I'll get it [18:06] oh [18:09] dobey, +1 [18:14] dobey: +1 from me too [18:29] ralsina: it seems you still can use bigger than int loops in tests: [18:29] >>> int(sys.maxint*2) [18:29] 18446744073709551614L [18:29] ralsina: anyway... those 3.0.2b news are wonderful!!! [18:30] briancurtin: you've seen the comment I added to this branch, right? https://code.launchpad.net/~brian.curtin/ubuntuone-dev-tools/py3-io/+merge/120478 [18:33] alecu: i didn't see that yet, but i'll get it fixed up [18:33] alecu: cool, I will let my test runner working until the heat death o the solar system ;-) [18:37] ralsina: we need a way to have jenkins survive thru the next implosion+bigbang cycle [18:38] alecu: latest cosmological measurements show universe will expand indefinitely, so problem solved [18:39] let's find a way to keep jenkins atoms close together enough then! [18:39] * briancurtin lunch [18:41] alecu: I propose rubber bands. [18:45] le sigh [18:54] i'll have to duck out early today in ~40 minutes, as I have to go somewhere ~30 miles away to pick up a freight shipment and it will take some time to get down there and back, but i'll try to get some more work done later tonight, or work longer tomorrow to compensate [19:05] dobey: ok, np [19:05] dobey: where are we on releases? [19:05] dobey: also, "a freight shipment"? What are you buying? Collectable fridges? [19:06] having to discuss one of the bits with security [19:06] ralsina: an engine [19:06] dobey: ack & ack [19:06] dobey: and awesome.. I never knew someone that had bought an engine :-) [19:08] briancurtin: I am finishing with your devtools branches, but ne has a needsfixing [19:08] *one has [19:09] dobey: the stable-4 branch for sso failed to merge [19:09] dobey: with a metric ton of lint! [19:09] i know [19:09] dobey: ok [19:09] ralsina: already fixed it, and already merged :) [19:10] dobey: awesome :-) [19:10] and i'm talking with security now [19:12] ralsina: thanks, i'll take a look [19:26] alright, gotta run. may be back later tonight. cheers all! [19:36] briancurtin: I am looking at your keys-usage branch an I am not sure it does the same thing after the change [19:36] briancurtin: or rather, I am sure it doesn't do the same thing, but maybe it's still ok :-) [19:37] briancurtin: specifically, it now executes the succeed in the case where self.wrapper.protocols.keys is empty and befre it didn't [19:37] ralsina: if keys is empty it wouldn't iterate over anything and would fall to the else [19:37] yes [19:38] briancurtin: let me think a bit more ;-) [19:38] briancurtin: yes, it didn't do that before [19:38] before, if keys was empty, it would not fall to the else [19:39] if keys was empty "if connected" would be false, so it would fall to the else [19:40] briancurtin: ok, then, I got it backwards. If keys is not empty, now it will fall to the else and before it wouldn't [19:40] since the else is executed whenever there is no break [19:41] ralsina: ah, yeah [19:42] briancurtin: again, not sure if that's actually bad because I don't have enough context [19:42] ralsina: i'll look into it [19:42] good catch [19:42] briancurtin: thanks [19:42] briancurtin: I looked extra hard because I never remember what for/else does :-) [19:43] it seems like that should be the operation of for/finally (if it existed) [19:44] briancurtin: exactly [19:44] else should be "do this if you didn't actually iterate because that thing was empty" [19:48] ok, with my ctypes-wrapped code not crashing but not giving useful errors either, time for lunch… [19:49] ralsina: oh, I totally missed that else. [19:50] briancurtin: I think you should add some test cases for the changes in that particular branch. [19:51] alecu: i'm thinking about if changing that one is actually worth it [19:52] briancurtin: perhaps it's not worth it, if we are changing the behaviour for wrong! :-) [19:53] yeah it's actually fine as-is, or it wouldnt get any cleaner if i was to mess with it [19:56] then I have no more branches to review :-) === lifeless_ is now known as lifeless [20:10] eod here! see you tomorrow people! [20:15] alecu: is https://code.launchpad.net/~brian.curtin/ubuntuone-dev-tools/py3-io/+merge/120478 more what you were looking for? [20:28] briancurtin: right! [20:32] briancurtin: +1 [20:32] * alecu loves test suites that run fast [20:52] ralsina, alecu, mmcc FYI I'm back :) [20:53] * mandel ran too much and throw up [20:53] that's how you know it works [21:10] briancurtin, do you see anything obviously wrong here: paste.ubuntu.com/1159755 [21:10] mandel: looking [21:11] briancurtin, thx [21:11] mandel, double * latency = 0.01 is initializing a pointer with a double [21:12] doesn't that give compile warnings? [21:13] mmcc, he, stupid me, but I just fixed it and I still get schedule gets at most 1 argument (4 given) [21:13] mandel: you only supplied one kwarg in the kwlist - you need to add thread, stream, callback, paths as well. the "|s" just makes latency optional but you still need the first four in the kwlist [21:13] mandel: your kwlist should be {"thread", "stream", "callback", "paths", "latency", NULL} (or whatever names you want to use) [21:14] briancurtin, awesome, it makes perfect sense.. stupid me [21:15] briancurtin, and that fixed it! [21:15] cool [21:20] mmcc, the macfsevents tests are really ugly, the use time.sleep everywhere.. [21:22] mandel, yep [21:26] mmcc, I'm not going to patch all their tests.. I'll do something around it to add tests to the new latency parameter [21:26] mandel, what do you mean by "something around it"? [21:27] mmcc, let me do a pastebin [21:30] mmcc, this: http://paste.ubuntu.com/1159785/ [21:32] mandel: ok, I get what you meant, thanks. I don't totally follow the second snippet but I don't think I need to yet [21:33] mmcc, I'll send you the code for a review before it goes upstream, but we will need to change the latency in or code to 0 since the default is the one they used, 0.01 [21:33] mandel: ok. [21:33] briancurtin: in py3-unicode-literals, I think that txwebserver.py is missing the "from __future__ import unicode_literals" line. [21:34] mandel: FWIW, I don't think we'll need latency=0 with the new code - since it checks for multiple event flags in one event now [21:34] mmcc, well, since we have it we can easily test the diff rather than having to compile it all the time :) [21:35] mandel: yep, good stuff [21:35] briancurtin, mmcc, mandel: I will do reviews late tonight, feel free to mention them here, I'll see them [21:36] alecu: argh, i thought i put that back in. had it before, reverted something, lost it...now it's back in [21:37] ralsina, ok, I'll probably will send a github url via email with the upstream changes we would like to have and will add some tests to our client [21:37] ralsina, yes you still own me the review where I removed the SBJson code form the project :) [21:37] mandel: will do it! [21:39] briancurtin: approved now [21:41] hey, all, can I get one more review on this? https://code.launchpad.net/~alecu/ubuntu-sso-client/fix-ssl-unicode/+merge/120013 [21:41] alecu: will look in 1' [21:50] alecu: approved [22:29] alecu, mandel - anyone with a mac around for a quick test? I want to share a folder containing a .app with you and have you try to run the .app. [22:29] mmcc: I've got a mac, if that helps [22:30] chaselivingston: sure, why not :) you need a u1 client, so give me a second to upload the one I just built that works better with uploads [22:31] haha ok [22:34] mmcc, I'm here :) [22:34] mmcc, share it and will be tested [22:35] ok mandel, I've shared it. [22:35] it's just a copy of TextEdit. just see if it runs when you double-click it… (I expect it not to, but I'm not sure what errors to expect) [22:35] mmcc, ok [22:36] chaselivingston: I guess never mind - since my upload of the new build… isn't uploading :| [22:37] mmcc: no worries, would love to try it out when I can though! [22:37] * mmcc goes off to double-check paths and versions [22:37] thanks chaselivingston, sooooon! [22:44] mmcc, can you zip the app, else it is a dir and the web interface does not work very well to download it [22:45] mandel: right, that's why you need the client… accept the share in the client. it's important that I don't zip the app - that'll preserve the internal symlinks [22:45] ok [22:45] if it's a pain, it's not critical right now. just thought it'd be a quick test [22:46] mmcc, is not a pain, but I have a problem the UI has a major bug where the check box to accept the share does not scroll with the rest, do we have sdtool in the bundle? [22:48] mandel: we don't have sdtool in the bundle but it runs fine from source with the right pythonpath. [22:49] mandel: but that's already too much work. let's shelve this until later [22:49] mmcc, as you please, I can do that in my morning :) [22:49] mmcc, or even take a look at the bug, it must be simple to fix [22:49] mandel which bug? [22:50] oh the UI bug [22:50] sure [22:50] mmcc, yes, the UI bug [22:50] right now I'm concerned that copying a big .zip into my u1 folder did not seem to generate the right events to trigger an upload… [22:51] it looks like the same bug I had before, with a create and no matching modify, but I'm using the new code…?! [22:51] mmcc, anyway, I just managed to merger your work with gatox and upstream, there are some failing bugs but is not dramatic, most of the work went on changing the code so that if other users dont change the code the behaviour is the same (mainly for gatox work) [22:51] mmcc, is that with the changes you added? [22:51] dammed.. [22:52] mandel: yes, unless I'm doing the packaging wrong. I'm running the test script now to see what's up [22:52] mmcc, how is the blessing work going, the deadline is a hard one so we should deliver something that works.. [22:53] hm, I checked and the .pyc inside the site-packages.zip in the packaged app has my new debug strings in it. ugh. [22:54] mandel, I have a ctypes version of the SMJobBless sample almost working now. todo is to code sign the sample, make sure that works then move that code into u1-cp and codesign u1-cp and the fsevents daemon. [22:55] the problem is that it doesn't give useful errors when the code signing is wrong, so it's going to be annoying to make sure it works - because code signing python .apps is not documented [22:55] mmcc, fuuu we are always fighting against the world.. [22:56] that's one reason why I stayed up last night working on the fsevents.py stuff, I wanted to have that working in case the code signing was difficutly [22:56] er, difficult [22:56] mmcc, is been two years and we always have had problems like this outside ubuntu, well, we will just get wisher [22:56] mmcc, ok, I'll work hard on the fsevents then as a back up of the back up he [22:57] ok mandel. I'm going to do a quick test to see what's up with copying in a 35MB .zip - why my changes didn't catch that - and then go back to code signing [22:58] mmcc, ok, let me know what you find, I'm running the fsevents tests with all the changes and seeing funny things lie PyCObject_AsVoidPtr called with null pointer.. I'll see what is going on [22:59] mandel: ok. good luck :) [22:59] mmcc, very appropriate thing to say at 1 am hehehe [23:00] mmcc, we are also getting deletes with no delete or rename flag.. bummer [23:01] mandel, that's the "HUH" string I put in? [23:01] mmcc, yep [23:02] there's a chance that's not actually an error. I put that in because I expected there to be either a remove(aka delete) or rename flag, but there might be another reason… should probably be some more info printed in that case to figure it out [23:02] mmcc, I'll put my money is some stupid attr changed [23:03] mandel, don't put too much money - I think that message only happens if there's a file in the snapshot that isn't in the observed set. attr changes shouldn't do that [23:04] mmcc, hm.. I really prefer the daemon way of doing things, at least I fully understand how it works [23:05] we should probably copy that raw_events dict in my debug script into the main script to let us print the flags as text there… [23:05] mmcc, I would say even add logging to the lib, there is no single way to see what is going on [23:06] mandel: couldn't hurt. it'd certainly be nice [23:06] mmcc, how can it be that I'm getting 3 events when a file is created, create, modify and None? that looks funny [23:07] mandel: sounds funny too. is there something you can paste? [23:07] remember there's always garbage events from .DS_Store… [23:08] mmcc, found the issue, I did something stupid in the merge [23:08] mandel: ah, that's good [23:08] mmcc, at least one more green test.. [23:12] mmcc, im a few sec away, I need to get a drink, this weather is crazy is 87 F at 1 in the morning.. [23:15] mandel: that's awful. [23:15] * mandel back [23:16] mmcc, is just crazy.. and I was running at 96 which explains why I nearly collapsed [23:17] yeah, got to be careful about that… [23:33] mandel: on my .zip experiment I am missing a modify event. I also got an instance of 'create detected but event not marked as create', which was surprising. it looks like there are some cases where a file being copied by the finder is reported as a rename instead of a create/modify... [23:33] (in which case, we might need to check the flags for rename if we detect a create from the snapshot, and issue an upstream modify then too) [23:34] mmcc, should we do a create, modify and rename? or just create and rename? [23:35] mandel: not sure… first I need to reproduce this :\ [23:37] mmcc, this fsevents lib is starting to be a little disappointing [23:41] mandel, agreed. === eu is now known as Guest91297 [23:47] mandel, my "HUH delete detected with no delete or rename flag" message is brain damaged - it's printed when the removed flag is not set *and* the renamed flag is set. it should test if they're both not set, which should not happen [23:47] I plead early AM hacking [23:49] mmcc, ok, so is not a huge problem, I'll fix that in my version [23:50] also, I've reproduced my .zip dragging issue. another thinko on my part, if you *move* a file in the finder into the watched dir, you get a single rename event. just rename, no create or modify. [23:50] if you *copy* a file into the watched folder you get create+modify - either two events or one coalesced event [23:50] this all makes perfect sense :) [23:51] mmcc, believe it or not it does, because the same happens on windows but you get amoved_to with out a moved_from or a mmoved_from without a moved_to :( [23:52] mmcc, I'll jot this down so when you get a rename event and is not in the snap we get a create + modify [23:52] mandel: I'm testing a fix now, it's going to be short. are you using bzr for this or just re-doing the changes in a git repo for upstream? [23:53] mmcc, I'm using git because we where outdated, but use bzr and i'll use patch to get them, is not a problem [23:54] mandel: ok will do [23:54] mmcc, also, if we can push all this to upstream better, I don't want to maintain yet another lib [23:54] mandel: agreed. [23:55] although I don't think it's all that actively used. we might be the de facto maintainers even if upstream is taking our patches [23:55] mmcc, it was updated 2 months ago.. or so it says one file in github.. [23:56] mmcc, but yest, I fear the worst.. tests have not been changed for about 3 years [23:56] mandel: yeah, I looked at the github commits, there's one guy who committed a couple minor changes, including one that copies the > instead of != bug from mtime into a check for atime [23:57] considering how noticeable these bugs should've been, that leads me to believe that people are only using this for hobby projects or something [23:58] mmcc, yes, it does smell a lot [23:58] mmcc, I think I did fix that != is that with the IN_ATTRIB event?