Erosika
bb06e1621e
fix(honcho): refuse to rewrite a honcho.json that exists but does not parse
...
a truncated or hand-edited honcho.json reads as {} on the tolerant read
path. the next write then replaced the file with only the current host
block: an oauth refresh, a login, or any 'hermes honcho' command that
saves a setting wiped every other host and the root keys.
_read_config_strict now raises on a parse error the same way it raises
on a read error, and logs one sentence naming the file. _rotate_and_persist
treats that as a refresh failure and enters the cooldown without spending
the refresh token. install_grant raises into the setup flow. in cli.py
every write goes through _write_config, which runs the same check first
and raises ConfigWriteRefused; the honcho router, the setup wizard and the
profile sync print the sentence instead of a traceback. the wizard checks
before asking its questions. read paths keep the {} fallback.
follows #95860 , which added the strict reader for unreadable files and
kept a .corrupt copy on a parse error. leaving the original file in place
keeps the same bytes without a second copy of the tokens on disk.
2026-09-13 19:05:28 +05:30
..
2026-09-13 05:20:26 -07:00
2026-09-13 05:21:02 -07:00
2026-09-13 05:32:38 -07:00
2026-09-13 05:42:31 -07:00
2026-09-13 05:20:26 -07:00
2026-09-03 13:22:51 -07:00
2026-09-13 05:09:06 -07:00
2026-09-03 14:21:52 -07:00
2026-09-03 17:28:02 -07:00
2026-09-07 22:47:33 +05:30
2026-09-03 23:55:56 -07:00
2026-09-13 06:29:12 -07:00
2026-09-13 05:21:02 -07:00
2026-09-13 05:20:26 -07:00
2026-09-13 19:05:28 +05:30
2026-09-12 08:30:27 -07:00
2026-09-04 00:53:42 -07:00
2026-09-03 13:38:36 -07:00
2026-09-13 06:06:46 -07:00
2026-09-13 05:32:38 -07:00
2026-09-13 05:19:48 -07:00
2026-09-03 13:38:36 -07:00
2026-09-12 22:40:28 +05:30
2026-09-12 07:54:04 -07:00
2026-09-02 10:33:43 -07:00
2026-09-12 21:20:42 -07:00
2026-09-11 06:37:27 -07:00
2026-09-13 06:29:12 -07:00
2026-09-13 05:42:31 -07:00
2026-09-09 02:35:41 -07:00
2026-09-09 04:38:01 -07:00
2026-09-13 05:21:02 -07:00
2026-09-03 13:28:22 -07:00
2026-09-13 05:07:11 -07:00
2026-09-12 08:30:27 -07:00
2026-09-07 22:47:33 +05:30
2026-09-10 11:48:01 -07:00
2026-09-02 19:20:44 -07:00
2026-09-12 05:13:50 -07:00
2026-09-03 14:21:52 -07:00
2026-09-02 13:29:46 -07:00
2026-09-06 22:45:31 +05:30
2026-09-03 13:29:55 -07:00
2026-09-04 00:15:16 -07:00
2026-09-03 13:46:50 -07:00
2026-09-03 13:28:22 -07:00
2026-09-02 19:53:29 -07:00
2026-09-12 05:09:59 -07:00
2026-09-07 06:09:56 -07:00
2026-09-08 17:13:48 -07:00
2026-09-02 00:44:19 -07:00
2026-09-08 17:13:48 -07:00
2026-09-06 07:19:21 -07:00
2026-09-05 02:31:06 -07:00
2026-09-10 18:13:16 -07:00
2026-09-03 13:12:50 -07:00
2026-09-02 15:03:42 -07:00
2026-09-11 06:37:27 -07:00
2026-09-03 05:03:04 +05:30
2026-09-11 10:30:29 +10:00
2026-09-02 15:03:42 -07:00
2026-09-03 13:46:50 -07:00
2026-09-12 08:30:27 -07:00
2026-09-12 08:30:27 -07:00
2026-09-03 02:06:56 +05:30
2026-09-02 15:03:42 -07:00
2026-09-03 16:35:01 -07:00
2026-09-13 05:21:02 -07:00
2026-09-11 06:23:23 -07:00
2026-09-13 04:29:06 -07:00
2026-09-03 13:16:47 -07:00
2026-09-10 10:45:57 -07:00
2026-09-02 17:26:25 -04:00
2026-09-12 08:26:17 -07:00
2026-09-12 08:32:09 -07:00
2026-09-09 18:26:15 +05:30
2026-09-03 13:46:50 -07:00
2026-09-03 15:07:39 -07:00
2026-09-09 09:19:54 -07:00
2026-09-09 13:30:28 -07:00
2026-09-13 06:06:46 -07:00
2026-09-03 13:46:50 -07:00
2026-09-03 13:48:49 -07:00
2026-09-10 02:21:16 +05:30
2026-09-03 13:28:22 -07:00
2026-09-11 11:54:49 -07:00
2026-09-03 17:45:53 -07:00
2026-09-04 04:56:11 -07:00
2026-09-04 01:28:31 -07:00
2026-09-13 05:08:29 -07:00
2026-09-13 05:07:11 -07:00
2026-09-11 15:44:00 -07:00
2026-09-04 20:24:24 -04:00
2026-09-09 11:31:10 -07:00
2026-09-03 19:33:28 -07:00
2026-09-03 14:21:52 -07:00
2026-09-03 13:46:50 -07:00
2026-09-03 14:21:52 -07:00
2026-09-11 06:24:54 -07:00
2026-09-07 06:04:23 -07:00
2026-09-03 13:46:50 -07:00
2026-09-02 07:26:52 -07:00
2026-09-03 13:46:50 -07:00
2026-09-09 18:26:15 +05:30
2026-09-11 06:37:27 -07:00
2026-09-03 13:46:50 -07:00
2026-09-03 13:46:50 -07:00
2026-09-03 13:46:50 -07:00
2026-09-03 13:46:50 -07:00
2026-09-03 13:46:50 -07:00
2026-09-03 13:46:50 -07:00
2026-09-09 09:19:57 -07:00
2026-09-03 16:35:01 -07:00
2026-09-03 13:46:50 -07:00
2026-09-11 15:44:00 -07:00
2026-09-05 12:21:21 +05:30
2026-09-11 15:27:23 -07:00
2026-09-11 19:50:46 -07:00
2026-09-09 12:20:38 -07:00
2026-09-10 10:27:07 -07:00
2026-09-13 05:21:02 -07:00
2026-09-03 14:21:52 -07:00
2026-09-03 14:21:52 -07:00
2026-09-07 08:23:08 -07:00
2026-09-03 13:12:50 -07:00
2026-09-03 13:12:50 -07:00
2026-09-03 13:12:50 -07:00
2026-09-09 18:25:11 +05:30