Brion Vibber
749367e12f
Merge branch 'master' of gitorious.org:statusnet/mainline into 0.9.x
...
Conflicts:
lib/router.php
2010-11-30 16:34:52 -08:00
Brion Vibber
b4fc54c308
Flush router cache when saving Twitter admin settings: adding/removing keys can enable/disable some actions. This avoids having users' Twitter settings unreachable after adding your keys to an installation with TwitterBridge on but not pre-configured.
2010-11-30 12:46:33 -08:00
Siebrand Mazeland
6bdce2b1e5
Localisation updates from http://translatewiki.net .
2010-11-30 21:35:25 +01:00
Siebrand Mazeland
ee67a0673d
Localisation updates from http://translatewiki.net .
2010-11-30 18:53:04 +01:00
Brion Vibber
8161bf0797
Merge branch 'namecase' into 0.9.x
2010-11-29 16:47:51 -08:00
Brion Vibber
dc350b5463
Work in progress on nickname validation changes. lib/nickname.php appears to have been destroyed by NetBeans and will be rewritten shortly. Sigh.
2010-11-29 14:15:25 -08:00
Siebrand Mazeland
ed0e91c7a1
Localisation updates from http://translatewiki.net .
2010-11-29 20:28:28 +01:00
Brion Vibber
c65f199486
logging tweak for Twitter status ID issue
2010-11-23 09:49:32 -08:00
Brion Vibber
c169dcb522
Fixes for Twitter bridge breakage on 32-bit servers. New "Snowflake" 64-bit IDs have become too big to fit in the integer portion of double-precision floats, so to reliably use these IDs we need to pull the new string form now.
...
Machines with 64-bit PHP installation should have had no problems (except on Windows, where integers are still 32 bits)
2010-11-23 09:28:47 -08:00
Brion Vibber
37994e3ff1
Merge branch 'master' into 0.9.x
2010-11-19 15:53:29 -08:00
Brion Vibber
94f2f96f2e
Ticket #2724 : gracefully handle attempts to delete or fave/unfave a remote Twitter notice if a failure occurs.
...
Most annoying error case being where the notice was already faved or deleted on Twitter! :)
Such errors will now just fail out and log a note to the syslog -- the rest of what we were doing will continue on unhindered, so you can still delete, favorite, etc and it just won't sync the info over in that case.
2010-11-19 15:51:08 -08:00
Brion Vibber
197b56778a
Add $config['attachments']['process_links'] to allow disabling processing of mentioned URL links for attachment info (oEmbed lookups) and dereferencing of redirects that we didn't have shortened ourselves.
...
This option may be useful for intranet sites that don't have direct access to the internet, as they may be unable to successfully fetch those resources.
2010-11-17 13:03:59 -08:00
Brion Vibber
398e622fec
Save attached URLs when importing a Twitter status: this lets our thumbnail detection handle photos and videos linked to by Twitter posters.
2010-11-12 17:40:34 -08:00
Brion Vibber
65eeb7cba5
Merge branch 'master' of gitorious.org:statusnet/mainline into 0.9.x
...
Conflicts:
actions/newgroup.php
2010-11-12 13:32:48 -08:00
Brion Vibber
6291e8201f
Fix for failure edge case in TwitterBridge outgoing repeat/retweets.
...
When the retweet failed with a 403 error (say due to it being a private tweet, which can't be retweeted) we would end up mishandling the return value from our internal error handling.
Instead of correctly discarding the message and closing out the queue item, we ended up trying to save a bogus twitter<->local ID mapping, which threw another exception and lead the queue system to re-run it.
- Fixed the logic check and return values for the retweet case in broadcast_twitter().
- Added doc comments explaining the return values on some functions in twitter.php
- Added check on Notice_to_status::saveNew() for empty input -- throw an exception before we try to actually insert into db. :)
2010-11-12 13:06:41 -08:00
Siebrand Mazeland
ca6d7f1042
Localisation updates from http://translatewiki.net .
2010-11-05 01:25:50 +01:00
Brion Vibber
9cbda32768
Pull out the 'tweetctl' queue for now; these should go over control signals, and actual handling isn't implemented yet anyway.
2010-11-02 16:51:07 -07:00
Brion Vibber
a2f0f68d75
fakestream.php can now take --all option to pull the latest messages from multiple locally-authed accounts when generating simulated sitestreams info
2010-11-02 16:43:01 -07:00
Brion Vibber
445b306b54
fakestream.php: script to build an emulated Twitter Site Stream from live Twitter data, for testing.
2010-11-02 16:27:14 -07:00
Brion Vibber
28703deb8f
Allow custom apiroot for site streams testing on streamtest
2010-11-02 16:26:51 -07:00
Brion Vibber
62408fef09
Work in progress on twitter import daemon
2010-10-29 14:12:40 -07:00
Brion Vibber
d743539cf7
Fixups for twitter streaming daemon
2010-10-29 13:41:15 -07:00
Brion Vibber
47eada3a95
Work in progress on site streams-aware TwitterDaemon
2010-10-29 13:18:03 -07:00
Brion Vibber
86adc575ec
TweetInQueueHandler: run incoming tweets through the queues to keep the Twitter streaming daemon clear.
2010-10-29 13:14:12 -07:00
Brion Vibber
15b108620e
Fix a couple 'continue's from old looping code in Twitter importer (-> return null)
2010-10-29 13:06:32 -07:00
Brion Vibber
e76028b629
Work in progress: starting on new TwitterDaemon using the Site Streams API -- code is incomplete, pulling bits from streamtest.php pending a chance to test the actual site-streams mode
2010-10-28 18:26:48 -07:00
Brion Vibber
e62254f8cc
Merge branch '0.9.x' into twitstream
2010-10-28 16:30:40 -07:00
Siebrand Mazeland
7a564276a9
Localisation updates from http://translatewiki.net .
2010-10-28 01:58:43 +02:00
Brion Vibber
8ff44a1fb9
Merge branch '0.9.x' into twitstream
2010-10-26 15:39:31 -07:00
Siebrand Mazeland
1545c1228b
Localisation updates from http://translatewiki.net .
2010-10-23 20:50:55 +02:00
Brion Vibber
e292d8fb65
Fix for 140-char replies being unexpectedly cropped when bridged to Twitter.
...
This drops the '@' -> ' @' hack for CURL meta-chars in outgoing Twitter bridge, added in commit 04b95c25
back in the day.
The Twitter bridge has since been switched from using direct CURL calls to using HTTPClient, which even with the CURL backend enabled doesn't trigger this issue, as POST parameters are formatted directly.
Prepending the space before we did the message cropping was leading to 140-char messages getting cropped unnecessarily, which was confusing:
Examples of broken messages:
http://identi.ca/notice/57172587 vs http://twitter.com/marjoleink/status/28398050691
http://identi.ca/notice/57172878 vs http://twitter.com/marjoleink/status/28398492563
2010-10-22 12:10:11 -07:00
Siebrand Mazeland
e6df1b19df
Localisation updates from http://translatewiki.net
2010-10-18 22:03:29 +02:00
Brion Vibber
22047f6412
Merge branch '0.9.x' into twitstream
2010-10-13 15:37:54 -07:00
Siebrand Mazeland
5215423ea9
Localisation updates from http://translatewiki.net .
2010-10-09 16:15:48 +02:00
Brion Vibber
67dc78b621
Merge branch 'fatals' into 0.9.x
2010-10-08 11:28:51 -07:00
Brion Vibber
5fe59322bc
Check for Twitter foreign link actually existing before trying to delete it; friendlier error message in TwittersettingsAction
2010-10-08 11:12:36 -07:00
Brion Vibber
9c3fd10257
Prelim --all mode on streamtest.php to use site streams; doesn't use the destination user for import yet, and not actually tested yet until I'm whitelisted for the beta. :)
2010-10-05 17:08:04 -07:00
Brion Vibber
408483f771
Fix up Twitter JSON formatting to be consistent between the polling and streaming API interfaces; basic stream tester can now import your notices (ooooh)
2010-10-05 14:26:11 -07:00
Brion Vibber
0eaa26476c
Split the guts of Twitter status -> notice import from twitterstatusfetcher daemon into TwitterImport class which can be called from other places, letting us reuse code for the streaming API.
2010-10-05 13:57:32 -07:00
Brion Vibber
dc6c0f325c
Cleanup on input path
2010-10-05 13:41:15 -07:00
Brion Vibber
eb04df583a
Buncha cleanup
2010-10-05 13:25:28 -07:00
Brion Vibber
76353ede54
Clean up event handling a bit
2010-10-05 12:42:55 -07:00
Brion Vibber
5058e8fd14
Twitter streaming API reader: Cleanup input handling & split from HTTP headers to body
2010-10-05 12:17:16 -07:00
Brion Vibber
3b304fc0ef
Initial stub code for pulling data from Twitter's User Streams and Site Streams interfaces. This should allow us to make a much more efficient background importer which can use a relatively small number of connections getting push data for either a single user or for many users with credentials on the site.
2010-10-04 18:28:54 -07:00
Siebrand Mazeland
458512aafd
Localisation updates from http://translatewiki.net
2010-10-03 22:46:38 +02:00
Siebrand Mazeland
08054e85fe
Localisation updates from http://translatewiki.net .
2010-10-01 22:34:59 +02:00
Brion Vibber
1acc7d66c6
Always specify UTF-8 targt charset for html_entity_decode(); default is 8-bit ISO-8859-1 which causes things to break when we later pass them through things that expect to work with UTF-8. For instance, running through preg_replace() with the /u option results in NULL, leading to problems with OStatus and SubMirror generating their plaintext versions and doing length-cropping.
2010-09-30 11:29:31 -07:00
Siebrand Mazeland
ec7ab3af4d
Localisation updates from http://translatewiki.net
...
* first export of L10n for languages other than English. Could use some testing/QA.
2010-09-28 01:09:29 +02:00
Siebrand Mazeland
870be512d2
Update POT files for plugins.
2010-09-23 00:37:16 +02:00
Evan Prodromou
78ed0348b0
Merge remote branch 'gitorious/0.9.x' into 0.9.x
2010-09-21 14:07:48 -04:00
Siebrand Mazeland
c932c0fdc1
Update pot files for plugins.
2010-09-19 17:44:29 +02:00
Siebrand Mazeland
ecafae8472
* Remove trailing newline in e-mail message.
...
* Superfluous whitespace removed.
2010-09-19 15:52:53 +02:00
Siebrand Mazeland
8135f7d960
Update pot files for plugins.
2010-09-19 00:24:48 +02:00
Siebrand Mazeland
02299d5bd7
* i18n/L10n updates.
...
* add FIXMEs for bad i18n.
* add translator hints.
2010-09-19 00:06:21 +02:00
Siebrand Mazeland
16d234f9af
Remove superfluous whitespace
2010-09-18 23:49:49 +02:00
Siebrand Mazeland
ba6538ed78
* i18n/L10n updates
...
* whitespace updates.
2010-09-18 17:45:18 +02:00
Evan Prodromou
b2abae433d
Merge remote branch 'gitorious/0.9.x' into 0.9.x
2010-09-15 15:57:41 -04:00
Siebrand Mazeland
db1d348135
Update/add pot files for plugins.
2010-09-15 01:16:45 +02:00
Evan Prodromou
398df867de
use capturing parens for matching at-mentions in twitterstatusfetcher
2010-09-10 09:21:01 -04:00
Evan Prodromou
deb8f2a38b
make our own twitter links if Twitter doesn't give us entities
2010-09-10 09:10:53 -04:00
Evan Prodromou
42f1ec85ea
change the event we use for deleting a linked status on Twitter
2010-09-08 16:40:37 -04:00
Evan Prodromou
e40ed1fd56
move notice_to_status initialization code to run-once script
2010-09-08 16:10:07 -04:00
Evan Prodromou
5c98dfd58c
text substitution is Unicode-aware for twitterstatusfetcher
2010-09-07 15:54:06 -04:00
Evan Prodromou
2d18963b4c
Fix pkeyget call
...
Fix the pkeyget call in Twitter_synch_Status
2010-09-07 15:34:10 -04:00
Evan Prodromou
b6440a206d
staticGet -> pkeyGet in Twitter_synch_status
2010-09-07 15:29:36 -04:00
Evan Prodromou
d37f0da077
debug statements for setting/getting last id
2010-09-07 11:53:26 -04:00
Evan Prodromou
9793e4ceb4
Store foreign ID for synch info, not user ID
2010-09-07 10:53:11 -04:00
Evan Prodromou
21bea14140
remove data dump of retrieved statuses
2010-09-07 04:42:23 -04:00
Evan Prodromou
8facfdcfee
Correct DB_DataObject constant in Twitter_synch_status
2010-09-07 04:35:14 -04:00
Evan Prodromou
98e9fa19c8
Missing comma in column list in Twitter_synch_status
2010-09-07 04:33:28 -04:00
Evan Prodromou
49af35b44d
add modified column to twitter_synch_status
2010-09-07 04:32:01 -04:00
Evan Prodromou
e53e152d6f
use and save since_id parameter for home_timeline
2010-09-07 04:22:55 -04:00
Evan Prodromou
86b6d7b722
save synch status for different timelines
2010-09-07 04:17:36 -04:00
Evan Prodromou
a46ba0b548
save Twitter mentions as StatusNet replies
2010-09-07 04:00:59 -04:00
Evan Prodromou
c2c6acbfd2
add back in # and @ for links
2010-09-07 04:00:59 -04:00
Evan Prodromou
2de6d0b03d
add Twitter-approved links to Twitter statuses
2010-09-07 04:00:59 -04:00
Evan Prodromou
28fecf70b9
better handling of params in oauthget
2010-09-07 04:00:59 -04:00
Evan Prodromou
a844aaaea6
better param handling in hometimeline
2010-09-07 04:00:59 -04:00
Evan Prodromou
86d37ba59c
include entities in the results of home_timeline
2010-09-07 04:00:59 -04:00
Evan Prodromou
b059a19e0f
delete Twitter notice if it was posted from here
2010-09-07 04:00:59 -04:00
Evan Prodromou
ba8a24073f
Notify Twitter when StatusNet user faves/disfaves a Twitter notice
2010-09-07 04:00:59 -04:00
Evan Prodromou
5944fe57e6
using null variable in twitter_status_id()
2010-09-07 04:00:59 -04:00
Evan Prodromou
a5554bc11e
check status_id before trying to retweet it
2010-09-07 04:00:59 -04:00
Evan Prodromou
702d36257c
truncate retweeted stuff if it's too long
2010-09-07 04:00:58 -04:00
Evan Prodromou
9847bffe99
correctly mark repeats from Twitter as non-local
2010-09-07 04:00:58 -04:00
Evan Prodromou
e20dc9fec3
correctly check for local notice to status mappings when notice originated here
2010-09-07 04:00:58 -04:00
Evan Prodromou
df88624d49
use bigint for status_ids
2010-09-07 04:00:58 -04:00
Evan Prodromou
a9bb1c7528
debug output when saving new mapping
2010-09-07 04:00:58 -04:00
Evan Prodromou
d986537c43
do a uniqueness check before saving new notice-to-status mapping
2010-09-07 04:00:58 -04:00
Evan Prodromou
299da9e462
SQL syntax error when initializing notice_to_status table
2010-09-07 04:00:58 -04:00
Evan Prodromou
6c7262c8ca
Delete Notice_to_status when a notice is deleted
2010-09-07 04:00:58 -04:00
Evan Prodromou
e9e06879bb
use Notice_to_status to check for duplicates
2010-09-07 04:00:58 -04:00
Evan Prodromou
a1981770ce
Save notice-to-status mapping in its own table
...
Introduce a table mapping notices to Twitter statuses. Initialize
this table at checkSchema() time. Save the mapping when we push
or pull statuses. Use the table to determine if a notice has a
Twitter equivalent.
2010-09-07 04:00:58 -04:00
Evan Prodromou
17a16026ff
add in_reply_to_status_id if notice is from twitter
2010-09-07 04:00:58 -04:00
Evan Prodromou
928239ecf8
do our own repeating so we can pass in a uri
2010-09-07 04:00:58 -04:00
Evan Prodromou
1bf4972cc0
remove require_once for disappeared TwitterBasicAuthClient
2010-09-07 04:00:57 -04:00
Evan Prodromou
23dfadd9a6
remove basic auth code for Twitter since it's no longer supported
2010-09-07 04:00:57 -04:00
Evan Prodromou
e45b6df419
use home_timeline instead of friends_timeline
2010-09-07 04:00:57 -04:00
Evan Prodromou
a8c90d0243
switch twitterstatusfetcher from friends_timeline to home_timeline
2010-09-07 04:00:57 -04:00
Evan Prodromou
1a54291cc7
debug code to dump new status data
2010-09-07 04:00:57 -04:00
Evan Prodromou
184ee7fc1f
move inbox insert code to status saver main loop
2010-09-07 04:00:57 -04:00
Evan Prodromou
20f6ea4840
some info notices in twitter status fetch for repeats and replies
2010-09-07 04:00:57 -04:00
Evan Prodromou
5651f79466
if something's a retweet, save it as a repeat in bridge
2010-09-07 04:00:57 -04:00
Evan Prodromou
d6719760d6
do a real retweet for a local repeat
2010-09-07 04:00:57 -04:00
Evan Prodromou
2b56d3b534
push notices through the bridge if they're in reply to a twitter notice
2010-09-07 04:00:57 -04:00
Evan Prodromou
4d70ba9597
save reply status for Twitter notices
2010-09-07 04:00:57 -04:00
Evan Prodromou
ed99fd51e8
don't save statuses from protected users
2010-09-07 04:00:57 -04:00
Brion Vibber
4cbbfdab84
Fix for #2635 : use ssl-sometimes settings for Twitter settings & auth pages
2010-09-02 10:55:26 -07:00
Brion Vibber
c56939d596
Remove the 'Enable Twitter import' checkbox from Twitter admin panel by default; can be re-added with setting:
...
addPlugin('TwitterBridge', array('adminImportControl' => true, ....));
Added a note on the label that it requires manual daemon setup. (Note that by default the admin panel won't be shown, so it's no biggie to be hiding this for now.)
2010-08-02 13:00:50 -07:00
Zach Copley
4c5098cd32
Handle the case where a screen name has shifted from one Twitter ID to another
2010-07-08 21:17:11 +00:00
Brion Vibber
5f4c6ec626
Skip enqueueing to outgoing bridges on incoming remote messages. Twitter, Facebook, RSSCloud, and OStatus checks were enqueued on these when they'd never do anything but churn the queue servers.
...
Notice::isLocal() can replace a number of manual checks for $notice->is_local being LOCAL_PUBLIC or LOCAL_NONPUBLIC.
2010-06-03 16:58:45 -07:00
Brion Vibber
74a89b1fc3
Locale switch cleanup: use common_switch_locale() which is safer for updating gettext state. Also moved a few calls to reduce chance of hitting an exception before switching back.
...
Should help with problems where xmppdaemon would get stuck in wrong locale.
2010-05-19 10:10:55 -07:00
Brion Vibber
67eeaa9cf4
Pull localization updates from 0.9.x branch
2010-05-03 12:27:44 -07:00
Brion Vibber
c95bff7744
Merge branch 'master' into testing
2010-04-14 15:58:42 +02:00
Brion Vibber
efcdfabc12
Ticket #2205 : pass geo locations over Twitter bridge (will only be used if enabled on the Twitter side)
2010-04-14 15:45:00 +02:00
Brion Vibber
756dd15515
i18n cleanup: fix bad string breakdown in license agreement checkbox on registration form.
...
Note that much of that form is duplicated several times for Twitter, Facebook, and OpenID registrations -- these need to be refactored to avoid having multiple out-of-sync copies of code and messages.
2010-04-09 10:12:23 -07:00
Brion Vibber
3ac3bc32fc
Some localization cleanup and doc to aid in customization:
...
* added locale/en/LC_MESSAGES/statusnet.po to make it easier to start customizing English texts
* added notes to locale/README about customizing and how to disable languages you haven't customized
* renamed PO templates from *.po to *.pot to match general conventions and reduce confusion for people trying to find which file they're supposed to edit
2010-04-05 13:19:16 -07:00
Zach Copley
804182e0fe
Some fixes to make the twitterstatusfetcher behave better in a multi-site configuration
2010-03-30 11:51:56 -07:00
Zach Copley
051bee988c
Minor syntax err in TwitterBridge README example
2010-03-18 17:00:37 -07:00
root
982edc653f
Another typo
2010-03-04 23:30:36 -05:00
Zach Copley
b8001ea107
Merge branch '0.9.x' of git@gitorious.org:statusnet/mainline into 0.9.x
2010-03-05 03:56:04 +00:00
Zach Copley
e3c4b0c85d
A better way to safely delete Foreign_links
2010-03-05 03:55:56 +00:00
Zach Copley
6aac7cc6cd
Fix for errant deletion of all Twitter foreign_links
2010-03-05 03:55:39 +00:00
Brion Vibber
b218aee94e
Merge commit 'origin/testing' into 0.9.x
...
Conflicts:
lib/action.php
lib/adminpanelaction.php
2010-03-04 06:07:28 -08:00
Zach Copley
339b0b0a4d
Don't expose global Twitter consumer key and secret, because that would be idiotic.
2010-03-03 13:05:11 -08:00
Zach Copley
32c08f53de
Show global key and secret, if defined, in Twitter bridge admin panel
2010-03-03 01:49:14 +00:00
Zach Copley
08422dfa17
Remove double word from Twitter bridge README
2010-03-02 16:53:53 -08:00
Zach Copley
ca21f1da86
- Have Twitter bridge check for a global key and secret if it can't
...
find one in the local config
- Refuse to work at all if the consumer key and secret aren't set
2010-03-02 16:49:29 -08:00
Brion Vibber
ddf3614c84
Merge branch 'testing' of git@gitorious.org:statusnet/mainline into 0.9.x
2010-03-02 13:38:10 -08:00
Zach Copley
1df8c2a44d
Some wording / spelling fixes
2010-03-01 22:58:27 -08:00
Zach Copley
27a49361eb
- Make 'Sign in with Twitter' optional
...
- Updates to the Twitter bridge plugin README
2010-03-01 22:41:07 -08:00
Zach Copley
6b2d67216e
Initial Twitter bridge admin panel
2010-03-01 21:35:24 -08:00
Brion Vibber
3c4ead4996
Merge branch 'testing' of gitorious.org:statusnet/mainline into 0.9.x
...
Conflicts:
db/08to09.sql
locale/statusnet.po
scripts/update_po_templates.php
2010-03-01 14:59:26 -08:00
Zach Copley
a80fdf3142
Twitter bridge - fix for Ticket #2192
2010-02-17 20:56:18 +00:00
Zach Copley
c498f6e1ba
Twitter bridge - fix for Ticket #2192
2010-02-17 20:53:16 +00:00
Zach Copley
4d97f83740
Better logging for Twitter bridge account linking process
2010-02-17 19:25:37 +00:00
Zach Copley
6b887728b2
Better logging for Twitter bridge account linking process
2010-02-17 19:24:38 +00:00
Zach Copley
d4f6235d7b
Upgrade Twitter bridge to use OAuth 1.0a. It's more secure, and allows
...
us to automatically send in a callback url instead of having to manually
configure one for each StatusNet instance.
2010-02-16 06:19:20 +00:00
Zach Copley
f414544d0d
Upgrade Twitter bridge to use OAuth 1.0a. It's more secure, and allows
...
us to automatically send in a callback url instead of having to manually
configure one for each StatusNet instance.
2010-02-16 06:12:08 +00:00
Zach Copley
2e1e614abe
Use static class method for looking up Twitter user
2010-02-15 22:15:22 +00:00
Zach Copley
0ba3759171
Use static class method for looking up Twitter user
2010-02-15 22:14:54 +00:00
Zach Copley
1996b709c6
Twitter-bridge: lookup old foreign_user by primary key not url
2010-02-15 22:06:18 +00:00
Zach Copley
66f427c373
Twitter-bridge: lookup old foreign_user by primary key not url
2010-02-15 21:53:49 +00:00
Zach Copley
a69863eae6
Better log msgs. Removed debugging statement.
2010-02-15 21:24:31 +00:00
Zach Copley
ead595eee8
Better log msgs. Removed debugging statement.
2010-02-15 21:24:12 +00:00
Zach Copley
fe2ebec732
Fix for regression introduced with my last update to the
...
TwitterStatusFetcher: the Twitter bridge was not saving a foreign user
record when making a foreign link.
2010-02-15 21:13:53 +00:00
Zach Copley
5cc1f8b001
Fix for regression introduced with my last update to the
...
TwitterStatusFetcher: the Twitter bridge was not saving a foreign user
record when making a foreign link.
2010-02-15 21:13:42 +00:00
Zach Copley
70abea3ac4
Delete old Twitter user record when user changes screen name instead of updating. Simpler.
2010-02-06 06:48:19 +00:00
Zach Copley
558934d1dd
Store Twitter screen_name, not name, for foreign_user.nickname when saving Twitter user.
2010-02-06 06:48:07 +00:00
Zach Copley
cfe4e460ca
Delete old Twitter user record when user changes screen name instead of updating. Simpler.
2010-02-06 06:46:00 +00:00