summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2026-10-04fe: new frontend in cljs, pluggable #8eltrac
- remove deprecated weepinbell.ui - create a ClojureScript project named bellsprout - use vanilla cljs and Pico CSS - can find and send webmentions in/to weepinbell - display webmentions in cards - <noscript> reminder - embed frontend in weepinbell - opt-in, weepinbell can work without a frontend - serve static files from disk for now; might support a simple reverse proxy in the future - test frontend route (OK when enabled; 404 when disabled) fe: ?show param that shows webmentions when set to true equivalent of clicking "Find" button manually
2026-10-04bump version to v0.6.3eltrac
2026-10-04mf.searcher: improve backward-compatibility of microformats reductioneltrac
2026-10-04test: /api/mentions/ should not be malformed #28eltrac
2026-10-04bump version to v0.6.2eltrac
2026-10-04retriever: fix /api/mentions not returning valid dataeltrac
2026-09-30project: use test workflow badge instead of a generic oneeltrac
2026-09-30project: run tests when pull requestseltrac
2026-09-30bump version to v0.6.1eltrac
2026-09-29retriever: fix /api/mentions always returning 404eltrac
2026-09-29retriever: fix #45eltrac
1. If webmention does not exist, data is {:webmention nil} rather than nil. So it always assume webmention is found. It should check further. 2. The status code is 400 rather than 404.
2026-09-28doc: first draft of user manual; add philosophy; update contributors' guideeltrac
2026-09-28doc: add doc/manual/API.mdeltrac
2026-09-28project: manage asm dependecy to avoid confusioneltrac
2026-09-27test: assert hooks values are functionseltrac
2026-09-27webhook: fix AssertionError when event keys are not complete in user's configeltrac
2026-09-25project: pin Leiningen and Clojure versions in mise.tomleltrac
2026-09-25project: update coverage on every tageltrac
2026-09-25bump to version v0.6.0eltrac
2026-09-24README: tidy up badges and add pipeline for updating coverageeltrac
- put badges in a paragraph - add clojure version badge - add link to woodpecker ci - babashka script for automatically extracting and replacing coverage rate - pipeline for running cloverage
2026-09-24README: add test coverage badgeeltrac
2026-09-24test: improve test coverage #28eltrac
- remove reducer spec warninns, test spec before compiling instead. - cover more forms of webhook.clj, webhook_presets.clj, microformats/reducer.clj, microformats/searcher.clj, http/downloader.clj - remove unused code from config.clj - format all tests
2026-09-24microformats.reducer: fallback to same-level h-card if h-entry lacks author ↵eltrac
property
2026-09-24microformats.searcher: improve robustness and accuracyeltrac
- use-items now returns nil for non-collection or empty input - use-prop gets the first element of property if it's a plain map - search-photo correctly fallback to org photo when author photo is nil
2026-09-23http.downloader: report file size on disk, not via http header Content-Lengtheltrac
2026-09-23http.downloader: fix corrupted/empty file not deleted after download failedeltrac
2026-09-23webhook: fix not identifying custom functions as functionseltrac
2026-09-23processor: fix not finding photo to proxyeltrac
2026-09-23retriever, API: allow user to turn off reducer with `?microformats=raw`eltrac
2026-09-23retriever, microformats: fix webmention being null in API responseseltrac
- remove deprecated microformats.wrapper - add microformats.searcher and microformats.reducer
2026-09-23processor: refactor processor; replace mf2j with mf2cljeltrac
- 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-23test: 100% coverage of feed.cljeltrac
2026-09-23test: do not disable logging for they're part of code that tests should covereltrac
2026-09-23test: cover error handling and more edge cases of verifier #28eltrac
2026-09-21project: add mise.tomleltrac
2026-09-21project: upgrade dependencieseltrac
2026-09-20fix #36eltrac
2026-09-19test: fix processor test failure and server not shutting down when test ↵eltrac
throws error
2026-09-19processor, webhook: send webhooks with customizable payloadeltrac
- 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-18utils.url: valid-http-url? should return false for non-string typeseltrac
2026-09-18project: bump version to v0.5.1eltrac
2026-09-18docs: add missing docstrings and mark certain components as deprecatedeltrac
2026-09-17fix #34eltrac
2026-09-16project: bump version to v0.5.0eltrac
2026-09-16logs: print server start message; print data when it's corruptedeltrac
2026-09-16receiver, mf, utils: bug fixeseltrac
microformats: fix assertion error :post and :pre hooks enforce spec but for now we just need to log these issues and analyze them. no need to throw exception for that. --- receiver: fix NullPointerException when source/target is nil when an incomplete webmention request (e.g. only source is included in POST parameters), it throws Exception: java.lang.NullPointerException: Cannot invoke "Object.toString()" because "s" is null this is because `remove-anchor` (which will soon be replaced with weepinbell.utils.url/normalize) did not check if `url` is string or nil. --- utils: fix incorrectly derefing a map
2026-09-16wrapper, storage, mf: add spec check and improve project structureeltrac
wrapper: use spec to check webmention data before writing to storage warn when data does not meet spec (corrupted). for now we're not dealing with corruption, just collect logs and analyze. microformats: use spec to validate data and warn if it's in bad form microformats: move parsers/wrappers to one sub-directory storage: move weepinbell.spec to weepinbell.storage.spec
2026-09-16style: format the codebaseeltrac
starting from now, every commit should be cljfmt-fixed
2026-09-16docs, project: update CONTRIBUTING.md and add cljfmt to leineltrac
2026-09-15verifier: use error value instead of catching Exceptionseltrac
with new http client, all Exceptions are caught internally and returned as value. there's no need catching Exceptions in verifier fix