Commit Graph

402 Commits

Author SHA1 Message Date
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
Zach Copley a5f03484da Store Twitter screen_name, not name, for foreign_user.nickname when saving Twitter user. 2010-02-05 21:39:29 -08:00
Zach Copley feaf938ffd Make Twitter bridge truncate and add a link back to the original notice when notice content is > 140c 2010-02-04 03:17:48 +00:00
Zach Copley 9ca4fd69b3 - Fix cache handling in TwitterStatusFetcher
- Other stability fixes
2010-02-04 01:59:28 +00:00
Zach Copley 72f72d17db - Fix cache handling in TwitterStatusFetcher
- Other stability fixes
2010-02-04 01:53:08 +00:00
Zach Copley e5ff610e75 'Sign in with Twitter' button img 2010-01-28 18:47:12 +00:00
Zach Copley 664a82e836 'Sign in with Twitter' button img 2010-01-28 18:11:44 +00:00
Zach Copley d6a0dec765 Add Julien C to author comments 2010-01-26 00:41:49 -08:00
Zach Copley 7a0a133401 - Remove redundant function
- clean up log msgs
2010-01-26 00:41:49 -08:00
Zach Copley 7064d15e67 Use "Sign in with Twitter" auth pattern and official Twitter button for Twitter-based login.
See: http://apiwiki.twitter.com/Sign-in-with-Twitter
2010-01-26 00:41:49 -08:00
Zach Copley e5bd707055 Ask the user to set a password before disconnecting from Twitter 2010-01-26 00:41:49 -08:00
Zach Copley d429710fe1 - Twitter username wasn't getting stored in Foreign_user when linking Twitter account (fixed)
- Updates to comments
2010-01-26 00:41:49 -08:00
Julien C 3fc3a2b326 Allow logging in using Twitter
Signed-off-by: Julien C <chaumond@gmail.com>
2010-01-26 00:41:49 -08:00
Zach Copley 02957d2854 Add Julien C to author comments 2010-01-26 00:19:46 -08:00
Zach Copley f7450d2ca8 - Remove redundant function
- clean up log msgs
2010-01-26 00:19:20 -08:00
Zach Copley ce44008d13 Use "Sign in with Twitter" auth pattern and official Twitter button for Twitter-based login.
See: http://apiwiki.twitter.com/Sign-in-with-Twitter
2010-01-26 00:19:09 -08:00
Zach Copley 1c1abfc284 Ask the user to set a password before disconnecting from Twitter 2010-01-26 00:18:55 -08:00
Zach Copley 2d97e15cd6 - Twitter username wasn't getting stored in Foreign_user when linking Twitter account (fixed)
- Updates to comments
2010-01-26 00:18:42 -08:00
Julien C 7fc5588c5d Allow logging in using Twitter
Signed-off-by: Julien C <chaumond@gmail.com>
2010-01-26 00:18:11 -08:00
Brion Vibber 0e852def6a XMPP queued output & initial retooling of DB queue manager to support non-Notice objects.
Queue handlers for XMPP individual & firehose output now send their XML stanzas
to another output queue instead of connecting directly to the chat server. This
lets us have as many general processing threads as we need, while all actual
XMPP input and output go through a single daemon with a single connection open.

This avoids problems with multiple connected resources:
* multiple windows shown in some chat clients (psi, gajim, kopete)
* extra load on server
* incoming message delivery forwarding issues

Database changes:
* queue_item drops 'notice_id' in favor of a 'frame' blob.
  This is based on Craig Andrews' work branch to generalize queues to take any
  object, but conservatively leaving out the serialization for now.
  Table updater (preserves any existing queued items) in db/rc3to09.sql

Code changes to watch out for:
* Queue handlers should now define a handle() method instead of handle_notice()
* QueueDaemon and XmppDaemon now share common i/o (IoMaster) and respawning
  thread management (RespawningDaemon) infrastructure.
* The polling XmppConfirmManager has been dropped, as the message is queued
  directly when saving IM settings.
* Enable $config['queue']['debug_memory'] to output current memory usage at
  each run through the event loop to watch for memory leaks

To do:
* Adapt XMPP i/o to component connection mode for multi-site support.
* XMPP input can also be broken out to a queue, which would allow the actual
  notice save etc to be handled by general queue threads.
* Make sure there are no problems with simply pushing serialized Notice objects
  to queues.
* Find a way to improve interactive performance of the database-backed queue
  handler; polling is pretty painful to XMPP.
* Possibly redo the way QueueHandlers are injected into a QueueManager. The
  grouping used to split out the XMPP output queue is a bit awkward.
