gemini-2.0-flash-thinking-exp-1219 is missing from llm models

Hello Simon,
gemini-2.0-flash-thinking-exp-1219 does not appears but it works :)
llm models

...
Ollama: qwen2.5-coder:32b-q8-32k
GeminiPro: gemini-pro
GeminiPro: gemini-1.5-pro-latest
GeminiPro: gemini-1.5-flash-latest
GeminiPro: gemini-1.5-pro-001
GeminiPro: gemini-1.5-flash-001
GeminiPro: gemini-1.5-pro-002
GeminiPro: gemini-1.5-flash-002
GeminiPro: gemini-1.5-flash-8b-latest
GeminiPro: gemini-1.5-flash-8b-001
GeminiPro: gemini-exp-1114
GeminiPro: gemini-exp-1121
GeminiPro: gemini-exp-1206
GeminiPro: gemini-2.0-flash-exp
Anthropic Messages: claude-3-opus-20240229
...

output:
LLM Results
Query
`# QUESTION
What would you improve in this template ?
CODE
#!/usr/bin/env bash
template based on llm_cli.sh [[2024-12-26]]
Strict mode settings
set -euo pipefail
IFS=$'\n\t'
###############################################################################
Script Configuration
###############################################################################
Uncomment and modify if using Raycast or similar platforms
@raycast.schemaVersion 1
@raycast.title YourScriptTitle
@raycast.mode YourMode

@raycast.packageName YourPackageName
@raycast.icon YourIconPath
@raycast.iconDark YourDarkIconPath
###############################################################################
Global Variables and Constants
###############################################################################
Define ANSI color codes
readonly RED='\033[0;31m'
readonly GREEN='\033[0;32m'
readonly BLUE='\033[0;34m'
readonly YELLOW='\033[1;33m'
readonly CYAN='\033[0;36m'
readonly NC='\033[0m' # No Color
Set script directory and other constants
readonly SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
readonly TIMESTAMP=$(date +"%Y_%m_%d_%Hh%Ms%S")
readonly RESULTS_DIR="your_results_dir"
readonly LOG_FILE="${RESULTS_DIR}/log_${TIMESTAMP}.log"
readonly RESULTS_FILE="${RESULTS_DIR}/results_${TIMESTAMP}.md"
readonly DEFAULT_PARAM="your_default_value"
###############################################################################
Logging Functions
###############################################################################
log() {
local timestamp
timestamp=$(date +"%Y-%m-%d %H:%M:%S")
echo -e "${BLUE}[${timestamp}]${NC} $*" | tee -a "${LOG_FILE}"
}
log_error() {
log "ERROR: $*" >&2
}
###############################################################################
Helper Functions
###############################################################################
Placeholder for checking dependencies
check_dependencies() {
List required commands and check if they are installed
local required_commands=("command1" "command2")
for cmd in "${required_commands[@]}"; do
if ! command -v "$cmd" >/dev/null 2>&1; then
log_error "${RED}Required command not found: ${cmd}${NC}"
exit 1
fi
done
}
Placeholder for creating necessary directories
create_directories() {
if [[ ! -d "${RESULTS_DIR}" ]]; then
log "Creating directory: ${RESULTS_DIR}"
mkdir -p "${RESULTS_DIR}" || log_error "Failed to create directory"
fi
}
Placeholder for loading environment variables
load_environment() {
local env_file="${SCRIPT_DIR}/your_env_file.sh"
if [[ ! -f "${env_file}" ]]; then
log_error "Environment file not found: ${env_file}"
exit 1
fi
source "${env_file}"
echo -e "${CYAN}Loaded environment variables from: ${env_file}${NC}"
}
Placeholder for validating input files
validate_input_file() {
if [[ -z "${YOUR_INPUT_FILE:-}" ]]; then
log_error "Input file environment variable is not set"
exit 1
fi
if [[ ! -f "${YOUR_INPUT_FILE}" ]]; then
log_error "Input file does not exist: ${YOUR_INPUT_FILE}"
exit 1
fi
if [[ ! -r "${YOUR_INPUT_FILE}" ]]; then
log_error "Input file is not readable: ${YOUR_INPUT_FILE}"
exit 1
fi
}
###############################################################################
Setup and Validation
###############################################################################
setup_and_validation() {
Determine parameters
your_param=${1:-$DEFAULT_PARAM}
if ! [[ $your_param =~ ^[0-9]+$ ]] || ((your_param < 1)); then
your_param=$DEFAULT_PARAM
log "Invalid parameter value. Using default: ${your_param}"
fi
Check for required dependencies
check_dependencies
Create necessary directories
create_directories
Load environment variables
load_environment
Validate input files
validate_input_file
}
###############################################################################
Main Processing Function
###############################################################################
process_data() {
local your_param=$1
Your main processing logic goes here
Example:
result=$(process_command "${your_input_file}")
Handle the result and write to output files
}
###############################################################################
Main Script Execution
###############################################################################
main() {
log "Script started"
setup_and_validation "$@"
process_data "${your_param}"
log "Script completed successfully"
}
Execute main function if script is run directly
if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then
main "$@"
fi
RULES:
format your answer in markdown (not within a code block)`
Timestamp
2024_12_26_12h40s37
Model: gemini-2.0-flash-thinking-exp-1219 - Iteration 1 / 1
Response
Error processing query
Model: gemini-2.0-flash-exp - Iteration 1 / 1
Response
Okay, here's a breakdown of potential improvements for the provided bash script template, formatted in markdown:
General Improvements

More Descriptive Comments: While there are comments, adding more detail about why certain choices are made can be helpful. For example, explaining why set -euo pipefail is important.
Parameter Handling: The parameter handling could be more robust. Consider using getopts for parsing options, which allows for named parameters (-n <value>) and flags, making the script more versatile and user-friendly.
Error Handling: While there's basic error handling, it could be more granular and informative. For instance, catching specific errors from commands and providing context.
Modularity: While the script is fairly modular, some functions could be further broken down for more clarity and easier testing. For example, the  setup_and_validation function does a lot, and could be split up even more.

Specific Improvements

Raycast Annotations:

If not using Raycast, these lines should either be removed or clearly marked as optional in the comments.

Variable Naming:

YOUR_INPUT_FILE is very generic. It should be more specific to the script's purpose (e.g. DATA_FILE or CONFIG_FILE).
your_param is also vague. Consider more descriptive variable names like PROCESSING_ITERATIONS or THRESHOLD_VALUE.
Using upper-case for constant variables is good practice, but maybe consider lower_case variables for intermediate results

check_dependencies() Function:

This function is a good start but could be enhanced to provide more details on how to install the missing dependencies. Perhaps add a message with apt-get or brew instructions if possible.
It would also be good to be able to provide the command to check as a parameter.
It only logs that the command is missing without providing a specific error return code which could be usefull for monitoring.

create_directories() Function:

Consider adding a check to see if the directory was created successfully via an if statement with the mkdir command using  $? after the command.
It may be useful to also create subfolders, and the script should not just assume one folder.

load_environment() Function:

Using a *.env file might be a better approach than *.sh, as it could be used by other applications.
Consider using dotenv or similar to handle environment files and improve security.

validate_input_file() Function:

The script should support several input files.
The YOUR_INPUT_FILE is hard-coded to be an env variable. Consider taking the filename as an input parameter to the validate_input_file function.
It could also validate the file content or filetype depending on the context.

Parameter Validation:

The regex check [[ $your_param =~ ^[0-9]+$ ]] is simplistic. It only checks for positive integers. Consider adding more comprehensive validation for different types of parameters.
The default behaviour if the parameter is not valid is also very simple: it uses the default value and logs it. This could be improved: prompt for correct value, or exit with an error.
It would be better if the param was passed down to the validation function, allowing for reusable code with multiple parameters.

process_data() Function:

It uses a local your_param=$1 which is not necessary, since it is already assigned.
The comment is rather broad: "Your main processing logic goes here". Consider making a more specific example, or even better, provide a mock function that does something with the parameter (eg. create a file with the name).
It doesn't handle the result of process command at all, no check for non-zero codes, nor any logging.

main() Function:

This function is more of a "wrapper" around the script logic, which is good, but it could also contain specific error handling using try-catch mechanism.

Log file:

The script doesn't manage the size and the retention of logs, or if the folder is writable.
Consider adding a specific rotation policy for logs, or maybe simply use date in the name.

Error handling:

The script relies heavily on set -e to stop on errors, consider using a trap for a more graceful shutdown.
All log_error messages exit the script. If some errors are not fatal, consider handling them differently.

Code Duplication:

The script uses timestamp multiple times, could be extracted in a single place.

Example of Improved Parameter Handling with getopts:
while getopts "p:v:" opt; do
    case "$opt" in
        p)  processing_param="$OPTARG" ;; # Value for processing
        v)  verbose_mode=true;; # Flag to enable verbose mode
        \?)
            echo "Invalid option: -$OPTARG" >&2
            echo "Usage: $0 [-p parameter] [-v]" >&2
            exit 1
            ;;
    esac
done
shift $((OPTIND -1)) #remove the parameters from the original arguments.

Revised Structure (Illustrative):
#!/usr/bin/env bash

set -euo pipefail
IFS=$'\n\t'

# Constants
readonly SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
readonly TIMESTAMP=$(date +"%Y_%m_%d_%Hh%Ms%S")
readonly RESULTS_DIR="results"
readonly LOG_FILE="${RESULTS_DIR}/log_${TIMESTAMP}.log"
readonly RESULTS_FILE="${RESULTS_DIR}/results_${TIMESTAMP}.md"
readonly DEFAULT_PARAM="10"

# Colors
readonly RED='\033[0;31m'
readonly GREEN='\033[0;32m'
readonly BLUE='\033[0;34m'
readonly YELLOW='\033[1;33m'
readonly CYAN='\033[0;36m'
readonly NC='\033[0m'

# Logging function
log() {
    local timestamp=$(date +"%Y-%m-%d %H:%M:%S")
    echo -e "${BLUE}[${timestamp}]${NC} $*" | tee -a "${LOG_FILE}"
}

log_error() {
    log "${RED}ERROR: $*${NC}" >&2
}

# Helper functions

check_command_exists() {
    local command=$1
    if ! command -v "$command" > /dev/null 2>&1; then
        log_error "Command '$command' not found"
        return 1
    fi
    return 0
}

create_directory() {
    local directory=$1
    if [[ ! -d "$directory" ]]; then
        log "Creating directory: $directory"
        mkdir -p "$directory"
        if [[ $? -ne 0 ]]; then
           log_error "Failed to create directory: $directory"
           return 1
        fi
    fi
     return 0
}

load_env_vars() {
  local env_file="${SCRIPT_DIR}/.env"
  if [[ ! -f "$env_file" ]]; then
    log_error "Environment file not found: $env_file"
    return 1
  fi
  while IFS= read -r line; do
        if [[ "$line" =~ ^[a-zA-Z_][a-zA-Z0-9_]*= ]]; then
            export "$line"
        fi
  done < "$env_file"
    log "Loaded environment variables from: ${CYAN}$env_file${NC}"
    return 0
}

validate_file() {
  local file=$1
    if [[ -z "$file" ]]; then
        log_error "Input file is not set"
        return 1
    fi
    if [[ ! -f "$file" ]]; then
        log_error "Input file does not exist: $file"
        return 1
    fi
    if [[ ! -r "$file" ]]; then
        log_error "Input file is not readable: $file"
        return 1
    fi
  return 0
}

