Wykres commitów

123 Commity (15e3daff5e2feae42bf9130900660c82148fe0c0)

Autor SHA1 Wiadomość Data
Ryan Barrett 23aff3b176
Activity => Object: update follow.py 2023-02-04 20:46:27 -08:00
Ryan Barrett cc453035c8
initial design of new Object model, implement it in render.py 2023-02-04 20:46:27 -08:00
Ryan Barrett 82547c9557
override User.get_by_id() to handle use_instead
fixes #403
2023-02-04 19:53:30 -08:00
Ryan Barrett 4a621eed65
bump RSA key length up from 1024 to 2048 bits
https://www.pycryptodome.org/src/public_key/rsa#Crypto.PublicKey.RSA.generate
fixes https://github.com/snarfed/bridgy-fed/security/code-scanning/10
2023-01-30 15:49:11 -08:00
Ryan Barrett bb2d3e03de
noop: convert a few %s'es to f-strings
thanks flynt! https://github.com/ikamensh/flynt
2023-01-24 12:17:24 -08:00
Ryan Barrett 378bb5dbf4
activities UI: handle empty Activity, source_mf2 without `items`
for #376
2023-01-23 19:20:31 -08:00
Ryan Barrett 1627ff667a
translate webmention from home page into profile (actor) Update
for #376, #331
2023-01-23 16:09:25 -08:00
Ryan Barrett 36349a5db9
add Follower.to_as2() 2023-01-19 06:49:39 -08:00
Ryan Barrett c3edf3a68e
make Follower.to_as1() handle both inbound and outbound last_follow
...and use it in followers and following UI pages
2023-01-18 22:31:13 -08:00
Ryan Barrett 37e389447a
always store Follower.last_follow as AP/AS2 Follow activity
specifically, this switches storing outbound follows from inbound webmentions from AS1 to AS2.
2023-01-18 21:09:43 -08:00
Ryan Barrett 898b8545ac
bluesky: implement app.bsky.graph.getFollowers 2023-01-13 11:40:52 -08:00
Ryan Barrett 6520331627
incoming Follows: synthesize url into follow object stored in Activity
rendered mf2 HTML proxy pages (in render.py) fall back to redirecting to the follow's AS2 id field, but Mastodon's ids are URLs that don't load in browsers, eg https://jawns.club/ac33c547-ca6b-4351-80d5-d11a6879a7b0. so, set a synthetic URL based on the follower's profile. fixes #336
2023-01-12 12:28:34 -08:00
Ryan Barrett 91c4200bb3
follow UI: synthesize Follow activity id, store an Activity, link address, form bug fix 2023-01-08 07:11:22 -08:00
Ryan Barrett 7ac1006021
background task bug fix: override task runner host
we were using request.host_url blindly, which was fed.brid.gy for user-facing requests, but bridgy-federated.uc.r.appspot.com for tasks. #335
2023-01-05 15:05:35 -08:00
Ryan Barrett fe5c3947a8
drop OStatus! it's been unused for years
fixes #282
2023-01-04 19:22:11 -08:00
Ryan Barrett 72b8dea8a0
Model.verify: minor redirect error message tweak 2022-12-06 22:41:55 -08:00
Ryan Barrett f72b3abfa0
Model.verify: add error message for non-2xx redirects
for #337
2022-12-06 22:37:56 -08:00
Ryan Barrett a95c2c4b55
incoming follow bug fix, handle www and use_instead
fixes #314
2022-12-06 14:09:44 -08:00
Ryan Barrett 71d4c260b3
add User.created and updated properties 2022-12-02 14:46:09 -08:00
Ryan Barrett 01c89fae2d
special case opt www.jvt.me out of new www redirect handling
for #314
2022-12-02 11:07:58 -08:00
Ryan Barrett 5249bb5a4f
special-case www subdomains, use root domain if it redirects to www
for #314
2022-12-02 10:48:16 -08:00
Ryan Barrett 0363db65fa
handle new multi-valued url field in AS2 objects
snarfed/granary@79c512402b
2022-11-30 21:04:41 -08:00
Ryan Barrett d4af114247
user verification: follow multiple redirects 2022-11-28 13:10:51 -08:00
Ryan Barrett ee2c6c2f79
activities rendering bug fix when name is missing
fixes https://console.cloud.google.com/errors/detail/CPHdyJL08PvEKg;time=P30D?project=bridgy-federated
2022-11-28 08:02:28 -08:00
Ryan Barrett c343164f5b
user page UI redirects warning: show diff of current vs expected
for #305
2022-11-27 17:45:23 -08:00
Ryan Barrett 85b1a400ff
user page UI: first pass at details for redirect check
for #305
2022-11-27 17:33:53 -08:00
Ryan Barrett 3a4e8c4872
user and activities UIs: default to username if we don't have name
for #281
2022-11-26 16:29:48 -08:00
Ryan Barrett 776f60b416
activities UI: default actor to user's domain if no name
for #281
2022-11-26 16:29:36 -08:00
Ryan Barrett 7d902ec616
bug fix for custom username in fediverse address on user page UI
should come from acct: actor URL, not preferredUsername field, which always has to be user's domain for AP interop.

in the process, refactored common.get_username() into User.username().

for #281
2022-11-26 16:05:02 -08:00
Ryan Barrett d2d0932893
refactor user name and profile picture links, add to user page and activities 2022-11-25 22:21:50 -08:00
Ryan Barrett 2fdc6f29a9
sign HTTP GET requests for AS2 objects
to support Mastodon's AUTHORIZED_FETCH aka secure mode: https://docs.joinmastodon.org/admin/config/#authorized_fetch

