Run-replay: IndexError: list index out of range

Describe the bug
IndexError when running run_replay on github isue
Steps/Code to Reproduce
 python run_replay.py --traj_path=trajectories/fuchur/gpt4__klieret__swe-agent-test-repo__default_from_url__t-0.20__p-0.95__c-2.00__install-1/klieret__swe-agent-test-repo-i1.traj --data_path=https://github.com/klieret/swe-agent-test-repo/issues/1  --config_file=config/default_from_url.yaml

Expected Results
no error
Actual Results
Parsing command file: config/commands/defaults.sh
Parsing command file: config/commands/search.sh
Parsing command file: config/commands/edit_linting.sh
Parsing command file: config/commands/_split_string.py
Parsing command file: config/commands/defaults.sh
Parsing command file: config/commands/search.sh
Parsing command file: config/commands/edit_linting.sh
Parsing command file: config/commands/_split_string.py
INFO     📙 Arguments: actions:
           open_pr: false
           push_gh_repo_url: ''
           skip_if_commits_reference_issue: true
         agent:
           config:
             _commands:
             - arguments:
                 line_number:
                   description: the line number to move the window to (if not provided, the
                     window will start at the top of the file)
                   required: false
                   type: integer
                 path:
                   description: the path to the file to open
                   required: true
                   type: string
               code: 'open() {    if [ -z "$1" ]    then        echo "Usage: open <file>"        return    fi    #
                 Check if the second argument is provided    if [ -n "$2" ]; then        #
                 Check if the provided argument is a valid number        if ! [[ $2 =~ ^[0-9]+$
                 ]]; then            echo "Usage: open <file> [<line_number>]"            echo
                 "Error: <line_number> must be a number"            return  # Exit if the line
                 number is not valid        fi        local max_line=$(awk ''END {print NR}''
                 $1)        if [ $2 -gt $max_line ]; then            echo "Warning: <line_number>
                 ($2) is greater than the number of lines in the file ($max_line)"            echo
                 "Warning: Setting <line_number> to $max_line"            local line_number=$(jq
                 -n "$max_line")  # Set line number to max if greater than max        elif
                 [ $2 -lt 1 ]; then            echo "Warning: <line_number> ($2) is less than
                 1"            echo "Warning: Setting <line_number> to 1"            local
                 line_number=$(jq -n "1")  # Set line number to 1 if less than 1        else            local
                 OFFSET=$(jq -n "$WINDOW/6" | jq ''floor'')            local line_number=$(jq
                 -n "[$2 + $WINDOW/2 - $OFFSET, 1] | max | floor")        fi    else        local
                 line_number=$(jq -n "$WINDOW/2")  # Set default line number if not provided    fi    if
                 [ -f "$1" ]; then        export CURRENT_FILE=$(realpath $1)        export
                 CURRENT_LINE=$line_number        _constrain_line        _print    elif [ -d
                 "$1" ]; then        echo "Error: $1 is a directory. You can only open files.
                 Use cd or ls to navigate directories."    else        echo "File $1 not found"    fi}'
               docstring: opens the file at the given path in the editor. If line_number is
                 provided, the window will be move to include that line
               end_name: null
               name: open
               signature: open <path> [<line_number>]
             - arguments:
                 line_number:
                   description: the line number to move the window to
                   required: true
                   type: integer
               code: 'goto() {    if [ $# -gt 1 ]; then        echo "goto allows only one line
                 number at a time."        return    fi    if [ -z "$CURRENT_FILE" ]    then        echo
                 "No file open. Use the open command first."        return    fi    if [ -z
                 "$1" ]    then        echo "Usage: goto <line>"        return    fi    if
                 ! [[ $1 =~ ^[0-9]+$ ]]    then        echo "Usage: goto <line>"        echo
                 "Error: <line> must be a number"        return    fi    local max_line=$(awk
                 ''END {print NR}'' $CURRENT_FILE)    if [ $1 -gt $max_line ]    then        echo
                 "Error: <line> must be less than or equal to $max_line"        return    fi    local
                 OFFSET=$(jq -n "$WINDOW/6" | jq ''floor'')    export CURRENT_LINE=$(jq -n
                 "[$1 + $WINDOW/2 - $OFFSET, 1] | max | floor")    _constrain_line    _print}'
               docstring: moves the window to show <line_number>
               end_name: null
               name: goto
               signature: goto <line_number>
             - arguments: null
               code: scroll_down() {    if [ -z "$CURRENT_FILE" ]    then        echo "No file
                 open. Use the open command first."        return    fi    export CURRENT_LINE=$(jq
                 -n "$CURRENT_LINE + $WINDOW - $OVERLAP")    _constrain_line    _print}
               docstring: moves the window down {WINDOW} lines
               end_name: null
               name: scroll_down
               signature: scroll_down
             - arguments: null
               code: scroll_up() {    if [ -z "$CURRENT_FILE" ]    then        echo "No file
                 open. Use the open command first."        return    fi    export CURRENT_LINE=$(jq
                 -n "$CURRENT_LINE - $WINDOW + $OVERLAP")    _constrain_line    _print}
               docstring: moves the window down {WINDOW} lines
               end_name: null
               name: scroll_up
               signature: scroll_down
             - arguments:
                 filename:
                   description: the name of the file to create
                   required: true
                   type: string
               code: "create() {    if [ -z \"$1\" ]; then        echo \"Usage: create <filename>\"\
                 \        return    fi    # Check if the file already exists    if [ -e \"\
                 $1\" ]; then        echo \"Error: File '$1' already exists.\"\t\topen \"$1\"\
                 \        return    fi    # Create the file an empty new line    printf \"\\\
                 n\" > \"$1\"    # Use the existing open command to open the created file \
                 \   open \"$1\"}"
               docstring: creates and opens a new file with the given name
               end_name: null
               name: create
               signature: create <filename>
             - arguments: null
               code: 'submit() {    cd $ROOT    # Check if the patch file exists and is non-empty    if
                 [ -s "/root/test.patch" ]; then        # Apply the patch in reverse        git
                 apply -R < "/root/test.patch"    fi    git add -A    git diff --cached > model.patch    echo
                 "<<SUBMISSION||"    cat model.patch    echo "||SUBMISSION>>"}'
               docstring: submits your current code and terminates the session
               end_name: null
               name: submit
               signature: submit
             - arguments:
                 dir:
                   description: the directory to search in (if not provided, searches in the
                     current directory)
                   required: false
                   type: string
                 search_term:
                   description: the term to search for
                   required: true
                   type: string
               code: 'search_dir() {    if [ $# -eq 1 ]; then        local search_term="$1"        local
                 dir="./"    elif [ $# -eq 2 ]; then        local search_term="$1"        if
                 [ -d "$2" ]; then            local dir="$2"        else            echo "Directory
                 $2 not found"            return        fi    else        echo "Usage: search_dir
                 <search_term> [<dir>]"        return    fi    dir=$(realpath "$dir")    local
                 matches=$(find "$dir" -type f ! -path ''*/.*'' -exec grep -nIH -- "$search_term"
                 {} + | cut -d: -f1 | sort | uniq -c)    # if no matches, return    if [ -z
                 "$matches" ]; then        echo "No matches found for \"$search_term\" in $dir"        return    fi    #
                 Calculate total number of matches    local num_matches=$(echo "$matches" |
                 awk ''{sum+=$1} END {print sum}'')    # calculate total number of files matched    local
                 num_files=$(echo "$matches" | wc -l | awk ''{$1=$1; print $0}'')    # if num_files
                 is > 100, print an error    if [ $num_files -gt 100 ]; then        echo "More
                 than $num_files files matched for \"$search_term\" in $dir. Please narrow
                 your search."        return    fi        echo "Found $num_matches matches
                 for \"$search_term\" in $dir:"    echo "$matches" | awk ''{$2=$2; gsub(/^\.+\/+/,
                 "./", $2); print $2 " ("$1" matches)"}''    echo "End of matches for \"$search_term\"
                 in $dir"}'
               docstring: searches for search_term in all files in dir. If dir is not provided,
                 searches in the current directory
               end_name: null
               name: search_dir
               signature: search_dir <search_term> [<dir>]
             - arguments:
                 file:
                   description: the file to search in (if not provided, searches in the current
                     open file)
                   required: false
                   type: string
                 search_term:
                   description: the term to search for
                   required: true
                   type: string
               code: 'search_file() {    # Check if the first argument is provided    if [
                 -z "$1" ]; then        echo "Usage: search_file <search_term> [<file>]"        return    fi    #
                 Check if the second argument is provided    if [ -n "$2" ]; then        #
                 Check if the provided argument is a valid file        if [ -f "$2" ]; then            local
                 file="$2"  # Set file if valid        else            echo "Usage: search_file
                 <search_term> [<file>]"            echo "Error: File name $2 not found. Please
                 provide a valid file name."            return  # Exit if the file is not valid        fi    else        #
                 Check if a file is open        if [ -z "$CURRENT_FILE" ]; then            echo
                 "No file open. Use the open command first."            return  # Exit if no
                 file is open        fi        local file="$CURRENT_FILE"  # Set file to the
                 current open file    fi    local search_term="$1"    file=$(realpath "$file")    #
                 Use grep to directly get the desired formatted output    local matches=$(grep
                 -nH -- "$search_term" "$file")    # Check if no matches were found    if [
                 -z "$matches" ]; then        echo "No matches found for \"$search_term\" in
                 $file"        return    fi    # Calculate total number of matches    local
                 num_matches=$(echo "$matches" | wc -l | awk ''{$1=$1; print $0}'')        #
                 calculate total number of lines matched    local num_lines=$(echo "$matches"
                 | cut -d: -f1 | sort | uniq | wc -l | awk ''{$1=$1; print $0}'')    # if num_lines
                 is > 100, print an error    if [ $num_lines -gt 100 ]; then        echo "More
                 than $num_lines lines matched for \"$search_term\" in $file. Please narrow
                 your search."        return    fi    # Print the total number of matches and
                 the matches themselves    echo "Found $num_matches matches for \"$search_term\"
                 in $file:"    echo "$matches" | cut -d: -f1-2 | sort -u -t: -k2,2n | while
                 IFS=: read -r filename line_number; do        echo "Line $line_number:$(sed
                 -n "${line_number}p" "$file")"    done    echo "End of matches for \"$search_term\"
                 in $file"}'
               docstring: searches for search_term in file. If file is not provided, searches
                 in the current open file
               end_name: null
               name: search_file
               signature: search_file <search_term> [<file>]
             - arguments:
                 dir:
                   description: the directory to search in (if not provided, searches in the
                     current directory)
                   required: false
                   type: string
                 file_name:
                   description: the name of the file to search for
                   required: true
                   type: string
               code: 'find_file() {    if [ $# -eq 1 ]; then        local file_name="$1"        local
                 dir="./"    elif [ $# -eq 2 ]; then        local file_name="$1"        if
                 [ -d "$2" ]; then            local dir="$2"        else            echo "Directory
                 $2 not found"            return        fi    else        echo "Usage: find_file
                 <file_name> [<dir>]"        return    fi    dir=$(realpath "$dir")    local
                 matches=$(find "$dir" -type f -name "$file_name")    # if no matches, return    if
                 [ -z "$matches" ]; then        echo "No matches found for \"$file_name\" in
                 $dir"        return    fi    # Calculate total number of matches    local
                 num_matches=$(echo "$matches" | wc -l | awk ''{$1=$1; print $0}'')    echo
                 "Found $num_matches matches for \"$file_name\" in $dir:"    echo "$matches"
                 | awk ''{print $0}''}'
               docstring: finds all files with the given name in dir. If dir is not provided,
                 searches in the current directory
               end_name: null
               name: find_file
               signature: find_file <file_name> [<dir>]
             - arguments:
                 end_line:
                   description: the line number to end the edit at (inclusive)
                   required: true
                   type: integer
                 replacement_text:
                   description: the text to replace the current selection with
                   required: true
                   type: string
                 start_line:
                   description: the line number to start the edit at
                   required: true
                   type: integer
               code: 'edit() {    if [ -z "$CURRENT_FILE" ]    then        echo ''No file open.
                 Use the `open` command first.''        return    fi    local start_line="$(echo
                 $1: | cut -d: -f1)"    local end_line="$(echo $1: | cut -d: -f2)"    if [
                 -z "$start_line" ] || [ -z "$end_line" ]    then        echo "Usage: edit
                 <start_line>:<end_line>"        return    fi    local re=''^[0-9]+$''    if
                 ! [[ $start_line =~ $re ]]; then        echo "Usage: edit <start_line>:<end_line>"        echo
                 "Error: start_line must be a number"        return    fi    if ! [[ $end_line
                 =~ $re ]]; then        echo "Usage: edit <start_line>:<end_line>"        echo
                 "Error: end_line must be a number"        return    fi    # Bash array starts
                 at 0, so let''s adjust    local start_line=$((start_line - 1))    local end_line=$((end_line))    local
                 line_count=0    local replacement=()    while IFS= read -r line    do        replacement+=("$line")        ((line_count++))    done    #
                 Create a backup of the current file    cp "$CURRENT_FILE" "/root/$(basename
                 "$CURRENT_FILE")_backup"    # Read the file line by line into an array    mapfile
                 -t lines < "$CURRENT_FILE"    local new_lines=("${lines[@]:0:$start_line}"
                 "${replacement[@]}" "${lines[@]:$((end_line))}")    # Write the new stuff
                 directly back into the original file    printf "%s\n" "${new_lines[@]}" >|
                 "$CURRENT_FILE"        # Run linter    if [[ $CURRENT_FILE == *.py ]]; then        lint_output=$(flake8
                 --select=F821,F822,F831,E111,E112,E113,E999,E902 "$CURRENT_FILE" 2>&1)    else        #
                 do nothing        lint_output=""    fi    # if there is no output, then the
                 file is good    if [ -z "$lint_output" ]; then        export CURRENT_LINE=$start_line        _constrain_line        _print        echo
                 "File updated. Please review the changes and make sure they are correct (correct
                 indentation, no duplicate lines, etc). Edit the file again if necessary."    else        echo
                 "Your proposed edit has introduced new syntax error(s). Please understand
                 the fixes and retry your edit commmand."        echo ""        echo "ERRORS:"        _split_string
                 "$lint_output"        echo ""        # Save original values        original_current_line=$CURRENT_LINE        original_window=$WINDOW        #
                 Update values        export CURRENT_LINE=$(( (line_count / 2) + start_line
                 )) # Set to "center" of edit        export WINDOW=$((line_count + 10)) # Show
                 +/- 5 lines around edit        echo "This is how your edit would have looked
                 if applied"        echo "-------------------------------------------------"        _constrain_line        _print        echo
                 "-------------------------------------------------"        echo ""        #
                 Restoring CURRENT_FILE to original contents.        cp "/root/$(basename "$CURRENT_FILE")_backup"
                 "$CURRENT_FILE"        export CURRENT_LINE=$(( ((end_line - start_line + 1)
                 / 2) + start_line ))        export WINDOW=$((end_line - start_line + 10))        echo
                 "This is the original code before your edit"        echo "-------------------------------------------------"        _constrain_line        _print        echo
                 "-------------------------------------------------"        # Restore original
                 values        export CURRENT_LINE=$original_current_line        export WINDOW=$original_window        echo
                 "Your changes have NOT been applied. Please fix your edit command and try
                 again."        echo "You either need to 1) Specify the correct start/end line
                 arguments or 2) Correct your edit code."        echo "DO NOT re-run the same
                 failed edit command. Running it again will lead to the same error."    fi    #
                 Remove backup file    rm -f "/root/$(basename "$CURRENT_FILE")_backup"}'
               docstring: replaces lines <start_line> through <end_line> (inclusive) with the
                 given text in the open file. The replacement text is terminated by a line
                 with only end_of_edit on it. All of the <replacement text> will be entered,
                 so make sure your indentation is formatted properly. Python files will be
                 checked for syntax errors after the edit. If the system detects a syntax error,
                 the edit will not be executed. Simply try to edit the file again, but make
                 sure to read the error message and modify the edit command you issue accordingly.
                 Issuing the same command a second time will just lead to the same error message
                 again.
               end_name: end_of_edit
               name: edit
               signature: |-
                 edit <start_line>:<end_line>
                 <replacement_text>
                 end_of_edit
             _subroutines: {}
             blocklist:
             - vim
             - vi
             - emacs
             - nano
             - nohup
             - git
             blocklist_error_template: Interactive operation '{name}' is not supported by this
               environment
             blocklist_standalone:
             - python
             - python3
             - ipython
             - bash
             - sh
             - exit
             - /bin/bash
             - /bin/sh
             - nohup
             - vi
             - vim
             - emacs
             - nano
             command_docs: |+
               open:
                 docstring: opens the file at the given path in the editor. If line_number is provided, the window will be move to include that line
                 signature: open <path> [<line_number>]
                 arguments:
                   - path (string) [required]: the path to the file to open
                   - line_number (integer) [optional]: the line number to move the window to (if not provided, the window will start at the top of the file)

               goto:
                 docstring: moves the window to show <line_number>
                 signature: goto <line_number>
                 arguments:
                   - line_number (integer) [required]: the line number to move the window to

               scroll_down:
                 docstring: moves the window down {WINDOW} lines
                 signature: scroll_down

               scroll_up:
                 docstring: moves the window down {WINDOW} lines
                 signature: scroll_down

               create:
                 docstring: creates and opens a new file with the given name
                 signature: create <filename>
                 arguments:
                   - filename (string) [required]: the name of the file to create

               submit:
                 docstring: submits your current code and terminates the session
                 signature: submit

               search_dir:
                 docstring: searches for search_term in all files in dir. If dir is not provided, searches in the current directory
                 signature: search_dir <search_term> [<dir>]
                 arguments:
                   - search_term (string) [required]: the term to search for
                   - dir (string) [optional]: the directory to search in (if not provided, searches in the current directory)

               search_file:
                 docstring: searches for search_term in file. If file is not provided, searches in the current open file
                 signature: search_file <search_term> [<file>]
                 arguments:
                   - search_term (string) [required]: the term to search for
                   - file (string) [optional]: the file to search in (if not provided, searches in the current open file)

               find_file:
                 docstring: finds all files with the given name in dir. If dir is not provided, searches in the current directory
                 signature: find_file <file_name> [<dir>]
                 arguments:
                   - file_name (string) [required]: the name of the file to search for
                   - dir (string) [optional]: the directory to search in (if not provided, searches in the current directory)

               edit:
                 docstring: replaces lines <start_line> through <end_line> (inclusive) with the given text in the open file. The replacement text is terminated by a line with only end_of_edit on it. All of the <replacement text> will be entered, so make sure your indentation is formatted properly. Python files will be checked for syntax errors after the edit. If the system detects a syntax error, the edit will not be executed. Simply try to edit the file again, but make sure to read
         the error message and modify the edit command you issue accordingly. Issuing the same command a second time will just lead to the same error message again.
                 signature: edit <start_line>:<end_line>
               <replacement_text>
               end_of_edit
                 arguments:
                   - start_line (integer) [required]: the line number to start the edit at
                   - end_line (integer) [required]: the line number to end the edit at (inclusive)
                   - replacement_text (string) [required]: the text to replace the current selection with

             command_files:
             - config/commands/defaults.sh
             - config/commands/search.sh
             - config/commands/edit_linting.sh
             - config/commands/_split_string.py
             demonstration_template: |
               Here is a demonstration of how to correctly accomplish this task.
               It is included to show you how to correctly use the interface.
               You do not need to follow exactly what is done in the demonstration.
               --- DEMONSTRATION ---
               {demonstration}
               --- END OF DEMONSTRATION ---
             demonstrations:
             - trajectories/demonstrations/replay__marshmallow-code__marshmallow-1867__default__t-0.20__p-0.95__c-2.00__install-1___install_from_source/marshmallow-code__marshmallow-1867.traj
             env_variables:
               CURRENT_FILE: ''
               CURRENT_LINE: '0'
               OVERLAP: '2'
               SEARCH_FILES: ()
               SEARCH_INDEX: '0'
               SEARCH_RESULTS: ()
               WINDOW: '100'
             format_error_template: |
               Your output was not formatted correctly. You must always include one discussion and one command as part of your response. Make sure you do not have multiple discussion/command tags.
               Please make sure your output precisely matches the following format:
               DISCUSSION
               Discuss here with yourself about what your planning and what you're going to do in this step.

               ```
               command(s) that you're going to run
               ```
             history_processor: {}
             history_processor_args: {}
             instance_template: "We're currently solving the following issue within our repository.\
               \ Here's the issue text:\nISSUE:\n{issue}\n\nINSTRUCTIONS:\nNow, you're going\
               \ to solve this issue on your own. Your terminal session has started and you're\
               \ in the repository's root directory. You can use any bash commands or the special\
               \ interface to help you. Edit all the files you need to and run any checks or\
               \ tests that you want. \nRemember, YOU CAN ONLY ENTER ONE COMMAND AT A TIME.\
               \ You should always wait for feedback after every command. \nWhen you're satisfied\
               \ with all of the changes you've made, you can submit your changes to the code\
               \ base by simply running the submit command.\nNote however that you cannot use\
               \ any interactive session commands (e.g. python, vim) in this environment, but\
               \ you can write scripts and run them. E.g. you can write a python script and\
               \ then run it with `python <script_name>.py`.\n\nNOTE ABOUT THE EDIT COMMAND:\
               \ Indentation really matters! When editing a file, make sure to insert appropriate\
               \ indentation before each line! \n\nIMPORTANT TIPS:\n1. Always start by trying\
               \ to replicate the bug that the issues discusses. \n   If the issue includes\
               \ code for reproducing the bug, we recommend that you re-implement that in your\
               \ environment, and run it to make sure you can reproduce the bug.\n   Then start\
               \ trying to fix it.\n   When you think you've fixed the bug, re-run the bug\
               \ reproduction script to make sure that the bug has indeed been fixed.\n   \n\
               \   If the bug reproduction script does not print anything when it succesfully\
               \ runs, we recommend adding a print(\"Script completed successfully, no errors.\"\
               ) command at the end of the file,\n   so that you can be sure that the script\
               \ indeed ran fine all the way through. \n\n2. If you run a command and it doesn't\
               \ work, try running a different command. A command that did not work once will\
               \ not work the second time unless you modify it!\n\n3. If you open a file and\
               \ need to get to an area around a specific line that is not in the first 100\
               \ lines, say line 583, don't just use the scroll_down command multiple times.\
               \ Instead, use the goto 583 command. It's much quicker. \n   \n4. If the bug\
               \ reproduction script requires inputting/reading a specific file, such as buggy-input.png,\
               \ and you'd like to understand how to input that file, conduct a search in the\
               \ existing repo code, to see whether someone else has already done that. Do\
               \ this by running the command: find_file \"buggy-input.png\" If that doensn't\
               \ work, use the linux 'find' command. \n\n5. Always make sure to look at the\
               \ currently open file and the current working directory (which appears right\
               \ after the currently open file). The currently open file might be in a different\
               \ directory than the working directory! Note that some commands, such as 'create',\
               \ open files, so they might change the current  open file.\n\n6. When editing\
               \ files, it is easy to accidentally specify a wrong line number or to write\
               \ code with incorrect indentation. Always check the code after you issue an\
               \ edit to make sure that it reflects what you wanted to accomplish. If it didn't,\
               \ issue another command to fix it.\n\n7. It may be necessary to install the\
               \ repository from source before you can run code. Please think about how to\
               \ install the environment from the repository directory if you need to do so.\n\
               \   \n\n(Open file: {open_file})\n(Current directory: {working_dir})\nbash-$"
             next_step_no_output_template: |-
               Your command ran successfully and did not produce any output.
               (Open file: {open_file})
               (Current directory: {working_dir})
               bash-$
             next_step_template: |-
               {observation}
               (Open file: {open_file})
               (Current directory: {working_dir})
               bash-$
             parse_command: {}
             parse_function: {}
             put_demos_in_history: false
             state_command:
               arguments: null
               code: |
                 state() {
                   local working_dir="$PWD";
                   if [ -z $CURRENT_FILE ]; then
                       echo '{"open_file": "n/a", "working_dir": "'$working_dir'"}';
                   else
                       echo '{"open_file": "'$(realpath $CURRENT_FILE)'", "working_dir": "'$working_dir'"}';
                   fi
                 };
               docstring: null
               end_name: null
               name: state
               signature: null
             strategy_template: null
             submit_command: submit
             subroutine_types: []
             system_template: "SETTING: You are an autonomous programmer, and you're working\
               \ directly in the command line with a special interface.\n\nThe special interface\
               \ consists of a file editor that shows you {WINDOW} lines of a file at a time.\n\
               In addition to typical bash commands, you can also use the following commands\
               \ to help you navigate and edit files.\n\nCOMMANDS:\n{command_docs}\n\nPlease\
               \ note that THE EDIT COMMAND REQUIRES PROPER INDENTATION. \nIf you'd like to\
               \ add the line '        print(x)' you must fully write that out, with all those\
               \ spaces before the code! Indentation is important and code that is not indented\
               \ correctly will fail and require fixing before it can be run.\n\nRESPONSE FORMAT:\n\
               Your shell prompt is formatted as follows:\n(Open file: <path>) <cwd> $\n\n\
               You need to format your output using two fields; discussion and command.\nYour\
               \ output should always include _one_ discussion and _one_ command field EXACTLY\
               \ as in the following example:\nDISCUSSION\nFirst I'll start by using ls to\
               \ see what files are in the current directory. Then maybe we can look at some\
               \ relevant files to see what they look like.\n```\nls -a\n```\n\nYou should\
               \ only include a *SINGLE* command in the command section and then wait for a\
               \ response from the shell before continuing with more discussion and commands.\
               \ Everything you include in the DISCUSSION section will be saved for future\
               \ reference.\nIf you'd like to issue two commands at once, PLEASE DO NOT DO\
               \ THAT! Please instead first submit just the first command, and then after receiving\
               \ a response you'll be able to issue the second command. \nYou're free to use\
               \ any other bash commands you want (e.g. find, grep, cat, ls, cd) in addition\
               \ to the special commands listed above.\nHowever, the environment does NOT support\
               \ interactive session commands (e.g. python, vim), so please do not invoke them."
             util_functions:
             - arguments: null
               code: '_print() {    local total_lines=$(awk ''END {print NR}'' $CURRENT_FILE)    echo
                 "[File: $(realpath $CURRENT_FILE) ($total_lines lines total)]"    lines_above=$(jq
                 -n "$CURRENT_LINE - $WINDOW/2" | jq ''[0, .] | max | floor'')    lines_below=$(jq
                 -n "$total_lines - $CURRENT_LINE - $WINDOW/2" | jq ''[0, .] | max | round'')    if
                 [ $lines_above -gt 0 ]; then        echo "($lines_above more lines above)"    fi    cat
                 $CURRENT_FILE | grep -n $ | head -n $(jq -n "[$CURRENT_LINE + $WINDOW/2, $WINDOW/2]
                 | max | floor") | tail -n $(jq -n "$WINDOW")    if [ $lines_below -gt 0 ];
                 then        echo "($lines_below more lines below)"    fi}'
               docstring: null
               end_name: null
               name: _print
               signature: _print
             - arguments: null
               code: _constrain_line() {    if [ -z "$CURRENT_FILE" ]    then        echo "No
                 file open. Use the open command first."        return    fi    local max_line=$(awk
                 'END {print NR}' $CURRENT_FILE)    local half_window=$(jq -n "$WINDOW/2" |
                 jq 'floor')    export CURRENT_LINE=$(jq -n "[$CURRENT_LINE, $max_line - $half_window]
                 | min")    export CURRENT_LINE=$(jq -n "[$CURRENT_LINE, $half_window] | max")}
               docstring: null
               end_name: null
               name: _constrain_line
               signature: _constrain_line
           config_file: config/default_from_url.yaml
           model:
             host_url: localhost:11434
             model_name: replay
             per_instance_cost_limit: 3.0
             replay_path: temp_replay.jsonl
             temperature: 0.0
             top_p: 0.95
             total_cost_limit: 0.0
         environment:
           base_commit: null
           container_name: null
           data_path: https://github.com/klieret/swe-agent-test-repo/issues/1
           image_name: sweagent/swe-agent:latest
           install_environment: true
           no_mirror: false
           split: dev
           timeout: 35
           verbose: true
         instance_filter: .*
         skip_existing: false
         suffix: ''

INFO     💽 Loaded dataset from https://github.com/klieret/swe-agent-test-repo/issues/1
DEBUG    Starting container with command: docker run -i --rm --name sweagent-swe-agent-latest-df87d982be sweagent/swe-agent:latest /bin/bash -l -m
INFO     🌱 Environment Initialized
INFO     ▶  Beginning task 0
INFO     Trying to clone from non-mirror...
WARNING  install_environment is set to True, but the data path is a GitHub URL. Skipping conda environment installation.
INFO     Initializing agent settings for container f96ca6ae6851f727d8884aef0a98cd96acb388f75d1c1db8c1b7559be622cbf6
2024-04-07 14:39:58,890 - api_models - INFO - Resetting model stats
INFO     SYSTEM (primary)
         SETTING: You are an autonomous programmer, and you're working directly in the command line with a special interface.

         The special interface consists of a file editor that shows you 100 lines of a file at a time.
         In addition to typical bash commands, you can also use the following commands to help you navigate and edit files.

         COMMANDS:
         open:
           docstring: opens the file at the given path in the editor. If line_number is provided, the window will be move to include that line
           signature: open <path> [<line_number>]
           arguments:
             - path (string) [required]: the path to the file to open
             - line_number (integer) [optional]: the line number to move the window to (if not provided, the window will start at the top of the file)

         goto:
           docstring: moves the window to show <line_number>
           signature: goto <line_number>
           arguments:
             - line_number (integer) [required]: the line number to move the window to

         scroll_down:
           docstring: moves the window down {WINDOW} lines
           signature: scroll_down

         scroll_up:
           docstring: moves the window down {WINDOW} lines
           signature: scroll_down

         create:
           docstring: creates and opens a new file with the given name
           signature: create <filename>
           arguments:
             - filename (string) [required]: the name of the file to create

         submit:
           docstring: submits your current code and terminates the session
           signature: submit

         search_dir:
           docstring: searches for search_term in all files in dir. If dir is not provided, searches in the current directory
           signature: search_dir <search_term> [<dir>]
           arguments:
             - search_term (string) [required]: the term to search for
             - dir (string) [optional]: the directory to search in (if not provided, searches in the current directory)

         search_file:
           docstring: searches for search_term in file. If file is not provided, searches in the current open file
           signature: search_file <search_term> [<file>]
           arguments:
             - search_term (string) [required]: the term to search for
             - file (string) [optional]: the file to search in (if not provided, searches in the current open file)

         find_file:
           docstring: finds all files with the given name in dir. If dir is not provided, searches in the current directory
           signature: find_file <file_name> [<dir>]
           arguments:
             - file_name (string) [required]: the name of the file to search for
             - dir (string) [optional]: the directory to search in (if not provided, searches in the current directory)

         edit:
           docstring: replaces lines <start_line> through <end_line> (inclusive) with the given text in the open file. The replacement text is terminated by a line with only end_of_edit on it. All of the <replacement text> will be entered, so
         make sure your indentation is formatted properly. Python files will be checked for syntax errors after the edit. If the system detects a syntax error, the edit will not be executed. Simply try to edit the file again, but make sure to
         read the error message and modify the edit command you issue accordingly. Issuing the same command a second time will just lead to the same error message again.
           signature: edit <start_line>:<end_line>
         <replacement_text>
         end_of_edit
           arguments:
             - start_line (integer) [required]: the line number to start the edit at
             - end_line (integer) [required]: the line number to end the edit at (inclusive)
             - replacement_text (string) [required]: the text to replace the current selection with

         Please note that THE EDIT COMMAND REQUIRES PROPER INDENTATION.
         If you'd like to add the line '        print(x)' you must fully write that out, with all those spaces before the code! Indentation is important and code that is not indented correctly will fail and require fixing before it can be
         run.

         RESPONSE FORMAT:
         Your shell prompt is formatted as follows:
         (Open file: <path>) <cwd> $

         You need to format your output using two fields; discussion and command.
         Your output should always include _one_ discussion and _one_ command field EXACTLY as in the following example:
         DISCUSSION
         First I'll start by using ls to see what files are in the current directory. Then maybe we can look at some relevant files to see what they look like.
         ```
         ls -a
         ```

         You should only include a *SINGLE* command in the command section and then wait for a response from the shell before continuing with more discussion and commands. Everything you include in the DISCUSSION section will be saved for
         future reference.
         If you'd like to issue two commands at once, PLEASE DO NOT DO THAT! Please instead first submit just the first command, and then after receiving a response you'll be able to issue the second command.
         You're free to use any other bash commands you want (e.g. find, grep, cat, ls, cd) in addition to the special commands listed above.
         However, the environment does NOT support interactive session commands (e.g. python, vim), so please do not invoke them.
INFO     🤖 MODEL INPUT
         We're currently solving the following issue within our repository. Here's the issue text:
         ISSUE:
         SyntaxError: invalid syntax
         I'm running `missing_colon.py` as follows:

         ```python
         division(23, 0)
         ```

         but I get the following error:

         ```
           File "/Users/fuchur/Documents/24/git_sync/swe-agent-test-repo/tests/./missing_colon.py", line 4
             def division(a: float, b: float) -> float
                                                      ^
         SyntaxError: invalid syntax
         ```

         INSTRUCTIONS:
         Now, you're going to solve this issue on your own. Your terminal session has started and you're in the repository's root directory. You can use any bash commands or the special interface to help you. Edit all the files you need to
         and run any checks or tests that you want.
         Remember, YOU CAN ONLY ENTER ONE COMMAND AT A TIME. You should always wait for feedback after every command.
         When you're satisfied with all of the changes you've made, you can submit your changes to the code base by simply running the submit command.
         Note however that you cannot use any interactive session commands (e.g. python, vim) in this environment, but you can write scripts and run them. E.g. you can write a python script and then run it with `python <script_name>.py`.

         NOTE ABOUT THE EDIT COMMAND: Indentation really matters! When editing a file, make sure to insert appropriate indentation before each line!

         IMPORTANT TIPS:
         1. Always start by trying to replicate the bug that the issues discusses.
            If the issue includes code for reproducing the bug, we recommend that you re-implement that in your environment, and run it to make sure you can reproduce the bug.
            Then start trying to fix it.
            When you think you've fixed the bug, re-run the bug reproduction script to make sure that the bug has indeed been fixed.

            If the bug reproduction script does not print anything when it succesfully runs, we recommend adding a print("Script completed successfully, no errors.") command at the end of the file,
            so that you can be sure that the script indeed ran fine all the way through.

         2. If you run a command and it doesn't work, try running a different command. A command that did not work once will not work the second time unless you modify it!

         3. If you open a file and need to get to an area around a specific line that is not in the first 100 lines, say line 583, don't just use the scroll_down command multiple times. Instead, use the goto 583 command. It's much quicker.

         4. If the bug reproduction script requires inputting/reading a specific file, such as buggy-input.png, and you'd like to understand how to input that file, conduct a search in the existing repo code, to see whether someone else has
         already done that. Do this by running the command: find_file "buggy-input.png" If that doensn't work, use the linux 'find' command.

         5. Always make sure to look at the currently open file and the current working directory (which appears right after the currently open file). The currently open file might be in a different directory than the working directory! Note
         that some commands, such as 'create', open files, so they might change the current  open file.

         6. When editing files, it is easy to accidentally specify a wrong line number or to write code with incorrect indentation. Always check the code after you issue an edit to make sure that it reflects what you wanted to accomplish. If
         it didn't, issue another command to fix it.

         7. It may be necessary to install the repository from source before you can run code. Please think about how to install the environment from the repository directory if you need to do so.

         (Open file: n/a)
         (Current directory: /klieret__swe-agent-test-repo)
         bash-$
INFO     💭 THOUGHT (primary)
         The issue indicates a syntax error in the `missing_colon.py` file, specifically on line 4. The error message suggests that there is a missing colon at the end of the function signature. Let's start by finding the `missing_colon.py`
         file within the repository to examine its contents.

INFO     🎬 ACTION (primary)
         find_file "missing_colon.py"

INFO     Saved trajectory to trajectories/fuchur/replay__klieret__swe-agent-test-repo__default_from_url__t-0.00__p-0.95__c-3.00__install-1/klieret__swe-agent-test-repo-i1.traj
INFO     🤖 MODEL INPUT
         Found 1 matches for "missing_colon.py" in /klieret__swe-agent-test-repo:
         /klieret__swe-agent-test-repo/tests/missing_colon.py

         (Open file: n/a)
         (Current directory: /klieret__swe-agent-test-repo)
         bash-$
Traceback (most recent call last):
  File "/Users/fuchur/Documents/24/git_sync/SWE-agent/run.py", line 133, in main
    info, trajectory = agent.run(
  File "/Users/fuchur/Documents/24/git_sync/SWE-agent/sweagent/agent/agents.py", line 645, in run
    thought, action, output = self.forward(
  File "/Users/fuchur/Documents/24/git_sync/SWE-agent/sweagent/agent/agents.py", line 373, in forward
    thought, action, output = self.forward_with_error_check(observation, state)
  File "/Users/fuchur/Documents/24/git_sync/SWE-agent/sweagent/agent/agents.py", line 513, in forward_with_error_check
    output = self.forward_model(observation, state)
  File "/Users/fuchur/Documents/24/git_sync/SWE-agent/sweagent/agent/agents.py", line 427, in forward_model
    return self.model.query(self.local_history)
  File "/Users/fuchur/Documents/24/git_sync/SWE-agent/sweagent/agent/models.py", line 681, in query
    action = self.replays[self.replay_idx][self.action_idx]
IndexError: list index out of range
WARNING  ❌ Failed on klieret__swe-agent-test-repo-i1: list index out of range
INFO     Beginning environment shutdown...
INFO     Agent container stopped
DEBUG    Starting container with command: docker run -i --rm --name sweagent-swe-agent-latest-df87d982be sweagent/swe-agent:latest /bin/bash -l -m
INFO     🌱 Environment Initialized

System Information
macos

 677         def query(self, history: list[dict[str, str]]) -> str:
 678             """
 679             Logic for tracking which replay action to pass to SWEEnv
 680             """
 681  ->         action = self.replays[self.replay_idx][self.action_idx]
 682             self.action_idx += 1
 683
 684             # Assuming `submit` is always last action of replay trajectory
 685             if action == "submit":
 686                 self.replay_idx += 1
 687                 self.action_idx = 0
 688
 689             return action
(Pdb++) self.replays
[['The issue indicates a syntax error in the `missing_colon.py` file, specifically on line 4. The error message suggests that there is a missing colon at the end of the function signature. Let\'s start by finding the `missing_colon.py` file within the repository to examine its contents.\n\n```\nfind_file "missing_colon.py"\n```']]
(Pdb++) self.replay_idx
0
(Pdb++) self.action_idx
1
(Pdb++) self.replays[0]
['The issue indicates a syntax error in the `missing_colon.py` file, specifically on line 4. The error message suggests that there is a missing colon at the end of the function signature. Let\'s start by finding the `missing_colon.py` file within the repository to examine its contents.\n\n```\nfind_file "missing_colon.py"\n```']
(Pdb++) len(self.replays[0])
1
(Pdb++)

Cannot reproduce after regenerating trajectories, maybe issue with old leftover trajectory.

Possible reason: When running the script again with --skip_existing=False, an incomplete trajectory gets saved (?)


Segfault when calling .destroy() on element while iterating querySelectorAll()

The following will cause a segfault from v0.3.1, up to and including the current master branch of htmld.
foreach(e; document.querySelectorAll("script", document.root)) {
    e.destroy();
}

Minimal reproduction: htmld-segfault-repro.zip
Tested with DMD v2.079 and LDC2 v1.8.0.
I don't know whether this would be considered a bug, or whether the fact that it worked before was just an accident, but I do know it works fine in v0.2.19 and older.
Currently, as a workaround, I've changed my code to just add all elements to an array and iterate and destroy each one from the array afterwards.
UPDATE:
I did a bit more testing, and the exact commit that introduces the segfault is https://github.com/eBookingServices/htmld/commit/8fe2134d623ef57f57a4fac3f529e7391f6a4c89.

Thanks for reporting! I did some quick investigation and the reason it used to work is because the old allocator wasn't zeroing out disposed memory, combined with detachFast() not touching own memory, so after the node was deleted it was still pointing to valid untouched memory. I suspect if you were to allocate a new node inside the loop, i.e. re-use the just freed memory, it would no longer work as expected.


NTR: [paracellular transport at tight junction]

Dear GO curators,
I would like to discuss with you the possibility of creating a biological process term for epithelial paracellular transport at tight junctions;
it’s relevant to channel-forming claudins
https://www.tcdb.org/browse.php
https://www.tcdb.org/search/index.php?query=claudin 2&type=system
review: PMID:30665499; PMID:28869648; PMID:28605828; PMID:21365189
new GO term: paracellular transport at tight junction
definition: The movement of solutes through a paracellular channel formed in the tight junction strands.
child of GO:0006810 transport
synonyms: paracellular epithelial permeability; pore pathway; tight junction-mediated paracellular transport
Maybe we can create the related molecular function term as well:
new GO term: paracellular channel activity
definition: A pore channel activity that enables size- and charge-selective transport of solutes through a tight junction barrier across the epithelium.
child of GO:0022842 narrow pore channel activity PMID:21365189
synonym: claudin pore
Thank you for your help and all the best,
Nevila Hyka-Nouspikel

Hi Nevila,
Would it be a sibling of these terms:

GO:0010496 intercellular transport

GO:1990349 gap junction-mediated intercellular transport

GO:0010497 plasmodesmata-mediated intercellular transport

GO:0110077 vesicle-mediated intercellular transport

?
Thanks, Pascale

Hi Pascale,
Yes GO:0010496 intercellular transport is the most appropriate parent term.
Thanks a lot,
Nevila

I was curious what it is Google:
https://pubmed.ncbi.nlm.nih.gov/12609869/
"Unlike conventional ion channels, which mediate ion transport across lipid bilayers, the tight junction channels must orient parallel to the plane of the plasma membranes to support paracellular ion movements"
it seems the critical differentia is "facilitates the transport of ions between separate extracellular compartments"
see image in
https://www.researchgate.net/publication/314233504_Nanoformulation_and_administration_of_PUFA-rich_systems_for_applications_in_modern_healthcare/figures?lo=1

I think we should just have "paracellular transport"  for process (exclude location at ticght junction, can be captured with extension,
and MF "tight junction ion channel"
would be more  flexible for other types of paracellular transport
(which needs to be defined somehow as between cells not inter cells

Thank you Val.
"paracellular transport" for process and "paracellular channel activity" for molecular function – sounds all right, but up to you to decide; note that tight junction channels are permeable to uncharged molecules like water
All the best,
Nevila

They are different:
Intercellular: Intercellular communication or processes occur within the cell itself or involve direct interactions between cells.
Paracellular: This term refers to the movement of substances between cells through the space that exists between adjacent cells. it's the passage of molecules or ions through the intercellular space without actually passing through the cell membrane.
Paracellular isn't going in

I agree, they are different. Here is a schematic depicting gap and tight junction channels:
https://ars.els-cdn.com/content/image/1-s2.0-S0022283614005713-gr4_lrg.jpg (PMID:25451028)

I am not sure what the parent should be for MF "tight junction channel activity". It cannot be a child of GO:0015267 channel activity because it's not of transmembrane transport; or a child of GO:0005215 transporter activity because it's not transporting in/out/between cells (I think between here means inter cellular).

+[Term]
+id: GO:0160184
+name: paracellular transport
+namespace: biological_process
+def: "The directed movement of substance through the space in between adjacent cells, rather than through the cells themselves." [PMID:28452575, WIki:Paracellular_transport]
+is_a: GO:0006810 ! transport
+property_value: term_tracker_item "https://github.com/geneontology/go-ontology/issues/27621" xsd:anyURI
+created_by: rynl
+creation_date: 2024-04-29T23:13:30Z

GO:0005215 transporter activity DEF "Enables the directed movement of substances (such as macromolecules, small molecules, ions) into, out of or within a cell, or between cells".
Should we change that to "Enables the directed movement of substances (such as macromolecules, small molecules, ions) into, out of or within a cell, or between cells, or through the space in between adjacent cells."?
The original definition was referenced to GOC:dgf, GOC:ai. Can we consult them? @pgaudet

@pgaudet Do you think we need to revise the definition of GO:0005215 transporter activity to accommodate "paracellular tight junction channel activity"?

I would add this as a direct child of transporter activity:

I see the definiton is "Enables the directed movement of substances (such as macromolecules, small molecules, ions) into, out of or within a cell, or between cells."
Change to
"Enables the directed movement of substances (such as macromolecules, small molecules, ions) into, out of or within a cell, across or in between cells."

+[Term]
+id: GO:0160187
+name: paracellular tight junction channel activity
+namespace: molecular_function
+def: "Enables size- and charge-selective transport of solutes through a tight junction barrier paracellularly, across the epithelium." [PMID:30665499]
+synonym: "claudin pore" EXACT []
+is_a: GO:0005215 ! transporter activity
+property_value: term_tracker_item "https://github.com/geneontology/go-ontology/issues/27621" xsd:anyURI
+created_by: rynl
+creation_date: 2024-05-14T00:31:01Z

Please let me know if anything else is needed. Thanks.

Look good!

Thank you!


PSI-PROF 2024-25 submission

We are submitting only hospitalizations. Trajectories are paired across horizon, age, and scenario. There is no stochasticity, so stochastic_run matches run_grouping. Let us know if anything looks off.

Oops, value rounding continues to fail to propagate from round-to-round in my submission codes.  I have changed the code and am re-processing the submission with rounded trajectory values.  I can re-submit, but I don't think that helps your storage issue.

Good morning,
Thank you for the submission, I can ignore the rounding issue for now. Thanks for the information, I just have a small remark: if you have no stochasticity, the column stochastic_run should be set to 1.
Please see the documentation:

If each model run is not stochastic, the column will be set to a unique identifier: 1 for all rows.

Please let me know if any issues or questions,
Thanks,
Lucie


User Story: Downloading Array of Cluster Configs (Version 2)

As a user, I want to download a unified config containing an array of clusters to access all my authorized clusters with a single file.
Description:
Users can download a unified configuration file from the local Gangway interface. This file contains an array of all clusters the user has access to, enabling streamlined access.
Acceptance Criteria:
Unified Config File Generation:

A single config file is generated, containing an array of all clusters the user has access to.

Each cluster in the config includes necessary credentials and access parameters.

Gangway Integration:

Users can log in to the local Gangway interface.

A "Download Config" button is available in the Gangway UI.

Validation:

The user first logs in to the Gangway local setup and downloads the config.
When the user opens the config, it has all the clusters to which the user has access.
By using this config and kube CTL commands user can access all the clusters that are listed in the config.

@Bhoomiz01, Gangway doesn't support downloading YAML files for multiple clusters; it only works for a single cluster.

Gangway is a temporary solution. We want that functionality in Ops-dashboard.

Gangway is a temporary solution. We want that functionality in Ops-dashboard.

I am making a separate version 3 user story for this.


Document limitations of operator overloading utils

Specify that the operator overloading guide is written for "Functions that take Real arguments".

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 41.33%. Comparing base (f0d36c6) to head (844cb18).

:exclamation:  There is a different number of reports uploaded between BASE (f0d36c6) and HEAD (844cb18). Click for more details.
HEAD has 3 uploads less than BASE

Flag
BASE (f0d36c6)
HEAD (844cb18)

4
1

Additional details and impacted files
@@             Coverage Diff             @@
##             main     #180       +/-   ##
===========================================
- Coverage   91.36%   41.33%   -50.03%
===========================================
  Files          41       40        -1
  Lines        1772     1512      -260
===========================================
- Hits         1619      625      -994
- Misses        153      887      +734

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Support arbitrary training criteria

The training objective is now set using model.set_crtierion(criterion), which sets the _criterion instance variable.
Approach:

Added the set_criterion method to the BaseModule class in _base.py.
Removed the manual specification of the criterion in each ensemble module. Any previous calls to pre-set criteria are now done via self._criterion.
Updated tensorboard logging names and validation print outs in the case of Regressors.
All tests have been updated such that set_criterion is called when specifying a model in each test.
In utils/io.py, added "_criterion": model._criterion to the state dict when saving. This is also loaded and set when loading a model.
Docs: updated the index and quick start sections in the docs to include the new set_criteiron step.

Note:
In the case of GradientBoosting, model.set_crtierion(criterion) will have no effect and gradient boosting ensembles will function as they did previously with no changes.
Let me know if there is anything wrong with my changes or if I've missed anything. I'm happy to make any changes you think are necessary.
Batuhan

Thanks for your PR! I will take a careful look soon :-)

The code looks almost good. I think we have two things remaining to do:

pass the code-quality CI using the command black --skip-string-normalization --check --config pyproject.toml ./
set_criterion should not be a necessary step for all ensembles, could we add the __init__ method for BaseClassifier and BaseRegressor, which overrides the __init__ method of BaseModule, and then set the default criterion (cross entropy loss for classification, and mse for regression).

Sure, I'll make sure it passes the code quality CI check.
As for default criteria, I actually tried to implement this and ran into some trouble with the Fusion models. I do agree that this should be the case though, so I'll have another go.
I'm away until tomorrow so I'll get started on this tomorrow.

@all-contributors please add @by256 for code


Link to discontinued site and not existing document

Request type

[] Please close this issue, I accidentally submitted it without adding any details
[ ] New documentation
[x ] Correction or update

Details

https://developer.mozilla.org/pl/docs/Web/Tutorials
Tutoriale Javascript -> JavaScript Best Practices (WebPlatform.org) -> https://webplatform.github.io/docs/wiki/tutorials/javascript_best_practices

Link on the page  "JavaScript Best Practices (WebPlatform.org)" is not found
404
Please remove link or replace with https://www.w3schools.com/js/js_best_practices.asp

Another one on the same page
JavaScript Garden
https://clarle.github.io/yui3/blog/2006/11/27/video-crockford-advjs/
404

Actually there is more and more, don't understand why links point to English sites, if this is PL translation, shouldn't they point to Polish documents only?

Thanks for reporting. Closing, because the Polish translation is frozen: https://developer.mozilla.org/en-US/docs/MDN/Contribute/Localize
Note, if you are able to unfreeze the translation, then the rules for what links exist etc would largely be up to the translation teams. Most teams seem to keep English links unless there is a good alternative in the language of choice.


fix: :bug: Fixed a bug with cors origins

The cors origins for the socket server did not properly parse as an array
Finished the README.md

:tada: This PR is included in version 1.0.7 :tada:
The release is available on:

GitHub release
npm package (@latest dist-tag)

Your semantic-release bot :package::rocket:


Investigating failing CI runs

According to the outputs of the webservers, the CI does not get the right secret API key these days. I guess the Stripe CLI process is failing due to the same reason. Could you check if the secrets below are set?

TEST_STRIPE_PUBLISHABLE_KEY
TEST_STRIPE_SECRET_KEY

The output of the webserver (Ruby): https://github.com/stripe-samples/accept-a-payment/runs/4062828436#step:6:118
web_1       | Your secret API key (STRIPE_SECRET_KEY) is configured incorrectly or
web_1       | doesn't match the expected format.  You can find your API keys in the Stripe
web_1       | dashboard here: https://dashboard.stripe.com/test/apikeys. Then update
web_1       | the .env file.

stripe process seems exited abnormally: https://github.com/stripe-samples/accept-a-payment/runs/4062828436#step:6:84
                  Name                                Command               State    Ports
------------------------------------------------------------------------------------------
accept-a-payment_runner_1                  /work/sample-ci/docker/run ...   Up
accept-a-payment_runner_run_f839113385d7   /bin/sh -c true                  Exit 0
accept-a-payment_stripe_1                  /bin/ash -c /bin/stripe -- ...   Exit 1
accept-a-payment_web_1                     /work/sample-ci/docker/rub ...   Exit 0

I think it was related to not having the right priv. I just ran again manually and it looks like it passed many more.

Thanks! That's right. I also missed a couple of other causes of failing CI runs. If my understanding is correct, there are 3 problems:

Dependabot PRs cannot retrieve secrets.
Some of the e2e tests are failing like this.
Dependabot PRs cancel previous runs on the main branch and the messages in the Annotations section suggests it's because the concurrency group name is the same between two branches).

Hmm. you're right. It looks like the button text may have changed to just Pay:


Status 'Retired' implemented in 1.4.0 conflicts with existing status name

Environment

Python version: 3.9
Nautobot version: 1.4.0

Upgrading Nautobot from 1.3.6 to 1.4.0 using the instructions provided in the documentation introduced a conflict with the status
'Retired' if the existing environment already have this status implemented.
The error occurs during migration when running:

nautobot-server post_upgrade

Applying dcim.0014_location_status_data_migration...Unexpected error while running data migration to populate status for dcim.location: duplicate key value violates unique constraint "extras_status_name_key"
DETAIL:  Key (name)=(Retired) already exists.
Temporarily solved by renaming the 'Retired' status.
Steps to Reproduce

Have a status called 'Retired' in existing environment.
Upgrade to 1.4.0 from 1.3.x with the same steps as documentation.
Data migration during the post upgrade process will run into a duplicate key value.

Expected Behavior
Successful data migration

Observed Behavior
Unexpected error during post upgrade due to duplicate keys, status name 'Retired'.

Thanks for the report! I haven't encountered this in my own environment, but from code inspection it looks likely that this is going to be the case if any of the pre-populated status's slug, description, or color has been changed from the default values defined in nautobot/extras/management/__init__.py and nautobot/dcim/choices.py.


Performance Optimisation of Request Latency

I have a question about optimising the total time it takes to prepare a transaction.
I have a use case where I am submitting transactions indirectly to the blockchain after they have been signed by eosjs. I am trying to figure out how to improve the amount of time it takes to prepare the transaction for broadcasting. It seems the absolute majority of the time is spent in round-trip latency between eosjs and the blockchain, in order to get various information.

I have a websocket connection to the web client that needs to prepare the transaction. Is there any way I can pre-cache all of the needed information, and keep it up to date, so as to reduce round-trip latency to a minimum (possibly none)? Would the easiest way be to somehow indirect the ajax requests to my cache of the information? Is all of the information needed, or can the use of some of it be avoided, possibly by relaxing client security a bit?
If you have any pointers on how to accomplish this, please let me know. Thanks.

To really fix this, we need to rework the RPC api in nodeos

WIth the release of v22 stable, the new process uses get_block_info which is a faster endpoint.  This is currently available in eosjs@edge and RC versions of eosjs.  As for the amount of calls, it's still required unless a rework is made in nodeos.


huggingface_hub.utils._validators.HFValidationError:

Repo id must be in the form 'repo_name' or 'namespace/repo_name': '/lmsys/vicuna-13b-v1.3'. Use repo_type argument if needed.
It looks like the python script imports the model name from the command line but doesn't correctly send the right format to huggingface.
This happens every time someone puts huggingface in their stuff. I'm not sure what the fix is.

Thanks for noticing this. I guess I might just suggest people to modify it in the config file directly. Thank you.

Hi, I encountered the same issue and I guess it is due to the mistaken path to the model (config.model_paths).
The instructions in the README.md are clear on the requirement of the config.model_paths:

Our script by default assumes models are stored in a root directory named as /DIR.

But if someone like me has considered the default value of config.model_paths in template.py as ./data/vicuna/vicuna-7b-v1.3 (this means a relative path in the repo, but actually the one in the template.py refers to an absolute path /data/vicuna/vicuna-7b-v1.3).
Two ways can workaround this:

Use absolute path. If you prefer to save the model in the repo itself, the path may look like: /home/{user_name}/.../llm-attacks/data/vicuna/vicuna-7b-v1.3. However, I encounter another problem when running on a cluster where the absolute path may be different in the login node and in a computing node.
Use relative path: ../../data/vicuna/vicuna-7b-v1.3.

Note: I assume the model is save in /path_to_the_repo/data/ where you can find the folder advbench as well.
Then run the bash command (cd launch_scripts; bash run_gcg_individual.sh vicuna behaviors), things should work well.


Add unknown mods

Allow users to set unknown alphabase mods by using the config.
Required minor refactoring of the config class to allow addition of keys not in the original config.

Just raising this question because I had an issue with doing the same thing in peptdeep today and trying to learn: How does this work with the multiprocessing on Mac? I had the issue, that I needed to modify the constants table on disk rather than temporarily in a jupyter notebook for library prediction and multiprocessing to recognize the change. Is this specifically a problem for Mac + jupyter or does it potentially affect other execution forms on Mac as well?

Hi @JuliaS92 . I think this a known issue with Jupyter and multiprocessing. It should work fine if it's in a python module.


Add public version of AbstractMesh's _getPositionData function

PR to add a public version of the _getPositionData function to the AbstractMesh class to allow users to get positions data with skeleton and/or morph applied.
Forum: https://forum.babylonjs.com/t/how-do-i-extract-mesh-vertex-data-properly/27381/9
NOTE: Undid previous commits, started with fresh, up-to-date repo and re-applied the changes. Hopefully will build and validate properly now, like it is locally...
Original closed PR for reference: https://github.com/BabylonJS/Babylon.js/pull/11928

Hurray it passed all the checks now. :)

Thanks!
Just wondering, why do we need both? And there seems to be a different between both functions - the hidden public (_get...) calls the public function, but shouldn't it happen the other way?

The existing hidden function handles internals that @deltakosh doesn't want exposed. The exposed function has just the part that gets the vertex positions and applies the skeleton and/or morhp. The hidden internal function needs to do that as well as updating internal stuff as it did before, so it calls the exposed function for code reuse...
PS: Unfortunately when I undid the commits the old PR errorred and auto-closed so I had to make this new one.


Proposing the isCompatible plugin function

Instead of us having to worry about which plugins are compatible with which version of pi the user happens to be using, why don't we allow the user to perform all the check they need to do and allow us a reference to an isCompatible function that tells us whether the plugin is compatible along with any warning/error messages we need to print to the user at the website?

I agree and we should have access to that information if we are using the proposed plugin manifest #16

yep that's the point of the manifest to have these info available without the need to invoke the plugin code etc..
just let that function check the manifest and ggwp


Add ControlNet demos web app

https://user-images.githubusercontent.com/12058921/222927911-3ab52dd1-f2ee-4fb8-97e8-dafbf96ed5c5.mp4

GIF generated with https://ezgif.com/gif-to-mp4/

Super cool! Did you deploy an app we can try?

No I didn't deploy this. But I can pick one of the apps and deploy it. 👍


code release time

I am very interested in your paper published in MICCAI 2020. When will you open the code?
Thanks,

Hi,mjq93;
I am not sure, if we submit the manuscript to a journal, we will release it as soon as possible (recently my supervisor is revising the manuscript, maybe needs one month or more).
Best;
Xiangde.

Hi,mjq93;
I am not sure, if we submit the manuscript to a journal, we will release it as soon as possible (recently my supervisor is revising the manuscript, maybe needs one month or more).
Best;
Xiangde.

Hi,mjq93;
I am not sure, if we submit the manuscript to a journal, we will release it as soon as possible (recently my supervisor is revising the manuscript, maybe needs one month or more).
Best;
Xiangde.

Hello, Xiangde:
Five months have passed, do you still plan to open the source code? (Recently, I have encountered a bottleneck in the lung nodule detection task. I hope I can learn from the relevant ideas in this paper.)
Thanks,

Hi, mjq93,
Sorry, there is too much work that needs to do in the past half-year, so the release date of the code was delayed. Now, I am working hard to finish this extension maybe it also needs several months, and I suggest you reimplement CPMNet by yourself, if you have any questions, please email me (luoxd1996@gmail.com).
Best,
Xiangde.

Hi, mjq93,
Sorry, there is too much work that needs to do in the past half-year, so the release date of the code was delayed. Now, I am working hard to finish this extension maybe it also needs several months, and I suggest you reimplement CPMNet by yourself, if you have any questions, please email me (luoxd1996@gmail.com).
Best,
Xiangde.
Do you plan to open the source code soon? thanks


Cannot read content-types.xml with a qualified namespace

The productivity tool cannot read files if the a qualified namespace as opposed the default namespace is used. The XML itself is valid with the default namespace just being a special case. Unfortunately, this error means you use the tool with any files where this has been done. The error message is "Cannot open the file: the required Types-Element could not be found".
<?xml version="1.0"?>
<ns0:Types xmlns:ns0="http://schemas.openxmlformats.org/package/2006/content-types">
  <ns0:Override ContentType="application/vnd.openxmlformats-officedocument.theme+xml" PartName="/xl/theme/theme1.xml"/>
  <ns0:Override ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml" PartName="/xl/styles.xml"/>
  <ns0:Default ContentType="application/vnd.openxmlformats-package.relationships+xml" Extension="rels"/>
  <ns0:Default ContentType="application/xml" Extension="xml"/>
  <ns0:Default ContentType="image/png" Extension="png"/>
  <ns0:Default ContentType="application/vnd.openxmlformats-officedocument.vmlDrawing" Extension="vml"/>
  <ns0:Override ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml" PartName="/xl/workbook.xml"/>
  <ns0:Override ContentType="application/vnd.openxmlformats-officedocument.extended-properties+xml" PartName="/docProps/app.xml"/>
  <ns0:Override ContentType="application/vnd.openxmlformats-package.core-properties+xml" PartName="/docProps/core.xml"/>
  <ns0:Override ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml" PartName="/xl/sharedStrings.xml"/>
  <ns0:Override ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml" PartName="/xl/worksheets/sheet1.xml"/>
</ns0:Types>

Yes, this is a current limitation of the tool, and of the SDK itself.  Leaving this issue open - when we do the port to COREFX (the open source .NET framework) we are going to need to revisit much of the XML reading / writing code, as the SDK, I believe, uses deprecated functionality, so some code needs re-written.  We can see if we can address this issue at that time.

This most likely is not going to be addressed, so closing this issue to reflect that.


ilogtail-community-edition/ilogtail-build-linux: is not a valid repository/tag: invalid reference format

Error parsing reference: "sls-opensource-registry.cn-shanghai.cr.aliyuncs.com/ilogtail-community-edition/ilogtail-build-linux:latest as build" is not a valid repository/tag: invalid reference format
It's not exist ?

I am not able to reproduce the same result. What is you environment settings? Is your connection to internet all right?
$docker pull sls-opensource-registry.cn-shanghai.cr.aliyuncs.com/ilogtail-community-edition/ilogtail-build-linux:latest
latest: Pulling from ilogtail-community-edition/ilogtail-build-linux
Digest: sha256:3c0affe6875912090938f3bf284a00f627cdef1ccbc008e4ddd93ce61c2bb9fa
Status: Image is up to date for sls-opensource-registry.cn-shanghai.cr.aliyuncs.com/ilogtail-community-edition/ilogtail-build-linux:latest
sls-opensource-registry.cn-shanghai.cr.aliyuncs.com/ilogtail-community-edition/ilogtail-build-linux:latest

the network's reason;


Break CLI into stand alone module

Add other niceties to the CLI like syntax highlighting, options for immutable selectors, etc.

Opting to keep together for now.


A request for help when testing Hpatch ValueError: zero-size array to reduction operation minimum which has no identity

Hi!
Thank you so much for releasing this toolbox and for the awesome paper on Patch2Pix.
Here, I would like to kindly ask for your help.
I have tried to run your example for Patch2Pix and another one of SuperPoint + NCNet ...
The following code lines are in ./test_patch3pix.sh...
python -m immatch.eval_hpatches --gpu 0 \
    --config 'patch2pix' --match_thres 0.25 0.5 0.9  \
    --task 'both' --save_npy \
    --root_dir .

However, I keep getting following error ValueError: zero-size array to reduction operation minimum which has no identity ... I am not sure how to fix it.
So, please give the guidance...
Below here is the full error report.
Also, I have captured the screen to confirm at the bottom to confirm
(immatch) gabby-suwichaya@gabby-suwichaya:/mnt/HDD4TB1/image-matching-toolbox$ ./test_patch3pix.sh Can not import sparsencnet

>>>> Method=Patch2Pix Default config: {'class': 'Patch2Pix', 'ckpt': 'pretrained/patch2pix/patch2pix_pretrained.pth', 'ksize': 2, 'imsize': 1024, 'match_threshold': 0.25} Thres: [0.25, 0.5, 0.9]

Load model method:patch2pix
Ckpt:pretrained/patch2pix/patch2pix_pretrained.pth
Initialize Patch2Pix: backbone=ResNet34 cstride=True upsample=8
Init regressor Namespace(conv_dims=[512, 512], conv_kers=[3, 3], conv_strs=[2, 1], fc_dims=[512, 256], feat_comb='pre', feat_dim=259, panc=1, pshift=8, psize=[16, 16], shared=False)
FeatRegressNet:  feat_comb:pre psize:16 out:5 feat_dim:518 conv_kers:[3, 3] conv_dims:[512, 512] conv_str:[2, 1]
FeatRegressNet:  feat_comb:pre psize:16 out:5 feat_dim:518 conv_kers:[3, 3] conv_dims:[512, 512] conv_str:[2, 1]
Xavier initialize all model parameters
Initialize ResNet using pretrained model from https://download.pytorch.org/models/resnet34-333f7ec4.pth
Reload all model parameters from weights dict
Initialize Patch2Pix
Matching thres: 0.25  Save to: ./outputs/hpatches/cache/Patch2Pix.im1024.m0.25.npy

>>Eval hpatches: method=Patch2Pix rthres=2 thres=[1, 3, 5, 10]
Save results to ./outputs/hpatches/cache/Patch2Pix.im1024.m0.25.npy
/home/gabby-suwichaya/anaconda3/envs/immatch/lib/python3.7/site-packages/numpy/core/fromnumeric.py:3441: RuntimeWarning: Mean of empty slice.
  out=out, **kwargs)
/home/gabby-suwichaya/anaconda3/envs/immatch/lib/python3.7/site-packages/numpy/core/_methods.py:189: RuntimeWarning: invalid value encountered in double_scalars
  ret = ret.dtype.type(ret / rcount)
Traceback (most recent call last):
  File "/home/gabby-suwichaya/anaconda3/envs/immatch/lib/python3.7/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/home/gabby-suwichaya/anaconda3/envs/immatch/lib/python3.7/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/mnt/HDD4TB1/image-matching-toolbox/immatch/eval_hpatches.py", line 98, in <module>
    print_out=args.print_out
  File "/mnt/HDD4TB1/image-matching-toolbox/immatch/eval_hpatches.py", line 74, in eval_hpatches
    save_npy=result_npy
  File "/mnt/HDD4TB1/image-matching-toolbox/immatch/utils/hpatches_helper.py", line 323, in eval_hpatches
    lprint_(eval_summary(results, thres, save_npy=save_npy))
  File "/mnt/HDD4TB1/image-matching-toolbox/immatch/utils/hpatches_helper.py", line 28, in eval_summary
    summary += '# Features: mean={:.0f} min={:d} max={:d}\n'.format(np.mean(n_feats), np.min(n_feats), np.max(n_feats))
  File "<__array_function__ internals>", line 6, in amin
  File "/home/gabby-suwichaya/anaconda3/envs/immatch/lib/python3.7/site-packages/numpy/core/fromnumeric.py", line 2880, in amin
    keepdims=keepdims, initial=initial, where=where)
  File "/home/gabby-suwichaya/anaconda3/envs/immatch/lib/python3.7/site-packages/numpy/core/fromnumeric.py", line 86, in _wrapreduction
    return ufunc.reduce(obj, axis, dtype, out, **passkwargs)
ValueError: zero-size array to reduction operation minimum which has no identity

Hi @GabbySuwichaya !
For faster debugging, I used superpoint since it runs fastest when one has a gpu.
I ran the following command:
# Turn on --print_out to see each sample results
python -m immatch.eval_hpatches --gpu 0 \
    --config 'superpoint' --task 'both' \
    --root_dir . --print_out

And here are the console outputs:

... (skip intermediate results)

So to figure out why you have that problem, you can do:

Check whether your dataset are setup correctly: it should be placed as 'data/datasets/hpatches-sequences-release'
Run this notebook from your local to see whether the repository is properly setup. If not, make sure you didn't miss anything in the readme.
Run the command i posted for hpatch, and post the output here, if 1 & 2 didn't solve your problem.

Thanks!
I found the error now, and the problem is solved. It was the directly of the HPatches data...
Here I would like to kindly ask one more question...
There is a line which said Cannot import sparsencnet ...
Could you please guide me what causes this line... ? I am very sorry I am not very familiar with the code...
Also should I try to solve it?

Hi @GabbySuwichaya ，
That line will appear when your environment doesn't contain MinkowskiEngine which is required by SparseNCNet. This is explained in install.md. So don't worry about it. It's expected to be there unless you want to run SparseNcNet, for which you need to follow the install.md.

Hi @GrumpyZhou,
Thanks so much for this. Yes, I will fix the problem accordingly. :)


