Add nushell completion support

This PR adds clap-based nushell completions.
Within the clap repository there is the clap_complete_nushell crate: https://github.com/clap-rs/clap/tree/master/clap_complete_nushell. I'm not sure why they have put it in a separate crate, and this means it requires some extra logic, but it's not too bad and as you can see I didn't need to change much.
This should be backwards compatible.
I also update the docs and give an example.

Here what the output looks like (expand)
> rye self completion -s nushell

module completions {

  # An Experimental Package Management Solution for Python
  export extern rye [
    --env-file: string        # Load one or more .env files
    --version                 # Print the version
    --help(-h)                # Print help
  ]

  def "nu-complete rye add pin" [] {
    [ "equal" "tilde-equal" "greater-than-equal" ]
  }

  # Adds a Python package to this project
  export extern "rye add" [
    ...requirements: string   # The package to add as PEP 508 requirement string. e.g. 'flask==2.2.3'
    --git: string             # Install the given package from this git repository
    --url: string             # Install the given package from this URL
    --path: string            # Install the given package from this local path
    --absolute                # Force non interpolated absolute paths
    --tag: string             # Install a specific tag
    --rev: string             # Update to a specific git rev
    --branch: string          # Update to a specific git branch
    --features: string        # Adds a dependency with a specific feature
    --dev                     # Add this as dev dependency
    --excluded                # Add this as an excluded dependency that will not be installed even if it's a sub dependency
    --optional: string        # Add this to an optional dependency group
    --pre                     # Include pre-releases when finding a package version
    --pin: string@"nu-complete rye add pin" # Overrides the pin operator
    --sync                    # Runs `sync` even if auto-sync is disabled
    --no-sync                 # Does not run `sync` even if auto-sync is enabled
    --verbose(-v)             # Enables verbose diagnostics
    --quiet(-q)               # Turns off all output
    --help(-h)                # Print help
  ]

  # Builds a package for distribution
  export extern "rye build" [
    --sdist                   # Build a sdist
    --wheel                   # Build a wheel
    --all(-a)                 # Build all packages
    --package(-p): string     # Build a specific package
    --out(-o): string         # An output directory (defaults to `workspace/dist`)
    --pyproject: string       # Use this pyproject.toml file
    --clean(-c)               # Clean the output directory first
    --verbose(-v)             # Enables verbose diagnostics
    --quiet(-q)               # Turns off all output
    --help(-h)                # Print help
  ]

  def "nu-complete rye config format" [] {
    [ "json" ]
  }

  # Reads or modifies the global `config.toml` file
  export extern "rye config" [
    --show-path               # Print the path to the config
    --format: string@"nu-complete rye config format" # Request parseable output format rather than lines
    --get: string             # Reads a config key
    --set: string             # Sets a config key to a string
    --set-int: string         # Sets a config key to an integer
    --set-bool: string        # Sets a config key to a bool
    --unset: string           # Remove a config key
    --help(-h)                # Print help (see more with '--help')
  ]

  # Fetches a Python interpreter for the local machine. This is an alias of `rye toolchain fetch`
  export extern "rye fetch" [
    version?: string          # The version of Python to fetch
    --force(-f)               # Fetch the Python toolchain even if it is already installed
    --target-path: string     # Fetches the Python toolchain into an explicit location rather
    --build-info              # Fetches with build info
    --no-build-info           # Fetches without build info
    --verbose(-v)             # Enables verbose diagnostics
    --quiet(-q)               # Turns off all output
    --help(-h)                # Print help (see more with '--help')
  ]

  # Run the code formatter on the project
  export extern "rye fmt" [
    ...paths: string          # List of files or directories to limit the operation to
    --all(-a)                 # Perform the operation on all packages
    --package(-p): string     # Perform the operation on a specific package
    --pyproject: string       # Use this pyproject.toml file
    --verbose(-v)             # Enables verbose diagnostics
    --quiet(-q)               # Turns off all output
    ...extra_args: string     # Extra arguments to ruff
    --check                   # Run format in check mode
    --help(-h)                # Print help (see more with '--help')
  ]

  def "nu-complete rye init build_system" [] {
    [ "hatchling" "setuptools" "flit" "pdm" "maturin" ]
  }

  # Initialize a new or existing Python project with Rye
  export extern "rye init" [
    path?: string             # Where to place the project (defaults to current path)
    --lib                     # Generate a library project (default)
    --script                  # Generate an executable project
    --min-py: string          # Minimal Python version supported by this project
    --py(-p): string          # Python version to use for the virtualenv
    --no-readme               # Do not create a readme
    --no-pin                  # Do not create .python-version file (requires-python will be used)
    --build-system: string@"nu-complete rye init build_system" # Which build system should be used (defaults to hatchling)?
    --license: string         # Which license should be used (SPDX identifier)?
    --name: string            # The name of the package
    --private                 # Set "Private :: Do Not Upload" classifier, used for private projects
    --no-import               # Don't import from setup.cfg, setup.py, or requirements files
    --virtual                 # Initialize this as a virtual package
    --requirements(-r): string # Requirements files to initialize pyproject.toml with
    --dev-requirements: string # Development requirements files to initialize pyproject.toml with
    --verbose(-v)             # Enables verbose diagnostics
    --quiet(-q)               # Turns off all output
    --help(-h)                # Print help (see more with '--help')
  ]

  # Installs a package as global tool. This is an alias of `rye tools install`
  export extern "rye install" [
    requirement: string       # The name of the package to install
    --git: string             # Install the given package from this git repository
    --url: string             # Install the given package from this URL
    --path: string            # Install the given package from this local path
    --absolute                # Force non interpolated absolute paths
    --tag: string             # Install a specific tag
    --rev: string             # Update to a specific git rev
    --branch: string          # Update to a specific git branch
    --features: string        # Adds a dependency with a specific feature
    --include-dep: string     # Include scripts from a given dependency
    --extra-requirement: string # Additional dependencies to install that are not declared by the main package
    --python(-p): string      # Optionally the Python version to use
    --force(-f)               # Force install the package even if it's already there
    --verbose(-v)             # Enables verbose diagnostics
    --quiet(-q)               # Turns off all output
    --help(-h)                # Print help
  ]

  # Updates the lockfiles without installing dependencies
  export extern "rye lock" [
    --verbose(-v)             # Enables verbose diagnostics
    --quiet(-q)               # Turns off all output
    --update: string          # Update a specific package
    --update-all              # Update all packages to the latest
    --pre                     # Update to pre-release versions
    --features: string        # Extras/features to enable when locking the workspace
    --all-features            # Enables all features
    --with-sources            # Set to true to lock with sources in the lockfile
    --reset                   # Reset prior lock options
    --pyproject: string       # Use this pyproject.toml file
    --help(-h)                # Print help
  ]

  # Run the linter on the project
  export extern "rye lint" [
    ...paths: string          # List of files or directories to limit the operation to
    --all(-a)                 # Perform the operation on all packages
    --package(-p): string     # Perform the operation on a specific package
    --pyproject: string       # Use this pyproject.toml file
    --verbose(-v)             # Enables verbose diagnostics
    --quiet(-q)               # Turns off all output
    ...extra_args: string     # Extra arguments to ruff
    --fix                     # Apply fixes
    --help(-h)                # Print help (see more with '--help')
  ]

  # Builds and prints a PEP 508 requirement string from parts
  export extern "rye make-req" [
    ...requirements: string   # The package to add as PEP 508 requirement string. e.g. 'flask==2.2.3'
    --git: string             # Install the given package from this git repository
    --url: string             # Install the given package from this URL
    --path: string            # Install the given package from this local path
    --absolute                # Force non interpolated absolute paths
    --tag: string             # Install a specific tag
    --rev: string             # Update to a specific git rev
    --branch: string          # Update to a specific git branch
    --features: string        # Adds a dependency with a specific feature
    --help(-h)                # Print help
  ]

  # Pins a Python version to this project
  export extern "rye pin" [
    version: string           # The version of Python to pin
    --relaxed                 # Issue a relaxed pin
    --no-update-requires-python # Prevent updating requires-python in the pyproject.toml
    --pyproject: string       # Use this pyproject.toml file
    --help(-h)                # Print help (see more with '--help')
  ]

  # Publish packages to a package repository
  export extern "rye publish" [
    ...dist: string           # The distribution files to upload to the repository (defaults to <workspace-root>/dist/*)
    --repository(-r): string  # The repository to publish to
    --repository-url: string  # The repository url to publish to
    --username(-u): string    # The username to authenticate to the repository with
    --token: string           # An access token used for the upload
    --sign                    # Sign files to upload using GPG
    --identity(-i): string    # GPG identity used to sign files
    --cert: string            # Path to alternate CA bundle
    --skip-existing           # Skip files that have already been published (only applies to repositories supporting this feature)
    --yes(-y)                 # Skip prompts
    --verbose(-v)             # Enables verbose diagnostics
    --quiet(-q)               # Turns off all output
    --help(-h)                # Print help
  ]

  # Removes a package from this project
  export extern "rye remove" [
    ...requirements: string   # The packages to remove
    --dev                     # Remove this from dev dependencies
    --optional: string        # Remove this from an optional dependency group
    --sync                    # Runs `sync` even if auto-sync is disabled
    --no-sync                 # Does not run `sync` even if auto-sync is enabled
    --verbose(-v)             # Enables verbose diagnostics
    --quiet(-q)               # Turns off all output
    --help(-h)                # Print help
  ]

  # Runs a command installed into this package
  export extern "rye run" [
    --list(-l)                # List all commands
    --pyproject: string       # Use this pyproject.toml file
    --help(-h)                # Print help
  ]

  # Prints the current state of the project
  export extern "rye show" [
    --installed-deps          # Print the installed dependencies from the venv
    --pyproject: string       # Use this pyproject.toml file
    --help(-h)                # Print help
  ]

  # Updates the virtualenv based on the pyproject.toml
  export extern "rye sync" [
    --force(-f)               # Force the environment to be re-created
    --no-dev                  # Do not include dev dependencies
    --no-lock                 # Do not update the lockfile
    --verbose(-v)             # Enables verbose diagnostics
    --quiet(-q)               # Turns off all output
    --update: string          # Update a specific package
    --update-all              # Update all packages to the latest
    --pre                     # Update to pre-release versions
    --features: string        # Extras/features to enable when synching the workspace
    --all-features            # Enables all features
    --with-sources            # Set to true to lock with sources in the lockfile
    --pyproject: string       # Use this pyproject.toml file
    --reset                   # Do not reuse (reset) prior lock options
    --help(-h)                # Print help
  ]

