Commit Graph

963 Commits

Author SHA1 Message Date
Evan Prodromou 52e8aa798a Refactor subs_* functions for remote use
The subs_* functions in subs.php have made a lot of assumptions
about users versus profiles. I've refactored the functions to
be methods of the Subscription class instead, and to use Profile
objects throughout.

Some of the checks for blocks or existing subscriptions depended
on users or profiles, so I've moved those methods around a bit.

I've left stubs for the subs_* functions until we get time to replace
them.
2010-02-19 08:16:45 -05:00
Evan Prodromou 3d665f82d1 add type='text/html' to alternate link in Notice Atom 2010-02-18 22:13:47 -05:00
Evan Prodromou c2ba764535 always distribute to inbox of author immediately 2010-02-18 07:11:20 -05:00
Zach Copley 198c046c89 - Set the root of a new local conversation to a new conversation.id
- Output conversation URIs from conversation.uri
2010-02-17 01:12:13 -08:00
Zach Copley ed46a38ecf - conversation.uri needs to be nullable
- factory method for creating new local conversations
2010-02-17 01:11:14 -08:00
Zach Copley a2f8c5da17 New Conversation DO to handle remote notices as conversation roots 2010-02-16 23:30:08 -08:00
Zach Copley 2cb243808c More sensical profile::getUri() 2010-02-16 20:13:39 -08:00
Zach Copley c892726c80 Take remote profiles into account when looking up canonical profile URIs 2010-02-16 16:22:58 -08:00
Zach Copley eea52c708b Add rel="avatar" to img links in <activity:actor> stanzas 2010-02-16 11:32:10 -08:00
Evan Prodromou 3d170bfa30 Merge branch 'testing' of git@gitorious.org:statusnet/mainline into testing 2010-02-16 12:46:02 -05:00
Evan Prodromou 71ecd68901 add a FIXME to Profile 2010-02-16 12:45:00 -05:00
Brion Vibber 81b6b58e33 Merge branch 'master' into testing
Conflicts:
	lib/stompqueuemanager.php
2010-02-16 09:22:02 -08:00
Brion Vibber c74aea589d Stomp queue restructuring for mass scalability:
- Multiplexing queues into groups and for multiple sites.
- Sharing vs breakout configurable per site and per queue via $config['queue']['breakout']
- Detect how many times a message is redelivered, discard if it's killed too many daemons
 - count configurable with $config['queue']['max_retries']
 - can dump the items to files in $config['queue']['dead_letter_dir']

