2026-10-22 - 2026-10-23

Overview

0 Active Pull Requests
40 Active Issues
Excluding merges, 1 author has pushed 43 commits to main and 43 commits to all branches. On main, 79 files have changed and there have been 8546 additions and 6670 deletions.

3 Releases published by 1 user

Published v1.5.0 ipx 1.5.0 2026-10-23 09:41:57 -07:00

Published directory-v1.4.0 ipx-directory 1.4.0 2026-10-23 09:41:57 -07:00

Published web-v1.3.0 ipx-web 1.3.0 2026-10-23 09:41:57 -07:00

40 Issues closed from 1 user

Closed #356 Rust: the root modules hold most of the code 2026-10-23 18:54:11 -07:00

Closed #355 Rust: types written with their full path instead of imported 2026-10-23 18:19:15 -07:00

Closed #354 Rust: ipx-feed and ipx-directory have public items without doc comments 2026-10-23 18:12:04 -07:00

Closed #353 Rust: small departures from the style guide (imports, unwrap, for headers, must_use, bool parameters, SAFETY) 2026-10-23 18:07:23 -07:00

Closed #352 Unread counts still hash every read-state row a person has 2026-10-23 09:16:11 -07:00

Closed #347 Unread lists and counts read all of a person's items to find the few unread 2026-10-23 09:06:56 -07:00

Closed #349 Two requests for the same missing artwork fetch it twice 2026-10-23 08:35:35 -07:00

Closed #345 Artwork kept on disk is read from FUSE, blocking the async threads 2026-10-23 08:35:34 -07:00

Closed #348 A Signal's counts run the same verdict query twice 2026-10-23 08:35:33 -07:00

Closed #346 The item list and feed list wait on queries one at a time that could run together 2026-10-23 08:35:32 -07:00

Closed #344 A page of items reads every enclosure in the database to find its files 2026-10-23 08:35:28 -07:00

Closed #323 ipx-web strips only the Cf-Access header names, while ipx trusts whatever header trusted_header names from Caddy's address 2026-10-23 08:21:32 -07:00

Closed #342 One rw snapshot with an enormous subscriber count breaks the directory's listings for everyone 2026-10-23 08:19:56 -07:00

Closed #343 On the server's key, one user's Signal text shares a Jev call with other users' Signals and may steer their verdicts 2026-10-23 08:14:14 -07:00

Closed #340 Any signed-in user can make unlimited TypeSafe calls on the server's key through the icon route, even with signals_on_server off 2026-10-23 08:14:13 -07:00

Closed #324 Disconnecting sign-in requests escape the password-check limit and run unbounded Argon2 work on the blocking pool 2026-10-23 08:04:29 -07:00

Closed #338 One OPML upload of many same-titled outlines does quadratic work while holding the catalogue lock, and adds tens of thousands of permanent feeds to the shared scan 2026-10-23 08:01:56 -07:00

Closed #333 Any signed-in user can mark a feed they do not subscribe to private, and promote an OPML-derived feed out of its OPML 2026-10-23 07:57:45 -07:00

Closed #335 An open /api/events stream keeps sending daemon events to an account after it is removed 2026-10-23 07:53:05 -07:00

Closed #325 Private feed keys in the URL path reach every signed-in user through /api/events 2026-10-23 07:53:04 -07:00

Closed #334 Changing a password leaves every existing session and API token valid 2026-10-23 07:47:03 -07:00

Closed #336 Bodyless POST routes accept cross-origin simple requests carrying ambient credentials 2026-10-23 07:37:07 -07:00

Closed #337 A subscribed OPML with very many outlines causes quadratic sync work and an unbounded set of child feeds scanned on the shared worker 2026-10-23 07:20:01 -07:00

Closed #339 One feed listing many distinct http artwork hosts holds the shared scan worker for hours, on every scan 2026-10-23 07:20:00 -07:00

Closed #329 The directory's refresher fetches LAN and container-network addresses named by an rw peer or by a listed feed's redirect 2026-10-23 07:14:20 -07:00