Un-merge threads when there are no mutations in the platform views and overlays.

Our first launch of dynamic thread merging will only un-merge the thread when there are no platform views at the current frame and next frame. No platform views also guarantees there are no overlay views.
In the future, we want to optimize this so that the threads can be un-merged while there are platform views and overlays on the scene and only keep the thread merged when there are changes in the platform views and overlays.
The current limitation is that during preroll, we don't know if there are changes in the overlays. We should find a way to know if a platform view overlay is "added", "removed" or "changed" during preroll so we can optimize it.
@amirh @blasten

Does the PR under review address this?

@chinmaygarde Did you mean https://github.com/flutter/engine/pull/19919? If so, then no, https://github.com/flutter/engine/pull/19919 doesn't solve this.


ConnectionValidator

hello
clone your code and run server broker but connection validation not working
way client connection without breakpoint call in connection validation?
please help me

connection validation

Hi @mehrdadsafari
Could you provide more information such as the stacktrace, reproduce steps, scenario etc.


327 superleague html output

Related to #327

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 51 (0.0%)  changed or added relevant lines in 7 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage decreased (-0.8%) to 93.92%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

CourageScores/ClientApp/src/components/division_fixtures/tournaments/superleague/MatchReport.js
0
1
0.0%

CourageScores/ClientApp/src/components/division_fixtures/tournaments/superleague/Summary.js
0
1
0.0%

