2009-09-21 12:32:36 +01:00
|
|
|
// Update the local timeline from a Meteor server
|
|
|
|
// XXX: If @a is subscribed to @b, @a should get @b's notices in @a's Personal timeline.
|
|
|
|
// Do Replies timeline.
|
2009-07-10 17:57:38 +01:00
|
|
|
|
|
|
|
var MeteorUpdater = function()
|
|
|
|
{
|
2009-09-20 16:20:10 +01:00
|
|
|
return {
|
2009-07-10 17:57:38 +01:00
|
|
|
|
2009-09-20 16:20:10 +01:00
|
|
|
init: function(server, port, timeline)
|
|
|
|
{
|
|
|
|
Meteor.callbacks["process"] = function(data) {
|
|
|
|
var d = JSON.parse(data);
|
2009-09-21 12:35:56 +01:00
|
|
|
|
2009-09-21 15:30:12 +01:00
|
|
|
var user_url = $('address .url')[0].href+d['user']['screen_name'];
|
|
|
|
|
|
|
|
var wlh = window.location.href;
|
|
|
|
|
|
|
|
if (wlh.indexOf('?') > 0) {
|
|
|
|
wlh = wlh.slice(0, wlh.indexOf('?'))
|
|
|
|
}
|
2009-09-20 16:14:46 +01:00
|
|
|
|
2009-09-20 16:20:10 +01:00
|
|
|
if (timeline == 'public' ||
|
2009-09-21 15:30:12 +01:00
|
|
|
user_url+'/all' == wlh ||
|
|
|
|
user_url == wlh) {
|
2009-09-21 12:35:56 +01:00
|
|
|
|
2009-09-20 16:20:10 +01:00
|
|
|
RealtimeUpdate.receive(d);
|
|
|
|
}
|
|
|
|
};
|
2009-07-10 17:57:38 +01:00
|
|
|
|
2009-09-20 16:20:10 +01:00
|
|
|
Meteor.host = server;
|
|
|
|
Meteor.port = port;
|
|
|
|
Meteor.joinChannel(timeline, 0);
|
|
|
|
Meteor.connect();
|
|
|
|
}
|
|
|
|
}
|
2009-07-10 17:57:38 +01:00
|
|
|
}();
|
|
|
|
|