2026-10-13 - 2026-11-13

Overview

0 Active Pull Requests
233 Active Issues
Excluding merges, 2 authors have pushed 245 commits to main and 246 commits to all branches. On main, 248 files have changed and there have been 32260 additions and 11408 deletions.

14 Releases published by 1 user

Published v1.5.1 ipx 1.5.1 2026-10-24 06:03:13 -07:00

Published directory-v1.4.1 ipx-directory 1.4.1 2026-10-24 06:03:13 -07:00

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

Published v1.4.0 ipx 1.4.0 2026-10-19 11:40:00 -07:00

Published directory-v1.3.0 ipx-directory 1.3.0 2026-10-19 11:40:00 -07:00

Published web-v1.2.0 ipx-web 1.2.0 2026-10-19 11:40:00 -07:00

Published v1.3.0 ipx 1.3.0 2026-10-16 13:37:33 -07:00

Published web-v1.1.0 ipx-web 1.1.0 2026-10-16 13:37:33 -07:00

Published directory-v1.2.0 ipx-directory 1.2.0 2026-10-16 13:37:33 -07:00

Published v1.2.0 ipx 1.2.0 2026-10-15 06:25:18 -07:00

Published directory-v1.1.1 ipx-directory 1.1.1 2026-10-15 06:25:18 -07:00

Published web-v1.0.2 ipx-web 1.0.2 2026-10-15 06:25:18 -07:00

222 Issues closed from 1 user

Closed #456 Phone reader: back and the item's actions float over the text 2026-11-13 09:44:24 -08:00

Closed #455 Share on a paid episode's file hands over a link signed for you 2026-11-13 09:34:51 -08:00

Closed #454 Share does not say why an episode gets no play link 2026-11-13 09:26:35 -08:00

Closed #452 Share does nothing in the iOS app on an episode of a private feed 2026-11-13 08:58:16 -08:00

Closed #451 The ipx-play image does not build: web/logo-dark.svg is not copied in 2026-11-13 06:35:53 -08:00

Closed #445 iOS: the app's settings in Settings, not behind a shake 2026-11-13 06:02:18 -08:00

Closed #442 iOS CarPlay to app handoff issues 2026-11-13 05:44:15 -08:00

Closed #443 iOS CarPlay lists feeds without podcasts 2026-11-13 05:44:15 -08:00

Closed #425 iOS: episodes kept on the device, played offline 2026-11-13 05:44:14 -08:00

Closed #427 iOS: Siri and Shortcuts (App Intents) 2026-11-13 05:44:14 -08:00

Closed #429 iOS: sleep timer and AirPlay route picker 2026-11-13 05:44:14 -08:00

Closed #419 iOS: native API client, credentials in the keychain 2026-11-13 05:44:13 -08:00

Closed #428 iOS: home screen widget, unread and where you left off 2026-11-13 05:44:13 -08:00

Closed #434 iOS: check the layout on iPad 2026-11-13 05:35:42 -08:00

Closed #418 An iOS app: the page in a web view, with the phone's own player 2026-11-13 05:33:34 -08:00

Closed #444 native-bridge test: the CarPlay checks run after the failure count is read 2026-11-11 15:10:44 -08:00

Closed #441 Terminal reader: moving onto an item marks it read 2026-11-11 15:10:42 -08:00

Closed #440 Terminal reader: feeds grouped and pinned as on the page 2026-11-11 15:10:41 -08:00

Closed #439 Terminal reader: play an item's file 2026-11-11 15:10:40 -08:00

Closed #420 iOS: CarPlay audio 2026-11-11 06:13:02 -08:00

Closed #438 Image builds compile every dependency again on any Cargo.lock change 2026-11-09 06:05:15 -08:00

Closed #437 A terminal reader 2026-11-09 04:02:04 -08:00

Closed #435 iOS: the page itself offline (App-Bound Domains, so the service worker runs) 2026-11-08 16:23:42 -08:00

Closed #430 iOS: haptics on play, pause and mark read 2026-11-08 16:20:55 -08:00

Closed #421 iOS: unread badge on the app icon 2026-11-08 16:19:06 -08:00

Closed #433 iOS: push notifications for new episodes, and an exact badge 2026-11-08 16:19:05 -08:00

Closed #436 Admin page: an error toast throws, haptic is not defined 2026-11-08 16:08:52 -08:00

Closed #423 Admin page: the back button sits under the status bar in the iOS app 2026-11-08 11:51:06 -08:00

Closed #424 Status line at the bottom looks odd against the phone's rounded corners 2026-11-08 11:51:06 -08:00

Closed #422 A service token's secret was committed in ios/.envrc 2026-11-08 11:12:59 -08:00

Closed #414 Redesign the admin page 2026-11-07 09:39:02 -08:00

Closed #413 Item lists don't show which episodes are kept on the device 2026-11-07 09:39:01 -08:00

Closed #416 Two Refresh buttons on a list on a phone 2026-11-07 09:29:48 -08:00

Closed #417 The search box's placeholder is cut off on a phone 2026-11-07 09:29:48 -08:00

Closed #415 A Signal's new hits test fails in the full browser suite, passes alone 2026-11-07 09:29:47 -08:00

Closed #412 Episodes cannot be kept on the device to listen offline 2026-11-07 07:33:23 -08:00

Closed #407 Coverage: what the measurements leave out 2026-11-07 06:37:58 -08:00