2010-01-21 22:40:35 -08:00
Zach Copley c3188fd1fe Merge branch '0.9.x' of git@gitorious.org:statusnet/mainline into 0.9.x 2010-01-13 19:17:49 +00:00
Zach Copley 43170b3d18 When Twitter bridge encounters a 403 (rate limit) err, drop the notice
instead of requeuing.
2010-01-13 19:17:40 +00:00
Evan Prodromou 436b8c845e Merge branch '0.9.x' into inblob 2010-01-12 23:53:52 -08:00
Brion Vibber ec145b73fc Major refactoring of queue handlers to support running multiple sites in one daemon.
Key changes:
* Initialization code moved from common.php to StatusNet class;
  can now switch configurations during runtime.
* As a consequence, configuration files must now be idempotent...
  Be careful with constant, function or class definitions.
* Control structure for daemons/QueueManager/QueueHandler has been refactored;
  the run loop is now managed by IoMaster run via scripts/queuedaemon.php
  IoManager subclasses are woken to handle socket input or polling, and may
  cover multiple sites.
* Plugins can implement notice queue handlers more easily by registering a
  QueueHandler class; no more need to add a daemon.

The new QueueDaemon runs from scripts/queuedaemon.php:

* This replaces most of the old *handler.php scripts; they've been refactored
  to the bare handler classes.
* Spawns multiple child processes to spread load; defaults to CPU count on
  Linux and Mac OS X systems, or override with --threads=N
* When multithreaded, child processes are automatically respawned on failure.
* Threads gracefully shut down and restart when passing a soft memory limit
  (defaults to 90% of memory_limit), limiting damage from memory leaks.
* Support for UDP-based monitoring: http://www.gitorious.org/snqmon

Rough control flow diagram:
QueueDaemon -> IoMaster -> IoManager
                           QueueManager [listen or poll] -> QueueHandler
                           XmppManager [ping & keepalive]
                           XmppConfirmManager [poll updates]

Todo:

* Respawning features not currently available running single-threaded.
* When running single-site, configuration changes aren't picked up.
* New sites or config changes affecting queue subscriptions are not yet
  handled without a daemon restart.
* SNMP monitoring output to integrate with general tools (nagios, ganglia)
* Convert XMPP confirmation message sends to use stomp queue instead of polling
* Convert xmppdaemon.php to IoManager?
* Convert Twitter status, friends import polling daemons to IoManager
* Clean up some error reporting and failure modes
* May need to adjust queue priorities for best perf in backlog/flood cases

Detailed code history available in my daemon-work branch:
http://www.gitorious.org/~brion/statusnet/brion-fixes/commits/daemon-work
2010-01-12 20:45:09 -08:00
Evan Prodromou 2db840b2f5 use Inbox in twitterstatusfetcher 2010-01-09 14:02:01 -08:00
Zach Copley 20af83d316 Add version info for Facebook, TwitterBridge and RSSCloud plugins 2010-01-08 00:09:23 -08:00
Brion Vibber 8632974131 Followup fix for ticket 1672: Twitter bridge !group->#hash conversion will now happen regardless of whether account was configured with oauth or basic auth (previously applied only on the oauth path) 2009-12-18 09:36:30 -05:00
Zach Copley 656d29080a Fix Twitter bridge so it responds reasonably to authorization errors. 2009-12-14 07:33:29 +00:00
Brion Vibber 4b5e977a7b New _m() gettext wrapper with smart detection of plugin domains. Plugin base class registers your gettext files if present at initialization.
update_pot.sh replaced with update_po_templates.php which can do core, plugins, or all (default).
Top-level Makefile added to build .mo files for plugins as well as core.

As described on list:
http://lists.status.net/pipermail/statusnet-dev/2009-December/002869.html
2009-12-08 12:17:11 -08:00
Zach Copley eb0a5977ff Don't try to broadcast the notice if something went wrong. 2009-12-04 20:39:50 +00:00
Zach Copley cff12603cf Make imported Twitter notices show up via real time plugins. 2009-12-04 20:17:42 +00:00
Zach Copley fcf1c4e53f Remove useless debugging statement 2009-12-02 19:33:08 +00:00
Zach Copley f7c1c4e601 Catch uncaught exception 2009-11-25 18:04:08 +00:00
Zach Copley b20b59e9ea Fix SSL options for Twitter bridge HTTP requests 2009-11-24 19:11:34 +00:00
Brion Vibber 088081675f Revert "Remove more contractions"
This reverts commit 5ab709b739.

