-
d238681ec1
Name an item without a title from its own text, not "(untitled)" (#116)
main
rays
2026-10-02 20:46:47 +00:00
-
0395717c14
Put the bytecode cache's ignore line on a line of its own
rays
2026-10-02 20:27:19 +00:00
-
8ce68a881a
Ignore Python's bytecode cache from the prod-check script
rays
2026-10-02 20:27:07 +00:00
-
e7c59489ee
Announce a followed move as a feed_moved event (#115)
rays
2026-10-02 20:22:28 +00:00
-
f7f4b466dc
Follow a feed that has moved for good to its new address (#115)
rays
2026-10-02 20:05:43 +00:00
-
ec8fd5dd86
Sleep until the next feed is due instead of scanning every minute (#114)
rays
2026-10-02 19:56:13 +00:00
-
a387012c69
Count as queued only what a scan will download on its own (#113)
rays
2026-10-02 19:47:52 +00:00
-
a00516687a
Keep artwork on disk and serve every image from iPX (#111)
rays
2026-10-02 13:50:46 +00:00
-
38ebc7b02b
Move old items' http artwork to https too, for hosts the feed no longer names (#110)
rays
2026-10-02 13:35:51 +00:00
-
54d827f655
Time out a hung feed, serve the precomposed touch icon, and store http artwork on https (#108, #109, #110)
rays
2026-10-02 13:31:50 +00:00
-
e2593eaa50
Put a pinned feed's pin on the corner of its artwork
rays
2026-09-29 21:23:40 +00:00
-
d52ecfcbd7
A listed feed nobody subscribes to downloads nothing (#107)
rays
2026-09-29 21:20:09 +00:00
-
142610e8b8
ipx add --list or --category updates a feed the catalogue already has (#107)
rays
2026-09-29 21:17:49 +00:00
-
43acc62259
List feeds in the Directory before anyone subscribes, and clear out dead ones (#107)
rays
2026-09-29 21:13:13 +00:00
-
65fdab8b13
Between releases, the version says a release is in progress: 0.9.2-dev
rays
2026-09-29 20:52:00 +00:00
-
4d312a87ec
Release 0.9.1
v0.9.1
rays
2026-09-29 20:48:16 +00:00
-
ef5bdb4244
Say what guards the web UI, and warn only without Cloudflare Access (#106)
rays
2026-09-29 20:46:43 +00:00
-
c7f13eea2f
Send a changed feed's row to the page instead of it reloading the list (#105)
rays
2026-09-29 20:41:43 +00:00
-
7a134b810f
Fetch feeds six ahead in a scan; reload the list only after a scan that checked something (#103, #104)
rays
2026-09-29 20:27:51 +00:00
-
79bc006a30
Add only what is a feed or links one; refuse the rest (#102)
rays
2026-09-29 20:06:04 +00:00
-
9084b61bb6
Read an address typed without a scheme as https (#101)
rays
2026-09-29 19:46:10 +00:00
-
0cc956b7c6
Forget a failing feed once nobody subscribes to it (#100)
rays
2026-09-29 19:40:18 +00:00
-
db87bc0f42
Back off a failing feed exponentially, up to a day (#99)
rays
2026-09-29 19:33:57 +00:00
-
527777efdf
A download limit means a show's newest episodes, not a pace (#97)
rays
2026-09-29 18:50:11 +00:00
-
4a26c73b82
Clamp an unlimited download queue's LIMIT for Postgres (#98)
rays
2026-09-29 18:37:39 +00:00
-
98ed9b6498
ignore local claude settings
rays
2026-09-29 18:26:33 +00:00
-
57ab419718
Insert only a feed's new items and files on a scan (#96)
rays
2026-09-29 17:40:52 +00:00
-
2799704d30
Look at a feed's artwork only when it may have changed, and trace a scan's database work (#95, #96)
rays
2026-09-29 17:27:31 +00:00
-
e8fd3fe9ed
Load the feed list in five queries, not six per feed (#94)
rays
2026-09-29 17:24:09 +00:00
-
448e557272
Trace ids, failure kinds and one line per event in the JSON log (#91)
rays
2026-09-29 16:25:53 +00:00
-
36b16c7f5d
Fetch artwork offered only over http for the https page (#90)
rays
2026-09-29 16:19:06 +00:00
-
928cbaf8f4
Show each feed's id labelled in ipx list (#82)
rays
2026-09-29 16:16:25 +00:00
-
0945f3a9f4
Remove ipx copy-db (#85)
rays
2026-09-29 16:15:51 +00:00
-
e9f2832e1e
Show a failing feed on its artwork, in words, and grey (#93)
rays
2026-09-29 15:17:46 +00:00
-
d4e00be085
A feed's own artwork has to be there before it is used (#89)
rays
2026-09-29 14:11:16 +00:00
-
66e40e3c71
A skill for checking production from Loki and Tempo
rays
2026-09-29 14:07:24 +00:00
-
4f8b3d6a1d
Log as JSON when IPX_LOG_FORMAT=json (#91)
rays
2026-09-29 13:55:50 +00:00
-
8ce0a4cb27
A Grafana dashboard for iPX
rays
2026-09-29 13:38:29 +00:00
-
549ae33f06
Keep test daemons out of production's traces and database (#87)
rays
2026-09-29 13:35:43 +00:00
-
9e7c93e149
Name request traces by route, and no colour codes off a terminal (#87, #88)
rays
2026-09-29 13:33:11 +00:00
-
1724346da7
Send OpenTelemetry traces over OTLP (#87)
rays
2026-09-29 13:22:45 +00:00
-
8c5eddd783
Drop the start-up pass that folds files WordPress listed twice (#83)
rays
2026-09-29 13:12:10 +00:00
-
469467bf04
A site icon is looked up again when the feed is read in full (#80)
rays
2026-09-29 12:51:19 +00:00
-
95a8633877
A site icon that is missing is not used (#79)
rays
2026-09-29 12:41:57 +00:00
-
00f6293b95
The refresh button turns while its feed is checked (#78)
rays
2026-09-28 23:50:41 +00:00
-
bae22e553e
A refresh someone asks for reads the feeds in full (#77)
rays
2026-09-28 23:47:08 +00:00
-
7d55d99fac
A feed's refresh button looks like its neighbours (#76)
rays
2026-09-28 23:42:58 +00:00
-
a5de4ae06c
Toggle state in the icon's shape, not the theme's colours (#74)
rays
2026-09-28 23:38:59 +00:00
-
4ed2d59311
Toggles show their state the same way everywhere (#74, #75)
rays
2026-09-28 23:36:23 +00:00
-
2004da3459
Feeds from before site icons get one, without waiting for a post (#73)
rays
2026-09-28 23:27:00 +00:00
-
c6980c355d
Adding a site's address subscribes to the feed it links (#71, #72)
rays
2026-09-28 23:21:23 +00:00
-
ce221cee18
A feed with no artwork takes its site's icon (#70)
rays
2026-09-28 23:18:46 +00:00
-
f57f824535
Each browser keeps its own theme, in a cookie (#69)
rays
2026-09-28 20:27:20 +00:00
-
7490a3a9ac
A spinner after pulling to refresh (#68)
rays
2026-09-28 20:23:31 +00:00
-
5be629427a
/api/status, for Homepage's dashboard (#67)
rays
2026-09-28 19:10:05 +00:00
-
bf785299b0
No logo in the phone's top bar (#66)
rays
2026-09-28 18:53:34 +00:00
-
5967aa1e57
Drop Outline from the SSO notes; it is gone
rays
2026-09-28 18:21:39 +00:00
-
9e238bfc75
Say in the SSO notes that Authentik's tile cache needs clearing after an edit
rays
2026-09-28 18:20:14 +00:00
-
10b7ccd424
Name the Authentik tile iPX in the SSO notes
rays
2026-09-28 18:18:32 +00:00
-
d8db785681
The tab's icon follows light and dark mode (#64)
rays
2026-09-28 18:12:11 +00:00
-
f9c9c2b7cc
Modern in the logo's colours, and the logo in the page's mode (#63)
rays
2026-09-28 18:05:44 +00:00
-
3cb36ab8b7
Between releases, the version says a release is in progress (#62)
rays
2026-09-28 17:54:26 +00:00
-
65b5eacdb4
Settings no longer shows the server's download folder (#61)
rays
2026-09-28 17:49:54 +00:00
-
4769a2ebe1
The logo beside the add-feed button, with the version on hover (#60)
rays
2026-09-28 17:45:35 +00:00
-
70e0341348
A more vivid orange for the logo's needle (#59)
rays
2026-09-28 17:32:07 +00:00
-
e16dace9c0
On the Unread tab, a swipe back goes to the item just read (#50)
rays
2026-09-28 15:36:29 +00:00
-
9f56436033
Release 0.9.0
v0.9.0
rays
2026-09-28 14:42:21 +00:00
-
ae900b82ca
Name the icons by their contents in the pages (#57)
rays
2026-09-28 14:11:03 +00:00
-
40c92ad08d
Rename iPodderX to iPX (#56)
rays
2026-09-28 13:57:02 +00:00
-
7796566dfc
A logo drawn from the radio's screen, to app icon guidelines (#55)
rays
2026-09-28 13:31:16 +00:00
-
162665b010
Phone layout drawn the way iOS draws its apps (#53), clear of the Dynamic Island (#54)
rays
2026-09-27 13:48:15 +00:00
-
f2fde8cc75
Swipe between items like turning pages (#52)
rays
2026-09-26 23:46:07 +00:00
-
a573a07ed5
Glass panels catch the light at their edges (#51)
rays
2026-09-26 23:25:24 +00:00
-
380a552913
Share a feed, an item or a file (#48)
rays
2026-09-25 13:17:52 +00:00
-
bdda9b3d2e
Block lists: words that hide items and keep them from downloading (#47)
rays
2026-09-25 13:13:03 +00:00
-
868dd673f3
Swipes take a longer drag and slide the reader across (#49)
rays
2026-09-25 13:04:30 +00:00
-
2930be37ad
Release 0.8.4
v0.8.4
rays
2026-09-19 23:29:10 +00:00
-
f9225f0d21
Keep the bottom bar clear of the home indicator (#46)
Ray Slakinski
2026-09-19 19:10:39 -04:00
-
9d1492b388
Hand playback to a native shell (#45)
Ray Slakinski
2026-09-19 18:49:43 -04:00
-
ad15ae3dfe
Glass theme, after Apple's Liquid Glass (#43)
rays
2026-09-19 20:45:01 +00:00
-
aedbe89654
CLAUDE.md: the tea example uses the token issue's real number, #40
rays
2026-09-19 15:16:33 +00:00
-
321c9e014e
CLAUDE.md: run tea with a closed stdin and a timeout (#39)
rays
2026-09-19 15:15:52 +00:00
-
73092e6ad7
Stop a hand-run daemon by its PID, not pkill -x ipx (#38)
rays
2026-09-19 15:12:08 +00:00
-
1a3c8a6d4f
CLAUDE.md: every problem found gets a Gitea issue, closed with a comment once fixed
rays
2026-09-19 15:11:47 +00:00
-
b81d44cfb6
docs/sso.md: production checks Cloudflare's token
rays
2026-09-19 15:00:19 +00:00
-
8223cd4445
Release 0.8.3
v0.8.3
rays
2026-09-19 14:49:35 +00:00
-
c1187a7926
Verify Cloudflare Access's signed token before trusting the proxy
rays
2026-09-19 14:38:25 +00:00
-
f1f605e180
Keep a Substack subtitle above the post
rays
2026-09-19 14:29:50 +00:00
-
3625cf48fb
Keep the web token out of the startup log
rays
2026-09-19 14:27:06 +00:00
-
680b5d4773
Release 0.8.2
v0.8.2
rays
2026-09-19 02:34:13 +00:00
-
84e4b428e4
List the themes in alphabetical order
rays
2026-09-19 02:33:40 +00:00
-
768d02c840
Catppuccin, Gruvbox, Solarized and High contrast themes
rays
2026-09-19 02:24:56 +00:00
-
b5ff57ac0f
Release 0.8.1
v0.8.1
rays
2026-09-19 02:13:06 +00:00
-
35b57fa997
Settings and the shortcuts list close from the corner
rays
2026-09-19 01:45:02 +00:00
-
43ffafe7ac
A UI pass: contrast in every theme, and a sign-in page that fits
rays
2026-09-19 01:37:21 +00:00
-
45cbd3a239
The scan spinner takes the unread count's place
rays
2026-09-19 01:21:49 +00:00
-
905dfa0b02
A spinner on the feed being checked, not toasts; check only your own feeds
rays
2026-09-19 01:17:40 +00:00
-
5f6bdbfbcb
Release 0.8.0
v0.8.0
rays
2026-09-18 22:31:56 +00:00
-
8849ba6bef
Merge config-db: the feed catalogue and server settings in the database (#18)
rays
2026-09-18 22:29:16 +00:00
-
-
1cafd8d6e3
Keep the feed catalogue and server settings in the database
rays
2026-09-18 22:28:49 +00:00
-