Closed #408 Log lines lose their trace ids under a scoped subscriber 2026-11-07 05:45:32 -08:00

Closed #411 Production log lines lost their trace ids after ba18b44 2026-11-07 05:45:31 -08:00

Closed #409 No limit on wrong passwords for one name or address 2026-11-07 05:21:21 -08:00

Closed #410 A download stopped by a restart waits for its feed's next check 2026-11-06 20:52:21 -08:00

Closed #405 Tests: the Directory inside the app 2026-11-06 20:45:14 -08:00

Closed #406 Tests: the page's dialogs, keyboard and player 2026-11-06 20:45:14 -08:00

Closed #404 Tests: the page's live updates 2026-11-06 20:37:47 -08:00

Closed #402 Tests: the directory's background work 2026-11-06 20:32:35 -08:00

Closed #401 Tests: feeds that move, WordPress.com, Patreon and the catalogue 2026-11-06 20:29:09 -08:00

Closed #400 Tests: the daemon's start, shutdown and the CLI talking to it 2026-11-06 20:25:00 -08:00

Closed #397 Tests: torrents 2026-11-06 20:20:05 -08:00

Closed #398 Tests: Signals' judging, pacing and icons 2026-11-06 20:15:54 -08:00

Closed #399 Tests: Cloudflare Access sign-in, the sign-in rate limit and account settings 2026-11-06 20:10:42 -08:00

Closed #403 Tests: the log's fields and the metrics Grafana reads 2026-11-06 20:02:29 -08:00

Closed #396 Tests: removing old and over-quota downloads 2026-11-06 19:55:57 -08:00

Closed #395 No browser test opens the directory's public pages 2026-11-06 19:46:52 -08:00

Closed #394 The API's coverage is not measured, and coverage is nowhere to be seen over time 2026-11-06 19:33:51 -08:00

Closed #393 No test signs in with the sign-in form 2026-11-06 19:16:45 -08:00

Closed #392 Tests, tooling and two served scripts are still JavaScript 2026-11-06 18:24:29 -08:00

Closed #391 The offline code is untested where it clears for a new account, queues a position and trims pictures 2026-11-06 17:56:13 -08:00

Closed #390 Nothing measures how much of the code the tests run 2026-11-06 17:56:12 -08:00

Closed #389 iPX does not open or read without a connection 2026-11-06 16:59:48 -08:00

Closed #388 An open page keeps running the old version after ipx-web is deployed 2026-11-06 16:05:34 -08:00

Closed #386 YouTube channels still miss most days after the retry in #382 2026-11-06 15:59:24 -08:00

Closed #387 prod-check's traces hide whose a trace is and an event's error 2026-11-06 15:51:22 -08:00

Closed #385 On the Unread tab the page thinks there is more to load once its items are read 2026-11-06 15:51:21 -08:00

Closed #384 Swipes and a reader that will not scroll leave no trace 2026-11-04 12:48:50 -08:00

Closed #383 After a long session on the phone the reader stops scrolling and swiping 2026-11-04 12:38:05 -08:00

Closed #382 YouTube channels fail most days with a 404 or 500 that a second request does not get 2026-11-04 12:23:30 -08:00

Closed #381 ipx-web logs a deprecation warning at every start 2026-10-25 19:24:06 -07:00

Closed #380 The directory has no robots.txt or sitemap 2026-10-25 19:18:08 -07:00

Closed #379 A tap's span runs on to requests it did not set off 2026-10-25 19:05:59 -07:00

Closed #378 The page overflows its stack reporting a tap 2026-10-25 18:48:26 -07:00

Closed #377 Syncing a list asks for every account, and its subscription to the list, once per listed feed 2026-10-25 09:35:57 -07:00

Closed #376 A tap in the page sends no span of its own 2026-10-25 09:35:56 -07:00

Closed #374 Start-up is not traced 2026-10-25 09:35:55 -07:00

Closed #375 The directory's log lines carry no trace id 2026-10-25 09:35:55 -07:00

Closed #373 Commands on the control socket are not traced 2026-10-25 09:35:54 -07:00

Closed #371 ipx-web publishes no metrics 2026-10-25 09:35:53 -07:00

Closed #372 Syncing an OPML or Patreon list has no spans inside it 2026-10-25 09:35:53 -07:00

Closed #370 The directory's requests, feed checks and snapshots have no metrics 2026-10-25 09:35:52 -07:00

Closed #369 The page's timings are only log lines 2026-10-25 09:35:51 -07:00

Closed #367 How long a request waits for a database connection, and queries take, is not measured 2026-10-25 09:35:50 -07:00

Closed #368 Feed failures, new items, downloads and DeadAir's savings are counted only from the log 2026-10-25 09:35:50 -07:00

Closed #366 Prometheus does not scrape the monitoring itself 2026-10-25 09:35:49 -07:00

Closed #365 Nothing alerts when ipx goes wrong 2026-10-25 09:35:48 -07:00

Closed #364 Every API request is logged three times, and ipx has no request metric to stand in for its line 2026-10-25 08:12:55 -07:00

Closed #363 The logs repeat what metrics and the line itself already say 2026-10-25 08:05:35 -07:00

Closed #361 Two feeds' items with the same guid: the second can't be marked read 2026-10-24 19:02:20 -07:00

