Page MenuHomePhabricator

D9492.id22749.diff
No OneTemporary

D9492.id22749.diff

diff --git a/resources/celerity/map.php b/resources/celerity/map.php
--- a/resources/celerity/map.php
+++ b/resources/celerity/map.php
@@ -477,7 +477,7 @@
'rsrc/js/phuix/PHUIXActionListView.js' => 'b5c256b8',
'rsrc/js/phuix/PHUIXActionView.js' => '6e8cefa4',
'rsrc/js/phuix/PHUIXDropdownMenu.js' => 'bd4c8dca',
- 'rsrc/swf/aphlict.swf' => '2dea6ddc',
+ 'rsrc/swf/aphlict.swf' => '14d5aa2e',
),
'symbols' =>
array(
diff --git a/support/aphlict/client/src/AphlictMaster.as b/support/aphlict/client/src/AphlictMaster.as
--- a/support/aphlict/client/src/AphlictMaster.as
+++ b/support/aphlict/client/src/AphlictMaster.as
@@ -88,6 +88,9 @@
if (new Date().getTime() - checkin > AphlictMaster.PURGE_INTERVAL) {
this.log('Purging client: ' + client);
delete this.clients[client];
+
+ this.log('Removing client subscriptions: ' + client);
+ this.unsubscribeAll(client);
}
}
}
@@ -163,10 +166,29 @@
}
}
+ private function getSubscriptions(client:String):Array {
+ var subscriptions = new Array();
+
+ for (var phid:String in this.subscriptions) {
+ var clients = this.subscriptions[phid];
+ if (clients[client]) {
+ subscriptions.push(phid);
+ }
+ }
+
+ return subscriptions;
+ }
+
+ public function unsubscribeAll(client:String):void {
+ this.unsubscribe(client, this.getSubscriptions(client));
+ }
+
public function unsubscribe(client:String, phids:Array):void {
var oldPHIDs = new Array();
- for (var phid:String in phids) {
+ for (var i:String in phids) {
+ var phid = phids[i];
+
if (!this.subscriptions[phid]) {
continue;
}
diff --git a/webroot/rsrc/swf/aphlict.swf b/webroot/rsrc/swf/aphlict.swf
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
literal 0
Hc$@<O00001

File Metadata

Mime Type
text/plain
Expires
Fri, Apr 4, 10:55 AM (3 w, 5 h ago)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
7695534
Default Alt Text
D9492.id22749.diff (1 KB)

Event Timeline