  # Run the tests on the project
  export extern "rye test" [
    --all(-a)                 # Perform the operation on all packages
    --package(-p): string     # Perform the operation on a specific package
    --pyproject: string       # Use this pyproject.toml file
    --no-capture(-s)
    --verbose(-v)             # Enables verbose diagnostics
    --quiet(-q)               # Turns off all output
    ...extra_args: string     # Extra arguments to pytest
    --help(-h)                # Print help (see more with '--help')
  ]

  # Helper utility to manage Python toolchains
  export extern "rye toolchain" [
    --help(-h)                # Print help
  ]

  # Fetches a Python interpreter for the local machine. This is an alias of `rye toolchain fetch`
  export extern "rye toolchain fetch" [
    version?: string          # The version of Python to fetch
    --force(-f)               # Fetch the Python toolchain even if it is already installed
    --target-path: string     # Fetches the Python toolchain into an explicit location rather
    --build-info              # Fetches with build info
    --no-build-info           # Fetches without build info
    --verbose(-v)             # Enables verbose diagnostics
    --quiet(-q)               # Turns off all output
    --help(-h)                # Print help (see more with '--help')
  ]

  def "nu-complete rye toolchain list format" [] {
    [ "json" ]
  }

  # List all registered toolchains
  export extern "rye toolchain list" [
    --include-downloadable    # Also include non installed, but downloadable toolchains
    --format: string@"nu-complete rye toolchain list format" # Request parseable output format
    --help(-h)                # Print help
  ]

  # Register a Python binary
  export extern "rye toolchain register" [
    path: string              # Path to the Python binary
    --name(-n): string        # Name of the toolchain.  If not provided a name is auto detected
    --help(-h)                # Print help (see more with '--help')
  ]

  # Removes a toolchain
  export extern "rye toolchain remove" [
    version: string           # Name and version of the toolchain
    --force(-f)               # Force removal even if the toolchain is in use
    --help(-h)                # Print help
  ]

  # Print this message or the help of the given subcommand(s)
  export extern "rye toolchain help" [
  ]

  # Fetches a Python interpreter for the local machine. This is an alias of `rye toolchain fetch`
  export extern "rye toolchain help fetch" [
  ]

  # List all registered toolchains
  export extern "rye toolchain help list" [
  ]

  # Register a Python binary
  export extern "rye toolchain help register" [
  ]

  # Removes a toolchain
  export extern "rye toolchain help remove" [
  ]

  # Print this message or the help of the given subcommand(s)
  export extern "rye toolchain help help" [
  ]

  # Helper utility to manage global tools
  export extern "rye tools" [
    --help(-h)                # Print help
  ]

  # Installs a package as global tool. This is an alias of `rye tools install`
  export extern "rye tools install" [
    requirement: string       # The name of the package to install
    --git: string             # Install the given package from this git repository
    --url: string             # Install the given package from this URL
    --path: string            # Install the given package from this local path
    --absolute                # Force non interpolated absolute paths
    --tag: string             # Install a specific tag
    --rev: string             # Update to a specific git rev
    --branch: string          # Update to a specific git branch
    --features: string        # Adds a dependency with a specific feature
    --include-dep: string     # Include scripts from a given dependency
    --extra-requirement: string # Additional dependencies to install that are not declared by the main package
    --python(-p): string      # Optionally the Python version to use
    --force(-f)               # Force install the package even if it's already there
    --verbose(-v)             # Enables verbose diagnostics
    --quiet(-q)               # Turns off all output
    --help(-h)                # Print help
  ]

  # Uninstalls a global tool. This is an alias of `rye tools uninstall`
  export extern "rye tools uninstall" [
    name: string              # The package to uninstall
    --verbose(-v)             # Enables verbose diagnostics
    --quiet(-q)               # Turns off all output
    --help(-h)                # Print help
  ]

  # List all registered tools
  export extern "rye tools list" [
    --include-scripts(-s)     # Show all the scripts installed by the tools
    --include-version(-v)     # Show the version of tools
    --help(-h)                # Print help
  ]

  # Print this message or the help of the given subcommand(s)
  export extern "rye tools help" [
  ]

  # Installs a package as global tool. This is an alias of `rye tools install`
  export extern "rye tools help install" [
  ]

  # Uninstalls a global tool. This is an alias of `rye tools uninstall`
  export extern "rye tools help uninstall" [
  ]

  # List all registered tools
  export extern "rye tools help list" [
  ]

  # Print this message or the help of the given subcommand(s)
  export extern "rye tools help help" [
  ]

  # Rye self management
  export extern "rye self" [
    --help(-h)                # Print help
  ]

  def "nu-complete rye self completion shell" [] {
    [ "bash" "elvish" "fish" "power-shell" "zsh" "nushell" ]
  }

  # Generates a completion script for a shell
  export extern "rye self completion" [
    --shell(-s): string@"nu-complete rye self completion shell" # The shell to generate a completion script for (defaults to 'bash')
    --help(-h)                # Print help (see more with '--help')
  ]

  # Performs an update of rye
  export extern "rye self update" [
    --version: string         # Update to a specific version
    --tag: string             # Update to a specific tag
    --rev: string             # Update to a specific git rev
    --branch: string          # Update to a specific git branch
    --force                   # Force reinstallation
    --help(-h)                # Print help (see more with '--help')
  ]

  # Triggers the initial installation of Rye
  export extern "rye self install" [
    --yes(-y)                 # Skip prompts
    --toolchain: string       # Register a specific toolchain before bootstrap
    --toolchain-version: string # Use a specific toolchain version
    --modify-path             # Always modify without asking the PATH environment variable
    --no-modify-path          # Do not modify the PATH environment variable
    --help(-h)                # Print help (see more with '--help')
  ]

  # Uninstalls rye again
  export extern "rye self uninstall" [
    --yes(-y)                 # Skip safety check
    --help(-h)                # Print help
  ]

  # Print this message or the help of the given subcommand(s)
  export extern "rye self help" [
  ]

  # Generates a completion script for a shell
  export extern "rye self help completion" [
  ]

  # Performs an update of rye
  export extern "rye self help update" [
  ]

  # Triggers the initial installation of Rye
  export extern "rye self help install" [
  ]

  # Uninstalls rye again
  export extern "rye self help uninstall" [
  ]

  # Print this message or the help of the given subcommand(s)
  export extern "rye self help help" [
  ]

  # Uninstalls a global tool. This is an alias of `rye tools uninstall`
  export extern "rye uninstall" [
    name: string              # The package to uninstall
    --verbose(-v)             # Enables verbose diagnostics
    --quiet(-q)               # Turns off all output
    --help(-h)                # Print help
  ]

  def "nu-complete rye version bump" [] {
    [ "major" "minor" "patch" ]
  }

  # Get or set project version
  export extern "rye version" [
    version?: string          # The version to set
    --bump(-b): string@"nu-complete rye version bump" # The version bump to apply
    --help(-h)                # Print help
  ]

  # Prints the currently installed packages
  export extern "rye list" [
    --pyproject: string       # Use this pyproject.toml file
    --help(-h)                # Print help
  ]

  # The shell command was removed
  export extern "rye shell" [
    --help(-h)                # Print help
  ]

  # Print this message or the help of the given subcommand(s)
  export extern "rye help" [
  ]

  # Adds a Python package to this project
  export extern "rye help add" [
  ]

  # Builds a package for distribution
  export extern "rye help build" [
  ]

  # Reads or modifies the global `config.toml` file
  export extern "rye help config" [
  ]

  # Fetches a Python interpreter for the local machine. This is an alias of `rye toolchain fetch`
  export extern "rye help fetch" [
  ]

  # Run the code formatter on the project
  export extern "rye help fmt" [
  ]

  # Initialize a new or existing Python project with Rye
  export extern "rye help init" [
  ]

  # Installs a package as global tool. This is an alias of `rye tools install`
  export extern "rye help install" [
  ]

  # Updates the lockfiles without installing dependencies
  export extern "rye help lock" [
  ]

  # Run the linter on the project
  export extern "rye help lint" [
  ]

  # Builds and prints a PEP 508 requirement string from parts
  export extern "rye help make-req" [
  ]

  # Pins a Python version to this project
  export extern "rye help pin" [
  ]

  # Publish packages to a package repository
  export extern "rye help publish" [
  ]

  # Removes a package from this project
  export extern "rye help remove" [
  ]

  # Runs a command installed into this package
  export extern "rye help run" [
  ]

  # Prints the current state of the project
  export extern "rye help show" [
  ]

  # Updates the virtualenv based on the pyproject.toml
  export extern "rye help sync" [
  ]

  # Run the tests on the project
  export extern "rye help test" [
  ]

  # Helper utility to manage Python toolchains
  export extern "rye help toolchain" [
  ]

  # Fetches a Python interpreter for the local machine. This is an alias of `rye toolchain fetch`
  export extern "rye help toolchain fetch" [
  ]

  # List all registered toolchains
  export extern "rye help toolchain list" [
  ]

  # Register a Python binary
  export extern "rye help toolchain register" [
  ]

  # Removes a toolchain
  export extern "rye help toolchain remove" [
  ]

  # Helper utility to manage global tools
  export extern "rye help tools" [
  ]

  # Installs a package as global tool. This is an alias of `rye tools install`
  export extern "rye help tools install" [
  ]

  # Uninstalls a global tool. This is an alias of `rye tools uninstall`
  export extern "rye help tools uninstall" [
  ]

  # List all registered tools
  export extern "rye help tools list" [
  ]

  # Rye self management
  export extern "rye help self" [
  ]

  # Generates a completion script for a shell
  export extern "rye help self completion" [
  ]

  # Performs an update of rye
  export extern "rye help self update" [
  ]

  # Triggers the initial installation of Rye
  export extern "rye help self install" [
  ]

  # Uninstalls rye again
  export extern "rye help self uninstall" [
  ]

  # Uninstalls a global tool. This is an alias of `rye tools uninstall`
  export extern "rye help uninstall" [
  ]

  # Get or set project version
  export extern "rye help version" [
  ]

  # Prints the currently installed packages
  export extern "rye help list" [
  ]

  # The shell command was removed
  export extern "rye help shell" [
  ]

  # Print this message or the help of the given subcommand(s)
  export extern "rye help help" [
  ]

}

export use completions *

Previous committers on this portion of the code include @cnpryer and @mitsuhiko. Do you think you could take a look?

I can review and merge.

I reported this issue to upstream: https://github.com/clap-rs/clap/issues/5592


Typescript generics

Codecov Report
All modified lines are covered by tests :white_check_mark:

Comparison is base (2ac6d11) 91.77% compared to head (46b87da) 93.03%.

Additional details and impacted files
@@            Coverage Diff             @@
##             main       #6      +/-   ##
==========================================
+ Coverage   91.77%   93.03%   +1.26%
==========================================
  Files           6        6
  Lines         316      316
  Branches        2        2
==========================================
+ Hits          290      294       +4
+ Misses         26       22       -4

