| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2026-09-23 | processor: refactor processor; replace mf2j with mf2clj | eltrac | |
| - replace mf2j with mf2clj - remove utils.clj completely - refactored processor, use Chain of Responsibilities pattern and pass around maps to reuse data (so we don't have to make a separate HTTP request just to parse microformats, etc.) - test: add more test cases to verifier test - test: add basic test cases to all processing steps - add more logging to each processing steps. good for debugging. | |||
| 2026-09-19 | processor, webhook: send webhooks with customizable payload | eltrac | |
| - processor will call hook functions with webmention data - refactor webhook.clj massively - add dynamic parameter substitution for urls, e.g. {source} {target} {event}...... - add config option :webhook-request, a function with parameters [hook, data] that returns a map (resembling {:headers ... :body ...}). webhook.clj uses this function to generate payload. - allow map besids URL string in config option :webhook. if it's a URL, sends webhook request to it with payload generated by :webhook-request; if it's a map, it should be like {:url ... :request-fn ...}, which specifies a payload generator. - add request-fn preset :ntfy | |||
| 2026-09-14 | processor, verifier, webhook: tidy up log msg/level; improve code style | eltrac | |
| processor: tidy up log msg and level; improve code style - all messages start with a lower-case letter - all webmention-related logging contains first 8-digit of its id - use WARN level when something is deleted, not INFO - use WARN level when exceptional cases happen, not ERROR - get rid of emojis in log messages utils: digest-short function for logging verifier: tidy up log messages; improve code style - use `cond` instead of nested `if`s - same message format as processor's logs webhook: tidy up log messages; send webhooks robustly - use same logging formats as processor and verifier - handle error, 4xx, 5xx status and log them - move logging inside webhook module, away from core.clj | |||
| 2026-05-12 | refactor(processor): do not depend on config directly | eltrac | |
| 2026-05-09 | style: format all source code | eltrac | |
| 2026-05-08 | fix(processor, verifier): not deleting wm when url respond with HTTP error | eltrac | |
| Content-Type checks are somehow written in process-webmention function, when it should be in verify-mention function, which causes weepinbell not deleting Webmention when one of target and source is not found (or any other HTTP status code that is not 2**) | |||
| 2026-05-06 | refactor(processor): separate verification from processor logic | eltrac | |
| 2026-05-06 | fix(processor): make process-webmention public | eltrac | |
| you can't test it if it's private | |||
| 2026-05-06 | fix(processor): cannot use <! outside of go-loop | eltrac | |
| 2026-05-06 | refactor(processor): a thin wrapper of process-webmention | eltrac | |
| process-webmention used to start a go-loop directly. this commit separates go-loop from processing logic, core.clj now calls to processor/start, the wrapper function. | |||
| 2026-05-06 | refactor(processor): remove storage dependency in processor | eltrac | |
| 2026-05-06 | refactor(processor): make storage plug-in through callback func | eltrac | |
| 2026-04-22 | refactor: simple DI using callbacks | eltrac | |
| 2026-04-20 | feat: add more webhooks | eltrac | |
| on-create, on-update and on-delete | |||
| 2026-03-23 | refactor: separate microformats and wrapper from processor | eltrac | |
| 2026-03-17 | feat(webhook): trigger webhooks on receiving new mentions | eltrac | |
| 2026-03-16 | feat: generate unique id for each Webmention | eltrac | |
| 2026-03-16 | feat: image proxy for microformats author photos | eltrac | |
| 2026-03-16 | refactor: move javamap->map to utils.clj | eltrac | |
| 2026-03-16 | perf: only get first 1MB of content when verifying mention | eltrac | |
| according to https://www.w3.org/TR/webmention/#limits-on-get-requests-p-4:~:text=Receivers%20should%20place%20limits%20on%20the%20amount,JSON%20page%20will%20be%20smaller%20than%20that. | |||
| 2026-03-16 | refactor: log with timbre instead of println | eltrac | |
| 2026-03-16 | chore: print logs when processing existing webmention | eltrac | |
| 2026-03-16 | fix: falsely receive webmention for non-HTML/text documents | eltrac | |
| 2026-03-12 | fix: robust parse-microformats | eltrac | |
| 2026-03-12 | fix: robust verify-mention, handle HTTP error | eltrac | |
| 2026-03-12 | chore: remove incorrect log | eltrac | |
| 2026-03-10 | feat: store last modified time | eltrac | |
| 2026-03-10 | refactor(storage): rename append -> append-wm | eltrac | |
| 2026-03-09 | feat: add microformats parser and wrap mf in webmention data | eltrac | |
| 2026-03-09 | chore(deps): remove unused java-time dep | eltrac | |
| 2026-03-09 | fix: store miliseconds instead of datetime object | eltrac | |
| 2026-03-05 | feat: UNFINISHED handle Webmention editing, deleting and appending | eltrac | |
| the storage part was unfinished and unserviceable. | |||
| 2026-03-05 | fix(dependency): incorrect namespace when requiring java-time | eltrac | |
| 2026-03-05 | style(processor): simplify code with when-let | eltrac | |
| 2026-03-04 | refactor: move data structure to wrap-webmention function | eltrac | |
| 2026-03-03 | feat: UNFINISHED file-based storage | eltrac | |
| 2026-03-03 | feat: verify webmention, GET source in search of mention | eltrac | |
| 2026-03-03 | refactor: move webmention channel to entry file; pass to receiver and processor | eltrac | |
