13:01:26 #startmeeting 13:01:26 Meeting started Wed Dec 10 13:01:26 2014 UTC. The chair is alinefm. Information about MeetBot at http://wiki.debian.org/MeetBot. 13:01:26 Useful Commands: #action #agreed #help #info #idea #link #topic. 13:01:26 #meetingname scrum 13:01:26 The meeting name has been set to 'scrum' 13:01:42 #info Agenda 1) Status 2) Open discussion 13:01:42 anything else? 13:03:07 #topic Status 13:03:07 #info Please provide your status using the #info command: #info 13:03:21 #info YuXin Finished testing on iPad(safari and chrome) and updated on test matrix page 13:03:22 #info YuXin Patches to fix 482/485/487/499/495/546 13:03:22 #info YuXin Investigated 463, should not be front end issue, backend need to check whether non-ascii got decoded correctly 13:03:23 #info wenwang tested kimchi and reported bugs 13:03:53 #info wenwang sent patch that fix bug#549 VM button icons unaligned 13:04:02 #info alinefm sent patches to fix issues #475, #491, #498, #479, #443, #530, #529 13:04:17 #info royce tested on Ubuntu 14.10, documented bugs as well as provided fixes for 4 bugs 13:04:21 #info wenwang sent patch that fix bug#477 Snapshot page ain't aligned using IE 13:04:49 #info alinefm sent patch to use cached capabilities values when get PCI passthrough result 13:05:39 #info simon complete 1.4 test on opensuse13.2 13:05:56 #info wenwang investigated on bug#518 Unable to download ISO to storage pool on Firefox 31.3.0 ESR and reported related bug to firefox forum 13:06:58 thanks all! 13:07:16 today, we are entering the hard code freeze which means only critical bug fixes will be merged upstream 13:07:47 it does not block any of you continue to fixing bugs and send for review on ML 13:07:53 but they will be merged after 1.4 release 13:07:58 sounds good? 13:08:01 ok 13:08:10 any label on bug to identify critical issue? 13:08:12 sure 13:08:39 it said 1.4 milestone 13:09:08 so all bugs labeled 1.4 milestone are critical? 13:09:27 not yet 13:09:38 I will do a clean up on there today after meeting 13:10:05 ok, it will be helpful for us to figure out priority 13:10:11 yeap 13:10:29 I will send an email to ML informing the update 13:10:38 and also asking for the translations 13:10:39 good 13:10:49 ok 13:11:20 #topic Open Discussion 13:11:27 what do you have for today? 13:12:18 for debug report, 1) on ipad, the download fail without any message. 2) I do not think there is any tool on iPad to open debug report 13:12:55 YuXin, did you check the kimchi logs? no errors there? 13:13:16 even if a mobile device can not open a debug report file, the user can mail it to somewhere, etc 13:13:47 but on ipad where the debug report will be downloaded to, I am thinking 13:14:14 the mobile devices have own download location 13:14:28 for example, on Android devices we have a "Downloads" folder 13:14:30 have you even tried on android device? 13:14:40 no 13:15:03 ok, I will check backend log to see any error occured there 13:15:30 for 463 13:15:33 YuXin, about 463: the kimchi server works with unicode: so it should receive unicode and return unicode 13:16:16 I see a log at backend and it says something like unicode decode fail 13:16:29 in this bug, the server returns "\uae40\uce-58-net" and UI uses "김치-net" 13:16:59 when sending the request back to server, we should use "\uae40\uce-58-net" instead of "김치-net" 13:17:19 YuXin, there is no traceback on backend related to unicode decode error 13:17:39 the problem is the server can not find the element "김치-net" because it has "\uae40\uce-58-net" instead 13:17:39 "\uae40\uce-58" are just javascript unicode literal 13:18:00 yeap - the encodeURICompenent() 13:18:24 why backend does not use utf-8 to persist it 13:18:36 backend is alwasy unicode 13:19:02 we already use encodeURICompenent() in most of our calls to server 13:19:05 encodeURICompenent() will not transform non-ascii to unicode 13:19:11 it is another encoding 13:19:13 we just need to make sure all the data is using it too 13:19:36 alinefm, the current problem is somewhere like template 13:19:52 add a network with a Chinese name to template 13:20:03 I know the problem 13:20:14 then the Chinese network name will be posted as message body, not on url as parameters 13:20:19 if happens because we are not encoding the network name to send to server 13:20:31 server knows "\uae40\uce-58-net" instead of "김치-net" 13:20:42 you receive "\uae40\uce-58-net" from server 13:20:47 and then send "김치-net" 13:21:22 \uae40\uce-58-net means nothing at backend I think 13:22:03 it means a valid network =) 13:22:12 look: https://cloud.githubusercontent.com/assets/4921718/5362735/ecb912f2-7fbc-11e4-9774-1856888cdf0c.jpg 13:22:18 that is the server response 13:22:25 take a look in the network name 13:22:27 for "\uae40\uce-58-net", it is kimchi created and persisted through libvirt, right? 13:22:45 yes 13:23:11 then virt-manage will definitely fail to interprete this name, right? 13:23:18 why? 13:23:53 how can virt-manager know whether "\uae40\uce-58-net" is unicode or just user named it like this 13:24:16 let me try 13:24:20 a moment please 13:24:53 "\uae40\uce-58-net" is used by Kimchi 13:25:04 when creating the network we encode it to utf-8 13:26:57 utf-8 will work well 13:27:24 as the Chinese network name in template are posted to backend encoded in utf-8 13:27:52 backend got this name, decode with utf-8, it will have the network name in python runtime 13:28:16 then just use it as a python string to query the network from libvirt, then it will work 13:29:21 aline, I do not have vnc on this machine, it takes time to download 13:29:57 the server returns the data encoded! 13:30:01 and we will not change it 13:30:13 so the requests must do the same 13:30:41 it is the same case when you will start/stop a network named "김치-net" 13:30:50 you send the data encoded to "\uae40\uce-58-net" 13:31:55 let me try 13:32:32 https://9.123.141.22:8001/networks/%E6%88%91%E7%9A%84/activate 13:33:03 the network name is encoded using encodeURICompenent() 13:33:12 it is not unicode 13:33:44 the unicode is "\u6211\u7684" 13:34:04 >>> unicode("김치-net", "utf-8") 13:34:05 u'\uae40\uce58-net' 13:34:37 these unicode are javascript literal, not for backend persistency and logical processing 13:35:17 YuXin, sorry, but I am not understanding your point 13:36:15 my point is: you receive '\uae40\uce58-net' from backend, uses decodeURIComponent() to get "김치-net" and display on UI 13:36:31 then you need to use encodeURIComponent() to get the real value to send back to server 13:37:19 let me show you what decodeURIComonent("\uae40\uce58-net") 13:39:19 to show "\uae40\uce58-net", no decodeURIComonent is needed 13:39:19 do below 13:39:34 var t = "\uae40\uce58-net"; 13:39:44 console.log(t); 13:40:27 encodeURIComponent() is not to transform a string into unicode literal expression 13:41:26 http://www.w3schools.com/jsref/jsref_encodeURIComponent.asp 13:42:10 if you receive '\uae40\uce58-net' from server, how the UI display "김치-net" ? 13:43:45 $('network-name-div').innerHTML = '\uae40\uce58-net'; 13:44:05 aline, do you have firebug right now 13:44:10 yes 13:44:17 turn on firebug 13:44:32 go to the console tab 13:44:50 I am there 13:44:58 in console tab, at the bottom, you can input any javascript code and run it 13:45:34 please input '\uae40\uce58-net' 13:45:47 have you found that? 13:46:21 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Values,_variables,_and_literals?redirectlocale=en-US&redirectslug=JavaScript%2FGuide%2FValues%2C_variables%2C_and_literals#Unicode 13:46:51 go to this page, search "var x = "\u00A9 Netscape Communications";", read that section 13:47:15 so you don't need to do any type of encoding on "'\uae40\uce58-net'" and it is converted to "김치-net" on browser 13:47:23 yes 13:48:13 "\uae40\uce58" are just unicode literal, a way to express text, especially those beyond keyboard input 13:48:47 so in the network combobox you should use " 13:48:57 I hope the "value" is keep as it is 13:48:58 that is ok 13:50:08 but I am wondering now how the activate/deactivate network works 13:50:10 this can work as html source, once it is loaded by browser, check html dom in firebug, it will be 13:50:25 do you have the same map somewhere there? 13:50:50 did not get you, what do you want 13:51:33 encodeURIComponent & decodeURIComponent, they are on top of utf-8 13:52:46 encodeURIComponent will transform the string into a series of ascii character 13:53:54 aline, what right now is confusing you 13:54:51 I deactivated the network "김치-net" and I got the request: POST https://localhost:8001/networks/%EA%B9%80%EC%B9%98-net/deactivate 13:55:15 in this url, it is encodeURIComponent 13:55:29 I assume "%EA%B9%80%EC%B9%98-net" is encodeURIComponent("김치-net") result 13:55:30 right/ 13:55:34 yes... 13:55:37 correct 13:55:45 so it should work in the template list as well 13:56:06 without needing the map value ( ) 13:56:42 when template, the Chinse network name is in message body, not on url 13:57:22 the message body can contain whatever text 13:57:52 ok... and? 13:58:25 those text in message body are encoded with utf-8 by browser and post to backend 13:58:52 backend got the message, just decode with utf-8, then backend will get python string 13:59:25 that python string is language expression and can be used to whatever compare 13:59:55 I mean programming language expression 14:00:19 hmm ok 14:00:54 so the only solution is use the value attr in