shooting_star 3.2.4 → 3.2.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/History.txt +6 -0
- data/lib/shooting_star/server.rb +2 -1
- data/lib/shooting_star/version.rb +1 -1
- data/test/test_helper.rb +6 -0
- data/vendor/plugins/meteor_strike/generators/meteor/templates/view.rhtml +2 -2
- data/vendor/plugins/meteor_strike/lib/meteor_strike/helper.rb +3 -0
- data/vendor/plugins/meteor_strike/views/xhr.rhtml +12 -1
- metadata +2 -2
data/History.txt
CHANGED
@@ -1,3 +1,9 @@
|
|
1
|
+
*** 3.2.5 / 2007-12-10
|
2
|
+
+ 1 major enhancement
|
3
|
+
+ Implemented user agent detection for ipod/iphone.
|
4
|
+
+ 1 minor bugfix
|
5
|
+
+ Fixed acquisition of meteorStrike object in iframe.
|
6
|
+
|
1
7
|
*** 3.2.4 / 2007-09-20
|
2
8
|
+ 1 major spec change:
|
3
9
|
+ Using ExternalInterface instead of fscommand.
|
data/lib/shooting_star/server.rb
CHANGED
@@ -240,8 +240,9 @@ module ShootingStar
|
|
240
240
|
assets = URI.parse(@params['execute'])
|
241
241
|
assets.path = '/javascripts/prototype.js'
|
242
242
|
assets.query = assets.fragment = nil
|
243
|
-
query = @query.sub(%r[\&sig=\d+], '')
|
243
|
+
query = @query.sub(%r[\&sig=\d+], '')
|
244
244
|
query += "&" + FormEncoder.encode(:event => :init, :type => :xhr)
|
245
|
+
query += '#0'
|
245
246
|
event_id = MD5.new("event-init-xhr-#{Asteroid::now}").to_s
|
246
247
|
heartbeat = @params['heartbeat'].to_i
|
247
248
|
send_data "HTTP/1.1 200 OK\nContent-Type: text/html\n\n" +
|
data/test/test_helper.rb
CHANGED
@@ -8,9 +8,9 @@
|
|
8
8
|
var channel = #{@channel.to_json};
|
9
9
|
var javascript = #{@javascript.to_json};
|
10
10
|
var execute = function(){
|
11
|
-
var ms = parent.parent.meteorStrike[channel];
|
11
|
+
var ms = (parent.meteorStrike || parent.parent.meteorStrike)[channel];
|
12
12
|
if(ms) ms.evaluate(javascript, location.hash.slice(1));
|
13
|
-
else setTimeout(
|
13
|
+
else setTimeout(execute, 0);
|
14
14
|
};
|
15
15
|
execute();
|
16
16
|
})();
|
@@ -18,6 +18,9 @@ module MeteorStrike
|
|
18
18
|
cc += 'post-check=0, pre-check=0'
|
19
19
|
controller.headers['Cache-Control'] = cc
|
20
20
|
end
|
21
|
+
if !!request.user_agent[/iPhone|iPod/]
|
22
|
+
options[:noflash] = true
|
23
|
+
end
|
21
24
|
@meteor_strike = controller.install_meteor_strike
|
22
25
|
config = Meteor::config
|
23
26
|
server = Meteor::server
|
@@ -45,8 +45,11 @@
|
|
45
45
|
ms.getTags = function(){return TAGS};
|
46
46
|
ms.getUid = function(){return UID};
|
47
47
|
ms.executionQueue = {};
|
48
|
-
ms.executionCounter =
|
48
|
+
ms.executionCounter = null;
|
49
49
|
ms.evaluate = function(js, serialId){
|
50
|
+
if(ms.executionCounter == null){
|
51
|
+
ms.executionCounter = serialId;
|
52
|
+
}
|
50
53
|
ms.executionQueue[serialId] = js;
|
51
54
|
if(serialId == ms.executionCounter){
|
52
55
|
while(js = ms.executionQueue[ms.executionCounter]){
|
@@ -54,6 +57,14 @@
|
|
54
57
|
delete ms.executionQueue[ms.executionCounter];
|
55
58
|
++ms.executionCounter;
|
56
59
|
}
|
60
|
+
}else{
|
61
|
+
setTimeout(function(){
|
62
|
+
if(js = ms.executionQueue[this]){
|
63
|
+
eval(js);
|
64
|
+
delete ms.executionQueue[this];
|
65
|
+
ms.executionCounter = null;
|
66
|
+
}
|
67
|
+
}.bind(serialId), 3000);
|
57
68
|
}
|
58
69
|
};
|
59
70
|
ms.event = function(params){
|
metadata
CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.9.4
|
|
3
3
|
specification_version: 1
|
4
4
|
name: shooting_star
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 3.2.
|
7
|
-
date: 2007-
|
6
|
+
version: 3.2.5
|
7
|
+
date: 2007-12-10 00:00:00 +09:00
|
8
8
|
summary: Our goal is development of practical comet server which will be achieving over 100,000 simultaneous connections per host. On this purpose, we abandon portability and use system calls depending on particular OS such as epoll and kqueue.
|
9
9
|
require_paths:
|
10
10
|
- lib
|