Ryan Barrett
c143192aa4
user page activities UI: if actor has no displayName, default to username
...
#286
2023-02-07 08:24:24 -08:00
Ryan Barrett
cb605e96c6
user page activities: if object is user, render as pretty user link
...
for #406
2023-02-06 21:28:40 -08:00
Ryan Barrett
f922ce89bb
user page: activities: render fediverse actor links as @-@
...
for #406
2023-02-06 21:08:52 -08:00
Ryan Barrett
db4d765cf8
user page: activities: fix user actor rendering for UI follows
...
fixes #406
2023-02-06 20:30:08 -08:00
Ryan Barrett
18404f70e7
speed up tests by only using 1024 bit keys
...
fixes #398
2023-02-05 22:22:22 -08:00
Ryan Barrett
2a1b199558
Activity => Object: user dashboard UI bug fixes, add missing Object index
2023-02-04 20:46:28 -08:00
Ryan Barrett
9680f6f83e
Activity => Object: drop /recent, tweak feed queries, update datastore indices
2023-02-04 20:46:28 -08:00
Ryan Barrett
2c3a693b4d
Activity => Object: add script to migrate existing Activitys to Objects
...
#286
temporarily adds back Activity model definition, will remove again later.
2023-02-04 20:46:28 -08:00
Ryan Barrett
532ccb8ac1
Activity => Object: use StructuredProperty for Object.delivered etc, add protocol
...
#286
ndb implements StructuredProperty by hoisting each nested property into a
corresponding property on the parent entity, prefixed by the StructuredProperty's
name, eg delivered.uri, delivered.protocol, etc.
For repeated StructuredPropertys, the hoisted properties are all repeated on the
parent entity, and reconstructed into StructuredPropertys based on their order.
https://googleapis.dev/python/python-ndb/latest/model.html#google.cloud.ndb.model.StructuredProperty
2023-02-04 20:46:27 -08:00
Ryan Barrett
f9891b6ef7
Activity => Object: add activity label, unify Objects for AP => wm
...
#286
2023-02-04 20:46:27 -08:00
Ryan Barrett
4d2fcdd76f
Activity => Object: fully populate labels, source_protocol webmention
...
#286
2023-02-04 20:46:27 -08:00
Ryan Barrett
eafba6d7cd
Activity => Object: populate Object.type
...
#286
2023-02-04 20:46:27 -08:00
Ryan Barrett
58e836b380
Activity => Object: update webmention.py
...
#286
2023-02-04 20:46:27 -08:00
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