Closed #362 The same feed can be subscribed twice, over http and https 2026-10-24 19:02:19 -07:00

Closed #360 An item's text runs the full width of a wide window 2026-10-24 18:50:11 -07:00

Closed #359 Choose a font in Settings, beside the theme 2026-10-24 18:11:26 -07:00

Closed #358 A show made a feed of its own stays hidden with its OPML 2026-10-24 18:03:40 -07:00

Closed #357 The Herd with Colin Cowherd no longer updates: its feed is over the 50 MB cap 2026-10-24 05:54:33 -07:00

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

Closed #316 A feed's page keeps showing an error after a check succeeds 2026-10-20 08:37:52 -07:00

Closed #315 The Directory's cover fan names the wrong property in will-change 2026-10-20 08:17:51 -07:00

Closed #314 The tab bar's corners do not nest around its tabs 2026-10-20 08:17:50 -07:00

Closed #313 Cover artwork has no edge, and dark covers melt into dark themes 2026-10-20 08:17:49 -07:00

Closed #310 Reduced motion leaves no sign that a check for new items is running 2026-10-20 08:17:48 -07:00

Closed #311 Hover styles stick on a phone after a tap 2026-10-20 08:17:48 -07:00

Closed #312 Scrolling past the end of a dialog or the phone drawer scrolls the page behind 2026-10-20 08:17:48 -07:00

Closed #309 iPX's and the page's versions are only in a hover tooltip 2026-10-19 13:13:51 -07:00

Closed #308 An off switch is nearly invisible in every light theme 2026-10-19 13:13:50 -07:00

Closed #307 Fields in dialogs have labels that are not tied to them 2026-10-19 13:13:49 -07:00

Closed #306 Dialogs are not dialogs: focus is not moved in, kept in, or given back 2026-10-19 13:13:48 -07:00

Closed #305 Text fields' borders fail 3:1 in every theme but High contrast 2026-10-19 13:13:47 -07:00

Closed #304 Error toasts show the browser's or server's raw text, with no next step 2026-10-19 13:13:46 -07:00

Closed #303 Toasts are not announced, and error toasts vanish after six seconds 2026-10-19 13:13:45 -07:00

Closed #302 Search and filter placeholders fail contrast in 20 of 25 palettes 2026-10-19 13:13:43 -07:00

Closed #301 The player's seek bar has no name 2026-10-19 13:13:42 -07:00

Closed #300 The read toggle on an item row is named "●" 2026-10-19 13:13:41 -07:00

Closed #299 Play and Delete on an item row are invisible while focused 2026-10-19 13:13:39 -07:00

Closed #298 An item can't be opened from the keyboard or a screen reader 2026-10-19 13:13:37 -07:00

Closed #297 CLAUDE.md's test counts are out of date 2026-10-19 11:17:41 -07:00

Closed #295 A feed address that serves a large file is read whole into memory 2026-10-19 11:17:40 -07:00

Closed #296 Searching items for % or _ matches more than was typed 2026-10-19 11:17:40 -07:00

Closed #294 Other people's download failures and progress show on everyone's page 2026-10-19 11:17:39 -07:00

Closed #293 Downloads folder missing for a moment makes ipx forget every downloaded file 2026-10-19 11:17:38 -07:00

Closed #292 Patreon's signed download links go to every open page and the log 2026-10-19 11:17:37 -07:00

Closed #291 A search box has no button to clear what was typed 2026-10-19 07:56:01 -07:00

Closed #290 Redesign a feed's settings dialog 2026-10-19 07:48:47 -07:00

Closed #289 Keep a feed, an OPML or a Patreon creator out of Signals 2026-10-19 07:48:46 -07:00

Closed #288 Keep a feed, an OPML or a Patreon creator out of All Subscriptions 2026-10-19 07:22:07 -07:00

Closed #287 A slow item list's trace does not say which list it was 2026-10-19 07:08:33 -07:00

Closed #286 ipx-web's spans are all named ipx-web 2026-10-18 13:05:25 -07:00

Closed #285 Switch an item between its HTML and its Markdown when a feed sends both 2026-10-18 11:41:41 -07:00

Closed #268 App-icon tiles for Signals and DeadAir, drawn as the logo is 2026-10-18 11:40:08 -07:00

Closed #273 The Directory shows initials for podcasts nobody here subscribes to: their artwork is refused 2026-10-18 11:33:32 -07:00

Closed #272 Every artwork request scans the whole entries table: no index on entries.image 2026-10-18 11:33:31 -07:00

Closed #284 A feed written in Markdown shows the Markdown as text, not formatted 2026-10-18 11:28:53 -07:00

Closed #283 An OPML's page lists its shows, not their items together 2026-10-18 10:46:08 -07:00

Closed #282 ipx lists atom_syndication, quick-xml and rss but does not use them 2026-10-17 15:40:12 -07:00

Closed #281 Dependencies with known security advisories: ammonia, rustls, h2, ringbuf 2026-10-17 15:40:11 -07:00

Closed #280 Keep a podcast from an OPML subscription when the OPML drops it 2026-10-17 14:39:41 -07:00

Closed #279 Artwork served without an image type is refused, so the podcast shows initials 2026-10-17 14:29:01 -07:00

Closed #278 Signals' metrics are not broken out by person, so the server's bill cannot be split 2026-10-17 08:28:08 -07:00

