<feed xmlns='http://www.w3.org/2005/Atom'>
<title>weepinbell/src/weepinbell/processor, branch master</title>
<subtitle>A Webmention receiver written in Clojure</subtitle>
<link rel='alternate' type='text/html' href='https://git.eltr.ac/weepinbell.git/'/>
<entry>
<title>all: use JF2 as a single source of truth, compile microformats/JSON-LD/&lt;meta&gt; to JF2 (#80)</title>
<updated>2026-10-29T11:42:50+00:00</updated>
<author>
<name>eltrac</name>
<email>hi@eltr.ac</email>
</author>
<published>2026-10-29T11:42:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.eltr.ac/weepinbell.git/commit/?id=573e5f513387ebd34ad9df4b7fe4dc83d7323c8d'/>
<id>573e5f513387ebd34ad9df4b7fe4dc83d7323c8d</id>
<content type='text'>
closes #75

This is a large squash commit. For details, see https://codeberg.org/eltrac/weepinbell/pulls/80
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
closes #75

This is a large squash commit. For details, see https://codeberg.org/eltrac/weepinbell/pulls/80
</pre>
</div>
</content>
</entry>
<entry>
<title>test: test concurrent proceesor; assert config option types</title>
<updated>2026-10-15T09:21:09+00:00</updated>
<author>
<name>eltrac</name>
<email>hi@eltr.ac</email>
</author>
<published>2026-10-15T09:21:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.eltr.ac/weepinbell.git/commit/?id=bfbf29ce65147191a35e8b021c7ad3fc3fc304ec'/>
<id>bfbf29ce65147191a35e8b021c7ad3fc3fc304ec</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>test: remove http request retries from tests</title>
<updated>2026-10-15T08:09:41+00:00</updated>
<author>
<name>eltrac</name>
<email>hi@eltr.ac</email>
</author>
<published>2026-10-15T08:09:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.eltr.ac/weepinbell.git/commit/?id=b02decd826ade91afc455081bf3359c912449a1b'/>
<id>b02decd826ade91afc455081bf3359c912449a1b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>processor: concurrently starts multiple pipeline loops</title>
<updated>2026-10-15T08:09:40+00:00</updated>
<author>
<name>eltrac</name>
<email>hi@eltr.ac</email>
</author>
<published>2026-10-15T07:02:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.eltr.ac/weepinbell.git/commit/?id=9aae86ada1418058b54bd2b3b0a05f98ef04ba63'/>
<id>9aae86ada1418058b54bd2b3b0a05f98ef04ba63</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>processor, storage: clear queues before shutting down proceesor and storage worker</title>
<updated>2026-10-14T10:31:01+00:00</updated>
<author>
<name>eltrac</name>
<email>hi@eltr.ac</email>
</author>
<published>2026-10-14T09:40:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.eltr.ac/weepinbell.git/commit/?id=0340977aa096dfbacb476eab3324e6879962e078'/>
<id>0340977aa096dfbacb476eab3324e6879962e078</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>processor: log before write; logging afterwards doesn't mean write is completed</title>
<updated>2026-10-14T09:18:04+00:00</updated>
<author>
<name>eltrac</name>
<email>hi@eltr.ac</email>
</author>
<published>2026-10-14T09:17:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.eltr.ac/weepinbell.git/commit/?id=3ab405ff091eac7158420b3a8fadfd1985701206'/>
<id>3ab405ff091eac7158420b3a8fadfd1985701206</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>wrapper: fix not downloading photo with relative urls</title>
<updated>2026-10-13T09:19:44+00:00</updated>
<author>
<name>eltrac</name>
<email>hi@eltr.ac</email>
</author>
<published>2026-10-13T09:19:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.eltr.ac/weepinbell.git/commit/?id=5d851c82f9575f1709ddeb559c48f9daad449bbd'/>
<id>5d851c82f9575f1709ddeb559c48f9daad449bbd</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>proceesor, storage: better error handling; no interrupting pipeline</title>
<updated>2026-10-11T10:00:32+00:00</updated>
<author>
<name>eltrac</name>
<email>hi@eltr.ac</email>
</author>
<published>2026-10-11T10:00:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.eltr.ac/weepinbell.git/commit/?id=b3c915d33a67f8063ffb4ef8895523de47c9305c'/>
<id>b3c915d33a67f8063ffb4ef8895523de47c9305c</id>
<content type='text'>
- print clear stack trace using timbre when capturing exceptions
- don't pass nil to url/normalize; if url/normalize gets a nil, instead
of NPE, it now returns an empty string
- capture exceptions in processor pipeline to keep it from dying
- http.downloader now checks response status instead of blindly
downloading anything
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- print clear stack trace using timbre when capturing exceptions
- don't pass nil to url/normalize; if url/normalize gets a nil, instead
of NPE, it now returns an empty string
- capture exceptions in processor pipeline to keep it from dying
- http.downloader now checks response status instead of blindly
downloading anything
</pre>
</div>
</content>
</entry>
<entry>
<title>verifier, http.client: retry timeout HTTP requests</title>
<updated>2026-10-09T03:17:48+00:00</updated>
<author>
<name>eltrac</name>
<email>hi@eltr.ac</email>
</author>
<published>2026-10-09T02:54:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.eltr.ac/weepinbell.git/commit/?id=f441b8b57e42aa328f16d672ae994f8ec88f3eb9'/>
<id>f441b8b57e42aa328f16d672ae994f8ec88f3eb9</id>
<content type='text'>
- add weepinbell.http.client/with-retry macro
  - retry only requests that returns :error with type TimeoutException
  - retry is done asynchronously
  - with-retry should return a Future
- retry verifier requesting source and target, 3 times with 5 seconds
backoff
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- add weepinbell.http.client/with-retry macro
  - retry only requests that returns :error with type TimeoutException
  - retry is done asynchronously
  - with-retry should return a Future
- retry verifier requesting source and target, 3 times with 5 seconds
backoff
</pre>
</div>
</content>
</entry>
<entry>
<title>test, verifier, utils: fix failed tests</title>
<updated>2026-10-07T09:18:06+00:00</updated>
<author>
<name>eltrac</name>
<email>hi@eltr.ac</email>
</author>
<published>2026-10-07T09:18:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.eltr.ac/weepinbell.git/commit/?id=ac5d88fae0f64609b522bd272587e9d98ca59a16'/>
<id>ac5d88fae0f64609b522bd272587e9d98ca59a16</id>
<content type='text'>
- some namespaces tests require did not get renamed
- url/extract might throw AssertionError if input contains non-HTTP(S)
urls. it should not check schemes.
- verifier doesn't need to filter non-HTTP(S) urls since they will
return false anyway, and plus it makes localhost urls in tests fail
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- some namespaces tests require did not get renamed
- url/extract might throw AssertionError if input contains non-HTTP(S)
urls. it should not check schemes.
- verifier doesn't need to filter non-HTTP(S) urls since they will
return false anyway, and plus it makes localhost urls in tests fail
</pre>
</div>
</content>
</entry>
</feed>
