solyanviktor-star
7fef76a6cf
fix(auth): read .env as utf-8-sig in the dotenv-vs-shell detector
...
_remove_env_source() decides whether a credential var lives in ~/.hermes/.env
or the shell by scanning the .env with env_path.read_text(errors="replace") —
no encoding. read_text() with no encoding falls back to the system locale
(cp1252/GBK on Windows) and never strips a BOM.
The canonical .env readers in hermes_cli/config.py all use
encoding="utf-8-sig" precisely because 'users may edit .env in Notepad which
adds one' (a BOM), and doctor.py documents that .env is written as UTF-8
everywhere. This sibling reader diverged: on a Notepad-edited .env the BOM
prefixes the first line, so line.strip().startswith(f"{env_var}=") is False
for the first variable — the detector reports a .env-backed key as a phantom
shell export and prints a misleading 'still set in your shell environment'
hint on .
Match the canonical reader (utf-8-sig + errors=replace). Adds a regression
test with a BOM'd .env.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-08-08 12:32:23 -07:00
..
2026-08-01 21:17:51 -04:00
2026-07-25 02:30:20 +00:00
2026-07-05 13:42:46 -07:00
2026-07-24 11:45:57 -07:00
2026-08-02 00:11:50 -07:00
2026-08-08 11:24:45 -07:00
2026-08-07 10:11:05 -07:00
2026-05-28 00:20:11 -07:00
2026-07-22 10:58:22 -07:00
2026-08-08 11:24:45 -07:00
2026-08-08 12:17:50 -05:00
2026-08-04 00:12:45 +05:30
2026-07-18 20:01:55 +05:30
2026-07-16 04:23:12 -07:00
2026-08-08 12:32:23 -07:00
2026-08-02 10:02:33 -07:00
2026-07-26 23:41:54 -07:00
2026-08-05 22:40:51 -07:00
2026-07-21 13:54:11 -05:00
2026-07-23 11:45:07 -07:00
2026-07-22 18:08:59 -05:00
2026-07-29 11:53:39 -07:00
2026-07-29 11:53:39 -07:00
2026-07-05 14:00:20 -07:00
2026-08-02 11:18:41 +05:30
2026-05-29 04:22:27 -07:00
2026-08-08 11:24:45 -07:00
2026-08-08 11:24:45 -07:00
2026-08-06 22:02:46 -05:00
2026-07-29 15:28:15 -07:00
2026-07-26 18:06:21 -07:00
2026-08-08 14:27:31 +05:30
2026-08-08 23:09:45 +05:30
2026-08-08 05:44:18 -07:00
2026-08-07 13:24:56 +05:30
2026-08-08 12:31:19 -07:00
2026-07-24 17:10:39 -07:00
2026-07-02 13:17:41 -07:00
2026-08-04 23:33:39 +05:30
2026-08-08 12:32:23 -07:00
2026-07-28 21:36:23 +00:00
2026-08-08 15:10:35 +05:30
2026-08-03 18:21:17 +05:30
2026-08-06 03:16:26 +05:30
2026-08-02 21:48:06 -07:00
2026-08-07 19:47:40 +05:30
2026-07-17 13:49:12 -07:00
2026-08-08 05:21:09 -07:00
2026-07-22 04:40:07 -07:00
2026-08-05 17:21:01 -07:00
2026-07-26 20:59:16 -07:00
2026-07-29 15:28:15 -07:00
2026-06-18 22:13:07 -07:00
2026-07-29 15:28:15 -07:00
2026-07-23 08:32:09 -07:00
2026-08-03 18:45:43 +05:30
2026-08-02 22:15:20 +05:30
2026-07-26 12:54:45 -07:00
2026-05-28 00:20:11 -07:00
2026-07-14 16:47:33 +05:30
2026-08-08 05:09:43 -07:00
2026-07-29 11:53:39 -07:00
2026-07-01 16:25:48 -05:00
2026-06-30 15:16:21 -05:00
2026-07-16 07:57:51 -07:00
2026-07-23 08:19:14 -07:00
2026-07-24 13:00:53 +05:30
2026-08-03 20:35:47 +05:30
2026-06-19 15:23:41 +08:00
2026-08-07 16:57:11 +05:30
2026-08-03 22:43:15 +05:30
2026-07-01 04:07:46 -07:00
2026-08-04 11:08:32 +05:30
2026-07-29 19:48:37 -07:00
2026-07-20 11:05:52 -07:00
2026-08-08 11:24:45 -07:00
2026-07-24 17:10:39 -07:00
2026-07-22 12:10:58 -05:00
2026-06-23 08:01:50 +00:00
2026-08-02 15:01:11 -07:00
2026-07-29 15:28:15 -07:00
2026-07-16 01:13:43 -07:00
2026-07-05 03:14:55 -07:00
2026-08-08 04:31:45 -07:00
2026-08-07 16:57:11 +05:30
2026-07-10 05:41:59 -05:00
2026-08-06 22:02:37 -05:00
2026-07-28 20:04:58 +05:30
2026-08-07 17:50:03 +05:30
2026-08-02 20:10:47 -07:00
2026-08-03 13:43:17 -06:00
2026-07-27 21:10:51 -07:00
2026-07-19 08:25:35 +05:30
2026-07-29 10:13:50 -07:00
2026-07-16 04:32:23 -07:00
2026-08-02 09:59:52 -07:00
2026-08-02 16:16:36 -07:00
2026-08-08 05:02:04 -07:00
2026-07-29 12:20:34 -07:00
2026-07-29 12:20:34 -07:00
2026-07-29 15:28:15 -07:00
2026-08-06 03:16:26 +05:30
2026-08-08 15:10:24 +05:30
2026-07-02 04:51:56 +05:30
2026-05-28 04:53:27 -07:00
2026-07-17 18:31:09 +00:00
2026-08-02 22:15:20 +05:30
2026-08-03 20:43:34 +05:30
2026-07-22 08:11:09 +05:30
2026-08-08 13:57:44 +05:30
2026-07-16 01:07:29 +05:30
2026-06-25 19:00:48 -07:00
2026-08-06 23:08:23 -05:00
2026-07-29 15:28:15 -07:00
2026-08-03 22:53:32 +05:30
2026-08-08 12:17:50 -05:00
2026-07-26 21:27:45 -07:00
2026-07-11 05:41:58 -07:00
2026-07-24 11:45:57 -07:00
2026-07-14 02:59:39 +05:30
2026-07-14 02:59:39 +05:30
2026-08-07 19:44:35 +05:30
2026-08-08 12:31:19 -07:00
2026-08-08 11:24:45 -07:00
2026-07-26 17:47:51 -07:00
2026-07-29 19:48:37 -07:00
2026-08-07 10:11:05 -07:00
2026-08-07 10:11:05 -07:00
2026-06-30 00:59:29 -05:00
2026-07-02 06:07:56 +05:30
2026-07-14 02:59:39 +05:30
2026-07-29 15:28:15 -07:00
2026-07-06 02:42:24 -07:00
2026-07-29 15:28:15 -07:00