Closed #277 Signals can outrun TypeSafe's rate limits, and a 429 is retried as any other error 2026-10-17 07:40:12 -07:00

Closed #276 Signals: a look-back window an admin sets, a week by default, and an edit that asks again only what was picked out 2026-10-17 07:21:20 -07:00

Closed #274 The Signals judge scans the whole entries table on every pass, outside any trace 2026-10-17 07:21:19 -07:00

Closed #275 Signals call Jev one item at a time, so a new Signal takes about 20 minutes to fill 2026-10-17 07:21:19 -07:00

Closed #269 The API reference on ipxreader.app has no Signals 2026-10-17 06:41:50 -07:00

Closed #271 Signals: an admin setting for whose TypeSafe key pays for Jev 2026-10-17 06:20:45 -07:00

Closed #270 Signals have no metrics, and failed Jev calls do not show as failed traces 2026-10-16 19:59:42 -07:00

Closed #267 Signals judge an image-only item by its title alone: xkcd's Ground Effect went into Formula 1 2026-10-16 12:48:46 -07:00

Closed #266 A Signal with no key should link to getting one and adding it 2026-10-16 12:33:22 -07:00

Closed #265 No + on the Signals folder's row 2026-10-16 12:22:55 -07:00

Closed #264 Jev is offered brand icons through their search terms: Disney Parks got the Mandalorian 2026-10-16 12:21:01 -07:00

Closed #263 Jev picks a Signal's icon, on the server's key 2026-10-16 12:11:08 -07:00

Closed #262 Signal tiles all in one colour 2026-10-16 12:04:07 -07:00

Closed #261 A Signal's own icon, chosen from Font Awesome Free 2026-10-16 11:57:50 -07:00

Closed #259 Signals pick out far too much: each keyword is a subject on its own 2026-10-16 11:27:08 -07:00

Closed #260 Signals judge 25 items every 5 minutes instead of going straight through the queue 2026-10-16 11:27:08 -07:00

Closed #258 Signal unread counts go stale on the page 2026-10-16 10:56:11 -07:00

Closed #257 Signals: TypeSafe answers 422 to every Jev request 2026-10-16 10:49:27 -07:00

Closed #256 Signals folder right under All Subscriptions, with its + on the folder's row 2026-10-16 10:39:25 -07:00

Closed #255 Signals in a folder in the sidebar, like an OPML or Patreon creator 2026-10-16 10:17:30 -07:00

Closed #254 Signals: smart feeds picked by Jev 2026-10-16 09:57:12 -07:00

Closed #253 The directory sends its answers uncompressed 2026-10-16 07:11:06 -07:00

Closed #250 /api/directory's time is mostly outside any span 2026-10-16 06:52:16 -07:00

Closed #252 The Directory knows only what this server's people subscribe to 2026-10-16 06:42:42 -07:00

Closed #251 The dashboard's Database connections panel looks exhausted when it is not 2026-10-15 14:25:53 -07:00

Closed #249 Currently Listening's list takes 1.3 s to answer 2026-10-15 08:28:58 -07:00

Closed #248 Currently Listening and the Directory's front page still wait for the server 2026-10-15 08:24:52 -07:00

Closed #247 Opening a list waits for the server, with nothing to say it is loading 2026-10-15 08:16:51 -07:00

Closed #246 How long a list takes to show after a click is not measured 2026-10-15 07:57:15 -07:00

Closed #245 The load test's browse scenario fails without a directory 2026-10-15 07:57:14 -07:00

Closed #240 The feed list counts every item of every feed on each load 2026-10-15 07:57:13 -07:00

Closed #241 All Subscriptions' item query takes 0.3-0.9 s for about 14,000 items 2026-10-15 07:57:12 -07:00

Closed #242 Feeds that never answer 'not modified' are downloaded whole every hour 2026-10-15 07:08:53 -07:00

Closed #244 Feed fetches accept only gzip 2026-10-15 07:08:52 -07:00

Closed #239 ipx-web sends the API uncompressed 2026-10-15 07:08:51 -07:00

Closed #243 The directory re-checks every feed every six hours 2026-10-15 07:08:51 -07:00

Closed #238 A private feed's key is written to the log when its fetch fails 2026-10-15 06:23:05 -07:00

Closed #236 The page's type-check does not catch nulls 2026-10-14 10:51:00 -07:00

Closed #237 ipx-web's image carries curl 8.22.0, affected by CVE-2026-92392 2026-10-14 10:45:21 -07:00

Closed #235 The page's type-check catches little: strict is off 2026-10-14 08:57:34 -07:00

Closed #234 No unit tests for the page's own functions 2026-10-14 08:47:17 -07:00

Closed #232 Unread counts blink as a scan goes by 2026-10-14 08:03:36 -07:00

Closed #233 Refresh buttons should turn from the press to the end of that scan 2026-10-14 08:03:35 -07:00

Closed #231 The check-every-feed icon turns in jerks 2026-10-14 07:50:39 -07:00

Closed #230 A server that accepts and never answers holds a scan for 30 s 2026-10-14 07:10:48 -07:00

Closed #228 A forced scan looks up site icons one feed at a time 2026-10-14 07:10:47 -07:00

Closed #229 A feed's fetch span does not say which feed 2026-10-14 07:10:47 -07:00

Closed #227 Directory: a feed check round waits on each feed in turn 2026-10-14 07:10:46 -07:00