process_data() {
    local param=$1
    log "Processing data with parameter: $param"
    touch "output_$param.txt" #Example
}

main() {
    log "Script started"
     # Parse command line args
    local processing_param
    local verbose_mode=false
    while getopts "p:v" opt; do
        case "$opt" in
            p)  processing_param="$OPTARG" ;;
            v)  verbose_mode=true;;
            \?)
                echo "Invalid option: -$OPTARG" >&2
                echo "Usage: $0 [-p parameter] [-v]" >&2
                exit 1
                ;;
        esac
    done
    shift $((OPTIND -1))

    # Set default parameter if not provided
    if [[ -z "$processing_param" ]]; then
        processing_param="$DEFAULT_PARAM"
        log "Using default processing parameter: $processing_param"
    fi

    # Validate the parameter is a number (example)
    if ! [[ "$processing_param" =~ ^[0-9]+$ ]] || ((processing_param < 1)); then
       log_error "Invalid processing parameter value. Must be a positive integer. Received: ${processing_param}"
       exit 1
    fi

    #Dependency check
    if ! check_command_exists "ls"; then
        exit 1
    fi

   # Create results directory
    if ! create_directory "$RESULTS_DIR"; then
       exit 1
   fi

    #Load env vars
     if ! load_env_vars; then
        exit 1
    fi

    #validate input file (example)
    if ! validate_file "${INPUT_FILE}"; then
       exit 1
    fi

    process_data "$processing_param"

    log "Script completed successfully"
}

if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then
    main "$@"
fi

Key Changes in the Example:

getopts for Parameter Handling: More robust option parsing.
Error Handling Refinement: Return codes are used in functions to indicate error situations.
More Modular Functions:  Specific tasks are divided among individual functions (check_command_exists,create_directory,load_env_vars,validate_file).
Example processing data: The process_data function is a working example of a processing function.
Environmental variables load using while: This implementation of the loading environment is more reliable than using source.
Input file name variable: The input file name can be defined in the .env file.

Further Steps

Testing:  Write tests for individual functions to ensure correctness.
CI/CD: Integrate the script into a CI/CD pipeline if it's going to be used in a production setting.
Further Enhancement: Add support for configuration files (JSON or YAML), or more complex logic for log handling and other areas based on the specific context of use.

By incorporating these improvements, the script would be more robust, maintainable, and user-friendly.

But I can use "openrouter/google/gemini-2.0-flash-thinking-exp:free" :)


Microstream integration - contributed

Resolves #3275
I have created a new PR, as I cannot update the original branch (and also this will trigger pipelines automatically)

Squashed my commits. Waiting for build to merge.


SwiftPM unconditionally rebuilds artefacts that should be cached for command plugins

Description
Some SwiftPM command plugin helper tools are desirable to build in release configuration as the processing they do is CPU-intensive - in my case, it's the BenchmarkTool of the Benchmark plugin which needs to do JSON parsing and the performance with optimisation turned on is just fine, but in debug mode it is not acceptable really.
Unfortunately, there seems to be a bug in SwiftPM that leads to a significant (full?) rebuild of everything if specifying the release configuration thusly:
swift package -c release benchmark list

For a normal run, we can see an initial long time (as the initial build of everything is done) and the command executes in 38 seconds:
hassila@ice ~/g/s/Benchmarks (main)> time swift package benchmark list
Building for debugging...
Build complete! (0.22s)
Building for debugging...
Build complete! (0.54s)
Build complete!
Building benchmark targets in release mode for benchmark run...
Building NIOPosixBenchmarks

Target 'NIOPosixBenchmarks' available benchmarks:
TCPEcho
TCPEchoAsyncChannel

________________________________________________________
Executed in   38.48 secs    fish           external
   usr time   76.25 secs  286.00 micros   76.25 secs
   sys time   21.90 secs  952.00 micros   21.90 secs

Then the second run runs fast in < 3 seconds.
hassila@ice ~/g/s/Benchmarks (main)> time swift package benchmark list
Building for debugging...
Build complete! (0.22s)
Building for debugging...
Build complete! (0.53s)
Build complete!
Building benchmark targets in release mode for benchmark run...
Building NIOPosixBenchmarks

Target 'NIOPosixBenchmarks' available benchmarks:
TCPEcho
TCPEchoAsyncChannel

________________________________________________________
Executed in    2.71 secs    fish           external
   usr time    1.96 secs  182.00 micros    1.96 secs
   sys time    0.54 secs  484.00 micros    0.54 secs

hassila@ice ~/g/s/Benchmarks (main)> history

Contrast this what happens if specifying the release configuration, first run is ~54 seconds:
hassila@ice ~/g/s/Benchmarks (main)> time swift package -c release benchmark list
Building for production...
remark: Incremental compilation has been disabled: it is not compatible with whole module optimization
remark: Incremental compilation has been disabled: it is not compatible with whole module optimization
remark: Incremental compilation has been disabled: it is not compatible with whole module optimization
remark: Incremental compilation has been disabled: it is not compatible with whole module optimization
[4/4] Compiling BenchmarkBoilerplateGenerator BenchmarkBoilerplateGenerator.swift
Build complete! (8.45s)
Building for production...
remark: Incremental compilation has been disabled: it is not compatible with whole module optimization
remark: Incremental compilation has been disabled: it is not compatible with whole module optimization
remark: Incremental compilation has been disabled: it is not compatible with whole module optimization
remark: Incremental compilation has been disabled: it is not compatible with whole module optimization
remark: Incremental compilation has been disabled: it is not compatible with whole module optimization
remark: Incremental compilation has been disabled: it is not compatible with whole module optimization
remark: Incremental compilation has been disabled: it is not compatible with whole module optimization
remark: Incremental compilation has been disabled: it is not compatible with whole module optimization
remark: Incremental compilation has been disabled: it is not compatible with whole module optimization
remark: Incremental compilation has been disabled: it is not compatible with whole module optimization
remark: Incremental compilation has been disabled: it is not compatible with whole module optimization
remark: Incremental compilation has been disabled: it is not compatible with whole module optimization
[12/12] Compiling Benchmark ARCStats.swift
Build complete! (24.70s)
Build complete!
Building benchmark targets in release mode for benchmark run...
Building NIOPosixBenchmarks

Target 'NIOPosixBenchmarks' available benchmarks:
TCPEcho
TCPEchoAsyncChannel

________________________________________________________
Executed in   53.84 secs    fish           external
   usr time   53.41 secs    0.18 millis   53.41 secs
   sys time    3.19 secs    1.03 millis    3.19 secs

But also the second run is ~54 seconds (!) - it performs a full rebuild here:
hassila@ice ~/g/s/Benchmarks (main)> time swift package -c release benchmark list
Building for production...
remark: Incremental compilation has been disabled: it is not compatible with whole module optimization
remark: Incremental compilation has been disabled: it is not compatible with whole module optimization
remark: Incremental compilation has been disabled: it is not compatible with whole module optimization
remark: Incremental compilation has been disabled: it is not compatible with whole module optimization
[4/4] Compiling BenchmarkBoilerplateGenerator BenchmarkBoilerplateGenerator.swift
Build complete! (8.44s)
Building for production...
remark: Incremental compilation has been disabled: it is not compatible with whole module optimization
remark: Incremental compilation has been disabled: it is not compatible with whole module optimization
remark: Incremental compilation has been disabled: it is not compatible with whole module optimization
remark: Incremental compilation has been disabled: it is not compatible with whole module optimization
remark: Incremental compilation has been disabled: it is not compatible with whole module optimization
remark: Incremental compilation has been disabled: it is not compatible with whole module optimization
remark: Incremental compilation has been disabled: it is not compatible with whole module optimization
remark: Incremental compilation has been disabled: it is not compatible with whole module optimization
remark: Incremental compilation has been disabled: it is not compatible with whole module optimization
remark: Incremental compilation has been disabled: it is not compatible with whole module optimization
remark: Incremental compilation has been disabled: it is not compatible with whole module optimization
remark: Incremental compilation has been disabled: it is not compatible with whole module optimization
[12/12] Compiling Benchmark ARCStats.swift
Build complete! (24.82s)
Build complete!
Building benchmark targets in release mode for benchmark run...
Building NIOPosixBenchmarks

Target 'NIOPosixBenchmarks' available benchmarks:
TCPEcho
TCPEchoAsyncChannel

________________________________________________________
Executed in   53.60 secs    fish           external
   usr time   53.22 secs    0.20 millis   53.22 secs
   sys time    3.15 secs    1.15 millis    3.15 secs

hassila@ice ~/g/s/Benchmarks (main)> time swift package benchmark list

Expected behavior
I would expect that the second run with release mode turned on would be without a full rebuild...
It would also be nice with some way to set the command plugin supporting tool to be built with optimization turned on as another way to solve this, but I can't get to work with swiftSettings for whatever reason.
Actual behavior
A full rebuild is done
Steps to reproduce
I'd suggest to reproduce this with SwiftNIO:

gh repo clone apple/swift-nio
cd swift-nio/Benchmarks/
time swift package -c release benchmark list

Swift Package Manager version/commit hash
Swift Package Manager - Swift 5.9.0
Swift & OS version (output of swift --version ; uname -a)
swift-driver version: 1.87.3 Apple Swift version 5.9.2 (swiftlang-<IP_ADDRESS>.56 clang-15<IP_ADDRESS>.5)
Target: arm64-apple-macosx14.0
Darwin ice.local 23.2.0 Darwin Kernel Version 23.2.0: Wed Nov 15 21:53:18 PST 2023; root:xnu-10002.61.3~2/RELEASE_ARM64_T6000 arm64

(on a general sidenote, I'd expect many users of plugins to want them to be run in release mode as users, if they do any non-trivial processing it's nice to get optimization turned on)

(on a general sidenote, I'd expect many users of plugins to want them to be run in release mode as users, if they do any non-trivial processing it's nice to get optimization turned on)

As I've posted here https://forums.swift.org/t/embedded-swift-running-on-the-raspberry-pi-pico/69001/5, to date there was no way to build just the plugins and macros in release and the rest of the project in debug. The whole build graph had a single BuildParameters value for everything. In recent commits we keep separate build parameters for build tools (macros and plugins) and for destination products. Right now those are still initialized from the same values, but at least this separation is possible and much easier to implement.
This is not directly relevant to the nature of the bug though. IIUC when building everything in release, full rebuilds should be avoid regardless of the build parameters separation I described.

Thanks @MaxDesiatov, agree it's not related to this bug per se, but it gives a glimpse of a brighter future when we can run our plugins/macros in release while the rest is in debug (preferably by default as release config really, I'd think users would want to opt-out rather than opt-in for that specific use-case).

I'm personally also an opinion that should be the default, but we may start with an opt-in approach, with something like an --experimental-tools-release-configuration flag to test how it works, when it's ready for testing in the first place.

The build configuration has no bearing how we build plugins themselves btw, they are always built in debug mode.

For me the plugin can be debug, it's just the supporting tool that needs release. Appreciate the conundrum with swift syntax - but seems that might need addressing in some different way too as even in debug that extra build time is painful.

(anyway, if this issue is fixed, we could at least opt in to do everything in release mode - the benchmark command plugin also triggers build with the swiftpm api - in release mode - if that has any bearing)

the benchmark command plugin also triggers build with the swiftpm api - in release mode - if that has any bearing

