Ryan Barrett
6a63820cd8
tighten Object.owns_id to reject blocklisted domains
...
fixes https://console.cloud.google.com/errors/detail/CLSnttKfy4v90wE;time=P30D?project=bridgy-federated
2024-02-08 14:41:15 -08:00
Ryan Barrett
c966090912
Protocol.load: reload objects if our copy is over 30d old
...
fixes #628
no clue how much this will impact our outbound request load. we'll see!
2024-02-08 11:23:09 -08:00
Ryan Barrett
4529f30dce
switch from opt_outs.txt to new User.manual_opt_out property
...
opt_outs.txt wasn't included in continuous deploy from Circle, so those deploys were ignoring ids in that file :/
2024-01-14 21:02:39 -08:00
Ryan Barrett
7941b632ca
Object._pre_put_hook: require that protocol owns id
2024-01-12 19:53:01 -08:00
Ryan Barrett
28fa7eba8c
User.get_or_create: set transient User.existing attribute
...
would have used new, but it's already a method
2024-01-06 13:19:43 -10:00
Ryan Barrett
7e702305bf
Web: add poll_feed_task for ingesting Atom/RSS feeds
...
also demotes Web.atom to informational only, we're switching to populate feed entries into our_as1 because we can't easily extract individual items from feedparser.
for #550
2024-01-01 20:12:33 -10:00
Ryan Barrett
b0f278e033
Web: when subscribing to superfeedr, handle returned posts
...
for #550
2023-12-05 06:52:33 -08:00
Ryan Barrett
5485cbeece
Object.as1 from atom: extract object, override id with url
2023-12-02 20:56:07 -08:00
Ryan Barrett
e217419747
add Object.atom property
...
for #550
2023-12-02 14:30:14 -08:00
Ryan Barrett
2f4bae8dc9
change Web.ap_subdomain default to 'web'
2023-11-30 20:08:41 -08:00
Ryan Barrett
6e236e2d70
switch User.ap_actor to id_as, use Web.ap_subdomain property
2023-11-30 17:10:18 -08:00
Ryan Barrett
aaf115347e
add manual opt-out list
2023-11-29 10:25:45 -08:00
Ryan Barrett
62ca4022fb
stop clearing Object data properties
...
...so that we have original data preserved when we override it in our_as1. fixes #721
2023-11-28 06:39:34 -08:00
Ryan Barrett
fe8b710cce
User.get_by_id: handle opt-out
2023-11-27 11:28:05 -08:00
Ryan Barrett
dd62f472da
User.get_or_create: return None if opted out
2023-11-27 06:53:22 -08:00
Ryan Barrett
6091cd4063
drop the rest of g.user!
...
for #690
2023-11-25 20:38:28 -08:00
Ryan Barrett
f27e914a89
User.handle_as: handle when handle isn't set
...
for https://console.cloud.google.com/errors/detail/CIT9-r3d-MKW5AE;time=P30D?project=bridgy-federated
2023-11-23 22:09:05 -08:00
Ryan Barrett
48f89cebc0
User.handle_as: handle web users with custom usernames
...
bug fix for b255962
, fixes https://console.cloud.google.com/errors/detail/CPiAj72alvDYNQ;time=P30D?project=bridgy-federated
2023-11-22 19:00:02 -08:00
Ryan Barrett
2c6a470058
drop g.user in lots of tests
...
for #690
2023-11-19 21:53:39 -08:00
Ryan Barrett
bee313fb67
drop User.atproto_did, switch to using copies
2023-11-15 19:08:06 -08:00
Ryan Barrett
3d0c5ecea5
Object.resolve_ids: handle multiple inReplyTo
2023-11-12 13:15:08 -08:00
Ryan Barrett
a08a76c672
Object.resolve_ids bug fix: handle both protocol LABEL and ABBREV
2023-11-12 10:33:08 -08:00
Ryan Barrett
535494f21b
Object.to_as1 from bsky: pass at:// uri so we get id/url more often
...
for #715
2023-11-09 20:50:48 -08:00
Ryan Barrett
f97b837960
cache follower/following counts for 2h
2023-11-08 12:03:56 -08:00
Ryan Barrett
d576d2b2e4
move pages.count_followers to User, use it in activitypub.actor
2023-11-08 11:56:01 -08:00
Ryan Barrett
98bb29b333
drop Object.proxy_url, switch callers to ids.translate_object_id
2023-11-06 12:18:11 -08:00
Ryan Barrett
1f6a227aee
Object.actor_link bug fix: handle composite url field
...
fixes https://console.cloud.google.com/errors/detail/CJTXq6ri48XtKQ;time=P30D?project=bridgy-federated
2023-11-03 06:53:33 -07:00
Ryan Barrett
4d44363693
fold Object.as_bsky into ATProto.convert, translate ids
2023-11-02 17:41:31 -07:00
Ryan Barrett
72e180f854
User/Object.get_copy: return key id if proto is the source protocol
2023-11-02 13:08:23 -07:00
Ryan Barrett
0ca49e837a
add Object.get_copy, User.get_copy
2023-11-02 13:08:23 -07:00
Ryan Barrett
9aff3122c0
noop: rename get_for_copy[ies] => get_for_original[s]
2023-11-02 13:08:23 -07:00
Ryan Barrett
db646909e2
delivery: switch from threads to tasks, one per send
...
for #652
2023-10-31 12:49:27 -07:00
Ryan Barrett
cfbfba654e
move User.get_for_copy/ies to module level, add Object results
2023-10-26 16:00:03 -07:00
Ryan Barrett
ca8b7484c0
drop User.as2, Object.as_as2, switch callers to Protocol.convert
2023-10-25 13:28:01 -07:00
Ryan Barrett
e833eb04dc
Object.resolve_ids: compact output objects with just id to bare string ids
2023-10-25 12:31:52 -07:00
Ryan Barrett
5a07e154ef
use subdomain_wrap in ids.convert
2023-10-24 15:58:03 -07:00
Ryan Barrett
422a240183
Resolve protocol-subdomain-wrapped ids/URLs by stripping the subdomain wrapping
...
Renames Object.replace_copies_with_originals => resolve_ids. As a side effect, also fixes https://console.cloud.google.com/errors/detail/CK3U3PONxv5Q;time=P30D?project=bridgy-federated
2023-10-24 10:47:44 -07:00
Ryan Barrett
158200d9fd
bug fix for opt out, handle HTML
2023-10-21 20:51:54 -07:00
Ryan Barrett
1fa205af30
User.get_or_create: only fetch user profile if we don't already have it
2023-10-20 11:23:43 -07:00
Ryan Barrett
efdf84a023
Protocol.receive: replace copy ids with originals, related bug fixes
2023-10-18 11:03:22 -07:00
Ryan Barrett
ff88c082ef
try not clearing Object.bsky
...
now that we're starting to replace copies with originals in ids, actors, etc, it'd be nice to preserve the original source object data.
2023-10-18 11:03:22 -07:00
Ryan Barrett
96b84511eb
add Object.replace_copies_with_originals
2023-10-18 11:03:22 -07:00
Ryan Barrett
f292a7d957
authorization: allow actor to update/delete itself
...
for #566
2023-10-16 12:25:29 -07:00
Ryan Barrett
d0da119b07
add opt out via #nobridge or #nobot text in user profile bio
...
fixes #666
(unfortunate issue number 😆 )
2023-10-13 12:36:31 -07:00
Ryan Barrett
ff168231d6
Object.actor_link: add image kwarg
2023-10-12 10:37:22 -07:00
Ryan Barrett
8f4c353936
Object.actor_link: add sized kwarg
2023-10-12 10:19:59 -07:00
Ryan Barrett
84e9b2bcfd
AP: strip @context from Object.as2 before storing in datastore
...
we don't do LD, and many other servers' @contexts are big, so this saves disk space.
fixes #426
2023-10-11 16:35:05 -07:00
Ryan Barrett
dfab9f55d1
user page redesign: Object.actor_link: load actor from datastore
...
for #442
2023-10-11 12:25:39 -07:00
Ryan Barrett
bd19cab870
Object.actor_link bug fix: handle actor/author objects with only id field
...
for #442
2023-10-11 12:25:39 -07:00
Ryan Barrett
f37baeba58
user page redesign: misc tweaks
...
* separate source protocol from user in user labels
* make bridged protocol labels generic
* other visual tweaks
for #442
2023-10-11 12:25:39 -07:00