see 1 file with indirect coverage changes

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


Qualifying Test Overview

List of all questions in test

Numbered by section, if multiple (eg. scenarios)

Questions under each section, numbered

Start test button
once started becomes

Finish test button
(Maybe checkbox, consult prototype, see pics to be added soon)


JSON serialization order

I noticed that the jsonSerialize function in Point.php returns in the order of Latitude, Longitude to conform to ISO 6709, but then looking at the GeoJSON standard it's the other way around (http://geojson.org/geojson-spec.html#positions).
Are there plans to be able to specify order/standard from the model?
Also, thanks for making this package, it's been a life saver!

Ping @MetalMatze.
There are no plans to support different orders, but I know Matthias added json serialising specifically for GeoJSON, so I presume it'll make sense to swap the order. Anyway, hopefully @MetalMatze will come by and give his point of view.

You're right, I've used GeoJSON as json standard.
That's why I'm swapping it, because there it is used in that order.
We could of course add somehow the option to switch it back. But I would make the option opt-in and use GeoJSON by default.

@MetalMatze but that's the point, you've mixed the order of the attributes.
GeoJSON asks for lonlat, not latlon.
https://github.com/phaza/laravel-postgis/blob/master/src/Geometries/Point.php#L71
Or does the Point class from the GeoJSON package swap them?

You could be right. :smile:
http://geojson.org/geojson-spec.html#id2
Says it's the LngLat.

I'm currently not using this feature, and is busy with project, but if one
of you create a patch with a test, I'll merge it.
On Fri, 22 May 2015 at 00:27 Matthias Loibl<EMAIL_ADDRESS>wrote:

You could be right. [image: :smile:]
http://geojson.org/geojson-spec.html#id2
Says it's the LngLat.
—
Reply to this email directly or view it on GitHub
https://github.com/phaza/laravel-postgis/issues/13#issuecomment-104439897
.

Oh, thanks for fixing my mistake! :heart: :relaxed:


Set listeners h2 max streams to override nghttp2 client default of 100

Reference issue: https://github.com/envoyproxy/envoy/issues/3076
Signed-off-by: Kuat Yessenov<EMAIL_ADDRESS>

Isn't it dangerous to set this to effectively infinity? I thought there was a cost associated with each stream and so having a huge number there could potentially be used to DDoS the proxy.

@kyessenov: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-bookInfoTests-v1alpha3.sh
8106892fc987ca580821c610ef2dae9f7c7fc345
link
/test e2e-bookInfo-envoyv2-v1alpha3

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@geeknoid We have a circuit breaker enabled on the client-side envoy, which should prevent it reaching the limit. I think it's set to 100,000 streams per client. The issue is mis-understanding the omitted value. The server assumes the unset value is infinity, which the client assumes it is 100. Making the server declare it to be infinity avoids the misunderstanding.

But for the server's own self-preservation perspective, wouldn't it be
safer to specify something smaller?
As we discussed yesterday, servers shouldn't trust clients to do the right
thing. So setting this number to infinity could let a client open an
infinite number of streams, which could kill the server. So maybe setting a
limit where (maxNumStreams*numBytesOfHeapNeededPerStream) is a reasonable
number for our sidecars would be preferable?
On Thu, Apr 26, 2018 at 3:40 PM Kuat<EMAIL_ADDRESS>wrote:

@geeknoid https://github.com/geeknoid We have a circuit breaker enabled
on the client-side envoy, which should prevent it reaching the limit. I
think it's set to 100,000 streams per client. The issue is
mis-understanding the omitted value. The server assumes the unset value is
infinity, which the client assumes it is 100. Making the server declare it
to be infinity avoids the misunderstanding.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/istio/istio/pull/5232#issuecomment-384810595, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AVucHez64XvF0ofgbmlwqRAlSzbFgFmQks5tskzNgaJpZM4Tn83y
.