Closed #226 Grafana: the Downloads panel fails 2026-10-13 17:09:34 -07:00

233 Issues created by 1 user

Opened #226 Grafana: the Downloads panel fails 2026-10-13 17:08:46 -07:00

Opened #227 Directory: a feed check round waits on each feed in turn 2026-10-14 06:24:15 -07:00

Opened #228 A forced scan looks up site icons one feed at a time 2026-10-14 06:24:16 -07:00

Opened #229 A feed's fetch span does not say which feed 2026-10-14 06:24:16 -07:00

Opened #230 A server that accepts and never answers holds a scan for 30 s 2026-10-14 06:24:17 -07:00

Opened #231 The check-every-feed icon turns in jerks 2026-10-14 07:49:55 -07:00

Opened #232 Unread counts blink as a scan goes by 2026-10-14 07:54:38 -07:00

Opened #233 Refresh buttons should turn from the press to the end of that scan 2026-10-14 07:58:21 -07:00

Opened #234 No unit tests for the page's own functions 2026-10-14 08:46:37 -07:00

Opened #235 The page's type-check catches little: strict is off 2026-10-14 08:51:07 -07:00

Opened #236 The page's type-check does not catch nulls 2026-10-14 08:56:58 -07:00

Opened #237 ipx-web's image carries curl 8.22.0, affected by CVE-2026-92392 2026-10-14 10:43:25 -07:00

Opened #238 A private feed's key is written to the log when its fetch fails 2026-10-15 06:06:40 -07:00

Opened #239 ipx-web sends the API uncompressed 2026-10-15 06:40:37 -07:00

Opened #240 The feed list counts every item of every feed on each load 2026-10-15 06:40:38 -07:00

Opened #241 All Subscriptions' item query takes 0.3-0.9 s for about 14,000 items 2026-10-15 06:40:39 -07:00

Opened #242 Feeds that never answer 'not modified' are downloaded whole every hour 2026-10-15 06:40:39 -07:00

Opened #243 The directory re-checks every feed every six hours 2026-10-15 06:40:40 -07:00

Opened #244 Feed fetches accept only gzip 2026-10-15 06:40:41 -07:00

Opened #245 The load test's browse scenario fails without a directory 2026-10-15 06:53:48 -07:00

Opened #246 How long a list takes to show after a click is not measured 2026-10-15 07:48:08 -07:00

Opened #247 Opening a list waits for the server, with nothing to say it is loading 2026-10-15 08:11:53 -07:00

Opened #248 Currently Listening and the Directory's front page still wait for the server 2026-10-15 08:20:02 -07:00

Opened #249 Currently Listening's list takes 1.3 s to answer 2026-10-15 08:24:53 -07:00

Opened #250 /api/directory's time is mostly outside any span 2026-10-15 08:55:43 -07:00

Opened #251 The dashboard's Database connections panel looks exhausted when it is not 2026-10-15 14:25:27 -07:00

Opened #252 The Directory knows only what this server's people subscribe to 2026-10-15 19:11:34 -07:00

Opened #253 The directory sends its answers uncompressed 2026-10-16 06:54:30 -07:00

Opened #254 Signals: smart feeds picked by Jev 2026-10-16 09:40:02 -07:00

Opened #255 Signals in a folder in the sidebar, like an OPML or Patreon creator 2026-10-16 10:05:10 -07:00

Opened #256 Signals folder right under All Subscriptions, with its + on the folder's row 2026-10-16 10:36:35 -07:00

Opened #257 Signals: TypeSafe answers 422 to every Jev request 2026-10-16 10:45:39 -07:00

Opened #258 Signal unread counts go stale on the page 2026-10-16 10:51:04 -07:00

Opened #259 Signals pick out far too much: each keyword is a subject on its own 2026-10-16 11:01:57 -07:00

Opened #260 Signals judge 25 items every 5 minutes instead of going straight through the queue 2026-10-16 11:14:55 -07:00

Opened #261 A Signal's own icon, chosen from Font Awesome Free 2026-10-16 11:28:01 -07:00

Opened #262 Signal tiles all in one colour 2026-10-16 12:03:14 -07:00

Opened #263 Jev picks a Signal's icon, on the server's key 2026-10-16 12:09:06 -07:00

Opened #264 Jev is offered brand icons through their search terms: Disney Parks got the Mandalorian 2026-10-16 12:20:04 -07:00

Opened #265 No + on the Signals folder's row 2026-10-16 12:21:51 -07:00

Opened #266 A Signal with no key should link to getting one and adding it 2026-10-16 12:32:51 -07:00

Opened #267 Signals judge an image-only item by its title alone: xkcd's Ground Effect went into Formula 1 2026-10-16 12:46:54 -07:00

Opened #268 App-icon tiles for Signals and DeadAir, drawn as the logo is 2026-10-16 13:07:11 -07:00

Opened #269 The API reference on ipxreader.app has no Signals 2026-10-16 13:48:47 -07:00

Opened #270 Signals have no metrics, and failed Jev calls do not show as failed traces 2026-10-16 19:55:31 -07:00

Opened #271 Signals: an admin setting for whose TypeSafe key pays for Jev 2026-10-17 06:06:42 -07:00

Opened #272 Every artwork request scans the whole entries table: no index on entries.image 2026-10-17 06:54:27 -07:00

Opened #273 The Directory shows initials for podcasts nobody here subscribes to: their artwork is refused 2026-10-17 06:54:27 -07:00