Missed this one yesterday...
2009-11-09 20:01:46 +01:00
Siebrand Mazeland b10f362ede Merge branch '0.9.x' of git://gitorious.org/statusnet/mainline into 0.9.x 2009-11-08 23:33:58 +01:00
Siebrand Mazeland 5ab709b739 Remove more contractions
* doesn't
* won't
* isn't
* don't
2009-11-08 23:32:15 +01:00
Brion Vibber fc5002015b Revert "* [Cc]an't -> [Cc]annot"
This reverts commit 0ab17f382b.
2009-11-08 23:28:51 +01:00
Siebrand Mazeland 0ab17f382b * [Cc]an't -> [Cc]annot
* [Cc]ould't -> [Cc]ould not
2009-11-08 23:22:38 +01:00
Brion Vibber 5581143bee Rebuilt HTTPClient class as an extension of PEAR HTTP_Request2 package, adding redirect handling and convenience functions.
Caching support will be added in future work after unit tests have been added.

* extlib: add PEAR HTTP_Request2 0.4.1 alpha
* extlib: update PEAR Net_URL2 to 0.3.0 beta for HTTP_Request2 compatibility
* moved direct usage of CURL and file_get_contents to HTTPClient class, excluding external-sourced libraries
* adapted GeonamesPlugin for new HTTPResponse interface

Note some plugins haven't been fully tested yet.
2009-11-02 09:14:15 -08:00
Brion Vibber b22fc5b74a Revert "Rebuilt HTTPClient class as an extension of PEAR HTTP_Request2 package, adding redirect handling and convenience functions."
Going to restructure a little more before finalizing this...

This reverts commit fa37967858.
2009-11-02 07:51:29 -08:00
Brion Vibber fa37967858 Rebuilt HTTPClient class as an extension of PEAR HTTP_Request2 package, adding redirect handling and convenience functions.
Caching support will be added in future work after unit tests have been added.

* extlib: add PEAR HTTP_Request2 0.4.1 alpha
* extlib: update PEAR Net_URL2 to 0.3.0 beta for HTTP_Request2 compatibility
* moved direct usage of CURL and file_get_contents to HTTPClient class, excluding external-sourced libraries

Note some plugins haven't been tested yet.
2009-11-02 06:31:28 -08:00
Brion Vibber 666c18a1dd use addPlugin() in the README setup example 2009-10-29 15:08:24 -04:00
Brion Vibber fd650715fa Warning cleanup: drop reference on router parameter to RouterInitialized event handlers.
We don't (and don't need to) pass a reference here, and the mix can trigger warnings.
2009-10-29 13:55:37 -04:00
Zach Copley 6d6de3c1c7 Move Twitter and Facebook-specific mail notifications to their respective plugins 2009-10-23 23:38:45 +00:00
Zach Copley 7539e26951 - Make Twitter bridge work with unqueuemanager
- Add README
2009-10-20 06:05:35 +00:00
Zach Copley 109a54c4f0 Changed config flag for importing friends' timeline and added some comments 2009-10-17 00:32:02 +00:00
Zach Copley 0fd8e758ad Make queuing and daemons work via events 2009-10-14 04:50:16 +00:00
Zach Copley b4b992bca7 Merge branch '0.9.x' into pluginize-twitter-bridge
* 0.9.x: (247 commits)
  Added in credits.
  Use site's name for basic auth realm
  Make apigroupcreate.php pass phpcs
  Took out some unnecessary intializations
  Implemented create group api
  CamelCase all function names in the API code
  These same params are used in most API actions; moved to base API class
  Missed some of the references to the old TwitterApiAction - removed
  Remove more redundant $formats
  Remove dead code
  Move all basic auth output and processing to base classes
  $format is used by every API action. Set it in the base class.
  Delete action/api.php and rename lib/twitterapi.php to lib/api.php
  New actions for blocks via API
  fix FBConnect so it doesn't muffle EndPrimaryNav
  don't write session if it's unchanged
  Fixed facebook connect primary nav to hide search option when site is private and user is not logged in
  Fixed facebook connect primary nav to obey sms/twitter/openid settings
  Fixed facebook connect login nav to obey openid settings
  Fixed facebook connect nav to obey sms/twitter disabled
  ...
2009-10-13 09:36:26 -07:00
Zach Copley 876f56254d Moved basic auth client into plugin dir 2009-09-08 16:07:01 -07:00
Zach Copley 9d87313eae Merge branch '0.9.x' into pluginize-twitter-bridge
Conflicts:
	plugins/TwitterBridge/twitterauthorization.php
2009-09-08 16:02:57 -07:00
Zach Copley 5efe588174 Moved the rest of the Twitter stuff into the TwitterBridge plugin 2009-08-26 00:59:06 +00:00
Zach Copley 9b9d80cd97 Pluginized Twitter settings stuff 2009-08-25 14:52:25 -07:00