]> git.wh0rd.org - chrome-ext/music-player-client.git/blobdiff - js/mpc.js
only refresh metadata/playlist tabs when the underlying data has changed
[chrome-ext/music-player-client.git] / js / mpc.js
index 7fc74393bfa3ee9cbd970f2403308aaa937832f5..84eea050a9970ff47ff69ae6e3867dad378f2bef 100644 (file)
--- a/js/mpc.js
+++ b/js/mpc.js
@@ -28,6 +28,12 @@ Mpc.prototype.send = function(msg) {
        this._queue.push(msg);
        this._socket.send(msg, function(x) {
                _this.log(0x1, 'send: ' + msg + ':', x);
+               if (x.bytesWritten < 0) {
+                       _this.log(0x1, 'reconnecting...');
+                       _this._socket.reconnect();
+                       _this.queue = [msg];
+                       _this._socket.send(msg);
+               }
        });
 }
 
@@ -72,11 +78,13 @@ Mpc.prototype.recv_msg = function(lines) {
                                ++i;
                }
                this.state.Playlist = playlist;
+               this.state.Playlist.lastUpdate = (new Date()).getTime();
                this._cb_update_state(this.state);
                break;
 
        case 'currentsong':
                this.state.Currentsong = this._parse_result(lines).state;
+               this.state.Currentsong.lastUpdate = (new Date()).getTime();
                this._cb_update_state(this.state);
                break;