Ryan Barrett
15e3daff5e
switch outbound webmention source URLs from /render?id=... to /convert/...
...
#512
2023-05-24 16:32:00 -07:00
Ryan Barrett
af95521759
user page bug fix, add missing import
...
fixes https://console.cloud.google.com/errors/detail/COHl8dmZ9-i4Lw;time=P30D?project=bridgy-federated
2023-05-24 06:57:34 -07:00
Ryan Barrett
cf86f4d808
AP users: extract out Protocol.serve() method
...
#512
2023-05-23 21:30:57 -07:00
Ryan Barrett
0ab3698db7
Bluesky: move most ATProto code to separate arroba library
...
https://github.com/snarfed/arroba
2023-05-06 14:41:06 -07:00
Ryan Barrett
64f4f62ae9
bluesky: add models.AtpNode for storing repo blocks
2023-04-28 12:02:26 -07:00
Ryan Barrett
e303f55fdf
models.User: generate and store an ECC P-256 keypair
...
for AT Proto
2023-04-25 14:04:29 -07:00
Ryan Barrett
d2ab48b23e
switch circular imports to runtime imports; split out flask_app.py from app.py
...
runtime imports are just as bad, but...meh. eventually I'll untangle them for real. #486
2023-04-18 17:18:17 -07:00
Ryan Barrett
b39d673f12
add Object.expire property for datastore TTL to garbage collect old Objects
...
right now, auto-delete some ephemeral activities after 90d. for #456 . https://cloud.google.com/datastore/docs/ttl
2023-04-18 09:16:16 -07:00
Ryan Barrett
212f2b11ec
wm => AP: add delete support
...
fixes #30
2023-04-17 15:36:29 -07:00
Ryan Barrett
01125d38d8
/render : escape #s in object id URLs to ^^
...
fixes #469
2023-04-05 16:23:49 -07:00
Ryan Barrett
22ca59749e
stop using common.actor() in User.verify()
2023-04-04 22:06:13 -07:00
Ryan Barrett
1f40aedf27
webmention.py: unify homepage update logic, move fetching into fetch()
2023-04-04 18:02:41 -07:00
Ryan Barrett
629c1a2bd4
unify Object.new/changed generation into Protocol.load
...
also:
* switch back to preserving fragments in URL ids
* webmention.fetch: if URL id redirects, preserve original id in Object
2023-04-03 07:53:15 -07:00
Ryan Barrett
3a97ba587d
noop: Protocol.load: switch from @cached decorator to manual cache
...
...so that I can add a refresh kwarg that bypasses the cache
2023-04-02 20:36:23 -07:00
Ryan Barrett
f836762b0f
big webmention.py refactoring
...
* use Objects properly
* use Object's mf2/AS2/AS1 conversion
* drop resuming partially completed deliveries
* use load, fetch, send
* get closer to unifying all activity handling into Protocol.receive
2023-04-01 19:13:51 -07:00
Ryan Barrett
e41ce9216c
noop, rename Protocol.get_object => Protocol.load
2023-03-29 13:13:32 -07:00
Ryan Barrett
5493e2f297
add 'activity' to Object.labels automatically in new _pre_put_hook
2023-03-28 11:14:08 -07:00
Ryan Barrett
20f86c7de3
handle wm => AP with targets that we've already federated wm => AP
...
fixes https://console.cloud.google.com/errors/detail/CMHpr9L3ooGKeQ;time=P30D?project=bridgy-federated
2023-03-22 12:30:55 -07:00
Ryan Barrett
3538940e4f
add new Object.our_as1 property for activities we create or modify ourselves
2023-03-21 09:10:14 -07:00
Ryan Barrett
fb5f7b3fb0
move current user into Flask g request-global
2023-03-20 14:28:14 -07:00
Ryan Barrett
5e3c623552
add User.actor_id()
2023-03-19 09:34:42 -07:00
Ryan Barrett
d8932d4e76
add mf2 to user page dashboard to make a notifications feed
...
for #442
2023-03-14 11:27:10 -07:00
Ryan Barrett
ffd8810b44
start to separate logic from protocols with new Protocol/ActivityPub classes
...
for #388
2023-03-10 07:36:50 -08:00
Ryan Barrett
aa483ded0b
Object.type and object_ids fixes to handle missing as1
...
fixes https://console.cloud.google.com/errors/detail/CJ-U7Zq_s4bxgwE;time=P30D?project=bridgy-federated
2023-02-24 21:59:12 -06:00
Ryan Barrett
7bb9785327
fix log message for Object.as2 vs mf2 vs bluesky
2023-02-24 11:48:48 -06:00
Ryan Barrett
76927ee487
Object.as1: temporarily demote assert to warning log
2023-02-24 10:02:06 -06:00
Ryan Barrett
5463a74e7e
switch Object.as1 to custom ComputedJsonProperty
2023-02-24 08:25:18 -06:00
Ryan Barrett
fd27dabe61
switch JSON properties to custom JSONProperty that works in web console UI
...
https://github.com/googleapis/python-ndb/issues/874#issuecomment-1442753255
2023-02-24 07:25:29 -06:00
Ryan Barrett
91a60c7e67
switch Object.as1 to be a ComputedProperty
2023-02-23 21:17:26 -06:00
Ryan Barrett
d1691b65c5
Object post put hook: don't add fragment ids to the common.get_object cache
2023-02-16 12:21:27 -08:00
Ryan Barrett
e423bde6d0
unify logging for writing datastore entities into post put hook
...
and other logging tweaks
2023-02-14 15:38:42 -08:00
Ryan Barrett
588598c5ff
switch most uses of common.get_as2 to common.get_object
2023-02-14 14:56:27 -08:00
Ryan Barrett
c2e6174330
add common.get_object()
2023-02-14 14:30:00 -08:00
Ryan Barrett
6446c8c421
convert Object.type and .object_ids to ComputedPropertys
...
https://googleapis.dev/python/python-ndb/latest/model.html#google.cloud.ndb.model.ComputedProperty
2023-02-13 21:43:49 -08:00
Ryan Barrett
f39c532ad3
add User.homepage, is_homepage()
2023-02-12 12:03:27 -08:00
Ryan Barrett
d72540fde7
move Activity model to scripts/activity_model.py
2023-02-11 18:11:30 -08:00
Ryan Barrett
b739bd4cee
return 404 on requests for unknown users instead of automatically creating them
2023-02-07 18:28:52 -08:00
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