Ryan Barrett
7aec2a70de
update tests to handle new User-Agent from webutil
...
snarfed/webutil@ccebf40ac0 , snarfed/oauth-dropins#5
2022-02-09 06:52:41 -08:00
Ryan Barrett
4eaf70aa51
add 'ignored' status for AP requests where the target has no webmention endpoint
2022-01-11 22:40:44 -08:00
Ryan Barrett
fdd42ad1d4
override preferredUsername to always be the user's domain
...
...since Mastodon looks up [preferredUsername]@fed.brid.gy. see #77
2021-10-22 21:17:45 -07:00
Ryan Barrett
d23792d8b3
webmention: skip sending AP Update if content hasn't changed
...
fixes #78
2021-10-10 13:47:33 -07:00
Ryan Barrett
c6f0c417a0
/r: handle trailing garbage chars
...
fixes https://console.cloud.google.com/errors/CO-fpZfMq_6ktgE
2021-09-01 19:48:37 -07:00
Ryan Barrett
e4d285523f
activitypub: handle connection failures better in webmention discovery
...
fixes https://console.cloud.google.com/errors/CPj1-sSij7DcXQ
2021-09-01 08:19:38 -07:00
Ryan Barrett
f4aefff6f4
minor noop test refactoring
2021-08-18 08:04:14 -07:00
Ryan Barrett
cf12817212
Flask port: error handling bug fixes, other misc tweaks
2021-08-16 11:47:31 -07:00
Ryan Barrett
32d9e2bf6c
move common.error() to webutil.flask_util
...
corresponds to snarfed/webutil@10c088cebd
2021-08-06 11:01:58 -07:00
Ryan Barrett
b23705e97e
don't store a Response for OStatus/Salmon unless we actually attempt delivery
2021-07-20 15:55:16 -07:00
Ryan Barrett
2e3360a54b
move Flask utils to oauth_dropins.webutil.flask_util
...
corresponds to snarfed/webutil@5574bb23fa
2021-07-17 21:22:13 -07:00
Ryan Barrett
56cc66d530
flask: add common.RegexConverter
...
based on https://github.com/rhyselsmore/flask-reggie
2021-07-12 13:49:48 -07:00
Ryan Barrett
4a55739b91
flask: port /.well-known/host-meta*, other misc tweaks
...
all tests pass!
2021-07-11 16:50:44 -07:00
Ryan Barrett
371a92a5db
flask: port XrdOrJrdHandler, finish porting webfinger
2021-07-11 16:30:14 -07:00
Ryan Barrett
007f8f16fd
flask: first pass at porting webfinger; incomplete!
...
incomplete because I also need to port webutil.handlers.XrdOrJrdHandler
2021-07-11 13:39:19 -07:00
Ryan Barrett
4fffc073d2
flask: port webmention, add exception handler
2021-07-11 08:48:28 -07:00
Ryan Barrett
c17cb3394b
flask: fix test_common, drop unused common.canonicalize_domain decorator
2021-07-10 08:53:37 -07:00
Ryan Barrett
b8be570d66
flask: port activitypub
2021-07-10 08:07:40 -07:00
Ryan Barrett
f26aed5cbb
flask: port salmon
2021-07-08 22:50:33 -07:00
Ryan Barrett
bb5ae9910d
flask: port /wm/
2021-07-08 07:25:44 -07:00
Ryan Barrett
5b8699bec1
flask: port /r/, start to port common
2021-07-07 21:02:13 -07:00
Ryan Barrett
0b7388fed3
flask: move app to app.py, get templates working, port /responses
2021-07-07 08:07:20 -07:00
Ryan Barrett
86a4afdc97
flask: render: get tests working
2021-07-06 20:34:35 -07:00
Ryan Barrett
fa2a970b2c
flask: render: add caching, get_required_param, update tests
2021-07-06 13:45:56 -07:00
Ryan Barrett
a4c5a8e4c5
redirect: handle single /s that got collapsed by the browser (etc)
2021-06-28 22:52:04 -07:00
Ryan Barrett
d4a94ff75a
migrate from webmention-tools to webutil.webmention
2021-04-25 11:40:19 -07:00
Ryan Barrett
064acef4b0
verify SSL certs (more)
...
requires snarfed/webmention-tools@0059627cfd
2021-04-03 21:15:28 -07:00
Ryan Barrett
db732650a4
add https://w3id.org/security/v1 to actors' @context for HTTP sigs
...
fixes #76
2021-03-22 23:55:14 -07:00
Ryan Barrett
17fa355226
webfinger: misc noop comment and test tweaks
2021-03-12 14:35:59 -08:00
Ryan Barrett
f9e8a5abd2
webfinger tests: expect application/jrd+json for JRD, not application/json
...
for snarfed/webutil@4b277abaa4
2021-03-11 14:14:33 -08:00
Ryan Barrett
f74a6d33fa
add synthetic id to outgoing AS2 activities
...
for #12
2021-03-10 20:37:28 -08:00
Ryan Barrett
1f977a7d5c
stop /r/ from being an open redirect by checking that we've seen the domain
2021-03-07 07:36:34 -08:00
Ryan Barrett
6b4089efe4
/r/ redirect endpoint: use HTTP 301, not 302
2021-03-06 21:47:08 -08:00
Ryan Barrett
06cd35abba
upgrade to python 3.9 runtime and feedparser 6.0.2
2021-03-06 08:03:36 -08:00
Ryan Barrett
33436a35a1
webmention: de-dupe inboxes before delivering
2021-02-24 13:41:46 -08:00
Ryan Barrett
c12b675a7a
webfinger: handle acct:[domain]@fed.brid.gy requests
...
fixes #73
2020-12-30 10:26:48 -08:00
Ryan Barrett
eef94eb033
if ActivityPub inbox delivery fails, don't fall back to Salmon
2020-11-13 09:50:14 -08:00
Ryan Barrett
155be76bca
fix outbound AP headers and signature for Mastodon 3.2.1
...
https://github.com/snarfed/bridgy-fed/issues/68#issuecomment-720059695
2020-11-05 12:43:27 -08:00
Ryan Barrett
8af4571648
handle django-salmon port to pycryptodome
...
in snarfed/django-salmon@76f31ed25c
2020-10-31 13:23:36 -07:00
Ryan Barrett
dba533a14b
temporarily disable actually deleting Followers on AP Delete requests
...
mastodon.social sends Deletes for every Bridgy Fed account, all at basically the same time, and we have many Follower objects, so we have to do this table scan for each one, so the requests take a long time and end up spawning extra App Engine instances that we get billed for. and the Delete requests are almost never for followers we have. TODO: revisit this and do it right.
2020-10-11 08:35:14 -07:00
Ryan Barrett
2c15820ef6
webmention => AP: handle multiple in-reply-to links
...
fixes #65 . thanks again for reporting, @nekr0z!
2020-06-06 08:40:07 -07:00
Ryan Barrett
2a91f01393
webmention: handle missing Content-Type header
...
for https://console.cloud.google.com/errors/CNnflKqP5rHWvgE , https://console.cloud.google.com/errors/CPyMpaulkMKWZA
2020-05-20 23:36:11 -07:00
Ryan Barrett
9eae3087fd
404 requests for root paths that aren't user domains
...
lots of these are fediverse tools sniffing for specific implentations, eg mastodon etc. /siteinfo.json, /status.php, etc.
2020-03-02 10:50:43 -08:00
Ryan Barrett
9784686b1c
implement AP Delete of actors when their accounts are deleted
...
fixes #63
2020-02-29 20:28:53 -08:00
Ryan Barrett
df6b0b58ba
unify request handler classes and handle_exception; move away from HOST[_URL]
...
fixes:
* https://console.cloud.google.com/errors/CN68rO-5sOK9cQ
* https://console.cloud.google.com/errors/CJWCu8b5_ureAg
* https://console.cloud.google.com/errors/CN6W4Zy7irzgOA
* https://console.cloud.google.com/errors/CN278MyjhZbtOQ
2020-01-31 14:40:11 -08:00
Ryan Barrett
02d36b3b1f
migrate to the app engine standard python 3 runtime!
...
https://cloud.google.com/appengine/docs/standard/python3/python-differences
https://cloud.google.com/appengine/docs/standard/python/migrate-to-python3/
2019-12-25 22:26:26 -08:00
Ryan Barrett
ab55c9d62c
ujson.dumps/loads() => util.json_dumps/loads()
2019-12-24 23:26:58 -08:00
Ryan Barrett
99a5c35ae3
switch from webutil.util.memcache_response to cache_response
2019-11-12 21:28:44 -08:00
Ryan Barrett
faf676e8bb
switch from json to ultrajson for performance
...
https://github.com/esnme/ultrajson/
2019-10-29 07:06:15 -07:00
Ryan Barrett
7c9a03c827
unify HTTP fetching, HTML and mf2 parsing, and error handling into webutil
...
see:
* snarfed/granary#171
* snarfed/webutil@f994884b2b
* snarfed/oauth-dropins@f5b6e73530
* snarfed/granary@284eb11508
2019-10-03 21:08:26 -07:00