CourageScores/ClientApp/src/components/division_fixtures/tournaments/superleague/MatchLogTable.js
0
3
0.0%

CourageScores/ClientApp/src/components/division_fixtures/tournaments/superleague/MasterDraw.js
0
4
0.0%

CourageScores/ClientApp/src/components/division_fixtures/tournaments/superleague/MatchLog.js
0
8
0.0%

CourageScores/ClientApp/src/components/division_fixtures/tournaments/superleague/MatchLogRow.js
0
10
0.0%

CourageScores/ClientApp/src/components/division_fixtures/tournaments/superleague/SuperleaguePrintout.js
0
24
0.0%

Files with Coverage Reduction
New Missed Lines
%

CourageScores/ClientApp/src/components/division_fixtures/sayg/PlayerInput.js
1
87.36%

Totals

Change from base Build<PHONE_NUMBER>:
-0.8%

Covered Lines:
6150

Relevant Lines:
6315

💛  - Coveralls


Pass around HTTP kwargs better

Fixes https://github.com/intake/filesystem_spec/issues/699
@rsignell-usgs : the correct kwarg you wanted is ssl=False. This is the aiohttp variant; for requests it would have been verify=False. With this PR, you can pass it either when instantiating the file system (in which case it will be in effect for all files) or in open() (for the one file).

