shooting_star 3.2.4 → 3.2.5
Sign up to get free protection for your applications and to get access to all the features.
- 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
|