Commit Graph

  • 62f8451700 Changelog: log lines' target names their module since the split (#356) main rays 2026-10-24 01:57:04 +00:00
  • 00eb75472c prod-check: start-up and account lines log under their module now (#356) rays 2026-10-24 01:54:08 +00:00
  • ecff2f8dcc The directory's lib.rs splits into leaf modules (#356) rays 2026-10-24 01:48:05 +00:00
  • ff5d786602 ipx-feed's lib.rs splits into leaf modules (#356) rays 2026-10-24 01:41:14 +00:00
  • 4f4fd4c3fe ipx's main.rs splits into leaf modules (#356) rays 2026-10-24 01:35:24 +00:00
  • f22c1993b1 Import type names instead of writing their paths (#355) rays 2026-10-24 01:19:10 +00:00
  • d33d83043d Doc comments on ipx-feed's and ipx-directory's public items (#354) rays 2026-10-24 01:12:14 +00:00
  • 41affc8d8e Follow the Rust style guide's smaller rules (#353) rays 2026-10-24 01:07:09 +00:00
  • 59c7f5f213 Back to -dev after ipx 1.5.0, ipx-directory 1.4.0 and ipx-web 1.3.0 rays 2026-10-23 16:48:48 +00:00
  • 0be8eb5cdf ipx 1.5.0, ipx-directory 1.4.0 and ipx-web 1.3.0 web-v1.3.0 v1.5.0 directory-v1.4.0 rays 2026-10-23 16:41:57 +00:00
  • e1291c1627 Count unread feed by feed (#352) rays 2026-10-23 16:14:36 +00:00
  • a11e3b6367 Unread lists start from each person's oldest unread item (#347) rays 2026-10-23 16:04:32 +00:00
  • cb4ee5a570 Kept artwork off the async threads, and one fetch per missing image (#345 #349) rays 2026-10-23 15:33:41 +00:00
  • c4878731c6 Count a Signal's items and unread in one pass (#348) rays 2026-10-23 15:30:30 +00:00
  • 21fa0ae476 Run the item page's count and the feed list's queries together (#346) rays 2026-10-23 15:28:09 +00:00
  • aa430f6d50 A page's files are looked up by feed and item, not item alone (#344) rays 2026-10-23 15:24:29 +00:00
  • df643536c0 ipx-web drops the header TRUSTED_HEADER names from anyone but the tunnel (#323) rays 2026-10-23 15:20:55 +00:00
  • 543d35f02c A snapshot's subscriber counts are bounded above (#342) rays 2026-10-23 15:17:43 +00:00
  • 0de0fb4332 Bound icon picks per person, and keep people's Signals apart (#340 #343) rays 2026-10-23 15:13:02 +00:00
  • 79b496bdfb A password check holds its turn until it finishes (#324) rays 2026-10-23 15:03:19 +00:00
  • a20fade8ad OPML uploads are capped at 2,000 feeds and checked by address once (#338) rays 2026-10-23 15:00:29 +00:00
  • daf95a25cd Only a subscriber or an admin marks a feed private (#333) rays 2026-10-23 14:56:36 +00:00
  • 91de1114d8 Live updates go to those who read the feed, while their account exists (#325 #335) rays 2026-10-23 14:51:12 +00:00
  • 37c08195f1 A new password signs the account out everywhere (#334) rays 2026-10-23 14:45:41 +00:00
  • d1149e1236 Requests that change something are refused from another site (#336) rays 2026-10-23 14:33:39 +00:00
  • 46fe0dddbf directory.toml's fetch_internal lets the refresher reach listed addresses (#329) rays 2026-10-23 14:33:30 +00:00
  • d35b8054b4 Bound the scan work one feed's author can ask for (#339 #337) rays 2026-10-23 14:18:32 +00:00
  • 3bfd8f848b The directory's refresher refuses internal addresses (#329) rays 2026-10-23 14:10:32 +00:00
  • fc04a741a6 The directory's public pages read the list once a minute (#341) rays 2026-10-23 14:06:19 +00:00
  • 80f12cda70 A feed's credentials go to its own host alone (#327 #328) rays 2026-10-23 14:02:10 +00:00
  • 4f7dab9c04 A kept show keeps its list's private mark and credentials (#332) rays 2026-10-23 13:59:02 +00:00
  • cc3b8742bc The first admin gets a random password, not admin / ipodderx (#321) rays 2026-10-23 13:55:34 +00:00
  • c99f481124 Update rustls-webpki, webpki-roots and ctutils for three advisories (#351) rays 2026-10-23 13:43:09 +00:00
  • a20062d0f7 Fetches refuse internal addresses unless fetch_internal lists them (#320) rays 2026-10-23 13:27:40 +00:00
  • 6d71613e19 ipx fetches a .torrent itself, capped at 10 MB (#330) rays 2026-10-23 13:15:17 +00:00
  • f398211fd6 OPML nested past 100 levels is refused before it is parsed (#322) rays 2026-10-23 13:11:21 +00:00
  • 708b69c083 Feed links are followed only when they are web addresses (#326) rays 2026-10-23 13:07:47 +00:00
  • 62a2456dde Downloads open in the browser only when they cannot run script (#319) rays 2026-10-23 13:01:00 +00:00
  • ec3dedf113 Torrents download into a folder of their own (#318 #331) rays 2026-10-23 12:55:35 +00:00
  • 511246acb2 More step spans where flame graphs showed time with nothing under it (#350) rays 2026-10-23 12:45:58 +00:00
  • ccc4766b03 query.py: flame graphs from traces rays 2026-10-23 12:41:12 +00:00
  • 78b81e43aa CLAUDE.md: the style guide path is /src/styleguide, not sytleguide rays 2026-10-23 12:14:06 +00:00
  • 4af12363bc Read a WordPress.com site's posts from its API when the feed is behind a browser check (#317) rays 2026-10-23 12:06:22 +00:00
  • 84b4203daf A feed's page follows its row after a check (#316) rays 2026-10-20 15:37:19 +00:00
  • 0696583547 Reduced motion, touch hover, overscroll and artwork edges (#310 #311 #312 #313 #314 #315) rays 2026-10-20 15:16:41 +00:00
  • 6ec2c35291 Keyboard, screen reader and contrast fixes from the interface review (#298 #299 #300 #301 #302 #303 #304 #305 #306 #307 #308 #309) rays 2026-10-19 20:12:34 +00:00
  • c8afcec73d Back to -dev after ipx 1.4.0, ipx-directory 1.3.0 and ipx-web 1.2.0 rays 2026-10-19 18:46:58 +00:00
  • 5bad68670a Release ipx 1.4.0, ipx-directory 1.3.0 and ipx-web 1.2.0 web-v1.2.0 v1.4.0 directory-v1.3.0 rays 2026-10-19 18:40:00 +00:00
  • d87d024096 CLAUDE.md: no test counts to go stale (#297) rays 2026-10-19 18:13:01 +00:00
  • 44afc08b9d Search treats % and _ as themselves (#296) rays 2026-10-19 18:12:58 +00:00
  • a21472730e A feed is read up to 50 MB (#295) rays 2026-10-19 18:12:55 +00:00
  • 995ee05557 Others' downloads stay off your page (#294) rays 2026-10-19 18:12:55 +00:00
  • 7af6153d18 A clean-up with the downloads folder gone forgets no file (#293) rays 2026-10-19 18:12:52 +00:00
  • c1d8983ca1 Download addresses lose their query before they go out (#292) rays 2026-10-19 18:12:48 +00:00
  • 4c1b78408f An x in a search box clears it (#291) rays 2026-10-19 14:55:25 +00:00
  • d850c02501 DeadAir's pause slider without its heading (#290) rays 2026-10-19 14:51:33 +00:00
  • 363a5a122d A feed's address stays at the top of its settings (#290) rays 2026-10-19 14:43:27 +00:00
  • 3d9b45ddd7 Changelog: the redesign under the existing Changed (#290) rays 2026-10-19 14:38:22 +00:00
  • b54b47897b Keep a feed out of Signals, and a feed's settings in named parts (#289, #290) rays 2026-10-19 14:37:49 +00:00
  • b89c371662 Keep a feed, an OPML or a Patreon creator out of All Subscriptions (#288) rays 2026-10-19 14:19:54 +00:00
  • 6daab6989e A list's trace says which list it was (#287) rays 2026-10-19 14:05:50 +00:00
  • 187729a278 ipx-web's spans are named for the request (#286) rays 2026-10-18 20:04:10 +00:00
  • 3df7c974e8 prod check: slow requests as spans, with their route, laid beside Tower's load rays 2026-10-18 18:59:20 +00:00
  • 59aa00e07c Checks and tests run for the part a change is in rays 2026-10-18 18:50:58 +00:00
  • b4c0048f68 The HTML and Markdown choice drops the Markdown source view (#285) rays 2026-10-18 18:45:18 +00:00
  • d5ffe5d042 Switch an item between its HTML and its Markdown (#285) rays 2026-10-18 18:39:16 +00:00
  • d16460267f Changelog: #284 reaches stored items too, on the feed's next whole read rays 2026-10-18 18:33:32 +00:00
  • 21c786f48a Artwork without a scan of entries, and the Directory's artwork let through (#272, #273) rays 2026-10-18 18:31:20 +00:00
  • 3a8d564eb7 Items written in Markdown show formatted (#284) rays 2026-10-18 18:05:05 +00:00
  • f9246129f2 rustfmt on every edit, clippy before every commit touching Rust rays 2026-10-18 17:55:33 +00:00
  • 5cf7a28c44 An OPML's page lists its shows' items together, not the shows (#283) rays 2026-10-18 17:41:38 +00:00
  • ac3808fe97 Build with line tables only: a test build no longer runs Tower out of memory rays 2026-10-18 17:41:38 +00:00
  • 341d880e13 cargo-deny and cargo-machete: four advisories fixed, three unused dependencies gone (#281, #282) rays 2026-10-17 22:29:01 +00:00
  • cb4407b19d CLAUDE.md: the containers resolve through 1.1.1.1, not NextDNS rays 2026-10-17 22:07:56 +00:00
  • 7f61250852 Keep is a button on the show's page, a plus, not a switch in its settings (#280) rays 2026-10-17 22:02:55 +00:00
  • c90a66a24f Clippy clean, and rustfmt and clippy part of the checks rays 2026-10-17 21:59:37 +00:00
  • 692a510217 Format the Rust code with rustfmt rays 2026-10-17 21:55:41 +00:00
  • 2c4ba7896e Keep a show from an OPML when the OPML drops it (#280) rays 2026-10-17 21:37:01 +00:00
  • 36a820f283 Artwork without an image type is known by its first bytes (#279) rays 2026-10-17 21:26:01 +00:00
  • 41fc2e3933 Dashboard: per-person Signals panels leave out counts from before #278 rays 2026-10-17 15:31:02 +00:00
  • 4eba746ba4 Signals' metrics by person and whose key paid (#278) rays 2026-10-17 15:26:50 +00:00
  • ce78599ab4 Signals: calls to TypeSafe paced under its rate limits, a 429 honoured, and the wait traced, counted and drawn (#277) rays 2026-10-17 14:38:20 +00:00
  • 5130f754cc Analyse entries once when entries_recent has no statistics (#274) rays 2026-10-17 14:17:56 +00:00
  • 2077ea5810 Signals: index the judge's query, six calls at once, one call per item on the server's key, tokens counted, a week's look-back an admin sets, edits that ask again only what was picked out (#274, #275, #276) rays 2026-10-17 14:13:25 +00:00
  • 026fbd1622 Docs and site: who pays for Signals, and Signals in the API reference (#271, #269) rays 2026-10-17 13:40:09 +00:00
  • 1aef6ba421 Browser suite: the server's TypeSafe key is the shell's, and Signals' tests run only when Signals change (#271) rays 2026-10-17 13:27:41 +00:00
  • 9a41641eaa Signals: an admin chooses whether the server's TypeSafe key pays for everyone (#271) rays 2026-10-17 13:18:03 +00:00
  • 33eb1f4db2 Signals in /metrics and on the dashboard; failed Jev calls are failed spans (#270) rays 2026-10-17 02:55:37 +00:00
  • 3b48f51a56 Home page: the Signals key sentence in the owner's words (#254) rays 2026-10-16 21:15:04 +00:00
  • 55b0192df5 Home page: the Signals key sentence reads plainly (#254) rays 2026-10-16 21:08:21 +00:00
  • e07d27d9f2 Home page: no account section, and its screenshot gone (#216) rays 2026-10-16 21:06:44 +00:00
  • 3532710b3d Home page: no What it does heading; Signals and DeadAir copy in the radio's voice (#216, #254) rays 2026-10-16 21:04:24 +00:00
  • b56c97259d Home page: the features zigzag, each picture centred in its column (#216) rays 2026-10-16 21:00:24 +00:00
  • 1025416181 Home page: a screenshot for Signals in place of the drawing (#254) rays 2026-10-16 20:53:49 +00:00
  • 894e5e4711 Home page: the noise bars' widths in the stylesheet (#254) rays 2026-10-16 20:48:14 +00:00
  • 0e21195e8d Versions after ipx 1.3.0, ipx-web 1.1.0 and ipx-directory 1.2.0: -dev rays 2026-10-16 20:44:32 +00:00
  • 3b41abd860 Home page: a section on Signals (#254) rays 2026-10-16 20:37:34 +00:00
  • 47ad68c7da Release ipx 1.3.0, ipx-web 1.1.0 and ipx-directory 1.2.0 web-v1.1.0 v1.3.0 directory-v1.2.0 rays 2026-10-16 20:37:33 +00:00
  • ae58e4653a Signals in the theme's accent tint again (#268) rays 2026-10-16 20:24:18 +00:00
  • dc3ee016db Signals back on the accent tint, their icon or initials in orange (#268) rays 2026-10-16 20:21:44 +00:00