{"push_id":1018266164,"size":39,"distinct_size":39,"ref":"refs/heads/master","head":"01afea214bf853a50fb2f003f5d939f3b26b1d15","before":"8f3c0f6b9b5e5c23a7dc7e90bd22901017ab4fc7","commits":[{"sha":"bc4414f5b15c348bdc8a2abde0f4a34420c0c71c","author":{"email":"8ea548d7adacb6e81ce31e1ecef22dcd9af8f64b@redhat.com","name":"Solly Ross"},"message":"CI: Switch to Container-Based Travis\n\nThis commit switches the Travis tests over to Travis's new\ncontainer-based infrastructure.  It also tells Travis to\ncache the node_modules directory for faster setup.","distinct":true,"url":"https://api.github.com/repos/DexterInd/noVNC/commits/bc4414f5b15c348bdc8a2abde0f4a34420c0c71c"},{"sha":"efed2eeafd7f80f012fffbb18c05079db2bdbbd7","author":{"email":"8ea548d7adacb6e81ce31e1ecef22dcd9af8f64b@redhat.com","name":"Solly Ross"},"message":"Fix up vnc_playback.html and playback.js\n\nThis commit fixes vnc_playback.html and playback.js\nso that they work with the current version of noVNC.","distinct":true,"url":"https://api.github.com/repos/DexterInd/noVNC/commits/efed2eeafd7f80f012fffbb18c05079db2bdbbd7"},{"sha":"0442e153a1cad88e823926e596bcb3cff0aacabe","author":{"email":"8ea548d7adacb6e81ce31e1ecef22dcd9af8f64b@redhat.com","name":"Solly Ross"},"message":"Fix RFB.js JSHint Errors\n\nThis fixes a couple of JSHint errors in RFB.js caused\nby using `==` instead of `===`.","distinct":true,"url":"https://api.github.com/repos/DexterInd/noVNC/commits/0442e153a1cad88e823926e596bcb3cff0aacabe"},{"sha":"6940936ffcf3d39ee450bfc16f27722b2ece4fd1","author":{"email":"8ea548d7adacb6e81ce31e1ecef22dcd9af8f64b@redhat.com","name":"Solly Ross"},"message":"WIP: Switch to Pako for zlib\n\nThis commit introduces an alternate implementation of the zlib\ndecompressor based on Pako (https://github.com/nodeca/pako).","distinct":true,"url":"https://api.github.com/repos/DexterInd/noVNC/commits/6940936ffcf3d39ee450bfc16f27722b2ece4fd1"},{"sha":"6c883653a23aec7220b7b8cd042c90554fcb28cc","author":{"email":"8ea548d7adacb6e81ce31e1ecef22dcd9af8f64b@redhat.com","name":"Solly Ross"},"message":"Remove unecessarily nested loop\n\nThis commit removes a nested loop in indexedToRGB, converting it into a\nplain loop without multiplication.","distinct":true,"url":"https://api.github.com/repos/DexterInd/noVNC/commits/6c883653a23aec7220b7b8cd042c90554fcb28cc"},{"sha":"38781d931ec18304f51ed3469faff8387e3cbc55","author":{"email":"8ea548d7adacb6e81ce31e1ecef22dcd9af8f64b@redhat.com","name":"Solly Ross"},"message":"Use Typed Arrays for the Websock receive queue\n\n**This commit removes Base64 (and Flash) support**\n\nThis commit converts websock.js to used Typed Arrays for the\nreceive queue (and tweaks rfb.js to ensure that it continues\nto function, since only Firefox implements\n`%TypedArray%.prototype.slice`).  Base64 support was removed\nto simplify code paths, and pave the way for using Typed Arrays\nfor the send queue as well.\n\nThis provides two advantages: first, we allocate a buffer ahead\nof time, meaning the browser doesn't have to do any work dynamically\nincreasing the receive queue size.  Secondly, we are now able to pass\naround Typed Array Views (e.g. `Uint8Array`), which are lightweight, and\ndon't involve copying.\n\nThe downside is that we initially allocate more memory -- we currently\nstart out with 4 MiB, and then automatically double when it looks like\nthe amount unused is getting to small.\n\nThe commit also explicitly adds a check to the compacting logic that\navoids calling the copy functions if `_rQlen === _rQi`.","distinct":true,"url":"https://api.github.com/repos/DexterInd/noVNC/commits/38781d931ec18304f51ed3469faff8387e3cbc55"},{"sha":"d1800d0960ad9c3d2ff20c990f5886d2edf7f514","author":{"email":"8ea548d7adacb6e81ce31e1ecef22dcd9af8f64b@redhat.com","name":"Solly Ross"},"message":"Avoid Creating Small Objects Frequently\n\nCreating lots of small objects frequently can drastically decrease\nperformance.  This commit introduces three fixes which avoid this:\n\n- Use a preallocated palette and indexed-to-rgb destination Typed Array\n  (the destination typed array is currently allocated at `4 * width *\n  height`).\n\n- Inline `getTightCLength`, which returned a two-item array.\n\n- Pass RGBX data directly in a Typed Array to the Display, which\n  avoids an extra loop, and only creates a new Typed Array View,\n  instead of a whole new ArrayBuffer.","distinct":true,"url":"https://api.github.com/repos/DexterInd/noVNC/commits/d1800d0960ad9c3d2ff20c990f5886d2edf7f514"},{"sha":"9ff86fb718477515ede2d6457f06643935d76bcd","author":{"email":"8ea548d7adacb6e81ce31e1ecef22dcd9af8f64b@redhat.com","name":"Solly Ross"},"message":"Use Typed Arrays for the send queue\n\nThis commit converts the send queue to use typed arrays, and converts\nmessage creation functions in 'rfb.js' to create messages directly into\nthe socket's send queue.  This commit also removes the separate mouse array,\nwhich is no longer needed.","distinct":true,"url":"https://api.github.com/repos/DexterInd/noVNC/commits/9ff86fb718477515ede2d6457f06643935d76bcd"},{"sha":"07f514d887c27369f7675296a2cb1cb6d664cd91","author":{"email":"8ea548d7adacb6e81ce31e1ecef22dcd9af8f64b@redhat.com","name":"Solly Ross"},"message":"Allow the use of the PhantomJS remote debugger\n\nThis commit adds the '--debugger <port>' option, which triggers\nthe PhantomJS remote debugger.  The initial output of the terminal\nwhen running the debugger gives more information on how to use\nit.","distinct":true,"url":"https://api.github.com/repos/DexterInd/noVNC/commits/07f514d887c27369f7675296a2cb1cb6d664cd91"},{"sha":"b0b5fc55e1fe5c575855104e9ce6df79329a8db7","author":{"email":"8ea548d7adacb6e81ce31e1ecef22dcd9af8f64b@redhat.com","name":"Solly Ross"},"message":"Fix multi-line assertion messages in test runner\n\nThis commit prevents multi-line error messages from being\ntruncated in the local test runner ('tests/run_from_console.js').","distinct":true,"url":"https://api.github.com/repos/DexterInd/noVNC/commits/b0b5fc55e1fe5c575855104e9ce6df79329a8db7"},{"sha":"f00193e08f7c55a7b0b55556ef96b10b41dd3bc3","author":{"email":"8ea548d7adacb6e81ce31e1ecef22dcd9af8f64b@redhat.com","name":"Solly Ross"},"message":"Skip unnecessary render queue object creation\n\nThis commit skips object creation for the render queue when not\nneeded.  Instead of pushing an object onto the queue, and then\nimmediately running the result, you call the function directly.\nThen, if the render queue is not empty, an object is created and\npushed onto the queue.  Otherwise, the functionality is just run\ndirectly.","distinct":true,"url":"https://api.github.com/repos/DexterInd/noVNC/commits/f00193e08f7c55a7b0b55556ef96b10b41dd3bc3"},{"sha":"a825582196c69b5999032af00fd87590fc62fdc3","author":{"email":"c16aab9fe3288df0fb8fc1d24990a300b6b8f299@cendio.se","name":"samhed"},"message":"Only work with integers when panning to avoid getting a blurry image.\nAlso disable image-smoothing to avoid bugs seen on Android which were\nalso causing a blurry image while panning.","distinct":true,"url":"https://api.github.com/repos/DexterInd/noVNC/commits/a825582196c69b5999032af00fd87590fc62fdc3"},{"sha":"abf2b09ea7ca59d006c250ea96c5f219f83ca7d0","author":{"email":"68be2e924aad41ebcaf0e4c94ea6f5c49366a024@gmail.com","name":"Solly"},"message":"Merge pull request #488 from kanaka/feature/more-perf-improvements\n\nPerformance Improvements","distinct":true,"url":"https://api.github.com/repos/DexterInd/noVNC/commits/abf2b09ea7ca59d006c250ea96c5f219f83ca7d0"},{"sha":"340290fa1d6a53d30a38b6604bcacef5940c4c52","author":{"email":"8ea548d7adacb6e81ce31e1ecef22dcd9af8f64b@redhat.com","name":"Solly Ross"},"message":"UI: Fix typo preventing reconnect after password\n\nThere was a typo in ui.js preventing the use of the connect button\nafter a password was entered.","distinct":true,"url":"https://api.github.com/repos/DexterInd/noVNC/commits/340290fa1d6a53d30a38b6604bcacef5940c4c52"},{"sha":"bb180145c654c4bc1ab9eca15a7acaa494d9fa50","author":{"email":"8ea548d7adacb6e81ce31e1ecef22dcd9af8f64b@redhat.com","name":"Solly Ross"},"message":"Tests: Fixed bug in displayed assertion\n\nThis `displayed` assertion had a bug that was causing it to not\nactually check anything (it was using obj.length instead of\ndata_cl.length).  This fixes that.","distinct":true,"url":"https://api.github.com/repos/DexterInd/noVNC/commits/bb180145c654c4bc1ab9eca15a7acaa494d9fa50"},{"sha":"a369a80c2480af685b7bddacddae9cca3aea95f9","author":{"email":"8ea548d7adacb6e81ce31e1ecef22dcd9af8f64b@redhat.com","name":"Solly Ross"},"message":"Fix bug in non-true-color code\n\nThere was a bug caused by 38781d931ec18304f51ed3469faff8387e3cbc55\nwhich prevented color map look-ups sent by rfb.js from working properly,\nsince display.js expected a single-item array, and rfb.js sent just them\nitem value itself (a number) instead.  This fixes that, and tweaks the\ncorresponding test to match that behavior.","distinct":true,"url":"https://api.github.com/repos/DexterInd/noVNC/commits/a369a80c2480af685b7bddacddae9cca3aea95f9"},{"sha":"89bdc8ce488153ba3299695791d3d2309751e1e4","author":{"email":"8ea548d7adacb6e81ce31e1ecef22dcd9af8f64b@redhat.com","name":"Solly Ross"},"message":"Fix buffer over-reads in handle_tight\n\nFor performance reasons, the `handle_tight` function skips the\nuse of the receive queue API and uses the raw receive queue directly.\nBecause of the way that typed array receive queue gets reused, this\nintroduced the potential for buffer over-reads.\n\nTo address this, a new function, `rQwhole`, was introduced.\n`rQwhole` simply returns a new view into the receive queue that\nstarts at 0 and ends at the current recorded end of the queue.\n\n`handle_tight` now makes use of this function.\n\nFixes #522","distinct":true,"url":"https://api.github.com/repos/DexterInd/noVNC/commits/89bdc8ce488153ba3299695791d3d2309751e1e4"},{"sha":"40b35fa20d459c731a5de826f4bd17634101a1db","author":{"email":"68be2e924aad41ebcaf0e4c94ea6f5c49366a024@gmail.com","name":"Solly"},"message":"Merge pull request #524 from kanaka/bug/tight-buffer-overread\n\nFix buffer over-reads in handle_tight","distinct":true,"url":"https://api.github.com/repos/DexterInd/noVNC/commits/40b35fa20d459c731a5de826f4bd17634101a1db"},{"sha":"045d922406678e0ea4167e09edabd89f25d3df0e","author":{"email":"c16aab9fe3288df0fb8fc1d24990a300b6b8f299@cendio.se","name":"samhed"},"message":"Moved resizeTimout to the UI object, no reason to have it outside anymore..","distinct":true,"url":"https://api.github.com/repos/DexterInd/noVNC/commits/045d922406678e0ea4167e09edabd89f25d3df0e"},{"sha":"c802d9318930ab703d2a359dcf10fb5928f9029e","author":{"email":"8ea548d7adacb6e81ce31e1ecef22dcd9af8f64b@redhat.com","name":"Solly Ross"},"message":"Make sure Pako always has enough room\n\nPreviously, we used a fixed chunkSize of 100KiB for Pako's output\nbuffer.  Using a hardcoded size caused issues, since Pako would assume\nwe wanted to use multiple chunks, and we didn't deal with this.  Now,\n`Inflator#inflate()` takes a new `expected` argument, which indicates\nthe expected output size.  If this is bigger than the current chunkSize,\nInflator allocates a new output buffer that's big enough to hold the\noutput.\n\nFixes #531","distinct":true,"url":"https://api.github.com/repos/DexterInd/noVNC/commits/c802d9318930ab703d2a359dcf10fb5928f9029e"}]}