Opened #274 The Signals judge scans the whole entries table on every pass, outside any trace 2026-10-17 06:58:32 -07:00

Opened #275 Signals call Jev one item at a time, so a new Signal takes about 20 minutes to fill 2026-10-17 06:58:32 -07:00

Opened #276 Signals: a look-back window an admin sets, a week by default, and an edit that asks again only what was picked out 2026-10-17 07:03:45 -07:00

Opened #277 Signals can outrun TypeSafe's rate limits, and a 429 is retried as any other error 2026-10-17 07:34:26 -07:00

Opened #278 Signals' metrics are not broken out by person, so the server's bill cannot be split 2026-10-17 08:23:53 -07:00

Opened #279 Artwork served without an image type is refused, so the podcast shows initials 2026-10-17 14:05:30 -07:00

Opened #280 Keep a podcast from an OPML subscription when the OPML drops it 2026-10-17 14:32:00 -07:00

Opened #281 Dependencies with known security advisories: ammonia, rustls, h2, ringbuf 2026-10-17 15:23:56 -07:00

Opened #282 ipx lists atom_syndication, quick-xml and rss but does not use them 2026-10-17 15:23:57 -07:00

Opened #283 An OPML's page lists its shows, not their items together 2026-10-18 09:17:49 -07:00

Opened #284 A feed written in Markdown shows the Markdown as text, not formatted 2026-10-18 11:01:25 -07:00

Opened #285 Switch an item between its HTML and its Markdown when a feed sends both 2026-10-18 11:17:43 -07:00

Opened #286 ipx-web's spans are all named ipx-web 2026-10-18 13:03:52 -07:00

Opened #287 A slow item list's trace does not say which list it was 2026-10-19 07:04:41 -07:00

Opened #288 Keep a feed, an OPML or a Patreon creator out of All Subscriptions 2026-10-19 07:14:55 -07:00

Opened #289 Keep a feed, an OPML or a Patreon creator out of Signals 2026-10-19 07:27:05 -07:00

Opened #290 Redesign a feed's settings dialog 2026-10-19 07:27:06 -07:00

Opened #291 A search box has no button to clear what was typed 2026-10-19 07:51:35 -07:00

Opened #292 Patreon's signed download links go to every open page and the log 2026-10-19 10:40:15 -07:00

Opened #293 Downloads folder missing for a moment makes ipx forget every downloaded file 2026-10-19 10:40:15 -07:00

Opened #294 Other people's download failures and progress show on everyone's page 2026-10-19 10:40:16 -07:00

Opened #295 A feed address that serves a large file is read whole into memory 2026-10-19 10:40:16 -07:00

Opened #296 Searching items for % or _ matches more than was typed 2026-10-19 10:40:17 -07:00

Opened #297 CLAUDE.md's test counts are out of date 2026-10-19 11:06:29 -07:00

Opened #298 An item can't be opened from the keyboard or a screen reader 2026-10-19 12:39:45 -07:00

Opened #299 Play and Delete on an item row are invisible while focused 2026-10-19 12:39:46 -07:00

Opened #300 The read toggle on an item row is named "●" 2026-10-19 12:39:47 -07:00

Opened #301 The player's seek bar has no name 2026-10-19 12:39:47 -07:00

Opened #302 Search and filter placeholders fail contrast in 20 of 25 palettes 2026-10-19 12:39:48 -07:00

Opened #303 Toasts are not announced, and error toasts vanish after six seconds 2026-10-19 12:39:49 -07:00

Opened #304 Error toasts show the browser's or server's raw text, with no next step 2026-10-19 12:39:50 -07:00

Opened #305 Text fields' borders fail 3:1 in every theme but High contrast 2026-10-19 12:39:51 -07:00

Opened #306 Dialogs are not dialogs: focus is not moved in, kept in, or given back 2026-10-19 12:49:02 -07:00

Opened #307 Fields in dialogs have labels that are not tied to them 2026-10-19 12:49:02 -07:00

Opened #308 An off switch is nearly invisible in every light theme 2026-10-19 12:49:03 -07:00

Opened #309 iPX's and the page's versions are only in a hover tooltip 2026-10-19 12:49:04 -07:00

Opened #310 Reduced motion leaves no sign that a check for new items is running 2026-10-19 16:22:19 -07:00

Opened #311 Hover styles stick on a phone after a tap 2026-10-19 16:22:19 -07:00

Opened #312 Scrolling past the end of a dialog or the phone drawer scrolls the page behind 2026-10-19 16:22:20 -07:00

Opened #313 Cover artwork has no edge, and dark covers melt into dark themes 2026-10-19 16:22:20 -07:00

Opened #314 The tab bar's corners do not nest around its tabs 2026-10-19 16:22:21 -07:00

Opened #315 The Directory's cover fan names the wrong property in will-change 2026-10-19 16:22:22 -07:00

Opened #316 A feed's page keeps showing an error after a check succeeds 2026-10-20 08:34:51 -07:00

Opened #317 WordPress.com sites answer the feed with a browser check, and the feed fails for hours 2026-10-20 08:42:36 -07:00

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

Opened #357 The Herd with Colin Cowherd no longer updates: its feed is over the 50 MB cap 2026-10-24 05:37:50 -07:00

Opened #358 A show made a feed of its own stays hidden with its OPML 2026-10-24 17:54:48 -07:00

