From 0d51f83d2d138896ea0be667a490d40634c39a3d Mon Sep 17 00:00:00 2001 From: Audrius Butkevicius Date: Sat, 6 Sep 2014 16:27:20 +0100 Subject: [PATCH 1/3] Save config after updating node name --- model/model.go | 1 + 1 file changed, 1 insertion(+) diff --git a/model/model.go b/model/model.go index 8a5984fa..622d4572 100644 --- a/model/model.go +++ b/model/model.go @@ -451,6 +451,7 @@ func (m *Model) ClusterConfig(nodeID protocol.NodeID, config protocol.ClusterCon node := m.cfg.GetNodeConfiguration(nodeID) if node != nil && node.Name == "" { node.Name = name + m.cfg.Save() } } } From 8f32decf2d9a41e46f2281db0ef0cb2df0c94535 Mon Sep 17 00:00:00 2001 From: Audrius Butkevicius Date: Sat, 6 Sep 2014 16:31:23 +0100 Subject: [PATCH 2/3] Emit ConfigSaved event --- config/config.go | 2 ++ events/events.go | 3 +++ 2 files changed, 5 insertions(+) diff --git a/config/config.go b/config/config.go index 12684538..4dac5c13 100644 --- a/config/config.go +++ b/config/config.go @@ -14,6 +14,7 @@ import ( "strconv" "code.google.com/p/go.crypto/bcrypt" + "github.com/syncthing/syncthing/events" "github.com/syncthing/syncthing/logger" "github.com/syncthing/syncthing/osutil" "github.com/syncthing/syncthing/protocol" @@ -260,6 +261,7 @@ func (cfg *Configuration) Save() error { if err != nil { l.Warnln("Saving config:", err) } + events.Default.Log(events.ConfigSaved, cfg) return err } diff --git a/events/events.go b/events/events.go index 829e4b87..a82878a0 100644 --- a/events/events.go +++ b/events/events.go @@ -26,6 +26,7 @@ const ( ItemStarted StateChanged RepoRejected + ConfigSaved AllEvents = ^EventType(0) ) @@ -56,6 +57,8 @@ func (t EventType) String() string { return "StateChanged" case RepoRejected: return "RepoRejected" + case ConfigSaved: + return "ConfigSaved" default: return "Unknown" } From 521b49166e90eb3bb16703afcdd98ad3f251316e Mon Sep 17 00:00:00 2001 From: Audrius Butkevicius Date: Sat, 6 Sep 2014 17:17:32 +0100 Subject: [PATCH 3/3] Listen for ConfigSaved event in the UI (fixes #244) --- auto/gui.files.go | 2 +- gui/app.js | 61 ++++++++++++++++++++++++++++------------------- 2 files changed, 37 insertions(+), 26 deletions(-) diff --git a/auto/gui.files.go b/auto/gui.files.go index e204d405..3b85514f 100644 --- a/auto/gui.files.go +++ b/auto/gui.files.go @@ -27,7 +27,7 @@ func Assets() map[string][]byte { bs, _ = ioutil.ReadAll(gr) assets["angular/angular.min.js"] = bs - bs, _ = base64.StdEncoding.DecodeString("H4sIAAAJbogA/+w9/XfbNpK/+69AdLlKSmTKTrt5e3HdXuome96mSV6cZO8913uPkiCJNUWq/LCjTfy/38wAJPFJUbbb3Xvv9NpYIoDBYDCYLwzA8ZidpOtNFi2WBRucDNmTg8Nv2F/Dy3TCfkizBQuTGdRIiiyalEWa5WyQc86KJWcnb16/f3f6w4f3b96dsXkU82GwB+CexzEjcDnLeM6zKz4L2Iecs3QOzaKc5WmZTTmbpjPO4OciveJZwmdssoHO2M+n7/fzYhNzhBVHU57k2F1YsCmUTjibpyWgFCWEw6vTkxevz15Q98He3vjRr3kcJQWbZOk19P2MFVnJR9BXUkRJyavf67jM8X/xmz0aQ8tFnE7CmD18xuZhnEOlMFmUcZjJ31hpr1/ClxxoMS36R3t7V2HG8k0yhWElC3ZctQhW6ayM+aBfl/VH7Ly/DvNpGK8zPl0WQZGFSR6HBe9fDI8IUJnFkxDAH7M+0I3g1+0DGMA8WgzmJTyI0oQNHi6LYv02S6+iGc9G7GENr3o2ZJ/3GHy0isGMz8MyLvLgU57N/4uH8Ox1uKJO/3v/5Ozdy/336SVPoPMtbU/S9DLiVVutpWhqIRQA7c6KsIimL2Gy8lcpdj4QSOIHCDOPPj1j/RjIOMZ/9vujujQv56I0+DVPkz49vwHK4f86nYosjWOA3H9xxZPipMhioL5CuHyarmF2aWw1kehhEId5Qa1gTEkZx4IKODlYcvojPD6Q46OpL6dTnucvE3jedDALi7CCix9g478tecLOakbB6Q0zWB/XS6AE8XGcwvM1II7lMIiEC2iwPqJEBbXO0gW0z6mV5HIGFfMUZmIN9J6n2QpXXlFmSc5CWM8HsGSjZEodqaCWNP05W4Y5rCvAcA4rYgkL8ToqlgRfQBErFeAMR6IoSRkOMlCBvceVDfwbAYvHG7biMPti2SIgZUR1bygcihHJF6oC7VSA11AvSQsWTouSQAK1YdzzMm76jeZs8MCkN354lqXZy0TMxZFWJMbUPLvZq79KLnjIV1Ex6H84fZPAdPD+8GhP61HywnfswOyWqAIT8CKcLpW1ypGlzLr4AbLkKQiuOF0MelSrN2L0N4hm1bdig+wqvjvGYyFutTIa3Ci/b46s0atrALs7p0HFPFnAzO+zw4umdb0ozKaAvQIYpvl9tOJpWSg0MclByzFY8GJQycHHrD8m/PPviX2P+/BIdDnUmgZyHQ7q9WiUEzcMJE+oox+xPwFXiwc3ysKWVVuXtcUs87nFLXcfeRwB+OPD/v2N+PDAGvKOGLT1bvXcIp9rgdguo1XlBt/jdBpirYqMOF+gOq5+hGIhn6unMKA3P8EjVPHN0yS8ihYAIVk8vw43OMWo3ZvylBa9/VwKbaHoZZmqO6bpah1zwv+Yfb450stQe/uenyZICQ3RplyKzdxuTDTG5+cX2nMwPnhsV19taKn2+9rTBCo7YICWKdJpGp8sQQ2DRtCoIetkfJ1mBZA9tDsTZW9hWiJ+7W3tGBTYlskLHJiNarleZKCwTpN56mgHhkUFzs3Tj3tkU/SGNfs2/IYFuaGzX0ZSMc2jLC8YVinDBa8MzziCh2th2pDpig/Bwsn6eaWWVWikCSPUx8LMQWM4bIBec9CLV5yFV2EUhxNQCaBQqcWI9XjSU0HlKJtlh5UBcB2B0b0Ki+mSqjOgH/zd/3AG+kQYGb1/LPff/61HNVVoohEw/aaughoZNS/+PnndCxp5JiyhZDESzWAtNKIF1B4bYIWIViH8+Zbq5lJ3wJPHj03ZhxWgOtU7jy50RSV0LQgNqXy+ZU88SpRse0PLab8qdKGvqzCOZq8IMXAaChBEDR8AS+YRUB+LXV2RncMFutKQaCZ/jBJiLMrQmBGTMiGOidNrhR8UcFPgzID9DS2k1TrMwEZLpT0IDbCQgXOUI3LkPfGaZZzA0E6rWQnMSx4rxlL1UQcJ9FB/BkX6Cjs+gY4HQ6slTohWXU7Md0yZJhfd8CNtSa09LDH+6c2cZnnIjmvprU0k4+h9tQKNVWD6JHqAei2iapwVx9RjPGaHrqE1ugn9m7rZ+cGFw04zbU8dlRtN/AAHTcLpJSIDi5GYl4Dz2Z6nb1z5lWYfSik4uAaypNfDYAJ/B/0Jh2XKyyQG50vRuJpNYinIRi3dDHWd9xCa9mqNLJTFmZCuPVWfq+ArGYJmY9USxH6Ygck8DLDkyLC27bVoDJyqHBl0NHFNOJ89b3RpXbufrfrgVv7IY8XbhIezKJPPwfaLsqFaivYMFqLeVp8XaTldYsGH9Qxde1F0Y6JxOvUgkfFVesWdeNhFFRIwvXI+HYiAucyzKL+sUTGnr3Fz1Akj2w98s0wjPU6HNI+++oo9aCwic35afCzV5dFcrHpuBW5RAma18rg2yxpuFD3ZVlkNadD/t4QX12l2SSZFf4i2URgP+ktQ2lqfULOB1F4vX5YFktxdy7VCFOegG42NFfjlC3sghn8HOjfeiUVRg2zkVPvn1kvVrSuQaIERIC7Nyg7kQGkxEyYmlJD/q2OqGr3CVUXL8sLC2l2N7EYuPV3Qfp2G8AqkVnyK2kYs8zuPAyxCoPfyHWA0qHFT/UjQB6IrpngZiHqZk92F1oaw5MnOBBMgX5IxgUEZBEZxm8BcY2SDq9R4jTAcAQyEfTJ3LHPC+6TGqapIgE5/HDF1NDVl25bKOxBzBf8jiOsfBNXCkdj4O3HGwf4Y5dJZ64QxcCGH2bTdvPNqAEE0u7CQxJ5wAeWDbfic7IAMLfgtqHjWk6+6ptzqfpLJOn/GDkZWSVoWvqLT5IdNwfP3aRHGzgpvymJLjeezGUZMn9XMEYTwRK93c+QeXsUU20f3P4VA4PDgwAu6RaicUCiAguKOOTOnS4sfBG/WNAPBh3fPwfZaF+iwH9vRSZAip3PwUdHhFA46qs06HptwkBHgS4YVjAQky4xPUUvMRiYkkDHXITii4K+E+WXt/eLvVXgJ7gebLtNoCs7NDyVJpFma9AtqY4KCJpNygSBWbFZmiBRq/yiMMYBWrkcsT0mm8QLB0sYDCTQLECBRRCte+UrCc7+K8qgIRAxe7CMJCCAa1xiDthGqQtIEC6qtUpKlYYJ7Txlbwj/gyS/SEWIlR2/C+K0EDYqm7Z5WgqKK0PqIWKHiSaflCkOmAisUNnE45YPx4Ptn8N/fvwSPjn7JHw2bRvDrl2P4Z3D+96OLR8Pg0cPhl7/Dv+MR6z087Dl8mQdNY5cLY6AASPWaBsc99phhbA0k4jUY8o9Z72gVftoHJqKirw8ePfnm0ddPDwwvy+u2IUKPFRJ8q0LfZwLWI4pSun0+NEBKp9lR993qYFW+EWkNPklhpfHZS/hXix/VC1DVH6QJDMVzydFH6inVkCxY0zCp9L7OoZ0lVR1VkEXk05YYMtHFGcUli+d7RIfi5zzBIMGHd6eo79IEZl0MyhUVc22s1J2p9hQZD9KIsmcDP9pGh0qqEVFKKFrXTJp7FyJ+PSIvwDI4PSSslaV7Zs824COtNJK6SZlTxX5XUulxV9Id+N2paARoJwldpBMo9yyy3bSP1DDUBO0t5wODSMfHxyr+br/D5XbYK6LpFNcFQf8XWh6Nhv8eUaM1InHsf3Xvq0a3tGrbAju0BuvgErOJEgY3Pzdtq9aEoy1gpfRozwkF5xiMHQzzjtiUNgodITb81DHh6WqNYdBbDB1Jhq2RI3vCxuq11cePOyK8nTz4wYE9PvZSClC58INFYkDjw3uYk0CMFQMegNEYQXumwyUglEU3Ys1aH3ln4J8jek9q90F6NVtlsOJwdBbEtOuX4jZUY2no9myBO1wDrLNf7yUOgeg0YN2cmhmzoGw9QnudZMT+EeUq+aRCncEQgB3+5jp5m8H0ZMUGmg19bO5nb5vDimzjgUJ7++DMBOSWAfo/h8UyANNuAHP8Z/ZI0JJqqD4YUMjh+5m1kHjFzMFVWs/C7WvtWvPu/H1r1byd37Ap7XYNrECalygewWYPYfsmwxb/ubPybxZNvrMFQBG7LutMbC7vauvUW9LdRiKwuYUZQ7lwnYQFVNxJTsAqPKk26x9E+YvVuti8mfwK9NZ97qEhBsyNfpsAbpf9VQSWHEi/jB231pAxjODXNEoG/RHrexCo9vN1WBTXc6KT7Bbx0waiqZAm6ucOj+DHGyKhyTbUzbAF3zzNCoGi2DX1EKPKMcC/P4drI2qC/gc4oGkW8dzoTMx4ABosH6iwhg5KmTZ09bH8RltAaGHYW0Vgjc5aIrEeFCwtb5KSFFS9Klr4QSZCaXEsE/heF+EGzd0iodNqH9O22I5yy8jDkWZw88wrmkRikB6b3e6SuHJTKIFljLPmzFBpQb5Kfekmc2s0W8RulRanBikxIqfkw2njMRxpR2xdCGxXgW7/tUe8tzCAzJTYdfKrBAuTgh1YTkRRd+1QS5zauU+ZBrVrp3r2lNmrTNtrSVJsy8HSmEdnGzmNWibljqyzhUMqk8bT/To9E/tkKgauuAcmzKZzZ2ALXM9+mcz4HCPhfXcwBGtcJrgvfOSKi1hblULcRwmlI7EH2IUXcl6k6zX07IRcVcI4haMH2uD00uYkDvM/gDQR8MvvQJcZ7iJnbsCUny83dzvQpsJFNoE20Szm/hkRS6/vcoN1MKiOKKfAA2mdRasw23SBNA2T5LagHDNhsAMi+pZnU54UuEH0e/PEobphcLONH8TZHHLxCL61t+WGqnHDeooKDGqAg+lkOdT0oouxq4KCw5FJV3Jg53EKMhS6ccsi1O2Y+aOR1mHX6ft7tZtrGNkmAbRWXsv8q6+2m+915OmYqOW2bQU3pZd9w8Lz7fpULaTQNpu1CbZVlJS5m2cJc0uE/d+mqS1aOhHWXvxbCeuXBYg9epzbyEqhXaCn5nD6qKsLWqzoWcRYFEiHt02Wfd/CFGoy/j9rCAoSYLj9e6tc9g/lI986DdW2TYNptw0cwwJ24fd7kieOQNd89Pe9ZZ5Bvcxe02aVQR19uDgCkTirxEVk2MPM/0Z8q26ThpRMQD3SvOU6SZhXGe5grdg5whJarQ9bBiqhnR9ceJlBnrfcyg1SO8vSjiq51/Np5HqeoXtPY7VKyxh1jgEXZpIXGYZ9n7qVJmawvXYN3JxisW1pNhsYE6bQpStRBtKup0bDVhJto08X4nSmDJ9FxRkvMIcn91JmPAbThLJxMF9TnC1dbxoPU1JrtZbRRuUMM1Z05xnZyboNgODDuxcJHmChHRVXcZ2ihOcnXZD+8uG0HQ2oYObkSjqYSSGmiRte8Tq664xkkLjDBcP+evbmdYAnvZNFNN9YwV+1QboWR4/kedpn7DNGwQoQbvvvgd8oDXu9jiOR6z6m88s3iuss/Px1mjuj1yNEaESduFz+bqcJbxMbUwjXPT5GVHfFlOyZ6My8eZlxOt8sTkFMRfKwPmf1ObUHFePw38owzt0cPLIZd8i+fLGGLz7tIIEbRzr3GjJH4ubIxjtZcnHAw5uTx+Vawky8KKfvPgvVuQYb29S9Br91uFLKNLkbkQnrTvdSExxuhRAKhZ3R2T9sjTOrlK4ONorDWXgYg9IPec1BtM1Eue8Goe1pDz7k/P2rMwpSaAwgC/wDsY9X6qca3IN4DkJkAzhfs0reMTxAE8ebPUcfOsd7JKrC/0ctQPwi2eJ4Lwb6RtaW7a6zIgtyEJnFoD9CoR6uFWH1SbHSPgUgojFwaO9cWEJfP6HQrkB6eKij5wsqEn+0xDSVMyn6xHoOmgy3KgPZyHFQxnmGWJWhZ9cRbnpf88kapUy9AvBgGfC/IlEaJjcY1OBkceRaggEjClHuW/tG3gVjrwsTmOX96rAdx+oHjsUmjr4F9SEzpZfqq9FNfTrexUitZ6IFlvSvziwyYn5bZhHNd+OVth0C12medob0Y2Idj+qyj9AVkttskGevbkVNN7GU41zdqGWd/3KgraDsPeLvMOed3qzh3VVgyywDA1O2eBjwTyA1Z4PPN6PKxbJRwS6AMi8+gYh1UkirdsbjuciKMgILWlzBHm+DWBXD4bnIb6gg1Y+1bAYDDlZ+McPt+eAhrPe3GSGtOXQ4GxXZtlj+kR0p0IgKkKLZb8oJwXyZXvfdsMLZFmCuGfqs0gIPbW6ScBVNYewYJcISgCNuo7rpMHHmSUfXzLnr3C9dxTmmrbS1oFkLXjUcjeHucOjRnQTTEuxxeuoVqyt2ncrVorTDohfJHAYeim5pbkyYKcmxItHEv3MsEt4M0EZBh8HeYcDmoO0JsG0uh//XyjVVSOcEfd9ZmvARi472dmSqOvzlGJVVqxFLLlF1V4MUh2CvSZEg2tyXoTFsy7UZittHdc+jCzXwq4vsFv+uatyM+MiqKjG3HRT8TDIeXnbYchBprql9glkb8brMlwNbfXkWuCsLzKjXbR12ZdoUj8dVsHz2hxpX9wqeznJHPzDisYqqYGfrYorAMDBlzy04LzHI6Ly0Jem4C6EO3s9EjhGDz9s+D5X4UGa9mb2BISIk41mhYy3XpA7Q5m7zDe1e9F07sobIlLV5wxc+5gF6POy7mlmre5K2csc05mH2okrMbTVZ1MuXNDzPdayVy+AIra1GNrUbEyYeo2qeRWC/xht7WvMiU1F1XTPUlXmb6G4rC+dkrcK/9WHMqZJIaezGYNnQeRxCzhzA8UQR1mkXhqnq6YmoXh8C80138yFkCy264/UhlDbALjEdMa/m7LNtuarVpWVip7b6kjJ9XZ0nSqaxrpfMDToHKLnhiHa0snPvrBBg+F6cPMoj3Mu1Th65UKWaeMWp0pNLfzra6q3OaNC0Gqv+t0IQ9X7ifA2tHreP7m2Yhas8uITKCgWbQO79Ea8IFwue8Vkn+lWV752ENRbbqVhV/Tn89JySoZQEn25UXYmWY/bnp98cHHgCpK4uT0BKJqcJqIUrOv7Vrbup2qp7ZxJQ/haGZ5nJnq6ulDYW32ydXv/8JGAeOrdXt7F5e/mXL+xP7WLMR/nudaEP/QT83Wjurgqd4A593QdeBWjwKd6QTYmT8Qb3NP7Bs5Tu/6PwL8uXaRmLq/2kYlNh1Zf+ymueEVBJVyl8/fRPATtLxSWBeAmDWgsERVT0cxVSfWNvvbmu39irpw62rrv2LfpOKxewb3MlOgbFUOt2DJsgHlvCJuFsZunprQr6s6YEn4G6bde37zhmjFY8egYQnrZzaOeluW1Bdlxv7inaZYXeetH17NF0DbLdLyeg09nKCuKEyTrdEgjRurICIRKAU9pYtWp3+fzCLtMNMcW3s22x2lIX2VMY4nJCcQU33N0lldV3LPpy+5PKIIRj91lYi88kItaRJ4fKkfczOdEwbgOv6vhWT4v1WDXVrBx7SP0qi0SA6dtn5/pCNUMduzWVo42HEPry7gUaVL1kHYfxdArpBDOJ4zB4OzT4yWd2diKo16LcmaYVpNuQVRh5FWEbrjUk3CNpBNo9EBTNdrNmySn7PJBU08wLSBWFd5x5t6nerY2gTbe6J37r1tfko2altpupBgzXSGzDoTm1iW2EAJS/fHFI9cSprO3y7HcOTNJlf7mhRiputMJi4cor3b0uOqY+mpFAhKNFzuqQSBXTkQm6AyWvcTj0bJcKcBTSdcTdqJB2C3sj5knLELPYbld10pb3sxelX/EnuMVhoWhp038Qu/Di+dvTn+iWnoZOU51VMORV18rCZJauzigbcvD1wYh9/cRj2FJS1od3Wy1b/8V1IrkM/YhXYbbAG+Xw4jVx9TX8zgvGKxNNJMxVN2Rvp0PFAqXnKliLoejuu7uNRs1Nuy/EcHP6NRcpKN5DWtWipBQfcR7bYdPSZa6czmr78kv0XNLeGOuLC8V693A1koYma7k4wRiIO+5npszXdz5rpKJ3VRlicf6jWK/H7JuD/3h6ZJRFGRkfuBYOn379528MG5AgBi/jcJGzrwC+gPW4aTcckt3iKPCc5RP3PjvtI70zCVKD7wfaDWKDnAC6DVlx2/SWWFB9vglzkM0wj7nTBks6i2btpxCdew09ceHduILQgVHdgmySlv7QPC4bqtEpYQSL3nHjhRht8iQzKnuThjJy8S2V15FS2Pa29FGv5wZ9UtlmjW6iY34inw6jn7QZXmOobNoOwhGbVMgq0aGQDkuIA8BNBAijzrLCxFnBPAgjwXwrqw9dLKmKaPlINvtONpMk2FOgCp+W4Fq77AZc0a6BLJp+VzcF6ii0IVvMQ5swkH3u0p/sy9UPXooSV5DooJSyjRO7LjtRu12dZ5XdKzuWDFGdZ7I7JPtlpfYYK6aokRCzUjuLham5wiSXoTrOWBiNCtl0LGIdC1Dq0Qqz+NGLYkmpITOLFlGRj7BS5eYj2a/kyc0DB9EPKlzojwCg7xfQV7yCg76EE+p6iJdU1SWHB9Uyw56ZfiEW4Mj2JWR9aAJNjcaqoRbzBPgHW+0JtCcCN/pDIeujeuQgy0SSXg8vjOPXZ9WupXh7zECUN29igS9iLTUEEa0q5AUmg2FQpBIdwiTI8ZWOgyeKlSG7fnwsIcgqMHJBBTD6ZYHofcRwZEASDafasdC4X1bRXmuiU0y/4ymd/KryQ1KvfWJN/ImMqdRS+lJMKw0HIb11HlSuhxmx67C5l5fuVhS5zXRPdy7eXck/wU98Dv7tao23+eRljDUWYZQoLy7DV2JkbYeb8P1p7Fi/creGq7tAVPVbDbvqIzHEXfImFZv6FqMBoNh6uMUkaMA0L1tUMaDRuYJ8VGBbs82EIHUkGQI8e7UZ1FREojouQpLljK6Qz50o+ZJSqvl30bwBi3klDTzZCfyhq5eVkno2tGnSDdIpJcCgafBA0tDwXuXTXefNoMuudNxCQycPVFNp2PPWaXWBS22L3KgvlZNZNP0khKqh/iq5igTGJLFBlKxxjdF2mWM1UzEIjpfRJz4b1FpDa9WYRsZb7iqEJlGCZ/K742OaL/SQdE9t4viM8APmvUNEQPkOjLEn37BH6h8r9k41x8eOqiZrdKDSkyHeF95nf4l2Qa0LTndA5uduyLRicYfuf3J3r94jkuELjit+wDb9bXy24vhK4n8hPqNLVpQ/LdQ0q96Fz3bBrAtKd2GzTri0InGH3i9/ByYL4+twk78uVxOe/SGs5rwgSCXDVvEL9h7abPeMrQtXdUOZjsfR+52P5XSJzPHx+S/jX365GJuhZlEXDHL60tjYvrsklLE7aUNgzlVg+4cXPlrNKLgTXfEBeNHRbyUF0F2vhpPAVUX5WwmNn7F+svgZgy7KDlocJZfPGhgUFBiB+l+B3VAUGVq1RRab48NnwUNAPOdZHpRJvozmyhE/jIZ8xKQUl0lId2V1CdlXH/EOE5ETg28mIZUOppCzssAMjKaPWCsqNga1jDux66lpYmzqNkA9EO/N5/JlJlhdhLtzFsYZD2ebW6FHdrIfv+04RDkTAO+VOg7DnXispo9hf1tptq3sTBOKEZZIe9Wh9t73/2dqfdp0mrVztRsD9/0TCYH8Ppod9x83I3ZsEYCZv/YNrqII1hGp6G01O43QtzA6DfWudKw7cZaYaSrumve6YiiU3aYs1XWCd6NMC1goL5QlUvDVGv3JD1kMJQQvWBYrdRXJ1ENx1lFpiW/0nMblzCqhBWCmYBRREeMq/U8jbUO8FM9REE3xfKX1eBqnuQsO7TUaz2+qd2giBf8XAAD//wEAAP///RPJnTiFAAA=") + bs, _ = base64.StdEncoding.DecodeString("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") gr, _ = gzip.NewReader(bytes.NewBuffer(bs)) bs, _ = ioutil.ReadAll(gr) assets["app.js"] = bs diff --git a/gui/app.js b/gui/app.js index b28b6d0a..a5136ee2 100644 --- a/gui/app.js +++ b/gui/app.js @@ -237,6 +237,14 @@ syncthing.controller('SyncthingCtrl', function ($scope, $http, $translate, $loca } }) + $scope.$on('ConfigSaved', function (event, arg) { + updateLocalConfig(arg.data); + + $http.get(urlbase + '/config/sync').success(function (data) { + $scope.configInSync = data.configInSync; + }); + }); + var debouncedFuncs = {}; function refreshRepo(repo) { @@ -252,6 +260,33 @@ syncthing.controller('SyncthingCtrl', function ($scope, $http, $translate, $loca debouncedFuncs[key](); } + function updateLocalConfig(config) { + var hasConfig = !isEmptyObject($scope.config); + + $scope.config = config; + $scope.config.Options.ListenStr = $scope.config.Options.ListenAddress.join(', '); + + $scope.nodes = $scope.config.Nodes; + $scope.nodes.forEach(function (nodeCfg) { + $scope.completion[nodeCfg.NodeID] = { + _total: 100, + }; + }); + $scope.nodes.sort(nodeCompare); + + $scope.repos = repoMap($scope.config.Repositories); + Object.keys($scope.repos).forEach(function (repo) { + refreshRepo(repo); + $scope.repos[repo].Nodes.forEach(function (nodeCfg) { + refreshCompletion(nodeCfg.NodeID, repo); + }); + }); + + if (!hasConfig) { + $scope.$emit('ConfigLoaded'); + } + } + function refreshSystem() { $http.get(urlbase + '/system').success(function (data) { $scope.myID = data.myID; @@ -324,31 +359,7 @@ syncthing.controller('SyncthingCtrl', function ($scope, $http, $translate, $loca function refreshConfig() { $http.get(urlbase + '/config').success(function (data) { - var hasConfig = !isEmptyObject($scope.config); - - $scope.config = data; - $scope.config.Options.ListenStr = $scope.config.Options.ListenAddress.join(', '); - - $scope.nodes = $scope.config.Nodes; - $scope.nodes.forEach(function (nodeCfg) { - $scope.completion[nodeCfg.NodeID] = { - _total: 100, - }; - }); - $scope.nodes.sort(nodeCompare); - - $scope.repos = repoMap($scope.config.Repositories); - Object.keys($scope.repos).forEach(function (repo) { - refreshRepo(repo); - $scope.repos[repo].Nodes.forEach(function (nodeCfg) { - refreshCompletion(nodeCfg.NodeID, repo); - }); - }); - - if (!hasConfig) { - $scope.$emit('ConfigLoaded'); - } - + updateLocalConfig(data); console.log("refreshConfig", data); });