13 Commits

Author SHA1 Message Date
DIYgod e81efabf79 fix(cli): print what the API answers changes with instead of nothing
subscription remove/update, collection add/remove, entry mark-read/unread,
feed refresh and list update/delete/remove-feed printed response.data,
which those responses never carry, so they printed no data at all. They
now print the fields the API sends, { lastSyncId } or {}.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 00:24:26 +08:00
DIYgod 987dd6ae4b fix(cli): export the OPML document the API sends
The export endpoint answers with raw XML, not the JSON the SDK types, so
`folo opml export` printed an empty object and `--output` failed with an
undefined data error. The CLI now reads the response as text, prints or
saves it, and names it folo.opml when --output is a directory.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 23:06:24 +08:00
DIYgod 690ed57ad2 fix(cli): keep the config private and readable after a bad write
The CLI wrote its token with the default permissions, readable by other
users, and wrote the file in place, so a write interrupted or racing the
desktop app's sync left truncated JSON. Every command, login and logout
included, then failed to parse it until the file was deleted by hand.

Write into a directory and file only the user can read, replace the
file in one step, and treat an unreadable config as empty with a hint.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 04:02:03 +08:00
DIYgod bb0e346c0a fix(cli): page collections by when entries were collected
collection list returned the last entry's publish date as the next
cursor, but the server pages collections by when they were collected,
so following the cursor after an old article skipped or repeated
collected entries. Use the collection time, as the app does.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 03:57:37 +08:00
DIYgod 2f392594d5 chore(deps): refresh dependencies and verify affected app flows 2026-09-22 16:20:40 +08:00
DIYgod 1158281f59 chore(deps): update frontend dependencies (#5038)
* chore(deps): update frontend dependencies

* fix(ci): format OTA verification commands
2026-07-10 22:36:12 +08:00
DIYgod ea5cf87415 fix(cli): close login callback sockets (#4957) 2026-04-03 08:11:18 +00:00
DIYgod b7ccf7b872 fix(desktop): repair auth and cli sync 2026-04-03 12:38:01 +08:00
DIYgod 22e0e90ffd fix(cli): verify browser login token (#4944) 2026-04-02 05:04:34 +00:00
DIYgod fa7ce0f011 fix(cli): use npx latest and restore login flow 2026-03-17 12:18:24 +08:00
DIYgod 9a8280ded4 feat(cli): switch desktop sync to folocli 2026-03-17 11:18:48 +08:00
DIYgod 49f69f4d19 feat(cli): support browser-based auth login (#4887) 2026-02-27 16:51:58 +08:00
DIYgod a941a2d597 feat: add Folo CLI app with tests (#4883)
* feat(cli): add agent-friendly CLI client with tests

* fix(lockfile): regenerate lockfile after merging dev
2026-02-26 13:34:16 +08:00