Mikael Nordfeldth
c950f18546
Merge branch 'master' into nightly
...
Some merge requests that were aimed at master
2015-11-05 16:07:05 +01:00
mmn
45b24286e5
Merge branch 'status-204' into 'master'
...
Accept 204 for PuSH subscription
Some hubs (notably, pushpress, used by wordpress.com) return 204 to mean success.
This used to be allowed by the spec, so no harm in accepting it.
See merge request !48
2015-11-05 15:03:42 +00:00
mmn
5c768d7ef7
Merge branch 'twitter-verb' into 'nightly'
...
TwitterBridge: Add $notice->verb on import
Since /plugins/ActivityModeration::onStartNotieSave expects it to be there when calling ActivityUtils::compareVerbs. Otherwise, the following exception is unhandled:
2015-10-26 15:33:03 LOG_ERR: [sn.chromic.org:queuedaemon.php:25931] Unhandled exception: No URI to resolve in ActivityUtils::resolveUri
0: /lib/activityutils.php(353): ActivityUtils::resolveUri(NULL)
1: /lib/activityutils.php(364): ActivityUtils::compareTypes(NULL, Array)
2: /plugins/ActivityModeration/ActivityModerationPlugin.php(113): ActivityUtils::compareVerbs(NULL, Array)
3: [internal function]: ActivityModerationPlugin->onStartNoticeSave(Object(Notice))
4: /lib/event.php(105): call_user_func_array(Array, Array)
5: /plugins/TwitterBridge/lib/twitterimport.php(173): Event::handle('StartNoticeSave', Array)
6: /plugins/TwitterBridge/lib/twitterimport.php(72): TwitterImport->saveStatus(Object(stdClass))
7: /plugins/TwitterBridge/lib/tweetinqueuehandler.php(52): TwitterImport->importStatus(Object(stdClass))
8: /lib/dbqueuemanager.php(94): TweetInQueueHandler->handle(Array)
9: /lib/iomaster.php(287): DBQueueManager->poll()
10: /lib/iomaster.php(161): IoMaster->poll()
11: /scripts/queuedaemon.php(111): IoMaster->service()
12: /lib/spawningdaemon.php(189): QueueDaemon->runThread()
13: /lib/spawningdaemon.php(118): SpawningDaemon->initAndRunChild(2)
14: /lib/daemon.php(168): SpawningDaemon->run()
15: /scripts/queuedaemon.php(181): Daemon->runOnce()
16: {main}
See merge request !50
2015-11-05 15:01:07 +00:00
mmn
4b7c904fe0
Merge branch 'correct-author-for-repeat' into 'master'
...
Markup correct author for a repeat
The original author is not the author of this entry, but of the original entry.
See merge request !51
2015-11-05 15:00:35 +00:00
Stephen Paul Weber
a9b1b60a97
Refactor on File::processNew
...
The code was so involved there was even a comment asking for a refactor.
Now, File_redirection::where always returns a nice File_redirection
object instead of an array or string or nothing. The object is
either one which already existed or else a new, unsaved object.
Instead of duplicating "does it exist" checks everywhere, do it in
File_redirection::where. You either get what exists or something to save.
An unsaved File_redirection may be paired with an unsaved File.
You will want to save the File first (using ->saveFile()) and put the
id in File_redirection#file_id before saving.
2015-11-02 05:15:08 +00:00
Stephen Paul Weber
a74572b469
Use mb_strlen
2015-10-28 01:46:08 +00:00
Stephen Paul Weber
6ac8b845bf
Improvements inspired by the OStatus code
2015-10-28 01:45:51 +00:00
Stephen Paul Weber
fe4c8a771b
Replace text with nickname if shorter
2015-10-28 01:24:58 +00:00
Stephen Paul Weber
0aa759fab7
Allow mentioning bare domains with OStatus
2015-10-28 01:24:42 +00:00
Stephen Paul Weber
2edf535ecd
Add length argument to plugin
2015-10-28 01:24:29 +00:00
Stephen Paul Weber
85d5cfede5
Link to add to Firefox as feedreader
2015-10-28 01:10:28 +00:00
Stephen Paul Weber
e58c529c53
If we are given a direct URL to a feed, use that
2015-10-28 00:54:20 +00:00
Stephen Paul Weber
fed0895d98
Move the functionality to a plugin
...
Use an associated model to prevent race conditions on creating the
profile object.
2015-10-28 00:11:54 +00:00
Mikael Nordfeldth
1b81131c51
Shared notices didn't save the URL
2015-10-28 00:13:17 +01:00
Stephen Paul Weber
e1de6e0aa9
Support more author types on RSS
...
Specifically, any ActivityStreams or ATOM namespaces being used on
an rss channel.
2015-10-27 18:43:57 +00:00
Mikael Nordfeldth
ebbb9a8990
Bad HTML in translation.
2015-10-27 19:05:07 +01:00
Stephen Paul Weber
54e87dd2c3
Morkup correct author for a repeat
...
The original author is not the author of this entry, but of the original entry.
2015-10-27 17:19:03 +00:00
Chimo
3ae81f095c
TwitterBridge: Add $notice->verb on import
...
Since /plugins/ActivityModeration::onStartNotieSave expects it to be there when calling ActivityUtils::compareVerbs. Otherwise, the following exception is unhandled:
2015-10-26 15:33:03 LOG_ERR: [sn.chromic.org:queuedaemon.php:25931] Unhandled exception: No URI to resolve in ActivityUtils::resolveUri
#0 /lib/activityutils.php(353): ActivityUtils::resolveUri(NULL)
#1 /lib/activityutils.php(364): ActivityUtils::compareTypes(NULL, Array)
#2 /plugins/ActivityModeration/ActivityModerationPlugin.php(113): ActivityUtils::compareVerbs(NULL, Array)
#3 [internal function]: ActivityModerationPlugin->onStartNoticeSave(Object(Notice))
#4 /lib/event.php(105): call_user_func_array(Array, Array)
#5 /plugins/TwitterBridge/lib/twitterimport.php(173): Event::handle('StartNoticeSave', Array)
#6 /plugins/TwitterBridge/lib/twitterimport.php(72): TwitterImport->saveStatus(Object(stdClass))
#7 /plugins/TwitterBridge/lib/tweetinqueuehandler.php(52): TwitterImport->importStatus(Object(stdClass))
#8 /lib/dbqueuemanager.php(94): TweetInQueueHandler->handle(Array)
#9 /lib/iomaster.php(287): DBQueueManager->poll()
#10 /lib/iomaster.php(161): IoMaster->poll()
#11 /scripts/queuedaemon.php(111): IoMaster->service()
#12 /lib/spawningdaemon.php(189): QueueDaemon->runThread()
#13 /lib/spawningdaemon.php(118): SpawningDaemon->initAndRunChild(2)
#14 /lib/daemon.php(168): SpawningDaemon->run()
#15 /scripts/queuedaemon.php(181): Daemon->runOnce()
#16 {main}
2015-10-27 10:12:33 -04:00
Stephen Paul Weber
4c2bc465a0
Accept 204 for PuSH subscription
...
Some hubs (notably, pushpress, used by wordpress.com) return 204 to mean success.
This used to be allowed by the spec, so no harm in accepting it.
2015-10-27 03:16:39 +00:00
Stephen Paul Weber
fae7bc0bc0
Add all link headers, not just the last one
...
Given the way Link headers work, it does not make any sense to
just replace all other ones. Especially when we ourselves are adding
in a loop.
2015-10-25 18:42:37 +00:00
Stephen Paul Weber
dc36621dc2
Linkback to mentioned profiles
2015-10-25 17:22:15 +00:00
Stephen Paul Weber
ddfb56d920
TwitterBridge also check for dupe by uri
...
In case a twitter item came in from some other source (such as linkback).
2015-10-23 18:03:44 +00:00
Stephen Paul Weber
983fd75ec9
Include rel-syndication link for tweets
...
As per: <http://microformats.org/wiki/rel-syndication >
This allows some services to find a post in Twitter.
2015-10-23 17:56:02 +00:00
Stephen Paul Weber
2030ddfc79
Reduce duplication by handling both cases in find
2015-10-23 16:26:35 +00:00
Stephen Paul Weber
439b466979
Use HTTPS for links to Twitter profiles as well
2015-10-23 16:24:04 +00:00
Stephen Paul Weber
d1f1063900
Twitter URIs have changed
...
The #! was deprecated ages ago, and Twitter forces HTTPS these days.
2015-10-23 16:19:54 +00:00
Stephen Paul Weber
123bb445db
Always send Twitter replies to Twitter
...
If is_twitter_notice($notice->reply_to) then send it to Twitter, even
if twitter import is off. It's a reply to a Twitter notice, it should
go there!
2015-10-23 15:37:11 +00:00
Stephen Paul Weber
8649591626
Stop incorrecly changing object_type to relative URI
...
All other data is using absolute URI for object_type.
2015-10-22 17:14:59 +00:00
Stephen Paul Weber
4b31bc3fd2
Enqueue renewals
...
Better for request times, etc
2015-10-21 01:50:03 +00:00
Stephen Paul Weber
df21c3c95d
Renew 1 day *before* the end, not 1 day *after*
2015-10-21 01:49:26 +00:00
Stephen Paul Weber
df46f123dd
Actually use the renew code
...
We have the code to check once a day and renew, but currently it's
just in a script directory. This change adds an event listener
hook to check and renew subscriptions daily.
2015-10-21 01:10:48 +00:00
Stephen Paul Weber
677f0ac479
Allow users to opt out of sending linkbacks
2015-10-18 21:28:55 +00:00
abjectio
303fa91720
Removed inboxmessagelist.php - seems to be not needed. Ref. Issue #77
2015-10-18 17:34:36 +02:00
Stephen Paul Weber
c7e08195e4
Fix Pingback
...
This code was using the HTTPRequest helpers wrong. This commit sets the body directly instead of jamming the XML in as a POST param.
2015-10-17 13:39:46 +00:00
Stephen Paul Weber
d9d74ca96c
Send URL we publish
...
Webmention and Pingback both need the exact URL we are going to claim to link to to be present in our HTML source, so send them our actual original link.
Webmention clients are supposed to resolve this link. Pingback clients may still fail on shortened links.
2015-10-17 13:38:13 +00:00
Stephen Paul Weber
3b1792c8b5
Add webmention support
2015-10-15 00:29:53 +00:00
Stephen Paul Weber
e4892d21b1
Note that we should handle relative URIs
2015-10-14 16:13:25 -05:00
Stephen Paul Weber
8edc5148d9
Normalize detection helpers
...
Will make it easier to see what's happening when we add a third one.
2015-10-14 15:54:47 -05:00
Stephen Paul Weber
63fd35dffa
Notify replies and repeats
...
This is especially useful for partial federation with remote accounts
that are not fully OStatus-enabled but support a pingback protocol.
Such accounts will still be notified of replies and repeats of their
content even without OStatus support, thus adding to the federated
universe.
2015-10-14 15:47:00 -05:00
Stephen Paul Weber
b43294ec6f
Use the getter, not a direct access
2015-10-14 15:33:48 -05:00
Stephen Paul Weber
a4a37d6fc9
More robust pingback link detection
2015-10-14 15:28:38 -05:00
Mikael Nordfeldth
2c8536dbf0
Link source==share notices
2015-10-14 01:30:29 +02:00
Mikael Nordfeldth
401b774c2f
Only set ->actor in a case where it has not yet been set
...
Otherwise it could overwrite it with the wrong actor (the "second round"
for share activities)
2015-10-14 01:20:50 +02:00
Mikael Nordfeldth
79c40bc73b
Type-aware comparison is necessary for Notice is_local/scope
2015-10-14 00:42:15 +02:00
Mikael Nordfeldth
b6aeff89c4
Call Notice::saveActivity instead of Ostatus_profile->processActivity
2015-10-14 00:10:54 +02:00
Mikael Nordfeldth
005c108118
Shared activities were missing the actor
2015-10-13 23:40:35 +02:00
Mikael Nordfeldth
65adefe170
Wrong variable names in SharePlugin
2015-10-13 23:18:13 +02:00
Mikael Nordfeldth
e379c49d49
Removing excess debug logging
2015-10-13 22:55:27 +02:00
Mikael Nordfeldth
c8a907c828
Bookmark:addNew did not add a proper rel=related
2015-10-13 12:31:35 +02:00
Mikael Nordfeldth
3f4d4cb7a0
Better error handling in Bookmark
2015-10-12 18:28:32 +02:00
Mikael Nordfeldth
67e7bc55ea
Bookmarks are almost migrated
...
Now they are just not being saved in the bookmark table.
2015-10-12 17:48:23 +02:00
Mikael Nordfeldth
297d68f36c
Change Bookmark plugin version details
2015-10-12 09:47:30 +02:00
Mikael Nordfeldth
0e588bdeca
Woops, put the bookmark get* functions in the wrong file.
2015-10-11 22:08:28 +02:00
Mikael Nordfeldth
1dac0e709a
First step of making Bookmark saveActivity-compatible
2015-10-10 23:47:43 +02:00
Mikael Nordfeldth
b209276e72
Stricter typing for Bookmark plugin
2015-10-10 23:15:51 +02:00
Mikael Nordfeldth
5726459629
unmaintained plugins that accidentally got translations
2015-10-10 22:40:05 +02:00
mmn
0926316a76
Merge branch 'master' into 'nightly'
...
convert activity stream RFC3339 dates to mysql datetime format when saving remote event dates to db
See merge request !34
2015-10-10 20:38:01 +00:00
mmn
32f77dbf05
Merge branch 'translation-snapshot-october-2015' into 'nightly'
...
Snapshot of the Transifex translation project - October 2015
It's been 7 months since the last localization update, and the files in the repository are out of sync with the current state of the project. Our Transifex team has since grown to 63 translators, many of them are active members of the GNU social community. I don't know how we will resolve this situation, but it is clear that we have to act. If you plan to redesign the plugin system in the future to support external repository for localizations, that would work as well. But now, please let us do an update. It would be a serious disgrace to the community to throw all of their hard work away.
See merge request !32
2015-10-10 20:36:04 +00:00
Mikael Nordfeldth
fe9457daea
Syntax and minor fixes
...
Deleted_notice and Bookmark getByPK assocative array for example.
2015-10-10 22:23:24 +02:00
Mikael Nordfeldth
cae43344ec
Start reworking Bookmark plugin for more modern code
2015-10-10 21:56:02 +02:00
Mikael Nordfeldth
18f07a48e8
Using some Managed_DataObject::getByPK calls for consistency
2015-10-10 21:40:02 +02:00
Mikael Nordfeldth
37f2da03e1
newUri might as well be put in Managed_DataObject
2015-10-10 21:31:26 +02:00
Mikael Nordfeldth
45bc192625
If that $options key wasn't set, this won't change anything anyway
2015-10-10 21:22:07 +02:00
Mikael Nordfeldth
6376b78a80
I think I have made the delete verb generate proper AS
...
ActivityStreams had a different/better definition than me
in how to define the Delete verb data:
http://wiki.activitystrea.ms/w/page/23541872/Delete
2015-10-10 11:08:17 +02:00
Hannes Mannerheim
a9f879c2ba
better explanation
2015-10-10 00:20:32 +02:00
Hannes Mannerheim
b24191f9f9
convert activity stream RFC3339 dates to mysql datetime format when saving remote event dates to db
2015-10-10 00:11:54 +02:00
mmn
3154302b53
Merge branch 'master' into 'nightly'
...
make events federate
See merge request !33
2015-10-09 14:43:45 +00:00
Hannes Mannerheim
61ed36e446
make event urls federate
2015-10-09 16:22:47 +02:00
Hannes Mannerheim
55655ba319
make event location federate
2015-10-09 16:16:13 +02:00
Hannes Mannerheim
827dffb94c
make event dates federate
2015-10-09 16:00:33 +02:00
Hannes Mannerheim
5a2d760177
update from upstream
2015-10-09 14:40:43 +02:00
Hannes Mannerheim
499d4aadbc
make events federate
2015-10-09 13:10:48 +02:00
Mikael Nordfeldth
2d81df4760
Deleted_notice variable specification fixed
2015-10-08 13:20:17 +02:00
Mikael Nordfeldth
180958185f
Found newer Diaspora protocol specifications
...
http://www.rubydoc.info/github/Raven24/diaspora-federation/master/DiasporaFederation/Salmon/EncryptedSlap
2015-10-05 12:49:54 +02:00
Mikael Nordfeldth
ee6096cca8
FIXME: Diaspora has its own salmon slap semantics
2015-10-05 11:32:10 +02:00
Mikael Nordfeldth
3902dc963a
Diaspora encloses magic envelope in <atom:entry>??!!?!
2015-10-05 11:22:23 +02:00
digital dreamer
d7fd6bac72
Snapshot of the Transifex translation project - October 2015
2015-10-04 18:23:01 +02:00
Mikael Nordfeldth
af1b0915f4
Magic signature discovery and envelope changes
2015-10-04 17:26:35 +02:00
Mikael Nordfeldth
6afa091dca
Change some Salmon events and similar
...
Use Profile instead of User and (if we know it) send along the target
profile, so a Diaspora plugin can encrypt to the receiver.
2015-10-04 17:26:23 +02:00
Mikael Nordfeldth
f4ed171397
Make Magicsig capable of loading public PKCS1 keys
2015-10-04 17:22:19 +02:00
Mikael Nordfeldth
2970333adb
Set otherwise undiscovered salmonuri on OStatus script update-profile.php
2015-10-04 17:21:56 +02:00
Mikael Nordfeldth
57f26a97fb
var_export without true
2015-10-04 16:40:21 +02:00
Mikael Nordfeldth
4238875ebe
autoloading of Crypt_AES and Crypt_RSA is easier
2015-10-04 15:57:11 +02:00
Mikael Nordfeldth
684b9419a0
Add an event to get plugin discovery hints from XRD
2015-10-04 14:46:45 +02:00
Mikael Nordfeldth
2aed59a02a
Diaspora plugin is almost there (for remote salmon slaps at least)
2015-10-04 12:06:48 +02:00
Mikael Nordfeldth
9b461db4da
Send the entire XMLStringer object in MagicEnvelope events.
2015-10-04 09:59:01 +02:00
Mikael Nordfeldth
184293c634
Break out MagicEnvelope->toXML() functionality to allow for plugin flexibility
2015-10-04 00:17:07 +02:00
Mikael Nordfeldth
bc9e3b1843
Remove XSS attack vector in JoinListItem
2015-10-03 23:51:06 +02:00
Mikael Nordfeldth
30a4393afa
Move around some code related to Magic_envelope and signing
2015-10-03 23:35:46 +02:00
Mikael Nordfeldth
aab7667cd5
Sigh, copy-pasting when tired is a bad idea.
2015-10-03 16:19:38 +02:00
Mikael Nordfeldth
833abbb191
Fixes to Deleted_notice
2015-10-03 16:07:19 +02:00
Mikael Nordfeldth
e6d7534a88
We haven't created the Deleted_notice yet, just use target URI directly
2015-10-03 15:39:57 +02:00
Mikael Nordfeldth
db726ca294
Return the correct URI in Deleted_notice
2015-10-03 15:31:56 +02:00
Mikael Nordfeldth
7c68537b06
Deletes now federated. But might not be handled properly
2015-10-03 14:39:49 +02:00
Mikael Nordfeldth
1244e8d929
Somewhat better logging while still in trial phase
2015-10-03 12:33:33 +02:00
Mikael Nordfeldth
2e77a83816
Store delete verb as object_type=activity
2015-10-03 12:29:22 +02:00
Mikael Nordfeldth
dac617d95a
I think all the notice deletion calls are event-compatible now
...
This means we can handle DeleteNoticeAsProfile in plugins, such as
the ActivityModeration plugin.
2015-10-03 12:26:09 +02:00
Mikael Nordfeldth
88f7bb1ed5
Some work on ActivityModeration with notice deletion
...
Let's now create an event called DeleteNotice and also make sure we
handle the onNoticeDeleteRelated properly in ActivityModeration to
avoid possible endless loops etc.
2015-10-03 02:02:37 +02:00
Mikael Nordfeldth
ae73baf4ee
Undefined variable use
2015-10-03 01:47:40 +02:00
Mikael Nordfeldth
0c6fe78a73
Shorthand function for getActor
2015-10-03 00:43:34 +02:00