Wykres commitów

434 Commity (9eaab23bcc95d22afc65fff6618263e4f21e66eb)

Autor SHA1 Wiadomość Data
Ryan Barrett 9682b599cf
User.get_by_id: handle when use_instead points to opted out user 2025-01-10 09:33:35 -08:00
Ryan Barrett e8b201dc33
extract memcache logic out into new memcache.py file 2025-01-09 17:10:05 -08:00
Ryan Barrett 1aca15ee1e
drop User.direct
subsumed by User.enabled_protocols. for #973
2025-01-06 20:06:23 -08:00
Ryan Barrett 9e2479ef79
web UI: followers/ing page bug fix, handle missing handle
fixes https://console.cloud.google.com/errors/detail/CIvZ14eI8r2zhgE;locations=global;time=P30D?project=bridgy-federated&inv=1&invt=AbmE_w
2025-01-05 20:08:36 -08:00
Ryan Barrett fe6da84fc3
web UI: add unicode-bidi: isolate spans around external content
fixes RTL/LTR override chars extending into UI and other text. thanks @electricduck, @tantek! for #1666
2025-01-05 09:19:20 -08:00
Ryan Barrett 63c0e25deb
drop per-target delivery tracking
sad, it's useful, but it's too expensive. for #1501, #1149
2024-12-14 20:53:47 -08:00
Ryan Barrett 6388aab7d6
cache User.count_followers in memcache
for #1149
2024-12-13 15:25:04 -08:00
Ryan Barrett 5d6d68b5e7
cache models.get_original_user/object_key queries in memcache
adds new generic common.memcache_memoize decorator for caching any function's output in memcache. for #1149
2024-12-11 20:17:36 -08:00
Ryan Barrett 3c3dadb524
minor log tweaks, TODO 2024-12-04 14:38:35 -08:00
Ryan Barrett f94e697b55
/web-site: always reload profile
for #1458, #1564
2024-11-28 07:56:02 -08:00
Ryan Barrett 538065792e
User.get_or_create: don't propagate if the user is blocked
ie for web sites that don't have RSS or Atom feed or webmentions

for #1458
2024-11-27 09:04:38 -08:00
Ryan Barrett f57951d5d8
require web users to have an Atom or RSS feed or webmentions
for #1458
2024-11-24 21:03:51 -08:00
Ryan Barrett 5e49656099
ATProto.handle_to_id: reuse DatastoreClient.resolve_handle 2024-11-07 20:52:03 -08:00
Ryan Barrett b4ac98c84e
move common.add, remove to webutil.util
in snarfed/webutil@46ef97e4fe
2024-10-31 09:41:28 -07:00
Ryan Barrett c0f8945989
ATProto.set_username: fetch new DID doc; User.handle_as: use handle in DID doc
for #826
2024-10-28 18:23:21 -07:00
Ryan Barrett 572b42d664
Object.get_or_create: auth check: normalize profile ids
handles eg www vs naked domain in web home page URLs
2024-10-28 15:49:16 -07:00
Ryan Barrett 059c7ed46a
User.enable_protocol: always call Protocol.create_for
...even if there's already a copy, since it might need to be reactivated

for #1130
2024-10-22 14:30:49 -07:00
Ryan Barrett 8b36e6527d
datastore transactions: remove on ATProto.create_for, narrow in models.enable
we were doing heavy work like generating RSA keys and external network requests for creating DIDs inside datastore txes, which led to bad contention. details in https://github.com/snarfed/bridgy-fed/issues/1376
2024-10-11 21:09:47 -07:00
Ryan Barrett 93c034de3b
noop: tweak a few log messages 2024-10-11 15:24:25 -07:00
Ryan Barrett feb4d4c554
tests: remove Fake special case in Follower._pre_put_hook
for #1180
2024-10-10 20:21:45 -07:00
Ryan Barrett 27afce3b4f
tests: remove Fake/OtherFake special case in User.is_enabled
for #1180
2024-10-10 20:16:07 -07:00
Ryan Barrett 5b75fa43d5
noop: tests: rename ExplicitEnableFake => ExplicitFake, eefake => efake 2024-10-08 15:03:43 -07:00
Ryan Barrett d37f83b11b
use raise_=False in more Protocol.load calls 2024-10-04 12:59:57 -07:00
Ryan Barrett 2a13b83084
ATProto: reload DID doc along with profile when necessary
for #1334
2024-10-03 17:06:46 -07:00
Ryan Barrett 4255719939
activitypub.actor: put native user id in alsoKnownAs
for https://github.com/snarfed/bridgy-fed/issues/1331
2024-10-02 15:01:07 -07:00
Ryan Barrett 0f268a8fd6
User.get_or_create: if we fail creating a copy, disable that protocol
fixes https://console.cloud.google.com/errors/detail/CMHloZaRmPXQZQ;locations=global;time=P30D?project=bridgy-federated
2024-09-29 08:02:19 -07:00
Ryan Barrett c843c98c3e
Protocol.handle_follow: allow following opted out/blocked users
we still won't bridge or otherwise handle those users' activities though

