Ryan Barrett
a0f6f669b7
circle: omit tests, etc from coverage
2018-10-16 11:00:40 -07:00
Ryan Barrett
2ffd10306f
AP => webmention: handle full AS2 activities
...
mastodon used to send bare objects for lots of things, e.g. replies, but now sends ful AS2 Create activities with embedded objects much more often. handle those too.
thanks for the nudge @swentel!
2018-10-15 11:52:11 -07:00
Ryan Barrett
b25960ca93
wrap activity ids and urls and actor ids in our /r/ endpoint
...
for #16 , #32 . cc @swentel.
2018-10-14 07:58:17 -07:00
Ryan Barrett
e720e543d8
add /r/ redirect endpoint
...
for #16 , #32 . cc @swentel. more to come.
2018-10-14 07:42:28 -07:00
Ryan Barrett
118f8380c7
fix tests for yet another parser change that dropped implied u-url
2018-10-11 17:16:06 -07:00
Ryan Barrett
5047337738
upgrade BS4 to 4.6.3, pin lxml to app engine prod's version
2018-10-11 17:03:26 -07:00
Ryan Barrett
6681a5f2c7
fix unit test failure triggered by newer versions of mf2py or BS4 or ...
...
problem is that explicit p-name includes `<img>` `src` value, but implicit doesn't. background in https://github.com/microformats/microformats2-parsing/issues/35 etc.
```
======================================================================
FAIL: test_activitypub_create_author_only_url (tests.test_webmention.WebmentionTest)
Mf2 author property is just a URL. We should run full authorship.
----------------------------------------------------------------------
Traceback (most recent call last):
File "/Users/ryan/src/bridgy-fed/local/lib/python2.7/site-packages/mock/mock.py", line 1305, in patched
return func(*args, **keywargs)
File "tests/test_webmention.py", line 383, in test_activitypub_create_author_only_url
self.assert_equals(repost_as2, kwargs['json'])
File "/Users/ryan/src/bridgy-fed/local/lib/python2.7/site-packages/oauth_dropins/webutil/testutil.py", line 182, in assert_equals
%s""" % (msg, ''.join(e.args), expected, actual))
AssertionError: None: [actor] [name] u'Ms. \u2615 Baz' != u'Ms. \u2615 Baz http://orig/pic '
- Ms. \u2615 Baz
+ Ms. \u2615 Baz http://orig/pic
Expected value:
{u'@context': u'https://www.w3.org/ns/activitystreams ',
u'actor': {u'icon': ({u'type': u'Image', u'url': u'http://orig/pic '},),
u'id': u'http://localhost/orig ',
u'image': ({u'type': u'Image', u'url': u'http://orig/pic '},),
u'name': u'Ms. \u2615 Baz',
u'preferredUsername': u'orig',
u'type': u'Person',
u'url': u'http://orig '},
u'cc': [u'https://www.w3.org/ns/activitystreams#Public ',
u'http://orig/author ',
u'http://orig/recipient ',
u'http://orig/bystander '],
u'id': u'http://a/repost ',
u'name': u'reposted!',
u'object': u'tag:orig,2017:as2',
u'type': u'Announce',
u'url': u'http://a/repost '}
Actual value:
{u'@context': u'https://www.w3.org/ns/activitystreams ',
u'actor': {u'icon': [{u'type': u'Image', u'url': u'http://orig/pic '}],
u'id': u'http://localhost/orig ',
u'image': [{u'type': u'Image', u'url': u'http://orig/pic '}],
u'name': u'Ms. \u2615 Baz http://orig/pic ',
u'preferredUsername': u'orig',
u'type': u'Person',
u'url': u'http://orig '},
u'cc': [u'https://www.w3.org/ns/activitystreams#Public ',
u'http://orig/author ',
u'http://orig/recipient ',
u'http://orig/bystander '],
u'id': u'http://a/repost ',
u'name': u'reposted!',
u'object': u'tag:orig,2017:as2',
u'type': u'Announce',
u'url': u'http://a/repost '}
```
2018-10-11 16:56:55 -07:00
Ryan Barrett
b8d52b3dac
move test/ => tests/ to avoid shadowing python's built in test module
...
fixes confusing problems with dev_appserver starting in cloud sdk 219 (app-engine-python 1.9.76). background in https://issuetracker.google.com/issues/117145272#comment25 .
2018-10-11 16:07:53 -07:00
Ryan Barrett
2854b08862
migrate to circleci 2.0
...
https://circleci.com/docs/2.0/
2018-09-20 18:21:06 -07:00
Ryan Barrett
3485cc31b7
bump a few dependency versions
2018-09-20 18:17:14 -07:00
Ryan Barrett
60c5267beb
update docs to better handle gcloud SDK
...
thanks for your patience @swentel!
2018-09-20 13:24:43 -07:00
Ryan Barrett
acaa28ef13
app.yaml: use includes to reuse builtins and skip_files from webutil
...
https://cloud.google.com/appengine/docs/standard/python/config/appref#Python_app_yaml_Includes
2018-04-30 06:39:22 -07:00
Ryan Barrett
5257099bfa
Merge pull request #27 from singpolyma/custom-username
...
Use the acct: URI for this domain, if in h-card
2018-04-16 10:43:51 -07:00
Stephen Paul Weber
38ff56e3cc
Use the acct: URI for this domain, if in h-card
...
This allows users to choose their own username for their webfinger ID.
Closes #3
2018-04-16 11:10:03 -05:00
Ryan Barrett
6815807298
only email me on successful webmentions, not all
2018-04-02 09:36:09 -07:00
Ryan Barrett
bf71c5fe2c
webmention: handle source page with no mf2
...
fixes https://console.cloud.google.com/errors/CNixlrul4YPdMw
2018-03-27 14:04:48 -07:00
Ryan Barrett
0499823b05
tell circle we need mox3
2018-03-24 21:15:47 -07:00
Ryan Barrett
8c3797c39d
fix tests for new granary newline handling in snarfed/granary#130
2018-03-24 21:02:49 -07:00
Ryan Barrett
0d05dfe51d
bump granary dependency to 1.12
2018-03-24 21:01:59 -07:00
Ryan Barrett
b330ed9f3e
web: remove unnecessary h-card from link to my site
...
it was distracting Loqi in #indieweb etc
2018-03-20 10:55:07 -07:00
Ryan Barrett
32757ca65e
update tests to handle granary trimming content whitespace
...
snarfed/granary@ec1d415861
2018-02-02 10:01:15 -08:00
Ryan Barrett
d0ecc4cc66
don't email me for my own posts
2018-02-02 10:01:00 -08:00
Ryan Barrett
1e111547e4
run full mf2 authorship algorithm when necessary
...
like for https://aaronparecki.com/2018/01/11/4/
2018-01-12 09:30:27 -08:00
Ryan Barrett
d9eb56da55
add test for simple string-only author properties
...
like @aaronpk's in https://aaronparecki.com/2018/01/11/4/ . actual bug fix is snarfed/granary@a530afe08d
2018-01-11 10:52:44 -08:00
Ryan Barrett
f8dca4c7d1
upgrade Jinja2 from 2.6 to 2.10 for a security patch
...
thanks for reporting @VersionEye!
https://www.versioneye.com/user/projects/5a1c7e860fb24f21d9970c00
2018-01-04 11:03:33 -08:00
Ryan Barrett
78064865c0
don't email me on webmentions from localhost :P
2017-12-26 20:15:28 -08:00
Ryan Barrett
be2ea6ad28
webmention: if u-url is missing, default to source url
...
AS2 id, which is required for ActivityPub, comes from u-url, so we always need one.
fixes #20
2017-12-12 18:07:12 -08:00
Ryan Barrett
a67e44f110
add requirements.freeze.text for requires.io
2017-11-28 13:43:21 -08:00
Ryan Barrett
d0ac9246a8
granary-demo.appspot.com
2017-11-25 15:42:53 -08:00
Ryan Barrett
da4873fc64
activitypub: cc all original recipients (in to and cc)
2017-11-05 15:50:23 -08:00
Ryan Barrett
2c2654d1f8
docs: details on advertising websub hub in atom
2017-10-27 07:27:57 -07:00
Ryan Barrett
dcc6b9d23b
minor tweak to fix /log
2017-10-26 17:31:40 -07:00
Ryan Barrett
29fb93ca92
change username from 'me' to web site domain
...
for #3 , tootsuite/mastodon#5523
2017-10-26 17:07:57 -07:00
Ryan Barrett
92798bc434
webmention: refactor storing Responses so we can do it earlier
2017-10-26 12:31:04 -07:00
Ryan Barrett
98cc01d6ae
fix /responses template for jinja 2.6
...
...since that's what's on app engine. https://cloud.google.com/appengine/docs/standard/python/tools/built-in-libraries-27
2017-10-26 11:10:29 -07:00
Ryan Barrett
07c650b9e1
add /log handler, link to it from /responses
...
reuses LogHandler newly moved from bridgy to webutil in snarfed/webutil@a49b3af4d1
2017-10-26 09:32:17 -07:00
Ryan Barrett
22ca3e64a6
add /responses page with links to raw logs
...
log handler itself is next.
2017-10-25 18:33:11 -07:00
Ryan Barrett
cf1f4122ec
log more json response bodies
2017-10-24 18:31:13 -07:00
Ryan Barrett
a1a66c2f24
fix logging for failed outbound HTTP requests
...
also disable logging full parsed mf2 in activitypub actor handler.
2017-10-24 18:27:07 -07:00
Ryan Barrett
786173d270
activitypub: point actor ids to bridgy fed, not source web site
...
...since we want to serve them as AS2.
for tootsuite/mastodon#5500
2017-10-23 21:57:08 -07:00
Ryan Barrett
e538f97456
activitypub: prefer id over url for inReplyTo and Like/Announce object
...
as per tootsuite/mastodon#5500
2017-10-23 21:23:33 -07:00
Ryan Barrett
7dcbd9f107
minor fixes to a couple log msges
2017-10-23 21:02:07 -07:00
Ryan Barrett
93e5a79ba9
minor doc tweaks
2017-10-22 21:29:08 -07:00
Ryan Barrett
2cbef9f755
docs: example post links, mastodon and hubzilla details
2017-10-22 20:39:41 -07:00
Ryan Barrett
f2a422fa0b
when we can't fetch AS2, demote log level to INFO
2017-10-22 15:59:51 -07:00
Ryan Barrett
defc9f3b2a
webmention => activitypub: on 2xx, return the activitypub status code
...
useful for mastodon 1.6 202s which usually mean signature verification failed. :(
2017-10-21 16:42:37 -07:00
Ryan Barrett
530969da1b
use non-unicode strings for Content-Type values
...
...because App Engine's wsgi.py requires header values to be str, not unicode.
also improve logic for whether to log HTTP response bodies.
2017-10-20 18:05:51 -07:00
Ryan Barrett
b7007a4521
fetching AS2: handle Content-Type with charset suffix
2017-10-20 17:35:11 -07:00
Ryan Barrett
c76cb22569
misc README updates
2017-10-20 17:34:53 -07:00
Ryan Barrett
c81a6b8ed2
activitypub: follow HTML link rels that point to AS2 objects
...
...by reusing common.get_as2(). also lots of misc refactoring.
2017-10-20 12:49:48 -07:00