Ryan Barrett
bfbcc34f55
suppress a couple log messages around inferring ids
2024-01-14 13:48:18 -08:00
Ryan Barrett
c8e2fafba4
web.poll_feed_task: use URL as id since some feeds use non-URL (eg tag URI) ids
...
example: https://www.producthunt.com/feed , Atom. excerpt:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<feed xml:lang="en-US" xmlns="http://www.w3.org/2005/Atom ">
<id>tag:www.producthunt.com,2005:/feed</id>
<link rel="alternate" type="text/html" href="https://www.producthunt.com "/>
<link rel="self" type="application/atom+xml" href="https://www.producthunt.com/feed "/>
<title>Product Hunt — The best new products, every day</title>
<updated>2024-01-10T02:57:06-08:00</updated>
<entry>
<id>tag:www.producthunt.com,2005:Post/432225</id>
<published>2023-12-31T18:15:55-08:00</published>
<updated>2024-01-10T12:54:42-08:00</updated>
<link rel="alternate" type="text/html" href="https://www.producthunt.com/posts/seemless "/>
<title>Seemless</title>
...
```
fixes https://console.cloud.google.com/errors/detail/CKLuk-v4x8X0NQ;time=P30D?project=bridgy-federated
2024-01-11 13:01:45 -08:00
Ryan Barrett
91876a7d22
web.poll_feed_task: handle when feed content and Content-Type don't match
...
fixes https://console.cloud.google.com/errors/detail/CIX--Oz-w4D_Xg;time=P30D?project=bridgy-federated
2024-01-11 13:01:45 -08:00
Ryan Barrett
ab4427c182
web.poll_feed_task: handle missing Content-Type header
...
fixes https://console.cloud.google.com/errors/detail/CKiskJSXi5z9gwE;time=P30D?project=bridgy-federated
2024-01-11 13:01:45 -08:00
Ryan Barrett
81e675f79b
web.poll_feed_task: default actor/author to user
2024-01-09 16:02:41 -08:00
Ryan Barrett
a2ed71b3ec
util.parse_mf2: use metaformats photo if h-card doesn't have one
2024-01-09 13:07:03 -08:00
Ryan Barrett
aac85cedca
web feed polling: if we get Content-Type application/xml, use the link's type
...
fixes eg https://simonwillison.net/atom/everything/
2024-01-09 12:00:44 -08:00
Ryan Barrett
e82555ad91
Web: add poll feed task for new users, drop task if they've sent a webmention
2024-01-06 13:57:11 -10:00
Ryan Barrett
1db5358688
Web: test a couple poll feed errors
2024-01-06 13:04:22 -10:00
Ryan Barrett
5f1c521500
Web: add last_polled_feed property
2024-01-06 12:56:37 -10:00
Ryan Barrett
26de4097ae
AP: switch default signing actor to real fed.brid.gy instance actor
...
https://seb.jambor.dev/posts/understanding-activitypub-part-4-threads/#the-instance-actor
2024-01-06 11:59:31 -10:00
Ryan Barrett
6025925c26
web: start removing superfeedr code
2024-01-04 16:32:39 -10:00
Ryan Barrett
72df4d7d42
web: enforce https (SSL) requirement
...
fixes https://console.cloud.google.com/errors/detail/CP2isf7noqyZjAE;time=P30D?project=bridgy-federated . thanks for finding @tantek!
2024-01-03 16:32:57 -10:00
Ryan Barrett
beb865bc07
web feed fetching: add next poll task
...
use average of time between posts in feed as ETA
for #550
2024-01-01 20:12:33 -10:00
Ryan Barrett
9347651349
web feed fetching: test RSS, store feed index in AS1
...
for #550
2024-01-01 20:12:33 -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
58dcd72154
change Web icon from spider web to globe lat/lon lines
2023-12-29 21:00:08 -08:00
Ryan Barrett
cf17c5ce47
disable superfeedr subscribe/unsubscribe
...
for #550
2023-12-05 13:07:21 -08:00
Ryan Barrett
8f3b4c1c9b
Web: ignore superfeedr subscribe failures
...
it's pretty unreliable right now 😕
for #550
2023-12-05 13:07:17 -08:00
Ryan Barrett
b7129703cd
Web: don't subscribe to Superfeedr if user has webfinger redirects
...
for #550
2023-12-05 09:28:19 -08:00
Ryan Barrett
9a088f5b7f
Web: unsubscribe from superfeedr on first webmention
...
for #550
2023-12-05 08:59:29 -08:00
Ryan Barrett
d14b1bc04c
add Web.maybe_superfeedr_unsubscribe
...
for #550
2023-12-05 08:51:27 -08:00
Ryan Barrett
b0f278e033
Web: when subscribing to superfeedr, handle returned posts
...
for #550
2023-12-05 06:52:33 -08:00
Ryan Barrett
8650a90bf5
Web: integrate superfeedr subscribe into get_or_create
...
for #550
2023-12-04 11:34:19 -08:00
Ryan Barrett
ba010e74b0
Web.maybe_superfeedr_subscribe: add feed discovery
...
for #550
2023-12-04 11:18:00 -08:00
Ryan Barrett
eb4e11ae3d
Web: add superfeedr_subscribed prop, populate it in maybe_superfeedr_subscribe
...
for #550
2023-12-04 10:54:49 -08:00
Ryan Barrett
b113521f94
Web: start on Superfeedr subscribe
...
for #550
2023-12-04 10:35:05 -08:00
Ryan Barrett
637128a05c
add Web.last_webmention_in property
...
for #550
2023-12-03 21:46:31 -08:00
Ryan Barrett
c54df36164
start to add superfeedr notify handler
...
for #550
2023-12-02 21:18:22 -08:00
Ryan Barrett
2f4bae8dc9
change Web.ap_subdomain default to 'web'
2023-11-30 20:08:41 -08:00
Ryan Barrett
1b06b1a758
add to Web.NON_TLDS
2023-11-30 20:06:07 -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
d33832be1c
add Web.ap_subdomain property, use it in webfinger
...
Originally, BF served Web users' AP actor ids on fed.brid.gy, eg
https://fed.brid.gy/snarfed.org . When we started adding new protocols, we
switched to per-protocol subdomains, eg https://web.brid.gy/snarfed.org .
However, we need to preserve the old users' actor ids as is. So, this property
tracks which subdomain a given Web user's AP actor uses.
2023-11-30 15:43:38 -08:00
Ryan Barrett
520b2fd3b0
User.ap_address() => handle_as(ActivityPub)
2023-11-29 21:06:55 -08:00
Ryan Barrett
a5f9daa46f
change Web.ap_address to use has_redirects instead of direct
...
for #551
2023-11-29 16:41:11 -08:00
Ryan Barrett
911814dba2
Web.fetch: use util.parse_mf2's new metaformats support
2023-11-29 13:21:13 -08:00
Ryan Barrett
18f79d2626
Web: start adding metaformats support
...
for #551
2023-11-29 12:00:48 -08:00
Ryan Barrett
b81fa2090b
Protocol.receive: handle opted out users
2023-11-27 06:53:22 -08:00
Ryan Barrett
dc3b23f80b
Web.fetch: ignore uid if set; we use URL as id
...
props and thanks to @fluffy-critter for being my unintentional edge case QA department 😆 🙏
fixes https://console.cloud.google.com/errors/detail/CKLuk-v4x8X0NQ;time=P30D?project=bridgy-federated
2023-11-26 16:31:29 -08:00
Ryan Barrett
fae7769d2b
Web.get_or_create bug fix: handle opted out users
...
fixes https://console.cloud.google.com/errors/detail/CJ2U0_Hq6cHnUA;time=P30D?project=bridgy-federated
2023-11-26 15:37:39 -08:00
Ryan Barrett
1591dfb641
pass user to Protocol.send/convert instead of using g.user
...
for #690
2023-11-25 20:07:14 -08:00
Ryan Barrett
3c9744fab0
pass authed_as to Web.receive
2023-11-25 16:01:07 -08:00
Ryan Barrett
990ec47c89
stop using g.user in web, part of redirect
...
for #690
2023-11-19 21:53:39 -08:00
Ryan Barrett
d2dee8752f
/convert/: if dest protocol is AP, don't assume source protocol is Web
2023-11-08 11:28:17 -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
06275324fd
Web.convert: call translate_ids
2023-11-03 15:52:37 -07:00
Ryan Barrett
acb1c703a3
rename Protocol.serve => .convert, move Content-Type to class constant
2023-10-25 12:31:52 -07:00
Ryan Barrett
d31f470178
Web.is_web_url: ignore www subdomain
...
for 3b88b0f
2023-10-19 16:25:04 -07:00
Ryan Barrett
fe3a9b693c
User.get_or_create: load user profile object, fetch if it doesn't exist
2023-10-19 15:01:19 -07:00
Ryan Barrett
e66ca3fb7f
noop: expand a few log messages
2023-10-18 13:13:44 -07:00