Adam Durham
70598f52e1
fix(desktop): tighten shebang-exec script-name match to known console scripts
...
External review (Fable) caught a real false-positive widening in the
original commit: the new argv[1] script-name check reused the loose
`script_name == "hermes" or script_name.startswith("hermes")` pattern
(copy-pasted from the exe_name check above it), but argv[1] can be ANY
user-invoked python script path when argv[0] is a bare interpreter --
unlike a directly-resolved executable name, where a false match on the
substring is rare. A user's own script named e.g. "hermes-notes.py" or
"hermes-unrelated-tool" run via `python3 <script>` would be misidentified
as the console-script shim and become killable by profile delete.
Match against the actual known console-script entry points instead
(pyproject.toml [project.scripts]: hermes, hermes-agent, hermes-acp),
stripping the script's extension before comparing.
Added 2 regression tests: one confirms the false-positive case is now
rejected (fails against the pre-fix loose-match code, confirmed via a
scripted revert), the other confirms the other two real entry points
(hermes-agent, hermes-acp) still match via the shebang-exec path.
Tests: tests/hermes_cli/test_profiles.py -- 158 passed (156 previous + 2
new).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-08-17 02:11:27 -07:00
..
2026-08-14 21:39:01 +00:00
2026-08-12 18:52:08 -07:00
2026-08-15 00:33:01 -07:00
2026-08-16 22:10:37 -07:00
2026-08-16 19:50:07 -07:00
2026-08-16 10:32:53 -07:00
2026-08-15 03:54:07 -07:00
2026-08-15 14:24:35 -07:00
2026-08-16 06:31:26 -07:00
2026-08-16 02:03:22 -07:00
2026-08-02 21:13:12 +05:30
2026-08-16 06:32:08 -07:00
2026-08-15 00:33:01 -07:00
2026-08-02 14:55:32 +05:30
2026-08-08 23:56:46 -07:00
2026-07-26 21:13:03 -07:00
2026-08-12 16:26:55 -07:00
2026-08-07 08:57:39 -07:00
2026-08-07 08:57:39 -07:00
2026-08-16 06:29:53 -07:00
2026-08-16 02:00:50 -07:00
2026-07-31 21:21:20 -07:00
2026-08-15 04:33:47 -07:00
2026-08-07 17:45:06 +05:30
2026-07-29 23:16:18 -07:00
2026-08-02 20:21:59 -07:00
2026-08-08 15:10:35 +05:30
2026-08-16 06:32:08 -07:00
2026-08-14 20:47:13 -07:00
2026-07-29 11:53:39 -07:00
2026-08-16 22:09:53 -07:00
2026-07-29 08:42:16 -07:00
2026-08-16 22:09:53 -07:00
2026-08-17 14:16:21 +05:30
2026-08-15 00:20:32 -07:00
2026-08-16 22:18:04 -07:00
2026-08-15 00:33:32 -07:00
2026-08-01 10:52:34 -07:00
2026-08-03 21:16:09 +05:30
2026-08-16 22:09:28 -07:00
2026-08-16 22:06:41 -07:00
2026-08-10 15:13:29 -04:00
2026-08-16 10:51:50 -07:00
2026-08-04 11:53:32 -06:00
2026-08-13 02:38:28 -07:00
2026-08-13 02:38:28 -07:00
2026-08-17 14:02:07 +05:30
2026-08-02 16:16:36 -07:00
2026-08-15 13:28:14 -07:00
2026-07-26 23:41:54 -07:00
2026-07-31 22:35:26 -07:00
2026-07-26 18:10:34 -07:00
2026-08-15 18:15:13 -07:00
2026-07-29 11:53:39 -07:00
2026-08-16 06:26:12 -07:00
2026-08-16 19:54:37 -07:00
2026-08-15 04:33:47 -07:00
2026-08-10 12:43:46 -07:00
2026-08-05 11:47:05 -04:00
2026-08-05 22:32:55 -07:00
2026-08-13 23:10:16 +05:30
2026-07-26 17:46:29 -07:00
2026-08-16 02:08:53 -07:00
2026-08-17 14:16:21 +05:30
2026-08-10 12:43:46 -07:00
2026-08-10 12:43:46 -07:00
2026-08-17 14:16:21 +05:30
2026-07-27 21:10:51 -07:00
2026-08-05 11:47:05 -04:00
2026-08-14 13:40:19 -07:00
2026-08-16 22:09:17 -07:00
2026-08-14 22:37:46 -07:00
2026-08-15 02:03:24 -07:00
2026-08-16 02:24:32 -07:00
2026-08-07 09:44:21 -07:00
2026-08-02 22:44:38 +05:30
2026-08-13 23:15:25 +05:30
2026-07-29 11:53:39 -07:00
2026-08-12 21:50:35 -07:00
2026-08-12 21:50:35 -07:00
2026-08-01 14:52:18 -07:00
2026-08-14 01:31:31 -07:00
2026-08-14 01:06:13 -07:00
2026-08-04 19:35:57 +00:00
2026-07-26 21:22:40 -07:00
2026-08-14 01:06:13 -07:00
2026-08-16 06:25:46 -07:00
2026-08-15 00:34:29 -07:00
2026-08-15 00:34:29 -07:00
2026-08-07 19:47:40 +05:30
2026-07-29 10:13:50 -07:00
2026-08-13 02:38:28 -07:00
2026-08-14 21:35:30 -07:00
2026-07-29 10:14:11 -07:00
2026-08-15 10:29:05 +05:30
2026-07-29 17:51:40 -05:00
2026-08-09 10:33:58 -07:00
2026-08-15 00:32:44 -07:00
2026-08-12 20:10:51 -07:00
2026-08-12 20:10:51 -07:00
2026-08-12 18:39:22 -07:00
2026-08-12 18:52:08 -07:00
2026-08-12 19:56:44 -07:00
2026-08-16 22:08:37 -07:00
2026-08-15 23:03:52 -07:00
2026-07-28 22:42:19 -07:00
2026-08-06 05:00:17 +05:30
2026-08-17 02:11:27 -07:00
2026-08-15 00:33:11 -07:00
2026-08-16 06:24:56 -07:00
2026-07-31 21:21:16 -07:00
2026-08-13 03:06:08 -07:00
2026-07-29 11:53:39 -07:00
2026-08-16 15:52:24 +05:30
2026-07-29 10:14:11 -07:00
2026-08-14 13:51:26 -07:00
2026-08-10 17:02:56 -07:00
2026-07-29 17:13:48 +05:30
2026-08-16 01:48:59 -07:00
2026-08-15 01:55:22 -07:00
2026-07-29 11:53:39 -07:00
2026-08-01 10:47:20 -07:00
2026-08-08 12:32:23 -07:00
2026-08-14 21:07:21 -07:00
2026-08-15 02:04:49 -07:00
2026-08-15 02:04:49 -07:00
2026-07-26 19:30:21 -07:00
2026-07-31 22:36:55 -07:00
2026-08-15 00:31:37 -07:00
2026-08-12 19:43:47 -07:00
2026-08-16 22:09:17 -07:00
2026-07-26 08:43:24 -07:00
2026-08-12 16:59:37 -07:00
2026-08-08 15:10:35 +05:30
2026-08-16 22:10:37 -07:00
2026-08-05 11:59:33 +05:30
2026-07-29 09:33:48 -07:00
2026-07-29 12:11:24 -07:00
2026-07-31 23:18:12 -07:00
2026-08-07 08:58:14 -07:00
2026-08-16 01:54:35 -07:00
2026-08-07 17:45:06 +05:30
2026-08-15 18:15:18 -07:00
2026-08-02 16:16:36 -07:00
2026-08-14 00:26:11 -07:00
2026-08-16 13:01:20 -07:00
2026-07-29 11:53:39 -07:00
2026-08-06 05:00:17 +05:30
2026-08-16 22:07:09 -07:00
2026-07-31 22:28:46 -07:00
2026-08-14 16:43:37 -07:00
2026-07-29 19:48:37 -07:00
2026-08-07 10:11:05 -07:00
2026-08-15 01:05:39 -07:00
2026-07-29 16:21:54 -07:00
2026-08-16 20:53:44 -07:00
2026-08-15 01:21:40 -07:00
2026-08-16 22:09:28 -07:00
2026-07-29 10:14:11 -07:00
2026-08-01 14:30:16 -07:00
2026-08-06 05:00:17 +05:30