@martindurant , when I tried to run this I got dropped into the debugger.  I hit "c" a couple of times and got the same error:

Did the right thing get merged?

D'oh. Pushed fix to master. Note that the kwarg should have been ssl=False (I don't know where insecure comes from!).

YES!!!!!   So cool Martin -- check this out!

One without References - yet :)


Add link to documentation in README

What does this PR do?

This PR adds a link to the documentation in the README.
Before submitting

[ ] This PR fixes a typo or improves the docs (you can dismiss the other checks if that's the case).
[ ] Did you make sure to update the documentation with your changes?
[ ] Did you write any new necessary tests?

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.


Laravel-Mix 4.0 error when configuring jquery for use with vue-trumbowyg

I'm submitting a ...  (check one with "x")
[x ] Bug report => search github for a similar issue or PR before submitting
[ ] Feature request
[ ] Other, please describe

Tell about your platform
"vue-trumbowyg": "^3.6.0",
"laravel-mix": "^4.0.0",
Current behavior
Adding the Laravel-Mix configuration as described here: https://github.com/ankurk91/vue-trumbowyg/wiki/Laravel-Mix results in the following error when running 'npm run watch':
Invalid configuration object. Webpack has been initialised using a configuration object that does not match the API schema.
 - configuration.module has an unknown property 'resolve'. These properties are valid:
   object { defaultRules?, exprContextCritical?, exprContextRecursive?, exprContextRegExp?, exprContextRequest?, noParse?, rules?, strictExportPresence?, strictThisContextOnImports?, unknownContextCritical?, unknownContextRecursive?, unknownContextRegExp?, unknownContextRequest?, unsafeCache?, wrappedContextCritical?, wrappedContextRecursive?, wrappedContextRegExp? }
   -> Options affecting the normal modules (`NormalModuleFactory`).

Expected behavior
I would expect the npm run watch task to complete normally.
Minimal reproduction of the problem with instructions

Can you share your mix config file here

Yes sure, here's the file:
const webpack = require('webpack');
const jQueryPath = 'jquery/dist/jquery.js';

let mix = require('laravel-mix');

/*
|--------------------------------------------------------------------------
| Mix Asset Management
|--------------------------------------------------------------------------
|
| Mix provides a clean, fluent API for defining some Webpack build steps
| for your Laravel application. By default, we are compiling the Sass
| file for the application as well as bundling up all the JS files.
|
*/

mix
  .js('resources/assets/js/app.js', 'public/js/app.min.js').sourceMaps(true, 'cheap-source-map');
mix.sass('resources/assets/sass/app.scss', 'public/css')
  .copy(['resources/assets/js/vendor/icons.svg'], 'public/js/ui/icons.svg');

mix.webpackConfig({
    module: {
      resolve: {
        alias: {
          'jquery$': jQueryPath,
        }
      },
    },
    plugins: [
      new webpack.ProvidePlugin({
        Vue: ['vue/dist/vue.esm.js', 'default'],
        jQuery: jQueryPath,
        $: jQueryPath,
        'window.jQuery': jQueryPath,
      }),
    ],
});

i will test and let you know soon.

@stevegriffiths
Hey, i have updated the wiki page with correct configuration
https://github.com/ankurk91/vue-trumbowyg/wiki/Laravel-Mix
Please try update config and report back here.

@ankurk91
Many thanks for your prompt response. I have ammended the code you as you suggested, this has cleared the initial build error but when I now try and use the Trumbowyg component I get this error in-browser:
Error in mounted hook: "TypeError: this.el.trumbowyg is not a function"

Additionally on every page I am getting two errors stemming from a different plugin:
Error in mounted hook: "TypeError: $(...).tablesorter is not a function"

This second error only appears with the Mix config - if I remove this config, the second error disappears.

You can follow the this issue here
https://github.com/ankurk91/vue-trumbowyg/issues/17

I actually think this is a separate issue from the one in the ticket you referenced, as that ticket is specific to vue-cli.
Having done some research and testing, I would suggest ammending the Wiki entry config example to the following:
mix.webpackConfig({
    resolve: {
      alias: {
        'jquery': path.resolve(path.join(__dirname, 'node_modules', 'jquery'))
      }
    },
    plugins: [
      new webpack.ProvidePlugin({
        Vue: ['vue/dist/vue.esm.js', 'default'],
        jQuery: 'jquery',
        $: 'jquery',
        'window.jQuery': 'jquery',
      }),
    ],
});

Note that the jQuery path constant is no longer required with the above code.
I was finding that the original code resulted in multiple jQuery instances being loaded IF you also had to expose jquery as a global, window level property for other external libraries. Using the above avoid this issue.

vue-cli is also using webpack internally.
I will update the wiki soon.


Save Speak History in Journal #209

Added a datalist/combo box so user can access history of talk. I used datalist so it can suggest existing talks to user while the user types.

Nice.
The idea of combo is good but I don't think it's a good thing to filter content while the user type text.

It's better but still few issues:

The triangle overflow the white rectangle (see capture below) and it's not responsive (change size when window is resized). May be it's easier to don't add a white rectangle under the combo arrow
The combo should be accessible at any time so each time a new text is spoke, it should be added immediately to the combo. Currently you have to close/reopen the activity to see history
Do not update sugar-96dpi.css which is a CSS from Sugar-Web library, just update the local activity.css file.

Very nice.
Few remarks:

Could you remove all content you changed in sugar96-dpi.css?
Is it possible to remove the checked sign in the combo on the selected line? If no, could you put the selected mark on the last generated text
It will be better to add a small margin between the triangle and the input field

Hi!
I cannot seem to find the checked sign in the combo box. I am using Mozilla Firefox and it doesn't show any checked sign in the selected line. Is it possible if you can give me a screenshot? I have a feeling that it depends on what kind of browser that you are using.

Here's a screen capture.

It's both on Chrome and Firefox on my side.
I guess it's the selected line in the combo.

It do not solve the issue.
I think you should play with the "value" attribute of the "option" tag. The checked line change when you change the "value" attribute of the "select" tag with the value of the element you want to select. So, just set a value for each line and when a line in the combo is selected, force the combo to the value of this line.
Plus you must not add code (script) directly in the HTML file, it's a bad practice and it's not supported on some platform (ChromeOS). So if you want to add and event on the combo, just set  addEventListener in the main Javascript file for activity.

It works very good now. Congratulation.
Could you localize the title of the combo "Saved talk"? It appears on iOS on top of the combo (see below), so it's better to have a localized string here.

Could you also remove all update you've done in sugar-96dpi.css: there is still some lines about focus. If needed, you should put it into activity.css.

Great. Thanks.


Repo sync for protected CLA branch

The pull request is created from master637572134025850252 to master to fix git push error for protected CLA branch

@ghogen : Thanks for your contribution! The author(s) have been notified to review your proposed change.


Test with Java 21

Test with Java 21
Java 21 was released Sep 19, 2023. We want to announce full support for Java 21 in October and would like the most used plugins to be compiled and tested with Java 21.
The acceptance test harness and plugin bill of materials tests are already passing with Java 21. This is a further step to improve plugin readiness for use with Java 21 and for development with Java 21.
The change intentionally tests only one Java configuration, Java 21 because the risk of a regression that only affects Java 11 is low. We generate Java 11 byte code with the Java 21 build, so we're already testing Java 11 byte code.
Skip spotbugs rather than ignoring.
Testing done
Confirmed that tests pass with Java 21 on my Linux computer with virtualenv available.
Submitter checklist

[x] Make sure you are opening from a topic/feature/bugfix branch (right side) and not your main branch!
[x] Ensure that the pull request title represents the desired changelog entry
[x] Please describe what you did
[x] Link to relevant issues in GitHub or Jira
[x] Link to relevant pull requests, esp. upstream and downstream changes

Already handled by @gounthar in
#243


Fixed issue with search topology and servers that don't exist

This fix will allow the search topology resource to remove components from a topology that don't have a server name (this happens when the server is removed from the farm).

[X] Change details added to Unreleased section of changelog.md?
[X] Added/updated documentation and descriptions in .schema.mof files where appropriate?
[X] Examples updated for both the single server and small farm templates in the examples folder?
[X] New/changed code adheres to Style Guidelines?
[X] Unit and Integration tests created/updated where possible?

This change is

Codecov Report

Merging #586 into dev will increase coverage by <1%.
The diff coverage is 100%.

@@         Coverage Diff          @@
##            dev   #586    +/-   ##
====================================
+ Coverage    89%    89%   +<1%
====================================
  Files        88     88
  Lines      8411   8417     +6
  Branches      3      3
====================================
+ Hits       7514   7520     +6
  Misses      894    894
  Partials      3      3

Reviewed 1 of 3 files at r1, 2 of 2 files at r2.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable


[FLINK-19290] [docs] Add documentation for Flink DataStream integration SDK

This PR adds documentation for the DataStream SDK. It is considered a special kind of "SDK", and therefore have its own overview and usage examples.
The code snippets used in the documentation is based on the statefun-flink-datastream-example.

Thanks for the review @sjwiesman! I'll address your comments and merge this.


Flash: Add onchain fees to settlement TX

this utilizes newly added Sighash.OmitSingle

All comments addressed.

@hewison-chris waiting for your approval