Skip to content
This repository has been archived by the owner on Aug 15, 2021. It is now read-only.

Commit

Permalink
1.0.2 and 1.0.3 commit
Browse files Browse the repository at this point in the history
workaround for twitterapi bug relating to null tweets in timeline when someone you follow deletes a tweet
refactored to no longer commit the consumer secret and key (oops)
  • Loading branch information
Paul Kehrer committed Aug 24, 2010
1 parent 33f74d1 commit f81d780
Show file tree
Hide file tree
Showing 5 changed files with 28 additions and 21 deletions.
1 change: 1 addition & 0 deletions .gitignore
@@ -1 +1,2 @@
.DS_Store
avian_credentials.js
4 changes: 2 additions & 2 deletions AvianSafari-update.plist
Expand Up @@ -10,9 +10,9 @@
<key>Developer Identifier</key>
<string>QNW3Q9S88V</string>
<key>CFBundleShortVersionString</key>
<string>1.0.1</string>
<string>1.0.3</string>
<key>CFBundleVersion</key>
<string>7</string>
<string>9</string>
<key>URL</key>
<string>http://langui.sh/extensions/AvianSafari.safariextz</string>
</dict>
Expand Down
4 changes: 2 additions & 2 deletions Info.plist
Expand Up @@ -11,9 +11,9 @@
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleShortVersionString</key>
<string>1.0.1</string>
<string>1.0.3</string>
<key>CFBundleVersion</key>
<string>7</string>
<string>9</string>
<key>Chrome</key>
<dict>
<key>Bars</key>
Expand Down
2 changes: 2 additions & 0 deletions avianlib.js
Expand Up @@ -268,6 +268,7 @@ Avian.prototype = {
}
var self = this;
function homeTimelineSuccessCallback(parsedObj) {
parsedObj = parsedObj.filter(function(tweet) { return tweet !== null; }); //nuke any nulls that come back. this line was added in response to the null bug twitter had 8/24/10
//loop through the tweets, adding metadata for each one
self.addTweetMetadata(parsedObj);
//iterate over the metadata to see if all these new tweets have been read previously (perhaps as a mention)
Expand Down Expand Up @@ -308,6 +309,7 @@ Avian.prototype = {
}
var self = this;
function mentionsSuccessCallback(parsedObj) {
parsedObj = parsedObj.filter(function(tweet) { return tweet !== null; }); //nuke any nulls that come back. this line was added in response to the null bug twitter had 8/24/10
self.addTweetMetadata(parsedObj);
//iterate over the metadata to see if all these new tweets have been read previously (perhaps in home timeline)
var newUnreadMentions = 0;
Expand Down
38 changes: 21 additions & 17 deletions global.html
Expand Up @@ -30,6 +30,7 @@
<script src="sha1.js" type="text/javascript"></script>
<script src="avian_oauth.js" type="text/javascript"></script>
<script src="avianlib.js" type="text/javascript"></script>
<script src="avian_credentials.js" type="text/javascript"></script>
<script type="text/javascript">
var maxTweetsDisplayed = 50;
var oauth_log_to_console;
Expand All @@ -54,7 +55,7 @@
oauth_log_to_console = false;
break;
}
var OAuth = new OAuth({oauth_consumer_secret:'QeVR9whib2JiVImPmOlVt8Kj7MHmmxxxYvhlO3TNcI',oauth_consumer_key:'IIwrpBcFc5yoJcITSavCA', oauth_token: safari.extension.secureSettings.oauth_token, oauth_token_secret: safari.extension.secureSettings.oauth_token_secret, log_to_console:oauth_log_to_console});
var OAuth = new OAuth({oauth_consumer_secret:aviansafari_consumer_secret,oauth_consumer_key:aviansafari_consumer_key, oauth_token: safari.extension.secureSettings.oauth_token, oauth_token_secret: safari.extension.secureSettings.oauth_token_secret, log_to_console:oauth_log_to_console});

var Avian = new Avian({OAuth:OAuth,log_to_console:avian_log_to_console,user_id:safari.extension.secureSettings.user_id,responses:safari.extension.settings.responses,metadata:safari.extension.settings.metadata,unreadTweets:safari.extension.settings.unreadTweets,unreadMentions:safari.extension.settings.unreadMentions,unreadDMs:safari.extension.settings.unreadDMs});

Expand Down Expand Up @@ -584,22 +585,25 @@
var tweetBody;
//we iterate only up to the limit we allow.
for (var i=0; i < limit; i++) {
var overlay = generateTweetOverlay(data[i]);
var returned = generateTweetInfo(data[i]);
var user = returned.user;
var type = returned.type;
var tweet = returned.tweet;
var status_id = returned.status_id;
var retweetAvatarOverlay = returned.retweetAvatarOverlay;

var options = generateTweetOptions(type,user);
var unreadStatus = generateUnreadStatus(type,status_id);

var escapedTweet = user.screen_name+': '+tweet.replace(/\"/g,'&quot;');

tweet = generateTweetLinks(tweet,data[i].entities);

tweetBody += '<div class="tweet" type="'+type+'" status_id="'+status_id+'" screen_name="'+user.screen_name+'"><div class="activity"><img src="icons/activity.gif" /></div>'+overlay+unreadStatus+retweetAvatarOverlay+'<a href="http://twitter.com/'+user.screen_name+'" title="'+user.screen_name+'"><img class="avatar" src="'+user.profile_image_url+'"/></a><div class="options">'+options+'</div><div class="content" title="'+escapedTweet+'">'+ tweet + '</div></div>';
//capture null elements and ignore them. code added due to twitterapi bug 8/24/10
if (data[i] !== null) {
var overlay = generateTweetOverlay(data[i]);
var returned = generateTweetInfo(data[i]);
var user = returned.user;
var type = returned.type;
var tweet = returned.tweet;
var status_id = returned.status_id;
var retweetAvatarOverlay = returned.retweetAvatarOverlay;

var options = generateTweetOptions(type,user);
var unreadStatus = generateUnreadStatus(type,status_id);

var escapedTweet = user.screen_name+': '+tweet.replace(/\"/g,'&quot;');

tweet = generateTweetLinks(tweet,data[i].entities);

tweetBody += '<div class="tweet" type="'+type+'" status_id="'+status_id+'" screen_name="'+user.screen_name+'"><div class="activity"><img src="icons/activity.gif" /></div>'+overlay+unreadStatus+retweetAvatarOverlay+'<a href="http://twitter.com/'+user.screen_name+'" title="'+user.screen_name+'"><img class="avatar" src="'+user.profile_image_url+'"/></a><div class="options">'+options+'</div><div class="content" title="'+escapedTweet+'">'+ tweet + '</div></div>';
}
}
return tweetBody;
}
Expand Down

0 comments on commit f81d780

Please sign in to comment.