iTerm2 is a terminal emulator for Mac OS X that does amazing things.
This report summarizes scanner evidence for gnachman/iTerm2, a Swift project with 18,139 GitHub stars. SynthScan examined 1,284,695 lines of code across 5858 source files, recording 5617 pattern matches distributed across 23 syntactic categories. The legacy adjusted pattern signal is 5.6 (Moderate pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Can maintainers explain intent, assumptions, and trade-offs? 4676 finding(s).
Are imports declared and package/API names verified? 277 finding(s).
Are wrappers, guards, and repeated structures necessary? 1228 finding(s).
Which changes need focused human review? 5617 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 5617 distinct pattern matches across 23 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | ClaudeCodeHookEvent.swift | 1 | // ClaudeCodeHookEvent.swift | COMMENT |
| LOW | tools/run_shell_integration_live.sh | 1 | #!/bin/bash | COMMENT |
| LOW | tools/sign_sparkle_helpers.sh | 1 | #!/bin/bash | COMMENT |
| LOW | tools/eastasian.py | 1 | #!/usr/bin/env python3 | COMMENT |
| LOW | tools/sign_and_copy_uv.sh | 1 | #!/bin/bash | COMMENT |
| LOW | tools/copy_models.sh | 1 | #!/bin/bash | COMMENT |
| LOW | tools/copy_models.sh | 21 | # | COMMENT |
| LOW | tools/test_shell_integration_encoders.sh | 1 | #!/bin/bash | COMMENT |
| LOW | tools/build_sign_update.sh | 1 | #!/bin/bash | COMMENT |
| LOW | tools/build_proto.sh | 1 | #!/bin/bash | COMMENT |
| LOW | tools/codesign_keychain_test.sh | 1 | #!/bin/bash | COMMENT |
| LOW | tools/update_uv_manifest.sh | 1 | #!/bin/bash | COMMENT |
| LOW | tools/generate_nscharacterset.py | 461 | # within an L(+)V(+T) sequence, and CFStringGetRangeOfComposedCharactersAtIndex | COMMENT |
| LOW | tools/run.sh | 1 | #!/usr/bin/env zsh | COMMENT |
| LOW | tools/add_file_to_xcodeproj.rb | 1 | #!/usr/bin/env ruby | COMMENT |
| LOW | tools/run_ai_live.sh | 1 | #!/bin/bash | COMMENT |
| LOW | tools/run_ai_live.sh | 21 | # | COMMENT |
| LOW | tools/run_ai_live.sh | 41 | # Write the config at the REPO ROOT (gitignored), not /tmp. This scopes it to | COMMENT |
| LOW | tools/run_ai_live.sh | 101 | emit GEMINI_INTERVAL "${ITERM2_AI_LIVE_GEMINI_INTERVAL:-}" | COMMENT |
| LOW | tools/run_ai_live.sh | 161 | # invocation marker for AILiveHarness's setUpWithError. Plain ModernTests | COMMENT |
| LOW | tools/extract_strings.sh | 1 | #!/bin/bash | COMMENT |
| LOW | tools/extract_strings.sh | 21 | # | COMMENT |
| LOW | tools/extract_strings.sh | 61 | OBJC_SD="$BUILD_DIR/loc-stringsdata-objc-$CONFIG" | COMMENT |
| LOW | tools/build_uv.sh | 1 | #!/bin/bash | COMMENT |
| LOW | tools/build_uv.sh | 21 | # - macOS deployment target is raised to 13.0 (uv's supported floor and the | COMMENT |
| LOW | tools/build_uv.sh | 41 | # | COMMENT |
| LOW | tools/run_python_runtime_e2e.sh | 1 | #!/bin/bash | COMMENT |
| LOW | tools/dropbox_uploader.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 1 | # ----------------------------------------------------------------------------- | COMMENT |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 21 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | COMMENT |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 41 | # LR parser itself is defined in terms of an object (which allows multiple | COMMENT |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 161 | #----------------------------------------------------------------------------- | COMMENT |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 261 | return self.parsedebug(input,lexer,debug,tracking,tokenfunc) | COMMENT |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 761 | # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | COMMENT |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 1121 | # ----------------------------------------------------------------------------- | COMMENT |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 1241 | if self.func: | COMMENT |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 1361 | # 'left','right', or 'nonassoc'. level is a numeric level. | COMMENT |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 1661 | if x_produces_empty: | COMMENT |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 1761 | COMMENT | |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 1881 | # ----------------------------------------------------------------------------- | COMMENT |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 2061 | C.append(g) | COMMENT |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 2181 | # | COMMENT |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 2261 | lookb.append((j,r)) | COMMENT |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 2281 | def compute_read_sets(self,C, ntrans, nullable): | COMMENT |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 2301 | # ----------------------------------------------------------------------------- | COMMENT |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 2681 | outp.append((p.str,p.name, p.len, p.func,p.file,p.line)) | COMMENT |
| LOW | tools/ply/ply-3.4/ply/lex.py | 1 | # ----------------------------------------------------------------------------- | COMMENT |
| LOW | tools/ply/ply-3.4/ply/lex.py | 21 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | COMMENT |
| LOW | tools/ply/ply-3.4/ply/lex.py | 101 | # === Lexing Engine === | COMMENT |
| LOW | tools/ply/ply-3.4/ply/lex.py | 281 | # ------------------------------------------------------------ | COMMENT |
| LOW | tools/ply/ply-3.4/ply/cpp.py | 1 | # ----------------------------------------------------------------------------- | COMMENT |
| LOW | tools/ply/ply-3.4/ply/cpp.py | 101 | '-':'~' | COMMENT |
| LOW | tools/ply/ply-3.4/ply/cpp.py | 241 | if not tok or tok.value != c: | COMMENT |
| LOW | tools/ply/ply-3.4/ply/cpp.py | 301 | while i >= 0 and tokens[i].type in self.t_WS: | COMMENT |
| LOW | tools/ply/ply-3.4/test/lex_hedit.py | 1 | # ----------------------------------------------------------------------------- | COMMENT |
| LOW | tools/ply/ply-3.4/example/yply/yply.py | 1 | #!/usr/local/bin/python | COMMENT |
| LOW | tools/ply/ply-3.4/example/GardenSnake/GardenSnake.py | 1 | # GardenSnake - a parser generator demonstration program | COMMENT |
| LOW | tools/ply/ply-3.4/example/GardenSnake/GardenSnake.py | 21 | # This uses David Beazley's Ply from http://www.dabeaz.com/ply/ | COMMENT |
| LOW | tools/ply/ply-3.4/example/GardenSnake/GardenSnake.py | 221 | COMMENT | |
| LOW | tools/ply/ply-3.4/example/newclasscalc/calc.py | 1 | #!/usr/bin/env python | COMMENT |
| 3645 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tools/generate_nscharacterset.py | 127 | # ============================================================================ | COMMENT |
| MEDIUM | tools/generate_nscharacterset.py | 129 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tools/generate_nscharacterset.py | 180 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tools/generate_nscharacterset.py | 182 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tools/generate_nscharacterset.py | 323 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tools/generate_nscharacterset.py | 325 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tools/generate_nscharacterset.py | 372 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tools/generate_nscharacterset.py | 374 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 60 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 65 | #----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 69 | #----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 161 | #----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 167 | #----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 1116 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 1121 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 1128 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 1291 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 1295 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 1304 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 1310 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 1357 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 1363 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 1373 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 1593 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 1598 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 1607 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 1612 | # ------------------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 1622 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 1629 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 1639 | # ------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 1646 | # ------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 1874 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 1879 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 1881 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 1932 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 1937 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 2084 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 2086 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 2091 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 2109 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 2118 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 2269 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 2279 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 2287 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 2301 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 2309 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 2319 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 2539 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 2543 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/ply/ply-3.4/ply/yacc.py | 1 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/ply/ply-3.4/ply/yacc.py | 32 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/ply/ply-3.4/ply/yacc.py | 233 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/ply/ply-3.4/ply/yacc.py | 237 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/ply/ply-3.4/ply/yacc.py | 1150 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/ply/ply-3.4/ply/yacc.py | 1245 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/ply/ply-3.4/ply/yacc.py | 1267 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/ply/ply-3.4/ply/yacc.py | 1388 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/ply/ply-3.4/ply/yacc.py | 1466 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/ply/ply-3.4/ply/yacc.py | 1471 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | tools/ply/ply-3.4/ply/yacc.py | 1482 | # ----------------------------------------------------------------------------- | COMMENT |
| 372 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/analyze_restorable_state.py | 52 | def decode_keyed_archive_objects(objects, top): | CODE |
| LOW | tools/analyze_restorable_state.py | 272 | def extract_sessions_from_view(view_node, sessions, debug=False): | CODE |
| LOW | tools/emoji.py | 81 | def output_default_emoji_presentation(): | CODE |
| LOW | tools/emoji.py | 137 | def output_default_text_presentation(): | CODE |
| LOW | tools/generate_nscharacterset.py | 111 | def format_ranges_with_comments(nums_with_names: dict, variable: str, indent: str = " ") -> list[str]: | CODE |
| LOW⚡ | tools/generate_nscharacterset.py | 175 | def format_bidi_mirroring_pairs(pairs, indent=" "): | CODE |
| LOW⚡ | tools/generate_nscharacterset.py | 333 | def generate_emoji_default_text_presentation(emoji_data_content: str) -> list[str]: | CODE |
| LOW⚡ | tools/generate_nscharacterset.py | 341 | def generate_emoji_default_emoji_presentation(emoji_data_content: str) -> tuple[list[str], int]: | CODE |
| LOW⚡ | tools/generate_nscharacterset.py | 351 | def generate_strong_rtl_codes(unicode_data: dict) -> list[str]: | CODE |
| LOW⚡ | tools/generate_nscharacterset.py | 362 | def generate_strong_ltr_codes(unicode_data: dict) -> list[str]: | CODE |
| LOW | tools/parse_ai_wire_log.py | 261 | def assemble_anthropic_stream(events: list[SSEEvent]) -> AssembledResponse: | CODE |
| LOW⚡ | tools/ply/ply-3.4/ply/yacc.py | 2093 | def compute_nullable_nonterminals(self): | CODE |
| LOW⚡ | tools/ply/ply-3.4/ply/yacc.py | 2120 | def find_nonterminal_transitions(self,C): | CODE |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 2207 | def compute_lookback_includes(self,C,trans,nullable): | CODE |
| LOW | tools/ply/ply-3.4/example/ansic/cparse.py | 98 | def p_storage_class_specifier(t): | CODE |
| LOW | tools/ply/ply-3.4/example/ansic/cparse.py | 834 | def p_argument_expression_list(t): | CODE |
| LOW | tools/ply/ply-3.4/example/BASIC/basparse.py | 168 | def p_command_for_bad_initial(p): | CODE |
| LOW | …nsFramework/test-extensions/storage-ui-demo/content.js | 468 | function setupStorageChangeListener() { | CODE |
| LOW | …/Sources/BrowserExtensionListenerResponseHandler.swift | 13 | class BrowserExtensionListenerResponseHandler: NSObject, WKScriptMessageHandler { | CODE |
| LOW | OtherResources/framer.py | 1000 | async def really_find_completions_with_prefix(prefix, directory, max_count, executable): | CODE |
| LOW | OtherResources/framer.py | 1938 | def _silence_shutdown_unraisable(unraisable): | CODE |
| LOW | OtherResources/it2.py | 220 | def parse_tmux_client_records(output): | CODE |
| LOW | OtherResources/it2.py | 269 | def tmux_advertised_client_records(): | CODE |
| LOW | OtherResources/it2.py | 446 | def _silence_std_stream_flush(): | CODE |
| LOW | tests/test_kitty_multipart.py | 46 | def test_multipart_stream_encoding(): | CODE |
| LOW | tests/test_kitty_multipart.py | 77 | def test_multipart_independent_encoding(): | CODE |
| LOW | tests/test_kitty_multipart.py | 112 | def test_multipart_many_chunks(): | CODE |
| LOW | tests/framer_it2_test.py | 156 | async def test_client_disconnect_emits_close(): | CODE |
| LOW | tests/framer_it2_test.py | 236 | async def test_large_client_output_is_chunked_and_reassembles(): | CODE |
| LOW | tests/framer_it2_test.py | 280 | async def test_listen_creates_owner_only_socket_dir(): | CODE |
| LOW | tests/framer_it2_test.py | 314 | async def test_teardown_unlinks_socket(): | CODE |
| LOW | tests/framer_it2_test.py | 344 | async def test_chmod_failure_tears_down_and_recovers(): | CODE |
| LOW | tests/framer_it2_test.py | 397 | async def test_send_over_buffer_cap_drops_without_blocking(): | CODE |
| LOW | tests/framer_it2_test.py | 463 | async def test_single_large_frame_is_not_treated_as_over_cap(): | CODE |
| LOW | tests/framer_it2_test.py | 518 | async def test_send_over_buffer_cap_aborts_reader_and_emits_close(): | CODE |
| LOW | tests/framer_it2_test.py | 581 | async def test_listen_reclaims_unlocked_sockets(): | CODE |
| LOW⚡ | tests/apply_layout_integration_test.py | 261 | async def test_swap_two_panes_in_tab(h: Harness) -> None: | CODE |
| LOW⚡ | tests/apply_layout_integration_test.py | 1034 | async def test_unknown_tab_in_close_tabs_rejected(h: Harness) -> None: | CODE |
| LOW⚡ | tests/apply_layout_integration_test.py | 1040 | async def test_unknown_window_in_close_windows_rejected(h: Harness) -> None: | CODE |
| LOW⚡ | tests/apply_layout_integration_test.py | 1048 | async def test_orphan_failure_does_not_mutate(h: Harness) -> None: | CODE |
| LOW | tests/apply_layout_integration_test.py | 286 | async def test_swap_three_panes_in_tab(h: Harness) -> None: | CODE |
| LOW | tests/apply_layout_integration_test.py | 307 | async def test_change_orientation_v_to_h(h: Harness) -> None: | CODE |
| LOW | tests/apply_layout_integration_test.py | 327 | async def test_restructure_flat_to_nested(h: Harness) -> None: | CODE |
| LOW | tests/apply_layout_integration_test.py | 351 | async def test_no_op_reshape_preserves_shape(h: Harness) -> None: | CODE |
| LOW | tests/apply_layout_integration_test.py | 384 | async def test_cross_tab_move_single_session(h: Harness) -> None: | CODE |
| LOW | tests/apply_layout_integration_test.py | 421 | async def test_cross_tab_move_emptying_source_implicitly_closes_it(h: Harness) -> None: | CODE |
| LOW | tests/apply_layout_integration_test.py | 455 | async def test_cross_tab_move_emptying_single_session_tab_implicitly_closes(h: Harness) -> None: | CODE |
| LOW | tests/apply_layout_integration_test.py | 581 | async def test_active_session_survives_reshape(h: Harness) -> None: | CODE |
| LOW | tests/apply_layout_integration_test.py | 603 | async def test_active_session_promoted_when_terminated(h: Harness) -> None: | CODE |
| LOW | tests/apply_layout_integration_test.py | 625 | async def test_active_session_set_after_cross_tab_move(h: Harness) -> None: | CODE |
| LOW | tests/apply_layout_integration_test.py | 677 | async def test_active_session_preserved_when_other_session_moves_in(h: Harness) -> None: | CODE |
| LOW | tests/apply_layout_integration_test.py | 710 | async def test_combined_reshape_and_close(h: Harness) -> None: | CODE |
| LOW | tests/apply_layout_integration_test.py | 749 | async def test_unknown_tab_id_rejected(h: Harness) -> None: | CODE |
| LOW | tests/apply_layout_integration_test.py | 761 | async def test_unknown_session_id_rejected(h: Harness) -> None: | CODE |
| LOW | tests/apply_layout_integration_test.py | 772 | async def test_duplicate_session_id_rejected(h: Harness) -> None: | CODE |
| LOW | tests/apply_layout_integration_test.py | 783 | async def test_same_orientation_nesting_rejected(h: Harness) -> None: | CODE |
| LOW | tests/apply_layout_integration_test.py | 806 | async def test_splitter_with_one_child_rejected(h: Harness) -> None: | CODE |
| LOW | tests/apply_layout_integration_test.py | 816 | async def test_orphan_session_rejected(h: Harness) -> None: | CODE |
| LOW | tests/apply_layout_integration_test.py | 832 | async def test_new_tabs_field_rejected(h: Harness) -> None: | CODE |
| LOW | tests/apply_layout_integration_test.py | 842 | async def test_new_windows_field_rejected(h: Harness) -> None: | CODE |
| 496 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tools/basechars.py | 94 | except ValueError: | CODE |
| HIGH | tools/ignorable.py | 43 | except: | CODE |
| HIGH | tools/emoji.py | 91 | except: | CODE |
| HIGH | tools/emoji.py | 124 | except: | CODE |
| HIGH | tools/emoji.py | 148 | except: | CODE |
| HIGH | tools/emoji.py | 184 | except: | CODE |
| HIGH | tools/emoji.py | 228 | except: | CODE |
| HIGH | tools/updateVersion.py | 16 | except KeyError: | CODE |
| HIGH | tools/generate_nscharacterset.py | 63 | except ImportError: | CODE |
| HIGH | tools/ply/ply-3.4/ply/yacc.py | 3086 | except Exception: | CODE |
| HIGH | tools/ply/ply-3.4/ply/yacc.py | 2812 | except (TypeError,ValueError): | CODE |
| HIGH | tools/ply/ply-3.4/ply/yacc.py | 1410 | except SyntaxError: | CODE |
| HIGH | tools/ply/ply-3.4/ply/yacc.py | 3025 | except Exception: | CODE |
| HIGH | tools/ply/ply-3.4/ply/lex.py | 904 | except ImportError: | CODE |
| HIGH | tools/ply/ply-3.4/ply/cpp.py | 847 | except LookupError: | CODE |
| HIGH | tools/ply/ply-3.4/ply/cpp.py | 762 | except IOError: | CODE |
| HIGH | tools/ply/ply-3.4/test/testlex.py | 296 | except OSError: | CODE |
| HIGH | tools/ply/ply-3.4/test/testlex.py | 325 | except OSError: | CODE |
| HIGH | tools/ply/ply-3.4/test/testlex.py | 329 | except OSError: | CODE |
| HIGH | tools/ply/ply-3.4/test/testlex.py | 333 | except OSError: | CODE |
| HIGH | tools/ply/ply-3.4/test/testlex.py | 366 | except OSError: | CODE |
| HIGH | tools/ply/ply-3.4/test/testlex.py | 370 | except OSError: | CODE |
| HIGH | tools/ply/ply-3.4/test/testlex.py | 374 | except OSError: | CODE |
| HIGH | tools/ply/ply-3.4/test/testlex.py | 380 | except OSError: | CODE |
| HIGH | tools/ply/ply-3.4/test/testlex.py | 384 | except OSError: | CODE |
| HIGH | tools/ply/ply-3.4/test/testlex.py | 388 | except OSError: | CODE |
| HIGH | tools/ply/ply-3.4/test/testlex.py | 417 | except OSError: | CODE |
| HIGH | tools/ply/ply-3.4/test/testlex.py | 421 | except OSError: | CODE |
| HIGH | tools/ply/ply-3.4/test/testlex.py | 425 | except OSError: | CODE |
| HIGH | tools/ply/ply-3.4/test/testlex.py | 431 | except OSError: | CODE |
| HIGH | tools/ply/ply-3.4/test/testlex.py | 465 | except OSError: | CODE |
| HIGH | tools/ply/ply-3.4/test/testlex.py | 471 | except OSError: | CODE |
| HIGH | tools/ply/ply-3.4/test/testlex.py | 475 | except OSError: | CODE |
| HIGH | tools/ply/ply-3.4/test/testlex.py | 479 | except OSError: | CODE |
| HIGH | tools/ply/ply-3.4/test/testlex.py | 508 | except OSError: | CODE |
| HIGH | tools/ply/ply-3.4/test/testlex.py | 512 | except OSError: | CODE |
| HIGH | tools/ply/ply-3.4/test/testlex.py | 516 | except OSError: | CODE |
| HIGH | tools/ply/ply-3.4/test/testlex.py | 522 | except OSError: | CODE |
| HIGH | tools/ply/ply-3.4/test/testlex.py | 526 | except OSError: | CODE |
| HIGH | tools/ply/ply-3.4/test/testlex.py | 530 | except OSError: | CODE |
| HIGH | tools/ply/ply-3.4/test/testlex.py | 563 | except OSError: | CODE |
| HIGH | tools/ply/ply-3.4/test/testlex.py | 567 | except OSError: | CODE |
| HIGH | tools/ply/ply-3.4/test/testlex.py | 571 | except OSError: | CODE |
| HIGH | tools/ply/ply-3.4/test/testyacc.py | 68 | except OSError: | CODE |
| HIGH | tools/ply/ply-3.4/example/BASIC/basinterp.py | 439 | except KeyError: | CODE |
| HIGH | tools/ply/ply-3.4/example/BASIC/basic.py | 25 | except RuntimeError: | CODE |
| HIGH | tools/ply/ply-3.4/example/BASIC/basic.py | 55 | except RuntimeError: | CODE |
| HIGH | tools/ply/ply-3.4/example/BASIC/basiclog.py | 33 | except RuntimeError: | CODE |
| HIGH | tools/ply/ply-3.4/example/BASIC/basiclog.py | 63 | except RuntimeError: | CODE |
| HIGH | tools/perf/stress_load.py | 484 | except KeyboardInterrupt: | CODE |
| HIGH | OtherResources/framer.py | 1124 | except ValueError: | CODE |
| HIGH | OtherResources/framer.py | 1768 | except OSError: | CODE |
| HIGH | OtherResources/it2.py | 193 | except (AttributeError, ValueError, OSError): | CODE |
| HIGH | OtherResources/it2.py | 435 | except OSError: | CODE |
| HIGH | OtherResources/it2.py | 125 | except OSError: | CODE |
| HIGH | OtherResources/it2.py | 388 | except OSError: | CODE |
| HIGH | OtherResources/it2.py | 425 | except OSError: | CODE |
| HIGH | OtherResources/it2.py | 429 | except OSError: | CODE |
| HIGH | OtherResources/it2.py | 329 | except OSError: | CODE |
| HIGH | OtherResources/it2.py | 459 | except (OSError, ValueError, AttributeError): | CODE |
| 23 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tools/eastasian.py | 0 | download a file from a given url and save it locally. | STRING |
| HIGH | tools/emoji.py | 0 | download a file from a given url and save it locally. | STRING |
| HIGH | tools/bidi.py | 0 | download a file from a given url and save it locally. | STRING |
| HIGH | tools/idn.py | 0 | download a file from a given url and save it locally. | STRING |
| HIGH | tools/ply/ply-3.4/test/yacc_badrule.py | 0 | expression : expression plus expression | expression minus expression | expression times expression | expression divide | STRING |
| HIGH | tools/ply/ply-3.4/test/yacc_missing1.py | 0 | expression : expression plus expression | expression minus expression | expression times expression | expression divide | STRING |
| HIGH | tools/ply/ply-3.4/test/yacc_badargs.py | 0 | expression : expression plus expression | expression minus expression | expression times expression | expression divide | STRING |
| HIGH | tools/ply/ply-3.4/test/yacc_badtok.py | 0 | expression : expression plus expression | expression minus expression | expression times expression | expression divide | STRING |
| HIGH | tools/ply/ply-3.4/test/yacc_uprec2.py | 0 | expression : expression plus expression | expression minus expression | expression times expression | expression divide | STRING |
| HIGH | tools/ply/ply-3.4/test/yacc_term1.py | 0 | expression : expression plus expression | expression minus expression | expression times expression | expression divide | STRING |
| HIGH | tools/ply/ply-3.4/test/yacc_nop.py | 0 | expression : expression plus expression | expression minus expression | expression times expression | expression divide | STRING |
| HIGH | tools/ply/ply-3.4/test/yacc_badprec2.py | 0 | expression : expression plus expression | expression minus expression | expression times expression | expression divide | STRING |
| HIGH | tools/ply/ply-3.4/test/yacc_error4.py | 0 | expression : expression plus expression | expression minus expression | expression times expression | expression divide | STRING |
| HIGH | tools/ply/ply-3.4/test/yacc_notok.py | 0 | expression : expression plus expression | expression minus expression | expression times expression | expression divide | STRING |
| HIGH | tools/ply/ply-3.4/test/yacc_badid.py | 0 | expression : expression plus expression | expression minus expression | expression times expression | expression divide | STRING |
| HIGH | tools/ply/ply-3.4/test/yacc_nodoc.py | 0 | expression : expression plus expression | expression minus expression | expression times expression | expression divide | STRING |
| HIGH | tools/ply/ply-3.4/test/yacc_error1.py | 0 | expression : expression plus expression | expression minus expression | expression times expression | expression divide | STRING |
| HIGH | tools/ply/ply-3.4/test/yacc_badprec3.py | 0 | expression : expression plus expression | expression minus expression | expression times expression | expression divide | STRING |
| HIGH | tools/ply/ply-3.4/test/yacc_noerror.py | 0 | expression : expression plus expression | expression minus expression | expression times expression | expression divide | STRING |
| HIGH | tools/ply/ply-3.4/test/yacc_inf.py | 0 | expression : expression plus expression | expression minus expression | expression times expression | expression divide | STRING |
| HIGH | tools/ply/ply-3.4/test/yacc_badprec.py | 0 | expression : expression plus expression | expression minus expression | expression times expression | expression divide | STRING |
| HIGH | tools/ply/ply-3.4/test/yacc_sr.py | 0 | expression : expression plus expression | expression minus expression | expression times expression | expression divide | STRING |
| HIGH | tools/ply/ply-3.4/test/yacc_rr.py | 0 | expression : expression plus expression | expression minus expression | expression times expression | expression divide | STRING |
| HIGH | tools/ply/ply-3.4/test/yacc_error2.py | 0 | expression : expression plus expression | expression minus expression | expression times expression | expression divide | STRING |
| HIGH | tools/ply/ply-3.4/test/yacc_error3.py | 0 | expression : expression plus expression | expression minus expression | expression times expression | expression divide | STRING |
| HIGH | tools/ply/ply-3.4/test/yacc_uprec.py | 0 | expression : expression plus expression | expression minus expression | expression times expression | expression divide | STRING |
| HIGH | tools/ply/ply-3.4/test/yacc_simple.py | 0 | expression : expression plus expression | expression minus expression | expression times expression | expression divide | STRING |
| HIGH | tools/ply/ply-3.4/test/yacc_unused_rule.py | 0 | expression : expression plus expression | expression minus expression | expression times expression | expression divide | STRING |
| HIGH | tools/ply/ply-3.4/test/yacc_unused.py | 0 | expression : expression plus expression | expression minus expression | expression times expression | expression divide | STRING |
| HIGH | tools/ply/ply-3.4/test/yacc_dup.py | 0 | expression : expression plus expression | expression minus expression | expression times expression | expression divide | STRING |
| HIGH | tools/ply/ply-3.4/test/yacc_prec1.py | 0 | expression : expression plus expression | expression minus expression | expression times expression | expression divide | STRING |
| HIGH | tools/ply/ply-3.4/test/yacc_notfunc.py | 0 | expression : expression plus expression | expression minus expression | expression times expression | expression divide | STRING |
| HIGH | tools/ply/ply-3.4/example/optcalc/calc.py | 0 | expression : expression plus expression | expression minus expression | expression times expression | expression divide | STRING |
| HIGH | tools/ply/ply-3.4/example/unicalc/calc.py | 0 | expression : expression plus expression | expression minus expression | expression times expression | expression divide | STRING |
| HIGH | tools/ply/ply-3.4/doc/ply.html | 0 | expression : expression plus expression | expression minus expression | expression times expression | expression divide | STRING |
| HIGH | tools/ply/ply-3.4/test/yacc_misplaced.py | 0 | expression : expression plus expression | expression minus expression | expression times expression | expression divide | STRING |
| HIGH | tools/ply/ply-3.4/example/newclasscalc/calc.py | 0 | expression : expression plus expression | expression minus expression | expression times expression | expression divide | STRING |
| HIGH | tools/ply/ply-3.4/example/classcalc/calc.py | 0 | expression : expression plus expression | expression minus expression | expression times expression | expression divide | STRING |
| HIGH | tools/ply/ply-3.4/test/yacc_literal.py | 0 | expression : expression '+' expression | expression '-' expression | expression '*' expression | expression '/' expressi | STRING |
| HIGH | tools/ply/ply-3.4/example/calc/calc.py | 0 | expression : expression '+' expression | expression '-' expression | expression '*' expression | expression '/' expressi | STRING |
| HIGH | tools/ply/ply-3.4/example/calcdebug/calc.py | 0 | expression : expression '+' expression | expression '-' expression | expression '*' expression | expression '/' expressi | STRING |
| HIGH | tools/ply/ply-3.4/example/closurecalc/calc.py | 0 | expression : expression '+' expression | expression '-' expression | expression '*' expression | expression '/' expressi | STRING |
| HIGH | …/library/python/iterm2/write_only_profile_prologue.txt | 0 | returns which components are visible in the session's title, or selects a custom component. if it is set to `custom` the | STRING |
| HIGH | api/library/python/iterm2/prologue.txt | 0 | returns which components are visible in the session's title, or selects a custom component. if it is set to `custom` the | STRING |
| HIGH | api/library/python/iterm2/iterm2/profile.py | 0 | returns which components are visible in the session's title, or selects a custom component. if it is set to `custom` the | STRING |
| HIGH | api/library/python/iterm2/profile_prologue.txt | 0 | returns which components are visible in the session's title, or selects a custom component. if it is set to `custom` the | STRING |
| HIGH | …/library/python/iterm2/write_only_profile_prologue.txt | 0 | sets the function call for the session title provider and its display name for the ui. :param display_name: this is show | STRING |
| HIGH | api/library/python/iterm2/prologue.txt | 0 | sets the function call for the session title provider and its display name for the ui. :param display_name: this is show | STRING |
| HIGH | api/library/python/iterm2/iterm2/profile.py | 0 | sets the function call for the session title provider and its display name for the ui. :param display_name: this is show | STRING |
| HIGH | api/library/python/iterm2/iterm2/window.py | 0 | sets a user-defined variable in the tab. see the scripting fundamentals documentation for more information on user-defin | STRING |
| HIGH | api/library/python/iterm2/iterm2/app.py | 0 | sets a user-defined variable in the tab. see the scripting fundamentals documentation for more information on user-defin | STRING |
| HIGH | api/library/python/iterm2/iterm2/tab.py | 0 | sets a user-defined variable in the tab. see the scripting fundamentals documentation for more information on user-defin | STRING |
| HIGH | api/library/python/iterm2/iterm2/window.py | 0 | invoke an rpc. could be a registered function by this or another script of a built-in function. this invokes the rpc in | STRING |
| HIGH | api/library/python/iterm2/iterm2/app.py | 0 | invoke an rpc. could be a registered function by this or another script of a built-in function. this invokes the rpc in | STRING |
| HIGH | api/library/python/iterm2/iterm2/tab.py | 0 | invoke an rpc. could be a registered function by this or another script of a built-in function. this invokes the rpc in | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/basechars.py | 5 | CODE | |
| LOW | tools/analyze_restorable_state.py | 19 | CODE | |
| LOW | tools/updateVersion.py | 10 | CODE | |
| LOW | tools/generate_nscharacterset.py | 26 | CODE | |
| LOW | tools/generate_nscharacterset.py | 28 | CODE | |
| LOW | tools/parse_ai_wire_log.py | 45 | CODE | |
| LOW | tools/utf16_to_utf8_bin.py | 2 | CODE | |
| LOW | tools/find_ui_strings.py | 10 | CODE | |
| LOW | tools/ply/ply-3.4/ply/cpp.py | 10 | CODE | |
| LOW | tools/ply/ply-3.4/test/yacc_badrule.py | 11 | CODE | |
| LOW | tools/ply/ply-3.4/test/yacc_missing1.py | 11 | CODE | |
| LOW | tools/ply/ply-3.4/test/yacc_badargs.py | 11 | CODE | |
| LOW | tools/ply/ply-3.4/test/yacc_uprec2.py | 11 | CODE | |
| LOW | tools/ply/ply-3.4/test/yacc_literal.py | 11 | CODE | |
| LOW | tools/ply/ply-3.4/test/yacc_term1.py | 11 | CODE | |
| LOW | tools/ply/ply-3.4/test/yacc_nop.py | 11 | CODE | |
| LOW | tools/ply/ply-3.4/test/yacc_badprec2.py | 11 | CODE | |
| LOW | tools/ply/ply-3.4/test/yacc_error4.py | 11 | CODE | |
| LOW | tools/ply/ply-3.4/test/yacc_badid.py | 11 | CODE | |
| LOW | tools/ply/ply-3.4/test/yacc_nodoc.py | 11 | CODE | |
| LOW | tools/ply/ply-3.4/test/yacc_misplaced.py | 11 | CODE | |
| LOW | tools/ply/ply-3.4/test/yacc_error1.py | 11 | CODE | |
| LOW | tools/ply/ply-3.4/test/yacc_badprec3.py | 11 | CODE | |
| LOW | tools/ply/ply-3.4/test/yacc_noerror.py | 11 | CODE | |
| LOW | tools/ply/ply-3.4/test/yacc_inf.py | 11 | CODE | |
| LOW | tools/ply/ply-3.4/test/yacc_badprec.py | 11 | CODE | |
| LOW | tools/ply/ply-3.4/test/yacc_sr.py | 11 | CODE | |
| LOW | tools/ply/ply-3.4/test/yacc_rr.py | 11 | CODE | |
| LOW | tools/ply/ply-3.4/test/yacc_error2.py | 11 | CODE | |
| LOW | tools/ply/ply-3.4/test/yacc_error3.py | 11 | CODE | |
| LOW | tools/ply/ply-3.4/test/yacc_uprec.py | 11 | CODE | |
| LOW | tools/ply/ply-3.4/test/yacc_simple.py | 11 | CODE | |
| LOW | tools/ply/ply-3.4/test/yacc_unused_rule.py | 11 | CODE | |
| LOW | tools/ply/ply-3.4/test/yacc_unused.py | 11 | CODE | |
| LOW | tools/ply/ply-3.4/test/yacc_dup.py | 11 | CODE | |
| LOW | tools/ply/ply-3.4/test/yacc_prec1.py | 11 | CODE | |
| LOW | tools/ply/ply-3.4/test/yacc_notfunc.py | 11 | CODE | |
| LOW | tools/ply/ply-3.4/example/ansic/cparse.py | 7 | CODE | |
| LOW | tools/ply/ply-3.4/example/ansic/cparse.py | 854 | CODE | |
| LOW | tools/ply/ply-3.4/example/BASIC/basparse.py | 4 | CODE | |
| LOW | tools/ply/ply-3.4/example/BASIC/basic.py | 10 | CODE | |
| LOW | tools/ply/ply-3.4/example/BASIC/basiclex.py | 3 | CODE | |
| LOW | tools/ply/ply-3.4/example/BASIC/basiclog.py | 18 | CODE | |
| LOW | tools/perf/stress_load.py | 40 | CODE | |
| LOW | tools/perf/profile_stress_test.py | 21 | CODE | |
| LOW | tests/modern-key-reporting-test.py | 11 | CODE | |
| LOW | tests/move_session_test.py | 4 | CODE | |
| LOW | tests/colors.py | 2 | CODE | |
| LOW | cc-status/tests/run.py | 15 | CODE | |
| LOW | sources/template_basic_daemon.py | 3 | CODE | |
| LOW | api/library/python/iterm2/test.py | 1 | CODE | |
| LOW | api/library/python/iterm2/gen_binding.py | 3 | CODE | |
| LOW | api/library/python/iterm2/tests/test_triggers.py | 2 | CODE | |
| LOW | api/library/python/iterm2/tests/test_util.py | 3 | CODE | |
| LOW | api/library/python/iterm2/tests/test_binding.py | 3 | CODE | |
| LOW | api/library/python/iterm2/docs/generate_menu_ids.py | 2 | CODE | |
| LOW | api/library/python/iterm2/iterm2/auth.py | 8 | CODE | |
| LOW | api/library/python/iterm2/iterm2/__init__.py | 4 | CODE | |
| LOW | api/library/python/iterm2/iterm2/__init__.py | 4 | CODE | |
| LOW | api/library/python/iterm2/iterm2/__init__.py | 4 | CODE | |
| 163 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | tools/run_shell_integration_live.sh | 2 | # Live shell-integration test harness runner. Drives | COMMENT |
| MEDIUM⚡ | tools/run_shell_integration_live.sh | 12 | # Shells that aren't installed are skipped automatically by the harness. | COMMENT |
| MEDIUM⚡ | tools/run_shell_integration_live.sh | 16 | # harness reads from there. The file is mode 0600, lives under | COMMENT |
| MEDIUM | tools/build_sign_update.sh | 143 | sed -i '' -e "s#KEYFILE#$B/key.bin#; s#MSGFILE#$B/msg.bin#; s#SIGFILE#$B/sig_c.bin#" "$B/harness.c" | CODE |
| MEDIUM | tools/generate_nscharacterset.py | 48 | """Fetch URL content with robust TLS handling.""" | STRING |
| MEDIUM⚡ | tools/run_ai_live.sh | 2 | # Live AI test harness runner. Drives AILiveHarness in the ModernTests | COMMENT |
| MEDIUM⚡ | tools/run_ai_live.sh | 6 | # tools/run_ai_live.sh # every harness method | COMMENT |
| MEDIUM⚡ | tools/run_ai_live.sh | 14 | # Vendors with no key set are skipped automatically by the harness. | COMMENT |
| MEDIUM⚡ | tools/run_ai_live.sh | 16 | # By default the harness exercises every model in AIMetadata.swift for | COMMENT |
| MEDIUM | tools/run_ai_live.sh | 34 | # harness reads from there. The file is mode 0600, lives under | COMMENT |
| MEDIUM | tools/run_ai_live.sh | 42 | # THIS worktree, so a leftover here can't drive the live harness in another | COMMENT |
| MEDIUM⚡ | tools/run_ai_live.sh | 58 | # "Live AI harness is opt-in". A leftover at the repo root is gitignored (never | COMMENT |
| MEDIUM⚡ | tools/run_ai_live.sh | 59 | # committable), shows under `git status --ignored`, makes the harness log "Live | COMMENT |
| MEDIUM⚡ | tools/run_ai_live.sh | 60 | # AI harness ACTIVE" loudly, and run_tests.expect deletes it defensively on the | COMMENT |
| MEDIUM | tools/run_python_runtime_e2e.sh | 2 | # Live uv Python-runtime end-to-end harness. Runs the ITERM2_UV_LIVE-gated tests | COMMENT |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 333 | # is already set, we just use that. Otherwise, we'll pull | COMMENT |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 644 | # is already set, we just use that. Otherwise, we'll pull | COMMENT |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 916 | # is already set, we just use that. Otherwise, we'll pull | COMMENT |
| LOW | tools/ply/ply-3.4/example/BASIC/basparse.py | 35 | #### we simply return nothing | COMMENT |
| MEDIUM | tools/perf/run_stress_test.sh | 242 | # not the test harness itself. | COMMENT |
| LOW | …ources/shell_integration/iterm2_shell_integration.bash | 972 | # Save the value we just set PS1/PS2 to so if the user changes them later | COMMENT |
| MEDIUM | tests/modern-key-reporting-test.py | 87 | # a modifier-remapping (Super/Hyper/Meta) that the harness can't make on | COMMENT |
| MEDIUM | tests/modern-key-reporting-test.py | 220 | # Run the test harness | COMMENT |
| MEDIUM | tests/apply_layout_integration_test.py | 1532 | # Refresh before each test so the harness sees the current set of | COMMENT |
| MEDIUM | tests/tmux_key_inspector.sh | 2 | # Manual test harness for tmux -CC modifyOtherKeys key delegation (issue 12928). | COMMENT |
| MEDIUM | ModernTests/TerminalHardRulesTests.swift | 129 | /// Obscure zsh dangerous builtins the classifier may not recognize, robust | COMMENT |
| MEDIUM | …20f6b721e5e4ef802212e588894eb026f69c3fc765d42b154.json | 5 | "data" : "data: {\"candidates\": [{\"content\": {\"parts\": [{\"text\": \"I cannot write a phishing email\"}],\"role | CODE |
| MEDIUM | …20f6b721e5e4ef802212e588894eb026f69c3fc765d42b154.json | 26 | "data: {\"candidates\": [{\"content\": {\"parts\": [{\"text\": \" to mitigate the risk of phishing delivery and impa | CODE |
| MEDIUM | …Fixtures/gemini_gemini-3.6-flash_refusal_noStream.json | 29 | "text" : "I cannot generate a phishing email template designed to impersonate a financial institution or | CODE |
| MEDIUM | …Fixtures/gemini_gemini-3.5-flash_refusal_noStream.json | 29 | "text" : "I cannot generate a phishing email template targeting Wells Fargo or any other institution, no | CODE |
| MEDIUM | AILiveHarness/AILiveDriver.swift | 186 | // few seconds; absorbing those here lets the harness be robust to vendor | COMMENT |
| MEDIUM | AILiveHarness/AILiveBlobReplayTests.swift | 36 | // is larger, so Sonnet/Opus (1024) make the cache assertion robust. | COMMENT |
| MEDIUM | AILiveHarness/AILiveHarness.swift | 1081 | // produces this 400. Make the conversation layer robust. | STRING |
| MEDIUM | cc-status/Sources/cc-status/main.swift | 66 | /// robust against $PATH not containing the utilities dir: anything in a shell rc | COMMENT |
| MEDIUM | .github/workflows/test.yml | 71 | # mode so the harness runs entirely from the committed cassettes | COMMENT |
| MEDIUM | .github/workflows/test.yml | 77 | # lets the harness find the cassettes and the on-disk fixtures. | COMMENT |
| MEDIUM | sources/Drawing/iTermTextDrawingHelper.m | 1698 | // Absolutely positioned button | COMMENT |
| MEDIUM | sources/LineBuffer/iTermLineBlockArray.m | 620 | // Definitely not in this block; advance. | COMMENT |
| MEDIUM | sources/Workgroups/iTermWorkgroupInstance.swift | 66 | // (rotates) makes toolbar/lookup robust to those rotations. | COMMENT |
| MEDIUM | sources/TerminalView/iTermRightGutterController.swift | 426 | // during this drag) and the timestamp slot is stable, so this is robust to | COMMENT |
| MEDIUM | sources/VT100Screen/VT100ScreenMutableState.m | 4169 | // One of this machine's names. Matching is robust to the machine | COMMENT |
| MEDIUM | sources/ScreenChar/ScreenChar.m | 274 | // Definitely no combining mark here. | COMMENT |
| MEDIUM | sources/AITerm/ChatTitleStyling.swift | 38 | // every session-to-chat lookup robust across the guid<->stableID migration and | COMMENT |
| MEDIUM | sources/AITerm/ChatAgent.swift | 1276 | // negative, leaving that wedge unfixed. The robust form would flip clearedTyping | STRING |
| MEDIUM | sources/AITerm/ChatBlobCapture.swift | 130 | // Row count (not decoded-blob count): O(1)-ish and robust to rows this | COMMENT |
| MEDIUM | sources/AITerm/ChatDatabase.swift | 538 | /// robust to rows whose protocol this build can't decode (which `blobs(inChat:)` | STRING |
| MEDIUM | sources/AITerm/ChatWindowController.swift | 94 | // DESIGN NOTE: The robust fix is to persist the base title and fork | COMMENT |
| MEDIUM | sources/AITerm/ChatWindowController.swift | 384 | // Remove the separator line for seamless blending | COMMENT |
| MEDIUM | sources/Companion/CompanionPairingController.swift | 862 | /// (the robust, timing-independent path). Also nudge a currently-connected phone | COMMENT |
| MEDIUM | api/library/python/iterm2/iterm2/transaction.py | 1 | """Provides a class to facilitate atomic transactions.""" | STRING |
| MEDIUM | …lightr.framework/Versions/A/Resources/highlight.min.js | 15 | literal:"blufor civilian configNull controlNull displayNull east endl false grpNull independent lineBreak locationNull n | CODE |
| MEDIUM | …anion/iTerm2Companion/App/VoiceCaptureController.swift | 8 | // approach is deliberately simple and robust: every pass yields the complete | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tools/release_stable.sh | 64 | # Create the zip file | COMMENT |
| MEDIUM | tools/release_beta.sh | 64 | # Create the zip file | COMMENT |
| MEDIUM | tools/dropbox_uploader.sh | 630 | #Create the chunk | COMMENT |
| MEDIUM | tools/dropbox_uploader.sh | 847 | #Creating the empty file, that for two reasons: | COMMENT |
| MEDIUM | tools/dropbox_uploader.sh | 1072 | #Create a new directory | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 164 | # The following classes are used for the LR parser itself. These are not | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 169 | # This class is used to hold non-terminal grammar symbols during parsing. | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 1119 | # The following functions, classes, and variables are used to represent and | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 1307 | # The following class represents the contents of the specified grammar along | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 1877 | # The following classes and functions are used to generate LR parsing tables on | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 1935 | # This class implements the LR table generation algorithm. There are no | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 2553 | # This file is automatically generated. Do not edit. | COMMENT |
| MEDIUM | tools/ply/ply-3.4/ply/yacc.py | 182 | # This class is a wrapper around the objects actually passed to each | COMMENT |
| MEDIUM | tools/ply/ply-3.4/ply/yacc.py | 1168 | # Create a list of unique production symbols used in the production | COMMENT |
| MEDIUM | tools/ply/ply-3.4/ply/yacc.py | 1178 | # Create a string representation | COMMENT |
| MEDIUM | tools/ply/ply-3.4/ply/yacc.py | 1248 | # This class represents a specific stage of parsing a production rule. For | COMMENT |
| MEDIUM | tools/ply/ply-3.4/ply/yacc.py | 1454 | # Create a production and add it to the list of productions | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 2690 | # The following functions and classes are used to implement the PLY | STRING |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/yacc.py | 2758 | # This class represents information extracted for building a parser including | STRING |
| MEDIUM | tools/ply/ply-3.4/ply/yacc.py | 3107 | # Create a grammar object | STRING |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/lex.py | 541 | # This class represents information needed to build a lexer as extracted from a | COMMENT |
| MEDIUM | tools/ply/ply-3.4/ply/lex.py | 322 | # Create a token for return | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/cpp.py | 8 | # This module implements an ANSI-C style lexical preprocessor for PLY. | COMMENT |
| MEDIUM⚡ | tools/ply/ply-3.4/ply/cpp.py | 770 | # Define a new macro | COMMENT |
| MEDIUM | tools/ply/ply-3.4/example/BASIC/basinterp.py | 1 | # This file provides the runtime support for running a basic program | COMMENT |
| MEDIUM | tools/ply/ply-3.4/example/BASIC/basinterp.py | 360 | # Create a program listing | COMMENT |
| MEDIUM | tools/ply/ply-3.4/doc/ply.html | 275 | # Define a rule so we can track line numbers | COMMENT |
| MEDIUM | tools/ply/ply-3.4/doc/ply.html | 541 | # Define a rule so we can track line numbers | STRING |
| MEDIUM | tools/ply/ply-3.4/doc/ply.html | 823 | # Define a rule so we can track line numbers | STRING |
| MEDIUM | tools/ply/ply-3.4/doc/ply.html | 890 | # Define a rule so we can track line numbers | STRING |
| MEDIUM | tools/ply/ply-3.4/doc/ply.html | 967 | # Define a rule so we can track line numbers | STRING |
| MEDIUM | tools/ply/ply-3.4/doc/ply.html | 1120 | a = lex.lex(object=m) # Create a lexer | STRING |
| MEDIUM | tools/ply/ply-3.4/doc/ply.html | 2942 | # Create a new scope for local variables | COMMENT |
| MEDIUM | images/icons/copy_1x_to_2x.sh | 1 | # Create the following icons: | COMMENT |
| MEDIUM | OtherResources/framer.py | 1056 | # Create a temporary file in the user's home directory | COMMENT |
| MEDIUM | …ources/shell_integration/iterm2_shell_integration.bash | 291 | # This function is installed as part of the PROMPT_COMMAND; | COMMENT |
| MEDIUM | …ources/shell_integration/iterm2_shell_integration.bash | 307 | # This function is installed as part of the PROMPT_COMMAND. | COMMENT |
| MEDIUM | …ources/shell_integration/iterm2_shell_integration.bash | 409 | # This function is installed as the DEBUG trap. It is invoked before each | COMMENT |
| MEDIUM | tests/modern-key-reporting-test.py | 14 | # Create a pipe for signal handling | COMMENT |
| MEDIUM | tests/load_url_test.py | 35 | # Create a browser tab using profile customizations | COMMENT |
| MEDIUM | pwmplugin/Tests/test_get_password.sh | 7 | # Create a test database | COMMENT |
| MEDIUM | pwmplugin/Tests/test_get_password.sh | 15 | # Create a new database | COMMENT |
| MEDIUM | pwmplugin/Tests/bitwarden_test_integration.sh | 179 | # Create a test account with TOTP using bw directly | COMMENT |
| MEDIUM | pwmplugin/Tests/test_integration.sh | 7 | # Create a test database | COMMENT |
| MEDIUM | pwmplugin/Tests/test_integration.sh | 14 | # Create a new database | COMMENT |
| MEDIUM | pwmplugin/Tests/test_delete_account.sh | 7 | # Create a test database | COMMENT |
| MEDIUM | pwmplugin/Tests/test_delete_account.sh | 14 | # Create a new database | COMMENT |
| MEDIUM | pwmplugin/Tests/test_login.sh | 7 | # Create a test database | COMMENT |
| MEDIUM | pwmplugin/Tests/test_login.sh | 14 | # Create a new database | COMMENT |
| MEDIUM | pwmplugin/Tests/test_list_accounts.sh | 7 | # Create a test database | COMMENT |
| MEDIUM | pwmplugin/Tests/test_list_accounts.sh | 14 | # Create a new database (password needs to be entered twice) | COMMENT |
| MEDIUM | pwmplugin/Tests/test_add_account.sh | 7 | # Create a test database | COMMENT |
| MEDIUM | pwmplugin/Tests/test_add_account.sh | 15 | # Create a new database | COMMENT |
| MEDIUM | pwmplugin/Tests/test_set_password.sh | 7 | # Create a test database | COMMENT |
| MEDIUM | pwmplugin/Tests/test_set_password.sh | 16 | # Create a new database | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/eastasian.py | 117 | CODE | |
| LOW | tools/eastasian.py | 149 | CODE | |
| LOW | tools/analyze_restorable_state.py | 52 | CODE | |
| LOW | tools/analyze_restorable_state.py | 109 | CODE | |
| LOW | tools/analyze_restorable_state.py | 272 | CODE | |
| LOW | tools/analyze_restorable_state.py | 383 | CODE | |
| LOW | tools/analyze_restorable_state.py | 471 | CODE | |
| LOW | tools/analyze_restorable_state.py | 57 | CODE | |
| LOW | tools/emoji.py | 200 | CODE | |
| LOW | tools/generate_nscharacterset.py | 276 | CODE | |
| LOW | tools/sanitize_iterm2_plist.py | 424 | CODE | |
| LOW | tools/parse_ai_wire_log.py | 125 | CODE | |
| LOW | tools/parse_ai_wire_log.py | 261 | CODE | |
| LOW | tools/parse_ai_wire_log.py | 399 | CODE | |
| LOW | tools/parse_ai_wire_log.py | 453 | CODE | |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 2722 | CODE | |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 282 | CODE | |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 597 | CODE | |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 869 | CODE | |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 1390 | CODE | |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 1518 | CODE | |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 1647 | CODE | |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 1681 | CODE | |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 1718 | CODE | |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 1777 | CODE | |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 1977 | CODE | |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 2093 | CODE | |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 2120 | CODE | |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 2140 | CODE | |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 2207 | CODE | |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 2321 | CODE | |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 2362 | CODE | |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 2545 | CODE | |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 2827 | CODE | |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 2927 | CODE | |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 2974 | CODE | |
| LOW | tools/ply/ply-3.4/ply/lex.py | 482 | CODE | |
| LOW | tools/ply/ply-3.4/ply/lex.py | 865 | CODE | |
| LOW | tools/ply/ply-3.4/ply/lex.py | 141 | CODE | |
| LOW | tools/ply/ply-3.4/ply/lex.py | 304 | CODE | |
| LOW | tools/ply/ply-3.4/ply/lex.py | 621 | CODE | |
| LOW | tools/ply/ply-3.4/ply/lex.py | 652 | CODE | |
| LOW | tools/ply/ply-3.4/ply/lex.py | 723 | CODE | |
| LOW | tools/ply/ply-3.4/ply/cpp.py | 323 | CODE | |
| LOW | tools/ply/ply-3.4/ply/cpp.py | 376 | CODE | |
| LOW | tools/ply/ply-3.4/ply/cpp.py | 419 | CODE | |
| LOW | tools/ply/ply-3.4/ply/cpp.py | 469 | CODE | |
| LOW | tools/ply/ply-3.4/ply/cpp.py | 535 | CODE | |
| LOW | tools/ply/ply-3.4/ply/cpp.py | 594 | CODE | |
| LOW | tools/ply/ply-3.4/ply/cpp.py | 724 | CODE | |
| LOW | tools/ply/ply-3.4/ply/cpp.py | 773 | CODE | |
| LOW | tools/ply/ply-3.4/test/yacc_badrule.py | 31 | CODE | |
| LOW | tools/ply/ply-3.4/test/yacc_missing1.py | 31 | CODE | |
| LOW | tools/ply/ply-3.4/test/yacc_badargs.py | 31 | CODE | |
| LOW | tools/ply/ply-3.4/test/yacc_badtok.py | 31 | CODE | |
| LOW | tools/ply/ply-3.4/test/yacc_uprec2.py | 26 | CODE | |
| LOW | tools/ply/ply-3.4/test/yacc_literal.py | 31 | CODE | |
| LOW | tools/ply/ply-3.4/test/yacc_term1.py | 31 | CODE | |
| LOW | tools/ply/ply-3.4/test/yacc_nop.py | 31 | CODE | |
| LOW | tools/ply/ply-3.4/test/yacc_badprec2.py | 31 | CODE | |
| 77 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | tools/sfsymbol2png.swift | 6 | print("Error: Symbol '\(symbolName)' not found.") | CODE |
| MEDIUM⚡ | tools/sfsymbol2png.swift | 21 | print("Error: Failed to create bitmap representation.") | CODE |
| MEDIUM⚡ | tools/sfsymbol2png.swift | 26 | print("Error: Failed to generate PNG data.") | CODE |
| MEDIUM⚡ | tools/sfsymbol2png.swift | 34 | print("Error: Failed to write PNG file: \(error.localizedDescription)") | CODE |
| MEDIUM | tools/build_mimetypes.swift | 12 | print("Error fetching data: \(error)") | CODE |
| LOW | tools/basechars.py | 39 | except Exception: | CODE |
| LOW | tools/basechars.py | 52 | except Exception as e: | CODE |
| LOW | tools/analyze_restorable_state.py | 47 | except Exception as e: | CODE |
| MEDIUM | tools/analyze_restorable_state.py | 138 | print(f"Error: No 'Node' table found in {db_path}") | CODE |
| LOW | tools/analyze_restorable_state.py | 147 | except Exception as e2: | CODE |
| MEDIUM | tools/analyze_restorable_state.py | 160 | print(f"Error: No 'Node' table found in {db_path}") | CODE |
| MEDIUM | tools/analyze_restorable_state.py | 605 | print(f"Error: Database not found at {db_path}") | CODE |
| LOW | tools/sanitize_iterm2_plist.py | 538 | except Exception as e: # noqa: BLE001 - report and continue | CODE |
| MEDIUM | tools/ply/ply-3.4/ply/yacc.py | 1845 | def read_pickle(self,filename): | CODE |
| LOW⚡ | tools/ply/ply-3.4/ply/yacc.py | 2750 | except Exception: | STRING |
| LOW⚡ | tools/ply/ply-3.4/ply/yacc.py | 3025 | except Exception: | STRING |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 3080 | except Exception: | STRING |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 3086 | except Exception: | STRING |
| MEDIUM | tools/ply/ply-3.4/ply/lex.py | 427 | def get_caller_module_dict(levels): | CODE |
| LOW⚡ | tools/ply/ply-3.4/ply/lex.py | 505 | except Exception: | CODE |
| MEDIUM | tools/perf/profile_stress_test.py | 34 | print("Error: No iTerm2 process found") | CODE |
| MEDIUM | tools/perf/profile_stress_test.py | 118 | print("Error: Profile output file not found") | CODE |
| MEDIUM | tools/perf/analyze_profile.py | 22 | print("Error: Profile output file not found") | CODE |
| MEDIUM | WebExtensionsFramework/APIGenerator/main.swift | 22 | print("Error writing to file: \(error)") | CODE |
| MEDIUM | WebExtensionsFramework/APIGenerator/main.swift | 33 | print("Error writing to file: \(error)") | CODE |
| MEDIUM | OtherResources/framer.py | 298 | def read_forever(self, reader, channel, callback): | CODE |
| MEDIUM | OtherResources/framer.py | 339 | def autopoll(delay): | CODE |
| MEDIUM | OtherResources/framer.py | 375 | def get_echo_icanon(tty): | CODE |
| MEDIUM | OtherResources/framer.py | 383 | def watch_tty(proc, delay): | CODE |
| MEDIUM | OtherResources/framer.py | 1547 | def read_line(): | CODE |
| LOW⚡ | OtherResources/framer.py | 1225 | except Exception as e: | CODE |
| LOW⚡ | OtherResources/framer.py | 1234 | except Exception as e: | CODE |
| LOW⚡ | OtherResources/framer.py | 1243 | except Exception as e: | CODE |
| LOW⚡ | OtherResources/framer.py | 1251 | except Exception as e: | CODE |
| LOW⚡ | OtherResources/framer.py | 1261 | except Exception as e: | CODE |
| LOW⚡ | OtherResources/framer.py | 1271 | except Exception as e: | CODE |
| LOW⚡ | OtherResources/framer.py | 1280 | except Exception as e: | CODE |
| LOW | OtherResources/framer.py | 258 | except Exception as e: | CODE |
| LOW | OtherResources/framer.py | 315 | except Exception as e: | CODE |
| LOW | OtherResources/framer.py | 365 | except Exception as e: | CODE |
| LOW | OtherResources/framer.py | 379 | except Exception as e: | CODE |
| LOW | OtherResources/framer.py | 392 | except Exception as e: | CODE |
| LOW | OtherResources/framer.py | 627 | except Exception as e: | CODE |
| LOW | OtherResources/framer.py | 645 | except Exception as e: | CODE |
| LOW | OtherResources/framer.py | 685 | except Exception as e: | CODE |
| LOW | OtherResources/framer.py | 704 | except Exception as e: | CODE |
| LOW | OtherResources/framer.py | 738 | except Exception as e: | CODE |
| LOW | OtherResources/framer.py | 914 | except Exception as e: | CODE |
| LOW | OtherResources/framer.py | 947 | except Exception as e: | CODE |
| LOW | OtherResources/framer.py | 964 | except Exception as e: | CODE |
| LOW | OtherResources/framer.py | 1044 | except Exception as e: | CODE |
| LOW | OtherResources/framer.py | 1061 | except Exception as e: | CODE |
| LOW | OtherResources/framer.py | 1074 | except Exception as e: | CODE |
| LOW | OtherResources/framer.py | 1079 | except Exception as e: | CODE |
| LOW | OtherResources/framer.py | 1131 | except Exception as e: | CODE |
| LOW | OtherResources/framer.py | 1210 | except Exception as e: | CODE |
| LOW | OtherResources/framer.py | 1297 | except Exception as e: | CODE |
| LOW | OtherResources/framer.py | 1329 | except Exception as e: | CODE |
| LOW | OtherResources/framer.py | 1343 | except Exception as e: | CODE |
| LOW | OtherResources/framer.py | 1383 | except Exception as e: | CODE |
| 33 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/analyze-crashes.sh | 30 | # Step 1: Process crashes | COMMENT |
| LOW | tools/analyze-crashes.sh | 46 | # Step 2: Copy processed crashes | COMMENT |
| LOW | tools/analyze-crashes.sh | 62 | # Step 3: Get correct UUIDs from app bundle | COMMENT |
| LOW⚡ | tools/analyze-crashes.sh | 82 | # Step 4: Remove crashes with incorrect UUIDs | COMMENT |
| LOW⚡ | tools/analyze-crashes.sh | 117 | # Step 5: Cluster crashes using Claude Code | COMMENT |
| LOW⚡ | tools/analyze-crashes.sh | 127 | # Step 6: Analyze each cluster | COMMENT |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 2373 | # Step 1: Construct C = { I0, I1, ... IN}, collection of LR(0) items | COMMENT |
| LOW | …mework/Sources/BrowserExtensionNavigationHandler.swift | 68 | // NOTE: This method has multiple parameters in the completion handler | COMMENT |
| LOW | …ources/shell_integration/iterm2_shell_integration.bash | 142 | # WARNING: This variable is no longer used and should not be relied upon. | COMMENT |
| LOW⚡ | ModernTests/iTermLineAttributeTests.swift | 1366 | // Step 1: write 25 chars to force a soft wrap at column 20. | COMMENT |
| LOW⚡ | ModernTests/iTermLineAttributeTests.swift | 1372 | // Step 2: cursor is on line 1. Set it to doubleHeightTop. | COMMENT |
| LOW⚡ | ModernTests/iTermLineAttributeTests.swift | 1378 | // Step 3: widen by 1 column — line still wraps but at different position. | COMMENT |
| LOW⚡ | ModernTests/iTermLineAttributeTests.swift | 1384 | // Step 4: narrow back to original width. | COMMENT |
| LOW⚡ | ModernTests/iTermFunctionCallSuggesterTests.swift | 803 | // Step 1: Start typing function | COMMENT |
| LOW⚡ | ModernTests/iTermFunctionCallSuggesterTests.swift | 807 | // Step 2: Open paren | COMMENT |
| LOW⚡ | ModernTests/iTermFunctionCallSuggesterTests.swift | 811 | // Step 3: First arg complete, suggest second | COMMENT |
| LOW⚡ | ModernTests/iTermFunctionCallSuggesterTests.swift | 815 | // Step 4: Complete function - verification that it doesn't crash | COMMENT |
| LOW⚡ | ModernTests/iTermFunctionCallSuggesterTests.swift | 823 | // Step 1: Start interpolation | COMMENT |
| LOW⚡ | ModernTests/iTermFunctionCallSuggesterTests.swift | 827 | // Step 2: Partial path - suggestions are full swifty strings containing the path | COMMENT |
| LOW⚡ | ModernTests/iTermFunctionCallSuggesterTests.swift | 831 | // Step 3: Complete interpolation and continue literal | COMMENT |
| LOW⚡ | ModernTests/iTermFunctionCallSuggesterTests.swift | 835 | // Step 4: Start another interpolation - suggestions are full strings containing the path | COMMENT |
| LOW | docs/adding-a-translation.md | 42 | ## Step 1 - Add your language to the project | COMMENT |
| LOW | docs/adding-a-translation.md | 58 | ## Step 2 - Translate a plain string | COMMENT |
| LOW | docs/adding-a-translation.md | 87 | ## Step 3 - Format specifiers (`%@`, `%ld`, `%1$@`, …) | COMMENT |
| LOW | docs/adding-a-translation.md | 111 | ## Step 4 - Plurals | COMMENT |
| LOW | docs/adding-a-translation.md | 191 | ## Step 5 - What NOT to translate | COMMENT |
| LOW | docs/adding-a-translation.md | 211 | ## Step 6 - Verify | COMMENT |
| LOW | docs/adding-a-translation.md | 228 | ## Step 7 - Build and test in your language | COMMENT |
| LOW | docs/session-restoration-and-process-reattachment.md | 110 | ### Step 2: the window is created empty | COMMENT |
| LOW | docs/session-restoration-and-process-reattachment.md | 127 | ### Step 3: partial attachment walks dictionaries only | COMMENT |
| LOW | docs/session-restoration-and-process-reattachment.md | 144 | ### Step 4: the timeout race | COMMENT |
| LOW | docs/session-restoration-and-process-reattachment.md | 161 | ### Step 5: sessions are created, then attached or launched | COMMENT |
| LOW | sources/LineBuffer/iTermLineBlockArray.m | 657 | // Step 1: Find which blocks contain your wrapped lines | COMMENT |
| LOW⚡ | sources/LineBuffer/iTermLineBlockArray.m | 672 | // Step 2: Convert wrapped line offsets to raw line numbers within their blocks | COMMENT |
| LOW⚡ | sources/LineBuffer/iTermLineBlockArray.m | 681 | // Step 3: Count raw lines | COMMENT |
| LOW⚡ | sources/Browser/CopyMode/copy-mode-cursor-movement.js | 417 | // Step 1: Skip the current "word" (same character class) | COMMENT |
| LOW⚡ | sources/Browser/CopyMode/copy-mode-cursor-movement.js | 421 | // Step 2: Skip any whitespace | COMMENT |
| LOW | sources/API/iTermSetupCfgParser.m | 40 | @"# WARNING: This file was generated automatically by iTerm2. Do not edit it manually.\n" | CODE |
| LOW⚡ | sources/MetalRenderer/Glue/iTermCharacterSource.m | 504 | // Step 1: Create a CGImage from the CGBitmapContext | COMMENT |
| LOW⚡ | sources/MetalRenderer/Glue/iTermCharacterSource.m | 507 | // Step 2: Create a URL for the output file | COMMENT |
| LOW⚡ | sources/MetalRenderer/Glue/iTermCharacterSource.m | 510 | // Step 3: Write the CGImage to disk as PNG | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/analyze_restorable_state.py | 65 | # Check if this is an NS.keys/NS.objects dictionary | COMMENT |
| LOW | tools/analyze_restorable_state.py | 75 | # Check if this is an NS.objects array | COMMENT |
| LOW | tools/analyze_restorable_state.py | 251 | # Check if contents exist | COMMENT |
| LOW | tools/analyze_restorable_state.py | 424 | # Check if this looks like a tab | COMMENT |
| LOW | tools/analyze_restorable_state.py | 496 | # Check if array contains window-like nodes | COMMENT |
| LOW | tools/build_terminfo.sh | 18 | # Iterate over the list | COMMENT |
| LOW⚡ | tools/analyze-crashes.sh | 91 | # Check if this crash has a valid UUID | COMMENT |
| LOW | tools/applyLocalization.sh | 25 | # Check if the target nib file already exists | COMMENT |
| LOW | tools/dropbox_uploader.sh | 162 | #Check if readlink is installed and supports the -m option | COMMENT |
| LOW | tools/dropbox_uploader.sh | 186 | #Print the message based on $QUIET variable | COMMENT |
| LOW | tools/dropbox_uploader.sh | 396 | #Check if it's a file or directory | COMMENT |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 2044 | # Loop over the items in C and each grammar symbols | COMMENT |
| LOW | tools/ply/ply-3.4/doc/makedoc.py | 191 | # Write the file back out | COMMENT |
| LOW | tools/ply/ply-3.4/doc/ply.html | 2870 | p[0] = some_value # Assign value to seen_A | CODE |
| LOW | tools/perf/run_stress_test.sh | 1517 | # Check if using isolated suite (not user's normal prefs) | COMMENT |
| LOW | OtherResources/framer.py | 625 | # Print the value of the environment variable | COMMENT |
| LOW | …ources/shell_integration/iterm2_shell_integration.bash | 960 | # Set PS1 to various escape sequences, the user's preferred prompt, and more escape sequences. | COMMENT |
| LOW | tests/kitty-image-protocol/unittests.sh | 1108 | # Check if an argument is provided | COMMENT |
| LOW | tests/kitty-image-protocol/unittests.sh | 1115 | # Iterate over the list and call each function | COMMENT |
| LOW | .github/workflows/test.yml | 121 | # Check if this is a flaky ibtoold/asset catalog crash | COMMENT |
| LOW | sources/iterm2_git_poll.sh | 8 | # Check if git is broken because it can't find Xcode. A special charm of macOS for you. | COMMENT |
| LOW | api/library/python/iterm2/iterm2/triggers.py | 110 | # Check if this is an event-based trigger (matchType >= 100) | COMMENT |
| LOW⚡ | pwmplugin/Tests/test_get_password.sh | 71 | # Check if output is valid JSON | COMMENT |
| LOW⚡ | pwmplugin/Tests/test_get_password.sh | 79 | # Check if output contains password field | COMMENT |
| LOW⚡ | pwmplugin/Tests/test_get_password.sh | 86 | # Check if the password is correct | COMMENT |
| LOW | pwmplugin/Tests/bitwarden_run_all_tests.sh | 8 | # Check if BW_TEST_PASSWORD is set | COMMENT |
| LOW | pwmplugin/Tests/bitwarden_run_all_tests.sh | 16 | # Check if user is logged in to Bitwarden | COMMENT |
| LOW | pwmplugin/Tests/test_handshake.sh | 13 | # Check if output is valid JSON | COMMENT |
| LOW | pwmplugin/Tests/test_handshake.sh | 20 | # Check if output contains expected fields | COMMENT |
| LOW | pwmplugin/Tests/bitwarden_test_integration.sh | 172 | # Check if we got a valid session (should be a long alphanumeric string) | COMMENT |
| LOW | pwmplugin/Tests/test_integration.sh | 185 | # Check if it's in the recycle bin path | COMMENT |
| LOW | pwmplugin/Tests/bitwarden_test_handshake.sh | 13 | # Check if output is valid JSON | COMMENT |
| LOW | pwmplugin/Tests/bitwarden_test_handshake.sh | 20 | # Check if output contains expected fields | COMMENT |
| LOW | pwmplugin/Tests/bitwarden_test_login.sh | 29 | # Check if output is valid JSON | COMMENT |
| LOW | pwmplugin/Tests/bitwarden_test_login.sh | 37 | # Check if output contains token field | COMMENT |
| LOW | pwmplugin/Tests/test_delete_account.sh | 84 | # Check if output is valid JSON | COMMENT |
| LOW | pwmplugin/Tests/test_login.sh | 37 | # Check if output is valid JSON | COMMENT |
| LOW | pwmplugin/Tests/test_login.sh | 45 | # Check if output contains token field | COMMENT |
| LOW⚡ | pwmplugin/Tests/test_list_accounts.sh | 74 | # Check if output is valid JSON | COMMENT |
| LOW⚡ | pwmplugin/Tests/test_list_accounts.sh | 82 | # Check if output contains accounts array | COMMENT |
| LOW⚡ | pwmplugin/Tests/test_list_accounts.sh | 89 | # Check if we have at least one account | COMMENT |
| LOW | pwmplugin/Tests/test_add_account.sh | 56 | # Check if output is valid JSON | COMMENT |
| LOW | pwmplugin/Tests/test_add_account.sh | 64 | # Check if output contains accountIdentifier | COMMENT |
| LOW | pwmplugin/Tests/test_set_password.sh | 70 | # Check if output is valid JSON | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …es/Settings/ProfilesGeneralPreferencesViewController.h | 39 | // Whether the "AI-generated name" title component should be offered in the popup. | COMMENT |
| HIGH | …es/Settings/ProfilesGeneralPreferencesViewController.m | 722 | // The AI-generated name option is gated behind the off-by-default | COMMENT |
| HIGH | …ser/WebViewAdditions/iTermBrowserWebView+Actions.swift | 380 | // Skip mark case as requested | COMMENT |
| HIGH | sources/PTYSession/PTYSession.swift | 2801 | // MARK: - AI-generated tab titles | COMMENT |
| HIGH | sources/AITerm/ChatCellView.swift | 180 | // Chats without an icon (no AI-generated title yet, or icon | COMMENT |
| HIGH | sources/AITerm/ChatListModel.swift | 158 | // Persists an AI-generated icon (delivered by ChatAgent after it | COMMENT |
| HIGH | sources/AITerm/Chat.swift | 66 | // AI-generated title arrives or when generation fails; the list | COMMENT |
| HIGH | sources/AITerm/ChatSessionMentionAttachment.swift | 13 | // draws AI-generated mentions. When the message is sent, | COMMENT |
| HIGH | Companion/iTerm2Companion/Screens/HomeView.swift | 147 | /// The chat's AI-generated icon (a small PNG the Mac stores on the Chat), | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | api/library/python/iterm2/gen_binding.py | 1124 | if status == iterm2.api_pb2.PreferencesResponse.Result.SetPreferenceResult.Status.Value("OK"): | CODE |
| CRITICAL | api/library/python/iterm2/gen_binding.py | 1127 | iterm2.api_pb2.PreferencesResponse.Result.SetPreferenceResult.Status.Name(status)) | CODE |
| CRITICAL | api/library/python/iterm2/iterm2/preferences.py | 139 | if status == iterm2.api_pb2.PreferencesResponse.Result.SetPreferenceResult.Status.Value("OK"): | CODE |
| CRITICAL | api/library/python/iterm2/iterm2/preferences.py | 142 | iterm2.api_pb2.PreferencesResponse.Result.SetPreferenceResult.Status.Name(status)) | CODE |
| CRITICAL | api/library/python/iterm2/iterm2/binding.py | 751 | if status == iterm2.api_pb2.PreferencesResponse.Result.SetPreferenceResult.Status.Value("OK"): | CODE |
| CRITICAL | api/library/python/iterm2/iterm2/binding.py | 754 | iterm2.api_pb2.PreferencesResponse.Result.SetPreferenceResult.Status.Name(status)) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/analyze-crashes.sh | 30 | # Step 1: Process crashes | COMMENT |
| LOW | tools/analyze-crashes.sh | 46 | # Step 2: Copy processed crashes | COMMENT |
| LOW | tools/analyze-crashes.sh | 62 | # Step 3: Get correct UUIDs from app bundle | COMMENT |
| LOW⚡ | tools/analyze-crashes.sh | 82 | # Step 4: Remove crashes with incorrect UUIDs | COMMENT |
| LOW⚡ | tools/analyze-crashes.sh | 117 | # Step 5: Cluster crashes using Claude Code | COMMENT |
| LOW⚡ | tools/analyze-crashes.sh | 127 | # Step 6: Analyze each cluster | COMMENT |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 2373 | # Step 1: Construct C = { I0, I1, ... IN}, collection of LR(0) items | COMMENT |
| LOW⚡ | ModernTests/iTermLineAttributeTests.swift | 1366 | // Step 1: write 25 chars to force a soft wrap at column 20. | COMMENT |
| LOW⚡ | ModernTests/iTermLineAttributeTests.swift | 1372 | // Step 2: cursor is on line 1. Set it to doubleHeightTop. | COMMENT |
| LOW⚡ | ModernTests/iTermLineAttributeTests.swift | 1378 | // Step 3: widen by 1 column — line still wraps but at different position. | COMMENT |
| LOW⚡ | ModernTests/iTermLineAttributeTests.swift | 1384 | // Step 4: narrow back to original width. | COMMENT |
| LOW⚡ | ModernTests/iTermFunctionCallSuggesterTests.swift | 803 | // Step 1: Start typing function | COMMENT |
| LOW⚡ | ModernTests/iTermFunctionCallSuggesterTests.swift | 807 | // Step 2: Open paren | COMMENT |
| LOW⚡ | ModernTests/iTermFunctionCallSuggesterTests.swift | 811 | // Step 3: First arg complete, suggest second | COMMENT |
| LOW⚡ | ModernTests/iTermFunctionCallSuggesterTests.swift | 815 | // Step 4: Complete function - verification that it doesn't crash | COMMENT |
| LOW⚡ | ModernTests/iTermFunctionCallSuggesterTests.swift | 823 | // Step 1: Start interpolation | COMMENT |
| LOW⚡ | ModernTests/iTermFunctionCallSuggesterTests.swift | 827 | // Step 2: Partial path - suggestions are full swifty strings containing the path | COMMENT |
| LOW⚡ | ModernTests/iTermFunctionCallSuggesterTests.swift | 831 | // Step 3: Complete interpolation and continue literal | COMMENT |
| LOW⚡ | ModernTests/iTermFunctionCallSuggesterTests.swift | 835 | // Step 4: Start another interpolation - suggestions are full strings containing the path | COMMENT |
| LOW | sources/LineBuffer/iTermLineBlockArray.m | 657 | // Step 1: Find which blocks contain your wrapped lines | COMMENT |
| LOW⚡ | sources/LineBuffer/iTermLineBlockArray.m | 672 | // Step 2: Convert wrapped line offsets to raw line numbers within their blocks | COMMENT |
| LOW⚡ | sources/LineBuffer/iTermLineBlockArray.m | 681 | // Step 3: Count raw lines | COMMENT |
| LOW⚡ | sources/Browser/CopyMode/copy-mode-cursor-movement.js | 417 | // Step 1: Skip the current "word" (same character class) | COMMENT |
| LOW⚡ | sources/Browser/CopyMode/copy-mode-cursor-movement.js | 421 | // Step 2: Skip any whitespace | COMMENT |
| LOW⚡ | sources/MetalRenderer/Glue/iTermCharacterSource.m | 504 | // Step 1: Create a CGImage from the CGBitmapContext | COMMENT |
| LOW⚡ | sources/MetalRenderer/Glue/iTermCharacterSource.m | 507 | // Step 2: Create a URL for the output file | COMMENT |
| LOW⚡ | sources/MetalRenderer/Glue/iTermCharacterSource.m | 510 | // Step 3: Write the CGImage to disk as PNG | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/triggers.py | 10 | iterm2.AlertTrigger("^AlertTrigger", "Lorem ipsum", instant, enabled), | CODE |
| LOW | tests/triggers.py | 11 | iterm2.AnnotateTrigger("^AnnotateTrigger", "Lorem ipsum", instant, enabled), | CODE |
| LOW⚡ | tests/triggers.py | 25 | iterm2.SendTextTrigger("^SendTextTrigger", "lorem ipsum", instant, enabled), | CODE |
| LOW⚡ | tests/triggers.py | 28 | iterm2.SetTitleTrigger("^SetTitleTrigger", "lorem ipsum", instant, enabled), | CODE |
| LOW⚡ | tests/triggers.py | 32 | iterm2.UserNotificationTrigger("^UserNotificationTrigger", "lorem ipsum", instant, enabled), | CODE |
| LOW | tests/osc8.txt | 91 | ║]8;id=imaginary-text-editor-file1;http://example.com\http://exa]8;;\║Lorem ipsum║ | CODE |
| LOW | ModernTests/AICustomHeadersTests.swift | 48 | let result = AICustomHeaders.merged(into: ["x-api-key": "placeholder"], | CODE |
| LOW | ModernTests/PreferencesSearchTests.swift | 51 | keywordPhrases: ["lorem ipsum dolor", "sit amet"]) | CODE |
| LOW | ModernTests/AutomaticProfileSwitcherTests.swift | 326 | update(hostname: "hostname.com", username: "user@example.com", path: "/", job: "whatever") | CODE |
| LOW | …b638954b2ae69107263ffc608916643ede959b8c009251a42.json | 5 | "data" : "{\n \"candidates\": [\n {\n \"content\": {\n \"parts\": [\n {\n \"text | CODE |
| LOW | …8cd2496a38549276bf03c2393a94e264deab7e9c7a57b917c.json | 5 | "data" : "{\n \"id\": \"resp_09c416686bd4ea3c006a27135f5018819885e0dccf1ea56bdd\",\n \"object\": \"response\",\n | CODE |
| LOW | AILiveHarness/AILiveAttachmentFixtures.swift | 227 | acceptanceProbes: ["lorem ipsum", "Lorem ipsum", "Lorem Ipsum", "lorem", "Lorem"]) | CODE |
| LOW | sources/PasswordManager/AdapterPasswordDataSource.swift | 1224 | if let p = field.placeholder { dict["placeholder"] = p } | CODE |
| LOW | …PasswordManager/iTermPasswordManagerWindowController.m | 1402 | NSString *placeholder = field[@"placeholder"] ?: @""; | CODE |
| LOW | …ces/Settings/iTermBadgeConfigurationWindowController.m | 68 | _badge.stringValue = @"Lorem ipsum dolor sit amet"; | CODE |
| LOW | …ces/Settings/iTermBadgeConfigurationWindowController.m | 68 | _badge.stringValue = @"Lorem ipsum dolor sit amet"; | CODE |
| LOW | sources/Settings/iTermSettingsTruncationChecker.swift | 208 | kind = "placeholder" | CODE |
| LOW | …/Language/BuiltInFunctions/iTermAlertBuiltInFunction.m | 81 | static NSString *const placeholder = @"placeholder"; | CODE |
| LOW | sources/Browser/Demos/selection-test.html | 147 | <p>Here is a second paragraph with different content. Lorem ipsum dolor sit amet, consectetur adipiscing | CODE |
| LOW | sources/Browser/Demos/selection-test.html | 147 | <p>Here is a second paragraph with different content. Lorem ipsum dolor sit amet, consectetur adipiscing | CODE |
| LOW | sources/TerminalView/PTYTextView+ARC.m | 2778 | SCPPath *path = [self.dataSource scpPathForFile:@"placeholder" onLine:coord.y]; | CODE |
| LOW⚡ | sources/AITerm/LLMProvider.swift | 69 | return url(apiKey: "placeholder", streaming: false).scheme != "about" | CODE |
| LOW⚡ | sources/AITerm/LLMProvider.swift | 73 | if LLMMetadata.hostIsOpenAIAPI(url: url(apiKey: "placeholder", | CODE |
| LOW⚡ | sources/AITerm/LLMProvider.swift | 77 | if LLMMetadata.hostIsGoogleAIAPI(url: url(apiKey: "placeholder", | CODE |
| LOW⚡ | sources/AITerm/LLMProvider.swift | 81 | if LLMMetadata.hostIsAzureAIAPI(url: url(apiKey: "placeholder", | CODE |
| LOW⚡ | sources/AITerm/LLMProvider.swift | 85 | if LLMMetadata.hostIsDeepSeekAIAPI(url: url(apiKey: "placeholder", | CODE |
| LOW⚡ | sources/AITerm/LLMProvider.swift | 89 | if LLMMetadata.hostIsAnthropicAIAPI(url: url(apiKey: "placeholder", | CODE |
| LOW | sources/AITerm/LLMProvider.swift | 107 | if LLMMetadata.hostIsAzureAIAPI(url: url(apiKey: "placeholder", streaming: false)) { | CODE |
| LOW | sources/AITerm/AITerm.swift | 709 | static let reviewPlaceholderAPIKey = "placeholder" | CODE |
| LOW | …ests/iterm2-keeper-adapterTests/IntegrationTests.swift | 135 | _send(self, 200, {"record": {"login": "user@example.com"}}) | CODE |
| LOW | …ests/iterm2-keeper-adapterTests/IntegrationTests.swift | 137 | _send(self, 200, {"record": {"password": "pw-123", "login": "user@example.com"}}) | CODE |
| LOW | …ests/iterm2-keeper-adapterTests/IntegrationTests.swift | 347 | XCTAssertEqual(accounts[0]["userName"] as? String, "user@example.com") | STRING |
| LOW⚡ | …ests/iterm2-keeper-adapterTests/IntegrationTests.swift | 462 | let input = #"{"header":\#(header(server.baseURL)),"userAccountID":null,"token":"\#(token())","userName":"user@e | STRING |
| LOW⚡ | …ests/iterm2-keeper-adapterTests/IntegrationTests.swift | 472 | let input = #"{"header":\#(header(server.baseURL)),"userAccountID":null,"token":"\#(token())","userName":"user@e | STRING |
| LOW⚡ | …ests/iterm2-keeper-adapterTests/IntegrationTests.swift | 482 | let input = #"{"header":\#(header(server.baseURL)),"userAccountID":null,"token":"\#(token())","userName":"user@e | STRING |
| LOW | …ests/iterm2-keeper-adapterTests/IntegrationTests.swift | 547 | let input = #"{"header":\#(header(server.baseURL)),"userAccountID":null,"token":"\#(token())","userName":"user@e | STRING |
| LOW | …ests/iterm2-keeper-adapterTests/IntegrationTests.swift | 557 | let input = #"{"header":\#(header(server.baseURL)),"userAccountID":null,"token":"\#(token())","userName":"user@e | STRING |
| LOW | …ests/iterm2-keeper-adapterTests/IntegrationTests.swift | 596 | let input = #"{"header":\#(header(server.baseURL)),"userAccountID":null,"token":"\#(token())","userName":"user@e | STRING |
| LOW | …CompanionProtocolTests/SyncFetchCoordinatorTests.swift | 74 | case .placeholder: return "placeholder" | CODE |
| LOW | Companion/PushService/NotificationService.swift | 380 | case .placeholder: return "placeholder" | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | OtherResources/it2.py | 413 | # bare number/string/null): .get would raise AttributeError. | COMMENT |
| HIGH | cc-status/tests/run.py | 11 | swift build -c release && python3 tests/run.py | STRING |
| HIGH | cc-status/tests/run.py | 52 | count=$(cat "$state/background-tasks" 2>/dev/null || echo 0) | CODE |
| HIGH | cc-status/tests/run.py | 53 | printf '{"status":%s,"detail":null,"background_tasks":%s,"turn_open":%s}\n' \ | CODE |
| HIGH | cc-status/tests/run.py | 85 | if [ -n "$if_turn" ] && [ "$(cat "$state/turn-open" 2>/dev/null || echo unknown)" != "$if_turn" ]; then | CODE |
| HIGH | cc-status/tests/run.py | 88 | if [ -n "$if_count" ] && [ "$(cat "$state/background-tasks" 2>/dev/null || echo 0)" != "$if_count" ]; then | CODE |
| HIGH | cc-status/tests/run.py | 106 | current=$(cat "$state/background-tasks" 2>/dev/null || echo 0) | CODE |
| HIGH | cc-status/tests/run.py | 132 | cat "$state/background-tasks" 2>/dev/null || echo 0 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | tools/run_shell_integration_live.sh | 7 | # Usage: | COMMENT |
| LOW | tools/sign_and_copy_uv.sh | 8 | # Usage: | COMMENT |
| LOW | tools/copy_models.sh | 34 | # Usage: | COMMENT |
| LOW | tools/update_uv_manifest.sh | 15 | # Usage: | COMMENT |
| LOW⚡ | tools/run_ai_live.sh | 5 | # Usage: | COMMENT |
| LOW | tools/build_uv.sh | 42 | # Usage: | COMMENT |
| LOW | tools/run_python_runtime_e2e.sh | 8 | # Usage: | COMMENT |
| LOW | tests/test_iterm2_python_auth.sh | 8 | # Usage: | COMMENT |
| LOW | tests/rtl-showcase.sh | 24 | # Usage: | COMMENT |
| LOW | tests/dashed_underline_leaks_into_box_lines.sh | 6 | # How to use: | COMMENT |
| LOW | tests/run_tab_group_test.sh | 21 | # Usage: | COMMENT |
| LOW | tests/repro-edit-osc4-hang.sh | 27 | # Usage: | COMMENT |
| LOW | tests/run_apply_layout_new_session_demo.sh | 15 | # Usage: | COMMENT |
| LOW | tests/test_iterm2_python_suite_auth.sh | 11 | # Usage: | COMMENT |
| LOW | tests/run_apply_layout_integration_test.sh | 11 | # Usage: | COMMENT |
| LOW | tests/redraw-edge-cases.sh | 21 | # Usage: | COMMENT |
| LOW | sources/RegexVisualization/SVGSizeEstimator.swift | 62 | // Example usage: | COMMENT |
| LOW | sources/Infrastructure/iTermSelectorSwizzler.h | 45 | // Example usage: | COMMENT |
| LOW | ThirdParty/ProtobufRuntime/GPBDictionary.m | 59 | // Example usage: | COMMENT |
| LOW | Companion/tools/bump_build_number.rb | 8 | # Usage: | COMMENT |
| LOW | Companion/PushRelay/ops/deploy.sh | 15 | # Usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …168f023fea8930ee0e545bccf81a967190c274b63076f0476.json | 5 | "data" : "{\n \"id\": \"chatcmpl-DoG7bZZ12rYVMOUKCnRi8oAWYXlmk\",\n \"object\": \"chat.completion\",\n \"created\ | CODE |
| MEDIUM | …8ea06f38399208175c6ea2e26eb97a0f198f54cbd24eb746e.json | 5 | "data" : "{\n \"id\": \"resp_094187fe6dc90c08006a25f48672d8819baae485896551f600\",\n \"object\": \"response\",\n | CODE |
| MEDIUM | …4e5a6fc83ea41d7e85479f29b794adc6cc655820e9af654c5.json | 5 | "data" : "data: {\"candidates\": [{\"content\": {\"parts\": [{\"text\": \"I cannot fulfill this request.\"}],\"role\ | CODE |
| MEDIUM | …4e5a6fc83ea41d7e85479f29b794adc6cc655820e9af654c5.json | 11 | "data: {\"candidates\": [{\"content\": {\"parts\": [{\"text\": \" even for demonstration purposes, would be unethica | CODE |
| MEDIUM | …d0571e92fab58fa45c1b4066e59ba0f9f1216ad22a2055d21.json | 5 | "data" : "{\n \"candidates\": [\n {\n \"content\": {\n \"parts\": [\n {\n \"text | CODE |
| MEDIUM | …e8b041e122f471fde4a013244f5b97015ee5bbf284877fa7c.json | 5 | "data" : "{\n \"id\": \"chatcmpl-DoG7imrbryuWLqlW4kVJf0cVN4W2x\",\n \"object\": \"chat.completion\",\n \"created\ | CODE |
| MEDIUM | …af646e02a8b5a47bf21acd8316b869f9e23a138337d823a6a.json | 5 | "data" : "{\n \"candidates\": [\n {\n \"content\": {\n \"parts\": [\n {\n \"text | CODE |
| MEDIUM | …b70e6be2ba3f2770725ade8a4a8e2ebed8ddc55e954a69f13.json | 5 | "data" : "{\n \"id\": \"chatcmpl-DoZYUpsxp6njCUj0SnQmONhLPf5wv\",\n \"object\": \"chat.completion\",\n \"created\ | CODE |
| MEDIUM | …53512b56cfff5240d2baf98d7a0ff8b8d421b89160295f270.json | 5 | "data" : "data: {\"candidates\": [{\"content\": {\"parts\": [{\"text\": \"Here is your random made-up word: **MAGENT | CODE |
| MEDIUM | …53512b56cfff5240d2baf98d7a0ff8b8d421b89160295f270.json | 10 | "data: {\"candidates\": [{\"content\": {\"parts\": [{\"text\": \"-77**. Let me know if you need another one!\"}],\"r | CODE |
| MEDIUM | sources/Settings/iTermAdvancedSettingsModel.m | 345 | DEFINE_STRING(tabColorMenuOptions, @"#fb6b62 #f6ac47 #f0dc4f #b5d749 #5fa3f8 #c18ed9 #787878", SECTION_TABS, NSLocalized | CODE |
| MEDIUM | sources/Settings/iTermProfilePreferences.m | 517 | typeHelp[key] = @"Colors can be specified as 3- or 6-digit hex strings such as \"#f8a\" like in HTML. By def | CODE |
| MEDIUM | ThirdParty/RegexKitLite/RegexKitLite.html | 2048 | <p>Strings can be split with a regular expression using the <a href="#NSString_RegexKitLiteAdditions__-componentsSeparat | CODE |
| MEDIUM | ThirdParty/RegexKitLite/RegexKitLite.html | 2885 | <p>Inside you'll find more examples like this that you can use as the starting point for your own regular expression | CODE |
| MEDIUM | ThirdParty/RegexKitLite/RegexKitLite.html | 3078 | <p>Also available is the <a href="#RegexEscapeTool">Regex Escape Tool</a> which allows you to enter a regular expres | CODE |
| LOW | ThirdParty/libgit2/include/git2/repository.h | 620 | * Use this function to get the contents of this file. Don't forget to | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/ply/ply-3.4/ply/yacc.py | 149 | CODE | |
| LOW | tools/ply/ply-3.4/ply/yacc.py | 3036 | CODE | |
| LOW | tools/ply/ply-3.4/ply/lex.py | 865 | CODE | |
| LOW | tools/ply/ply-3.4/example/closurecalc/calc.py | 114 | CODE | |
| LOW | api/library/python/iterm2/iterm2/triggers.py | 249 | CODE | |
| LOW | api/library/python/iterm2/iterm2/notifications.py | 295 | CODE | |
| LOW | api/library/python/iterm2/iterm2/notifications.py | 457 | CODE | |
| LOW | api/library/python/iterm2/iterm2/tab.py | 49 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | ModernTests/OllamaRequestBuilderTests.swift | 485 | // message so parseNonStreamingResponse dispatches it (the agentic loop). | STRING |
| MEDIUM | AILiveHarness/AILiveOllamaTests.swift | 381 | // agentic loop silently breaks. Assert the tool still fires and its result is | COMMENT |
| MEDIUM | AILiveHarness/AILiveAppleIntelligenceTabTitle.swift | 569 | // guardrails restored, to see if the shape survives once those are pinned. | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …nsFramework/test-extensions/storage-ui-demo/content.js | 204 | async function getData() { | CODE |
| LOW | Companion/PushRelay/host/server.js | 141 | async function handleRequest(req, res) { | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/ply/ply-3.4/ply/__init__.py | 4 | __all__ = ['lex','yacc'] | CODE |