I think this might be a good hint, it could be that the build triggered this way is subtly different from the "real" one, leading to changing commandlines between the builds.

This is where we build the subset of targets we need in release mode (the benchmark executable targets only):
https://github.com/ordo-one/package-benchmark/blob/2d3544e9bab6b0d6d8ac7bf5087b39048ad7878a/Plugins/BenchmarkCommandPlugin/BenchmarkCommandPlugin.swift#L290

Could it be that
                let buildResult = try packageManager.build(
                    .product(target.name),
                    parameters: .init(configuration: .release)
                )

Unconditionally perform an actual build and/or compiler invocations under some circumstances?
I'm trying to work around this by manually building the dependent tool in addition to the benchmark targets (which seems to work ok, modulo the unnecessary double build of it in debug mode that is never used), but I see now that swift-frontend and swiftc are invoked and that a small subset of file in the build directory was updated, specifically the following (for my benchmark targets):
    8 -rw-r--r--   1 hassila  staff     1456 Dec 21 10:28 P90AbsoluteThresholdsBenchmark.swiftsourceinfo
    8 -rw-r--r--   1 hassila  staff      147 Dec 21 10:28 P90AbsoluteThresholdsBenchmark.abi.json
    8 -rw-r--r--   1 hassila  staff     1376 Dec 21 10:28 HistogramBenchmark.swiftsourceinfo
    8 -rw-r--r--   1 hassila  staff      147 Dec 21 10:28 HistogramBenchmark.abi.json
    8 -rw-r--r--   1 hassila  staff     1368 Dec 21 10:28 BenchmarkDateTime.swiftsourceinfo
    8 -rw-r--r--   1 hassila  staff      147 Dec 21 10:28 BenchmarkDateTime.abi.json
  840 -rw-r--r--   1 hassila  staff   365702 Dec 21 10:28 description.json
    8 -rw-r--r--   1 hassila  staff     1932 Dec 21 10:28 Basic.swiftsourceinfo
    8 -rw-r--r--   1 hassila  staff      147 Dec 21 10:28 Basic.abi.json

These are  unconditionally updated for me in that case, but also e.g.:
> ls -lsrt .build/release/BenchmarkTool.product/
total 48
48 -rw-r--r--  1 hassila  staff  21934 Dec 21 10:31 Objects.LinkFileList
> ls -lsrt .build/release/P90AbsoluteThresholdsBenchmark.product/
total 40
40 -rw-r--r--  1 hassila  staff  18909 Dec 21 10:31 Objects.LinkFileList
...

(perhaps these are two different issues, hard for me to tell)

Are there anything else I could do to help troubleshoot this, just let me know - it quite significantly impacts run times for larger benchmark suites so we'd be happy to help try to fix this if possible.

I would just like to add, I too have experienced full package rebuilds related to SwiftPM package plugins, in my experience; using it with @stackotter's SwiftBundler with an invocation such as this one, which I (no longer, after narrowing it down to this issue) use:
swift package --disable-sandbox plugin bundler run -p macOS Kraken