Opened #359 Choose a font in Settings, beside the theme 2026-10-24 18:07:03 -07:00

Opened #360 An item's text runs the full width of a wide window 2026-10-24 18:38:29 -07:00

Opened #361 Two feeds' items with the same guid: the second can't be marked read 2026-10-24 18:54:22 -07:00

Opened #362 The same feed can be subscribed twice, over http and https 2026-10-24 18:56:32 -07:00

Opened #363 The logs repeat what metrics and the line itself already say 2026-10-25 08:00:01 -07:00

Opened #364 Every API request is logged three times, and ipx has no request metric to stand in for its line 2026-10-25 08:07:48 -07:00

Opened #365 Nothing alerts when ipx goes wrong 2026-10-25 08:56:23 -07:00

Opened #366 Prometheus does not scrape the monitoring itself 2026-10-25 08:56:24 -07:00

Opened #367 How long a request waits for a database connection, and queries take, is not measured 2026-10-25 08:56:24 -07:00

Opened #368 Feed failures, new items, downloads and DeadAir's savings are counted only from the log 2026-10-25 08:56:25 -07:00

Opened #369 The page's timings are only log lines 2026-10-25 08:56:26 -07:00

Opened #370 The directory's requests, feed checks and snapshots have no metrics 2026-10-25 08:56:26 -07:00

Opened #371 ipx-web publishes no metrics 2026-10-25 08:56:27 -07:00

Opened #372 Syncing an OPML or Patreon list has no spans inside it 2026-10-25 08:56:27 -07:00

Opened #373 Commands on the control socket are not traced 2026-10-25 08:56:28 -07:00

Opened #374 Start-up is not traced 2026-10-25 08:56:28 -07:00

Opened #375 The directory's log lines carry no trace id 2026-10-25 08:56:29 -07:00

Opened #376 A tap in the page sends no span of its own 2026-10-25 08:56:30 -07:00

Opened #377 Syncing a list asks for every account, and its subscription to the list, once per listed feed 2026-10-25 09:02:07 -07:00

Opened #378 The page overflows its stack reporting a tap 2026-10-25 18:47:10 -07:00

Opened #379 A tap's span runs on to requests it did not set off 2026-10-25 19:00:04 -07:00

Opened #380 The directory has no robots.txt or sitemap 2026-10-25 19:12:13 -07:00

Opened #381 ipx-web logs a deprecation warning at every start 2026-10-25 19:12:13 -07:00

Opened #382 YouTube channels fail most days with a 404 or 500 that a second request does not get 2026-11-04 08:43:52 -08:00

Opened #383 After a long session on the phone the reader stops scrolling and swiping 2026-11-04 12:26:53 -08:00

Opened #384 Swipes and a reader that will not scroll leave no trace 2026-11-04 12:41:16 -08:00

Opened #385 On the Unread tab the page thinks there is more to load once its items are read 2026-11-04 12:58:01 -08:00

Opened #386 YouTube channels still miss most days after the retry in #382 2026-11-06 15:30:27 -08:00

Opened #387 prod-check's traces hide whose a trace is and an event's error 2026-11-06 15:44:41 -08:00

Opened #388 An open page keeps running the old version after ipx-web is deployed 2026-11-06 16:00:15 -08:00

Opened #389 iPX does not open or read without a connection 2026-11-06 16:42:08 -08:00

Opened #390 Nothing measures how much of the code the tests run 2026-11-06 17:30:29 -08:00

Opened #391 The offline code is untested where it clears for a new account, queues a position and trims pictures 2026-11-06 17:30:30 -08:00

Opened #392 Tests, tooling and two served scripts are still JavaScript 2026-11-06 17:57:45 -08:00

Opened #393 No test signs in with the sign-in form 2026-11-06 19:12:53 -08:00

Opened #394 The API's coverage is not measured, and coverage is nowhere to be seen over time 2026-11-06 19:19:24 -08:00

Opened #395 No browser test opens the directory's public pages 2026-11-06 19:40:02 -08:00

Opened #396 Tests: removing old and over-quota downloads 2026-11-06 19:51:40 -08:00

Opened #397 Tests: torrents 2026-11-06 19:51:40 -08:00

Opened #398 Tests: Signals' judging, pacing and icons 2026-11-06 19:51:41 -08:00

Opened #399 Tests: Cloudflare Access sign-in, the sign-in rate limit and account settings 2026-11-06 19:51:42 -08:00

Opened #400 Tests: the daemon's start, shutdown and the CLI talking to it 2026-11-06 19:51:42 -08:00

Opened #401 Tests: feeds that move, WordPress.com, Patreon and the catalogue 2026-11-06 19:51:43 -08:00

Opened #402 Tests: the directory's background work 2026-11-06 19:51:43 -08:00

Opened #403 Tests: the log's fields and the metrics Grafana reads 2026-11-06 19:51:44 -08:00

Opened #404 Tests: the page's live updates 2026-11-06 19:51:45 -08:00

Opened #405 Tests: the Directory inside the app 2026-11-06 19:51:45 -08:00

Opened #406 Tests: the page's dialogs, keyboard and player 2026-11-06 19:51:46 -08:00

Opened #407 Coverage: what the measurements leave out 2026-11-06 19:51:46 -08:00

Opened #408 Log lines lose their trace ids under a scoped subscriber 2026-11-06 20:02:14 -08:00

