Ryan Barrett
a820eeb57a
Activity => Object: temporarily disable inner object rendering
...
...until we're storing inner objects everywhere.
2023-02-05 08:17:22 -08:00
Ryan Barrett
d74c00f5b6
unfollow: handle Follower.last_follow with string id instead of object
...
fixes #402
2023-02-04 21:23:04 -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
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
a76fe45891
Activity => Object: finish ap_delivered, ap_undelivered, ap_failed
...
#286
2023-02-04 20:46:27 -08:00
Ryan Barrett
97ffc10f72
Activity => Object: populate Object.object_ids property
...
#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
d72be97d78
Activity => Object: populate ap_* fields for inbox delivery results
...
#286
2023-02-04 20:46:27 -08:00
Ryan Barrett
94a74b9800
noop: test_webmention: switch more asserts to assert_object()
2023-02-04 20:46:27 -08:00
Ryan Barrett
9d4e73344b
Activity => Object: populate ap_delivered, ap_undelivered, ap_failed
...
#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
060ad96752
Activity => Object: update activitypub.py
...
#286
2023-02-04 20:46:27 -08:00
Ryan Barrett
8176cd1f56
Activity => Object: update pages.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
d655ea0024
Activity => Object: update xrpc_feed.py
...
#286
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
55ee0e468a
update follow tests for snarfed/oauth-dropins@52b00f602f
2023-02-04 20:46:10 -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
d523cc085a
remove OStatus parts of Webfinger
...
background on Mastodon interop:
* https://docs.joinmastodon.org/spec/webfinger/
* https://github.com/mastodon/mastodon/pull/11280
* https://docs.joinmastodon.org/spec/activitypub/#publicKey
2023-01-25 20:59:40 -08:00
Ryan Barrett
f0a5f1745e
webfinger: return data even if site has no representative h-card
...
fixes #384
2023-01-25 20:41:29 -08:00
Ryan Barrett
38c7c1bc5f
webfinger: return 404 if User not found
...
for #384
2023-01-25 20:00:54 -08:00
Ryan Barrett
d724ae8cba
accept Updates to Person objects, do nothing with them
...
fixes #387
2023-01-25 19:44:48 -08:00
Ryan Barrett
d85ffaec04
implement stub empty outbox
...
for #383
2023-01-25 13:12:24 -08:00
Ryan Barrett
05c8dc83c4
override link label for home page to be "Web site"
...
for #331
2023-01-25 12:33:53 -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
46736df21b
common.postprocess_as2 bug fix, handle multiply valued image field
2023-01-23 21:13:05 -08:00
Ryan Barrett
0d0a4ed642
update profile bug fix: always populate object.updated field
...
for #376
2023-01-23 20:53:34 -08:00
Ryan Barrett
e6889b4cf6
activities UI bug fix for rendering profile updates
2023-01-23 20:46:12 -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
21c79a304c
when converting h-card to actor, use link text or title for profile links
...
for #331
2023-01-22 07:47:27 -08:00
Ryan Barrett
af769de99e
implement rest of followers/following collections
...
for #264
2023-01-20 07:02:55 -08:00
Ryan Barrett
74ebbc428b
add new common.fetch_followers() fn, use in UI, AP collections, and XRPCs
...
for #264
2023-01-19 15:29:52 -08:00
Ryan Barrett
ea02b82f39
test_pages: add tests for followers/following UI pages
2023-01-19 15:25:56 -08:00
Ryan Barrett
fc4e8b11d2
return actors in AP Followers/Following collections
...
for #264 . next: paging
2023-01-19 07:00:35 -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
f8fbf1391c
refactoring: unify followers and following UI page handlers
2023-01-18 21:25:54 -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
2c9850c576
HTTP Signatures: add special (request-target) header
...
for #40 , special synthetic HTTP header for HTTP Signatures, required by Peertube.
https://datatracker.ietf.org/doc/html/draft-cavage-http-signatures-12#section-2.3
2023-01-17 19:50:40 -08:00
Ryan Barrett
5182bb92f3
Mastodon interop: fill in the updated field for Updates if it's missing
...
Mastodon requires it:
https://docs.joinmastodon.org/spec/activitypub/#supported-activities-for-statuses
https://socialhub.activitypub.rocks/t/what-could-be-the-reason-that-my-update-activity-does-not-work/2893/4
https://github.com/mastodon/documentation/pull/1150
2023-01-17 11:16:14 -08:00
Ryan Barrett
e6d4441292
handle redirects of signed requests manually, generate a new HTTP sig each time
...
fixes #326
2023-01-16 13:10:33 -08:00
Ryan Barrett
2b2dfafc18
bluesky: app.bsky.graph.getFollowers, handle no user
2023-01-15 10:07:04 -08:00
Ryan Barrett
c1148ee3de
bluesky: misc minor XPRC error handling
2023-01-13 20:12:44 -08:00
Ryan Barrett
a66fe4bdc2
bluesky: implement app.bsky.feed.getTimeline
...
based on stored Activity entities. missing auth, otherwise pretty complete.
2023-01-13 15:35:05 -08:00
Ryan Barrett
8b5f62be4d
bluesky: implement app.bsky.graph.getFollows
...
almost identical to getFollowers
2023-01-13 14:11:49 -08:00
Ryan Barrett
898b8545ac
bluesky: implement app.bsky.graph.getFollowers
2023-01-13 11:40:52 -08:00