Closed #341 Anonymous directory pages each run an unpaged query over the whole catalogue on a shared 10-connection pool 2026-10-23 07:08:47 -07:00

Closed #327 Feeds listed in a password-protected OPML inherit its username and password and send them to their own, unrelated hosts 2026-10-23 07:03:36 -07:00

Closed #328 Enclosure downloads send the feed's basic-auth password to whatever host the feed names, unlike feed fetches 2026-10-23 07:03:36 -07:00

Closed #332 A kept feed from a private OPML loses its private mark when the OPML is removed and is shared to the directory 2026-10-23 07:00:10 -07:00

Closed #321 Every fresh install seeds an admin account with the public password 'ipodderx', usable through the unauthenticated login endpoint 2026-10-23 06:56:57 -07:00

Closed #351 cargo deny: RUSTSEC-2026-0385 (ctutils 0.4.2) and RUSTSEC-2026-0382 (rustls-webpki 0.103.15) 2026-10-23 06:48:57 -07:00

Closed #330 A feed's .torrent URL, or a tracker it names, can make the daemon buffer an unbounded body in memory 2026-10-23 06:40:33 -07:00

Closed #320 Feed, enclosure, OPML and artwork fetches reach any internal address, and the responses come back to the user 2026-10-23 06:32:29 -07:00

Closed #322 A deeply nested OPML, uploaded by any signed-in user or served by any feed publisher, can overflow the stack and abort the whole daemon 2026-10-23 06:13:03 -07:00

Closed #326 Item and enclosure links from feeds are used as href and window.open targets without a scheme check 2026-10-23 06:08:37 -07:00

Closed #319 Downloaded enclosure served same-origin with an extension-guessed type allows stored XSS 2026-10-23 06:02:56 -07:00

Closed #331 Torrent enclosures write with overwrite enabled straight into a folder other feeds share, so one publisher can replace another feed's downloaded episodes 2026-10-23 05:56:58 -07:00

Closed #318 A multi-file torrent's name is recorded unchecked as the enclosure path, so a feed publisher can point Delete, reap and media serving at any path 2026-10-23 05:56:57 -07:00

Closed #350 Traces of some routes show their time with nothing under it 2026-10-23 05:48:00 -07:00

Closed #317 WordPress.com sites answer the feed with a browser check, and the feed fails for hours 2026-10-23 05:14:08 -07:00

39 Issues created by 0 users

Opened #318 A multi-file torrent's name is recorded unchecked as the enclosure path, so a feed publisher can point Delete, reap and media serving at any path 2026-10-23 05:26:41 -07:00

Opened #319 Downloaded enclosure served same-origin with an extension-guessed type allows stored XSS 2026-10-23 05:26:42 -07:00

Opened #320 Feed, enclosure, OPML and artwork fetches reach any internal address, and the responses come back to the user 2026-10-23 05:26:43 -07:00

Opened #321 Every fresh install seeds an admin account with the public password 'ipodderx', usable through the unauthenticated login endpoint 2026-10-23 05:26:43 -07:00

Opened #322 A deeply nested OPML, uploaded by any signed-in user or served by any feed publisher, can overflow the stack and abort the whole daemon 2026-10-23 05:26:44 -07:00

Opened #323 ipx-web strips only the Cf-Access header names, while ipx trusts whatever header trusted_header names from Caddy's address 2026-10-23 05:26:44 -07:00

Opened #324 Disconnecting sign-in requests escape the password-check limit and run unbounded Argon2 work on the blocking pool 2026-10-23 05:26:45 -07:00

Opened #325 Private feed keys in the URL path reach every signed-in user through /api/events 2026-10-23 05:26:45 -07:00

Opened #326 Item and enclosure links from feeds are used as href and window.open targets without a scheme check 2026-10-23 05:26:46 -07:00

Opened #327 Feeds listed in a password-protected OPML inherit its username and password and send them to their own, unrelated hosts 2026-10-23 05:26:47 -07:00