fixes https://console.cloud.google.com/errors/detail/CM7b86Se9r_qfQ;time=PT1H;locations=global?project=bridgy-federated
2024-09-24 06:59:49 -07:00
Ryan Barrett 0f805e0885
refactor Web.poll_feed_task, add better error handling
pull out an internal poll method, wrap it in a mostly-catch-all exception handler, make sure we more reliably create the next task even if fetching or parsing fails

fixes:
https://console.cloud.google.com/errors/detail/CICLhIKMm6nSHw;locations=global;time=P30D?project=bridgy-federated
https://console.cloud.google.com/errors/detail/CJCrlNfNn6n3FQ;locations=global;time=P30D?project=bridgy-federated
https://console.cloud.google.com/errors/detail/CPnSx-yemJ-hlAE;locations=global;time=P30D?project=bridgy-federated
etc
2024-09-20 12:12:28 -07:00
Ryan Barrett 5330dca6e2
refactor models.get_original* queries to cache more and query less
for #1149
2024-09-19 20:58:34 -07:00
Ryan Barrett 4df76d0db7
when we get a delete, or a web user opts out, delete their copies in other protocols
for #1304
2024-09-16 18:27:04 -07:00
Ryan Barrett ffb4459545
revise AP Delete => Bluesky tombstone flow, add integration test
for #1304
2024-09-13 21:43:38 -07:00
Ryan Barrett cfaacb8ff5
stop unwrapping ids etc in ActivityPub.inbox, do it in Object.as1 instead
for #12
2024-09-13 13:09:22 -07:00
Ryan Barrett 3dc3330603
code doc and docstring tweaks 2024-09-12 13:05:41 -07:00
Ryan Barrett f997477366
User.get_or_create: move profile object load out of datastore transaction
hoping to cut down https://console.cloud.google.com/errors/detail/CKbL5KSX98uZHw;time=P1D;locations=global?project=bridgy-federated a bit
2024-09-12 13:05:41 -07:00
Ryan Barrett 36a9f94cb8
add fallback kwargs to User.user_link, Protocol.bridged_web_url_for
for #966
2024-09-10 16:44:18 -07:00
Ryan Barrett 16a9a5b29e
add rel=me to user page links
for #1309
2024-09-09 08:29:19 -07:00
Ryan Barrett 150598d761
User.user_link: refactor to get rid of extra spaces 2024-08-25 09:48:32 -07:00
Ryan Barrett 6675d9805c
User.user_link: add name, handle, pictures, proto kwargs, remove maybe_internal_link 2024-08-21 07:55:09 -07:00
Ryan Barrett 9467bccb5e
noop: User.count_followers optimization, do queries async 2024-08-21 07:55:09 -07:00
Ryan Barrett 2ed8ba2d0f
DM to request bridging: send acknowledgment DM to requester
for #966
2024-08-19 21:48:02 -07:00
Ryan Barrett e96c61559e
tests bug fix: ExplicitEnableFake needs explicit enabling *both* directions 2024-08-19 20:08:03 -07:00
Ryan Barrett 004d3617f8
dms.receive: first pass at DM handle to request bridging
for #966
2024-08-19 13:26:45 -07:00
Ryan Barrett ecab888a02
move incoming DM handling from Protocol.receive to dms.receive 2024-08-18 08:29:05 -07:00
Ryan Barrett be2b36cf8a
start new dms module, move Protocol.maybe_bot_dm into it 2024-08-17 22:53:14 -07:00
Ryan Barrett 0ce8eaff1a
Protocol.bot_dm => maybe_bot_dm, populate and check User.sent_dms
for #1205, #1148, #966, #1024
2024-08-15 17:24:25 -07:00
Ryan Barrett 17371a31cb
switch User.sent_dms from Target to new DM type 2024-08-15 14:35:49 -07:00
Ryan Barrett eedc77fcb8
make User.sent_dms per-protocol by changing its type to Target
for #1205, #1148, #966, #1024
2024-08-14 15:11:56 -07:00
Ryan Barrett eb9b28faa8
add User.sent_dms to track the DMs we've sent to a user
for #1205, #1148, #966, #1024
2024-08-14 14:10:21 -07:00
Ryan Barrett 07b8a3de1d
User.enable_protocol: fill in real welcome DM message
for #1024, #966, etc
2024-08-08 22:21:40 -07:00
Ryan Barrett 23aa24eb4f
User.enable_protocol: send welcome DM
via new Protocol.bot_dm method

for #1024, #966, etc
2024-08-08 20:17:06 -07:00