summaryrefslogtreecommitdiff
path: root/classes/Notice.php
AgeCommit message (Collapse)Author
2010-03-23fixup_deletions.php script to look for notices posted by now-deleted ↵Brion Vibber
profiles and remove them.
2010-03-15Blow more timeline caches on notice delete. Fixes paging on public and ↵Brion Vibber
profile timelines after deleting something from the first page.
2010-03-12Scrub all atom output with common_xml_safe_str()Zach Copley
2010-03-12Add id and updated elements to atom sourceZach Copley
2010-03-03Revert "Revert "Show <activity:subject> and no activity actors for user feed""Zach Copley
This reverts commit e2578cfad68c45ca177c51997c4cc7c0abafbd9a.
2010-03-03Use poster's subscribed groups to disambiguate group linking when a remote ↵Brion Vibber
group and a local group exist with the same name. (If you're a member of two groups with the same name though, there's not a defined winner.)
2010-03-02OStatus: save file records for enclosuresBrion Vibber
Also stripping id from foreign HTML messages (could interfere with UI) and disabled failing attachment popup for a.attachment links that don't have a proper id, so you can click through instead of getting an error. Issues: * any other links aren't marked and saved * inconsistent behavior between local and remote attachments (local displays in lightbox, remote doesn't) * if the enclosure'd object isn't referenced in the content, you won't be offered a link to it in our UI
2010-03-02Merge branch 'master' of git@gitorious.org:statusnet/mainline into testingBrion Vibber
2010-03-02Dropped deprecated timestamp-based 'since' parameter for all API methods. ↵Brion Vibber
When it sneaks in it can cause some very slow queries due to mismatches with the indexing. Twitter removed 'since' support some time ago, and we've already removed it from the public timeline, so it shouldn't be missed.
2010-03-02Revert "Show <activity:subject> and no activity actors for user feed"Evan Prodromou
This reverts commit c25fc8a4b51466f13c41efc0565bf15f78f6cb4d.
2010-03-02don't duplicate title in summary in Atom output per RFC4287 4.2.13Evan Prodromou
2010-03-02Show <activity:subject> and no activity actors for user feedEvan Prodromou
We only need one author for user feeds: the user themselves. So, show the user as the activity:subject, and don't repeat the same activity:actor for every notice unnecessarily.
2010-02-27fix call of common_find_mentions() in Notice::saveReplies()Evan Prodromou
2010-02-27Use notice for context when deciding who @nickname refers toEvan Prodromou
In a federated system, "@nickname" is insufficient to uniquely identify a user. However, it's a very convenient idiom. We need to guess from context who 'nickname' refers to. Previously, we were using the sender's profile (or what we knew about them) as the only context. So, we assumed that they'd be mentioning to someone they followed, or someone who followed them, or someone on their own server. Now, we include the notice information for context. We check to see if the notice is a reply to another notice, and if the author of the original notice has the nickname 'nickname', then the mention is probably for them. Alternately, if the original notice mentions someone with nickname 'nickname', then this notice is probably referring to _them_. Doing this kind of context sleuthing means we have to render the content very late in the notice-saving process.
2010-02-26blow cache on known repliesEvan Prodromou
2010-02-25Add lots of fun avatars to our Atom outputZach Copley
2010-02-25OStatus: save categories from the Atom entry as hashtags.Brion Vibber
2010-02-22Add PoCo namespace to optional ns output in Notice::asAtomEntry()Zach Copley
2010-02-22Merge branch 'rationalize-activity' into testingZach Copley
* rationalize-activity: Move ActivityObject and related stuff to core Add PoCo bits, avatar link, geo point, etc. to person activity obj output
2010-02-22Move ActivityObject and related stuff to coreZach Copley
2010-02-23OStatus group delivery initial implementation.Brion Vibber
- added rel="ostatus:attention" links for group delivery - added events for plugins to override group profile/permalink pages - pulled Notice::saveGroups up to save-time so we can override; it's relatively cheap and gives us a clean list of target groups for distrib time even with customized delivery. - fixed notice::getGroups to return group objects as expected - added some doc on new parameters to Notice::saveNew - 'groups' list of group IDs to push to in place of parsing - messages that come in via PuSH and contain local group targets are delivered to local group members - messages that come in via PuSH and contain remote group targets are delivered to local members of the remote group Todo: - handle group posts that only come through Salmon - handle conflicts in case something comes in both through Salmon and PuSH - better source verification - need a cleaner interface to look up groups by URI - need a way to handle remote groups with conflicting names
2010-02-21don't calculate replies for remote noticesEvan Prodromou
2010-02-21Combine code that finds mentions into one place and add hook pointsEvan Prodromou
Combined the code that finds mentions of other profiles into one place. common_find_mentions() finds mentions and calls hooks to allow supplemental syntax for mentions (like OStatus). common_linkify_mentions() links mentions. common_linkify_mention() links a mention. Notice::saveReplies() now uses common_find_mentions() instead of trying to parse everything again.
2010-02-21permalink on a note represented by rel=alternateEvan Prodromou
2010-02-21Notice::saveNew() accepts url and rendered optionsEvan Prodromou
2010-02-20OStatus: send favorite/unfavorite notifications to remote authorsBrion Vibber
2010-02-18add type='text/html' to alternate link in Notice AtomEvan Prodromou
2010-02-18always distribute to inbox of author immediatelyEvan Prodromou
2010-02-17- Set the root of a new local conversation to a new conversation.idZach Copley
- Output conversation URIs from conversation.uri
2010-02-16Take remote profiles into account when looking up canonical profile URIsZach Copley
2010-02-12fix for Atom notice output: correct check against conversation & current idBrion Vibber
2010-02-11Fix retarded spelling mistakeZach Copley
2010-02-11ostatus:attention links in Notice Atom outputZach Copley
2010-02-11Some upgrades to Atom output for OStatusZach Copley
2010-02-09OStatus partial support for group subscriptions:Brion Vibber
* 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-08OStatus cleanup...Brion Vibber
* 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-03clear cache for Profile::hasRepeated() at Notice::insert() timeEvan Prodromou
2010-01-30error clearing tags for profiles from memcachedEvan Prodromou
2010-01-28Last-chance distribution if enqueueing failsEvan Prodromou
2010-01-27fix notice -- drop unused return value of variable that isn't initialized :) ↵Brion Vibber
thx @ g0 for the catch
2010-01-27Adds an emergency switch so we can run inbox distribution at save time ↵Brion Vibber
(bypassing 'distrib' queue) Set $config['queue']['inboxes'] = false to do so
2010-01-25Offload inbox updates to a queue handler to speed up posting onlineEvan Prodromou
Moved much of the writing that happens when posting a notice to a new queuehandler, distribqueuehandler. This updates tags, groups, replies and inboxes at queue time (or at Web time, if queues are disabled). To make this work well, I had to break up the monolithic Notice::blowCaches() and make cache blowing happen closer to where data is updated. Squashed commit of the following: commit 5257626c62750ac4ac1db0ce2b71410c5711cfa3 Author: Evan Prodromou <evan@status.net> Date: Mon Jan 25 14:56:41 2010 -0500 slightly better handling of blowing tag memory cache commit 8a22a3cdf6ec28685da129a0313e7b2a0837c9ef Author: Evan Prodromou <evan@status.net> Date: Mon Jan 25 01:42:56 2010 -0500 change 'distribute' to 'distrib' so not too long for dbqueue commit 7a063315b0f7fad27cb6fbd2bdd74e253af83e4f Author: Evan Prodromou <evan@status.net> Date: Mon Jan 25 01:39:15 2010 -0500 change handle_notice() to handle() in distributqueuehandler commit 1a39ccd28b9994137d7bfd21bb4f230546938e77 Author: Evan Prodromou <evan@status.net> Date: Mon Jan 25 16:05:25 2010 -0500 error with queuemanager commit e6b3bb93f305cfd2de71a6340b8aa6fb890049b7 Author: Evan Prodromou <evan@status.net> Date: Mon Jan 25 01:11:34 2010 -0500 Blow memcache at different point rather than one big function for Notice class commit 94d557cdc016187d1d0647ae1794cd94d6fb8ac8 Author: Evan Prodromou <evan@status.net> Date: Mon Jan 25 00:48:44 2010 -0500 Blow memcache at different point rather than one big function for Notice class commit 1c781dd08c88a35dafc5c01230b4872fd6b95182 Author: Evan Prodromou <evan@status.net> Date: Wed Jan 20 08:54:18 2010 -0500 move broadcasting and distributing to new queuehandler commit da3e46d26b84e4f028f34a13fd2ee373e4c1b954 Author: Evan Prodromou <evan@status.net> Date: Wed Jan 20 08:53:12 2010 -0500 Move distribution of notices to new distribute queue handler
2010-01-15Fix for background recalculation of groups; needs to get Group objects not ↵Brion Vibber
IDs; also don't list any groups for repeats to match saveGroups behavior todo: merge calculation portion with saveGroups so they don't get out of sync
2010-01-13make sure whoGets() doesn't write anythingEvan Prodromou
2010-01-13Don't save reply info for repeatsEvan Prodromou
2010-01-13repeats don't get posted to groupsEvan Prodromou
2010-01-13remove vestiges of Notice_inbox from cache clearing code in NoticeEvan Prodromou
2010-01-13memoize Notice::whoGets()Evan Prodromou
2010-01-12remove transaction for Notice save; causes deadlocksEvan Prodromou
2010-01-09whoGets() method for NoticeEvan Prodromou