fixes #291
2022-11-24 09:41:14 -08:00
Ryan Barrett 34593e2a1b
render human-friendly summaries of activities on /recent and user pages
for #261
2022-11-20 20:52:44 -08:00
Ryan Barrett 30d9f7c9a5
make verification accept fed.brid.gy redirects when running locally 2022-11-20 11:56:32 -08:00
Ryan Barrett 65f3ef3cc7
show fediverse address on user page UI, including custom username
for #281
2022-11-20 11:46:05 -08:00
Ryan Barrett b854981497
UI edits: enter web site page, /docs, flashed messages, copy Bridgy's CSS 2022-11-18 22:30:07 -08:00
Ryan Barrett f384bf5529
add User.verify(), checks redirects and home page representative h-card
for #276
2022-11-18 18:49:41 -08:00
Ryan Barrett eaa6e1f9e5
always write Follower.dest and src
for #279
2022-11-16 16:38:08 -08:00
Ryan Barrett 2bb76a90e7
store Activity entities for AP activities delivered to followers
for #265
2022-11-16 15:54:02 -08:00
Ryan Barrett 320b117470
add AP sharedInbox
#285, https://www.w3.org/TR/activitypub/#sharedInbox
2022-11-16 10:09:24 -08:00
Ryan Barrett 870ffbbbd2
when writing Follower, always set dest and src
for #279
2022-11-16 06:49:29 -08:00
Ryan Barrett 50956c02b0
noop, rename Domain => User 2022-11-15 22:00:28 -08:00
Ryan Barrett e3f1431018
noop identifier renames, key => domain or entity 2022-11-15 19:12:20 -08:00
Ryan Barrett 4f3dc03a3e
rename MagicKey => Domain, Response => Activity
the Python classes, but not (yet) the kinds in the datastore. maybe eventually.
2022-11-12 15:27:59 -08:00
Ryan Barrett e767cf5d1f
refactor /responses and user pages, add follower counts to user pages
for #274
more to come
2022-11-11 21:13:51 -08:00
Ryan Barrett b24a22e817
add /responses/[DOMAIN] user pages and Response.domain property 2022-11-08 06:56:19 -08:00
Ryan Barrett 96dba41c9b
logging: use separate loggers for each module with their names 2022-02-11 22:38:56 -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 2f28be09be
convert %-formatted strings with args in logging.* calls to f-strings 2021-12-27 22:45:57 -08:00
Ryan Barrett 40ad6a4afa
move handle_exception and default_modern_headers to webutil
corresponds to snarfed/webutil@cdcaa3e897
2021-07-27 21:58:05 -07:00
Ryan Barrett f26aed5cbb
flask: port salmon 2021-07-08 22:50:33 -07: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 ee7b324525
bring back HOST_URL override to fed.brid.gy, for URLs emitted into AP 2019-12-26 18:18:44 -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 4b70a89046
handle AP Undo of Follow
needed for eg mastodon when you unfollow and then try to refollow someone. on unfollow, mastodon sends an Undo, and waits for a 200 before it shows success and will let you refollow.
2019-08-01 10:32:50 -07:00
Ryan Barrett 7c10585ad3
/response logs, once more with feeling 2019-04-18 11:18:14 -07:00
Ryan Barrett 7a94537721
/responses: link logs for all requests, not just webmention => fed 2019-04-16 14:19:16 -07:00
Ryan Barrett 2cb0dda2d1
webmention => AP: Create: handle Follower with actor URL instead of object
we don't create these any more, we always fetch and store full actor objects, but we have a few old ones lying around in the prod datastore.

for #33
2018-11-20 08:37:57 -08:00
Ryan Barrett 11c66cfd3e
webmention => AP: fix AP replies etc after big Create refactoring
for #33
2018-11-20 08:24:29 -08:00
Ryan Barrett 2bb418dc72
webmention => AP support for u-follow-of => Follow 2018-10-24 21:28:52 -07:00
Ryan Barrett abc5ecd919
AP Follow: store users' followers in the datastore
#21
2018-10-21 17:37:33 -07:00
Ryan Barrett dcc6b9d23b minor tweak to fix /log 2017-10-26 17:31:40 -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 f940718790 salmon: support incoming likes and shares (reposts) 2017-10-15 16:57:05 -07:00
Ryan Barrett a11d6745a9 switch incoming salmon/activitypub to overwrite Response 2017-10-12 23:13:54 -07:00
Ryan Barrett d74e6f02dd convert # to __ in source, target URLs in Response key ids
...since some fedsocnet like ids (eg Mastodon) include fragments, which webmention receivers (eg wordpress) strip from source before fetching, even when they're URL-encoded in bridgy fed proxy URLs.

also add Response.get_or_create() that handles concatenating source and target.
2017-10-11 18:08:52 -07:00
Ryan Barrett 9a7975bf5d activitypub: use proxy mf2 URLs for likes and reposts/boosts
for #4
2017-10-10 22:42:19 -07:00
Ryan Barrett 6a65e2e74a store source post in Response
...so we can use it to render proxy ActivityPub mf2 pages for webmentions
2017-10-09 21:11:40 -05:00
Ryan Barrett 19a686edc3 store responses in new Response datastore model 2017-10-09 19:29:50 -05:00
Ryan Barrett 71f0a4c8d4 AP: add publicKey to actor object
needed for mastodon interop
2017-10-01 07:01:35 -07:00
Ryan Barrett 2699de6903 add MagicKey.private_pem() and public_pem() 2017-09-19 09:15:34 -07:00
Ryan Barrett 5bb62f4021 use future unicode string literals, drop u qualifier 2017-09-12 07:31:18 -07:00
Ryan Barrett 5499e06a6b MagicKey: generate data: URI for href value
also fix indentation
2017-08-19 09:15:29 -07:00
Ryan Barrett ba1d49ffa3 add MagicKey datastore model 2017-08-19 08:36:55 -07:00