<feed xmlns='http://www.w3.org/2005/Atom'>
<title>yt/src/storage, branch v1.1.0</title>
<subtitle>A fully featured command line YouTube client</subtitle>
<id>http://git.foss-syndicate.org/bpeetz/clients/yt/atom?h=v1.1.0</id>
<link rel='self' href='http://git.foss-syndicate.org/bpeetz/clients/yt/atom?h=v1.1.0'/>
<link rel='alternate' type='text/html' href='http://git.foss-syndicate.org/bpeetz/clients/yt/'/>
<updated>2024-08-23T12:01:48+00:00</updated>
<entry>
<title>style(treewide): Format</title>
<updated>2024-08-23T12:01:48+00:00</updated>
<author>
<name>Benedikt Peetz</name>
<email>benedikt.peetz@b-peetz.de</email>
</author>
<published>2024-08-23T12:01:48+00:00</published>
<link rel='alternate' type='text/html' href='http://git.foss-syndicate.org/bpeetz/clients/yt/commit/?id=4c8a71e3fc2e0d9c30e47241d3740c49c834d3fa'/>
<id>urn:sha1:4c8a71e3fc2e0d9c30e47241d3740c49c834d3fa</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix(storage/setters): Enforce status invariants</title>
<updated>2024-08-23T11:14:15+00:00</updated>
<author>
<name>Benedikt Peetz</name>
<email>benedikt.peetz@b-peetz.de</email>
</author>
<published>2024-08-23T11:12:24+00:00</published>
<link rel='alternate' type='text/html' href='http://git.foss-syndicate.org/bpeetz/clients/yt/commit/?id=2e75681a0569b67c81efc051ea57f56f14c09543'/>
<id>urn:sha1:2e75681a0569b67c81efc051ea57f56f14c09543</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat(treewide): Use a configuration file</title>
<updated>2024-08-23T11:14:13+00:00</updated>
<author>
<name>Benedikt Peetz</name>
<email>benedikt.peetz@b-peetz.de</email>
</author>
<published>2024-08-23T11:11:09+00:00</published>
<link rel='alternate' type='text/html' href='http://git.foss-syndicate.org/bpeetz/clients/yt/commit/?id=94c656ad40a7aae570e5a5fb61ad32632acc6d46'/>
<id>urn:sha1:94c656ad40a7aae570e5a5fb61ad32632acc6d46</id>
<content type='text'>
This allows use to avoid duplication of default values in the codebase
and obviously also facilitates changing these without having to
re-compile.
</content>
</entry>
<entry>
<title>refactor(storage/downloader): Remove unused `get_next_video_watchable`</title>
<updated>2024-08-23T07:06:57+00:00</updated>
<author>
<name>Benedikt Peetz</name>
<email>benedikt.peetz@b-peetz.de</email>
</author>
<published>2024-08-23T07:06:57+00:00</published>
<link rel='alternate' type='text/html' href='http://git.foss-syndicate.org/bpeetz/clients/yt/commit/?id=9a53a739b0f0e1a6741ec6f1bef6a572a8743182'/>
<id>urn:sha1:9a53a739b0f0e1a6741ec6f1bef6a572a8743182</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix(storage/downloader): Sort the next videos to be downloaded like in the selection file</title>
<updated>2024-08-23T07:06:06+00:00</updated>
<author>
<name>Benedikt Peetz</name>
<email>benedikt.peetz@b-peetz.de</email>
</author>
<published>2024-08-23T07:06:06+00:00</published>
<link rel='alternate' type='text/html' href='http://git.foss-syndicate.org/bpeetz/clients/yt/commit/?id=f497dd5581358fc6e8fdd895500eea4141dd1519'/>
<id>urn:sha1:f497dd5581358fc6e8fdd895500eea4141dd1519</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix(storage/schema.sql): Tell SQLite to perform type-checking</title>
<updated>2024-08-22T18:32:51+00:00</updated>
<author>
<name>Benedikt Peetz</name>
<email>benedikt.peetz@b-peetz.de</email>
</author>
<published>2024-08-22T18:32:51+00:00</published>
<link rel='alternate' type='text/html' href='http://git.foss-syndicate.org/bpeetz/clients/yt/commit/?id=aded88ac8094a71a8ed559615e4150d302fb5e8b'/>
<id>urn:sha1:aded88ac8094a71a8ed559615e4150d302fb5e8b</id>
<content type='text'>
Otherwise, SQLite tries to “coerce” types into fitting in the “preferred”
type of the table. Now SQLite actually refuses to accept a type
mismatch.
</content>
</entry>
<entry>
<title>refactor(storage/getters): Inline an Option re-creation with `map`</title>
<updated>2024-08-22T18:27:30+00:00</updated>
<author>
<name>Benedikt Peetz</name>
<email>benedikt.peetz@b-peetz.de</email>
</author>
<published>2024-08-22T18:27:30+00:00</published>
<link rel='alternate' type='text/html' href='http://git.foss-syndicate.org/bpeetz/clients/yt/commit/?id=b33401043b512f2538079ea9ee618b09deffe0d5'/>
<id>urn:sha1:b33401043b512f2538079ea9ee618b09deffe0d5</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix(storage/setters): Avoid writing a literal "NULL" string into the db</title>
<updated>2024-08-22T18:25:30+00:00</updated>
<author>
<name>Benedikt Peetz</name>
<email>benedikt.peetz@b-peetz.de</email>
</author>
<published>2024-08-22T18:25:30+00:00</published>
<link rel='alternate' type='text/html' href='http://git.foss-syndicate.org/bpeetz/clients/yt/commit/?id=42971f7b1ae7fb006a1a2007db72a8c45e45fd36'/>
<id>urn:sha1:42971f7b1ae7fb006a1a2007db72a8c45e45fd36</id>
<content type='text'>
Sqlx supports turning an option to a NULL insertion, but trying to
insert a string, containing "NULL", will result in this literal string
being written to the database.
</content>
</entry>
<entry>
<title>refactor(storage): Make all URL parsings panic</title>
<updated>2024-08-22T18:23:53+00:00</updated>
<author>
<name>Benedikt Peetz</name>
<email>benedikt.peetz@b-peetz.de</email>
</author>
<published>2024-08-22T18:23:53+00:00</published>
<link rel='alternate' type='text/html' href='http://git.foss-syndicate.org/bpeetz/clients/yt/commit/?id=d71f3efe57646d639ae19b26dbea5115c219557c'/>
<id>urn:sha1:d71f3efe57646d639ae19b26dbea5115c219557c</id>
<content type='text'>
These URLs should be checked *before* they are written to the database,
thus being unable to decode them after they've been read from the
database is an application bug and not a user input issue.
</content>
</entry>
<entry>
<title>fix(storage/get_videos): Also order by `publish_date`</title>
<updated>2024-08-22T12:24:27+00:00</updated>
<author>
<name>Benedikt Peetz</name>
<email>benedikt.peetz@b-peetz.de</email>
</author>
<published>2024-08-22T12:24:27+00:00</published>
<link rel='alternate' type='text/html' href='http://git.foss-syndicate.org/bpeetz/clients/yt/commit/?id=e072f23cdb739837b69165b889c2792a815a192d'/>
<id>urn:sha1:e072f23cdb739837b69165b889c2792a815a192d</id>
<content type='text'>
All freshly added videos have a priority of 0. To ensure that they are
still ordered, also sort by `publish_date`.
</content>
</entry>
</feed>
