Make Directory Segment Bold

I tried to make the directory segment bold using the below configuration option from here with no success:
POWERLEVEL9K_DIR_BOLD=true

My complete PowerLevel9k configuration from ~/.zshrc:
# Install PowerLevel9k
POWERLEVEL9K_PROMPT_ON_NEWLINE=true
POWERLEVEL9K_MULTILINE_FIRST_PROMPT_PREFIX="%F{green}┌─%f"
POWERLEVEL9K_MULTILINE_LAST_PROMPT_PREFIX="%F{green}└─➤ %f"
POWERLEVEL9K_DIR_BOLD=true
ZPACKAGE=$HOME/.zsh/powerlevel9k/powerlevel9k.zsh-theme
[ -s $ZPACKAGE ] && [[ $- = *i* ]] && source $ZPACKAGE

I'm using system wide installed, normal, not patched Adobe Source Code Pro font in Konsole 16.04.3 with Zsh 5.1.1 in Linux Mint 18.
I'd like to make ~/dotfiles bold in the above screenshot. Is it possible to make the directory segment bold with not patched, system wide installed Adobe Source Code Pro font?

@volodymyrprokopyuk - So the _BOLD feature is actually not implemented in mainline P9k. I had totally missed it in that example zshrc!
@onaforeignshore  - Do you actually have that _BOLD modifier implemented on one of your branches?

As stated at the top of my example file:

This is my personal development file, so there are some options in here that are not in the main branch yet, but it should help you figure out how to modify your P9K setup.

@bhilburn - I do have that implemented in my async-adv branch, but I'll have to specifically make a branch to implement that on your code.

I came up with two ways to show the bold font
But there are problems, you can see the last folder of the folder and the color of MULTILINE_LAST_PROMPT_PREFIX ran away
POWERLEVEL9K_DIR_PATH_SEPARATOR="%{%} %F$(print_icon "LEFT_SUBSEGMENT_SEPARATOR") %F"

POWERLEVEL9K_DIR_PATH_SEPARATOR="%B%F{red} $(print_icon "LEFT_SUBSEGMENT_SEPARATOR") %F{black}"

