16:14:03 #startmeeting Cockpit public meeting 2014-11-03 16:14:03 Meeting started Mon Nov 3 16:14:03 2014 UTC. The chair is puiterwijk. Information about MeetBot at http://wiki.debian.org/MeetBot. 16:14:03 Useful Commands: #action #agreed #halp #info #idea #link #topic. 16:14:05 #meetingname Cockpit 16:14:05 The meeting name has been set to 'cockpit' 16:14:07 #chair puiterwijk andreasn mvollmer stefw sgallagh jscotka 16:14:07 Current chairs: andreasn jscotka mvollmer puiterwijk sgallagh stefw 16:14:09 jscotka, any topics from you? 16:14:09 #topic Welcome 16:14:14 .hellomynameis puiterwijk 16:14:15 puiterwijk: puiterwijk 'Patrick Uiterwijk' 16:14:22 mvollmer, nothing important 16:14:37 .hello sgallagh 16:14:38 sgallagh: sgallagh 'Stephen Gallagher' 16:14:42 last week I didn't have much time to work with cockpit 16:14:52 .hellomynameis mvo 16:14:53 mvollmer: mvo 'Marius Vollmer' 16:15:08 .hellomynameis stefw 16:15:11 stefw: stefw 'Stef Walter' 16:15:31 no Andreas today? 16:15:49 #topic Agenda 16:15:51 * dbus-json3 16:15:53 * binary channels 16:15:55 * state of host switcher 16:15:57 * blockers for porting next page into a package 16:16:09 #topic General status 16:16:49 err, sorry, that got stuck in there somehow 16:16:51 #undo 16:16:51 Removing item from minutes: 16:16:53 #topic dbus-json3 16:16:58 it's merged :) 16:17:14 stefw: hah, that's a short discussion :) 16:17:23 #info dbus-json3 merged 16:17:26 mvollmer, did some follow up pull requests 16:17:55 yep, i think we'll lerarn more as we use it more. 16:18:21 for example, should we have a proxy.release or similar method? 16:18:44 that will unsubscribe the signals 16:19:08 i am now writing the new dashboard with dbus-json3 and it works very well. 16:19:20 cool 16:19:31 mvollmer, i thought about proxy.release 16:19:36 but really closing the channel is more ideal 16:20:08 on the dashboard I now want to stop the resource monitor signals when it is not visible. 16:20:21 yes, unsubscribe makes a lot of sense there 16:20:23 but we already have a channel that we can use 16:20:36 i would suggest not using a proxy there 16:20:41 but custom code, since it needs better performance 16:20:55 yes, that's what I am doing, and works well. 16:21:42 ok, so summary, no new code with anything except dbus-json3. :-) 16:22:04 mvollmer, I would like to mention that I've tested cockpit with google chrome, and it works perfectly and I plan to test epiphany with proper certificate this week. 16:22:28 ... so i guess we could change the topic to browser testing 16:22:31 i have something to report there 16:22:35 ok 16:22:54 ... 16:22:58 err, next is binary channels? 16:23:00 but sure 16:23:03 #topic Browser testing 16:23:08 well jscotka wanted to discuss browser testing 16:23:17 i posted a branch that shows the reason why cockpit cannot run 16:23:18 stefw, no no, I only mention that :-) 16:23:21 it shows it on the login screen 16:23:26 but okay :-) 16:23:36 jscotka, if you could test that branch, that would be helpful 16:23:47 https://github.com/cockpit-project/cockpit/pull/1419 16:23:55 stefw, perfect I'll do that. 16:24:03 in the case of konquerer on F20 it indicates more clearly what the problem is 16:24:09 konqueror doesn't appear to do WebSockets 16:24:11 tomorrow I'll also test IE 16:24:12 at least that version 16:24:16 jscotka, great 16:24:21 IE10 should be our minimum 16:24:36 we need to add something to the guide about supported browsers 16:24:37 stefw, it is in which wersion of windows? 16:24:49 jscotka, i think you can install it on windows 2003 and later 16:24:51 not sure 16:24:54 exactly 16:24:58 stefw, or would it be possible to test it also via wine emulator? 16:25:03 hi! sorry for being late! 16:25:03 again, not sure 16:25:07 I think Vista+ (for client). XP is stuck on IE8 if I recall correctly 16:25:20 stefw, okay, it would be possible. 16:25:28 jscotka, i think figuring out and documenting how to do IE10 testing in wine would be an awesome project 16:25:33 it would allow us to cross check stuff more easily 16:25:51 but i'll put a list in the guide of what's supported 16:26:22 jscotka: just checked. IE10 is available for Win7+ 16:26:22 stefw, will see. I'm not sure if it is possible, I saw only IE8 running in wine 16:27:05 interesting 16:27:27 stefw, thanks for debugging output for troubles discovery. I'll test it tomorrow 16:27:30 jscotka, in addition it would be nice to have the login page readable (the failure message) on unsupported browsers 16:27:41 that includes crap like IE6 16:27:48 i think the layout could be wrong, but at least be readable 16:27:57 another thing we need to do is produce a good messag ewith noscript 16:28:00 would be interesting to test that 16:28:04 stefw, yes, with some suggestion, like link to firefox download page for example 16:28:58 nice idea½ 16:29:00 puiterwijk, one more agenda point, updating our website, now that we have more stuff online 16:29:01 ! 16:29:03 it would be nice to see cockpit running everywhere, also some broken or unsupported features but still readable 16:29:12 it won't run everywhere 16:29:13 stefw: sure, appended 16:29:17 we've specifically made the decision 16:29:20 light on the server 16:29:22 rich on the client 16:29:28 the client needs to be quite powerful to run cockpit 16:29:35 like disabled consoles, or some javascript features or some HTML5 elements but still working 16:29:36 our goal should be to make it run on all sorts of servers 16:29:38 not all sorts of client 16:29:53 we should run on browsers that are installable on all the main OS's 16:30:01 but not any ol browser and version 16:30:01 for example some view only mode. 16:30:14 unfortunately that's not gonna happen 16:30:18 everything, and i mean everything, uses javascript 16:30:23 no, it is only idea 16:30:51 stefw, propably javascript is supported for long time, but question is if every features are supported in older browsers 16:31:15 how old is older browsers? 16:31:17 jscotka: well, there's caniuse.com to see in wha browser versions what features are supported 16:31:28 andreasn, no idea :-) it is up to you 16:31:29 yes, and you can just do caniuse.com and type WebSocket 16:31:32 that's the ones we can support 16:31:44 i specifically haven't started requiring features that come after WebSocket support 16:31:51 http://caniuse.com/#search=WebSocket 16:31:54 so IE10 16:32:00 Firefox 11+ 16:32:03 Chrome 16+ 16:32:11 Safari 7+ 16:32:16 Opera 12.1+ 16:32:27 IOS Safari 6.1+ 16:32:34 Android 4.4+ 16:32:37 stefw, perfect. it is good page also to link from login page in case something wrong happen 16:32:42 and both Firefox and Chrome is on a automatic update mode on most OSes 16:33:00 #info To determine minimum supported browser versions, see http://caniuse.com/#search=WebSocket 16:33:14 there are other features we require than WebSocket 16:33:23 #undo 16:33:23 Removing item from minutes: INFO by puiterwijk at 16:33:00 : To determine minimum supported browser versions, see http://caniuse.com/#search=WebSocket 16:33:23 but they almost always are implemented earlier that WebSocket in a given browser 16:33:35 if there are some strange selbst-gebastelte browsers 16:33:37 #info To determine minimum supported browser versions that support websockets, see http://caniuse.com/#search=WebSocket 16:33:43 er... like home made browsers 16:33:52 so websocket is the most imporatnt and killing feature, isn't it? 16:33:54 that some dude made, that supports WebSocket but not some of the other requisites we have 16:33:58 then we also won't run there 16:34:03 jscotka, yes 16:34:45 okay, perfect, it is good to know. 16:35:00 [cockpit] stefwalter closed pull request #1422: bridge: Fix use of 0 instead of NULL (master...null-vs-zero) http://git.io/U0AQOw 16:35:07 stefw: I think WS is the most important feature and javascript support, not? the rest is mostly CSS and HTML stuff, and I don't think we do that many fancy stuff there 16:35:17 there are other javascript features that we depend on 16:35:23 Object.defineProperty (especially now in dbus-json3 code) 16:35:47 http://kangax.github.io/compat-table/es5/#Object.defineProperty 16:35:49 probably virtual consoles? 16:36:00 that's not a browser feature 16:36:01 we use border-radius, a css3 only feature for example 16:36:10 but that falls back to just square borders 16:36:17 ah, right. maybe we should get a list of the most important of those things and then determine minimum supported browser based on that? 16:36:20 we use JSON parsing 16:36:26 so should be ok on browsers that don't support that 16:36:27 localStorage 16:36:45 although i think localStorage/sessionStorage is not that critical 16:36:48 andreasn: right. but the CSS stuff is making it look nice. if the browser doesn't have that, the UI is just not as pretty, but should still work, not? 16:36:49 JSON, WebSocket 16:36:52 and now Object.defineProperty 16:37:04 puiterwijk, perfect 16:37:04 those are the things we require so far 16:37:07 puiterwijk: correct 16:37:08 with WebSocket being the watermark 16:37:09 stefw: is that the complete list? 16:37:18 well obviously lots of other stuff is asumed 16:37:26 so no, it's not a complete list 16:37:48 look at src/static/login.html for the things we check for before we allow cockpit to even start 16:38:09 the requisite-verbose branch (linked above) adds a couple more 16:38:23 we should to have to hard requirements and some optional, which allows to have nice look 16:38:27 right. so to make it easy for users I'd say swe should just maintain a list of browsers that should work, and a list that we tester work? 16:38:41 puiterwijk, https://github.com/stefwalter/cockpit/commit/b56b02b8acd6887998874374393e165341ea4882#diff-3e53449b5753406e10eb7da08e1fd98cR48 16:39:05 jscotka, yes, for example in the binary work 16:39:14 there's a TextEncoder() feature included in some browsers 16:39:20 for utf8 -> ArrayBuffer encoding 16:39:32 that is optional 16:39:39 and a fallback will be used if not available 16:40:47 sounds good. I can still imagine some admins with some oldschool tablets/paltops or something similar to be harkerish :-) 16:41:00 hacker-ish :-) 16:41:10 but that means Cockpit won't work with lynx? :-) 16:41:37 puiterwijk, if you implement websocket for lynx then it will :P 16:41:45 and javascript 16:41:54 or super browser http://links.twibright.com/ working also in framebuffer mode :-) 16:41:55 and ascii rendering of stuff 16:41:58 stefw: hah. would be fun to see: Cockpit test-based :-) 16:42:12 text-based* 16:42:39 ssh 16:42:45 anyway, guess we're getting silly here. next item on the agenda, or are there more browser testing-related things? 16:42:47 i think this agenda topic has expired 16:42:55 #topic Binary channels 16:43:03 stefw, hmm, it is not bad idea, to have something like - recompile web stutt for example to n-curses 16:43:15 i'm working on making our channels support binary 16:43:16 okay, flame end ;-) 16:43:31 they encode to base64 when the feature is not available in the WebSocket 16:43:41 major blocker is the old websocket proto, right? 16:43:43 this means we can do stuff like decode docker logs 16:43:57 mvollmer, yes, but working around that isn't that hard 16:44:01 ok 16:44:11 working with ArrayBuffer, base64, and utf8 stuff in the browser isn't fun 16:44:20 but with some polyfills from mozilla it works 16:44:32 so i'll have something to show probably tomorrow 16:44:42 i was just going to do a server side tool that read docker logs and forwarded the text 16:44:50 great 16:44:50 #info Binary support for channels in the works 16:45:06 but putting the work into binary channels is the proper thing to do, so we don't have to do that for every thing that happens to have a null character in it 16:45:29 also, this is the sorta thing we have to work out before the protocol is considered stable 16:45:41 enough to interoperate between different versions of cockpit 16:46:09 the protocol itself doesn't change 16:46:18 just some some options passed in channel open 16:46:34 to know whether a channel should be base64 encoded, and/or allow non-utf8 data 16:47:04 i think that's all on that 16:47:09 ok. 16:47:22 any comments welcome of course 16:47:25 would it make sense to use it for dbus? 16:47:35 i don't think so 16:47:46 the benefits we get from cleaning up the dbus on the server side are massive 16:48:01 in fact for many messages our JSON messages are smaller than the original DBus messages 16:48:02 no padding 16:48:07 no repeated dbus names 16:48:28 just as an example: a textual '1' is shorter than a uint32 16:48:31 and so no 16:48:32 on 16:48:41 ok 16:48:54 and parsing is also not an issue. 16:49:10 #topic State of the host switcher 16:49:15 err, sorry. 16:49:16 since JSON.parse is probably much faster than what we can cook up in JS 16:49:17 #undo 16:49:17 Removing item from minutes: 16:49:26 indeed 16:49:50 alright, next? 16:49:55 #topic State of the host switcher 16:50:33 andreasn is reviewing it, some graphics missing, I'd say, otherwise it's done. 16:50:45 looks really good! great work 16:50:46 andreasn, what do you say? 16:50:53 i need to try it out :) 16:50:54 cool 16:50:57 #info Host switcher under review by andreasn, just missing some graphics 16:51:10 yep 16:51:24 it doesn't include the revised overview page, right? 16:51:24 so how do we change the host avatar? 16:51:31 I have no idea yet 16:51:37 andreasn, correct, that's next. 16:52:02 In version 0.29 there is missing one thing what was possible in previous versions of cockpit ( I think taht in 0.26 it was possible) 16:52:12 andreasn, should we somehow bundle the avatar and the host color for the graphs? 16:52:40 do we want people to set the host color manually? 16:52:54 that was was stefw suggested too. Maybe 16:52:54 I was able to add one host moretimes. now it is not possibe. I'm not sure if it is feature, or but and should it be possible 16:53:10 so I use color coding for my servers, a little strap around the ethernet cables 16:53:16 but I have no idea how common that is 16:53:43 around the power cables too 16:53:47 we could put that in the same dialog as the avatar 16:54:04 and some good default colors 16:54:09 andreasn, i think choosing colors is really good, along with defaults 16:54:17 you can highlight servers to stand out, etc. 16:54:21 yeah, it needs great defaults 16:54:26 it's accessible too for color blind people 16:54:29 they can choose stuff that works 16:54:32 indeed 16:55:16 I'm thinking a good place might be in the hostname dialog. It kind of belongs together, but not 100% sure yet 16:55:27 ahh, good idea. 16:55:28 I'll post ideas on the bug about it 16:55:30 andreasn: I think I would agree with it being in the hostname dialog 16:55:32 host name shouldn't change 16:55:35 once server is setup 16:55:41 so i think it belongs in the avatar dialog 16:55:44 not with the host name 16:55:51 the host name should go into initial setup 16:56:04 the pretty name might change 16:56:08 true 16:56:12 i guess all those should be together 16:56:13 it's like the color, in a way 16:56:17 pretty name, color, avatar 16:56:19 and I think display name and avatar belong together 16:56:20 yeah 16:56:33 so hostname, yes, that is more dangerous to change, but would you change the host image more than once? 16:56:42 maybe that is also initial setup material 16:56:58 andreasn: maybe if you add another role to a server or something. I'd say you change color easier than the actual machine server name 16:57:12 could be 16:57:27 we have nothing at all for Roles right now 16:57:44 with "role" I meant configuration in this case :) 16:57:47 [cockpit] mvollmer closed pull request #1417: C: Location API (master...location-api) http://git.io/FMlN9A 16:57:55 oh, I see 16:57:57 yeah 16:58:29 like I have a mail server and I add DNS to it. then I might want to change the way it's shown 16:59:27 #agreed Display name, host color and host avatar modified in the same dialog 16:59:39 right, because you might have called it "Mailserver" before with a image of a letter or something 16:59:45 so yeah 16:59:56 lets talk more about it in the bug 17:00:02 bug...err...issue 17:00:05 sure 17:00:08 #topic Blockers for porting next page into a package 17:00:37 https://github.com/cockpit-project/cockpit/issues/1415 17:01:43 stefw: ^ 17:01:52 mvollmer, so lets say we wanted to port networking 17:01:54 any further blockers 17:02:01 once the location-api is in? 17:02:14 let me think... 17:02:24 plots might be a problem 17:02:32 hmmm, true 17:02:33 or require some reworking 17:02:42 yes, interesting 17:02:54 i imagine they would go into a another javascript file in the base package? 17:02:56 there is not super much value in cockpit-plot 17:03:25 do you think something like "traceroute" map of connected machines in cockpit? 17:04:11 stefw, I would consider starting the plot support from scratch. 17:04:22 is that a lot of work? 17:04:24 maybe more modular 17:04:32 no, I don't think so. 17:04:35 cool 17:04:35 a day or so. 17:05:15 for the dashboard we have to combine multiple ResourceMonitor proxies into one plot. 17:05:34 so I wrote that code from scratch directly with flot. 17:05:54 requires some thinking about indices, but it's quite straightforward in the end. 17:06:32 yes, i imagine it would be different 17:06:35 we could port the journal without that, right? 17:06:38 so I'd say we should have something that turns a Resource Monitor into a life sample array, and some way to specify default options. 17:06:49 and i guess user accounts? 17:06:54 yes 17:07:12 for user accounts, i would like to stop using cockpitd, if possible. 17:07:20 yes, that would be nice 17:07:24 we need file monitors for that, i think 17:07:30 but that shouldn't be too hard 17:07:31 yeah 17:07:45 right now we pummel docker with polling 17:07:46 i think file monitor should also fix that 17:07:50 is that something for the bridge? 17:07:54 yes, i think so 17:08:05 getting file contents, and monitoring files 17:08:08 how would a file monitor help with docker? 17:08:18 we can monitor files in /var/lib/docker and be aware of when it changes 17:08:21 certain files 17:08:27 hmm, right 17:09:10 so, journal? 17:09:20 yup 17:09:21 i can work on that 17:09:24 storage? 17:09:33 but that should also be ported away from cockpitd. 17:09:46 and get a nice model ala networking 17:10:21 stefw, you had #server pretty much ported, no? 17:11:01 yes 17:11:08 yeah, but it's changed a lot 17:11:11 it was really easy though 17:11:14 i can do it again 17:11:24 stefw, also, where do you see the multi-dashboard? in an iframe or as a "shell builtin"? 17:12:04 i think the question is where does the server shell go 17:12:05 does it get loaded from the server 17:12:16 stefw, for #server, we should port the realmd stuff away from cockpitd 17:12:17 or is it the same for all servers 17:12:21 mvollmer, true 17:12:34 mvollmer, i think we should discuss that later, perhaps 17:12:58 yeah, let's wrap up. 17:13:10 road map check? 17:13:13 still one more subject on my list 17:13:15 #topic Updating the website 17:13:24 right 17:13:27 once we have more of the various components in place, we can make a better decision on how the server-shell/dashboard should fall in and whether we think that the server shell would ever load differently from multiple servers 17:13:27 ie: when you go from one server to another 17:13:35 we have a guide now 17:13:41 http://files.cockpit-project.org/guide/latest/ 17:13:42 and a wiki 17:13:56 should we add a Documentation and Wiki links to our website? 17:14:06 our website looks quite dead right now 17:14:12 that is 17:14:13 yeah, good idea 17:14:15 cockpit-project.org 17:14:31 yeah 17:14:33 and more screenshots and screencastsa 17:14:38 screencasts 17:15:02 Maybe it's an idea to also submit the "What changed in Cockpit last week" to the website as a blog post-ish, so that people can see the website is still being updated and it's being worked on? 17:15:24 (github pages supports jekyll, so that should be pretty easy to do) 17:15:29 we would need some sorta blogging there 17:15:30 i've been thinking about doing a series of articles about cockpit 17:15:38 and so yeah, maybe we could post them there 17:15:38 like just the commits? 17:16:11 andreasn: well, raw commits is a bit too much I guess 17:16:19 but the weekly "What changeD" posts are perfect, I'd guess 17:16:40 and as said, github pages supports jekyll, so we can use that for blogging 17:17:53 no, more like tutorials, examples, 17:17:53 discussion of a new feature 17:17:53 how to do X with cockpit 17:17:54 etc. 17:17:54 videos 17:17:55 [cockpit] mvollmer closed pull request #1420: D: Load external pages from target host (master...packages-terminal-from-host) http://git.io/I2eRXQ 17:18:13 stefw: ah, right. so more "human"-written posts? 17:18:14 stefw: sounds good 17:18:24 yeah i think so 17:18:31 yeah, that sounds good as well 17:19:00 I mostly mentioned the "What changed" posts as then you'd be sure to always have a reason to post, rather than a few posts now and then nothing 17:19:13 sounds good. It will be also good for testing. 17:19:45 ideally with some importance of the issue. 17:20:07 I don't think we would be able to keep up one post for every week 17:20:29 andreasn: well, that's why I mentioned that "What changed", because we already write those, so just posting them there is easy 17:21:11 anyway, shall we move on? or more website stuff? 17:22:08 I can post a mockup for a structure for all new content, because I don't think the current layout is good for that stuff 17:22:17 for the website 17:22:18 andreasn: yeah, that sounds good 17:22:33 #action andreasn to make a mockup for new website for more stuff 17:22:34 andreasn, maybe a list of links to stuff hosted elsewhere would be good enough 17:22:44 because then we can use whatever format works best 17:22:53 link to youtube, our blogs, etc.. 17:23:05 and it's not so much work on remaking cockpit-project.org 17:23:24 true 17:24:28 I wanted to clean up at some point anyway. I want to create a proposal at least, and then we can decide 17:25:37 okay. let's do that 17:25:43 #topic Roadmap check 17:25:55 I have to go. Bye 17:26:08 o/ 17:26:23 later! 17:27:07 okay, so who's up for roadmap updating? 17:27:18 so, for the roadmap, one thing that is not on there, but that we touched upon earlier is Initial Setup 17:27:29 I guess that is "within 2 years" 17:27:59 there is some stuff in the wiki about that already I think 17:29:03 okay. any other updates? 17:29:06 stefw, mvollmer? 17:29:27 i don't think so 17:29:40 okay. then let's go to the last part 17:29:43 #topic Open Floor 17:30:02 so I wanted to bring up at least one thing here: the meeting time :-) 17:30:36 so far, in the emails, we've set them to 15:00 UTC. but seems you meant 17:00 Central European time. What do we put it on? 17:31:04 oh, right, daylight saving 17:31:04 CET time, most of us are here 17:31:24 stefw: okay. so 17:00 CET? 17:31:29 yes, i think so 17:31:38 yeah 17:31:53 #info Meeting time agreed on 17:00 CET, to follow timezones in Central Europe 17:32:00 I'll update my meeting minutes email with the new time 17:32:14 anyone else got anything? 17:32:15 thanks! 17:32:18 nope 17:32:30 if nothing else, I'm closing in a minute 17:33:30 Okay, thanks all for attending the meeting 17:33:32 #endmeeting