Ryan Barrett
788b37279a
pass Object data in receive task HTTP payload instead of through datastore
...
trying to cut down datastore load and costs. this switches receive tasks from storing and fetching Objects from the datastore to passing their properties - notably as2, our_as1, bsky, etc - in the HTTP request body, as serialized JSON inside form-encoded params.
for #1354 , #1149
2024-10-01 21:44:12 -07:00
Ryan Barrett
64b3b09365
common.unwrap bug fix, handle integer ids
...
fixes https://console.cloud.google.com/errors/detail/CMyCsrj2u_-gHw;locations=global;time=P30D?project=bridgy-federated
2024-09-26 21:11:15 -07:00
Ryan Barrett
a64316df74
Web.poll_feed_task: add last_polled param to detect and suppress dupes
...
re 0f805e0885
, 6cdbefa6de
2024-09-21 08:22:21 -07:00
Ryan Barrett
6cdbefa6de
Web.poll_feed_task: don't return 304 because it incurs retries
...
0f805e0885
made us both return 304 and create a new task on errors, which led to a task explosion because we'd retry and create more tasks. oops.
2024-09-21 07:48:08 -07:00
Ryan Barrett
794a772619
switch ATProto chat polling from task to cron job
2024-09-10 16:46:37 -07:00
Ryan Barrett
36ac136ebf
common.report_error: log message and exception
2024-08-30 13:09:15 -07:00
Ryan Barrett
6ebe119e6e
common.report_error bug fix, error_reporting.Client.report_exception doesn't take msg
2024-08-29 21:03:22 -07:00
Ryan Barrett
a896b5c869
Protocol.check_supported: allow DMs to/from protocol bot user copy ids
...
for #966
2024-08-29 12:56:07 -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
70dd6d3ceb
minor logging optimizations
...
for https://github.com/snarfed/bridgy-fed/issues/1149
2024-08-02 08:03:44 -07:00
Ryan Barrett
5679d696a4
cache models.get_originals in memory
...
for #1149
2024-08-01 16:20:13 -07:00
Ryan Barrett
e9dc38c75c
actually turn on ndb global cache with global_cache_policy
...
🤦
2024-08-01 12:42:13 -07:00
Ryan Barrett
c193a4634b
common.cache_policy, global_cache_timeout_policy: handle both types of keys
...
google.cloud.datastore.key.Key or google.cloud.ndb.key.Key. see https://github.com/googleapis/python-ndb/issues/987
2024-08-01 12:32:28 -07:00
Ryan Barrett
4097fe71fb
use ndb in-memory context cache for DID doc Objects
...
for #1149
2024-08-01 12:09:37 -07:00
Ryan Barrett
3529216e5d
disable caching get_originals ( 88cbe3b
) until bugs are fixed
...
for #1149
2024-07-31 09:14:31 -07:00
Ryan Barrett
88cbe3b7b4
cache models.get_originals in memcache with new memcache_memoize decorator
...
for #1149
2024-07-30 14:50:33 -07:00
Ryan Barrett
33e0d0b14a
common.memcache_key: encode Unicode chars as UTF-8
2024-07-30 14:49:50 -07:00
Ryan Barrett
075c33cade
memcache: encode spaces in keys as %20
...
fixes https://console.cloud.google.com/errors/detail/CNPzqYzWg4_TyQE;time=P7D?project=bridgy-federated
2024-07-16 13:48:52 -07:00
Ryan Barrett
7b0151b0cf
memcache: truncate keys at 250 chars
...
max memcache key len:
https://github.com/memcached/memcached/wiki/Commands#standard-protocol
https://pymemcache.readthedocs.io/en/latest/apidoc/pymemcache.client.base.html
fixes https://console.cloud.google.com/errors/detail/CNPzqYzWg4_TyQE;time=P30D?project=bridgy-federated
2024-07-12 07:50:54 -07:00
Ryan Barrett
98d21ae0d9
common.report_error/exception bug fix, handle running outside request context
2024-07-05 12:15:06 -07:00
Ryan Barrett
866f6593e3
add a few domains to the blocklist
2024-06-27 13:20:07 -07:00
Ryan Barrett
550e1030c4
drop unused TLD_BLOCKLIST
...
subsumed by using brevity.TLDs in 84949f265b
2024-06-23 09:22:50 -07:00
Ryan Barrett
fc0cc1118a
activitypub.inbox: short circuit on activity or actor id on opted out domain
2024-06-23 09:20:22 -07:00
Ryan Barrett
b20bbf0564
memcache config: try to only use prod Memorystore on prod GAE
2024-06-19 11:01:46 -07:00
Ryan Barrett
4e489a4ee0
activitypub.inbox: store seen activity ids in memcache, short circuit on seen ids earlier
2024-06-13 13:54:37 -07:00
Ryan Barrett
3c06739889
common.report_exception bug fix
2024-06-13 12:02:54 -07:00
Ryan Barrett
ba00850840
turn on memorystore ndb global cache in hub and atproto_firehose
2024-06-04 19:27:52 -07:00
Ryan Barrett
3ccce1bc89
start using memorystore memcached for ndb global cache
2024-06-04 15:40:32 -07:00
Ryan Barrett
07517f1685
ndb global cache: limit to users and profile objects, not other objects/activities
2024-06-04 14:27:04 -07:00
Ryan Barrett
83893d0ea7
HTTP caching headers: switch to flask_util.headers
...
for #432 , fixes https://console.cloud.google.com/errors/detail/CMK10__x4ZbgbQ;time=P7D;refresh=true?project=bridgy-federated
2024-06-04 14:19:39 -07:00
Ryan Barrett
712da61181
auth error reporting: standardize messages, include HTTP context
...
trying to collect them into two top-level Error Reporting errors, with details for each one in the user field
for #566
2024-06-04 11:27:17 -07:00
Ryan Barrett
e8e2c9692d
common.report_error bug fix
...
fixes https://console.cloud.google.com/errors/detail/COyxtrLf5r2XowE;time=P30D?project=bridgy-federated
2024-06-03 16:20:53 -07:00
Ryan Barrett
cc564a2b19
turn on authorization checks! HTTP sig matches actor, actor is allowed to modify object
...
for #566
2024-06-03 14:12:08 -07:00
Ryan Barrett
9c4888b02e
switch from flask_util.cached to HTTP caching, suppress some verbose logging
2024-05-30 14:55:35 -07:00
Ryan Barrett
6ffc4a3c3b
infra: add new router flex service, switch tasks to run on it
...
receive, send, webmention, and poll-feed
2024-05-23 20:40:54 -07:00
Ryan Barrett
348987f0b4
add Protocol.REQUIRES_OLD_ACCOUNT, enable for ActivityPub
2024-05-11 19:20:33 -07:00
Ryan Barrett
f2b5f79489
ATProto firehose: add handle wrapper that catches exceptions
...
also refactor and simplify load_dids, error reporting. #978
2024-05-10 19:59:12 -07:00
Ryan Barrett
b49fe13e59
ATProto firehose: use report_exception() so we get stack traces
2024-05-09 21:31:41 -07:00
Ryan Barrett
940c0e8cae
ATProto firehose: don't assume required fields, handle error reporting errors
...
for #978
2024-05-09 13:26:24 -07:00
Ryan Barrett
a690bc0115
add bsky.social, x.com to domain blocklist
...
for https://github.com/snarfed/bridgy-fed/discussions/1035 . thanks for the nudge @lucajet!
2024-05-09 07:08:34 -07:00
Ryan Barrett
0f35a2e1a1
ATProto firehose: convert to function we can run in a thread
...
for #978
2024-05-07 16:58:52 -07:00
Ryan Barrett
c608ecaa36
noop: misc constants cleanup
2024-05-05 16:35:23 -07:00
Ryan Barrett
0781a4c695
AP inbox delivery: return 422 when a user with a bad handle follows the bot user
...
for #982
2024-05-04 13:39:39 -07:00
Ryan Barrett
b6845246e9
fix protocol bot users' image URLs
...
re: #967
2024-04-28 08:14:55 -07:00
Ryan Barrett
3c62f7cfcc
give up on email for now, still can't get SMTP to work
...
Gmail SMTP is unhappy with auth, even though I got it to work on https://shell-py3.appspot.com/ , and Gandi SMTP seems to block Google Cloud IPs. sigh.
2024-04-24 15:30:20 -07:00
Ryan Barrett
a79dc45b28
email: update from address
2024-04-24 15:07:42 -07:00
Ryan Barrett
b543fdb1d5
switch to Gmail SMTP, other minor tweaks
2024-04-24 14:26:20 -07:00
Ryan Barrett
ece168fac1
email me when someone enables or disables a protocol
2024-04-24 11:15:28 -07:00
Ryan Barrett
11eb082190
tighten common.unwrap so it doesn't remove protocol bot user URLs
...
...like https://bsky.brid.gy/ . this hopefully fixes following bot users in eg AP to enable protocols.
2024-04-23 12:00:39 -07:00
Ryan Barrett
ed78090d2c
expand User.ap_subdomain to allow protocol subdomains like bsky
...
part of setting up per-protocol bot users for #880
2024-04-22 11:12:03 -07:00