Currently, we permit the client to open an infinite number of connections which bypasses any limitations on streams per connection. I think once we do proper circuit breaking (limit both # connection and # streams per connection), we can reduce it to something reasonable.

From nghttp it looks like this setting can be overridden by the client, just the client is choosing not to override it. It does not appear to be a hard limit, and it is meant to keep initial requests from being rejected.
The documentation does not say that this is for dos protection.
I think this change is fine. @PiotrSikora

@louiscryan FYI

/lgtm

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: geeknoid
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

pilot/OWNERS [geeknoid]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Allow RocmRoot to be set via ROCM_PATH env var

https://github.com/ROCmSoftwarePlatform/frameworks-internal/issues/2452
This fix is needed at runtime for non-standard ROCM locations with no symlink from /opt/rocm.

retest Ubuntu-GPU-multi please


Clarify that unit tests are not about testing physical units

I saw somewhere on Twitter that this is what confused somebody for a long time.

Solved in #146.


how to transfer files from dev board to android via bluetooth???

Description
I am a beginner Korean developer who is currently developing using the color dev board.
I searched transfer files from raspberry pi to android via Bluetooth on Google.
I used it because there is a good example as below.
// 라즈베리파이 업데이트
Sudo apt-get update
Sudo apt-get upgrade
// 필요한 라이브러리 설치
Sudo apt-get install bluetooth blueman bluez
Sudo apt-get install python-bluetooth
// 재부팅
**_Sudo reboot
sudo bluetoothctl_**
**_scan on
pair MAC주소
trust MAC주소_**

example.py
**from bluetooth import *
server_socket= BluetoothSocket(RFCOMM)
port = 1
server_socket.bind(("", port))
server_socket.listen(1)
client_socket, address = server_socket.accept()
print("Accepted connection from ", address)
client_socket.send("bluetooth connected!")
while True:
data = client_socket.recv(1024)
print("Received: %s" %data)
if(data=="q"):
print("Quit")
break
client_socket.close()
server_socket.close()**

and I used blueterms to run this example...
I paired with android successfully in terminal , but when I use blueterms in android, I can't connect....
It said "unable to connect with~~"
So, What I want to ask is if I can exchange large files such as photos and videos with my cell phone using dev board.
Also, I wonder if I can use Android and Bluetooth communication like Raspberry Pi
Click to expand!
Issue Type
Build/Install
Operating System
Mendel Linux, Mac OS
Coral Device
Dev Board
Other Devices
Rapsberry Pi 4
Programming Language
C++, Python 3.7
Relevant Log Output
No response

Hi, you can open the Bluetooth port by using sudo rfcomm listen  hci0 command which will enable UART at /dev/rfcomm0. At this point, you can use the UART to transfer the data.
You might need to enable the above command during boot time but make sure use nohup for background operations.
Good Luck!


fix docker build output parser

Docker must be outputting something different than whatever docker was outputting when this tool was last updated.  I was getting some output that had multiple json objects which resulted in ExtraData errors.
This fixes those errors and also upgrades the docker-py dependency to the newer docker 2.1.0 which meant changing how the util was creating its client. It seems to work fine otherwise and the tests all pass for me.

@linuxfreakus thanks for the PR.What's the version of docker you are using, mine is 1.11.1, and never encountered ExtraData errors。

I'm using docker version 1.13.1

I did some tests on some of my private projects with docker 1.13.1, but no ExtraData errors were throwed.Could please provide your Dockerfiles and scripts to reproduce this issue?
BTW, upgrading docker-py may impact a lot, so if its version is not necessarily related to this issue, it's not a good idea to upgrade it here.

It was happening for me with every docker file that I tried... I'm using
Docker for Mac too if that matters, though I doubt it would because it
still is running the docker engine, just in a VM.
I'm not at my laptop at the moment, but I'll grab one of my Dockerfiles a
little later.
On Mon, Feb 20, 2017 at 12:50 AM, jzl<EMAIL_ADDRESS>wrote:

I did some tests on some of my private projects with docker 1.13.1, but no
ExtraData errors were throwed.Could please provide your Dockerfiles and
scripts to reproduce this issue?
BTW, upgrading docker-py may impact a lot, so if its version is not
necessarily related to this issue, it's not a good idea to upgrade it here.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/CtripCloud/docker-make/pull/8#issuecomment-281009530,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABYplZpfYfrzUroY4V4X_9I5t75F-FgOks5reUWxgaJpZM4MEyFv
.

Here is a stripped down test of a couple images... I took out anything
proprietary, it still gives me the errors if I use the unpatched code.
Upgrading docker-py isn't strictly necessary, but I've been running into
conflicts since we have followed the upgrades to that library here and the
longer it goes without changing it, there will probably be more modules
that have pulled in the newer version (I could work around it by either
using a virtualenv or still having a patch but only for the lib version).
It would be great if they'd have named the modules to match so that they
could be used in parallel, but they didn't.
--Eric
On Tue, Feb 21, 2017 at 7:23 AM, Eric Nichols<EMAIL_ADDRESS>wrote:

It was happening for me with every docker file that I tried... I'm using
Docker for Mac too if that matters, though I doubt it would because it
still is running the docker engine, just in a VM.
I'm not at my laptop at the moment, but I'll grab one of my Dockerfiles a
little later.
On Mon, Feb 20, 2017 at 12:50 AM, jzl<EMAIL_ADDRESS>wrote:

I did some tests on some of my private projects with docker 1.13.1, but
no ExtraData errors were throwed.Could please provide your Dockerfiles
and scripts to reproduce this issue?
BTW, upgrading docker-py may impact a lot, so if its version is not
necessarily related to this issue, it's not a good idea to upgrade it here.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/CtripCloud/docker-make/pull/8#issuecomment-281009530,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABYplZpfYfrzUroY4V4X_9I5t75F-FgOks5reUWxgaJpZM4MEyFv
.

File didn't attach from email I guess?  Here is is again it looks like github has a different way to attach files.
dmake-test.tar.gz

Hi @linuxfreakus , all goes well on my linux box with Dockerfiles you provided, I'll test again on my mac book later.

Hi @linuxfreakus, The issue was reproduced on my mac, and your patch to build.py succeeded to fix it.
But upgrading dependency on docker-py impacts too much, it will break any running docker-make installations.I'd suggest you remove the dependency part from this PR, and do it more gracefully in another one.

OK, your call on the dependency change.  I can pull that out, although I think the impact specifically on existing docker-make installations would be limited to what happens if they upgrade since whatever they've installed (and potentially used pip freeze on) should be stable.
The impact that I can see is that docker-py would still be installed, then it would also install docker... this could be mitigated by having a try block to attempt one and fallback to the other depending on which one got imported... ultimately users should want to uninstall docker-py however since it will no longer receive changes and updates.
I'll update this PR to remove the dependency change and continue to use my patched fork since I would rather use the API version that is not at end of life.

And great work on this module BTW!  I really can't understand why docker's own CLI doesn't already do this stuff since everyone pretty much has to do this by hand if not automated!

I potentially have another PR where I also integrate this module with docker-squash so that complicated hierarchies can be dealt with to keep the number of layers under control but I'm still playing with that... probably won't send that one until I'm happy with how it is working.

Great!Thanks for the PR again, I'll merge it once you have removed the dependency part.
And your idea of integrating docker-squash is very impressive, I am looking forward for your patches.
I opened a issue https://github.com/docker/docker-py/issues/1476 on docker-py asking for  a way to improve docker-make's dependency list. They gave me an idea, which, thanks to the great dynamics of Python, is determining the dependency on docker-py or docker(docker-py 2.x) in setup.py, instead of writing them as fixed  dependency specifier in requirements.txt.

Hmm.... so it turns out that this still doesn't fix the problem, I have another Dockerfile that compiles some stuff from source and somehow the output that it spits out can cause the readlines() based parsing to still break down.
Further investigation reveals that this has been an ongoing problem and python's json module does not make it easy because it exposes a lot less capability than one might like for handling edge cases.
https://github.com/docker/docker-py/issues/1059
They ostensibly have a fix as of version 2.0.2 where you can pass 'decode=True' to the build function and it does the parsing for you using some helpers that they wrote, but to do that we really would need to upgrade from docker-py to docker.

Interesting, I didn't expect this issue would be that complicated.So it's inevitable to do a non-back-compatible upgrade now.And looking forward to your patch!

Hi, @linuxfreakus I'll merge your PR now.But since the change to the dependency part may break upgradings, I'll improve that part later


Nightly INTERNALERROR fix

Upgrading to pytest version 6.0.0 breaks nightly regressions by causing INTERNALERROR upon encountering failed DRC checks. This error causes the overall regression to silently pass without running all circuits.
Reverting to pytest version 5.4.3 in Dockerfile.base.

Tested that this PR fixes INTERNALERROR issue by forcing a nightly run. Reverted back relevant .circleci/config.yml change so that its ready to merge to master.

This is ok, but we should fix it at some point so that it works with pytest 6.0

Already created an issue !


fix: datepicker doesnt close on first selection of date on month change

Fixes issue #30701

Summary by CodeRabbit

New Features

Introduced new tests for the DatePicker widget to ensure proper functionality and behavior when dates are selected and months are changed.

Bug Fixes

Improved date selection handling to close the datepicker on a single click when the month is changed.

@ApekshaBhosale I accidentally deleted my forked repository, but I have raised PR with the suggested changes addressing the comments. Could you please review this PR?

Hi @ApekshaBhosale
I hope you're well. I’m curious and excited to hear your thoughts on my pull request raised a while ago. Looking forward to your review!
Thank you.

Hi @jsartisan Gentle Remainder: I have addressed review comment, can you please check ?
Thanks in advance.

/build-deploy-preview skip-tests=true

/build-deploy-preview skip-tests=true

Hi @ramsaptami Could you please merge this PR if everything is ok?

@jsartisan please review and merge if everything is ok

@jsartisan  Please check this PR.


How to write event and listener with custom data?

Wiki is a little bit sparse on how to actually implement my own event dispatcher and listener where custom data is being passed. I have a scriptable object which I want to pass in my own event. Seems simple but I am getting type issues. Not quite sure what I am doing wrong... Game.Roadside.Biome is just a ScriptableObject. I am probably missing something very, very obvious. I would welcome a little bit of help and just some more examples of custom object type event dispatch/listener, maybe with a complete code example as well (such as DamageDealerWithEvent but target is an actual argument of the event?). Cheers!
ArgumentException: Object of type 'UnityEngine.Object' cannot be converted to type 'Game.Roadside.Biome'. System.RuntimeType.CheckValue (System.Object value, System.Reflection.Binder binder, System.Globalization.CultureInfo culture, System.Reflection.BindingFlags invokeAttr) (at <e1319b7195c343e79b385cd3aa43f5dc>:0)

Go to CodeGeneration (in top row of Unity Editor, I believe, maybe ScriptableObject Architecture -> CodeGeneration), and then create a new Event and Response (a Response is a typed UnityEvent) for your type (probably Biome). You may need to manually edit the generated code files to add namespaces (unless that issue has been fixed) [using Game.Roadside;].
Hope this helps.

Yep, Monsoonexe's suggestion is the recommended way to do so. Let me know if you still need help :)


Manually Entered Payments

From @ivanmauricio on November 10, 2016 11:45
I want to be able to record payments made outside the app, i.e. xero, etc...
Copied from original issue: foundersandcoders/keep-the-lights-on#7

From @iteles on November 10, 2016 15:23
Who wants to record this?
Should they be recorded by users?  By admins?
Recorded by users and approved by admins?

From @andrewMacmurray on November 10, 2016 15:37
@iteles we thought it might be best to start without admins (it seems like an unnecessary feature at this point), we're assuming for the initial build that we'll trust everyone will be honest with the amounts they enter in.

From @iteles on November 10, 2016 15:39
Not MVP, agreed, particularly if we have #6 and #2 👍


FEBS model experiments

= Description =

Apply the systems biology [wiki:Resources/Modeling/SBModelBuildingCycle model life cycle] to the FEBS model written in #3 using third party tools (COPASI, AMIGO, libSBMLsim etc).

= Context =

The !BioPreDyn project consists in implementing a work flow for systems biology model analysis. The FEBS model is a very simple enzyme / substrate model (used as an example in [http://www.ncbi.nlm.nih.gov/pubmed/19215296 this paper]) which will be used for prototyping the different tools used in the [wiki:Resources/Modeling/SBModelBuildingCycle model building cycle].
SBML was chosen as the main language for describing models in !BioPreDyn.

= Success criteria =

Systems biology life cycle steps successfully applied to the FEBS model.

= Expected issues =

High:
Not all the steps of the systems biology cycle are available through the tools used by the consortium.

Imported from trac issue 4.  Created by bmoreau on 2013-05-27T15:22:21, last modified: 2015-01-19T10:59:04

Trac comment by bmoreau on 2015-01-19 10:59:04:
See #5.


discrepancies between the paper and the code

Thanks for your awsome work! I have read your paper and your code, but I find that there are some discrepancies between the paper and the code:

In the experiments/config.py file, the flag RL_TRAIN.dagger is set to False, indicating that this code does not employ the Dagger algorithm when explore = True. I am curious whether it is necessary to change this flag to True. Additionally, I would like to know if there are any other configurations that might differ from those outlined in the paper or the config.yaml file of the provided demo model (batch_size? buffer_size?).

I find that the goal_reward_mask is need for calculating the grasp_aux_loss for both the critic and the actor:
self.policy_grasp_aux_loss =  goal_pred_loss(self.aux_pred[self.goal_reward_mask, :7], self.target_grasp_batch[self.goal_reward_mask, :7] )  #agent.py L151
However, I've observed that when the reward is greater than 0, the goal_reward_mask is set to 1:
self.goal_reward_mask = torch.ones_like(self.time_batch).bool() * self.reward_mask  #agent.py L246
This implies that the code computes the grasp_aux_loss only when the reward is greater than 0 (final step of a successful grasp). Is that true?

Thanks for your great work and patience!

Dagger would be helpful for policy training. I recommend turning it on if you want better performance.
Yes the goal auxiliary loss will only apply to successful goals.


jar without bash

Hey,
is there a pure jar to download from somewhere without selfrun.sh, it really messes up fish and python venv if you are not using bash
Thanks,
Boris

Hello, @shomodj
Please try, https://github.com/treasure-data/digdag/issues/426#issuecomment-267206850
Homebrew (macOS package system) use the following wrapper script.
It worked well on the fish shell.
#!/bin/bash
exec /bin/bash "/path/to/digdag.jar" "$@"

https://github.com/Homebrew/homebrew-core/blob/master/Formula/digdag.rb

Yay, that work, thanks :)


[refactor] Upgrade to MySQL 5.7.37 to reduce unnecessary CVE issues

Problem Summary:
Upgrade to MySQL 5.7.37 to reduce unnecessary CVE issues
Checklist(Required)

Does it affect the original behavior: (No)
Has unit tests been added: (No)
Has document been added or modified: (No)
Does it need to update dependencies: (No)
Are there any changes that cannot be rolled back: (No)

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

Hi @aopangzi , thanks for your contribution.
And please also modify the document:
docs/zh-CN/administrator-guide/variables.md
docs/en/administrator-guide/variables.md

to add new variables

Hi @aopangzi , please rebase the master to solve the conflict.


Determine which model to use for permafrost MAGT mini-maps

Since we do not have a 5-model-average for this dataset, we need to decide which of the give models to use. Let's ask the Permafrost Laboratory for input on this.

CCSM4 and CGCM3 (least and greatest fire activity) are consistent with other IEM outputs. JL likes these two models (currently in the app) for now.

I'm going to close this issue since we got positive feedback / no disagreement on the two models we have chosen for the permafrost MAGT mini-maps.


Populate PossibleTypes with merged type

The mergePossibleTypes function when populating the types just used the value from one of the source trees instead of the merged type.
This would only be apparent once one type of an interface was a @boundary type, depending on the order the services were merged in the final merged schema could be missing fields from other services.

Codecov Report

Merging #165 (6e4c1de) into main (7dbaf67) will decrease coverage by 0.01%.
The diff coverage is 100.00%.

:exclamation: Current head 6e4c1de differs from pull request most recent head 8223454. Consider uploading reports for the commit 8223454 to get more accurate results

@@            Coverage Diff             @@
##             main     #165      +/-   ##
==========================================
- Coverage   70.54%   70.53%   -0.02%
==========================================
  Files          25       25
  Lines        2679     2678       -1
==========================================
- Hits         1890     1889       -1
  Misses        669      669
  Partials      120      120

Impacted Files
Coverage Δ

auth.go
88.46% <100.00%> (-0.08%)
:arrow_down:

merge.go
93.54% <100.00%> (ø)

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 7dbaf67...8223454. Read the comment docs.


Missing BitArray toString function

In general we should improve the way to debug and analyze Fleks. Imo it is currently impossible to understand which bit of a BitArray is set which makes it hard to e.g. debug entities of a family before the bag gets updated or the component mask of an entity.
In addition, it is not comfortable to immediately see which entities have which components because of the performant and efficient way things are stored internally.
I am thinking of a toMap function for the world where the key is the entity and the value is a list of components of that entity.
Such a map can e.g. easily be converted to a JSON string for serializing but it also allows an easy overview of the current state of the world, it's entities and its components.
That should not be hard to implement with the information that the EntityService already has. It knows the active entities and the component mask of each entity which is the ComponentMapper ID of each component of the entity. The mapper can already be retrieved via the ID with the ComponentService.

Maybe name it toEntityComponentMap().
But in general I think this feature is a good addition 👍

One question just popped in my mind. Will the generated map be just a snapshot in time from the fleks entity components relation. The stuff will change quite quickly, so it will not be a map which is updated all the time automatically? I guess that would be using too much time resources. I know it is only for debugging. So we can switch it off, entirely.

It is just a snapshot. And you are right that the components and entities can quickly change. The content of the map will then be outdated but will reflect some of the changes like e.g. component data changes etc..
However, the purpose is to get a one-time snapshot and do something with it like either debugging or serializing it or whatever ;)
Shall we just call it snapshot?

I absolutely agree. Snapshot as name is a good idea. How about implementing also a restore function which takes a snapshot as input and creates the saved entities and components in a clean world. That would make it possible to implement a save state in the game and to restore it later. Use case could be "save points" in a level or (like on Android) saving the game state on background (or terminate) event and restore the game if Android killed the process while in background.

I thought about this as well and it will be a great feature but I am not sure yet how to easily solve that.
Storing the entity and its component data is rather easy imo. Can be as simple as converting the map to a JSON string.
But when it comes to loading, I don't have a good idea on how to set the data of a component properly.
Creating the entity and adding the components is again not difficult, I think. But then setting the component data correctly inside Fleks, I have no idea 😅
In my games so far this was always a special code and I did not even need to store everything inside the world.
E.g. I only need to store the position and the type if it is a player or troll or rock or whatever. I pass this info that a "spawnEntity" function which then creates an entity with all necessary components based on the type and position.
Again, I think it will be a great and cool feature and I for sure will be able to do it for JVM only but I want to always consider KMP and there I don't know right now his to correctly restore a "state" of a specific component. Do you have an idea? Maybe it is something pretty simple and I just don't know about it 😉

Oh maybe I misunderstood you. Do you mean that the restore function already takes a map<entity,components> as input? That makes it easier to implement and leaves the serializing/deserializing up to the user. They can even then add third party libraries for that which are already available for kotlin Multiplatform as well as far as I know.
I like that more then what I described above. I guess we should then keep the entity IDs that are part of the map meaning that we need an entity create function where we can set what kind of id shall be used. Maybe we can even just manipulate the nextId of the EntityService before calling the entity create function.
I think that should work. But is that what you had in mind? 😉

Do you mean that the restore function already takes a map<entity,components> as input?

Yes, this is what I meant.
Regarding that serialisation topic. I am thinking of storing just basic types like ints, floats, strings, arrays and simple structures in the components. No special Korge related objects like views (used for displaying sprites e.g.). Thus, saving that data is just straightforward. Then on creation of the entity e.g. a sprite, I store the needed korge objects inside the systems and access them with their entity ID.
My goal is to have the full game state inside the components. Even things like life and game score counter, health etc.
Then when restoring the entities and components the needed korge objects will be recreated inside componentlosteners and entitylisteners.

Maybe we can even just manipulate the nextId of the EntityService before calling the entity create function.

Yes, I guess that should work.

Sorry, I hit the wrong button ;)

