Ryan Barrett
16724974b7
User.get_or_create bug fix: check status when creating a new user
2024-06-23 09:08:13 -07:00
Ryan Barrett
349f4ba544
user page UI: ellipsize user-visible handles
...
fixes #994
2024-06-19 11:05:10 -07:00
Ryan Barrett
cb2a3bef0b
Object: drop legacy converting (un-escaping) between ^^ and # in ids/URLs
...
for #469 , well over a year old, I think we're safe to forget about this now
2024-06-13 13:24:32 -07:00
Ryan Barrett
fdca3b6d55
Protocol.receive: don't attempt to deliver to followers on non-enabled protocols
...
mostly just handles this more gracefully. these deliveries were failing anyway, just not cleanly. fixes eg https://console.cloud.google.com/errors/detail/CMHloZaRmPXQZQ;time=P30D?project=bridgy-federated , probably others too
2024-06-13 12:02:54 -07:00
Ryan Barrett
026d99edc0
pass ignore_links=True to html_to_text everywhere
...
for #976
2024-06-06 18:14:35 -07:00
Ryan Barrett
3fe402e54c
drop Object cache in Protocol.load
2024-06-04 14:27:04 -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
bad49575fb
Web: always use fetched URL as id, not u-url
...
fixes #829 , cc #566
2024-06-03 16:20:46 -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
251bd202d7
deprecate Users.atproto_notifs_indexed_at, atproto_feed_indexed_at
2024-06-03 14:12:08 -07:00
Ryan Barrett
a2376f8f14
prune more logging messages
2024-06-01 07:17:44 -07:00
Ryan Barrett
fabfb58aa4
Object.get_or_create authz: allow an id on its own object
...
for #566
2024-05-29 20:17:33 -07:00
Ryan Barrett
d6728a2e1b
Object.get_or_create authz check: allow a user to modify their profile object
...
for #566
2024-05-29 16:39:09 -07:00
Ryan Barrett
8f5d8221a9
add ids.profile_id, use everywhere
...
for #566
2024-05-29 16:18:15 -07:00
Ryan Barrett
bfbae4b280
authz: normalize user ids before comparing, in both receive and Object.get_or_create
...
for #566
2024-05-29 12:29:38 -07:00
Ryan Barrett
f2a64c8b5c
Object.get_or_create: rename actor => authed_as, add to all calls
...
for #566
2024-05-28 16:07:32 -07:00
Ryan Barrett
0a3976e33a
Object._post_put_hook: use objects_cache_lock for objects_cache
...
fixes https://console.cloud.google.com/errors/detail/CMv025380KiFOg?project=bridgy-federated
2024-05-27 20:38:51 -07:00
Ryan Barrett
5a77dde7e8
noop: Object.actor_link: remove dead code
2024-05-24 09:53:16 -07:00
Ryan Barrett
91ffffc8e0
bug fix for quality filter (REQUIRES_*) status checks
...
they go before explicit opt in overrid
2024-05-16 23:33:30 -07:00
Ryan Barrett
e4f9966686
Protocol.receive: second part of making explicit opt in override implicit opt out
...
for #1052 , #974
2024-05-15 11:41:20 -07:00
Ryan Barrett
71b2306476
User.status/is_enabled: make explicit opt in override implicit profile opt-outs
...
...like Bluesky's hide from logged in views. fixes #1052
2024-05-15 10:35:03 -07:00
Ryan Barrett
2b449c6d31
User.status blocked bug fix for account age
...
for #1048
2024-05-13 07:35:12 -07:00
Ryan Barrett
79e5d2be07
bug fix for User.status handling: check for false-ness, not is None
...
we have some users in the datastore with status None, some with False. 😕 fixes #1048
2024-05-12 19:02:07 -07:00
Ryan Barrett
348987f0b4
add Protocol.REQUIRES_OLD_ACCOUNT, enable for ActivityPub
2024-05-11 19:20:33 -07:00
Ryan Barrett
890c7083d3
Protocol.REQUIRES_NAME: check against handle, id
2024-05-11 16:47:12 -07:00
Ryan Barrett
de0af66979
basic anti-spam: add new Protocol.REQUIRES_AVATAR/NAME constants
...
...and start returning `blocked` from User.status for them
2024-05-11 16:03:07 -07:00
Ryan Barrett
67e0ac414e
stop storing Object.as1 in datastore, generate it dynamically instead
...
I thought I'd use it in the web console for debugging more, but I use a Python shell instead
2024-05-07 22:13:54 -07:00
Ryan Barrett
f533479e0b
noop: drop unused flask.g imports
2024-05-07 17:14:59 -07:00
Ryan Barrett
38a8067ef7
models.PROTOCOLS: switch to hard coding protocol string labels/abbrevs
...
we used to wait for ProtocolUserMeta to populate these string keys, but that was awkward to use in datastore model properties with choices, below; it required overriding them in reset_model_properties, which was always flaky.
2024-05-07 16:15:20 -07:00
Ryan Barrett
5fa0645d0b
user page: don't show DMs to protocol bot users
...
fixes #1022
2024-05-06 12:10:13 -07:00
Ryan Barrett
c98d8fce00
switch ATProto polling from cursor to indexedAt
...
for #954
2024-05-05 07:31:12 -07:00
Ryan Barrett
2f1ec8779f
ATProto: start using cursors in feed and notif polls
...
for #954
2024-05-03 12:54:59 -07:00
Ryan Barrett
0ddb1255f4
UI: fix main user link on user pages to be external
2024-04-30 16:13:31 -07:00
Ryan Barrett
f668a53f74
User.is_enabled: if a user explicitly opts in, override profile opt outs
...
fixes #974
2024-04-30 12:38:43 -07:00
Ryan Barrett
b6be345921
UI: refactor actor link rendering into User.user_link / Object.actor_link
2024-04-29 12:27:00 -07:00
Ryan Barrett
bf70ddd348
user pages UI: don't show user in every activity on profile and feed pages
...
it's redundant
2024-04-29 11:26:28 -07:00
Ryan Barrett
9617d8ab71
move Protocol.is_enabled to User.is_enabled
2024-04-27 20:34:37 -07:00
Ryan Barrett
cbe4b59206
convert Protocol.is_enabled_to to an instance method
...
next commit will move it to User
2024-04-27 20:27:33 -07:00
Ryan Barrett
4012b13a5a
User: add delete as a type that expires
2024-04-26 09:59:08 -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
55ae9fd2bb
User.enable/disable_protocol: move email out of datastore tx
2024-04-24 14:34:52 -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
506de7fd1d
User.get_or_create: if the id is a copy, return the original
...
...which will be in a different protocol! worried this will break something. hrm.
2024-04-23 17:56:59 -07:00
Ryan Barrett
0238b46e36
add Protocol.HAS_COPIES, use to generate ids.COPIES_PROTOCOLS
2024-04-23 16:52:53 -07:00
Ryan Barrett
c86c91b25b
User.enable_protocols bug fix: only call create_for for copy protocols
...
also add integration test for following protocol bot user from ATProto
2024-04-23 16:38:08 -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
10023d17fd
Protocol.enable_protocol: create copy user if necessary
2024-04-21 12:18:12 -07:00
Ryan Barrett
6b597c90c3
User.get_or_create: abstract propagate and create_for across protocols
2024-04-21 11:40:13 -07:00
Ryan Barrett
0c37d94191
ids.translate_* noop refactoring: from_proto => from_, to_proto => to
2024-04-20 21:03:06 -07:00