Opened #409 No limit on wrong passwords for one name or address 2026-11-06 20:10:29 -08:00

Opened #410 A download stopped by a restart waits for its feed's next check 2026-11-06 20:24:01 -08:00

Opened #411 Production log lines lost their trace ids after ba18b44 2026-11-07 05:40:53 -08:00

Opened #412 Episodes cannot be kept on the device to listen offline 2026-11-07 07:16:01 -08:00

Opened #413 Item lists don't show which episodes are kept on the device 2026-11-07 08:50:23 -08:00

Opened #414 Redesign the admin page 2026-11-07 08:54:25 -08:00

Opened #415 A Signal's new hits test fails in the full browser suite, passes alone 2026-11-07 09:16:25 -08:00

Opened #416 Two Refresh buttons on a list on a phone 2026-11-07 09:16:25 -08:00

Opened #417 The search box's placeholder is cut off on a phone 2026-11-07 09:28:20 -08:00

Opened #418 An iOS app: the page in a web view, with the phone's own player 2026-11-07 13:47:12 -08:00

Opened #419 iOS: native API client, credentials in the keychain 2026-11-08 10:06:53 -08:00

Opened #420 iOS: CarPlay audio 2026-11-08 10:06:54 -08:00

Opened #421 iOS: unread badge on the app icon 2026-11-08 10:44:59 -08:00

Opened #422 A service token's secret was committed in ios/.envrc 2026-11-08 11:12:55 -08:00

Opened #423 Admin page: the back button sits under the status bar in the iOS app 2026-11-08 11:18:43 -08:00

Opened #424 Status line at the bottom looks odd against the phone's rounded corners 2026-11-08 11:24:59 -08:00

Opened #425 iOS: episodes kept on the device, played offline 2026-11-08 11:34:26 -08:00

Opened #426 iOS: share extension, Add to iPX 2026-11-08 11:34:27 -08:00

Opened #427 iOS: Siri and Shortcuts (App Intents) 2026-11-08 11:34:28 -08:00

Opened #428 iOS: home screen widget, unread and where you left off 2026-11-08 11:34:29 -08:00

Opened #429 iOS: sleep timer and AirPlay route picker 2026-11-08 11:34:29 -08:00

Opened #430 iOS: haptics on play, pause and mark read 2026-11-08 11:34:30 -08:00

Opened #431 iOS: Spotlight search of episodes 2026-11-08 11:34:31 -08:00

Opened #432 iOS: universal links on ipxreader.app 2026-11-08 11:34:31 -08:00

Opened #433 iOS: push notifications for new episodes, and an exact badge 2026-11-08 11:34:32 -08:00

Opened #434 iOS: check the layout on iPad 2026-11-08 11:34:33 -08:00

Opened #435 iOS: the page itself offline (App-Bound Domains, so the service worker runs) 2026-11-08 11:39:09 -08:00

Opened #436 Admin page: an error toast throws, haptic is not defined 2026-11-08 15:59:52 -08:00

Opened #437 A terminal reader 2026-11-08 19:04:36 -08:00

Opened #438 Image builds compile every dependency again on any Cargo.lock change 2026-11-09 05:58:10 -08:00

Opened #439 Terminal reader: play an item's file 2026-11-09 08:04:40 -08:00

Opened #440 Terminal reader: feeds grouped and pinned as on the page 2026-11-09 09:58:55 -08:00

Opened #441 Terminal reader: moving onto an item marks it read 2026-11-09 10:04:18 -08:00

Opened #442 iOS CarPlay to app handoff issues 2026-11-11 05:48:11 -08:00

Opened #443 iOS CarPlay lists feeds without podcasts 2026-11-11 06:10:45 -08:00

Opened #444 native-bridge test: the CarPlay checks run after the failure count is read 2026-11-11 15:06:55 -08:00

Opened #445 iOS: the app's settings in Settings, not behind a shake 2026-11-13 05:36:17 -08:00

Opened #446 iOS: redesign the widgets 2026-11-13 05:44:00 -08:00

Opened #447 Share an episode as a page, as Overcast does 2026-11-13 06:11:55 -08:00

Opened #448 Artwork that can never be shown is downloaded again every hour 2026-11-13 06:26:02 -08:00

Opened #449 Page error: the sleep timer's control missing when the script ran 2026-11-13 06:26:02 -08:00

Opened #450 The reader would not scroll twice this week, on a Hacker News item 2026-11-13 06:26:03 -08:00

Opened #451 The ipx-play image does not build: web/logo-dark.svg is not copied in 2026-11-13 06:30:23 -08:00

Opened #452 Share does nothing in the iOS app on an episode of a private feed 2026-11-13 08:53:25 -08:00

Opened #453 iOS app: confirm() in the page always answers Cancel 2026-11-13 08:53:26 -08:00

Opened #454 Share does not say why an episode gets no play link 2026-11-13 09:25:09 -08:00

Opened #455 Share on a paid episode's file hands over a link signed for you 2026-11-13 09:33:22 -08:00

Opened #456 Phone reader: back and the item's actions float over the text 2026-11-13 09:43:31 -08:00

Opened #457 One place to get an episode's file where you are 2026-11-13 10:29:43 -08:00

Opened #458 ipx-play has no metrics and no place on the dashboard 2026-11-13 14:14:26 -08:00