Queue daemon memory & resource leak fixes:
- avoid unnecessary reconnections to memcached server (switch persistent connections back in on second initialization, assuming it's child process)
- monkey-patch for leaky .ini loads in DB_DataObject::databaseStructure() - was leaking 200k per active switch
- applied leak fixes to Status_network as well, using intermediate base Safe_DataObject for both it and Memcache_DataObject

Misc queue fixes:
- correct handling of child processes exiting due to signal termination instead of regular exit
- shutdown instead of infinite respawn loop if we're already past the soft memory limit at startup
- Added --all option for xmppdaemon... still opens one xmpp connection per site that has xmpp active

Cache updates:
- add Cache::increment() method with native support for memcached atomic increment
2010-02-16 09:16:51 -08:00
Evan Prodromou 269b4711eb Merge branch 'ssleverything' into testing 2010-02-13 12:39:15 -05:00
Brion Vibber d6f1df8b76 fix for Atom notice output: correct check against conversation & current id 2010-02-12 15:30:23 -08:00
Zach Copley 506c2d7491 Initial upgraded Atom output for group timelines 2010-02-12 12:24:29 -08:00
Brion Vibber fd3c9334bf PHP 5.3 compatibility hack for DB_DataObject
statusnet.links.ini file could not be read anymore due to the entry for nonce containing a comma in its key value.
PHP's parse_ini_file() function no longer allows commas in keys, and rejects the *ENTIRE FILE* if it's present, breaking various automatic joins.
2010-02-12 11:15:12 -08:00
Brion Vibber b39047d95b OStatus: prep work for sending notifications on sub/unsub/join/leave/favorite/unfavorite via Salmon; needs to be completed and hooked up once feed gen is fixed. 2010-02-12 18:54:48 +00:00
Zach Copley 525358fa10 Fix retarded spelling mistake 2010-02-11 17:08:50 -08:00
Zach Copley 3beddffc39 ostatus:attention links in Notice Atom output 2010-02-11 16:29:27 -08:00
Evan Prodromou 31461e120f let files go to SSL dir too 2010-02-11 17:06:57 -05:00
Evan Prodromou 3018683718 let backgrounds be put under SSL 2010-02-11 17:03:31 -05:00
Zach Copley e2c0f59414 Some upgrades to Atom output for OStatus 2010-02-11 13:56:05 -08:00
Evan Prodromou d6869cde7b let avatars be served over SSL 2010-02-11 16:51:15 -05:00
Brion Vibber 8449256817 OStatus partial support for group subscriptions:
* detection of group feeds is currently a nasty hack based on presence of '/groups/' in URL -- should use some property on the feed?
* listing for the remote group is kinda cruddy; needs to be named more cleanly
* still need to establish per-author profiles (easier once we have the updated Atom code in)
* group delivery probably not right yet
* saving of group messages still triggering some weird behavior

Added support for since_id and max_id on group timeline feeds as a free extra. Enjoy!
2010-02-09 18:32:52 -08:00
Brion Vibber 384387c9b0 OStatus cleanup...
* Treat linkless feed posts as status updates; drop the "New post:" prefix and quotes on them.
* Use stable user IDs for atom/rss2 feed links instead of unstable nicknames
* Pull Atom feed preferentially when subscribing -- can now put the remote user's profile page straight into the feed subscription form and get to the right place.
* Clean up naming for push endpoints
2010-02-08 14:58:12 -08:00
Evan Prodromou 5fdcd88176 Moderator can make users admins of a group 2010-02-06 11:36:59 +01:00
Brion Vibber 875e1a70ce Don't spew warnings on usage of MEMCACHE_COMPRESSED constant when memcache PHP extension is not present.
Switched to a locally-defined Cache::COMPRESSED, translating that to MEMCACHE_COMPRESSED in the plugin.
2010-02-05 09:47:56 -08:00
Zach Copley 23802e58d6 Merge branch 'temp' 2010-02-05 03:19:12 +00:00
Zach Copley 208eec6511 OAuth app name should not be null 2010-02-05 03:18:45 +00:00
Zach Copley e495ac356c Allow developers to delete OAuth applications 2010-02-05 03:18:43 +00:00
Zach Copley dc183f23cf OAuth app names should be unique. 2010-02-05 03:18:43 +00:00
Zach Copley 8d320d7cc2 Merge branch 'testing' of git@gitorious.org:statusnet/mainline into testing 2010-02-05 02:08:37 +00:00
Zach Copley 82f1119073 OAuth app name should not be null 2010-02-05 01:24:21 +00:00
Brion Vibber 509c8fc515 Merge branch 'master' into testing - drop debug statements 2010-02-04 15:19:09 -08:00
Brion Vibber 4502bea9a8 drop debug messages from inbox deletion fix 2010-02-04 15:16:27 -08:00
Brion Vibber bb16898b1c Inbox::streamNotices() with deletion compensation: inbox paging should more or less work with deleted items now.
No change in efficiency for the common case where nothing's deleted: does the same bulk fetch of just the notices we think we'll need as before, then if we turned up short keeps checking one by one until we've filled up to our $limit.

This can leave us with overlap between pages, but we already have that when new messages come in between clicks; seems to be the lesser of evils versus not getting a 'before' button.
More permanent fix for that will be to switch timeline paging in the UI to use notice IDs.
2010-02-04 15:15:42 -08:00
Brion Vibber 9554b4ccbf Inbox::streamNotices() with deletion compensation: inbox paging should more or less work with deleted items now.
No change in efficiency for the common case where nothing's deleted: does the same bulk fetch of just the notices we think we'll need as before, then if we turned up short keeps checking one by one until we've filled up to our $limit.

This can leave us with overlap between pages, but we already have that when new messages come in between clicks; seems to be the lesser of evils versus not getting a 'before' button.
More permanent fix for that will be to switch timeline paging in the UI to use notice IDs.
2010-02-04 15:09:04 -08:00
Brion Vibber a020e23086 Merge branch 'master' of gitorious.org:statusnet/mainline into testing 2010-02-04 11:56:07 -08:00
Evan Prodromou dbeb388ade clear cache for Profile::hasRepeated() at Notice::insert() time 2010-02-03 12:31:25 -05:00
Evan Prodromou 20953ea3de Merge branch 'master' of git@gitorious.org:statusnet/mainline 2010-02-03 11:53:54 -05:00
Evan Prodromou 6215b9788c add nickname as unique key for user_group table 2010-02-03 11:53:31 -05:00
Brion Vibber 51c3606715 Fix regression breaking file attachments. This is what I get for rushing fixes and not properly testing them. :P 2010-02-02 09:32:28 -08:00
Brion Vibber 027c7e61fd Fix regression breaking file attachments. This is what I get for rushing fixes and not properly testing them. :P 2010-02-02 09:30:15 -08:00
Zach Copley f0875ceea1 Allow developers to delete OAuth applications 2010-02-02 08:50:18 +00:00
Zach Copley df2a081265 OAuth app names should be unique. 2010-02-02 08:50:01 +00:00
Brion Vibber 6159edcebb Improve name validation checks on local File references 2010-02-01 08:49:59 -08:00
Evan Prodromou f9cb1c3265 restructuring of User::registerNew() lost password munging 2010-02-01 00:47:50 -05:00
Evan Prodromou fb36094eb1 buggy fetch for site owner 2010-01-31 22:55:07 -05:00
Evan Prodromou fec8066bf7 error clearing tags for profiles from memcached 2010-01-30 14:37:39 -05:00