<feed xmlns='http://www.w3.org/2005/Atom'>
<title>lectio.git/internal/liturgy/fetch_test.go, branch v0.45.1</title>
<subtitle>offline Catholic daily readings and liturgical calendar in Go, with CLI, TUI and web clients</subtitle>
<id>https://git.labunix.xyz/lectio.git/atom?h=v0.45.1</id>
<link rel='self' href='https://git.labunix.xyz/lectio.git/atom?h=v0.45.1'/>
<link rel='alternate' type='text/html' href='https://git.labunix.xyz/lectio.git/'/>
<updated>2026-07-28T10:50:31Z</updated>
<entry>
<title>refactor: remove the niedziela/missalemeum scrapers, bt, traditional_lang</title>
<updated>2026-07-28T10:50:31Z</updated>
<author>
<name>Lukasz Kasprzak</name>
<email>lukas@labunix.xyz</email>
</author>
<published>2026-07-28T10:50:31Z</published>
<link rel='alternate' type='text/html' href='https://git.labunix.xyz/lectio.git/commit/?id=7b220084cf3951c8cde0582efdfcf628afc64336'/>
<id>urn:sha1:7b220084cf3951c8cde0582efdfcf628afc64336</id>
<content type='text'>
The daily view now computes entirely offline (previous commit), so retire the
network path and everything that served it:

- Delete internal/tradlit (missalemeum) and the niedziela scraper from
  internal/liturgy (fetch/store/parse + fixtures); keep Section, DayInfo and
  ExtractCitation.
- Remove the "bt" version everywhere (render gatherBT + branches, config,
  i18n, web form, TUI) and bible.ToEnglishRef (Polish citation converter).
  A legacy config carrying "bt" migrates to "wuj" on load (config.migrateBT).
- Remove the traditional_lang config field and the -g/--lang flag from all
  three binaries.
- Drop the now-dead flags -R/--refresh, -o/--offline, -u/--update,
  -C/--clean and the harvest/clean commands.
- New defaults: versions = wuj,vul,grb,drb; default_version = vul.

Update the README (offline-by-design, no harvest/update), help text, and
stale niedziela/bt doc comments. Tests updated for the offline reality;
go test ./... and go vet ./... are clean, all three binaries build and run
offline (OF + EF, compare, web).
</content>
</entry>
<entry>
<title>dayinfo: show feast/day name + colour (modern niedziela + traditional missalemeum) in cli/tui/web; v0.5.0</title>
<updated>2026-07-24T08:32:28Z</updated>
<author>
<name>Lukasz Kasprzak</name>
<email>lukas@labunix.xyz</email>
</author>
<published>2026-07-24T08:32:28Z</published>
<link rel='alternate' type='text/html' href='https://git.labunix.xyz/lectio.git/commit/?id=c9f3bf46f0de09edb796e35f3dcff349febf75c9'/>
<id>urn:sha1:c9f3bf46f0de09edb796e35f3dcff349febf75c9</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tradlit: offline caching + read; update pre-caches traditional; --clean prunes it; v0.2.0</title>
<updated>2026-07-24T07:15:40Z</updated>
<author>
<name>Lukasz Kasprzak</name>
<email>lukas@labunix.xyz</email>
</author>
<published>2026-07-24T07:15:40Z</published>
<link rel='alternate' type='text/html' href='https://git.labunix.xyz/lectio.git/commit/?id=b93de95dd24ff2a1d3126e6d7d00cd77530a03bf'/>
<id>urn:sha1:b93de95dd24ff2a1d3126e6d7d00cd77530a03bf</id>
<content type='text'>
</content>
</entry>
<entry>
<title>web,liturgy: validate date against path traversal; bind lectio-web to localhost</title>
<updated>2026-07-23T13:49:22Z</updated>
<author>
<name>Lukasz Kasprzak</name>
<email>lukas@labunix.xyz</email>
</author>
<published>2026-07-23T13:49:22Z</published>
<link rel='alternate' type='text/html' href='https://git.labunix.xyz/lectio.git/commit/?id=73d00113f5ed5fe99e365d2053dc70a6da8a81ee'/>
<id>urn:sha1:73d00113f5ed5fe99e365d2053dc70a6da8a81ee</id>
<content type='text'>
An unvalidated ?date= query param flowed straight into
liturgy.Load's filepath.Join(dir, date+".json"/".html") before any
network call, letting a crafted date (e.g. "../../../../etc/hostname")
read an arbitrary file whose JSON, if present, unmarshals into
[]liturgy.Section and renders back to the client. Fix both layers:
resolveQuery now falls back to today() on empty or non-YYYY-MM-DD
date (mirroring requestDisplay's normalize-don't-trust pattern), and
liturgy.Load itself rejects a non-matching date before building any
cache path, protecting every caller even if a future one forgets to
validate.

Also bind lectio-web's listener to 127.0.0.1 instead of all
interfaces: it is a personal tool whose Run already prints
http://localhost:&lt;port&gt;, so it should not be reachable from the LAN.
</content>
</entry>
<entry>
<title>liturgy: fetch + HTML/JSON cache</title>
<updated>2026-07-23T11:07:26Z</updated>
<author>
<name>Lukasz Kasprzak</name>
<email>lukas@labunix.xyz</email>
</author>
<published>2026-07-23T11:07:26Z</published>
<link rel='alternate' type='text/html' href='https://git.labunix.xyz/lectio.git/commit/?id=a8170d4032c6afa175d887b414e6799f088f070c'/>
<id>urn:sha1:a8170d4032c6afa175d887b414e6799f088f070c</id>
<content type='text'>
</content>
</entry>
</feed>
