<feed xmlns='http://www.w3.org/2005/Atom'>
<title>neko/config, branch claude/investigate-theme-performance-GjjYA</title>
<subtitle>self-hosted, single user rss reader</subtitle>
<link rel='alternate' type='text/html' href='https://git.adammathes.com/neko/'/>
<entry>
<title>Create 'make check' unified workflow and fix various lint issues</title>
<updated>2026-02-15T16:41:08+00:00</updated>
<author>
<name>Adam Mathes</name>
<email>adam@adammathes.com</email>
</author>
<published>2026-02-15T16:41:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adammathes.com/neko/commit/?id=ea5d89b47a5424fc81e99934183c0ad7a0cf2426'/>
<id>ea5d89b47a5424fc81e99934183c0ad7a0cf2426</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>feat: add secure_cookies configuration option\n\n- Added SecureCookies bool field to config.Settings\n- Added --secure-cookies command line flag\n- Updated CSRFMiddleware to use config setting instead of hardcoded value\n- Default is false for local development, set to true for production HTTPS\n- Updated config.example and README.md with documentation\n- Updated tests to pass config to CSRFMiddleware\n\nThis allows users to easily switch between insecure cookies (for local dev)\nand secure cookies (for production HTTPS) via config file or command line.</title>
<updated>2026-02-14T19:02:38+00:00</updated>
<author>
<name>Adam Mathes</name>
<email>adam@adammathes.com</email>
</author>
<published>2026-02-14T19:02:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adammathes.com/neko/commit/?id=b47721a02d3fdfb1b6a565df29c85e7c51d8c490'/>
<id>b47721a02d3fdfb1b6a565df29c85e7c51d8c490</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>chore: cleanup ignored files</title>
<updated>2026-02-14T02:43:55+00:00</updated>
<author>
<name>Adam Mathes</name>
<email>adam@adammathes.com</email>
</author>
<published>2026-02-14T02:43:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adammathes.com/neko/commit/?id=b7f2a8ecf06a3ae190cab9a26e157dd2c586f7e7'/>
<id>b7f2a8ecf06a3ae190cab9a26e157dd2c586f7e7</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>refactor(backend): improve testability and add tests (NK-6q9nyg)</title>
<updated>2026-02-14T02:43:03+00:00</updated>
<author>
<name>Adam Mathes</name>
<email>adam@adammathes.com</email>
</author>
<published>2026-02-14T02:43:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adammathes.com/neko/commit/?id=21b4eec6c1e096573bcd5f2079bc21e23a960621'/>
<id>21b4eec6c1e096573bcd5f2079bc21e23a960621</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add comprehensive test suite — 81% cross-package coverage</title>
<updated>2026-02-13T03:55:05+00:00</updated>
<author>
<name>Adam Mathes</name>
<email>adam@adammathes.com</email>
</author>
<published>2026-02-13T03:55:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adammathes.com/neko/commit/?id=16186a344a7b61633cb7342aac37ac56ad83d261'/>
<id>16186a344a7b61633cb7342aac37ac56ad83d261</id>
<content type='text'>
Bug fixes:
- config: remove unused log import
- item: fix Printf format %d-&gt;%t for boolean ReadState
- util: update stale config.Read -&gt; config.Init, remove config.Config.DBServer

Test files added:
- config/config_test.go: Init, readConfig, addDefaults (100%)
- vlog/vlog_test.go: Printf, Println verbose/silent (100%)
- models/db_test.go: InitDB tests
- models/feed/feed_test.go: CRUD, filter, Categories, NewFeed, ResolveFeedURL (87%)
- models/item/item_test.go: CRUD, Filter with category/search/starred, rewriteImages (71%)
- exporter/exporter_test.go: all export formats (91%)
- importer/importer_test.go: InsertIItem, ImportJSON (90%)
- crawler/crawler_test.go: GetFeedContent, CrawlFeed, CrawlWorker, Crawl (89%)
- web/web_test.go: auth, login/logout, stream, item, feed, category,
  export, crawl, imageProxy handlers (77%)

Remaining 0% functions require HTTP/rice.MustFindBox/main entry and
can't be unit tested without refactoring (see tickets NK-gqkh96, NK-6q9nyg).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Bug fixes:
- config: remove unused log import
- item: fix Printf format %d-&gt;%t for boolean ReadState
- util: update stale config.Read -&gt; config.Init, remove config.Config.DBServer

Test files added:
- config/config_test.go: Init, readConfig, addDefaults (100%)
- vlog/vlog_test.go: Printf, Println verbose/silent (100%)
- models/db_test.go: InitDB tests
- models/feed/feed_test.go: CRUD, filter, Categories, NewFeed, ResolveFeedURL (87%)
- models/item/item_test.go: CRUD, Filter with category/search/starred, rewriteImages (71%)
- exporter/exporter_test.go: all export formats (91%)
- importer/importer_test.go: InsertIItem, ImportJSON (90%)
- crawler/crawler_test.go: GetFeedContent, CrawlFeed, CrawlWorker, Crawl (89%)
- web/web_test.go: auth, login/logout, stream, item, feed, category,
  export, crawl, imageProxy handlers (77%)

Remaining 0% functions require HTTP/rice.MustFindBox/main entry and
can't be unit tested without refactoring (see tickets NK-gqkh96, NK-6q9nyg).
</pre>
</div>
</content>
</entry>
<entry>
<title>yaml config file, cmd line overrides</title>
<updated>2018-07-07T17:39:09+00:00</updated>
<author>
<name>Adam Mathes</name>
<email>adam@trenchant.org</email>
</author>
<published>2018-07-07T17:39:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adammathes.com/neko/commit/?id=e319e1062d62ce2f5965f191e0e30802b0bd97fd'/>
<id>e319e1062d62ce2f5965f191e0e30802b0bd97fd</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>wip, simplifications</title>
<updated>2018-07-04T20:16:52+00:00</updated>
<author>
<name>Adam Mathes</name>
<email>adam@trenchant.org</email>
</author>
<published>2018-07-04T20:16:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adammathes.com/neko/commit/?id=556f1c98528c4523c4095b438b9436ade5e0d84b'/>
<id>556f1c98528c4523c4095b438b9436ade5e0d84b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>remove runtime static file dependencies, use rice boxes</title>
<updated>2018-06-12T23:59:04+00:00</updated>
<author>
<name>Adam Mathes</name>
<email>adam@trenchant.org</email>
</author>
<published>2018-06-12T23:59:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adammathes.com/neko/commit/?id=f06192a98a2f8e8dae3148cda59b6b57968160ae'/>
<id>f06192a98a2f8e8dae3148cda59b6b57968160ae</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>sqlite3 support</title>
<updated>2018-06-12T21:58:02+00:00</updated>
<author>
<name>Adam Mathes</name>
<email>adam@trenchant.org</email>
</author>
<published>2018-06-12T21:58:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adammathes.com/neko/commit/?id=9e011074bcc80e00e6deb5b914371718e5991ce2'/>
<id>9e011074bcc80e00e6deb5b914371718e5991ce2</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>img proxy as config option</title>
<updated>2018-04-27T15:44:59+00:00</updated>
<author>
<name>Adam Mathes</name>
<email>adam@trenchant.org</email>
</author>
<published>2018-04-27T15:44:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.adammathes.com/neko/commit/?id=eb3112116ae926921fbefd3677ed16a6da65f645'/>
<id>eb3112116ae926921fbefd3677ed16a6da65f645</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