Opened #328 Enclosure downloads send the feed's basic-auth password to whatever host the feed names, unlike feed fetches 2026-10-23 05:26:47 -07:00

Opened #329 The directory's refresher fetches LAN and container-network addresses named by an rw peer or by a listed feed's redirect 2026-10-23 05:26:48 -07:00

Opened #330 A feed's .torrent URL, or a tracker it names, can make the daemon buffer an unbounded body in memory 2026-10-23 05:26:48 -07:00

Opened #331 Torrent enclosures write with overwrite enabled straight into a folder other feeds share, so one publisher can replace another feed's downloaded episodes 2026-10-23 05:26:49 -07:00

Opened #332 A kept feed from a private OPML loses its private mark when the OPML is removed and is shared to the directory 2026-10-23 05:26:49 -07:00

Opened #333 Any signed-in user can mark a feed they do not subscribe to private, and promote an OPML-derived feed out of its OPML 2026-10-23 05:26:50 -07:00

Opened #334 Changing a password leaves every existing session and API token valid 2026-10-23 05:26:51 -07:00

Opened #335 An open /api/events stream keeps sending daemon events to an account after it is removed 2026-10-23 05:26:51 -07:00

Opened #336 Bodyless POST routes accept cross-origin simple requests carrying ambient credentials 2026-10-23 05:26:52 -07:00

Opened #337 A subscribed OPML with very many outlines causes quadratic sync work and an unbounded set of child feeds scanned on the shared worker 2026-10-23 05:26:52 -07:00

Opened #338 One OPML upload of many same-titled outlines does quadratic work while holding the catalogue lock, and adds tens of thousands of permanent feeds to the shared scan 2026-10-23 05:26:53 -07:00

Opened #339 One feed listing many distinct http artwork hosts holds the shared scan worker for hours, on every scan 2026-10-23 05:26:54 -07:00

Opened #340 Any signed-in user can make unlimited TypeSafe calls on the server's key through the icon route, even with signals_on_server off 2026-10-23 05:26:55 -07:00

Opened #341 Anonymous directory pages each run an unpaged query over the whole catalogue on a shared 10-connection pool 2026-10-23 05:26:55 -07:00

Opened #342 One rw snapshot with an enormous subscriber count breaks the directory's listings for everyone 2026-10-23 05:26:56 -07:00

Opened #343 On the server's key, one user's Signal text shares a Jev call with other users' Signals and may steer their verdicts 2026-10-23 05:26:57 -07:00

Opened #344 A page of items reads every enclosure in the database to find its files 2026-10-23 05:35:26 -07:00

Opened #345 Artwork kept on disk is read from FUSE, blocking the async threads 2026-10-23 05:35:26 -07:00

Opened #346 The item list and feed list wait on queries one at a time that could run together 2026-10-23 05:35:27 -07:00

Opened #347 Unread lists and counts read all of a person's items to find the few unread 2026-10-23 05:35:28 -07:00

Opened #348 A Signal's counts run the same verdict query twice 2026-10-23 05:35:28 -07:00

Opened #349 Two requests for the same missing artwork fetch it twice 2026-10-23 05:35:29 -07:00

Opened #350 Traces of some routes show their time with nothing under it 2026-10-23 05:44:06 -07:00

Opened #351 cargo deny: RUSTSEC-2026-0385 (ctutils 0.4.2) and RUSTSEC-2026-0382 (rustls-webpki 0.103.15) 2026-10-23 06:32:29 -07:00

Opened #352 Unread counts still hash every read-state row a person has 2026-10-23 09:06:57 -07:00

Opened #353 Rust: small departures from the style guide (imports, unwrap, for headers, must_use, bool parameters, SAFETY) 2026-10-23 18:00:02 -07:00

Opened #354 Rust: ipx-feed and ipx-directory have public items without doc comments 2026-10-23 18:00:03 -07:00

Opened #355 Rust: types written with their full path instead of imported 2026-10-23 18:00:04 -07:00

Opened #356 Rust: the root modules hold most of the code 2026-10-23 18:00:04 -07:00