notefeed

Oct 10

  1. notefeed 0.10.0

    Released 2026-10-10 · on GitHub

    v0.10.0: a report page, the operator's takedown, and private files

    For operators

    • A Report link on every note (NOTEFEED_REPORT_URL, a URL template with {read_id}, {note_id} and {file}), on the feed page, the note page and the read-only view. Unset: no link. notefeed stores no reports.
    • A report page of notefeed's own: NOTEFEED_REPORT_ENDPOINT names the endpoint of a form in an inbox you run (such as noticebox), and /report shows the form and posts there, with the note's ids in hidden fields. With the endpoint set and no template, the Report link opens this page.
    • The operator's takedown: POST /api/operator/takedown removes a feed for good, leaves a tombstone and blocklists its images' hashes.
    • NOTEFEED_IMAGE_UPLOADS=0 refuses every image upload with 403 images_off.
    • POST /api/operator/images/move moves image bytes into the configured store.
    • Files are served private, no-cache, never from a shared cache.
    • One log line per request, without the feed name.

    Web UI

    • Write and Preview tabs on the compose box and the editor.
    • The note box places the cursor behind a new picture's reference in the same step.

    Client packages 0.10.0 (PyPI and npm notefeed)

    • See the pull requests below.

    Pull requests since v0.9.3

    • #169 NOTEFEED #156: a report page of notefeed's own that posts to the operator's inbox
    • #168 NOTEFEED #155: the operator's takedown, with a tombstone for the feed and a blocklist for its images
    • #167 NOTEFEED #154: a Report link on every note, from the NOTEFEED_REPORT_URL template
    • #166 NOTEFEED #152: NOTEFEED_IMAGE_UPLOADS=0 refuses every image upload with 403 images_off
    • #162 NOTEFEED #146: Write and Preview tabs on the compose box and the editor
    • #165 NOTEFEED #164: the note box places the cursor behind a new picture's reference in the same step, not a frame later
    • #163 NOTEFEED #128: POST /api/operator/images/move moves image bytes into the configured store
    • #161 NOTEFEED #153: files are served private, no-cache, never from a shared cache
    • #151 NOTEFEED #150: one log line per request, without the feed name