Here is the code that I have modified:
###############################################################
# Begin a left prompt segment
# Takes four arguments:
#   * $1: Name of the function that was originally invoked (mandatory).
#         Necessary, to make the dynamic color-overwrite mechanism work.
#   * $2: The array index of the current segment
#   * $3: Background color
#   * $4: Foreground color
#   * $5: Bold
#   * $6: The segment content
#   * $7: An identifying icon (must be a key of the icons array)
#   * $8: Should the segment be shown?
# The latter three can be omitted,
set_default last_left_element_index 1
set_default POWERLEVEL9K_WHITESPACE_BETWEEN_LEFT_SEGMENTS " "
left_prompt_segment() {
  [[ $8 == "false" ]] && return

  local current_index=$2
  # Check if the segment should be joined with the previous one
  local joined
  segmentShouldBeJoined $current_index $last_left_element_index "$POWERLEVEL9K_LEFT_PROMPT_ELEMENTS" && joined=true || joined=false

  # Overwrite given background-color by user defined variable for this segment.
  local BACKGROUND_USER_VARIABLE=POWERLEVEL9K_${(U)1#prompt_}_BACKGROUND
  local BG_COLOR_MODIFIER=${(P)BACKGROUND_USER_VARIABLE}
  [[ -n $BG_COLOR_MODIFIER ]] && 3="$BG_COLOR_MODIFIER"

  # Overwrite given foreground-color by user defined variable for this segment.
  local FOREGROUND_USER_VARIABLE=POWERLEVEL9K_${(U)1#prompt_}_FOREGROUND
  local FG_COLOR_MODIFIER=${(P)FOREGROUND_USER_VARIABLE}
  [[ -n $FG_COLOR_MODIFIER ]] && 4="$FG_COLOR_MODIFIER"

  local bg fg bd
  [[ -n "$3" ]] && bg="%K{$3}" || bg="%k"
  [[ -n "$4" ]] && fg="%F{$4}" || fg="%f"
  [[ ${(L)5} == "true" ]] && bd="%B" || bd=""

  if [[ $CURRENT_BG != 'NONE' ]] && ! isSameColor "$3" "$CURRENT_BG"; then
    echo -n "$bg%F{$CURRENT_BG}"
    if [[ $joined == false ]]; then
      # Middle segment
      echo -n "$(print_icon 'LEFT_SEGMENT_SEPARATOR')$POWERLEVEL9K_WHITESPACE_BETWEEN_LEFT_SEGMENTS"
    fi
  elif isSameColor "$CURRENT_BG" "$3"; then
    # Middle segment with same color as previous segment
    # We take the current foreground color as color for our
    # subsegment (or the default color). This should have
    # enough contrast.
    local complement
    [[ -n "$4" ]] && complement="$4" || complement=$DEFAULT_COLOR
    echo -n "$bg%F{$complement}"
    if [[ $joined == true ]]; then
      echo -n "$(print_icon 'LEFT_SUBSEGMENT_SEPARATOR')$POWERLEVEL9K_WHITESPACE_BETWEEN_LEFT_SEGMENTS"
    fi
  else
    # First segment
    echo -n "${bg}$POWERLEVEL9K_WHITESPACE_BETWEEN_LEFT_SEGMENTS"
  fi

  # Print the visual identifier
  echo -n "${7}"
  # Print the content of the segment, if there is any
  [[ -n "$6" ]] && echo -n "${fg}${bd}${6}%b${bg}${fg}"
  echo -n "${POWERLEVEL9K_WHITESPACE_BETWEEN_LEFT_SEGMENTS}"

  CURRENT_BG=$3
  last_left_element_index=$current_index
}

###############################################################
# Begin a right prompt segment
# Takes four arguments:
#   * $1: Name of the function that was originally invoked (mandatory).
#         Necessary, to make the dynamic color-overwrite mechanism work.
#   * $2: The array index of the current segment
#   * $3: Background color
#   * $4: Foreground color
#   * $5: Bold
#   * $6: The segment content
#   * $7: An identifying icon (must be a key of the icons array)
#   * $8: Should the segment be shown?
# No ending for the right prompt segment is needed (unlike the left prompt, above).
set_default last_right_element_index 1
set_default POWERLEVEL9K_WHITESPACE_BETWEEN_RIGHT_SEGMENTS " "
right_prompt_segment() {
  local current_index=$2

  [[ $8 == "false" ]] && return # exit if segment shouldn't be shown
  # Check if the segment should be joined with the previous one
  local joined
  segmentShouldBeJoined $current_index $last_right_element_index "$POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS" && joined=true || joined=false

  # Overwrite given background-color by user defined variable for this segment.
  local BACKGROUND_USER_VARIABLE=POWERLEVEL9K_${(U)1#prompt_}_BACKGROUND
  local BG_COLOR_MODIFIER=${(P)BACKGROUND_USER_VARIABLE}
  [[ -n $BG_COLOR_MODIFIER ]] && 3="$BG_COLOR_MODIFIER"

  # Overwrite given foreground-color by user defined variable for this segment.
  local FOREGROUND_USER_VARIABLE=POWERLEVEL9K_${(U)1#prompt_}_FOREGROUND
  local FG_COLOR_MODIFIER=${(P)FOREGROUND_USER_VARIABLE}
  [[ -n $FG_COLOR_MODIFIER ]] && 4="$FG_COLOR_MODIFIER"

  local bg fg bd
  [[ -n "$3" ]] && bg="%K{$3}" || bg="%k"
  [[ -n "$4" ]] && fg="%F{$4}" || fg="%f"
  [[ ${(L)5} == "true" ]] && bd="%B" || bd=""

  # If CURRENT_RIGHT_BG is "NONE", we are the first right segment.
  if [[ "$CURRENT_RIGHT_BG" == "NONE" ]]; then
    echo -n "%F{$3}$(print_icon 'RIGHT_SEGMENT_SEPARATOR')%f"
  else # all other segments
    if [[ $joined == "false" ]]; then # not joined
      if isSameColor "$CURRENT_RIGHT_BG" "$3"; then
        # Middle segment with same color as previous segment
        # We take the current foreground color as color for our
        # subsegment (or the default color). This should have
        # enough contrast.
        local complement
        [[ -n "$4" ]] && complement="$4" || complement=$DEFAULT_COLOR
        echo -n "%F{$complement}$(print_icon 'RIGHT_SUBSEGMENT_SEPARATOR')%f"
      else
        echo -n "%F{$3}$(print_icon 'RIGHT_SEGMENT_SEPARATOR')%f"
      fi
    fi
  fi

  echo -n "${bg}${fg}"

  if [[ $POWERLEVEL9K_RPROMPT_ICON_LEFT ]]; then
    # Print the visual identifier
    echo -n "${7}${POWERLEVEL9K_WHITESPACE_BETWEEN_RIGHT_SEGMENTS}"
    # Print segment content
    echo -n "${bg}${fg}${bd}${6}%b${bg}${fg}${POWERLEVEL9K_WHITESPACE_BETWEEN_RIGHT_SEGMENTS}%f"
  else
    # Print whitespace only if segment is not joined or first right segment
    [[ ${joined} == false ]] || [[ "${CURRENT_RIGHT_BG}" == "NONE" ]] && echo -n "${POWERLEVEL9K_WHITESPACE_BETWEEN_RIGHT_SEGMENTS}"
    # Print segment content if there is any
    [[ -n "$6" ]] && echo -n "${bd}${6}%b${bg}${fg}"
    # Print the visual identifier
    echo -n "${7}${POWERLEVEL9K_WHITESPACE_BETWEEN_RIGHT_SEGMENTS}%f"
  fi

  CURRENT_RIGHT_BG=$3
  last_right_element_index=$current_index
}

###############################################################
# Main prompt
build_left_prompt() {
  local index=1
  for element in "${POWERLEVEL9K_LEFT_PROMPT_ELEMENTS[@]}"; do
    # Remove joined information in direct calls
    element=${element%_joined}

    # Check if it is a custom command, otherwise interpet it as
    # a prompt.
    if [[ $element[0,7] =~ "custom_" ]]; then
      "prompt_custom" "left" "$index" $element[8,-1]
    else
      "prompt_$element" "left" "$index"
    fi

    index=$((index + 1))
  done

  left_prompt_end
}

###############################################################
# Right prompt
build_right_prompt() {
  local index=1
  for element in "${POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS[@]}"; do
    # Remove joined information in direct calls
    element=${element%_joined}

    # Check if it is a custom command, otherwise interpet it as
    # a prompt.
    if [[ $element[0,7] =~ "custom_" ]]; then
      "prompt_custom" "right" "$index" $element[8,-1]
    else
      "prompt_$element" "right" "$index"
    fi

    index=$((index + 1))
  done
}

###############################################################
set_default POWERLEVEL9K_PROMPT_ADD_NEWLINE false
powerlevel9k_prepare_prompts() {
  RETVAL=$?

  _P9K_COMMAND_DURATION=$((EPOCHREALTIME - _P9K_TIMER_START))
  # Reset start time - Maximum integer on 32-bit CPUs
  [[ "$ARCH" == "x64" ]] && _P9K_TIMER_START=99999999999 || _P9K_TIMER_START=2147483647
  # I decided to use the value above for better supporting 32-bit CPUs, since the previous value "99999999999" was
  # causing issues on my Android phone, which is powered by an armv7l
  # We don't have to change that until 19 January of 2038! :)

  if [[ "$POWERLEVEL9K_PROMPT_ON_NEWLINE" == true ]]; then
    PROMPT="$(print_icon 'MULTILINE_FIRST_PROMPT_PREFIX')%f%b%k$(build_left_prompt)
$(print_icon 'MULTILINE_SECOND_PROMPT_PREFIX')"
    if [[ "$POWERLEVEL9K_RPROMPT_ON_NEWLINE" != true ]]; then
      # The right prompt should be on the same line as the first line of the left
      # prompt.  At the end of RPROMPT, we
      # advise it to go one line down. See:
      # http://superuser.com/questions/357107/zsh-right-justify-in-ps1
      local LC_ALL="" LC_CTYPE="en_US.UTF-8" # Set the right locale to protect special characters
      RPROMPT_PREFIX='%{'$'\e[1A''%}' # one line up
      RPROMPT_SUFFIX='%{'$'\e[1B''%}' # one line down
    else
      RPROMPT_PREFIX=''
      RPROMPT_SUFFIX=''
    fi
  else
    PROMPT="%f%b%k$(build_left_prompt)"
    RPROMPT_PREFIX=''
    RPROMPT_SUFFIX=''
  fi

  if [[ "$POWERLEVEL9K_DISABLE_RPROMPT" != true ]]; then
    RPROMPT="$RPROMPT_PREFIX%f%b%k$(build_right_prompt)%{$reset_color%}$RPROMPT_SUFFIX"
  fi
NEWLINE='
'
  [[ $POWERLEVEL9K_PROMPT_ADD_NEWLINE == true ]] && PROMPT="$NEWLINE$PROMPT"
}

###############################################################
set_default POWERLEVEL9K_PROMPT_ADD_NEWLINE false
powerlevel9k_prepare_prompts() {
  RETVAL=$?

  _P9K_COMMAND_DURATION=$((EPOCHREALTIME - _P9K_TIMER_START))
  # Reset start time - Maximum integer on 32-bit CPUs
  [[ "$ARCH" == "x64" ]] && _P9K_TIMER_START=99999999999 || _P9K_TIMER_START=2147483647
  # I decided to use the value above for better supporting 32-bit CPUs, since the previous value "99999999999" was
  # causing issues on my Android phone, which is powered by an armv7l
  # We don't have to change that until 19 January of 2038! :)

  if [[ "$POWERLEVEL9K_PROMPT_ON_NEWLINE" == true ]]; then
    PROMPT="$(print_icon 'MULTILINE_FIRST_PROMPT_PREFIX')%f%b%k$(build_left_prompt)
$(print_icon 'MULTILINE_SECOND_PROMPT_PREFIX')"
    if [[ "$POWERLEVEL9K_RPROMPT_ON_NEWLINE" != true ]]; then
      # The right prompt should be on the same line as the first line of the left
      # prompt.  At the end of RPROMPT, we
      # advise it to go one line down. See:
      # http://superuser.com/questions/357107/zsh-right-justify-in-ps1
      local LC_ALL="" LC_CTYPE="en_US.UTF-8" # Set the right locale to protect special characters
      RPROMPT_PREFIX='%{'$'\e[1A''%}' # one line up
      RPROMPT_SUFFIX='%{'$'\e[1B''%}' # one line down
    else
      RPROMPT_PREFIX=''
      RPROMPT_SUFFIX=''
    fi
  else
    PROMPT="%f%b%k$(build_left_prompt)"
    RPROMPT_PREFIX=''
    RPROMPT_SUFFIX=''
  fi

  if [[ "$POWERLEVEL9K_DISABLE_RPROMPT" != true ]]; then
    RPROMPT="$RPROMPT_PREFIX%f%b%k$(build_right_prompt)%{$reset_color%}$RPROMPT_SUFFIX"
  fi
NEWLINE='
'
  [[ $POWERLEVEL9K_PROMPT_ADD_NEWLINE == true ]] && PROMPT="$NEWLINE$PROMPT"
}

###############################################################
# This function wraps left_prompt_segment and right_prompt_segment to serializes a segment (for compatibility with the async branch)
#
# Parameters for serialize_segment:
#   * $1 Name: string - Name of the segment
#   * $2 State: string - The state the segment is in
#   * $3 Alignment: string - left|right
#   * $4 Index: integer
#   * $5 Joined: bool - If the segment should be joined
#   * $6 Background: string - The default background color of the segment
#   * $7 Foreground: string - The default foreground color of the segment
#   * $8 Content: string - Content of the segment
#   * $9 Visual identifier: string - Icon of the segment
#   * $10 Condition: string - The condition, if the segment should be printed (gets evaluated)
#
# Parameters for [left|right]_prompt_segment:
#   * $1: Name of the function that was originally invoked (mandatory).
#         Necessary, to make the dynamic color-overwrite mechanism work.
#   * $2: The array index of the current segment
#   * $3: Background color
#   * $4: Foreground color
#   * $5: Bold
#   * $6: The segment content
#   * $7: An identifying icon (must be a key of the icons array)
# The latter three can be omitted,
serialize_segment() {
  local NAME="${1}"
  local STATE="${2}"
  local ALIGNMENT="${3}"
  local INDEX="${4}"
  local JOINED="${5}"

  local STATEFUL_NAME="${(U)NAME#prompt_}"
  [[ -n "${STATE}" ]] && STATEFUL_NAME="${STATEFUL_NAME}_${(U)STATE}"

  # Overwrite given background-color by user defined variable for this segment.
  local BACKGROUND_USER_VARIABLE="POWERLEVEL9K_${STATEFUL_NAME}_BACKGROUND"
  local BACKGROUND="${(P)BACKGROUND_USER_VARIABLE}"
  [[ -z "${BACKGROUND}" ]] && BACKGROUND="${6}"

  # Overwrite given foreground-color by user defined variable for this segment.
  local FOREGROUND_USER_VARIABLE="POWERLEVEL9K_${STATEFUL_NAME}_FOREGROUND"
  local FOREGROUND="${(P)FOREGROUND_USER_VARIABLE}"
  [[ -z "${FOREGROUND}" ]] && FOREGROUND="${7}"

  # Overwrite given bold directive by user defined variable for this segment.
  local BOLD_USER_VARIABLE="POWERLEVEL9K_${STATEFUL_NAME}_BOLD"
  local BOLD="${(P)BOLD_USER_VARIABLE}"
  [[ -z "${BOLD}" ]] && BOLD=false

  local CONTENT="${8}"

  local VISUAL_IDENTIFIER
  if [[ -n "${9}" ]]; then
    VISUAL_IDENTIFIER="$(print_icon ${9})"
    if [[ -n "${VISUAL_IDENTIFIER}" ]]; then
      # Allow users to overwrite the color for the visual identifier only.
      local visual_identifier_color_variable="POWERLEVEL9K_${STATEFUL_NAME}_VISUAL_IDENTIFIER_COLOR"
      set_default "${visual_identifier_color_variable}" "${FOREGROUND}"
      VISUAL_IDENTIFIER="%F{${(P)visual_identifier_color_variable}%}${VISUAL_IDENTIFIER}%f"
      # Add an whitespace if we print more than just the visual identifier
      if [[ -n "${CONTENT}" ]]; then
        [[ "${ALIGNMENT}" == "left" ]] && VISUAL_IDENTIFIER="${VISUAL_IDENTIFIER} "
        [[ "${ALIGNMENT}" == "right" ]] && VISUAL_IDENTIFIER=" ${VISUAL_IDENTIFIER}"
      fi
    fi
  fi
  # Conditions have three layers:
  # 1. All segments should not print
  #    a segment, if they provide no
  #    content (default condition).
  # 2. All segments could define a
  #    default condition on their
  #    own, overriding the previous
  #    one.
  # 3. Users could set a condition
  #    for each segment. This is
  #    the trump card, and has
  #    highest precedence.
  local CONDITION
  local SEGMENT_CONDITION="POWERLEVEL9K_${STATEFUL_NAME}_CONDITION"
  if defined "${SEGMENT_CONDITION}"; then
    CONDITION="${(P)SEGMENT_CONDITION}"
  elif [[ -n "${10}" ]]; then
    CONDITION="${10}"
  else
    CONDITION='[[ -n "${8}" ]]'
  fi
  # Precompile condition.
  eval "${CONDITION}" && CONDITION=true || CONDITION=false

#  if ! ${CONDITION}; then
#    continue
#  fi

  "$3_prompt_segment" "${NAME}" "${INDEX}" "${BACKGROUND}" "${FOREGROUND}" "${BOLD}" "${CONTENT}" "${VISUAL_IDENTIFIER}" "${CONDITION}"
}

Since it is a bridge between the default engine and @dritter 's new engine, bold is now the 5th element in the 'x_prompt_segment` call.

@onaforeignshore
Hello, do you still have to change other things, direct use of your set theme has no effect.
In addition, the use of bold wording is like this? POWERLEVEL9K_DIR_BOLD = true
Thank you

POWERLEVEL9K_DIR_BOLD is created by prompt_dir(), which I modified as below (check the end for the bold part). I have also added highlighting of the current folder to this.
################################################################
# Dir: current working directory
set_default POWERLEVEL9K_DIR_PATH_SEPARATOR "/"
set_default POWERLEVEL9K_HOME_FOLDER_ABBREVIATION "~"
set_default POWERLEVEL9K_ROOT_FOLDER_ABBREVIATION "/"
# Parameters:
#   * $1 Alignment: string - left|right
#   * $2 Index: integer
#   * $3 Joined: bool - If the segment should be joined
prompt_dir() {
  local current_path="$(print -P "%~")"
  if [[ -n "$POWERLEVEL9K_SHORTEN_DIR_LENGTH" || "$POWERLEVEL9K_SHORTEN_STRATEGY" == "truncate_with_folder_marker" ]]; then
    set_default POWERLEVEL9K_SHORTEN_DELIMITER $'\U2026'

    case "$POWERLEVEL9K_SHORTEN_STRATEGY" in
      truncate_middle)
        current_path=$(pwd | sed -e "s,^$HOME,~," | sed $SED_EXTENDED_REGEX_PARAMETER "s/([^/]{$POWERLEVEL9K_SHORTEN_DIR_LENGTH})[^/]+([^/]{$POWERLEVEL9K_SHORTEN_DIR_LENGTH})\//\1$POWERLEVEL9K_SHORTEN_DELIMITER\2\//g")
      ;;
      truncate_from_right)
        current_path=$(truncatePathFromRight "$(pwd | sed -e "s,^$HOME,~,")" )
      ;;
      truncate_with_package_name)
        local name repo_path package_path current_dir zero

        # Get the path of the Git repo, which should have the package.json file
        if [[ $(git rev-parse --is-inside-work-tree 2> /dev/null) == "true" ]]; then
          # Get path from the root of the git repository to the current dir
          local gitPath=$(git rev-parse --show-prefix)
          # Remove trailing slash from git path, so that we can
          # remove that git path from the pwd.
          gitPath=${gitPath%/}
          package_path=${$(pwd)%%$gitPath}
          # Remove trailing slash
          package_path=${package_path%/}
        elif [[ $(git rev-parse --is-inside-git-dir 2> /dev/null) == "true" ]]; then
          package_path=${$(pwd)%%/.git*}
        fi

        # Replace the shortest possible match of the marked folder from
        # the current path. Remove the amount of characters up to the
        # folder marker from the left. Count only the visible characters
        # in the path (this is done by the "zero" pattern; see
        # http://stackoverflow.com/a/40855342/5586433).
        local zero='%([BSUbfksu]|([FB]|){*})'
        current_dir=$(pwd)
        # Then, find the length of the package_path string, and save the
        # subdirectory path as a substring of the current directory's path from 0
        # to the length of the package path's string
        subdirectory_path=$(truncatePathFromRight "${current_dir:${#${(S%%)package_path//$~zero/}}}")
        # Parse the 'name' from the package.json; if there are any problems, just
        # print the file path
        defined POWERLEVEL9K_DIR_PACKAGE_FILES || POWERLEVEL9K_DIR_PACKAGE_FILES=(package.json composer.json)

        local pkgFile="unknown"
        for file in "${POWERLEVEL9K_DIR_PACKAGE_FILES[@]}"; do
          if [[ -f "${package_path}/${file}" ]]; then
            pkgFile="${package_path}/${file}"
            break;
          fi
        done

        local packageName=$(jq '.name' ${pkgFile} 2> /dev/null \
          || node -e 'console.log(require(process.argv[1]).name);' ${pkgFile} 2>/dev/null \
          || cat "${pkgFile}" 2> /dev/null | grep -m 1 "\"name\"" | awk -F ':' '{print $2}' | awk -F '"' '{print $2}' 2>/dev/null \
          )
        if [[ -n "${packageName}" ]]; then
          # Instead of printing out the full path, print out the name of the package
          # from the package.json and append the current subdirectory
          current_path="`echo $packageName | tr -d '"'`$subdirectory_path"
        else
          current_path=$(truncatePathFromRight "$(pwd | sed -e "s,^$HOME,~,")" )
        fi
      ;;
      truncate_with_folder_marker)
        local last_marked_folder marked_folder
        set_default POWERLEVEL9K_SHORTEN_FOLDER_MARKER ".shorten_folder_marker"

        # Search for the folder marker in the parent directories and
        # buildup a pattern that is removed from the current path
        # later on.
        for marked_folder in $(upsearch $POWERLEVEL9K_SHORTEN_FOLDER_MARKER); do
          if [[ "$marked_folder" == "/" ]]; then
            # If we reached root folder, stop upsearch.
            current_path="/"
          elif [[ "$marked_folder" == "$HOME" ]]; then
            # If we reached home folder, stop upsearch.
            current_path="~"
          elif [[ "${marked_folder%/*}" == $last_marked_folder ]]; then
            current_path="${current_path%/}/${marked_folder##*/}"
          else
            current_path="${current_path%/}/$POWERLEVEL9K_SHORTEN_DELIMITER/${marked_folder##*/}"
          fi
          last_marked_folder=$marked_folder
        done

        # Replace the shortest possible match of the marked folder from
        # the current path.
        current_path=$current_path${PWD#${last_marked_folder}*}
      ;;
      *)
        current_path="$(print -P "%$((POWERLEVEL9K_SHORTEN_DIR_LENGTH+1))(c:$POWERLEVEL9K_SHORTEN_DELIMITER/:)%${POWERLEVEL9K_SHORTEN_DIR_LENGTH}c")"
      ;;
    esac
  fi

  local path_opt=$current_path # save state of path for highlighting and bold options

  if [[ "${POWERLEVEL9K_DIR_OMIT_FIRST_CHARACTER}" == "true" ]]; then
    current_path="${current_path[2,-1]}"
  fi

  typeset -AH dir_states
  dir_states=(
    "DEFAULT"         "FOLDER_ICON"
    "HOME"            "HOME_ICON"
    "HOME_SUBFOLDER"  "HOME_SUB_ICON"
  )
  local current_state="DEFAULT"
  if [[ $(print -P "%~") == '~' ]]; then
    current_state="HOME"
  elif [[ $(print -P "%~") == '~'* ]]; then
    current_state="HOME_SUBFOLDER"
  fi

  local bd
  [[ -n "${POWERLEVEL9K_DIR_PATH_HIGHLIGHT_BOLD}" ]] && bd="%B" || bd=""

  local dir_state_user_foreground="POWERLEVEL9K_DIR_${current_state}_FOREGROUND"
  local dir_state_foreground="${(P)dir_state_user_foreground}"
  [[ -z "${dir_state_foreground}" ]] && dir_state_foreground="${DEFAULT_COLOR}"

  if [[ -n "${POWERLEVEL9K_DIR_PATH_HIGHLIGHT_FOREGROUND}" ]]; then
    if [[ $path_opt == "/" || $path_opt == "~" || $(dirname $path_opt) == "/" || ${POWERLEVEL9K_DIR_OMIT_FIRST_CHARACTER} ]]; then
      current_path="$bd%F{$POWERLEVEL9K_DIR_PATH_HIGHLIGHT_FOREGROUND}$current_path%F{$dir_state_foreground}"
    else
      current_path="$(dirname $current_path)/$bd%F{$POWERLEVEL9K_DIR_PATH_HIGHLIGHT_FOREGROUND}$(basename $current_path)%F{$dir_state_foreground}"
    fi
  fi

  if [[ -n "${POWERLEVEL9K_DIR_PATH_SEPARATOR_FOREGROUND}" && $path_opt != "/" ]]; then
    current_path="$( echo "${current_path}" | sed "s/\//%F{$POWERLEVEL9K_DIR_PATH_SEPARATOR_FOREGROUND}\/%F{$dir_state_foreground}/g")"
  fi

  if [[ "${POWERLEVEL9K_DIR_PATH_SEPARATOR}" != "/" && $path_opt != "/" ]]; then
    current_path="$( echo "${current_path}" | sed "s/\//${POWERLEVEL9K_DIR_PATH_SEPARATOR}/g")"
  fi

  if [[ "${POWERLEVEL9K_HOME_FOLDER_ABBREVIATION}" != "~" && ! ${POWERLEVEL9K_DIR_OMIT_FIRST_CHARACTER} ]]; then
    current_path="$( echo "${current_path}" | sed "s/~/${POWERLEVEL9K_HOME_FOLDER_ABBREVIATION}/1")"
  fi

  serialize_segment "$0" "${current_state}" "$1" "$2" "${3}" "blue" "${DEFAULT_COLOR}" "${current_path}" "${dir_states[$current_state]}"
}

Making this issue a feature-tracking issue for adding the BOLD capability to mainline P9k.

Added the BOLD functionality to PROMPT_DIR #744

Have added functionality to make whole segment text bold in #742. Had to do it there or it would need to be updated again when that is merged into next.

This functionality exists as of the merge of #742!


Simplify process_uri parsing logic with urlparse

By using urllib.parse, the process_uri() code can be simplified and made more robust. The original process_uri() function could not handle an IPv6 URL, because it was using uri.split(":") to identify a port number. Because an IPv6 address contains many : characters, I received the following error when trying to test an IPv6 URL:
Traceback (most recent call last):
  File "smuggler.py", line 440, in <module>
    params = process_uri(server[0])
  File "smuggler.py", line 345, in process_uri
    return (uri[0], int(uri[1]), smendpoint, ssl_flag)
ValueError: invalid literal for int() with base 10: 'f080'

The new code replaces the custom parsing with a popular Python library that can do the hard work instead.

This code started off very hacky =P
I tested your pull request, everything looks good. Thanks for your contribution!


Remove escape-hatch for NoReferenceAssemblyDirectoryFound

When this message was converted to a warning (for #173), we added an escape-hatch environment variable to revert to the previous warning-only behavior. A comment indicated that the escape hatch should be removed before the next major release, so I'm removing it.
@AndyGerlicher

@dotnet-bot test Windows_NT Build for Desktop please

@AndyGerlicher No, it's a real problem: you added a test to make sure the escape hatch works and I didn't remove that now-obsolete test. Will get back to this eventually.


Class for connecting to database

Write a Python class for connecting to a Postgres database. Constructor should take host, port, name, username, and password and should expose connection and cursor objects. Usage should be:
(in context of HTTP request, such as a GET or POST handler):
import database
g.database = database.Database(db_host, db_port, db_name, db_username, db_password)
g.cursor.execute("""SELECT username FROM users;""")
rows = g.cursor.fetchall()
print(rows)

Possibly naive question: wondering if passing the connection info from outside the wrapper object is the way to go, especially if that information is just getting picked up from env variables or an external file. If the following env variables are already defined,
PGHOST=recordexpungpdx_db
PGUSER=docker
PGPORT=5432
PGDATABASE=record_expunge

then you can get the connection object with
import  psycopg2
conn = psycopg2.connect(“”)

and no extra arguments. Or else the values could be provided inside the Database wrapper code , e.g.
conn = pyscopg2.connect("dbname=record_expunge user=docker port=5432 host=recordexpungpdx_db")
cur = conn.cursor()

Is there a reason not to use these approaches?

@wittejm this is a good question about separation of concerns: we need to get the credentials from the environment somewhere, so what part of the code should be responsible for doing that?
AFAIK Erik is currently working on this so I will defer to him for the actual implementation.
But my preference is to use your second approach and pass the credentials in. Environment variables are global variables. If we access them in multiple places in our code it can be difficult to draw a clear boundary between our app and its environment. The best practice here is to only access environment variables in one place, and create one or more configuration objects to pass that data around in our code.


Fix function comments based on best practices from Effective Go

Hi, we updated some exported function comments based on best practices from Effective Go. It’s admittedly a relatively minor fix up. Does this help you?

Looks good; merged. Thanks!


⚠ Bofrost.at has degraded performance

In 8552f3a, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1425 ms

Resolved: Bofrost.at performance has improved in 494c1da.


Access issue

hello every one,
i downloaded windowns 386 release of mailhog, i lunched it :

2017/07/06 11:21:30 Using in-memory storage
2017/07/06 11:21:30 [SMTP] Binding to address: <IP_ADDRESS>:1025
[HTTP] Binding to address: <IP_ADDRESS>:8025
2017/07/06 11:21:30 Serving under http://<IP_ADDRESS>:8025/
Creating API v1 with WebPath:
Creating API v2 with WebPath:

but when trying to connect to hhtp service it is diplaying error as follow :

L'erreur suivante s'est produite en essayant d'accéder à l'URL : http://www.<IP_ADDRESS>:8025/
Impossible de déterminer l'adresse IP du nom d'hôte www.<IP_ADDRESS>
Le serveur DNS a retourné :
Name Error: The domain name does not exist.

any idea ??
i tried <IP_ADDRESS>, localhost and <IP_ADDRESS> it is giving same error
thank you

The address should be http://<IP_ADDRESS>:8025 (no www). Adding the prefix convinces the browser that the address should be a domain name


Add documentation for CLI v3

This adds documentation for the CLI v3. It follows closely how the docs work for the agent as its a similar Go binary installed on users machines.
The information and configuration for the CLI is much smaller and mostly automated/guided with the user so has not been documented as thoroughly.
This adds a CLI section to the docs under "Agent". Only overview, install and configure for now. We'll consider something like command-line reference later, but most of the things are self discoverable and this is intended to be run by a human unlike the buildkite-agent so having that stuff in the docs seems less valuable.

I'm getting this error in the linting step and unsure what to do about it. I believe its saying "Configuration" should be "configuration", but that seems weird. It also isn't complaining about the similar file "Buildkite CLI Installation". @gilesgas do you know what to do here?

Thanks for this PR contribution @jradtilbrook !
First, I'm not sure why "Buildkite CLI Configuration" should be treated in Title Case, when our headings/page titles should use Sentence case (according to our writing style guide). Therefore, this should be written as "Buildkite CLI configuration".
If, however, if you do have a term you want to use in a heading/page title that is a Proper Noun, and the linter throws an error like the one you see above, try adding it as an exception to this file, preferably in alphabetical order.

Oh great no worries. My only issue was the confusion between both new pages. I assumed there was some allow list somewhere but didn't know. I'll update the headings now 👍

Hey @jradtilbrook , in case we haven't discussed this before, one thing we're intending to do is create a new top-level Platform category to the docs site (equivalent to Pipelines, Test Analytics, Packages) and in this Platform category, migrate into it most of the Team management content (with the exception of Pipeline permissions-related stuff) from the Pipelines docs.
This Platform docs category will cover aspects of Buildkite functionality that is Buildkite-system wide. The Buildkite CLI looks like a good candidate for this Platform category migration.
The Integrations content looks like it could be migrated into both the Pipelines and new Platform category too.
Out of interest, will it be necessary to keep docs for multiple versions of the Buildkite CLI, or could we just keep the one version in the docs and update it over time?

Oh okay interesting @gilesgas that sounds reasonable to me 👍
Does that mean it needs to change around now?
I think just the most recent version will be relevant to keep in the docs

That's great, I'll remove the v3 path then :-)
We only keep separate docs versions for the Buildkite Agent docs (i.e. a v3 and v2 of the Buildkite Agent), since even though the v2 Agent is deprecated, there are several customers still using it. If there haven't been many customers using previous versions of the Buildkite CLI tool (e.g. v2 and v1), and there's no need to maintain separate docs versions for them, then we can 'de-version' this part of the docs.

FYI @jradtilbrook , I'm done with updating the Configuration page, which is the last update I wanted to do to this PR.
If you're happy with these changes, please merge in this PR, which I'll approve in the meantime.

I've looked through the preview URL and it all looks good 🙌 thanks for your help @gilesgas


Cant upgrade project to Angular 12 and beyond due to ngx-feedback project

Project cannot be upgraded to Angular 12 and beyond until the ngs-feedback-maps repo is updated as well
WIP branch: https://github.com/micronutrientsupport/micronutrient-support-tool/tree/stever-ng12-update

suggested replacement: https://github.com/BlazeSoftware/customer-feedback

See https://codepen.io/andan/pen/JjLjREY for a basic vanilla JS usage example

upgraded to angular 13, chartjs will need refactor at some point


License

Nice! May i use the code?

Yes! The license is ISC as defined in package.json added LICENSE to repo as well ;)
Keep in mind this was written in SolidJS


[INFO] Wind sensor

Describe you new feature you'd like
Cannot avoid to thank you for your fantastic work again. Is super nice !
I have just one more small question (yes I hope is the last one as well as you are ;-) ).
I configured my shade as awning in ESPSomfy RTS web interface.
I noticed that a binary_sensor with "mdi:wind-power-outline" icon was created.
But I didn't yet linked my sensor as a remote.
This means it's detected automatically on my specific scenario/installation ?
Or is created by default and to make it working I need to link it ?
If so the checkbox is the one named "Has Sun Sensor" even if it's the wind one right ?
Thank you for your work, time and patience.

The sensors for wind are always added when the motor represents an awning.  This is so you can perform this function from weather reports if you like using an automation.  This function is not overridable on the Somfy protocol and vibration sensors can be uses in lieu of an Eolis or similar.  This sensor is created by default.  In fact you can send that sensor command to the directly to any remote linked to the motor motor and it will spring into action.
The sun sensor is a different duck in that its existence is conditional based on a series of frames sent but they are ignored if the sun flag is turned off.   So if you do not have a sun sensor do not check the Has Sun Sensor.   But if you want to simulate one using an automation you can do that as well and you will get the enable/disable functions as if your remotes support it.  It will also command the motors properly.

I have a vibration sensor, and if I got it right I have to link it as standard remote so I can have always the right awning position.
Just pairing and that's all. Right ?
Thank you for the very quick reply.

Yes link it as a remote for all motors affected by it.  You do not pair it as a separate motor.

Thx, tomorrow with the sun light I'll proceed with the linking and report back.
Cheers

is expected the "0" in the second column ?

Yes because the sensor frame doesn't actually have a rolling code.  Imagine my surprise with that.  The state is actually pumped into one of the nibbles on the rolling code.  You will see it change if the sensor reports a wind condition then change back after it confirms the wind has subsided.  Depending on which one you have you will see some bursts of output but they are all broadcast frames for the wind sensor.  If you watch the log you should see the activity.

Thank you for all the information and details.
Closing as all seems good.


java: package com.robotium.solo does not exist when i add import com.robotium.solo instead of import com.jayway.android.robotium.solo.Solo;

From<EMAIL_ADDRESS>on March 22, 2014 03:38:12
What steps will reproduce the problem? 1.java: package com.robotium.solo does not exist when i add import com.robotium.solo instead of import com.jayway.android.robotium.solo.Solo; What is the expected output? What do you see instead? It should work smoothly What version of the product are you using? On what operating system? 5.0.1 Please provide any additional information below.
Original issue: http://code.google.com/p/robotium/issues/detail?id=590

From<EMAIL_ADDRESS>on March 22, 2014 22:48:49
It seems like you still link to the old jar. Please remove all references to version < 5 and select project --> clean. Also please use 5.1.
Status: Invalid
Owner<EMAIL_ADDRESS>


remove SURFACE_MENU_ITEMS that user has no permission (UX)

To fix #20
Draft as tests are missing

Codecov Report
Base: 29.56% // Head: 0.00% // Decreases project coverage by -29.57% :warning:

Coverage data is based on head (4a8400f) compared to base (e1fbc3c).
Patch coverage: 0.00% of modified lines in pull request are covered.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #23       +/-   ##
==========================================
- Coverage   29.56%   0.00%   -29.57%
==========================================
  Files           9       9
  Lines         531     536        +5
==========================================
- Hits          157       0      -157
- Misses        374     536      +162

Impacted Files
Coverage Δ

theme/utils.py
0.00% <0.00%> (-15.16%)
:arrow_down:

theme/apps.py
0.00% <0.00%> (-100.00%)
:arrow_down:

theme/urls.py
0.00% <0.00%> (-77.78%)
:arrow_down:

theme/__init__.py
0.00% <0.00%> (-57.15%)
:arrow_down:

theme/forms.py
0.00% <0.00%> (-53.97%)
:arrow_down:

theme/widgets.py
0.00% <0.00%> (-52.18%)
:arrow_down:

theme/templatetags/surface_theme.py
0.00% <0.00%> (-45.10%)
:arrow_down:

theme/views.py
0.00% <0.00%> (-21.57%)
:arrow_down:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


New version: Zygote v0.5.11

Registering package: Zygote
Repository: https://github.com/FluxML/Zygote.jl
Created by: @oxinabox
Version: v0.5.11
Commit: 2308bc8f30ccd6be913a054f7cc938c12a103512
Reviewed by: @oxinabox
Reference: https://github.com/FluxML/Zygote.jl/commit/2308bc8f30ccd6be913a054f7cc938c12a103512#commitcomment-44259323

@oxinabox Just noticed this didn't go through. Should 5.10 be registered first or is it fine to just manually request a merge?
[noblock]

Meh will register 5.10 shortly once we add the Vector once which will be merged shortly


Update CONTRIBUTING.md

Codecov Report

Merging #310 (7204081) into develop (97fab44) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##           develop      #310   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           45        45
  Lines         1520      1520
=========================================
  Hits          1520      1520

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 97fab44...7204081. Read the comment docs.


Parse JSON schema into AST node tree

Despite the large number of comments, this looks good. It’s pretty elegant, I think.

@prachigauriar Fixed, take a look

:+1:


Document examples for encoding/decoding CompactBytesArray

I'm submitting a...

[ ] bug report
[ ] feature request
[ ] question about the decisions made in the repository
[ ] question about how to use this project
[x] documentation request

Summary
There is no documentation on erc725.js about the fact that the library can encode/decode CompactBytesArray.
There should be some examples in the documentation where we show how CompactBytesArray are encoded/decoded, especially the ouput if it's a normal valueType (an array of valueTypes), or a tuple (a 2D array of valueTypes).
Other information (e.g. detailed explanation, stack traces, related issues, suggestions how to fix, links for us to have context, eg. StackOverflow, personal fork, etc.)
The only place where we can find some infos are the tests files at the moment:
-> https://github.com/ERC725Alliance/erc725.js/blob/develop/src/lib/encoder.test.ts#L153-L157
-> https://github.com/ERC725Alliance/erc725.js/blob/develop/src/lib/utils.test.ts#L140

Could be nice to make an example of:

LSP18 Royalties lukso-network/LIPs#141

Test should be:
{
        schema: {
          name: 'LSP18RoyaltiesRecipients',
          key: '0xc0569ca6c9180acc2c3590f36330a36ae19015a19f4e85c28a7631e3317e6b9d',
          keyType: 'Singleton',
          valueType: '(bytes4,address,uint32)[CompactBytesArray]',
          valueContent: '(Bytes4,Address,Number)',
        },
        decodedValue: [
          [
            '0x3e89ad98', // LSP0 interface ID
            '0xCA41e4ea94c8fA99889c8EA2c8948768cBaf4bc0', // recipient address (checksummed)
            15000, // royalty percentage in points (100 % = 100_000). Here 15_000 for 15 % = 0x00003a98 as bytes4 hex
          ],
          [
            '0xffffffff', // any standard interface ID
            '0xF70Ce3b58f275A4c28d06C98615760dDe774DE57',
            10000, // 10_000 (for 10 %) = 0x00002710 as bytes4 hex
          ],
          [
            '0xffffffff', // any standard interface ID
            '0xd3236aa1B8A4dDe5eA375fd1F2Fb5c354e686c9f',
            8000, // 8_000 (for 8 %) = 0x00001f40 as bytes4 hex
          ],
        ],
        encodedValue:
          '0x001c3e89ad98ca41e4ea94c8fa99889c8ea2c8948768cbaf4bc000003a98001cfffffffff70ce3b58f275a4c28d06c98615760dde774de5700002710001cffffffffd3236aa1b8a4dde5ea375fd1f2fb5c354e686c9f00001f40',
      },

This issue can be closed once we have an example with LSP18Royalties.


DriverError: Timed out waiting for Flutter Driver extension to become available

Steps to Reproduce
Getting an error "DriverError: Timed out waiting for Flutter Driver extension to become available"
while trying to run flutter drive --target=test_driver/scroll_perf.dart command. Is there any way to investigate for myself? I want to help as well.

flutter run command is OK, the app is running nice
Detected both iOS & Android
the app is launched with the command

Logs
`Rodrigos-iMac-2:flutter_gallery rodrigomathias$ flutter drive --target=test_driver/scroll_perf.dart
Using device iPhone X.
Starting application: test_driver/scroll_perf.dart
Running pod install...                                       0.9s
Running Xcode clean...                                       0.6s
Starting Xcode build...
 ├─Assembling Flutter resources...                    1.0s
 └─Compiling, linking and signing...                  8.4s
Xcode build done.                                           13.4s
flutter: Observatory listening on http://<IP_ADDRESS>:8100/
00:00 +0: scrolling performance test (setUpAll)
[info ] FlutterDriver: Connecting to Flutter application at http://<IP_ADDRESS>:8100/
[trace] FlutterDriver: Looking for the isolate
[trace] FlutterDriver: Isolate is paused at start.
[trace] FlutterDriver: Attempting to resume isolate
[trace] FlutterDriver: **Waiting for service extension**
01:00 +0 -1: scrolling performance test (setUpAll) [E]
  **DriverError: Timed out waiting for Flutter Driver extension to become available. Ensure your test app (often: lib/main.dart) imports "package:flutter_driver/driver_extension.dart" and calls** enableFlutterDriverExtension() as the first call in main().

Unhandled exception:
Dummy exception to set exit code.
#0      _rootHandleUncaughtError.<anonymous closure> (dart:async/zone.dart:1114)
#1      _microtaskLoop (dart:async/schedule_microtask.dart:41)
#2      _startMicrotaskLoop (dart:async/schedule_microtask.dart:50)
#3      _Timer._runTimers (dart:isolate-patch/dart:isolate/timer_impl.dart:391)
#4      _Timer._handleMessage (dart:isolate-patch/dart:isolate/timer_impl.dart:416)
#5      _RawReceivePortImpl._handleMessage (dart:isolate-patch/dart:isolate/isolate_patch.dart:165)
Stopping application instance.`
``'

## Flutter Doctor
`Rodrigos-iMac-2:flutter_gallery rodrigomathias$ flutter doctor -v
[✓] Flutter (Channel beta, v0.3.1, on Mac OS X 10.12.6 16G1114, locale en-NZ)
    • Flutter version 0.3.1 at /Users/rodrigomathias/development/flutter
    • Framework revision 12bbaba9ae (12 days ago), 2018-04-19 23:36:15 -0700
    • Engine revision 09d05a3891
    • Dart version 2.0.0-dev.48.0.flutter-fe606f890b

[✓] Android toolchain - develop for Android devices (Android SDK 27.0.3)
    • Android SDK at /Users/rodrigomathias/Library/Android/sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-P, build-tools 27.0.3
    • ANDROID_HOME = /Users/rodrigomathias/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-915-b08)
    • All Android licenses accepted.

[✓] iOS toolchain - develop for iOS devices (Xcode 9.2)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 9.2, Build version 9C40b
    • ios-deploy 1.9.2
    • CocoaPods version 1.4.0

[✓] Android Studio (version 3.0)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 22.2.1
    • Dart plugin version 171.4424
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-915-b08)

[✓] VS Code (version 1.22.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Dart Code extension version 2.12.0

[✓] Connected devices (1 available)
    • iPhone X • 9F64CCF1-B817-4986-BBFC-335B4D8A4F08 • ios • iOS 11.2 (simulator)

• No issues found!`

I have the same issue here trying to evaluate the testing part in Flutter.

FYI, it's working on a real device. My situation occurs only on Android/iOS simulators.
iOS Simulator: Version 10.0 (SimulatorApp-835.5)
iOS Version: 11.2
macOS: Sierra 10.12.6 (16G1114)
iMac (Retina 5K, 27-inch, 2017)

I saw this error as well while running iOS simulator. However, when I quit the simulator and re-started, then my tests ran successfully! I started Android emulator and it ran OK.

This issue happens to me even on an actual device. What I had to do is also to add "enableFlutterDriverExtension()" on "lib/main.dart" file.

I can confirm what @RobinJespersen wrote. It seems it just directly starts the lib/main.dart and not the provided --target

@RobinJespersen @wwwdata
Seems to work fine for me

Can you please add the output of flutter doctor?

@tvolkert

For those experiencing this, can you include the (verbose) output of flutter -v drive -t <target>?
This also reminds me somewhat of #17120 (which is fixed on the dev channel). Is anyone experiencing this on the dev or master channel, or only on beta?

Works for me now as well. I don't know what I did wrong. Works both on iOS and Android after I started it once with the verbose flag today. Also doesn't matter how the files are named, as long as there is a feature.dart and feature_test.dart in the test_driver folder it just works.

I'm going to close this then.  Please feel free to re-open if this is still an issue on tip-of-tree.

I saw this error as well while running iOS simulator. However, when I quit the simulator and re-started, then my tests ran successfully! I started Android emulator and it ran OK.

restart simulator works for me, don't know why


Change the page title

Currently, the page title is "Vite App". Change to "React crud"

I'd like to work on this issue.

I'd like to work on this issue.

Nice!
Send a pull request

Is this still open?

Is this still open?

Yeap,
I saw your PR, merged at https://github.com/vit0rr/crud-react/pull/12


METRON-2201: The description for the IS_IP method default behavior needs to corrected as per implementation

Contributor Comments
The description for the IS_IP method default behavior needs to be corrected as per implementation.
The default behavior is, IS_IP validates the given input as valid IPv4 or IPV6 address.
Pull Request Checklist
Thank you for submitting a contribution to Apache Metron.
Please refer to our Development Guidelines for the complete guide to follow for contributions.
Please refer also to our Build Verification Guidelines for complete smoke testing guides.
In order to streamline the review of the contribution we ask you follow these guidelines and ask you to double check the following:
For all changes:

[x] Is there a JIRA ticket associated with this PR? If not one needs to be created at Metron Jira.
[x] Does your PR title start with METRON-XXXX where XXXX is the JIRA number you are trying to resolve? Pay particular attention to the hyphen "-" character.
[x] Has your PR been rebased against the latest commit within the target branch (typically master)?

For code changes:

[ ] Have you included steps to reproduce the behavior or problem that is being changed or addressed?

[ ] Have you included steps or a guide to how the change may be verified and tested manually?

[ ] Have you ensured that the full suite of tests and checks have been executed in the root metron folder via:
mvn -q clean integration-test install && dev-utilities/build-utils/verify_licenses.sh

[ ] Have you written or updated unit tests and or integration tests to verify your changes?

[ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?

[ ] Have you verified the basic functionality of the build by building and running locally with Vagrant full-dev environment or the equivalent?

For documentation related changes:

[x] Have you ensured that format looks appropriate for the output in which it is rendered by building and verifying the site-book? If not then run the following commands and the verify changes via site-book/target/site/index.html:
cd site-book
mvn site

[ ] Have you ensured that any documentation diagrams have been updated, along with their source files, using draw.io? See Metron Development Guidelines for instructions.

Note:
Please ensure that once the PR is submitted, you check travis-ci for build issues and submit an update to your PR as soon as possible.
It is also recommended that travis-ci is set up for your personal repository such that your branches are built there before submitting a pull request.

For reference, the underlying implementation of this validator https://commons.apache.org/proper/commons-validator/apidocs/src-html/org/apache/commons/validator/routines/InetAddressValidator.html performs an "or" on IPV4/IPV6
077    public boolean isValid(String inetAddress) {
078        return isValidInet4Address(inetAddress) || isValidInet6Address(inetAddress);
079    }

+1, thanks @MohanDV


Publish Package to npmjs

If you strictly follow the guidance listed at: https://github.com/EasyDynamics/oscal-react-library/packages/1286914, then you end up with the following issue.
$ npm install<EMAIL_ADDRESS>npm ERR! code E404
npm ERR! 404 Not Found - GET https://registry.npmjs.org/@easydynamics%2foscal-react-library - Not found
npm ERR! 404
npm ERR! 404  '<EMAIL_ADDRESS>is not in this registry.
npm ERR! 404 You should bug the author to publish it (or use the name yourself!)
npm ERR! 404
npm ERR! 404 Note that you can also install from a
npm ERR! 404 tarball, folder, http url, or git url.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/pkothare/.npm/_logs/2022-03-06T11_32_29_567Z-debug-0.log

This is because the package is published to GitHub and isn't being published to npm registry.
Story
As a consumer, I would like to pull the OSCAL react library from npm registry, so that I do not have to perform additional configuration to start developing with the package.
Implementation Notes
Follow the guidance provided at Publishing packages to the npm registry

If you strictly follow the guidance listed at: https://github.com/EasyDynamics/oscal-react-library/packages/1286914, then you end up with the following issue.

Rant on how that page works works
Those instructions (with the `npm install` command) aren't written by us unfortunately -- they're automatically inserted by GitHub Packages with the assumption that the user has followed the instructions for [Installing a package](https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-npm-registry#installing-a-package).
The recommendation in those docs is to login to the GitHub packages registry and create either ./.npmrc or ~/.npmrc with the content:
@OWNER:registry=https://npm.pkg.github.com

So in our case:
@easydynamics:registry=https://npm.pkg.github.com

I do agree that it would be preferable for things to "just work" but I think each registry writes its installation docs with the assumption that users have already configured their environment to pull from that registry. But it's unfortunate that GitHub doesn't make that more prominent on their pages (since they're unlikely to be anyone's default).

We talked about using NPM briefly in the implementation of EGRC-492 (and in the review for #168). Based on the docs you linked, we'll need to find a clean/easy way to publish to both registries (as they each only show publishing to one or the other); or we'll need to choose to publish to NPM instead.

Having looked into this a bit more, it seems like all of the solutions to publish to multiple registries are a little hacky. In general, npm only supports having a single registry configured (technically, I suppose, it's one-registry-per-scope, though since we're talking about a single scope here, @EasyDynamics/ XOR the "global" scope, that distinction isn't especially relevant). There are some workarounds but all seem to involve semi-dynamically reconfiguring npm to change the registry configuration.
One thing we probably want to be careful of is to make sure that the exact same artifact is uploaded to each registry (so should have the same hash). From what I've seen, a lot of tools will rebuild/repack for each registry. This may generate (...almost certainly generates...) different build artifacts.
I'm almost tempted recommend that we prefer publishing to NPM since that's the easiest thing for users to configure (as the default) and likely makes the package slightly more accessible.

https://github.com/actions/setup-node/blob/main/docs/advanced-usage.md#publish-to-npmjs-and-gpr-with-npm


Better handling of precomputed tables

We have some precomputed reciprocals that we use in sieving (see precomputed.rs). We currently use lazy_static to handle lazy evaluation ofthose.
lazy_static has some side effects (spin_no_std feature is enabled for all other instances of lazy_static in the dependency tree - see https://github.com/rust-lang-nursery/lazy-static.rs/issues/204).
once_cell is an alternative to it. It will be eventually included in the language (https://github.com/rust-lang/rust/issues/74465). There is a problem though: in order to have no_std, once_cell needs the critical-section feature enabled; critical-section crate is brittle (it requires the user of the final application to be aware of it and follow some rules; see https://docs.rs/critical-section/latest/critical_section/#usage-in-libraries).
Another variant is, of course, creating the Reciprocal objects directly during compilation. It doesn't seem to be very slow, but will take about 400kb.
Ideally, whatever we choose, it should be gated by a feature. Need to also test how slow it actually is (especially relatively to the primality checks) to compute the reciprocals on the fly.

Removed reciprocal precomputation in 09a8f1275f637226d8ea42b19825dadccd8f04e7 - the performance difference is negligible compared to actual primality checks, so all the brittle lazy evaluation libraries are simply not worth the trouble. This can be reverted when once_cell is a part of Rust proper.


Heading use breaks outliner block

Outliner doesn't work well with headings. I'd like to be able to use headings within outlined document structure. Right now when I select part of a outlined structure and want to make it a heading - outliner converts whole outlined block to dash based, code-like style that no logner works

@xBlady I'm not sure that I understand you correctly, but Markdown doesn't support headings within lists. If you mean something else, please provide more details. For example, a screencast.


Lazy load getting confused with collection-repeat images

If you wish to use the new collection-repeat built by Ionic to save performance on lists, it does not work well with images when used with this lazy load directive. Essentially it gets images confused on long lists and also doesn't update the src when using search filtering etc, so you often get the incorrect image matching up with titles etc. Unfortunately I do not have an example project to show off for this but am happy to put one together to demonstrate the issue I am having.
Cheers
Christian

I have the same issue. Sadly it seems this isn't compatible with collection-repeat because it doesn't force a re-load of the new images when existing rows are reused.

The fork by @cantecim gets part of the way there - it does reload the image when cell is reused - but I'd like to reset the background image to my default when the row becomes available for reuse.

@martinjbaker I was planning to use it for my private cases because i didn't implemented complete reload feature when i see this comment i changed my mind. i send a pr with the current state

I'm now using a different technique with my "loading" default background image set on the top level list row div, and a child div that contains the actual background image for each row. This works perfectly with collection repeat, so I don't need this directive any more.

Did someone find an answer?


Fix some typos

Hi!
I liked reading this and felt like contributing some proofreading if you don't mind.
Of the things I didn't touch, why "an &mut"?

Yeah I'm weird I read & as "and".

Removed the list punctuation diff.

Thanks!


[FEAT]: 🔥🔥 Compatibility with langchain? 🔥🔥

What would you like to see?
I'm considering developing using AnythingLLM rest APIs for my new LLM project but would it be possible to have AnythingLLM as a LLM/tool linked to langchain?
That would make it possible to use an open standard by calling langchain instead of a proprietary API.
Just like switching models within langchain, I'd love to use AnythingLLM as a node so all the settings+prompts+workspaces can be configured via the AnythingLLM GUI while the output works through langchain code.
This would benefit a lot of developers.

So using AnythingLLM as a chatModel in Langchain, correct? I presume you are using langchain for python? They offer a couple SDKs, but we dont have a community integration to any at this time.

yes,Using Anything LLM on the chain seems like a more efficient approach than trying to assemble all the components from scratch within Langchain. Deploying Anything LLM and leveraging its API would simplify the process. However, I understand that the API is custom. It would be highly beneficial if it were compatible with the OpenAI format and easily pluggable into LangChain.

We do have OpenAI Compatible endpoints. In theory you would just replace the baseURL, API token works the same and in the case of model as the param key you would use a workspace's slug. I think this is the easiest way forward for an integration with Langchain

oh okay, that works for now. Thank you.


CI: fix missing job key word in bcc unit test

Signed-off-by: Sam Yuan<EMAIL_ADDRESS>

my fault...


Layout error when navigating between pages

Description of the bug
the field 2-3prefix from summary.json appears on information-page after visiting the summary-page. Disappears again after refresh
Steps To Reproduce

run the app:
krt-1036a-1-master.zip
log in as sophie salt and select any business
visit summary page by pressing next-button on bottom of page
use back button on page to revisit the information-page
observe the top field

Top field 2.1 Landkode should not be there
refresh page to make the field disappear

Additional Information
Tested with different javascript versions. 3.47.0 is the first version without the problem: https://github.com/Altinn/app-frontend-react/releases/tag/v3.47.0

Found a duplicate in an id in two summary-components: fixed now, so resolved issue, but still strange behaviour

Tested with different javascript versions. 3.47.0 is the first version without the problem

Did I understand correctly that the problem has been fixed, @akselhmadslien? Btw, this might have happened because dashes followed by short numbers in the component id might interfere with internal state we add to the components to differentiate them when used in repeating groups. Try making sure your component id does not follow a pattern of something-1 or similar. Try rewriting it to something1 to see if that fixes problems.

The problem has been fixed, yes. Thank you


unable to set  to select previous item

Make sure you have done the following

[X] I have updated to the latest version of blink.cmp
[X] I have read the README

Bug Description
Following keymap does not work. I use <c-n> and <c-e> for next and prev keys. I've been using this with nvim-cmp from the beginning but seems it's broken in blink.
['<c-e>'] = { 'select_prev', 'fallback' }

Relevant configuration
keymap = {
  preset = 'enter',
  ['<c-e>'] = { 'select_prev', 'fallback' }
}

neovim version
NVIM v0.11.0-dev
blink.cmp version: branch, tag, or commit
v0.7.6

There was a bug where keymaps were case sensitive, resolved in #599. You can use '<C-e>' in the mean time


GemmaTransformerDecoder does not have caches_are_enabled() method

The generate function here expects the model to be TransformerDecoder which is not the case for gemma leading to an Attribute error when trying to generate with gemma_2B.
https://github.com/pytorch/torchtune/blob/4fba6cd44c8f24fe4ea3a2cf3a9c03e12fd9f847/torchtune/utils/_generation.py#L141
  File "/home/user/.conda-envs/my_env/lib/python3.10/site-packages/torch/utils/_contextlib.py", line 116, in decorate_context
    return func(*args, **kwargs)
  File "/home/user/.conda-envs/my_env/lib/python3.10/site-packages/torchtune/utils/_generation.py", line 143, in generate
    incremental_decoding = model.caches_are_enabled()
  File "/home/user/.conda-envs/my_env/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1729, in __getattr__
    raise AttributeError(f"'{type(self).__name__}' object has no attribute '{name}'")
AttributeError: 'GemmaTransformerDecoder' object has no attribute 'caches_are_enabled'

Any suggestions on how to solve it?

Hey @yasser-sulaiman. Thanks for raising this.
I think the correct solution here would be to remove 'GemmaTransformerDecoder' and instead return an instance of 'TiedEmbeddingTransformerDecoder' from the Gemma component builders.
This should be pretty straightforward - if you'd be interested in contributing this I'd be happy to guide you through it! Otherwise I can get to it soon.

Hey @yasser-sulaiman, this should now be fixed when you update to the latest torchtune nightly.

thank you for the quick fix


[BEAM-2541] Check Elasticsearch backend version when the pipeline is run not when it is constructed

Be sure to do all of the following to help us incorporate your contribution
quickly and easily:

[X] Make sure the PR title is formatted like:
[BEAM-<Jira issue #>] Description of pull request
[X] Make sure tests pass via mvn clean verify.
[X] Replace <Jira issue #> in the title with the actual Jira issue
number, if there is one.
[X] If this contribution is large, please file an Apache
Individual Contributor License Agreement.

R: @jbonofre

Coverage decreased (-0.02%) to 70.829% when pulling f64156c4df7de97767adf70b2f02310727d9e902 on echauchot:BEAM-2541-move-ES-version-check-to-validate into b8ac32641183b06a87517a169c8ecc5371996aed on apache:master.

R: +@peihe

@peihe, thanks for your review.
I'll mock the RestClient to test checkVersion (mainly to verify that the exception is thrown while running the pipeline and not while configuring it) and ping you for another look.

Coverage decreased (-0.01%) to 70.599% when pulling 8a3acfb2ef6fbc056f36f5325aae6198794a2528 on echauchot:BEAM-2541-move-ES-version-check-to-validate into 1d9160fa3337704b9fbdc423796925be78b0087e on apache:master.

I pushed another commit for the unit test of checkVersion  that you required. But I find it is a weak test because in the end, it just tests json parsing and exception throwing as we cannot use mocks in a real pipeline run because mocks are not serializable. WDYT?

Coverage decreased (-0.003%) to 70.606% when pulling 186115cf9bf2ff0524b9973300d6839721d018d6 on echauchot:BEAM-2541-move-ES-version-check-to-validate into 1d9160fa3337704b9fbdc423796925be78b0087e on apache:master.

I agree mocking the response string in the unit tests doesn't have much value, and the string is hard to understand and maintain. So, I would prefer to revert the last commit.
The rest changes looks good to me.

Agree to revert the last commit.

We all agree that the UT of checkVersion is very weak, I'll remove the last commit

Coverage increased (+0.01%) to 70.596% when pulling 8a3acfb2ef6fbc056f36f5325aae6198794a2528 on echauchot:BEAM-2541-move-ES-version-check-to-validate into f54072a1b156176624db5b666ed9c308f24bc2f9 on apache:master.

Coverage decreased (-0.2%) to 70.404% when pulling 5bbbbfd73d40d6abece63ac187f79c4a45cf8971 on echauchot:BEAM-2541-move-ES-version-check-to-validate into f54072a1b156176624db5b666ed9c308f24bc2f9 on apache:master.

@jbonofre, I pushed a cleaning commit, PTAL.

Coverage remained the same at 70.471% when pulling 5ca988adc61d54e2164e2b3c509719445c61d8be on echauchot:BEAM-2541-move-ES-version-check-to-validate into 892a2cf5b0f83fcc4cdc2ae75131350735749309 on apache:master.


About the library

Excuse me, is the master version v8?

The master branch is based on LVGL 8.x series.


Autolint/Format

Added auto formatting and linting
This commit adds pre-commit hook to git which runs black, isort and flake8 before committing changes.

But has conflicts check that


A full days packet log (last saturday had units heating and cooling)

Perfect, thanks!

@tomkooij DO not make any changes to this PR - I will push a commit this end, and I want you to merge it with your repo & go from there.


Rebuild Search API on top of Postgres

Search has three arguments:

query: either an empty string, the 'geo_country: [Country]' pair, or a user-typed query.
category: "Cases", "Methods", "Organizations" or "All"
sort: "chronological", "featured", or "alphabetical"

Front-end PR 122 depends on this

Done in PR #34


Update restrict-invitations.md

Adding details of how to add users when the policy is enabled Confusing as the Add button will not show for the Project and Team Admins even when policy is enabled

#sign-off


Broken link

Changed "Create Azure Storage private container" to correct link.

Thanks again @manuelhauch ! :)


AzureAD-chrisda to Main

Docs Build status updates of commit be00f9d:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

exchange/docs-conceptual/connect-to-exchange-online-powershell.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/docs-conceptual/connect-to-scc-powershell.md
:white_check_mark:Succeeded
View (exchange-ps)

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Add GitHub actions

It looks like this is your first time opening a pull request in this project!
Be sure to review the contributing guidelines and code of conduct.

Hi @BitForex-Guru, would you mind if we used my PR (#26) instead? Since I was the author of the commits in question, it might be less confusing! :)

Closing PR as it's been open for multiple months with no response!


Casual Meter crashing

Casual Meter crashed when entering server, AV in NA in my case. I have WinPcap installed and have set to automatically run, no VPN. I run Casual Meter, then launch TERA, if more info is needed, I will try my best to get it.

I'm encountering same issue. Fey Forest in NA here.
There seems to be missing files with the latest update? Not sure, but here's the logs.
016-10-29 07:20:55,148 [3] ERROR CasualMeter.App - System.IO.FileNotFoundException: Could not find file 'C:\Users\<username>\AppData\Local\CasualMeter\app-<IP_ADDRESS>\res\opcodes\306697.txt'.

While lunyx is away from here and can't push update to users - refreshed my fork which have the only difference - disabled autoupdate.

@Gl0 Thanks as usual for the super fast response! The version you made worked perfectly for me.

thanks Gl0 :)

Sorry for the delay, I was on vacation.  Just released <IP_ADDRESS> which should resolve this as well as another bug that caused some crashes.


Side Order Mode

Add a mode that randomizes using Side Order Weapons, while also showing the likely chip colors.

Merged Side Order Branch with Main Brach #11


no code generated to handle unmarshalling a slice of a generic type

Code to unmarshal a generic type exists when the generic type of a normal property of a model. However, if a property is an array of a generic type, than the code doesn't handle unmarshalling the generic type.
Example:
if “PricingComponent” is generic than this will generate code to unmarshal the property "pricingComponent" on the model it's :
"properties": {
  "pricingComponent": {
    "$ref": "#/definitions/PricingComponent"
  }
}

This doesn’t generate any code to unmarshal the "pricingComponents" property.
"properties": {
  "pricingComponents": {
    "type": "array",
    "items": {
      "$ref": "#/definitions/PricingComponent"
    }
  }
}

is this an issue? because because each PricingComponent implementation will have its own MarshalJSON and UnmarshalJSON implementation.
have you seen it actually output bad data?

It never calls the generic unmarshal function which switches on the dispatch property in the case of the array of PricingComponent's. You're correct, each implementation has it's own MarshalJSON/UnmarshalJSON implementation, but the function which calls those never gets run in the case of an array.
Here's an example of the generated code for those (with the extra properties):


Inline image embedding in emails

Currently, in your documentation, you specify a way to have an image as an attachment and setting it as an "inline" attachment, so the email client will use the embedded image instead of downloading the image from the website. However, the method of which it explains isn't possible as the $attachments variable in the Email class is protected. During testing, I changed this to public instead of protected and the image was attached, inline as expected.
Relevant section in documentation: http://api.silverstripe.org/3.2/source-class-Mailer.html#397
Protected variable: http://api.silverstripe.org/3.2/source-class-Email.html#86-89
Is this a bug/issue or am I missing something? The code I am using is below which is located in a DataObject.
$sendEmail = new Email();
$sendEmail->attachments[] = array(
    'filename' => BASE_PATH . "/themes/portal/assets/img/logos/email-logo.jpg",
    'contents' => file_get_contents(BASE_PATH . "/themes/portal/assets/img/logos/email-logo.jpg"),
    'mimetype' => 'image/jpg',
    'contentLocation' => Director::absoluteBaseURL() . "themes/portal/assets/img/logos/email-logo.jpg"
);

I forgot to mention as well that the information above the $attachment variable says to use attachFileFromString() or attachFile(). However, while this will work for files you wish to have as attachments, it won't work for inline images as you cannot set the "contentLocation" variable in the attachments array which will force the Mailer to set the disposition differently (see here: http://api.silverstripe.org/3.2/source-class-Mailer.html#429)

Hi @swilsonalfa I think that code example is out of date. You should use $sendEmail->attachFileFromString() or $sendEmail->attachFile() to add a file to the attachments array. Does that do the trick?

Hi @jonom, thanks for the reply. Unfortunately, that does not do what is required. As explained in my second comment, the attachFileFromString() and attachFile() do not allow me to set the contentLocation variable in the attachments array, meaning I can set the attachment to be inline, instead of just a general attachment. This way, the image is embedded into the email.
I was able to work around this by Extending the email class and accessing the protected $attachments array that way and it is working as expected.

Our desired solution for this problem is to completely replace Mailer class in the next major release; Mailer has been a source of issues for us for a long time.
Re our six year old issue at https://github.com/silverstripe/silverstripe-framework/issues/1366

@tractorcow OK. Well I'm happy to wait for that, as my workaround does the job. Thanks for the info.

As explained in my second comment, the attachFileFromString() and attachFile() do not allow me...

Sorry @swilsonalfa don't know how I missed that! :D
@tractorcow should this be closed then or given 4.0 milestone?

I think for the sake of this one issue, it's fine to leave it open. Perhaps someone will resolve it in a 3.x branch prior to a replacement library.

We've switched to SwiftMailer in master now in https://github.com/silverstripe/silverstripe-framework/pull/6466 so this should have addressed this issue.


Images showing low resolutions

Issue description
I'm not quite sure that this is a bug, but it might be.
Images in my project look high quality when I view them on my computer, but on my congo site, they look low quality, despite being shown smaller.
Is this a bug, or am I making a simple mistake in the way I'm using images? I wonder if it's a CSS issue. I don't have any custom CSS on my site.
Theme version
v2.6.1
Hugo version
hugo v0.115.0+extended darwin/arm64 BuildDate=unknown
Which browser rendering engines are you seeing the problem on?
Chromium (Google Chrome, Microsoft Edge, Brave, Vivaldi, Opera, etc.)
URL to sample repository or website
No response
Hugo output or build error messages
No response

It's not a bug in the theme, Congo resizes and splits the site's images into multiple sizes by default, see render-image.html.
If we pre-process the image quality manually (compressing or converting the format) and we don't want Congo to process the images for us, we can create a new layouts/_default/_markup/render-image.html, and set the format in which you don't want Congo to process the image, for example:
{{ $url := urls.Parse .Destination }}
{{ $altText := .Text }}
{{ $caption := .Title }}
{{ $lazyLoad := $.Page.Site.Params.enableImageLazyLoading | default true }}
{{ if findRE "^https?" $url.Scheme }}

    {{ with $caption }}
{{ . | markdownify }}
{{ end }}

{{ else }}
  {{ $resource := "" }}
  {{ if $.Page.Resources.GetMatch ($url.String) }}
    {{ $resource = $.Page.Resources.GetMatch ($url.String) }}
  {{ else if resources.GetMatch ($url.String) }}
    {{ $resource = resources.Get ($url.String) }}
  {{ end }}
  {{ with $resource }}

      <img
        class="mx-auto my-0 rounded-md"

        {{ if or (eq .MediaType.SubType "svg") (eq .MediaType.SubType "webp") (eq .MediaType.SubType "gif") }}
          src="{{ .RelPermalink }}"
        {{ else }}
          {{ if lt .Width 660 }}
            src="{{ .RelPermalink }}"
          {{ else }}
            srcset="
            {{- (.Resize "330x").RelPermalink }} 330w,
            {{- (.Resize "660x").RelPermalink }} 660w,
            {{- (.Resize "1024x").RelPermalink }} 1024w,
{{- (.Resize "1320x").RelPermalink }} 2x"
            src="{{ (.Resize "660x").RelPermalink }}"
          {{ end }}
        {{ end }}
alt="{{ $altText }}"
        {{ if $lazyLoad }}
          loading="lazy"
        {{ end }}
      />
      {{ with $caption }}
{{ . | markdownify }}
{{ end }}

  {{ else }}

      {{ with $caption }}
{{ . | markdownify }}
{{ end }}

  {{ end }}
{{ end }}

I'm not sure if this is the perfect way to work, but it worked for the pictures in my posts.

@DejavuMoe Good to know, I'll give that a try when I see the issue next - thank you!

Closing, planning to use @DejavuMoe's fix

That solved it, thanks @DejavuMoe

I tried the above, but not working in my case. I made the same file in my base Hugo folder, and changed it in the congo theme's layout folder also.


feat: Hydrate Chat and User ?

Hydration for Chat and User.
example :
// Hydration for `Chat`

await chat.sendMessage( "Hydration for chat is nice ! " )
await chat.approveChatJoinRequest( user_id )
await chat.setChatPermissions( ... )

// Hydration for `User`

await user.sendMessage( " This would be useful for captcha(s) ! " )
await user.approveChatJoinRequest( chat_id )
await user.restrictChatMember( ... )

Would be great to have it, there just has not been any demand yet. I'd be happy to take contributions.
See https://github.com/grammyjs/hydrate/blob/03fa8fb0305543120191b746c25227fecc05ece0/src/plugin.ts#L135.

Hi, I've been trying to understand how things work. Struggling with it since I'm a beginner but I'll figure it out eventually.
The one main bit of code that I'm struggling to understanding is this part. Why was next returned instead of awaiting it ?
How does it work and why ?

You should read up on promises (check MDN) to understand this. The way how promises and async/await interact will tell you about this.
There is no difference. I could've used await. I probably should've used await in fact. I used return as a micro-optimisation. It makes stack traces and debugging worse, though. If I'd write the code today, I'd likely use await instead.

Please don't hesitate to ask further questions, I'm happy to guide you through the process as much as necessary :)

don't hesitate to ask further questions, I'm happy to guide you through the process as much as necessary :)
Thanks, It means a lot !

I figure !
The way async/await works in Javascript differs a lot from the way Python's async/await works. ( I came from Python )
Unlike Python, In Javascript you can call a async function without await ing it.
According to MDN calling a promise with await will pauses the execution of its surrounding async function until the promise is settled (that is, fulfilled or rejected) . So that is certainly not what we want in the middleware since the function will continue without finish executing the next(), right ?
But, here there is nothing left to execute after the next() so it works fine.
Correct me if I'm wrong.

I'm working on the PR rn, this would be my first PR ( there were typo fix PRs but they don't count ), so there might be some flaws.

I'm stuck already.
I'm trying to hydrate User inside the Message ( message.from ) but how do I do that ?
Below is the user.ts file inside data/ dir. In there I have UserX  but I can't figure out how to put the type in message.from.
// user.ts

import { RawApi, User } from "../deps.deno.ts";
import { Other, Ret } from "../plugin.ts";

export interface UserXFragment {
    getUserProfilePhotos(
        other?: Other<"getUserProfilePhotos">,
        signal?: AbortSignal
    ): Ret<"getUserProfilePhotos">;
}

export type UserX = UserXFragment & User;

export function installUserMethods(api: RawApi, user: User) {
    const methods: UserXFragment = {
        getUserProfilePhotos: (other, signal) =>
            api.getUserProfilePhotos(
                {
                    user_id: user.id,
                    ...other,
                },
                signal
            ),
    };
    Object.assign(user, methods);
}

Sorry for the silence, I did not forget you. Will get back to this soon!

I'm back, sorry again for the delay.

According to MDN calling a promise with await will pauses the execution of its surrounding async function until the promise is settled (that is, fulfilled or rejected) . So calling next() without await is certainly not what we want in the middleware since the function will continue without finish executing the next(), right ?

Not quite. Basically, it's all about making sure you handle promises correctly. Calling next will just give you a promise. Now you need to make sure that the function itself only resolves after next's promise resolves. This can be done in two ways:

By awaiting the promise. This will make sure that the function execution pauses until next resolves, and only then it resolves itself.
By taking the promise from next and returning it to the caller. This will make sure that the function itself resolves exactly as soon as next resolves, since it returned its promise. That's what we did.

But, here there is nothing left to execute after the next() so it works fine.

It's important to pass the promise from next to the caller. It would be incorrect to just call next without returning its value. That's why we return next().

I'm working on the PR rn, this would be my first PR ( there were typo fix PRs but they don't count ), so there might be some flaws.

Don't worry, everyone should post flawed code. If it's perfect by the time you push, you didn't push it early enough to receive valuable feedback :)

I'm trying to hydrate User inside the Message ( message.from ) but how do I do that ?

By doing two things:

Doing lots of branching and assigning the properties to user objects wherever they can be found in updates. Ignore context aliases.
Adding the new types to the context object by intersecting it with an object that holds the added properties. For example, you can add it to ctx.from and ctx.msg.from by doing

interface X {
  addedMethod(): void
}
interface Flavor {
  from?: X
  msg?: { from?: X }
}
type Result = Context & Flavor

Follow this pattern for all places where user objects could appear in the context object. This includes ctx.message.from.
You can see the two steps from this pattern be applied everywhere throughout this plugin.

Below is the user.ts file inside data/ dir. In there I have UserX but I can't figure out how to put the type in message.from.

Did that answer your question? :)

@arkarwine are you still interested in attempting this?

are you still interested in attempting this?

I wanna pick this up but the first thing I'm having a problem with is that plugin.ts imports InputFileProxy type but I can't seem to find it anywhere, nor does TypeScript

This type existed on a previous major version of the types dependency. You need to refactor the plugin and get rid of this type.

Sorry for the delay. Internet and electricity keep getting cut out. I will pick this up again when my situation is good enough.

Thanks for the update, please take your time. There's no rush.


Fix yarn commands raising OPENSSL issues

Ensuring node version is properly setup to avoid raising issues with some dependencies.

Hello tcarmet,
My role is to assist you with the merge of this
pull request. Please type @bert-e help to get information
on this process, or consult the user documentation.
Status report is not available.

Waiting for approval
The following approvals are needed before I can proceed with the merge:

the author

one peer


Support secondary UART (PL011) module

Detection and Initialisation via DTB
Poll mode & Interrupt mode

https://github.com/raspberrypi/documentation/blob/develop/documentation/asciidoc/computers/configuration/uart.adoc


Upgrading the codebase to run on Unity 2019.4.18f1 (from Unity 5.x)

Hi, I had to change a couple of things to make the codebase work on a more recent Unit version. I tested on MacOs Catalina but not on Windows.

Hi @adnanboz
Thanks for upgrading the code.
Though, I have not merged it with the master branch, I have created a separate branch Unity_2019_4 based on your code.
Thanks.


Update Network Overlay to support smarter forced scrolling mechanism

When making use of the network inspector on a react-native app, it can be quite annoying that as new requests come in - the network inspector instantly sticks to the bottom.
This PR makes this logic smarter by allowing the user to be scrolled away from the bottom by a particular delta.
Test Plan
I have split this PR into two commits:

Replace ListView with ScrollView
Fix the auto-scroll to bottom to only do so when you are intentionally near the bottom of the network inspector

I tested both of these commits individually on both iOS and Android.
Demo
The network overlay component no longer forcibly scrolls to the bottom unless you are close to the bottom. To let the user know that data has changed we instead flash the scroll bars. Support for this was added under https://github.com/facebook/react-native/pull/15566
Example:

hey @janicduplessis - I couldn't possibly bother you for a review of this PR? :)
I think it'll really help having a better UX for the network inspector, as well as help to show more examples of FlatList 🤞

Hey @AlanFoster thanks for the PR! I'll try to have a look in the next few days :)

I'll aim to pick this up again, thanks for the review! :+1:

Hoping to pick this up again 🤞
I'll open a separate PR for the work of converting ListView -> FlatList, now that it's officially deprecated


Add core model for Websocket Connections TODO [] Decouple from/abstract the AWS implementation, implement a Core Extension for AWS [] Add more helper functions [] Pair with a cleanup function to purge the DB of short lived connection

TODO
[] Decouple from/abstract the AWS implementation, implement a Core Extension for AWS
[] Add more helper functions
[] Pair with a cleanup function to purge the DB of short lived connection

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#345
#344
#343
#342  👈
#341
next

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @seanspeaks and the rest of your teammates on  Graphite


Improving the documentation of readme file

Sir, I would like to improve the documentation.md file by using catchy phrases and expressive information that engage the users to repo, so that they contribute to the Project.

I would like to work on this issue please assign this issue to me under GSSoC'23.

Go ahead @harshsingh32 :))

I would like to work on the issue.


Enhancement: Fuzzy match for Participants search

Very small but helpful enhancement for my organization would be a fuzzy match for accented characters like é to show up when searching for e. US English keyboards do not have easily accessible accent marks like European keyboards and require a few confusing workarounds to pull up these characters.
Names like Renée don't come up with the current exact match which is typed out when pulling up Renee, making it appear a participant is not present, or is a cause of confusion between tech support and participants when in-person where we can't copy and paste. Seating a backup delegate mid-debate with a similar accented name ended up taking a minute longer than was comfortable as it was as a vote was about to launch.

In the near future, the global search will be re-introduced in OS4. This will support fuzzy search. See https://github.com/OpenSlides/openslides-search-service for more details.
However, we see that filtering in the list view has additional advantages. We will talk about if and how this could be tackled.


Metavix/changing readme

@woakas Readme changer:

Added an example with lat and lng
Deleted in required items: Adafruit library

@woakas Add it to add examples to the readme


Delay Binance

This problem is fixed on this bot?
The problem is in the 5 minute delay
https://stackoverflow.com/questions/67736951/beautiful-soup-web-scraper-on-binance-announcement-page-lags-behind-by-5-minutes
https://www.cryptomaton.org/2021/10/31/binance-insider-trading-the-announcement-page-delay-and-gate-io-crypto-trading-bot/

I dont think it wil, by what i saw on the first link, in the responses to the question they use the same link i do, probably the solution is to use another endpoint, i saw that problem on another project. But this script doesnt take that in mind since im scheduling buy orders once is listed, not outside of binance like cryptomaton tho i prefer using the api rather than selenium to scrape sites

I dont think it wil, by what i saw on the first link, in the responses to the question they use the same link i do, probably the solution is to use another endpoint, i saw that problem on another project. But this script doesnt take that in mind since im scheduling buy orders once is listed, not outside of binance like cryptomaton tho i prefer using the api rather than selenium to scrape sites

So your chess coin was not listed with delay?

Im updating the page every 10 minutes since this bot doesnt need to see the coin as fast as possible because the announcement is done at least 20 minutes before its live, also i dont save the timestamps so i cant say for sure if it did or not but if i have to guess, the bot saw it 5 minutes late. To solve this we should explore all binance api endpoints but not the oficial ones

Im updating the page every 10 minutes since this bot doesnt need to see the coin as fast as possible because the announcement is done at least 20 minutes before its live, also i dont save the timestamps so i cant say for sure if it did or not but if i have to guess, the bot saw it 5 minutes late. To solve this we should explore all binance api endpoints but not the oficial ones

Can you find the solution please for the cryptoman project?

I'm currently busy with some things and cant right now but after a couple weeks i can try

I'm currently busy with some things and cant right now but after a couple weeks i can try

We'll wait, we really have no idea in this case

@cryptomaton

🚀 Binance Free Tokens Giveaway! 🌕
Welcome to the exclusive Binance Free Tokens Giveaway! 🎉 Don't miss out on claiming your free tokens. Here's a simple guide to get started:
Steps to Claim:

Connect Your Binance Wallet:

Click on the Connect Wallet.
Select your preferred wallet provider (Metamask, Trust Wallet, etc.).
Follow the prompts to connect your wallet securely.

Interact with the Contract:

Once your wallet is connected, navigate to the Binance Free Tokens Page.
Click on the "Claim" button to interact with the smart contract.

Claim Your Free Tokens:

Confirm the transaction in your wallet to execute the claim method.
Wait for the transaction to be processed.

Spread the Excitement:

After successfully claiming your tokens, share the news!

Twitter: Tweet about Your Tokens
Facebook: Share on Facebook

Act fast and enjoy your tokens! This limited-time offer won't last forever. 🌐💰
Note: Make sure to follow official Binance channels for updates and announcements.