Evan Prodromou
59d0e2f373
cache the notice count for threaded view
2011-04-06 23:17:17 -04:00
Evan Prodromou
44c64816a5
cache groups per notice
2011-04-06 22:47:17 -04:00
Shashi Gowda
ced00cf0bd
Merge remote-tracking branch 'mainline/1.0.x' into people_tags_rebase
2011-04-05 10:28:05 +05:30
Evan Prodromou
797cd9ccd4
fix scope for replies to group-private notices
2011-04-04 22:34:47 -04:00
Evan Prodromou
eaa70d337d
force the reply to a notice to have the same scope
2011-04-04 18:13:28 -04:00
Evan Prodromou
660f1cd6b8
Force group scope on notices sent to a private-only group
...
For groups that require a private scope, we force every notice to be limited to group scope.
Changed the group-discovery code so we only get groups once -- regardless if they were provided or not.
2011-04-04 17:33:42 -04:00
Shashi Gowda
57198a7464
Merge remote-tracking branch 'mainline/1.0.x' into people_tags_rebase
...
Conflicts:
actions/tagother.php
lib/subscriberspeopleselftagcloudsection.php
lib/subscriptionspeopleselftagcloudsection.php
2011-04-04 13:26:27 +05:30
Siebrand Mazeland
f64c312942
Update translator documentation.
2011-03-31 22:48:03 +02:00
Evan Prodromou
f580147058
Clear ;last version of stream if importing old stuff
2011-03-31 16:15:05 -04:00
Evan Prodromou
8333ac33c8
if user has private stream flag, set that scope
2011-03-31 12:56:53 -04:00
Shashi Gowda
5a2bab07b2
Merge remote-tracking branch 'mainline/1.0.x' into people_tags_rebase
...
Conflicts:
actions/tagother.php
classes/Profile.php
classes/Profile_tag.php
js/util.min.js
2011-03-30 15:47:42 +05:30
Brion Vibber
2e56e11482
Note explicitly that you can pass null to Notice::inScope()
2011-03-29 17:01:53 -07:00
Brion Vibber
674e3c2a0e
Merge branch '1.0.x' of gitorious.org:statusnet/mainline into 1.0.x
...
Conflicts:
actions/apistatusesretweet.php
actions/repeat.php
classes/Notice.php
lib/command.php
2011-03-29 16:26:20 -07:00
Brion Vibber
9adbb49fc9
Consolidate some precondition checks for repeats, fix a couple bits in the repeat command.
...
Notice::saveNew() now does these checks directly when making a repeat:
* make sure the original is valid and existing
* stop you from repeating your own message
* stop you from repeating something you've previously repeated
* prevent repeats of any non-public messages
* explicit inScope() check to make sure you can read the original too (just in case there's a funky extension at play that changes scoping rules)
These error conditions throw exceptions, which the caller either uses as an error message or passes on up the stack, without having to duplicate the checks in each i/o channel.
2011-03-29 16:20:12 -07:00
Siebrand Mazeland
0a19674c9f
@evan Fixed message domain for messages in plugins for recent commits.
...
Numbered parameters when more than one used in a message.
L10n updates for consistency.
i18n for non-translatable exception.
Updated translator documentation.
Removed superfluous whitespace.
2011-03-30 00:48:41 +02:00
Evan Prodromou
31fd4dbe3b
Repeats keep the same scope as parent
2011-03-29 12:12:08 -04:00
Evan Prodromou
32145484c2
Disallow repeats (retweets) of private notices
...
We disallow repeating a notice (or whatever) if the scope of the
notice is too private. So, only notices that are public scope
(available to everyone in the world) or site scope (available to
everyone on the site) can be repeated.
Enforce this rule at a low level in Notice.php, and in the API,
commands, and Web UI. Repeat button doesn't appear on tightly-scoped
notices in the Web UI.
2011-03-29 11:53:26 -04:00
Evan Prodromou
b0deaad700
Add a check to prevent replying to an unscoped notice
2011-03-28 12:01:08 -04:00
Evan Prodromou
e11c69fd81
always allow author to see own notices
2011-03-26 16:47:18 -04:00
Evan Prodromou
82b38b62a4
clearer scope rules for anonymous and author
2011-03-26 16:23:20 -04:00
Evan Prodromou
c7f866b032
Caller can set scope for Notice::saveNew()
2011-03-26 15:49:46 -04:00
Evan Prodromou
0c3f8208cd
Merge branch 'limitdist' into limitdist2
2011-03-25 11:46:49 -04:00
Evan Prodromou
44bcc942b8
Break up stream code to use separate notice stream classes
...
Rearchitect (again!) notice stream code to delegate different functionality up and down the stack.
Now, different classes implement NoticeStream.
2011-03-24 18:04:19 -04:00
Evan Prodromou
eb1faa7865
Merge branch '1.0.x' into limitdist
...
Conflicts:
classes/Notice.php
2011-03-23 15:58:27 -04:00
Evan Prodromou
2b901894c2
Some fixes to make the notice stream class work
2011-03-23 11:59:01 -04:00
Evan Prodromou
0b35ce7c37
New NoticeStream class to reify streams of notices
...
We've been muddling through with 6- or 8-argument functions for managing streams. I'd
like to start thinking of streams as their own thing, and give them some more value.
So, the new NoticeStream class takes over the Notice::stream() function and Notice::getStreamByIds().
There's probably some fine-tuning to do on the object interface.
2011-03-23 11:29:55 -04:00
Evan Prodromou
31e7d46a5b
add profile to stream function
2011-03-22 18:15:53 -04:00
Evan Prodromou
26a4bd7dbf
move scope check to Notice so we can have a null profile
2011-03-22 11:56:28 -04:00
Evan Prodromou
6cdbe47e72
add scope flags for Notice
2011-03-22 11:56:28 -04:00
Evan Prodromou
7f74aa6c20
Add scope bitmap for notices
2011-03-22 11:56:28 -04:00
Evan Prodromou
83fb5e6023
Mass replacement of #-comments with //-comments
...
like leprous boils in our code. So, I've replaced all of them with //
comments instead. It's a massive, meaningless, and potentially buggy
change -- great one for the middle of a release cycle, eh?
2011-03-22 11:54:23 -04:00
Shashi Gowda
13e9e41d2f
Blend in with some new code. New menus, etc.
2011-03-22 08:30:16 +05:30
Shashi Gowda
31c1177970
Merge branch '1.0.x' into people_tags_rebase
...
Conflicts:
EVENTS.txt
actions/peopletag.php
actions/tagother.php
classes/Notice.php
js/util.js
js/util.min.js
lib/accountprofileblock.php
lib/action.php
lib/activityobject.php
lib/command.php
lib/personalgroupnav.php
plugins/OStatus/OStatusPlugin.php
2011-03-22 07:56:25 +05:30
Brion Vibber
90a7631592
Caching for conversation root lookup, some logic fixes in threaded view
2011-03-17 17:36:53 -07:00
Brion Vibber
0c2c73659c
Use cached sources for favorites & repeats info on threaded notice lists
2011-03-17 17:06:04 -07:00
Brion Vibber
8de24335d2
Doc comment on Notice->getTags() to clarify the return data type
2011-03-15 12:51:29 -07:00
Brion Vibber
b66250c6aa
Add StartNoticeWhoGets, EndNoticeWhoGets events to allow upcoming TagSub plugin to do extra inbox delivery.
2011-03-15 12:49:17 -07:00
Evan Prodromou
e1d177de7e
store reply_to notices as comment activity objects
2011-03-07 14:27:23 -05:00
Evan Prodromou
32f4daf44d
Notice saves its object type
2011-03-07 14:20:55 -05:00
Shashi Gowda
1b1a427237
DB_DataObjects for people tags
2011-03-06 23:28:03 +05:30
Zach Copley
b7d0746694
Merge branch '0.9.x' into 1.0.x
...
Conflicts:
actions/confirmaddress.php
actions/emailsettings.php
actions/hostmeta.php
actions/imsettings.php
actions/login.php
actions/profilesettings.php
actions/showgroup.php
actions/smssettings.php
actions/urlsettings.php
actions/userauthorization.php
actions/userdesignsettings.php
classes/Memcached_DataObject.php
index.php
lib/accountsettingsaction.php
lib/action.php
lib/common.php
lib/connectsettingsaction.php
lib/designsettings.php
lib/personalgroupnav.php
lib/profileaction.php
lib/userprofile.php
plugins/ClientSideShorten/ClientSideShortenPlugin.php
plugins/Facebook/FBConnectSettings.php
plugins/Facebook/FacebookPlugin.php
plugins/NewMenu/NewMenuPlugin.php
plugins/NewMenu/newmenu.css
2011-02-28 15:39:43 -08:00
Brion Vibber
2bd9532ebe
Merge branch 'master' into 0.9.x
2011-02-28 10:18:18 -08:00
Brion Vibber
9ec395b07a
Workaround for reply timeline since_id issue: save the notice.created value into reply.modified, so we can key off it as expected.
...
As a hack this removes the mysql_timestamp bit from the field settings on reply.modified so that our value actually gets saved. This *should* work ok as long as system timezone is set correctly, which we now set to UTC to match when connecting.
2011-02-25 13:22:13 -08:00
Brion Vibber
0291c6f7cd
Merge branch 'unicode-tag' into 0.9.x
2011-02-25 10:17:03 -08:00
Zach Copley
17176ee445
Merge branch 'json-activities' into 0.9.x
2011-02-25 00:15:26 -08:00
Brion Vibber
295e2bde56
Unicodize a couple regexes for tags: fixes linking & detection of non-ASCII tags that match the current regexes.
...
(Checks for 'letter' and 'number' characters, underscore, dash, and period.)
2011-02-23 16:37:55 -08:00
Zach Copley
29ce5dd19a
Reinstate profile_info in author/actor
2011-02-17 19:02:57 -08:00
Evan Prodromou
ccdd47bdb4
use fallback URIs for groups when filling in attention in Notice::asActivity()
2011-02-17 10:51:00 -05:00
Zach Copley
764a29e2ff
Remove debugging statements I accidentally left in
2011-02-16 16:21:31 -08:00
Zach Copley
a1b436a8c6
First cut at some JSON Activity Streams output
2011-02-15 20:25:39 -08:00
Brion Vibber
4883069177
Fix group regexes that got missed in Nickname::DISPLAY_FMT update: fixes bug where group linking happened, but not actual delivery, when using _underscores_ in the !group_name
2011-02-07 12:18:41 -08:00
Evan Prodromou
5f365e75ca
only blow public timeline cache if notice is in it
2011-02-03 13:58:56 -05:00
Siebrand Mazeland
7db24c32d6
* fix some i18n and L10n issues
...
* update/add translator documentation
* remove superfluous whitespace
2011-01-29 00:33:13 +01:00
Brion Vibber
e35d46b415
Fix for ticket #3010 : blocks are now applied against the original poster of repeats.
...
Previously, if someone you subscribe to repeats a notice by someone you've blocked, you got the message and had to just roll your eyes.
Now blocks are checked against both the current notice's posting profile, and the poster of the original if it's a repeat.
2011-01-24 14:16:15 -08:00
Evan Prodromou
32eb4c5e2d
Merge remote branch 'gitorious/0.9.x' into 1.0.x
...
Conflicts:
lib/common.php
2010-12-30 15:52:08 -08:00
Evan Prodromou
6ab46c70f7
Delete file links when Notice is deleted
2010-12-28 13:44:18 -08:00
Brion Vibber
e211e6228d
Merge branch '0.9.x' into 1.0.x
2010-12-28 11:38:34 -08:00
Evan Prodromou
320e73a321
If notice has been deleted before, don't store URI again
2010-12-27 22:58:13 -08:00
Evan Prodromou
c458bafaa1
pass through $idField and $createdField in Notice queries
2010-12-27 22:35:57 -08:00
Brion Vibber
26baad63f2
Merge branch '0.9.x' into 1.0.x
2010-12-22 15:25:38 -08:00
Evan Prodromou
9a6ceb3303
Merge branch 'righttoleave' into 0.9.x
2010-12-22 11:22:51 -08:00
Brion Vibber
d8a3a88ec8
Merge branch '0.9.x' into 1.0.x
...
Conflicts:
classes/Memcached_DataObject.php
2010-12-17 17:13:21 -08:00
Brion Vibber
fb65d5901d
Update sorting for conversation views: adds notice_conversation_created_id_idx index on notice, replacing more limited notice_conversation_idx
2010-12-17 16:08:37 -08:00
Brion Vibber
1b90ed564a
Update sorting on api/statuses/retweets: adds notice_repeat_of_created_id_idx index to replace notice_repeatof_idx
2010-12-17 15:13:09 -08:00
Brion Vibber
04aa8bd70f
work around borkage in statuses/repeats -- tries to check an offset var that's not there. use the limit var which is there instead
2010-12-17 15:05:45 -08:00
Brion Vibber
4cd3a0756b
Update notice sorting for profile streams; extract more common code to Notice::addSinceId() and Notice::addMaxId()
2010-12-17 13:20:38 -08:00
Brion Vibber
9e8bbff8ac
Notice::whereSinceId() and Notice::whereMaxId() encapsulate logic for building where clauses for since_id/max_id parameters. Can override the field names from 'id' and 'created'.
2010-12-17 13:03:18 -08:00
Brion Vibber
5de86f0ccc
Initial switch of public timeline stream to use timestamps for internal sorting
2010-12-17 12:38:38 -08:00
Brion Vibber
7c84c35587
Notice::getAsTimestamp() static function to look up the timestamp for a given notice, even if it's been deleted. To be used for converting since_id/max_id processing to use timestamp sorting internally.
2010-12-17 12:09:02 -08:00
Evan Prodromou
39804809dd
distribute flag for Notice::saveNew()
2010-12-16 16:17:38 -05:00
Brion Vibber
bf20258f4b
Merge branch '0.9.x' into 1.0.x
2010-12-15 11:59:31 -08:00
Evan Prodromou
94ff04e190
Don't cache user-specific information for Notice atom entries
2010-12-08 13:59:12 -05:00
Brion Vibber
9df856e667
Merge branch '0.9.x' into merge
...
Conflicts:
README
actions/hostmeta.php
classes/File_redirection.php
lib/common.php
lib/designsettings.php
lib/router.php
lib/util.php
lib/xmppmanager.php
plugins/OStatus/OStatusPlugin.php
2010-12-07 10:50:05 -08:00
Evan Prodromou
1fb506c27d
use codeKey() in activity caching
2010-12-06 17:28:22 -05:00
Evan Prodromou
8564fc51c5
cache generated activity info
2010-12-06 16:38:02 -05:00
Evan Prodromou
b28266b3d6
Convert Notice::asAtomEntry() to use Notice::asActivity() and Activity::asString()
...
We had two ways to generate an activity entry from a notice; one through
Notice::asAtomEntry() and one through Notice::asActivity() and
Activity::asString(). The code paths had already diverged somewhat. I
took the conditions that were in Notice::asAtomEntry() and made sure
they were replicated in the other two functions. Then, I rewrote
Notice::asAtomEntry() to use the other two functions instead.
This change passes the ActivityGenerationTests unit tests, but there
may be some other stuff that's not getting covered.
2010-12-05 16:15:05 -05:00
Brion Vibber
aa96c3c1d9
Fix for tickets #2917 , #2262 : user URL shortening options not being applied in non-web channels
...
common_shorten_links() can only access the web session's logged-in user, so never properly took user options into effect for posting via XMPP, API, mail, etc.
Adds an optional $user parameter on common_shorten_links(), and a $user->shortenLinks() as a clearer interface for that.
Tweaked some lower-level functions so $user gets passed down -- making the $notice_id param previously there for saving URLs at notice save time generalized a little.
Note also ticket #2919 : there's a lot of duplicate code calling the shortening, checking the length, and reporting near-identical error messages. These should be consolidated to aid in code and translation maintenance.
2010-12-02 13:41:56 -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
Evan Prodromou
c1cee3b27f
Merge branch 'atompub' into 0.9.x
...
Conflicts:
actions/apistatusesshow.php
actions/apitimelineuser.php
2010-11-15 11:57:19 -05:00
Siebrand Mazeland
6aeba0cb7c
i18n/L10n updates.
2010-11-04 18:33:39 +01:00
Brion Vibber
4f63e3be7d
Fix for ticket #2804 : bad non-cache fallback code for dupe checks of prolific posters
...
The old code attempted to compare the value of the notice.created field against now() directly, which tends to explode in our current systems. now() comes up as the server/connection local timezone generally, while the created field is currently set as hardcoded UTC from the web servers. This would lead to breakage when we got a difference in seconds that's several hours off in either direction (depending on the local timezone). New code calculates a threshold by subtracting the number of seconds from the current UNIX timestamp and passing that in in correct format for a simple comparison. As a bonus, this should also be more efficient, as it should be able to follow the index on profile_id and created.
2010-11-03 17:25:29 -07:00
Evan Prodromou
e51ed96b89
add rel=self links to atom entries
2010-10-25 09:48:01 -04:00
Evan Prodromou
698818bd7e
show rel=edit links in notices for authenticated users
2010-10-24 23:05:33 -04:00
Brion Vibber
8ff45823ba
Merge branch '0.9.x' into 1.0.x
2010-10-05 11:40:49 -07:00
Brion Vibber
d6b3d7fb1a
Fix unescaped dollar signs in double-quoted strings due to localization updates (%1$s etc)
2010-10-04 14:24:04 -07:00
Brion Vibber
59119482ca
Merge branch '0.9.x' of gitorious.org:statusnet/mainline into 1.0.x
...
Conflicts:
actions/hostmeta.php
actions/imsettings.php
classes/User.php
lib/adminpanelaction.php
lib/channel.php
lib/default.php
lib/router.php
lib/util.php
2010-10-04 12:54:36 -07:00
Brion Vibber
6e58a926e3
ForceGroup plugin: optionally force new users to join a particular group or set of groups on registration; and/or to force posts by members of particular groups to be posted into those groups even if not explicitly mentioned. The posting feature requires a couple quick hook additions in core.
2010-09-30 18:05:44 -07:00
Brion Vibber
55a080ea4e
ForceGroup plugin: optionally force new users to join a particular group or set of groups on registration; and/or to force posts by members of particular groups to be posted into those groups even if not explicitly mentioned. The posting feature requires a couple quick hook additions in core.
2010-09-30 16:25:15 -07:00
Siebrand Mazeland
b03ece26eb
* i18n/L10n and translator documentation updates.
...
* whitespace and indentation updates
2010-09-28 23:21:09 +02:00
Evan Prodromou
b5cfcba471
Merge branch '0.9.x' into activityexport
...
Conflicts:
plugins/OStatus/OStatusPlugin.php
2010-09-22 10:45:34 -04:00
Evan Prodromou
556a2a8fd8
use Profile::getUri() to get a profile's URI
2010-09-21 06:21:47 -04:00
Brion Vibber
521daf5562
Ticket #2327 : fixing block to remove the blocking user's subscription to the blockee if present; also cleaning up inbox delivery to apply the block checks more consistently, instead of just to group posts.
2010-09-20 16:00:25 -07:00
Evan Prodromou
9f4891568f
bugs in function calls in Notice::asActivity
2010-09-13 16:27:02 -04:00
Evan Prodromou
d634f9cf17
Notice::asActivity
2010-09-13 11:44:20 -04:00
Evan Prodromou
4419e43f7f
Merge branch '0.9.x' into 1.0.x
...
Conflicts:
EVENTS.txt
plugins/TwitterBridge/daemons/twitterstatusfetcher.php
plugins/TwitterBridge/twitterbasicauthclient.php
2010-09-09 15:01:03 -04:00
Brion Vibber
7407754c27
Merge branch 'master' into testing
2010-09-08 11:47:44 -07:00
Evan Prodromou
a319b40c97
common_cache_key() -> Cache::key()
2010-09-06 10:07:43 -04:00
Evan Prodromou
e42d2124a3
common_keyize() -> Cache::keyize()
2010-09-06 10:03:51 -04:00
Evan Prodromou
8f81762d68
common_memcache() => Cache::instance()
2010-09-06 09:56:45 -04:00
Brion Vibber
0ef422593b
Don't explode if we fail to load a listed attachment id in Notice::attachments()
2010-09-02 15:39:22 -07:00
Evan Prodromou
82b1d6daef
Merge branch 'swat0' into 0.9.x
2010-09-02 16:58:55 -04:00
Evan Prodromou
a2de30b767
Notice::saveReplies() uses Profile::fromURI() to handle remote profiles too
2010-09-01 16:15:51 -04:00
Evan Prodromou
21bf50bad6
Merge branch 'noticetitle' into 0.9.x
2010-08-14 12:03:25 -07:00
Evan Prodromou
6d89aa0931
on deleting a notice
2010-08-14 11:54:20 -07:00
Brion Vibber
dcfc13cc08
Fix PHP notice spew when Notice::saveNew() called without passing any options; default empty vars weren't being set.
2010-08-12 15:18:50 -07:00
Brion Vibber
08fc6053ec
Fix for regression with OStatus mention processing (duplicated new and old style lead to trying to save a reply entry twice).
2010-08-10 13:49:11 -07:00
Evan Prodromou
e2c90576c0
re-add mentioned link lost in last merge
2010-08-03 16:01:50 -07:00
Evan Prodromou
2ba36fc242
Merge branch 'activityhooks' into 0.9.x
...
Conflicts:
classes/Notice.php
2010-08-03 16:01:18 -07:00
Evan Prodromou
cc71f1ae82
output Atom dates in UTC
2010-08-03 15:55:40 -07:00
Evan Prodromou
f83171824f
correctly show <source> for atom feeds
2010-08-03 15:50:21 -07:00
Evan Prodromou
f12cafb275
correct output for EndActivityInReplyTo event
2010-08-02 17:56:44 -07:00
Evan Prodromou
fe2b4fdf1c
add some activity hooks
2010-08-02 17:16:04 -07:00
James Walker
e603632f13
add support for Salmon's new "mentioned" rel value
2010-08-02 14:06:14 -04:00
Siebrand Mazeland
8f8588026b
Fixes for messages after review by Brion.
2010-07-30 19:25:55 +02:00
Zach Copley
fb2e00eacc
Merge branch 'master' into 0.9.x
...
Conflicts:
classes/Notice.php
2010-07-29 20:44:11 +00:00
Zach Copley
4e8e77f6b0
Return HTTP 403 instead of 400 when silenced users try to post via API
2010-07-29 18:47:28 +00:00
Siebrand Mazeland
f241cdcbb3
* mark two untranslatable server exceptions as translatable
...
* number parameters when multiple are user in a message
* update translator documentation
2010-07-29 11:34:58 +02:00
Zach Copley
25e963769c
Revert "Revert "Change the cache window on notices from 61 to 200, the max number""
...
This reverts commit a65b3f171c
.
2010-07-21 12:29:47 -07:00
Zach Copley
a65b3f171c
Revert "Change the cache window on notices from 61 to 200, the max number"
...
This reverts commit d51820adc5
.
2010-07-19 17:38:11 -07:00
Zach Copley
d51820adc5
Change the cache window on notices from 61 to 200, the max number
...
of notices available at one time through the API. Note: this will
require a memcache restart.
2010-07-19 13:47:42 -07:00
Evan Prodromou
dfd65a4290
push exception on missing profile down to Notice::getProfile()
2010-07-13 10:51:25 -04:00
Brion Vibber
696e4ba393
Merge branch 'testing' of gitorious.org:statusnet/mainline into 0.9.x
...
Conflicts:
plugins/OpenID/openidserver.php (cleaned up mismatched comment)
2010-06-26 10:17:36 -04:00
Brion Vibber
d9e56e15cc
Merge branch 'master' into testing
2010-06-26 10:16:27 -04:00
Zach Copley
1eec7f779f
- Add profile_info tag to Atom author
...
- Normalize xmlns:statusnet links in the API
2010-06-22 16:28:06 -07:00
Zach Copley
105c1a22d6
Include source client's related URL (if any) in source attribution for
...
Atom notice feeds
2010-06-17 23:08:40 +00:00
Brion Vibber
7f3b3620af
Merge branch 'testing' of gitorious.org:statusnet/mainline into 0.9.x
2010-06-11 12:05:53 -07:00
Brion Vibber
5a96b9e805
Merge branch 'master' of gitorious.org:statusnet/mainline into testing
2010-06-07 10:34:00 -07:00
Brion Vibber
d88b208edc
Merge branch 'testing' of gitorious.org:statusnet/mainline into 0.9.x
...
Conflicts:
plugins/OpenID/openid.php
2010-06-07 10:19:40 -07: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
Zach Copley
1a44d4272f
Add repeated attr to Atom notices_info element
2010-06-03 22:24:55 +00:00
Craig Andrews
6317f7d92b
Assigning my copyrights to the Free Software Foundation
2010-05-27 18:27:33 -04:00
Brion Vibber
696aeea113
Merge branch 'testing' of gitorious.org:statusnet/mainline into 0.9.x
...
Conflicts:
lib/language.php
plugins/OpenID/finishaddopenid.php
2010-05-27 14:57:32 -07:00
Zach Copley
80d1e86a7c
Add repeat info to statusnet:notice_info Atom element
2010-05-26 00:39:44 +00:00
Brion Vibber
f7add6f25f
Handle funky notice deletion cases more gracefully: if we already have a deleted_notice entry, don't freak out when we try to save it again on the second try.
2010-05-24 07:47:15 -07:00
Zach Copley
114df39822
Need to always emit statusnet:notice_info so it's available in profile feeds
2010-05-18 15:17:05 -07:00
Zach Copley
5ea019c41a
Remove errant double HTML entity encoding in API source attribution
2010-05-18 15:16:23 -07:00
Zach Copley
68634f0496
Add source link attr to statusnet:notice_info element in Atom output for notices
2010-05-18 15:15:41 -07:00
Zach Copley
c78f67aa73
Refactor and centralize notice source link calculation
2010-05-18 15:15:27 -07:00
Zach Copley
d9fddff539
Add xmlns:statusnet and statusnet:notice_info element to Atom entries for notices
2010-05-18 15:15:14 -07:00
Zach Copley
df034f0a1e
Need to always emit statusnet:notice_info so it's available in profile feeds
2010-05-12 15:08:01 -07:00
Zach Copley
869bc32d0d
Remove errant double HTML entity encoding in API source attribution
2010-05-06 21:48:12 +00:00
Zach Copley
292ea33dbd
Add source link attr to statusnet:notice_info element in Atom output for notices
2010-05-06 21:48:11 +00:00
Zach Copley
22fde00def
Refactor and centralize notice source link calculation
2010-05-06 21:48:11 +00:00
Zach Copley
b547079b28
Add xmlns:statusnet and statusnet:notice_info element to Atom entries for notices
2010-05-06 21:48:11 +00:00
Brion Vibber
2260d6ec7c
Merge branch 'testing' into 0.9.x
...
Conflicts:
index.php
2010-04-29 15:14:51 -07:00
Brion Vibber
dd7b95c2cf
Merge branch 'master' into testing
2010-04-23 14:26:57 -07:00
Brion Vibber
7bdea95ccb
Fix to make blowing of replies stream cache more consistent when receiving replies. (Was being done at mail notify time instead of at save time for local replies; now moved to reply save time internally so it can't get forgotten)
2010-04-23 06:55:46 -07:00
Brion Vibber
df41287226
Merge branch 'testing' of gitorious.org:statusnet/mainline into 0.9.x
2010-04-20 13:52:58 +02:00
Brion Vibber
61098faf5d
Merge branch 'master' of gitorious.org:statusnet/mainline into testing
2010-04-20 13:52:18 +02:00
Brion Vibber
c48caa85e1
Fix email notifications for @-replies that come via OStatus.
...
* Moved notification sending from Notice::saveReplies to distrib queue handler, so it'll pull from the reply set we've saved regardless of how we got it.
* Set up gettext infrastructure for command-line scripts; gets localization mail notifications etc working from background queues.
* Adjusted locale switching: common_switch_locale() works at runtime for bg scripts, forces a message catalog update
2010-04-20 13:49:29 +02:00
Brion Vibber
f789928942
Merge branch 'testing' into 0.9.x
2010-04-14 11:15:48 +02:00
Brion Vibber
3da50c19df
Merge branch 'master' into testing
2010-04-14 11:15:21 +02:00
Brion Vibber
a21a172639
Fix for "#foo !foo" in same notice failing during save, causing failout before distribution. Move saveGroups after saveTags when saving notices; groups may save additional tags, so need to be moved after so the check for duplicates actually works.
2010-04-14 11:11:02 +02:00
Brion Vibber
d445b977fc
move comment to correct place
2010-04-14 11:09:54 +02:00
Siebrand Mazeland
af06c554a0
* DB -> Database in message
...
* some translator documentation added
2010-04-11 01:08:51 +02:00
Brion Vibber
6fb60fb57f
Fix for conversation check in @-reply notification email; i18n cleanup on mail messages: fixed some bad gettext usage, added trans doc comments.
2010-04-09 12:02:11 -07:00
Brion Vibber
d00942cce1
Fix for conversation check in @-reply notification email; i18n cleanup on mail messages: fixed some bad gettext usage, added trans doc comments.
2010-04-09 11:56:27 -07:00
Brion Vibber
9cb0dab270
Run block checks on remote OStatus replies
2010-04-09 10:48:18 -07:00
Brion Vibber
80bd77ced3
Run block checks on remote OStatus replies
2010-04-09 10:46:18 -07:00
Brion Vibber
13d59e0c76
fixup_deletions.php script to look for notices posted by now-deleted profiles and remove them.
2010-03-23 17:24:01 -07:00
Brion Vibber
cb471e0c96
Blow more timeline caches on notice delete. Fixes paging on public and profile timelines after deleting something from the first page.
2010-03-15 14:19:22 -07:00
Zach Copley
78f0d6bbd2
Scrub all atom output with common_xml_safe_str()
2010-03-12 01:12:30 +00:00
Zach Copley
7cdcb89dc9
Add id and updated elements to atom source
2010-03-12 00:36:26 +00:00
Zach Copley
f210cadfec
Revert "Revert "Show <activity:subject> and no activity actors for user feed""
...
This reverts commit e2578cfad6
.
2010-03-03 20:58:34 -08:00
Brion Vibber
3bb42d1170
Use poster's subscribed groups to disambiguate group linking when a remote 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-03 19:00:02 +00:00
Brion Vibber
79ffebb51b
OStatus: save file records for enclosures
...
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-02 16:36:08 -08:00
Brion Vibber
72460091dd
Merge branch 'master' of git@gitorious.org:statusnet/mainline into testing
2010-03-02 12:21:48 -08:00
Brion Vibber
6b134ae4c7
Dropped deprecated timestamp-based 'since' parameter for all API methods. 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-02 11:54:02 -08:00
Evan Prodromou
e2578cfad6
Revert "Show <activity:subject> and no activity actors for user feed"
...
This reverts commit c25fc8a4b5
.
2010-03-02 03:40:43 -05:00
Evan Prodromou
40ac724797
don't duplicate title in summary in Atom output per RFC4287 4.2.13
2010-03-02 03:13:05 -05:00
Evan Prodromou
c25fc8a4b5
Show <activity:subject> and no activity actors for user feed
...
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-03-02 02:54:52 -05:00
Evan Prodromou
04c4facba9
fix call of common_find_mentions() in Notice::saveReplies()
2010-02-27 16:30:38 -05:00
Evan Prodromou
4d9daf2149
Use notice for context when deciding who @nickname refers to
...
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-27 16:06:46 -05:00
Evan Prodromou
a5cfda8505
blow cache on known replies
2010-02-26 17:47:39 -05:00
Zach Copley
7922edb5b6
Add lots of fun avatars to our Atom output
2010-02-25 16:06:49 -08:00
Brion Vibber
79c0d52daa
OStatus: save categories from the Atom entry as hashtags.
2010-02-25 11:26:33 -08:00
Zach Copley
89dc6dee01
Add PoCo namespace to optional ns output in Notice::asAtomEntry()
2010-02-22 17:56:43 -08:00
Zach Copley
cbf6ebae01
Merge branch 'rationalize-activity' into testing
...
* rationalize-activity:
Move ActivityObject and related stuff to core
Add PoCo bits, avatar link, geo point, etc. to person activity obj output
2010-02-22 17:12:33 -08:00
Zach Copley
6a711c6cdc
Move ActivityObject and related stuff to core
2010-02-22 17:10:50 -08:00
Brion Vibber
d410df0406
OStatus group delivery initial implementation.
...
- 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-23 00:44:45 +00:00
Evan Prodromou
891e002883
don't calculate replies for remote notices
2010-02-21 23:56:48 -05:00
Evan Prodromou
ab3db8c899
Combine code that finds mentions into one place and add hook points
...
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-21 16:20:30 -05:00
Evan Prodromou
e9d22138ef
permalink on a note represented by rel=alternate
2010-02-21 09:23:51 -05:00
Evan Prodromou
9498a16480
Notice::saveNew() accepts url and rendered options
2010-02-21 09:17:00 -05:00
Brion Vibber
9c2fe8492f
OStatus: send favorite/unfavorite notifications to remote authors
2010-02-20 15:56:36 -08: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
c892726c80
Take remote profiles into account when looking up canonical profile URIs
2010-02-16 16:22:58 -08: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
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
Zach Copley
e2c0f59414
Some upgrades to Atom output for OStatus
2010-02-11 13:56:05 -08: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
dbeb388ade
clear cache for Profile::hasRepeated() at Notice::insert() time
2010-02-03 12:31:25 -05:00
Evan Prodromou
fec8066bf7
error clearing tags for profiles from memcached
2010-01-30 14:37:39 -05:00
Evan Prodromou
d13d73c563
Last-chance distribution if enqueueing fails
2010-01-28 16:53:37 -08:00
Brion Vibber
fbd52111e1
fix notice -- drop unused return value of variable that isn't initialized :) thx @ g0 for the catch
2010-01-27 19:58:33 -08:00
Brion Vibber
3abfb454a3
Adds an emergency switch so we can run inbox distribution at save time (bypassing 'distrib' queue)
...
Set $config['queue']['inboxes'] = false to do so
2010-01-27 18:39:17 -08:00
Evan Prodromou
e26a843caf
Offload inbox updates to a queue handler to speed up posting online
...
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-25 18:08:21 -05:00
Brion Vibber
d35faa04c1
Fix for background recalculation of groups; needs to get Group objects not 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-15 13:06:21 -08:00
Evan Prodromou
d032fc038a
make sure whoGets() doesn't write anything
2010-01-13 12:37:01 -08:00
Evan Prodromou
43ff542189
Don't save reply info for repeats
2010-01-13 01:13:06 -08:00
Evan Prodromou
8bfa7fdeaf
repeats don't get posted to groups
2010-01-13 00:47:12 -08:00
Evan Prodromou
5397249e50
remove vestiges of Notice_inbox from cache clearing code in Notice
2010-01-13 00:45:12 -08:00
Evan Prodromou
3d579fc580
memoize Notice::whoGets()
2010-01-13 00:16:54 -08:00
Evan Prodromou
fb0d837ddc
remove transaction for Notice save; causes deadlocks
2010-01-12 23:41:33 -08:00
Evan Prodromou
96e51dad4b
whoGets() method for Notice
2010-01-09 13:55:54 -08:00
Evan Prodromou
f2a403589c
Use inbox instead of notice_inbox
2010-01-09 10:02:07 -08:00
Ciaran Gultnieks
deeaafe712
Fixes to bugs where non-local messages were being wrong put in the public timeline and public xmpp feed
2010-01-07 20:59:31 +00:00
Brion Vibber
8af7ba0226
Fix for overlong RT trimming: don't trim if textlimit is 0 (unlimited)
2010-01-05 16:16:25 -08:00
Brion Vibber
9215496902
Ticket 2135: trim overlong repeats with ellipsis rather than failing.
...
In web interface and retweet/repeat API we show the original untrimmed text, but some back-compat API messages will still show the trimmed 'RT' version.
This matches Twitter's behavior on overlong retweets, though we're outputting the RT version in more API results than they do.
2010-01-05 16:10:00 -08:00
Evan Prodromou
06b6a27d7d
cached id streams can be empty, compare against false
2010-01-04 10:03:57 -10:00
Evan Prodromou
90a2563a90
Merge branch 'master' into 0.9.x
...
Conflicts:
classes/Memcached_DataObject.php
2010-01-02 19:47:34 -10:00
Evan Prodromou
52fbd10162
incorrectly used empty() instead of isset() for a variable that could be 0
2010-01-02 08:36:47 -10:00
Evan Prodromou
05e2b4d92d
Merge branch 'master' into 0.9.x
2009-12-29 12:09:17 -08:00
Evan Prodromou
45c4078ca9
notices are immutable, use created date for updated
2009-12-28 17:51:04 -08:00
Evan Prodromou
ca6669538a
Move location-argument-handling code into a single function
...
Moved the important parts of the location-argument-handling stuff
to a single function. Handles defaults and overrides correctly, and
easy to use. Changed Web and API channels to use it.
2009-12-28 15:13:15 -08:00
Brion Vibber
0ca80f78fb
Add doc comments listing the array parameters for User::register() and Notice::saveNew()
2009-12-16 09:27:48 -05:00
Brion Vibber
00fb5feff8
Cleanup undefined variable notice: set a couple more null defaults for new params in Notice::saveNew().
...
Fixes this notice seen while using AJAX repeat button:
Notice: Undefined variable: uri in classes/Notice.php on line 243
2009-12-16 09:27:48 -05:00
Brion Vibber
e2e1843639
slight cleanup for a bit in Notice.php where a var was reused for different types, confusing tracking down a bug
2009-12-16 09:27:47 -05:00
Evan Prodromou
2a8eee0e0b
add friends_timeline with no repeats in it
2009-12-14 16:41:25 -05:00
Evan Prodromou
438a0d7f1c
remove obsoleted getStream, getStreamDirect, getCachedStream from Notice; use stream() instead
2009-12-12 16:58:39 -05:00
Evan Prodromou
1ec54d3433
add statuses/retweeted_to_me to API
2009-12-12 16:15:23 -05:00
Evan Prodromou
698b28c95c
clear repeat_of flag when a notice is deleted
2009-12-12 16:02:44 -05:00
Evan Prodromou
cfe67a9c01
add statuses/retweets_of_me to API
2009-12-12 16:00:27 -05:00
Evan Prodromou
138ce0cd05
add statuses/retweeted_by_me api action
2009-12-12 15:35:05 -05:00
Evan Prodromou
c622d14440
add statuses/retweets to API
2009-12-12 14:46:24 -05:00
Evan Prodromou
afc86a86d3
save repeats from the form
2009-12-11 11:51:09 -05:00
Evan Prodromou
60754fc6de
Merge branch '0.9.x' into forward
2009-12-11 11:38:08 -05:00
Evan Prodromou
79f81ad76d
change Notice::saveNew() to use named arguments for little-used options
2009-12-11 11:29:51 -05:00
Evan Prodromou
da30890988
add repeat_of column to notice class
2009-12-11 10:22:56 -05:00
Evan Prodromou
45408142e9
reorder notices when not using memcached
2009-12-08 21:02:54 -05:00
Evan Prodromou
72c82a2e29
Basic function to store forwards and redistribute
2009-12-08 16:30:33 -05:00
Brion Vibber
2b8a3e3511
Fix regression in group posting: bug introduced in commit 1319002e15
. Need to use actual profile object rather than an id on a variable that doesn't exist when checking blocks :D
2009-11-27 14:52:58 -08:00
Brion Vibber
e85e47b509
Log database errors when saving notice_inbox entries
2009-11-27 14:20:57 -08:00
Zach Copley
638df94f88
Need to check the Profile rather than the User.
2009-11-17 08:48:16 -08:00
Evan Prodromou
f1efb845e4
don't allow sandboxed users to post public notices
2009-11-16 19:22:22 +01:00
Evan Prodromou
d2145a5b7f
Move rights check to profile and add right for new notices
...
Added a right for new notices, realized that the hasRight() method
should be on the profile, and moved it.
Makes this a less atomic commit but that's the way it goes sometimes.
2009-11-16 19:03:59 +01:00
Evan Prodromou
cb64cfb44c
add geo output to statuses in json, xml, atom, rss in API
2009-11-10 16:15:05 -05: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
Evan Prodromou
1319002e15
don't distribute group notices to inboxes for users who've blocked the author
2009-11-07 12:22:00 -05:00
Craig Andrews
005f85b5ea
Removed reference to 'api' action which no longer exists since api refactor
2009-10-30 01:25:52 -04:00
Evan Prodromou
e9644f03de
get location from a Notice
2009-10-29 14:43:18 -04:00
Evan Prodromou
b73d6d18ba
Merge branch '0.9.x' into location
2009-10-28 17:24:53 -04:00