Subsequent builds using that command has caused me to lose countless hours of development time, waiting approximately 25+ minutes between adding a line of code to my project while SwiftPM tragically kept rebuilding all dependencies (in my case; all of Pixar's USD and the many ASWF libraries in which USD depends on 😅).

I'm writing some benchmarks with package-benchmark, and the benchmarks target needs to depend on a big monolithic target.
The problem is, when I do benchmark run, and then benchmark check, it builds that monolithic target twice, each time taking 11 minutes on an EC2 c7g 64cpu 128ram bare-metal arm64 machine (with dedicated vcpu, not shared vcpu).
While I see this as mostly a Swift/SwiftPM problem that builds take soooo long in the first place, another problem is that in this specific case there is absolutely no need to rebuild the whole thing anyway.

Yeah, it is a significant problem for us - I have received a few independent reports about this - I hope someone on the SwiftPM team might be able to help out - it's a bit of a pain point.

Repeating what I said here:
It's been a few weeks I've added -c release to all swift package calls and there hasn't been any double-builds 🤔.
I noticed the benchmarking package builds some stuff in release mode anyway to be able to reliably benchmark performance, so I thought maybe having both debug and release builds together goes too hard on SwiftPM.


Transactions with Camel K

Hi @nicolaferraro
We are looking to extend our use of camel-k to include transaction support. I've spent a number of days reading about JTA and technologies such as narayana, and atomikos. I am trying to choose one for fast integration into our prototype architecture.
My goal is to run the transaction manager on kubernetes alongside the camel-k based camel services.
Do you have a recommendation as to a starting point? I'd really like to select and install a transaction manager this week. I dont see a lot of online documentation for running these transaction managers on k8s. Yet I have seen your name on a couple of github projects that seem to relate to this interest. I also know that its of interest to the camel-k and camel team to support the service elements that rely on safe transactions.
Any thoughts would be appreciated.
Originally posted by @davesargrad in https://github.com/apache/camel-k/issues/1059#issuecomment-563243808

Hi @davesargrad, I've seen your commment on https://github.com/jboss-fuse/spring-boot-camel-xa. Using transactions on Camel K is allowed and hassle-free until they remain local transactions (just use them).
When you need to coordinate multiple transactional resources, such as a JMS system and a database, then it becomes more complex. If you can manage the complexity using an idempotent consumer (it can even be transactional) and JMS retries, you're still safe.
When you need something complex like receive a message, write to db and write an outgoing message in the same transaction, then you need XA. Implementing XA is difficult as your integration needs to be stateful, to run on something like a statefulset and to have a transaction log on a local persistent volume. Scaling out (up and down) integrations is also very complex to achieve.
If you're interested in adding XA support on Camel K, I think the most basic building block is allowing integrations to run on statefulsets with per-pod PV. With that building block, technically an integration can be configured to write the transaction log on the PV. Adding scaling capabilities can come later..

@nicolaferraro
Hi. I will ponder your words. I think I understand your thoughts. Best regards.


Remove rows with sql_deleted = 1

Hi
perodically I would like to purge my Db, how can I Remove rows with sql_deleted = 1?
I have found deleteExportedRows(...) Remove rows with sql_deleted = 1 after an export, BUT I don't make export.
Can I use deleteExportedRows even if I have no export in my App?
Thanks a lot
Monica

@MonicaExplan any news ? Or i will close the issue

@jepiqueau Hi
to tell the truth I was waiting for an answer because in the documentaizone I do not find the answer I need
Thank you

@MonicaExplan you do not need to use sql_deleted and last_modified columns in your ta les if you do not synchronize your database with a remote server database. In that case the records will be deleted for any DELETE commands.npw you can use deleteExportRows to remove all the rows having a sql_deleted equal to 1

Thanks
Monica


Inconsistent token splitting/non-detection issue with "COVID-19"

As I was experimenting with the repository, I stumbled upon some interesting behaviour which I thought might be useful to document.
I was running the model as described in the README (with a minor fix in https://github.com/ML4LitS/annotation_models/pull/4) and tested it on a few real abstracts. Almost all seem to work great, but here are three examples where things go awry. It looks like in some cases the "COVID-19" token is getting split into two, with the first part sometimes being ommitted (example 1).
Unfortunately I couldn't find an easy fix (I experimented a bit with tokeniser init parameters, but to no avail), so for now this is just a report without a proposed solution. It may also be a known problem already — in this case my apologies!
Example 1
Source: https://www.scielo.br/j/ibju/a/ymkTGVgBVd3ZhQLdVgMVQsQ/?format=html
Text:

The SARS-CoV-2, a newly identified β-coronavirus, is the causative agent of the third large-scale pandemic from the last two decades. The outbreak started in December 2019 in Wuhan City, Hubei province in China. The patients presented clinical symptoms of dry cough, fever, dyspnea, and bilateral lung infiltrates on imaging. By February 2020, The World Health Organization (WHO) named the disease as Coronavirus Disease 2019 (COVID-19). The Coronavirus Study Group (CSG) of the International Committee on Taxonomy of Viruses (ICTV) recognized and designated this virus as severe acute respiratory syndrome coronavirus 2 (SARS-CoV-2). The SARS-CoV-2 uses the same host receptor, angiotensin-converting enzyme 2 (ACE2), used by SARS-CoV to infect humans. One hypothesis of SARSCoV-2 origin indicates that it is likely that bats serve as reservoir hosts for SARSCoV-2, being the intermediate host not yet determined. The predominant route of transmission of SARS-CoV-2 is from human to human. As of May 10th 2020, the number of worldwide confirmed COVID-19 cases is over 4 million, while the number of global deaths is around 279.000 people. The United States of America (USA) has the highest number of COVID-19 cases with over 1.3 million cases followed by Spain, Italy, United Kingdom, Russia, France and Germany with over 223.000, 218.000, 215.000, 209.000, 176.000, and 171.000 cases, respectively.

Output (emphasis >>> mine):
[4, 14, 'SARS-CoV-2', 'OG', 0.97980404]
[35, 48, 'β-coronavirus', 'OG', 0.9183075]
[401, 425, 'Coronavirus Disease 2019', 'DS', 0.8462568]
>>> [432, 435, '-19', 'DS', 0.8777046]
[442, 453, 'Coronavirus', 'OG', 0.9838477]
[518, 525, 'Viruses', 'OG', 0.79415864]
[564, 569, 'virus', 'OG', 0.99294454]
[573, 620, 'severe acute respiratory syndrome coronavirus 2', 'OG', 0.93976814]
[622, 632, 'SARS-CoV-2', 'OG', 0.9186972]
[639, 649, 'SARS-CoV-2', 'OG', 0.976299]
[679, 710, 'angiotensin-converting enzyme 2', 'GP', 0.98774415]
[712, 716, 'ACE2', 'GP', 0.99562484]
[727, 735, 'SARS-CoV', 'OG', 0.95477873]
[746, 752, 'humans', 'OG', 0.9985006]
[772, 781, 'SARSCoV-2', 'OG', 0.96963006]
[822, 826, 'bats', 'OG', 0.9986842]
[856, 865, 'SARSCoV-2', 'OG', 0.9669266]
[956, 966, 'SARS-CoV-2', 'OG', 0.9631585]
[975, 980, 'human', 'OG', 0.99873465]
[984, 989, 'human', 'OG', 0.99881846]
[1046, 1054, 'COVID-19', 'DS', 0.9811101]
[1201, 1209, 'COVID-19', 'DS', 0.98579264]

Example 2
Source: https://jamanetwork.com/journals/jamanetworkopen/article-abstract/2774707
Text:

Severe acute respiratory syndrome coronavirus 2 (SARS-CoV-2), the etiology of coronavirus disease 2019 (COVID-19), is readily transmitted person to person. Optimal control of COVID-19 depends on directing resources and health messaging to mitigation efforts that are most likely to prevent transmission, but the relative importance of such measures has been disputed.

Output:
[0, 47, 'Severe acute respiratory syndrome coronavirus 2', 'OG', 0.94914675]
[49, 59, 'SARS-CoV-2', 'OG', 0.9634031]
[78, 102, 'coronavirus disease 2019', 'DS', 0.88417387]
>>> [104, 109, 'COVID', 'OG', 0.49266842]
>>> [109, 112, '-19', 'DS', 0.96979624]
[175, 183, 'COVID-19', 'DS', 0.94552827]

Example 3
Source: https://www.sciencedirect.com/science/article/pii/S0163445320307179
Text:

A significant number of reported COVID-19 cases can be traced back to superspreader events (SSEs), where a disproportionally large number of secondary cases relative to the standard reproductive rate, R0, are initiated. Although a superspreader is an individual who undergoes more viral shedding and transmission than others, it appears likely that environmental factors have a substantial role in SSEs. We categorise SSEs into two distinct groups: ‘societal’ and ‘isolated’ SSEs.

Output:
>>> [33, 38, 'COVID', 'OG', 0.70883656]
>>> [38, 41, '-19', 'DS', 0.72856104]

hi @tskir
Thank you for documenting this issue. The reasons for this problem are twofold:

COVID-19 was not in the training set
Non overlapping span in the training set

We are aware of this issue and made a work for the Spans for our open targets submission at https://github.com/ML4LitS/otar-maintenance/blob/main/OTAR_new_pipeline_fulltext_bioformer_cluster_all.py
for all_ent in pred:
            my_sentence = batch_sentences[count]
            if all_ent:
                x_list_=[]
                for ent in all_ent:
                    if my_sentence[ent['start']:ent['end']] in ['19', 'COVID', 'COVID-19']:
                        ent['entity_group'] = 'DS'
                    x_list_.append([ent['start'], ent['end'], ent['entity_group'], my_sentence[ent['start']:ent['end']]])

Fixed in the newer version:
I have added new data with COVID-19 annotations and retrained the model recently. Hopefully, this should be sorted.


Metric on Graph Settings hidden.

Hi there:
I'm testing the last CheckMK version (1.6.0p10) and 7.2.0 Grafana version. I installed within grafana the plugin and the connection was correct, so, adding a new dashboard, new panel, into the query, I can add everything that I need but Metric, under Service.
Clicking in this field doesn't appear the Metric, and if I config it manually, it doesn't work too. I can't take any value of the hosts.
What can be the mistake?
Thanks in advance! :)

Hello, same for me here.
CheckMK 1.6.0p18 and Grafana 7.2.2.
Any help appreciated.
Thank you.

May be it is

The Grafana datsource requires the Checkmk Enterprise Edition or Checkmk Managed Services Edition.

@Titan-C  We need to do some test, Could you please help it?

The current release no longer supports Checkmk 1.6.0, so i'm closing this issue.
Sorry that we could not resolve your problems when you created this ticket.
If you have any troubles using the current stable release of this plugin together with Checkmk 2.1.0 open another issue.


Pbiseq

Add scripts for converting PBI sequence from text format to art format.  Used as precursor to the PBISequence NoPrimary mixing.

Hi @brownd1978,
You have proposed changes to files in these packages:

JobConfig
Tests

which require these tests: build.
@Mu2e/fnalbuild-users, @Mu2e/write have access to CI actions on main.
:hourglass: The following tests have been triggered for 0a428aaf3b255dde92115daf99a8de19c1ad8455: build  (Build queue has 1 jobs)
About FNALbuild. Code review on Mu2e/Offline.

:sunny: The tests passed at 0a428aaf3b255dde92115daf99a8de19c1ad8455.

Test
Result
Details

merge
:white_check_mark:
Merged 0a428aaf3b255dde92115daf99a8de19c1ad8455 at de0b2cfe9f43f7da8716b2de8db43e3a4f4220a0

build (prof)
:white_check_mark:
Log file. Build time: 14 min 15 sec

ceSimReco
:white_check_mark:
Log file.

g4test_03MT
:white_check_mark:
Log file.

transportOnly
:white_check_mark:
Log file.

POT
:white_check_mark:
Log file.

g4study
:white_check_mark:
Log file.

cosmicSimReco
:white_check_mark:
Log file.

cosmicOffSpill
:white_check_mark:
Log file.

ceSteps
:white_check_mark:
Log file.

ceDigi
:white_check_mark:
Log file.

muDauSteps
:white_check_mark:
Log file.

ceMix
:white_check_mark:
Log file.

rootOverlaps
:white_check_mark:
Log file.

g4surfaceCheck
:white_check_mark:
Log file.

FIXME, TODO
:white_check_mark:
TODO (0) FIXME (0) in 0 files

clang-tidy
:white_check_mark:
0 errors 0 warnings

N.B. These results were obtained from a build of this Pull Request at 0a428aaf3b255dde92115daf99a8de19c1ad8455 after being merged into the base branch at de0b2cfe9f43f7da8716b2de8db43e3a4f4220a0.
For more information, please check the job page here.
Build artifacts are deleted after 5 days. If this is not desired, select Keep this build forever on the job page.


feat: Add script functionality to transformer

This PR adds script support to the transformer tool. This allows creators to create and add scripts to the sandbox-scripts directory. These can be added to the metadata of the source course like so:
title: Quick start for Tempo
menuTitle: Quick start for Tempo
description: Use Docker to quickly view traces using K-6 and Tempo
weight: 600
killercoda:
  title: Quick start for Tempo
  description: Use Docker to quickly view traces using K-6 and Tempo
  details:
      intro:
         foreground: docker-compose-update.sh
  backend:
    imageid: ubuntu

When the transformer runs it goes through the following steps:

Check the metadata for included scripts. To be valid they must be nested under details and we currently only support foreground and background scripts for intro and finish. I have not included step scripts as this can get a little messy.
It will then look for the scripts within the sandbox-scripts directory. If they do exist the transformer will fail.
If they do exist they are cloned to the tutorial directory. Note we need to do this due to the fact Killercoda currently does not support pathing to scripts out with the tutorial directory.
Clean up any other shell scripts in the tutorial directory which are not specified within the metadata. This makes sure old scripts are not being left causing unneeded space and complexity to the tutorial.

@jdbaldry Thats the functions removed. Ready for your next review!


demo.py error

--config-file projects/SpareInst/configs/sparse_inst_r50vd_dcn_giam_aug.yaml --input datasets/coco/coco_val/val_persimmon/* --output results --opt MODEL.WEIGHTS output/sparse_inst_r50vd_dcn_giam_aug/model_final.pth INPUT.MIN_SIZE_TEST 640
[12/26 19:35:51 detectron2]: datasets/coco/coco_val/val_persimmon/DSC01083.jpg: detected 1 instances in 0.35s
1%|▌                                                                                | 1/165 [00:00<01:05,  2.49it/s][12/26 19:35:52 detectron2]: datasets/coco/coco_val/val_persimmon/DSC01084.jpg: detected 1 instances in 0.79s
1%|█▏                                                                                | 2/165 [00:01<01:49,  1.49it/s][12/26 19:35:52 detectron2]: datasets/coco/coco_val/val_persimmon/DSC01085.jpg: detected 0 instances in 0.17s
2%|█▊                                                                                | 3/165 [00:01<01:14,  2.19it/s][12/26 19:35:52 detectron2]: datasets/coco/coco_val/val_persimmon/DSC01086.jpg: detected 0 instances in 0.19s
2%|██▍                                                                                | 4/165 [00:01<00:58,  2.76it/s][12/26 19:35:53 detectron2]: datasets/coco/coco_val/val_persimmon/DSC01087.jpg: detected 0 instances in 0.12s
3%|███                                                                                | 5/165 [00:01<00:46,  3.44it/s][12/26 19:35:53 detectron2]: datasets/coco/coco_val/val_persimmon/DSC01088.jpg: detected 1 instances in 0.17s
4%|███▌                                                                                | 6/165 [00:02<00:41,  3.83it/s][12/26 19:35:53 detectron2]: datasets/coco/coco_val/val_persimmon/DSC01089.jpg: detected 0 instances in 0.16s
4%|████▏                                                                                | 7/165 [00:02<00:38,  4.10it/s][12/26 19:35:53 detectron2]: datasets/coco/coco_val/val_persimmon/DSC01090.jpg: detected 3 instances in 0.17s
5%|████▊                                                                                | 8/165 [00:02<00:36,  4.30it/s][12/26 19:35:54 detectron2]: datasets/coco/coco_val/val_persimmon/DSC01091.jpg: detected 0 instances in 0.27s
5%|█████▍                                                                                | 9/165 [00:02<00:39,  3.93it/s][12/26 19:35:54 detectron2]: datasets/coco/coco_val/val_persimmon/DSC01092.jpg: detected 0 instances in 0.15s
6%|█████▉                                                                                | 10/165 [00:02<00:37,  4.12it/s][12/26 19:35:54 detectron2]: datasets/coco/coco_val/val_persimmon/DSC01093.jpg: detected 0 instances in 0.14s
7%|██████▌                                                                                | 11/165 [00:03<00:34,  4.46it/s][12/26 19:35:54 detectron2]: datasets/coco/coco_val/val_persimmon/DSC01094.jpg: detected 2 instances in 0.31s
7%|███████▏                                                                                | 12/165 [00:03<00:40,  3.80it/s][12/26 19:35:54 detectron2]: datasets/coco/coco_val/val_persimmon/DSC01095.jpg: detected 1 instances in 0.14s
8%|███████▋                                                                                | 13/165 [00:03<00:35,  4.28it/s][12/26 19:35:55 detectron2]: datasets/coco/coco_val/val_persimmon/DSC01096.jpg: detected 1 instances in 0.18s
8%|████████▎                                                                                | 14/165 [00:03<00:34,  4.42it/s][12/26 19:35:55 detectron2]: datasets/coco/coco_val/val_persimmon/DSC01097.jpg: detected 1 instances in 0.16s
9%|████████▉                                                                                | 15/165 [00:04<00:32,  4.61it/s][12/26 19:35:55 detectron2]: datasets/coco/coco_val/val_persimmon/DSC01098.jpg: detected 0 instances in 0.17s
10%|█████████▌
hello, i don't know why

Hi @Xuying2000, could you provide more details about your problem?


NIFI-1937 GetHTTP configurable redirect cookie policy

NIFI-1937 allows GetHTTP to configure a cookie policy in Apache HTTPClient to use for redirects.

I'll review this one.


Can someone upload 2022.1?

Thanks

I tried to upload it and got the same error message as you:
[main 8e42743] added 2022.1.chm
 1 file changed, 3 insertions(+)
 create mode<PHONE_NUMBER>.1.chm
batch response: This repository is over its data quota. Account responsible for LFS bandwidth should purchase more data packs to restore access.
Uploading LFS objects:   0% (0/1), 0 B | 0 B/s, done
error: failed to push some refs to 'git@github.com:Autodesk-Forge/revit-api-chms.git'

I'm trying to find out who can help fix this our end.

Added an additional data package and uploaded 2022.1.chm:
https://github.com/ADN-DevTech/revit-api-chms/releases/tag/2022.1.0


Customize gestures for mouse or trackpad

Hello everyone/anyone,
Let me start with the fact that I looove PowerToys. I hate it when I am trying to move my cursor to the right side of my screen and the virtual desktop selection screen pops up instead. Being able to customize the mouse gestures would be amazing, or the ability to toggle which gestures work would be equally as awesome. Thanks in advance.

@bramblettd
can you explain in more details what exactly it's happening?
How do you move the cursor to the right side so that the virtual desktop selection pops up?
What gestures would you like to customize?

@enricogior It seems to happen randomly when I put one finger on my trackpad and slide it toward the bottom right corner triggers the show windows gesture. Not every time but very frequently. I would like to be able to turn off that gesture if possible.

Betting this is in the trackpad setting, depends how you have it setup.  Have you looked there?  Different laptop makers have different configs as well

#4999 would be the tracking item anyways.


support  the couchbase search driver ?

there is a driver here that conforms to the golang SQL interface
https://github.com/couchbase/go_n1ql
works very well.

yes, i have seen that before, ill add it to (newly created)  https://github.com/dataux/dataux/projects/1 roadmap for sources, thx for input.


Revisit need for node/electron-browser in workbench/contrib/welcome

Refs https://github.com/Microsoft/vscode/issues/68302
I am not sure why src/vs/workbench/contrib/welcome has to have most of its files in electron-browser land. Please consider lifting this to browser if possible.
If there is something blocking this task, speak up and we need to think about introducing new services as needed.

Moved everything to browser or common, but the 'getting started' code which depends on the experiment service in node.

@bpasero The remaining code in 'gettingStarted' is:

The automatic opening of our web page on first launch.
The telemetry opt-out. (Depends on experiment service.)

Should we leave these as-is for now?

Yeah I think so 👍

Closing, thanks.


[BUG] Add Person Form- Date Picker Error Message Persist despite resolution

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior
Once an error has rendered for the date picker, despite the error being resolved the error message does not disappear.
Steps To Reproduce

Environment dev.simplereport.gov
When logged in > Add Person > Don't select a date > Try to Submit > (Error message Renders) > Select Validate Date
Error message will persist

Expected Behavior
Once the date has met valid criteria (exists, is in range, etc) the error message should no longer be rendered.
Additional context

Does this issue have a priority label?

[X] I have added a priority label

Has issue been assigned to a team?

[X] I have added a team label

I believe this incidentally will be resolved in PR #2213


Added verhulst_mandelbrot demo notebook for bokeh and matplotlib

Adds one of my favorite visualizations from an old notebook I had:
Bokeh:

Matplotlib:

There is enough material that I could write a topic notebook to expand on this later on. My main worry with this example is that Bokeh seems to struggle with all the green points a lot more than matplotlib does (which admittedly never needs any re-rendering).

Not a huge issue and happy to merge without it, but is there maybe a nicer color combination? Not a huge fan of the current combination of the red, green and blue.

I'm open to whatever suggestions you have. What do you think would work better?

Matplotlib handles gen=200 with little issue while Bokeh chokes and dies on all those points (had to set gen=110).
Now enabled logz=True which is prettier.

To make this work with matplotlib I had to add 1 to the iteration so the lowest value is one, not zero. This is a hack...

@jbednar Bokeh may struggle but not if you use datashader!
25 million points:

Seems like a great synthetic example to me...

Without the mapping function and with x_sampling set:

Nice. So is datashader re-rendering on a zoom, or merely resampling?

The issue with logz has now been resolved in matplotlib and I've removed the hack that avoided zero values. Ready to merge.

Looks good, merging.


problem adding custom kernels (compatibility with python 3.8?)

Dear parcels crew
Just in case you're not aware... after updating parcels my script failed when I was adding my custom kernels:
kernels = AdvectionRK4_3D + sampT + sampS +deleteout
pset.execute(kernels, ...)

where sampT, sampS and deleteout are f(particle, fieldset, time)
the error message was:
Traceback (most recent call last):
  File "run_MOCBOX_forward.py", line 171, in <module>
    kernels = AdvectionRK4_3D+sampT+sampS+deleteout
  File "/home/valles/miniconda3/envs/py3_parcels2/lib/python3.8/site-packages/parcels/kernel.py", line 383, in __add__
    return self.merge(kernel)
  File "/home/valles/miniconda3/envs/py3_parcels2/lib/python3.8/site-packages/parcels/kernel.py", line 376, in merge
    return Kernel(self.fieldset, self.ptype, pyfunc=None,
  File "/home/valles/miniconda3/envs/py3_parcels2/lib/python3.8/site-packages/parcels/kernel.py", line 115, in __init__
    exec(compile(py_mod, "<ast>", "exec"), user_ctx)
TypeError: required field "type_ignores" missing from Module

I found this: https://bugs.python.org/issue35894
... so at the moment the problem disappears when I downgrade the python version into 3.7, specifying it when I create the conda environment:
conda create -n py3_parcels -c conda-forge python=3.7 parcels

Thanks for letting us know @ignasivalles! I hadn't encountered this issue myself yet, but good to be aware!
The python.org link suggests this is an issue with iphyton? Does this disappear if you don't run in jupyter/ipython but instead directly from  the command line?

I run directly the program from the command line $ python parcels_program.py  and the problem It's still there. I don't know what may be, some kind of change regarding to AST module?. Are you running with python 3.8?

This seems to have fixed for now by specifically forcing python-3.6 on http://oceanparcels.org/#installing


Serialize ProgramAst into files to allow compiling Note Scripts

We need to compile note scripts and save them into miden-lib/assets directory, see https://github.com/0xPolygonMiden/miden-base/issues/259
One issue here is that we don't have a way to serialize ProgramAst into files. This should be fairly easy to do, and the extension we can use is something like .masb (Miden Assembly binary). This is something we'll need to implement in Miden VM.

One way to do this is to add write_to_file() method on ProgramAst. This method would be available only in std context. The signature could look like this:
pub fn write_to_file<P>(&self, file_path: P) -> io::Result<()>
where
    P: AsRef<Path>,

Internally, this could use ProgramAst::to_bytes() function for serialization.

Closed by #1102.


fix: fixes const when merging properties when mergeTo $id/title is anonymous

Description
We're using CloudEvents and found an issue when trying to use allOf with the CloudEvent schema. When extending/allOf the CloudEvents schema, and we try to set the type property to a const with title, it uses the anonymous id of the CloudEvent schema and not our own schema.

fixes const when merging properties when mergeTo $id/title is anonymous

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

2 of 2 (100.0%)  changed or added relevant lines in 1 file are covered.
97 unchanged lines in 7 files lost coverage.
Overall coverage decreased (-2.4%) to 90.003%

Files with Coverage Reduction
New Missed Lines
%

src/helpers/CommonModelToMetaModel.ts
1
90.58%

src/generators/typescript/renderers/TypeRenderer.ts
3
40.0%

src/generators/typescript/renderers/EnumRenderer.ts
4
67.86%

src/generators/typescript/renderers/InterfaceRenderer.ts
5
37.5%

src/generators/typescript/TypeScriptDependencyManager.ts
5
40.91%

src/generators/typescript/TypeScriptGenerator.ts
25
64.1%

src/models/CommonModel.ts
54
66.49%

Totals

Change from base Build<PHONE_NUMBER>:
-2.4%

Covered Lines:
4630

Relevant Lines:
4986

💛  - Coveralls

@jonaslagoni , please review. If you know a better way to solve this, I'm totally open to it.

I already have a test for the CommonModel. Let me know if it needs more.

Makes sense. Let's go with 2.0.0-next.1

Makes sense. Let's go with 2.0.0-next.1

Gonna prepare the next branch in another PR, or recreating the branch, not sure yet.

Blocked by https://github.com/asyncapi/modelina/pull/1102

Changes look good 👍


Should not send requests like setBreakpoints/threads for "start without debugging"

VSCode Version:

1.25.1
Commit: 1dfc5e557209371715f655691b1235b6b26a06be
Date: 2018-07-11T15:43:53.668Z
Electron: 1.7.12
Chrome: 58.0.3029.110
Node.js: 7.9.0
V8: 5.8.283.38
Architecture: x64

OS Version: Microsoft Windows [Version 10.0.17134.167]

Description
Currently by pressing Ctrl+F5 to "start without debugging", the only difference I can see is setting noDebug: "true" in the launch request. Other requests like setBreakpoints, threads, etc are being sent to the debugger continuously, so the debugger has to handle these request (even though they are not meaningful in noDebug mode).
Can VSCode just stop sending these commands? I mean for example after sending launch request, it should NOT send any other requests (breakpoints/threads related ones) except for terminate if necessary.
E.g. I launched a Java program without debugging, then I noticed VSCode was sending following requests:

initialize

{
    "command": "initialize",
    "arguments": {
        "clientID": "vscode",
        "clientName": "Visual Studio Code",
        "adapterID": "java",
        "pathFormat": "path",
        "linesStartAt1": true,
        "columnsStartAt1": true,
        "supportsVariableType": true,
        "supportsVariablePaging": true,
        "supportsRunInTerminalRequest": true,
        "locale": "en-us"
    },
    "type": "request",
    "seq": 1
}

launch

{
    "command": "launch",
    "arguments": {
        "type": "java",
        "name": "xxxxxxxxxxx",
        "request": "launch",
        "cwd": "xxxxxxxxxxxxxxxx",
        "console": "internalConsole",
        "stopOnEntry": false,
        "mainClass": "xxxxxxxxxxxxx",
        "args": "",
        ......
        "noDebug": true,      //<----------------
    },
    "type": "request",
    "seq": 2
}

setBreakpoints

{
    "command": "setBreakpoints",
    "arguments": {
        "source": {
            "name": "xxxxxx",
            "path": "xxxxxx"
        },
        "lines": [
            8
        ],
        "breakpoints": [
            {
                "line": 8
            }
        ],
        "sourceModified": false
    },
    "type": "request",
    "seq": 3
}

setExceptionBreakpoints

{
    "command": "setExceptionBreakpoints",
    "arguments": {
        "filters": []
    },
    "type": "request",
    "seq": 4
}

configurationDone

{
    "command": "configurationDone",
    "type": "request",
    "seq": 5
}

threads

{
    "command": "threads",
    "type": "request",
    "seq": 6
}

......

It is a bit ugly to put a bunch of ifs in the rawDebugSession that check if the rawDebugSession is noDebug that no request get sent out.
But if that is what we want to do then I guess that is just life @weinand
Here are all the requests and it seems like most of them would not send out antyhing if the noDebug flag is true
https://github.com/Microsoft/vscode/blob/a295e8b615fe680718654ead1e09ead3763443a4/src/vs/workbench/parts/debug/common/debug.ts#L111

The "ifs" would not be a problem.
The problem is that VS Code does not know whether a debug adapter honours the noDebug flag at all or not.
The debug spec says "If noDebug is true the launch request should launch the program without enabling debugging" but there is no way to communicate back to VS Code whether a DA supports this.

there is no way to communicate back to VS Code whether a DA supports this.

If necessary, is it possible to add a capability e.g. Capabilities.supportsNoDebugMode for this?

If a DA does not implement noDebug, then VS Code should act "normal" (i.e. support debugging).

For me as a user, what I see is: I explicitly click "start without debugging", but it turns out to run in debugging mode in the end. It's not "normal".
Back to the topic, the noDebug flag is indeed a good design, simple and effective. But requests like "setBreakpoints" are just strange in such a noDebug mode. And I think if VS Code stops sending these requests in noDebug mode, it brings benefits without any harm. (Please correct me if anything wrong.)

For DAs already supporting noDebug, these requests are useless, and I believe they also have to send back empty successful responses to make VS Code happy.
For DAs not supporting noDebug, currently "start without debugging" just behaves the same as "start debugging", to some extent it never works.

@Eskibear that "run without debugging" is not available for all debuggers might be unexpected, but it is clearly documented:
https://code.visualstudio.com/docs/editor/debugging#_run-mode
Yes, I agree a Capabilities.supportsNoDebugMode would be a good approach, but since we had the noDebug property (with the loose semantics) before we started with the Capabilities, it is now difficult to introduce an additional capability that late because we will have three states with three semantics: "missing supportsNoDebugMode capability", "supportsNoDebugMode: false", "supportsNoDebugMode: true". Problematic is that "missing supportsNoDebugMode capability" is not the same as "supportsNoDebugMode: false".
BTW, you should be able to avoid that VS Code calls setBreakpoints in noDebug mode.
just don't send an initialized event from the DA in noDebug mode.

I don't agree with this.
If the DA supports noDebug, it only needs to ignore the request it does not need, which is not difficult.
DA can choose the features supported by Run mode. Instead of vscode to choose. For example, I will support setExceptionBreakpoints in Run mode, but will not support setBreakpoints. So when the debug target raises an exception, DA will still trigger StoppedEvent` and subsequent processing of vscode.
In any case, this change will only reduce what DA can do without getting anything new.


Remove failed node from pgpool

Didn't test. Most probably doesn't work.
Prevents split brain in case of automatic failover https://github.com/2ndQuadrant/repmgr/blob/master/docs/repmgrd-node-fencing.md

https://github.com/paunin/postgres-docker-cluster/issues/21


Create unit tests for uncovered lines in OpenSTUtility.sol

OpenSTUtility.sol has the following coverage report
95.8% Statements 137/143
77.68% Branches 87/112
81.25% Functions 13/16
94.77% Lines 145/153

Uncovered functions
merkleVerificationOfStake, initiateProtocolTransfer, revokeProtocolTransfer

Dropped.


[Android] - Can we add loading icon in Notification when Track Change or Load?

hi team,
Can we add a loading icon in Notification when Track change or load?
Just my suggestion because user will use notification, lock screen most of the time when they're playing tracks.
Thank you,
Daniel

I think it's pretty straight forward: everyone expects it to be buffering when the track stops playing for a moment. Is there a specific use-case?

I'll be closing this for inactivity, feel free to reopen it if you feel like this feature fits with this package.


A new colour for tasks that have already been deleted.

Is your feature request related to a problem? Please describe.
Yeah, report boxes get coloured dark blue while moderating when the question/answer has already been deleted or when there's a connection error and there isn't a direct way to discern both of them.

Describe the solution/idea you'd like
It'll be nice to have a new colour for report boxes when the question/answer has already been deleted, so that it's easier to tell when a question/answer has already been deleted.
Describe expected outcome from your solution
A new colour for reported content boxes that helps signify that a content has been deleted.

https://brainly.in/app/profile/2709968

The purple color will be used on reports that have already moderated


name of libs

As these seem to be tied to spring and more specifically Springs reactive implementation 'io.reactor' i.e. 'Mono / Flux' should they be called 'qudini-reactor' ?  as they possibly won't work with other reactive implementations. @sp00m Thoughts?

Hmm, good point! Not sure if worth the hassle though, "qudini-reactive" is everywhere already I'm afraid :/ I mean, inside the code itself, the repo name, the end package name... I'm probably missing some.


info: contact information does not display in preview pane.

When the specification contains a contact entry in the info section, it is not displayed in the preview panel.

Transferred the issue to this repo. Thanks.


[BUG][Synapse] - PipelineRunClient fails to create pipeline run with parameters

Describe the bug
Please provide the description of issue you're seeing.
CreatePipelineRunAsync has an optional argument named “parameters”. It is in type of Dictionary<string, object>. When calling the method with “parameters” specified, the “parameters” will be used in the request body. However, currently the real HTTP request body is not consistent with the value of “parameters”.
With some debugging, I find the root cause is that the SDK doesn’t deserialize the type “Dictionary<string, object>” properly. Please see gist here for the test code. In this case, we have “parameters” as below:
string parameterAsJson = @"{""TablesToMove"": [{""TableName"":""TestTable""}]}";
However, the HTTP request body is as below:
{"TablesToMove":[[[[]]]]}
I suspect this is a underlying serialization issue of track 2 SDK.
Expected behavior
What is the expected behavior?
The request body should be consistent with the input: {"TablesToMove": [{"TableName"":"TestTable"}]}
Actual behavior (include Exception or Stack Trace)
What is the actual behavior?
Currently the request body is: {"TablesToMove":[[[[]]]]}
To Reproduce
Steps to reproduce the behavior (include a code snippet, screenshot, or any additional information that might help us reproduce the issue)

Copy the following code snippet to PipelineRunClientLiveTests.cs    [RecordedTest]
    public async Task TestRunWithParameter()
    {
        PipelineClient pipelineClient = CreatePipelineClient();
        PipelineRunClient runClient = CreatePipelineRunClient();

        await using DisposablePipeline pipeline = await DisposablePipeline.Create (pipelineClient, this.Recording);

        string parameterAsJson = @"{""TablesToMove"": [{""TableName"":""TestTable""}]}";
        var parameters = ReadParametersFromJson(parameterAsJson);
        CreateRunResponse runResponse = await pipelineClient.CreatePipelineRunAsync (pipeline.Name, parameters: parameters);
        Assert.NotNull(runResponse.RunId);
    }

    private Dictionary<string, object> ReadParametersFromJson(string rawJsonContent)
    {
        var parameters = new Dictionary<string, object>();
        if (!string.IsNullOrWhiteSpace(rawJsonContent))
        {
            parameters = JsonConvert.DeserializeObject<Dictionary<string, object>>(rawJsonContent);
        }

        return parameters;
    }

Remove the Ignore annotation on the top of the test file here
Execute the test case in record mode

Environment:

Name and version of the Library package used: [e.g. Azure.Storage.Blobs 12.2.0] Azure.Analytics.Synapse.Artifacts 1.0.0-preview.7 (latest master branch)
Hosting platform or OS and .NET runtime version (dotnet --info output for .NET Core projects): [e.g. Azure AppService or Windows 10 .NET Framework 4.8].NET SDK (reflecting any global.json):
 Version:   5.0.201
 Commit:    a09bd5c86c

Runtime Environment:
 OS Name:     Windows
 OS Version:  10.0.19042
 OS Platform: Windows
 RID:         win10-x64
 Base Path:   C:\Program Files\dotnet\sdk\5.0.201\

Host (useful for support):
  Version: 5.0.4
  Commit:  f27d337295

.NET SDKs installed:
  3.1.407 [C:\Program Files\dotnet\sdk]
  5.0.104 [C:\Program Files\dotnet\sdk]
  5.0.201 [C:\Program Files\dotnet\sdk]

.NET runtimes installed:
  Microsoft.AspNetCore.All 2.1.26 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.App 2.1.26 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 3.1.13 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 5.0.4 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 2.1.26 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 3.1.13 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 5.0.4 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.WindowsDesktop.App 3.1.13 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
  Microsoft.WindowsDesktop.App 5.0.4 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]

IDE and version : [e.g. Visual Studio 16.3] Microsoft Visual Studio Enterprise 2019 Version 16.9.2

I also meet issues when using System.Text.Json. See the code below.
        [RecordedTest]
        public async Task TestRunWithParameter()
        {
            PipelineClient pipelineClient = CreatePipelineClient();
            PipelineRunClient runClient = CreatePipelineRunClient();

            await using DisposablePipeline pipeline = await DisposablePipeline.Create (pipelineClient, this.Recording);

            string parameterAsJson = @"{""TablesToMove"": [{""TableName"":""TestTable""}]}";
            Dictionary<string, object> parameters = ReadParametersFromJson(parameterAsJson);
            CreateRunResponse runResponse = await pipelineClient.CreatePipelineRunAsync (pipeline.Name, parameters: parameters);
            Assert.NotNull(runResponse.RunId);
        }

        private Dictionary<string, object> ReadParametersFromJson(string rawJsonContent)
        {
            var parameters = new Dictionary<string, object>();
            if (!string.IsNullOrWhiteSpace(rawJsonContent))
            {
                parameters = JsonSerializer.Deserialize<Dictionary<string, object>>(rawJsonContent);
            }

            return parameters;
        }

I tried running this and run into permission issues:
    {"code":"ClientIpAddressNotAuthorized","message":"Client Ip address : MY_IP"}
I then tried to access Synapse Studio and ran into more permissions issues, which are described in an internal e-mail.

The issue is related to firewall rule. You can add the firewall rule on the Azure portal (see the snapshot below, you can find your client IP address on that page).

Alternatively, you can use the one of the following PowerShell commands:
# Option 1: To allow all IPs to access the workspace
New-AzSynapseFirewallRule -WorkspaceName $workspaceName -AllowAllIp

# Option 2: To allow some specific IP
$ruleName = '<your rule name>'
$clientIpAddress = '<your public ip address>' # One way to get this is: $clientIpAddress = Invoke-RestMethod -uri https://api.ipify.org
New-AzSynapseFirewallRule -WorkspaceName $workspaceName -StartIpAddress $clientIpAddress -EndIpAddress $clientIpAddress -Name $ruleName

This will be fixed with https://github.com/Azure/autorest.csharp/pull/1204

Reopening until this lands in azure-sdk-for-net.


Fix versionability detection

Fixes #394 .
Add versionability detection to versioning function (new_version()), and move versioning code out of stix2.utils and into its own module.  It eases circular import issues which came up due new imports required for versionability detection, and also due to stix2.utils being imported so widely into other modules.  The new module is named "versioning"... so now we have "version" and "versioning".  Is that too confusing?  There are also some versioning-related bugfixes.
Some details include:

Revoking an object unconditionally added the revoked property, whether or not it was supported for the object type (due to hard-coded allow_custom=True).  That seemed wrong and is now removed.  If the revoked property is not supported, then revocation will fail because of that.

Versioning didn't generically work for objects with custom properties. You have to have known it had custom properties in advance, and pass the allow_custom=True kwarg.  Otherwise, creation of the new object ignored the allow_custom preference of the old one.  This is fixed.
The function is designed to modify an existing object, so it made sense to have a three-value logic for allow_custom in this case: if True, the resulting object may have custom properties (regardless of whether the original did); if False, it may not; if None, it inherits the preference from the original object.  The latter is probably most often what people would intuitively expect, so it is the default.  (The _allow_custom attribute is checked, inspired by __deepcopy__.)
If versioning a dict, there is no previous preference to propagate nor object to propagate it to, so allow_custom doesn't make sense and is ignored.

allow_custom is now a separate kwarg, rather than being lumped into the other **kwargs which confuses it with a normal object property.  It also prevents that key from winding up in the result when you're versioning dicts (which the old implementation did).

The object marking unit tests were trying to change markings on a dict with no "type" property.  That doesn't work because a markings change is a versioning change, and versionability checking on dicts requires looking up a registered class based on object type.  So I added a type property.

Moved the TYPE_REGEX variables out of stix2.utils and into properties.py since that's the only place they're used.

Codecov Report

Merging #401 into master will increase coverage by 0.01%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master     #401      +/-   ##
==========================================
+ Coverage   98.44%   98.45%   +0.01%
==========================================
  Files         127      128       +1
  Lines       14634    14759     +125
==========================================
+ Hits        14406    14531     +125
  Misses        228      228

Impacted Files
Coverage Δ

stix2/test/v20/test_object_markings.py
100.00% <ø> (ø)

stix2/test/v21/test_object_markings.py
100.00% <ø> (ø)

stix2/utils.py
95.91% <ø> (-1.30%)
:arrow_down:

stix2/__init__.py
100.00% <100.00%> (ø)

stix2/base.py
97.89% <100.00%> (ø)

stix2/markings/granular_markings.py
100.00% <100.00%> (ø)

stix2/markings/object_markings.py
100.00% <100.00%> (ø)

stix2/properties.py
98.42% <100.00%> (+<0.01%)
:arrow_up:

stix2/test/v20/test_versioning.py
100.00% <100.00%> (ø)

stix2/test/v21/test_versioning.py
100.00% <100.00%> (ø)

... and 2 more

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 7e41825...fce4f15. Read the comment docs.


Support checking for new repository version tags

I noticed that when I run npm-check -u on a project that references a Github repo with a specific tag version it doesn't check to see if there is a newer tag version. It would be incredibly useful if it could look for newer semver tags or even just release tags on Github repos (or potentially any Git repo) when checking for updates.

@jwarkentin I have the same problem, and I plan to write one myself.

I think this includes showing next tags. (which would be amazing)


add purelib dependencies from getsentry

hmmm maybe I should do the hard ones first rather than the easy ones


[typing] neo4j/_async/work/transaction.py's AsyncTransaction.run returns a neo4j.AsyncResult

I've been using the async driver via pip install neo4j==5.0.0a1 and noticed a type hint error.
[typing] neo4j/_async/work/transaction.py's AsyncTransaction.run returns a neo4j.AsyncResult, not a neo4j.Result
It looks like line 109 should change from:
     :rtype: :class:`neo4j.Result`

to
     :rtype: :class:`neo4j.AsyncResult`

Hi @endafarrell and thanks a lot for reaching out.
Good catch there. For the next 5.0 alpha release, which will not be an async preview release but contain the actual 5.0 changes (probably coming in September), this has already been fixed in e74c6f1a15fa6a8e690be46321c4eb84afa45d46 (https://github.com/neo4j/neo4j-python-driver/pull/658/files#diff-e01d8571ae2f3bce8355a427ad185a4f087a6763e98d95438f0cef6466621b51R103-R106) and then converted to type annotations in 799720d58a167423c35bafc1aa708b2b84a368a0 (https://github.com/neo4j/neo4j-python-driver/pull/767/files#diff-e01d8571ae2f3bce8355a427ad185a4f087a6763e98d95438f0cef6466621b51R94-R99).
If you spot more, I'm always happy to receive feedback, especially regarding the async driver.


Chapter 11, page 219, typo

Open the EditPost.razor file again

There is no such file. It should be BlogPostEdit.razor.

Agreed =)


Profit for hour

I think the profit for hour is as important as the balance.
For that, I have created new column in status.py for show it, and new log messages.

I have created example in seed.py

Hi JBR,
Sorry, I've been away from the keyboard for the last week. Let me take a quick look at the changes and I'll approve.

All working well for me. I'll take a little look at Pixel Tap as it seems to be throwing some errors on the old code too :)

Hi,
Just a heads up, but some of the calls of get profit seem to be blocking the game from claiming. If the check for profit involves navigating away from the tab which has the claim stuff on, it needs some way of getting back, or it fails to find the XPATHs:

Please don't take it as a criticism, I'm just sharing with you want I found and why I made some small changes. Also, FYI, I'm struggling to get a good way of going back without closing and reopening that pop-up. If you have any ideas, please let me know.

I think each action needs check your tab and open the tab if it is necessary.
You do the actions in order, but in the future maybe changes and this order also changing. For that, i think is very important the tab en each action.


Include version and release date somewhere visible on the app

Just for reference purposes. It can be super small or behind a toggle.

I think we can put this on a modal dialog that opens with a about button, in it we can also add things like the features available to the users and things of that nature.

Also, was not good at keeping track of the patches since it was just minor things I was changing but according to your fork on codesandbox it was version 3 so maybe next version we can call it vesion 4.0.0 and then start patching stuff from there...
What do you think?

imo i'd say we're not at a full 1.0 yet

yeah.. i usually start at 0.1.0 so all those version were more like 0.2.0 0.3.0 ... so any suggestion for the name of the next version?

whatever seems good, i guess.


Revert "Temporarily xfail failing test_iceberg_parquet_read_round_trip test"

Reverts NVIDIA/spark-rapids#6756
fixes https://github.com/NVIDIA/spark-rapids/issues/6718
CUDF fix went in so revert the xfail

build


Discord WebSocket occasionally deadlocks after reconnecting.

Tracking issue for known bug. Related to DSharpPlus/DSharpPlus#425

Fixed


feat: allow to define whether link should open in new window

slate link plugin now allow to define whether links should open in a new window
I added it while doing a refactor of the link plugin. I later want to allow for more complex plugins, like page links which store a pageId instead of a href and generate the href on render. The slate plugins are still a bit verbose and therefore hard to extend or customize. The goal is to have a similar flexibility like  with @react-page/create-plugin-materialui
Proposed changes
slate link plugin has a checkbox which defines whether link opens in new window (target="_blank")
Types of changes

[ ] Bugfix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[x] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Its a little breaking, but only if you override getComponent of the link plugin, which was a brand-new feature..
Checklist

[x] Lint and unit tests pass locally with my changes
[  I have added tests that prove my fix is effective or that my feature works
[ ] I have added necessary documentation (if appropriate)
[ ] Any dependent changes have been merged and published in downstream modules

Its a little breaking, but only if you override getComponent of the link plugin, which was a brand-new feature..

I think it's fine, we could also wait to merge the material update in the other PR and tag this in a minor version then, but it should be alright to send as a patch release.


fix: interface module bindings

Rust binding for interface-implementation invocation isn't working due to a bug in rust binding template checkout below issue for more details

Closes: #1134

@cbrzn I agree, the tests should cover this scenario


Updated Node Pools options to support pre-emptible nodes, reduced nodepool defintions

Fixes #41
Adds Feature: add pre-emptible node option
updated makefile, scritps to support preemptible node option
Fixes: reduce node pool defintions for windows
Fixes: seperated main.tf into cluster, network for readability

/gcbrun

Prechecks Complete - Ready for review


Does this code surpport dynamic voxelization?

Thanks for replying

For voxelnet, there is an implementation here https://github.com/tianweiy/CenterPoint/blob/38797b6c51e6ca20c8421a504e8e45e739c67cec/det3d/models/readers/dynamic_voxel_encoder.py#L1
I will push a new version in a new days and it will have dynamic voxelization for pointpillar

For voxelnet, there is an implementation here
https://github.com/tianweiy/CenterPoint/blob/38797b6c51e6ca20c8421a504e8e45e739c67cec/det3d/models/readers/dynamic_voxel_encoder.py#L1
I will push a new version in a few days and it will have dynamic voxelization for pointpillar

OK, thanks a lot! Looking forward~


When header value is too long not able to see results of a query

with header:

without header:

Hey @ukasiu - GraphiQL does not implement the header view, so this issue might not be relevant here. Seems like you could open an issue in graphql-toolbox repo here?
cc @OlegIlyenko

Good catch :) @ukasiu I added the header value truncation. https://github.com/OlegIlyenko/graphql-toolbox/commit/3c0980e17124e86ed13b0c54ea6ab8005d40b53f
not a perfect solution, but I think it should do the trick for reasonably-sized monitors :) And indeed this is and issue graphql-toolbox and not GraphiQL itself.


RemoteProperties are not optimized for large tables

When dealing with sizable tables and remote properties, updating those tables can get quite costly network-wise. A personal example in my own game is leaderboards. I use remote properties for them because they are convenient for instantly retrieving the value when it's ready, and getting updates after that. When I set a new value on the server, which is a table of all the players on the leaderboard, the client receives all of this information, even information it already has.
I think this could be fixed in one of two ways:

If a new value and an old value are both tables, then send the difference between them to the client and update accordingly.
Create a new type RemoteTable with this functionality.

This shouldn't be handled by the internal code, instead, you should make some sort of wrapper over this and handle it on your own.
We use a custom remote property / remote-signal implementation (albeit, similar to the RbxUtil ones but with improved API) alongside Matter. We replicate matter components to the client and have an advanced replication system where we check for the difference between the old and new component data and send the difference data only to the client (which then merges in the 'difference' to the data it has). Additionally, for some components, we only send in specific members of it to the client instead of the entire data as a whole - in this way the average client's network receive rate (specifically) is low enough to not cause issues regarding scalability.
With 1, RemoteProperties or RemoteSignals compressing data by default would give the developer no flexibility in managing replicated data, which is really bad for scalability and projects.
With 2, I think it's just bloat and overcomplicates the overall API unnecessarily. Instead, a custom wrapper would be the best fit.

Yeah, this would require a lot of code, and then uncertainty whether this should affect deep structures or not. Better to create your own system of managing data that can watch for changes and replicate when needed.


raftAttributes key doesn't exist

I have a 3 node cluster set up for testing and was attempting some load tests yesterday (thousands of writes per second with key watchers going too), when I got an error I haven't seen before:
2015/02/13 08:18:11 etcd: listening for peers on http://<IP_ADDRESS>:7001
2015/02/13 08:18:11 etcd: listening for peers on http://<IP_ADDRESS>:7001
2015/02/13 08:18:11 etcd: listening for client requests on http://<IP_ADDRESS>:4001
2015/02/13 08:18:11 etcd: listening for client requests on http://<IP_ADDRESS>:4001
2015/02/13 08:18:11 etcdserver: discovery token ignored since a cluster has already been initialized. Valid log found at "/var/lib/etcd/mvp01.etcd/wal"
2015/02/13 08:18:12 etcdserver: recovered store from snapshot at index 172422
2015/02/13 08:18:12 nodeToMember should never fail: raftAttributes key doesn't exist
panic: nodeToMember should never fail: raftAttributes key doesn't exist

goroutine 1 [running]:
log.Panicf(0x8b0090, 0x22, 0xc20a049040, 0x1, 0x1)
        /usr/local/go/src/log/log.go:314 +0xd0
github.com/coreos/etcd/etcdserver.membersFromStore(0x7f4f9f68a578, 0xc2080621e0, 0xc2080621e0, 0xc208cae140)
        /Users/philips/src/github.com/coreos/etcd/release/etcd/gopath/src/github.com/coreos/etcd/etcdserver/cluster.go:362 +0x398
github.com/coreos/etcd/etcdserver.NewClusterFromStore(0x7fff6667578d, 0x3a, 0x7f4f9f68a578, 0xc2080621e0, 0x1)
        /Users/philips/src/github.com/coreos/etcd/release/etcd/gopath/src/github.com/coreos/etcd/etcdserver/cluster.go:101 +0x179
github.com/coreos/etcd/etcdserver.NewServer(0xc20803a210, 0xc208058480, 0x0, 0x0)
        /Users/philips/src/github.com/coreos/etcd/release/etcd/gopath/src/github.com/coreos/etcd/etcdserver/server.go:213 +0x20b6
github.com/coreos/etcd/etcdmain.startEtcd(0xc208082000, 0x0, 0x0, 0x0)
        /Users/philips/src/github.com/coreos/etcd/release/etcd/gopath/src/github.com/coreos/etcd/etcdmain/etcd.go:161 +0x18cc
github.com/coreos/etcd/etcdmain.Main()
        /Users/philips/src/github.com/coreos/etcd/release/etcd/gopath/src/github.com/coreos/etcd/etcdmain/etcd.go:54 +0x1fc
main.main()
        /Users/philips/src/github.com/coreos/etcd/release/etcd/gopath/src/github.com/coreos/etcd/main.go:31 +0x1b

Possibly pertinent info:

etcd 2.0
using public discovery service
all 3 nodes error like this when restarted
one node is running in a docker container

EDIT: Wrapping ugliness
UPDATE:  I was able to get the cluster back up by deleting the data-dirs on all nodes.

@colebrumley Are you running etcd 2.0.2 or 2.0?

@colebrumley Do you have the backup of data-dir? Or the way to reproduce it?

@xiang90 : This is 2.0.0
@yichengq: I foolishly did not save the data-dir, I am trying to recreate it now and will update if I am successful

OK, after digging more I believe this could be an extension of https://github.com/coreos/etcd/issues/1959.  When I recreated this issue, I got "too many open files" on a snapshot attempt, then the node began to display this behavior:
Feb 13 10:37:11 VA1ACHMVP01 etcd[21562]: 2015/02/13 10:37:11 etcdserver: start to snapshot (applied: 220200, lastsnap: 210189)
Feb 13 10:37:11 VA1ACHMVP01 etcd[21562]: 2015/02/13 10:37:11 etcdserver: compacted log at index 220200
Feb 13 10:37:11 VA1ACHMVP01 etcd[21562]: 2015/02/13 10:37:11 etcdserver: save snapshot error: open mvp01.etcd/snap/0000000000000002-0000000000035c28.snap: too many open files
Feb 13 10:37:12 VA1ACHMVP01 systemd[1]: etcd.service: main process exited, code=exited, status=1/FAILURE
Feb 13 10:37:12 VA1ACHMVP01 systemd[1]: Unit etcd.service entered failed state.
Feb 13 10:46:32 VA1ACHMVP01 systemd[1]: Starting Etcd Server...
Feb 13 10:46:32 VA1ACHMVP01 systemd[1]: Started Etcd Server.
Feb 13 10:46:32 VA1ACHMVP01 etcd[21814]: 2015/02/13 10:46:32 no data-dir provided, using default data-dir ./mvp01.etcd
Feb 13 10:46:32 VA1ACHMVP01 etcd[21814]: 2015/02/13 10:46:32 etcd: listening for peers on http://<IP_ADDRESS>:7001
Feb 13 10:46:32 VA1ACHMVP01 etcd[21814]: 2015/02/13 10:46:32 etcd: listening for peers on http://<IP_ADDRESS>:7001
Feb 13 10:46:32 VA1ACHMVP01 etcd[21814]: 2015/02/13 10:46:32 etcd: listening for client requests on http://<IP_ADDRESS>:4001
Feb 13 10:46:32 VA1ACHMVP01 etcd[21814]: 2015/02/13 10:46:32 etcd: listening for client requests on http://<IP_ADDRESS>:4001
Feb 13 10:46:32 VA1ACHMVP01 etcd[21814]: 2015/02/13 10:46:32 etcdserver: discovery token ignored since a cluster has already been initialized. Valid log found at "mvp01.etcd/wal"
Feb 13 10:46:33 VA1ACHMVP01 etcd[21814]: 2015/02/13 10:46:33 etcdserver: recovered store from snapshot at index 210189
Feb 13 10:46:33 VA1ACHMVP01 etcd[21814]: 2015/02/13 10:46:33 nodeToMember should never fail: raftAttributes key doesn't exist
Feb 13 10:46:33 VA1ACHMVP01 etcd[21814]: panic: nodeToMember should never fail: raftAttributes key doesn't exist
Feb 13 10:46:33 VA1ACHMVP01 etcd[21814]: goroutine 1 [running]:
Feb 13 10:46:33 VA1ACHMVP01 etcd[21814]: log.Panicf(0x8b0090, 0x22, 0xc20a4a7040, 0x1, 0x1)
Feb 13 10:46:33 VA1ACHMVP01 etcd[21814]: /usr/local/go/src/log/log.go:314 +0xd0
Feb 13 10:46:33 VA1ACHMVP01 etcd[21814]: github.com/coreos/etcd/etcdserver.membersFromStore(0x7f321a41f578, 0xc208066420, 0xc208066420, 0xc208dd3b80)
Feb 13 10:46:33 VA1ACHMVP01 etcd[21814]: /Users/philips/src/github.com/coreos/etcd/release/etcd/gopath/src/github.com/coreos/etcd/etcdserver/cluster.go:362 +0x398
Feb 13 10:46:33 VA1ACHMVP01 etcd[21814]: github.com/coreos/etcd/etcdserver.NewClusterFromStore(0x7fff5a4daefa, 0x3a, 0x7f321a41f578, 0xc208066420, 0x1)
Feb 13 10:46:33 VA1ACHMVP01 etcd[21814]: /Users/philips/src/github.com/coreos/etcd/release/etcd/gopath/src/github.com/coreos/etcd/etcdserver/cluster.go:101 +0x179
Feb 13 10:46:33 VA1ACHMVP01 etcd[21814]: github.com/coreos/etcd/etcdserver.NewServer(0xc208036210, 0xc208070480, 0x0, 0x0)
Feb 13 10:46:33 VA1ACHMVP01 etcd[21814]: /Users/philips/src/github.com/coreos/etcd/release/etcd/gopath/src/github.com/coreos/etcd/etcdserver/server.go:213 +0x20b6
Feb 13 10:46:33 VA1ACHMVP01 etcd[21814]: github.com/coreos/etcd/etcdmain.startEtcd(0xc208080000, 0x0, 0x0, 0x0)
Feb 13 10:46:33 VA1ACHMVP01 etcd[21814]: /Users/philips/src/github.com/coreos/etcd/release/etcd/gopath/src/github.com/coreos/etcd/etcdmain/etcd.go:161 +0x18cc
Feb 13 10:46:33 VA1ACHMVP01 etcd[21814]: github.com/coreos/etcd/etcdmain.Main()
Feb 13 10:46:33 VA1ACHMVP01 etcd[21814]: /Users/philips/src/github.com/coreos/etcd/release/etcd/gopath/src/github.com/coreos/etcd/etcdmain/etcd.go:54 +0x1fc
Feb 13 10:46:33 VA1ACHMVP01 etcd[21814]: main.main()
Feb 13 10:46:33 VA1ACHMVP01 etcd[21814]: /Users/philips/src/github.com/coreos/etcd/release/etcd/gopath/src/github.com/coreos/etcd/main.go:31 +0x1b
Feb 13 10:46:33 VA1ACHMVP01 systemd[1]: etcd.service: main process exited, code=exited, status=2/INVALIDARGUMENT
Feb 13 10:46:33 VA1ACHMVP01 systemd[1]: Unit etcd.service entered failed state.

I did save the data-dir if it would be helpful, but it's around 8.5MB so it's not uploaded anywhere yet.

@colebrumley It could help a lot if you could send it to my email address<EMAIL_ADDRESS>

OK, sent!

@colebrumley
Cheers for @xiang90 ! :light_rail:
The original add node entries are applied into raft but not store because store has a more strict checking. so its info cannot be recovered from store any more.


Fix headers imports moved private

Related to #2728
Required to fix 1p

Presumably temporary until 1P can directly use the Analytics headers?

@paulb777 As far as I understand, yes. @ryanwilson would you be able to confirm?


docker image for elasticsearch

I created a Dockerfile that install the vector plugin to elasticserch and create an image.

@stevemart thanks your help I modified the README based on your suggestions. Please let me know if I missed something.


strip() DigestAuth directives and make them case-insensitive.

The current implementation of Digest authentication does not work in FireFox. He uses comma+space as a directives delimiter.
Plus added toLower () as in [RFC 2617] (https://tools.ietf.org/html/rfc2617) said:

The realm directive (case-insensitive) is required for all authentication schemes that issue a challenge. The realm value (case-sensitive), in combination with the canonical...

Thanks! I'll also change the if-list to a single switch statement.


[EPIC] Multi-wallet support

Refactor saving of keystore to support multiple files
Update state management of xchain-* Client's to handle multiple accounts
Map ID in keystore to a name (default Account {number}), which is editable by an user
UI: Extend Account management in Settings with tabs ("Add wallet", "Remove wallet", "Edit account name") - First layout draft here https://www.figma.com/file/LgRqZCGMShZ2mJ702MIqyV/ASGARDEX-2020?node-id=3967%3A10274
UI: Multi-account #1601
...

https://github.com/thorchain/asgardex-electron/issues/1601

Resolved in v0.18.0 (check #1601 and its attached PRs)


Empty body

I gave request a try, and I have some strange behavior here :
var request = require('request');
var cheerio = require('cheerio');

// var https = require('https');
// https.globalAgent.options.secureProtocol = 'TLSv1_method';

console.log('Starting');

var URL = 'https://boutique.laposte.fr/'

request(URL, function(error, response, body) {
	if (!error && response.statusCode == 200) {
		console.log('Succes, server respond with body : ', body);
	} else {
		console.log('Error');
	}
})

And the ouput :
Starting
Succes, server respond with body :
```
The body is empty, I don't know if there's an SSL related issue here.

Thank you

You should pass the user-agent header (also you may need to store the cookies):
request(URL, {
  headers:{'user-agent':'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36'},
  jar:request.jar()
}, function(error, response, body) {
  debugger
    if (!error && response.statusCode == 200) {
        console.log('Succes, server respond with body : ', body);
    } else {
        console.log('Error');
    }
})

Just open up your browser's Developer Tools and take a look at the Request/Responses under the Network tab.

@simov  we also came across this behaviour, but with an ASP .net server, is this issue node related?
how come some API's work without and some require UA ?

That's totally related to the server you are connecting to. If the server expects certain headers you have to pass them. You can either use the request.defaults method, or wrap request with your own application logic.

Thanks,
Just Curios , how you identified this server requires userAgent?

Used my Chrome browser, opened up the Developer Tools, and navigated to the Networking tab. Then navigated to that URL and checked out the request headers. After that it's a matter of trial and error :)


Python client: Document ca_bundle parameter

Also disallow false values that would disable SSL certificate checking.

This is better, thanks for adding the docs.


Add docs for Whats new in 0.11

Similar to https://learn.microsoft.com/en-us/azure/data-api-builder/whats-new/version-0-10#whats-new-in-version-010,
we need a page for 0.11 with the following salient features:

Complete GraphQL support for SQL Data Warehouse as a supported database type listed as `dwsql`

Enhanced CosmosDB GraphQL Filtering – support for nested filters, Id variables, string array search with contains operator
Use CLI to enable telemetry collection via app insights

We have a what's new for 1.1: https://learn.microsoft.com/en-us/azure/data-api-builder/whats-new/version-1-1
But, we missed a "what's new for 0.11"
That can be published ASAP (later this week).

This content will be published later today.


Change the error value

Codecov Report

Merging #2 (c8437b1) into master (42aad18) will increase coverage by 2.46%.
The diff coverage is 80.00%.

@@            Coverage Diff             @@
##           master       #2      +/-   ##
==========================================
+ Coverage   86.66%   89.13%   +2.46%
==========================================
  Files           1        1
  Lines          45       46       +1
==========================================
+ Hits           39       41       +2
+ Misses          6        5       -1

Flag
Coverage Δ

unittests
89.13% <80.00%> (+2.46%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

src/mkstemp.c
89.13% <80.00%> (+2.46%)
:arrow_up:

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 42aad18...c8437b1. Read the comment docs.


fix(package): update async to version 3.1.0

Closes #97

Coverage remained the same at 100.0% when pulling 52aaa48a1f066a4f1e67b3104f014d7bea22880c on greenkeeper/async-3.1.0 into 5e08aa7c6dd6ac599687c46b919bce26e37bc5cc on master.