@jobe-m : I implemented a loadSnapshot function and there is a question that popped up.
Imagine you have a snapshot like:
mapOf(
  Entity(1000) to listOf(Cmp1, Cmp2),
  Entity(1500) to listOf(Cmp1, Cmp3, Cmp4),
)

The snapshot only contains two entities. Before loading a snapshot I clear the world by calling removeAll because I guess you want to get the exact state of the snapshot, right?
Now imagine we have an empty world and load the snapshot from above. Shouldnt we then just create two entities with ID 0 and 1 instead of ID 1000 and 1500? If we want to match the IDs then we also need to update the nextIdandrecycledEntities` of the EntityService. In this example it means we need to add 1498 recycled entities and adjust the nextId to 1501.
This is of course possible but I am not sure if want that. Maybe it is better to just work with the ids that the world is currently having and not mess around with the EntityService. The current implementation without adjusting the ids and recycled entities looks like this:
/**
     * Loads the given [snapshot] of the world. This will first clear any existing
     * entity of the world. After that it will load all provided entities and components.
     * This will also notify [ComponentListener] and [FamilyListener].
     *
     * @throws FleksSnapshotException if a family iteration is currently in process.
     *
     * @throws FleksMissingNoArgsComponentConstructorException if any of the components is missing
     * a no argument constructor.
     */
    fun loadSnapshot(snapshot: Map<Entity, List<Any>>) {
        if (entityService.delayRemoval) {
            throw FleksSnapshotException("Snapshots cannot be loaded while a family iteration is in process")
        }

        removeAll()
        snapshot.forEach { (_, components) ->
            with(entityService) {
                configureEntity(create { }, components)
            }
        }
    }

I decided to go for adjusting the EntityService accordingly because I did not like that the given ids of the map do not match the ids of the created entities. I think this is an unintuitive behavior.
Please have a look at the PR and the provided tests in the WorldTest file. I tried to cover all use cases but maybe I forgot something?

Sorry, for the late answer. Yes, I also like that the entity IDs are kept consistent. The reason is that I use relations between entities. E.g. a master entity contains a component with sub-entity IDs. That way the master entity can control it's slave entities. But for that the recreated world needs to have the same entity IDs as before otherwise the relations to the sub-entities would be wrong.
Great and many thanks that you found the time to already implement that feature! :)

I will have a look to the testing code later. The implementation looks ok I think.

Thank you! :)
I also added a new wiki page now for debugging information: https://github.com/Quillraven/Fleks/wiki/Debugging


Game disconnects when I go to another page and then back

Game disconnects when I go to another page and then back

Duplicate of #136


Feature:  Create better support for custom connections

There was discussion in #106 about enabling better support for custom connections and recent changes were made to make that easier to implement in #107, #108, and #109.

Ideally it would be nice to have an easy way to declare connections with custom fields and edges with custom fields.  I'm not exactly sure the best way to implement this, but it would be nice to have the customization and at the same time utilize the existing connection code, including slicing, etc.

@NeedleInAJayStack I know you mentioned you had begun to think about how this might be accomplished.

In addition, maybe it makes sense to also think about the "connection of a protocol" issue where because Node needs to implement Encodable, it is currently not possible to have a connection of a Union or Interface.  There is a fix, and that is to create a wrapper type, but that's obviously not the cleanest approach.

A possible solution to 2 was mentioned here:
https://github.com/GraphQLSwift/Graphiti/issues/50#issuecomment-776896528

Just put in a pull request that addresses item 1: https://github.com/GraphQLSwift/Graphiti/pull/112

Well that was fast!


Suggestion to Active Record "count_all_results()"

It would be interesting that had the option to not reset query. By example:

// (file )system/database/DB_active_rec.php (line:973)
public function count_all_results($table = '', $reset = true)
[...]
if ( $reset )
{
$this->_reset_select();
}
Why this it? Because you may need to take this query to list immediatly after.
One example of the use would in Pagination that need count all results and also need list immediatly after.
What do you think?

I sent the pull request.


[INLONG-1852] The Master of TubeMQ supports monitoring indicators with JMX

Fixes #1852

Codecov Report

Merging #1870 (5043807) into master (8b0bc7a) will increase coverage by 0.06%.
The diff coverage is 29.92%.

@@             Coverage Diff              @@
##             master    #1870      +/-   ##
============================================
+ Coverage     11.52%   11.58%   +0.06%
- Complexity     1051     1055       +4
============================================
  Files           400      401       +1
  Lines         34789    34881      +92
  Branches       5504     5525      +21
============================================
+ Hits           4009     4041      +32
- Misses        30013    30072      +59
- Partials        767      768       +1

Impacted Files
Coverage Δ

...rg/apache/inlong/tubemq/server/master/TMaster.java
0.00% <0.00%> (ø)

...emq/server/master/balance/DefaultLoadBalancer.java
0.00% <0.00%> (ø)

.../master/nodemanage/nodebroker/BrokerAbnHolder.java
0.00% <0.00%> (ø)

...ter/nodemanage/nodebroker/DefBrokerRunManager.java
0.00% <0.00%> (ø)

...ster/nodemanage/nodeconsumer/ConsumeGroupInfo.java
0.00% <0.00%> (ø)

...er/nodemanage/nodeconsumer/ConsumerInfoHolder.java
1.33% <0.00%> (-0.06%)
:arrow_down:

...er/nodemanage/nodeproducer/ProducerInfoHolder.java
0.00% <0.00%> (ø)

.../nodemanage/nodeconsumer/ConsumerEventManager.java
31.15% <64.70%> (+3.60%)
:arrow_up:

...ong/tubemq/server/master/metrics/MasterMetric.java
100.00% <100.00%> (ø)

.../inlong/tubemq/corebase/policies/FlowCtrlItem.java
38.88% <0.00%> (-1.12%)
:arrow_down:

... and 4 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 8b0bc7a...5043807. Read the comment docs.

@gosonzhang please add a guiding document after this PR merged.

@dockerzhang, I’m still working on the Broker’s metrics, and I will submit the documents after this sub-issue is completed.


test__custom_commit_message acceptance test intermittently fails

The acceptance test  located at tests/acceptance/standard/test_files.py::TestFiles::test__custom_commit_message intermittently fails. Examples:

https://github.com/gitlabform/gitlabform/actions/runs/6031288955/job/16364708681
https://github.com/gitlabform/gitlabform/actions/runs/6072962483/job/16473939160

Processing file 'README.md' in branch 'gitlabform_branch_liqueur'
----------------------------- Captured stderr call -----------------------------
Error: Operation add on file README.md in branch gitlabform_branch_liqueur not permitted, but we don't have a branch protection configuration provided for this branch. Breaking as we cannot unprotect the branch as we would not know how to protect it again. 1
------------------------------ Captured log call -------------------------------
...
=========================== short test summary info ============================
FAILED tests/acceptance/standard/test_files.py::TestFiles::test__custom_commit_message - SystemExit: 1
============== 1 failed, 106 passed, 3 rerun in 255.63s (0:04:15) ==============

It'd be nice to stabilize the test. Otherwise processing PRs require extra time.

Haven't seen this issue for a long time. Closing this.


[Feature] Color Codes

What type of feature is it?
Color Code support for placeholders.
Describe your feature
Here is an example:
placeholder: "class"
text: "&6You don't have a class"
conditions:
swords:
type: PERMISSION
value: "mcmmo.perks.xp.customboost.swords"
text: "&#FDFD96ᴡᴀʀʀɪᴏʀ&e"

This is already implemented.


Add function to convert string to float in template

The humanize* functions in template only accept float64 as input. However some labels are string and is not possible to use them, so is needed some extra-function to convert string label to float and then apply the humanize function.
Example:
text:   "{{ strToFloat \"1435065584.128\" | humanizeTimestamp }}",
output: "2015-06-23 13:19:44.128 +0000 UTC",

Actually is not a value, the timestamp is part of the label job_name (I'm getting that from K8s). So I can't show or manipulate the $labels.job_name in Prometheus alert, to convert the timestamp in date. Maybe there is a better option, but to be honest I don't know, and I fixed it creating a new function in template.go. then I just do
{{ strToFloat (reReplaceAll "\D+" "" $labels.job_name) | humanizeTimestamp }}

Thank you for taking the time and answering me.

We went through this issue in our bug scrub and we don't think this should be a feature. Labels are strings, and shouldn't be used as/to-store numbers.
If you're looking for getting a timestamp out, try joining with process_start_time_seconds or join with kube-state-metrics / cAdvisor.


feat: migrate to monorepo

Migrate create-nuxt-app to monorepo, we can do more improvements base on this change:

separate framework packages and enable auto upgradation(renovate) pr
make all templates have better granular
easier support for adding new functionality

I like this change 👍

This is awesome :)


Fixed copy & paste error

Sorry for no PR description but I think this change does not need it :smile:.
Regards,
Philip

Thanks for your pull request. Before we can look at it, you'll need to add a 'DCO signoff' to your commits.
:memo: Please follow instructions in the contributing guide to update your commits with the DCO
Full details of the Developer Certificate of Origin can be found at developercertificate.org.
The list of commits missing DCO signoff:

fde46d4 Fixed copy & paste error

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To complete the pull request process, please assign kris-nova
You can assign the PR to them by writing /assign @kris-nova in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Welcome @PhilipSchmid! It looks like this is your first PR to falcosecurity/charts 🎉

@leogr Better now?

I'll reopen a new PR with all commits dco'ed..


guardian-agent: init at 0.7.2-beta

Motivation for this change
guardian-agent: init at 0.7.2-beta
Fixes #63834.
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[X] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[X] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Assured whether relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

After looking at that script I still thing we should be wrapping it with wrapProgram like https://github.com/NixOS/nixpkgs/pull/63898#discussion_r300844446.
Why didn't it work for you?


[QUESTION] Using Microsoft.Extensions.Logging with Config Server

Question
How can i pass my logger which is of Microsoft.Extensions.Logging into AddConfigServer so that the logs from the config server configuration provider is in a consistent manner with the rest of my logs.
Environment (please complete the following information):

.NET 8
Steeltoe Version 3.2.6

Additional context or links
Add any other context about the problem here.

Due to the way Configuration providers integrate with the any of the hosts Microsoft offers, you have to build a separate ILoggerFactory for use before the shared one is available. There are a couple of ways to do this here:

As we have documented, (build a separate, custom LoggerFactory just for startup)

There is an IHostedService that is automatically added from the HostBuilder extensions, or can be added with AddConfigServerServices() which will replace this startup LoggerFactory with your common logging configuration once it is available

Use BootstrapLoggerFactory.Instance, optionally adding the BootstrapLoggerHostedService so that your common logging configuration can be applied once it is available

Thanks @TimHess  that has been super helpful, i has missed the logger factory option.


Binding

Why on earth is this property not bindable?

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 7e5d8195-7873-655b-2dbf-640ef32a75d9
Version Independent ID: 10543dd3-f885-8183-3529-2a455e7e8e50
Content: ListBox.SelectedItems Property (Windows.UI.Xaml.Controls) - Windows UWP applications
Content Source: https://cpubwin.visualstudio.com/DefaultCollection/windows-uwp/_git/winrt-api-build?path=%2fwinrt-api-build%2fwindows.ui.xaml.controls.listbox.yml&version=GBlive&_a=contents
Product: uwp
Git Login: jwmsft
Microsoft Alias: jimwalk

This is a feature request. We're asking folks to file feature requests for XAML on https://github.com/Microsoft/microsoft-ui-xaml. Thanks!


"decimals" is not a valid input

This is currently a read-only field.

Codecov Report

Merging #766 (b53c546) into main (b1dfe7a) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##              main      #766   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files          322       322
  Lines        20145     20145
=========================================
  Hits         20145     20145

Impacted Files
Coverage Δ

pkg/fftypes/tokenpool.go
100.00% <ø> (ø)

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 b1dfe7a...b53c546. Read the comment docs.


S2+ [Task] Investigate Unique Constraints

Task
Enforce Unique Constraints

Task Title
Enforce Unique Constraints

User Story
#135

Epic

T-shirt size default is S(mall)
M

Story Points - Fibonacci (1,2,3,5)
3

Description
Determine best methodology to enforce unique constraints (e.g. email, username)

Business Need (the why):
certain data fields must be unique

Applications or Systems impacted
Sawtooth and Rethink storage

Dependencies

Assumptions

Listed also as a bug:
Email is not being enforced as being unique
Username is not being enforced as being unique
Group name is not being enforced as being unique

In order to enforce unique constraints using Sawtooth and not be reliant on RethinkDB, additional address types will need to be created. This will require a change to the addressing scheme, as the existing addressing scheme leaves no room for additional address types.

Issue #140 begins the process of evaluating and changing the address scheme.


[JAVA] Hello Earthrise program: First JavaFX Program Development.

Proposed title of article
[JAVA] Hello Earthrise program: First JavaFX Program Development.
Proposed article introduction
The javafx.animation package contains convenience classes for animating nodes. This Translate Transition instance (created by the Translate Transition Builder class) translates the Text node referenced by the textRef variable from its original Y position of 100 pixels to a Y position of -820 pixels, over a duration of 75 seconds. The Interpolator.LINEAR constant is assigned to the interpolator property, which causes the animation to proceed in a linear fashion. A look at the API docs for the Interpolator class in the javafx.animation package reveals that there are other forms of interpolation available, one of which is EASE_OUT, which slows down the animation toward the end of the specified duration.
This article will be showing how to run a Earthrise Program from the command-Line in a simple way. It will still give a simpler way in which one can compile a JavaFX program using the NetBeans IDE.
Key takeaways

Running the Program from the Command-Line.
Apprehension of the Hello Earthrise Program.
Running and compiling the program with NetBeans.

References
N/A

How will this article differ from official documentation? Note that running the program in NetBeans is not a key takeaway

Hello, I intend to make the article simple and easy to understand for beginners. Most of the articles presented cover the exact what is Earthrise program but do not show how it is developed . My aim, I will be glad to make it more than mint to everyone who comes across it and hence comprehensible. Thank you


Changing location of the search results to search results pane.

To be updated in the future development portion of the DG?

done alr


First draft communications strategy

I tried to list the approval process and ways we can use for outreach and gathering feedback.
Related to #473

Recommended structural changes before going too deep in details. To spend time in reflecting on our objectives and type of audience.
This article is interesting in helping us drafting the strategy (we can use a shorten version of their recommendations): https://knowhow.ncvo.org.uk/campaigns/communications/communications-strategy

Made some changes.  Feel free to add headers, content or reorganize.

Great document! Pushed some proposed adjustments regarding wording and ordering.

Great document! Pushed some proposed adjustments regarding wording and ordering.

@gabrielcossette oh oh... Je pense que j'ai peut-être remplacer tes changements en faisant un merge conflict 😝


update links

Q
A

Is bugfix?
❌

New feature?
❌

Breaks BC?
❌

Fixed issues
resolve https://github.com/yiisoft/demo/issues/564

👍


[BugFix] Remove the helpers from bdb ReplicationGroupAdmin when dropped fe

What type of PR is this：

[x] bug
[ ] feature
[ ] enhancement
[ ] refactor
[ ] others

Which issues of this PR fixes ：

Fixes #5663
Problem Summary(Required) ：

Remove the helpers from bdb ReplicationGroupAdmin when dropped fe

run starrocks_fe_unittest

run starrocks_fe_unittest

run starrocks_fe_unittest

run starrocks_fe_unittest

run starrocks_fe_unittest

run starrocks_fe_unittest

run starrocks_fe_unittest

[FE PR Coverage check]
:heart_eyes: pass : 9 / 9 (100.00%)
file detail

path
covered line
new line
coverage

:large_blue_circle:
com/starrocks/server/NodeMgr.java
1
1
100.00%

:large_blue_circle:
com/starrocks/ha/BDBHA.java
8
8
100.00%


Path as parameter is needed

Is there any workaround?
In petshop example http://petstore.swagger.io/#!/store/getOrderById  this one explains the need:
GET /store/order/{orderId}

You can specify path parameters in the HTTP In node's path field:
/store/order/:orderId

Yes, works but was not documented :-)


Responsiveness of left sidebar in website

The current website page, when checked for responsiveness leaves an odd space next to the left sidebar.  I want to correct it for different views. Please assign the issue to me.

@PANDEYS432 Issue assigned to you

@SUGAM-ARORA seems like author is not working on this anymore u can assign this to me I am a gssoc'24 participants

@anwesha2002 Issue assigned to you


[TA] fix formatting for docs

https://github.com/Azure/azure-sdk-for-python/issues/29166

API change check
API changes are not detected in this pull request.


unaccesible options menu

I cant even slide through to the bottom of settings menu. It suddenly turns to the mcpe title screen so, i cant disable any mods or texture pack chances.
GTI9100 and android 4.1.2 Do you need for any other details?

@sdagbin983 I don't if your phone screen is broken or it might used by rotation tool app .
No choice, try to clear the data of MCPE Launcher.
I wish it works from your phone.

@sdagbin983 I mean *I don't know-

@sdagbin983 i think that's because of your font size on your phone.


Custom wordlists

It seems many wordlists are not being accepted into the bip39 standard.
See https://github.com/bitcoin/bips/pull/863#issuecomment-559024471
An option, albeit quite dangerous to end users, would be to allow custom wordlists.
This to me would include two new features

a list of links to unofficial wordlists. This would be a link to a copy/paste version of the list, and a second link explaining the reasoning behind the wordchoices (eg a conversation in a github issue or PR).
a textarea to load a custom wordlist. This means users can load any list of 2048 words, which is extremely dangerous, and it relies on copy paste, which also seems dangerous.

I'll leave this issue here to funnel discussion when wordlists comes up. I think this potential feature is too easy for users to create mistakes, but I'm open to making this tool easier for other languages.

Yes, bip39 would reject any further wordlist proposal.
Myself also has 2 unofficial wordlists (german and russian), see https://sebres.github.io/bip39 (or https://github.com/sebres/coins-bip39 for source), however I use them just for backup purposes.
By the way, I never understand the necessity to use mnemonic words (rather the need to remember so many words) for the wallet at all.
Many people already using deterministic or persistent password generators with a secret and/or password (like my pwd-gen for instance or browser extensions). So I extended this web-tool with base 64 and base 91 entropy-type, in order to be able input the entropy in that format (in chars of base 64 or base 91). Also one can now enter it direct using pwd-gen dialog or from browser extension.
The pros:

one doesn't need to remember large amount of foreign words anymore (lastly, own secret and/or password are enough);
the secret and password can be entered in own native language and as completely free text, so no wordlists needed at all;
they can be even the same as used for the passwords of any other web-sites (so no need to remember additional secret and/or password at all);
the entropy is many times larger by default, e. g. entered via pwd-gen which uses very long type, it becomes 512 bits, that corresponds 48 words in mnemonic phrase (can one still really remember 48 words in correct order?)

@iancoleman, if you think it is interesting enhancement, I could provide a PR with that.


Running love.graphics.newText on a string with a single space and getting its width returns 0

See title:
local text = love.graphics.newText(love.graphics.getFont(), ' ')
print(text:getWidth()) --> 0

This does not replicate the behavior when using Font:getWidth in love.js or Text:getWidth natively, both of which return 8 (or whatever the size of a space in the font is).

Possibly related - a game I'm working on has text input, and the text input constantly strips out any spaces in the web version (not other versions). Could it be that the problem isn't with getWidth but instead with how spaces are treated in general?

Which version of love.js are you running? On the 11.4 version compiled with the compatibility flag I get the same width for a space both on the web version and the native version.

@kristinalustig Concerning spaces captured using the textinput handler, love.js overwrites the browsers default use of spaces and arrow keys (in index.html). Note that space is still captured in the keypressed handler.


Base64 images

Hi!
I know it's an old example on how to use CDO dll...
But...I'm wondering if you can help me in "improving" this...
I did as you showed (or better, I included your example in my solution), then I tried toget HTML message:
var message = CdoWrapper.LoadMessage(file);
...
webBrowser1.DocumentText = message.HTMLBody;

Result: It works if images are "inline" as links, but...Html is missing base64 references if you have some...
message.HTMLBody string contains ...to..., but .eml file ends with base64 references...ignored (I think)
Do you know how to solve this?

Try looking at the BASE64 in a text editor. I would think you see the binary content of the inline body parts (images). You would need to extract them, save to disk. In the HTML patch the references those embedded images to point to the saved extracted files.
Did not do this myself nor am I planning to, so please try or post to stack overflow; maybe someone has an example in case you can't do it on your own.
Happy coding


Add resting state EEG experiments

PR to make a new experiment class eegnb.experiments.resting_state which includes "resting"-type tasks.
Progress:

There is a class for rs experiments.

Issues:

The BaseExperiment class handles the iti and soa between stimuli such that an iteration of events is assigned to one block, and does the win.flip() between trials. This causes the third and later beeps to not come through correctly.

Solution: either

Fix the BaseClass such that parts of the iti/soa/block design are infer-able using added higher-level input.
OR, base it off of aob.py wherein we do not use a binomial distribution, but rather a repetitive 0,1,0,1 stimulus parameter.
Hotfix in the meantime: The rs.RestingState experiment overrides the load_stimulus() and present_stimulus() classes and even creates a custom run_ts() method to run the experiment. Will be reverted after the new implementation is brought forward.

@tmorshed what is the future of this PR? Is it close to completion? Were there some structural issues with it still?


ci(workflows): Updated version

What does this PR do?
Improve repo
For resources
Description

Updated actions/setup-node@v1 to v2
Updated actions/checkout@v1 to v2
Updated ruby-version: 2.4.1 to 2.6

For book lists, is it a book? For course lists, is it a course? etc.
Checklist:

[X] Read our contributing guidelines

Follow-up

Check the status of GitHub Actions and resolve any reported warnings!

Note: this should be automated if we activate dependabot. See my PR #5521 :wink:


Add Jobg8 URL Monitor

The "Jobg8 URL Monitor" user agent acts like a non-human for our site by not executing JavaScript and requesting from one IP address.

Awesome, thanks! ❤


Problem creating pool, no gas limit

Hello, I'm try create pool:
import { Dhedge, Dapp, Network, ethers } from "@dhedge/v2-sdk";
const privateKey = "...";
const providerUrl = "https://polygon-mainnet.infura.io/v3/..."
const provider = new ethers.providers.JsonRpcProvider(providerUrl);
const walletWithProvider = new ethers.Wallet(privateKey, provider);
const dhedge = new Dhedge(walletWithProvider, Network.POLYGON);
const usdcTokenAddress = "0x2791bca1f2de4661ed88a30c99a7a9449aa84174"
const daiTokenAddress = "0x8f3cf7ad23cd3cadbd9735aff958023239c6a063"
const pool = dhedge.createPool(
"Day Ralio",
"Awesome Fund",
"DRAF",
[
[usdcTokenAddress, true],
[daiTokenAddress, false],
],
10
).then((pool)=>{
console.log("created pool with address", pool.address)
})
But I am getting an error:
Error: cannot estimate gas; transaction may fail or may require manual gas limit
How to add gas limit in code? Thanks

Hi,
In the createPool function you can pass an options parameter after the
managerFeeNumerator:
e.g. { gasLimit: "3000000"}
Let me know if that works for you.
Am Do., 10. Nov. 2022 um 02:30 Uhr schrieb Ivan Savchuk <
@.***>:

Hello, I'm try create pool:
import { Dhedge, Dapp, Network, ethers } from @.***/v2-sdk";
const privateKey = "...";
const providerUrl = "https://polygon-mainnet.infura.io/v3/..."
const provider = new ethers.providers.JsonRpcProvider(providerUrl);
const walletWithProvider = new ethers.Wallet(privateKey, provider);
const dhedge = new Dhedge(walletWithProvider, Network.POLYGON);
const usdcTokenAddress = "0x2791bca1f2de4661ed88a30c99a7a9449aa84174"
const daiTokenAddress = "0x8f3cf7ad23cd3cadbd9735aff958023239c6a063"
const pool = dhedge.createPool(
"Day Ralio",
"Awesome Fund",
"DRAF",
[
[usdcTokenAddress, true],
[daiTokenAddress, false],
],
10
).then((pool)=>{
console.log("created pool with address", pool.address)
})
But I am getting an error:
Error: cannot estimate gas; transaction may fail or may require manual gas
limit
How to add gas limit in code? Thanks
—
Reply to this email directly, view it on GitHub
https://github.com/dhedge/dhedge-v2-sdk/issues/30, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAJ4SRIZIGJITDR2W2BLQMDWHSP77ANCNFSM6AAAAAAR4HZOXU
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


Newsletter 17

Feel free to suggest sections!
If you want to help writing the newsletter:

Read CONTRIBUTING.md.
Grab some of the "🆓 free" sections by leaving a comment like "I'd like to work on {section_name_1} and {section_name_2}".
Mentions in brackets (like "🆓 free (@ozkriff?)") are just an invitation to write the corresponding section if you want, but anyone is free to take it.
Write a short overview:

Use provided links as a starting point.
Try to maintain a consistent style with the rest of the newsletter and run markdownlint, please.
Insert line breaks (softbreak) at 80 chars, please.
DM me on Discord or Telegram if there're any questions.

Send a PR to the source branch (example: #336)

Mention this issue in your PR's description to link it all together.

The soft deadline for all section PRs is 2021.01.06
Current structure/status (I'll try to keep this updated):

[ ] Rust GameDev Podcast 4 (1, 2) - 🚧 WIP by @ozkriff
[ ] Game Updates

[x] Way of Rhea - ✔ done by @MasonRemaley in #407
[ ] Veloren (1) - 🚧 WIP by @AngelOnFira
[ ] A/B Street & 15 Minute Santa (1, 2, 3) - 🆓 free (@dabreegster?)
[ ] Egregoria - 🚧 WIP by @Uriopass in #413
[ ] doukutsu-rs (1) - 🚧 WIP by @alula
[ ] Antorum (1) - 🚧 WIP by @Dooskington in #419
[ ] Akigi (1) - 🚧 WIP by @chinedufn
[ ] Swoop (1, 2) - 🆓 free (@sdfgeoff?)
[ ] Harvest Hero - 🚧 WIP by @Bombfuse in #418
[ ] FreeNukum (1, 2) - 🆓 free (@silwol?)
[ ] OpenEtG JS->Rust story (1) - 🆓 free (@serprex?)
[ ] Weegames 🚧 WIP by @yeahross0 in #416
[ ] Zemeroth (1) - 🚧 WIP by @ozkriff
[ ] Cheese (1, 2) - 🚧 WIP by @expenses
[ ] vollmond (1, 2) - 🆓 free (@puppetmaster-?)

[ ] Learning Material Updates

[ ] How to Revive a Dead Rust Project (1, 2) - 🚧 WIP by @tigleym in #412
[ ] Build Pikachu game in Rust (1) - 🚧 WIP by @danbugs in #417
[ ] re-creating a retro screensaver (1) - 🚧 WIP by @septum
[ ] Rendering bezier strokes with SDFs (1, 2) - 🚧 WIP by @pum-purum-pum-pum
[ ] Nannou: creative coding with Rust (1) - 🚧 WIP by @septum
[ ] Triangle From Scratch (1, 2, 3) - 🚧 WIP by @Lokathor
[ ] Undergrad Thesis on game scripting for Legion (1, 2) - 🚧 WIP by @pablodiegoss

[ ] Library & Tooling Updates

[ ] thermite (1, 2) - 🆓 free (@novacrazy)
[ ] kira 0.2 & 0.3 (1, 2, 3) - 🆓 free (@tesselode?)
[ ] polyhedron-ops - 🆓 free (@virtualritz?)
[ ] raw-gl-context (1) - 🆓 free (@glowcoil?)
[ ] SPIR-Q 0.4.10 (1) - 🚧 WIP by @PENGUINLIONG
[ ] rust-gpu v0.2 (1) - 🚧 WIP by @XAMPPRocky
[ ] egui 0.5 & 0.6 (1, 2) - 🚧 WIP by @emilk in #415
[x] tetra (1) - ✔ done by @17cupsofcoffee in #409
[ ] macroquad (1, 2) - 🚧 WIP by not-fl3
[ ] rg3d/rusty-editor (1, 2, 3) - 🚧 WIP by @mrDIMAS
[ ] Starframe (1) - 🚧 WIP by @MoleTrooper in #414
[ ] dotrix (1, 2, 3, 4, 5, 6) - 🚧 WIP by @Lowentwickler
[ ] Oxygengine/raui (1, 2, 3, 4, 5) - 🚧 WIP by @PsichiX
[ ] Bevy v0.4 (1) - 🚧 WIP by @cart
[ ] rpt (1) - 🚧 WIP by @ekzhang
[ ] Textyle (1) - 🆓 free (@stefandevai?)
[ ] SHADERed + rust-gpu (1) - 🆓 free (@dfranx?)
[ ] playground.meteorlinker.com (1, 2) - 🆓 free

Final steps:

[ ] final review - by everyone
[ ] publish - by @ozkriff
[ ] post on /r/rust, /r/rust_gamedv, /r/gamedev, URLO, twitter.com/rust_gamedev - by @ozkriff
[ ] add comment links - by @ozkriff
[ ] add a draft of the 17 newsletter - by @ozkriff

getting raui/oxygengine for tomorrow :D

getting raui/oxygengine for tomorrow :D

I'll add a bit about the recent starframe physics improvements if it's cool :)

I'll add a bit about the recent starframe physics improvements if it's cool :)

Will take care of the Antorum section some time tonight ⚔

Will take care of the Antorum section some time tonight ⚔

Thanks, I can add a short section about rpt. 🙂

Thanks, I can add a short section about rpt. 🙂

I'll take bevy!

I'll take bevy!

I'll write up A/B Street & 15m Santa

I'll write up A/B Street & 15m Santa

Will take SPIR-Q!

Will take SPIR-Q!

I take dotrix!

I take dotrix!

I take d-rs

I take d-rs

I'll take Akigi

I'll take Akigi

I'll take rust-gpu 0.2

I'll take rust-gpu 0.2

Fun thing about the openEtG Rust/JS rewrite is that the following month I rewrote the server from node.js into Rust
https://github.com/serprex/openEtG/commit/e26a92eab81dbb53f247a2a6040a7491e727ee62
Ended up adding 2k lines to project, so not as much a 1:1 rewrite

Fun thing about the openEtG Rust/JS rewrite is that the following month I rewrote the server from node.js into Rust
https://github.com/serprex/openEtG/commit/e26a92eab81dbb53f247a2a6040a7491e727ee62
Ended up adding 2k lines to project, so not as much a 1:1 rewrite

I'll have a go at writing a piece for cheese : )

I'll have a go at writing a piece for cheese : )

I'll take Egregoria :cityscape:

I'll take Egregoria :cityscape:

I'll take re-creating a retro screensaver and Nannou: creative coding with Rust

I'll take re-creating a retro screensaver and Nannou: creative coding with Rust

I'd like to work on "Build the Pikachu game in Rust" section from the Learning Material Updates.

I'd like to work on "Build the Pikachu game in Rust" section from the Learning Material Updates.

I'll take the game scripting for legion thesis :D

I'll take the game scripting for legion thesis :D

I´ll take Vollmond in "Game Updates" 😄

I´ll take Vollmond in "Game Updates" 😄

I'll take FreeNukum in "Game Updates".

I'll take FreeNukum in "Game Updates".

I've gone ahead and filled out the playground.meteorlinker.com section. Thanks for featuring it :D

I've gone ahead and filled out the playground.meteorlinker.com section. Thanks for featuring it :D

Oh wow, there doesn't seem to be much free stuff (20 contributors to this issue :open_mouth:). @ozkriff feel free to assign a few to me if they end up not being taken by their recommended authors.

Oh wow, there doesn't seem to be much free stuff (20 contributors to this issue :open_mouth:). @ozkriff feel free to assign a few to me if they end up not being taken by their recommended authors.

I will take swoop

I will take swoop

made a pull request for kira

made a pull request for kira

I'll take raw-gl-context

I'll take raw-gl-context

Fun thing with openEtG Rust/JS rewrite is that last month I rewrote server from node.js into Rust: serprex/openEtG@e26a92e
Ended up adding 2k lines to project, so not as much a 1:1 rewrite

@serprex sorry, could you clarify a bit: it's additional info you'd like to be added to the section, right? Would you like to write that section?

Fun thing with openEtG Rust/JS rewrite is that last month I rewrote server from node.js into Rust: serprex/openEtG@e26a92e
Ended up adding 2k lines to project, so not as much a 1:1 rewrite

@serprex sorry, could you clarify a bit: it's additional info you'd like to be added to the section, right? Would you like to write that section?

Oh wow, there doesn't seem to be much free stuff (20 contributors to this issue open_mouth). @ozkriff feel free to assign a few to me if they end up not being taken by their recommended authors.

Awesome! Assigning "thermite" and "Textyle" to you than :)

Oh wow, there doesn't seem to be much free stuff (20 contributors to this issue open_mouth). @ozkriff feel free to assign a few to me if they end up not being taken by their recommended authors.

Awesome! Assigning "thermite" and "Textyle" to you than :)

Any volunteers for the last free sections: "OpenEtG JS->Rust story" and "polyhedron-ops"?

Any volunteers for the last free sections: "OpenEtG JS->Rust story" and "polyhedron-ops"?

Triangle From Scratch (GitHub repo) is a new tutorial series. So far there's just one article for opening a window using the Win32 API, but more subjects and on more platforms will be added over time. From the author:

The point isn't that we specifically care about drawing the triangle. That's just a goal that's easy to grasp. The point is that we're doing it with no dependencies as a way to get ourselves to learn about low level OS interaction details as we go. That said, the "no crates" rule is for educational purposes only; please feel free to use crates in normal situations.

Triangle From Scratch (GitHub repo) is a new tutorial series. So far there's just one article for opening a window using the Win32 API, but more subjects and on more platforms will be added over time. From the author:

The point isn't that we specifically care about drawing the triangle. That's just a goal that's easy to grasp. The point is that we're doing it with no dependencies as a way to get ourselves to learn about low level OS interaction details as we go. That said, the "no crates" rule is for educational purposes only; please feel free to use crates in normal situations.

Sorry that my reviews take so long, I have a hard time with this newsletter issue for various personal reasons. :snail:

Sorry that my reviews take so long, I have a hard time with this newsletter issue for various personal reasons. :snail:

No worries! Editing a newsletter of this size is no small feat. We all appreciate the work you put into it every month, and don't hold you against when it's released :heart_decoration:

No worries! Editing a newsletter of this size is no small feat. We all appreciate the work you put into it every month, and don't hold you against when it's released :heart_decoration:

Any volunteers for the last free sections: "OpenEtG JS->Rust story" and "polyhedron-ops"?

Well, taking them :)

Any volunteers for the last free sections: "OpenEtG JS->Rust story" and "polyhedron-ops"?

Well, taking them :)

i'm sorry for the delay with my part, lots of work was blocking me, but today i can finally sit down and write Oxygengine/RAUI section :)

i'm sorry for the delay with my part, lots of work was blocking me, but today i can finally sit down and write Oxygengine/RAUI section :)

Aaaan finally here's the final PR: #450 ("N17: Release") - everyone is invited to review.

Aaaan finally here's the final PR: #450 ("N17: Release") - everyone is invited to review.

It's out!
https://rust-gamedev.github.io/posts/newsletter-017

It's out!
https://rust-gamedev.github.io/posts/newsletter-017

Good job @ozkriff !

Good job @ozkriff !


Tag release?

Please tag your releases, so they can be seen on GitHub. Or, say, create one if you still have no version number… :wink:

@rugk thanks for encouraging me to do so. Done!


Pause not working sometimes

Sometimes the pause action does not work, it feels a bit random because I couldn't find a pattern.

This has been fixed.


2.0.2

Edit previous changes to make it properly backwards compatible

Can you expand the commit message please ? :)

huh...that was supposed to be 2 separate commits

LGTM code wise. Do we need an intermediate version 2.0.1 then? And can we squash the typo fix ? :)

@JeanFred annoyingly i already pushed 2.0.1 to pypi, so we have to keep it

squashed

LGTM


Package GableClient to Server static

Package the resource file generated from the  front-end code GableClient  into the server and access it through /index

Two ways get static resources, just like:

http://localhost:8080/static/runtime.0ff2802b9cc4abc4145c.js
http://localhost:8080/runtime.0ff2802b9cc4abc4145c.js

In SpringBoot 2.4.4，Only support way 2.It's a little strange in SpringBoot 2.5.4.


Noisy messages

Hello!
I don't know where should I ask things like that, so sorry for new issue.
I can't find any info on Noisy tag that your lib is parsing. Also, I don't see that tag on channels when i look raw strings captured. Can you tell more about it or give me some links to read?
Thanks!

I've heard and seen discussion regarding the Noisy tag in messages. From what I understand, ya largely beta feature and only enabled in certain channels. Last I saw was that it was slowly being rolled out. I think the Noisy tag indicates if a message would be perceived as being "noisy", as in being all caps or something. Although, it probably doesn't help that the default value is "false" even though most channels don't support the feature.

Okay, got it. Thanks for the reply! =)


Give header files a uniform indentation

Description
In this PR I looked at all 'extern "C"' statements in the header files. I want to make sure that they're all written in a uniform way, and that the closing bracket gets a comment. I didn't like these minimal statements that allow an extra indentation by Uncrustify:
#ifdef __cplusplus
    extern "C" {
#endif

/* functions */

#ifdef __cplusplus
}
#endif

I like to replace it with these:
/* *INDENT-OFF* */
#ifdef __cplusplus
    extern "C" {
#endif
/* *INDENT-ON* */

/* functions */

/* *INDENT-OFF* */
#ifdef __cplusplus
    } /* extern "C" */
#endif
/* *INDENT-ON* */

as they're used in most situations already.
Another reason for the above change is that the Windows' Uncrustify-0.69.0 has a problem with several header files.  Within Windows, I can not get the same result as with Uncrustify 0.69.0_f on Linux. Window's Uncrustify proposes this change:
-    #ifdef __cplusplus
-        } /* extern "C" */
-    #endif
+    #ifdef __cplusplus
+}            /* extern "C" */
+    #endif

which looks strange.
Also I repaired some copy/paste errors at the end of header files, for instance in FreeRTOS_IPv4.h :
-#endif /* FREERTOS_IP_H */
+#endif /* FREERTOS_IPV4_H */

There are about 7 of such mistypes.
And also I changed these:
-#endif /* ifndef FREERTOS_DNS_PARSER_H */
+#endif /* FREERTOS_DNS_PARSER_H */

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/bot run formatting

/bot run formatting


Eo

Getting this error message when trying to create USB installer. My downloaded MacOS is 12.6.3.
Couldn't mount dmg /Applications/Install macOS Monterey.app/Contents/SharedSupport/SharedSupport.dmg (error code 112)/Applications/Install macOS Monterey.app does not appear to be a valid OS installer application. (253)

The installer macOS need to be on te same drive you trying the program.

The error seemed to have stemmed from a corrupted macos installer download.Redownloading fixes it for me. Please close this issue. Thanks


Change decoding bytes array

Description

Add different way to decode bytes buffer to return account address.
Add toJson().

Why?

Resolves Issue: #176
Resolves Issue: #169

@leonardocustodio Can you please approve this PR ?

Not really, I see you took the idea of the squid approach. But there is a reason why kind is underlined in there. So we know it is not a struct. You should do the same if you are going that way.

@Lohann Can you please review the request ?