DNS leak

Hello,
Thank you so much for this clear writeup. When testing for DNS leak it does show my ISP. As far as I can tell, I have everything set. I'm using a RPi Zero 2w, and the 2.1.5 version of dnscrypt-proxy.
When testing via sudo ./dnscrypt-proxy it looks ok,

And I entered it into Pi-Hole where I used to have Unbound (which I uninstalled prior to trying this):

My router is my DHCP provider, and uses the IP of Pi-Hole as the primary DNS, no secondary DNS.
Any ideas?
Here's my TOML, using the same values in your examples:

##############################################
#                                            #
#        dnscrypt-proxy configuration        #
#                                            #
##############################################

## This is an example configuration file.
## You should adjust it to your needs, and save it as "dnscrypt-proxy.toml"
##
## Online documentation is available here: https://dnscrypt.info/doc

##################################
#         Global settings        #
##################################

## List of servers to use
##
## Servers from the "public-resolvers" source (see down below) can
## be viewed here: https://dnscrypt.info/public-servers
##
## The proxy will automatically pick working servers from this list.
## Note that the require_* filters do NOT apply when using this setting.
##
## By default, this list is empty and all registered servers matching the
## require_* filters will be used instead.
##
## Remove the leading # first to enable this; lines starting with # are ignored.

server_names = ['odoh-cloudflare' , 'odohrelay-koki-ams']

## List of local addresses and ports to listen to. Can be IPv4 and/or IPv6.
## Example with both IPv4 and IPv6:
## listen_addresses = ['<IP_ADDRESS>:53', '[::1]:53']
##
## To listen to all IPv4 addresses, use `listen_addresses = ['<IP_ADDRESS>:53']`
## To listen to all IPv4+IPv6 addresses, use `listen_addresses = ['[::]:53']`

listen_addresses = ['<IP_ADDRESS>:5350', '[::1]:5350']

## Maximum number of simultaneous client connections to accept

max_clients = 250

## Switch to a different system user after listening sockets have been created.
## Note (1): this feature is currently unsupported on Windows.
## Note (2): this feature is not compatible with systemd socket activation.
## Note (3): when using -pidfile, the PID file directory must be writable by the new user

# user_name = 'nobody'

## Require servers (from remote sources) to satisfy specific properties

# Use servers reachable over IPv4
ipv4_servers = true

# Use servers reachable over IPv6 -- Do not enable if you don't have IPv6 connectivity
ipv6_servers = false

# Use servers implementing the DNSCrypt protocol
dnscrypt_servers = true

# Use servers implementing the DNS-over-HTTPS protocol
doh_servers = true

# Use servers implementing the Oblivious DoH protocol
odoh_servers = true

## Require servers defined by remote sources to satisfy specific properties

# Server must support DNS security extensions (DNSSEC)
require_dnssec = true

# Server must not log user queries (declarative)
require_nolog = true

# Server must not enforce its own blocklist (for parental control, ads blocking...)
require_nofilter = false

# Server names to avoid even if they match all criteria
disabled_server_names = []

## Always use TCP to connect to upstream servers.
## This can be useful if you need to route everything through Tor.
## Otherwise, leave this to `false`, as it doesn't improve security
## (dnscrypt-proxy will always encrypt everything even using UDP), and can
## only increase latency.

force_tcp = false

## Enable *experimental* support for HTTP/3 (DoH3, HTTP over QUIC)
## Note that, like DNSCrypt but unlike other HTTP versions, this uses
## UDP and (usually) port 443 instead of TCP.

http3 = false

## SOCKS proxy
## Uncomment the following line to route all TCP connections to a local Tor node
## Tor doesn't support UDP, so set `force_tcp` to `true` as well.

# proxy = 'socks5://<IP_ADDRESS>:9050'

## HTTP/HTTPS proxy
## Only for DoH servers

# http_proxy = 'http://<IP_ADDRESS>:8888'

## How long a DNS query will wait for a response, in milliseconds.
## If you have a network with *a lot* of latency, you may need to
## increase this. Startup may be slower if you do so.
## Don't increase it too much. 10000 is the highest reasonable value.

timeout = 5000

## Keepalive for HTTP (HTTPS, HTTP/2, HTTP/3) queries, in seconds

keepalive = 30

## Add EDNS-client-subnet information to outgoing queries
##
## Multiple networks can be listed; they will be randomly chosen.
## These networks don't have to match your actual networks.

# edns_client_subnet = ['<IP_ADDRESS>/0', '2001:db8::/32']

## Response for blocked queries. Options are `refused`, `hinfo` (default) or
## an IP response. To give an IP response, use the format `a:<IPv4>,aaaa:<IPv6>`.
## Using the `hinfo` option means that some responses will be lies.
## Unfortunately, the `hinfo` option appears to be required for Android 8+

# blocked_query_response = 'refused'

## Load-balancing strategy: 'p2' (default), 'ph', 'p<n>', 'first' or 'random'
## Randomly choose 1 of the fastest 2, half, n, 1 or all live servers by latency.
## The response quality still depends on the server itself.

# lb_strategy = 'p2'

## Set to `true` to constantly try to estimate the latency of all the resolvers
## and adjust the load-balancing parameters accordingly, or to `false` to disable.
## Default is `true` that makes 'p2' `lb_strategy` work well.

# lb_estimator = true

## Log level (0-6, default: 2 - 0 is very verbose, 6 only contains fatal errors)

# log_level = 2

## Log file for the application, as an alternative to sending logs to
## the standard system logging service (syslog/Windows event log).
##
## This file is different from other log files, and will not be
## automatically rotated by the application.

# log_file = 'dnscrypt-proxy.log'

## When using a log file, only keep logs from the most recent launch.

# log_file_latest = true

## Use the system logger (syslog on Unix, Event Log on Windows)

# use_syslog = true

## Delay, in minutes, after which certificates are reloaded

cert_refresh_delay = 240

## Initially don't check DNSCrypt server certificates for expiration, and
## only start checking them after a first successful connection to a resolver.
## This can be useful on routers with no battery-backed clock.

# cert_ignore_timestamp = false

## DNSCrypt: Create a new, unique key for every single DNS query
## This may improve privacy but can also have a significant impact on CPU usage
## Only enable if you don't have a lot of network load

# dnscrypt_ephemeral_keys = false

## DoH: Disable TLS session tickets - increases privacy but also latency

# tls_disable_session_tickets = false

## DoH: Use TLS 1.2 and specific cipher suite instead of the server preference
## 49199 = TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
## 49195 = TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
## 52392 = TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305
## 52393 = TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305
##
## On non-Intel CPUs such as MIPS routers and ARM systems (Android, Raspberry Pi...),
## the following suite improves performance.
## This may also help on Intel CPUs running 32-bit operating systems.
##
## Keep tls_cipher_suite empty if you have issues fetching sources or
## connecting to some DoH servers.

# tls_cipher_suite = [52392, 49199]

## Log TLS key material to a file, for debugging purposes only.
## This file will contain the TLS master key, which can be used to decrypt
## all TLS traffic to/from DoH servers.
## Never ever enable except for debugging purposes with a tool such as mitmproxy.

# tls_key_log_file = '/tmp/keylog.txt'

## Bootstrap resolvers
##
## These are normal, non-encrypted DNS resolvers, that will be only used
## for one-shot queries when retrieving the initial resolvers list and if
## the system DNS configuration doesn't work.
##
## No user queries will ever be leaked through these resolvers, and they will
## not be used after IP addresses of DoH resolvers have been found (if you are
## using DoH).
##
## They will never be used if lists have already been cached, and if the stamps
## of the configured servers already include IP addresses (which is the case for
## most of DoH servers, and for all DNSCrypt servers and relays).
##
## They will not be used if the configured system DNS works, or after the
## proxy already has at least one usable secure resolver.
##
## Resolvers supporting DNSSEC are recommended, and, if you are using
## DoH, bootstrap resolvers should ideally be operated by a different entity
## than the DoH servers you will be using, especially if you have IPv6 enabled.
##
## People in China may want to use <IP_ADDRESS>:53 here.
## Other popular options include <IP_ADDRESS>, <IP_ADDRESS> and <IP_ADDRESS>.
##
## If more than one resolver is specified, they will be tried in sequence.
##
## TL;DR: put valid standard resolver addresses here. Your actual queries will
## not be sent there. If you're using DNSCrypt or Anonymized DNS and your
## lists are up to date, these resolvers will not even be used.

bootstrap_resolvers = ['<IP_ADDRESS>:53', '<IP_ADDRESS>:53']

## When internal DNS resolution is required, for example to retrieve
## the resolvers list:
##
## - queries will be sent to dnscrypt-proxy itself, if it is already
##   running with active servers (*)
## - or else, queries will be sent to fallback servers
## - finally, if `ignore_system_dns` is `false`, queries will be sent
##   to the system DNS
##
## (*) this is incompatible with systemd sockets.
## `listen_addrs` must not be empty.

ignore_system_dns = true

## Maximum time (in seconds) to wait for network connectivity before
## initializing the proxy.
## Useful if the proxy is automatically started at boot, and network
## connectivity is not guaranteed to be immediately available.
## Use 0 to not test for connectivity at all (not recommended),
## and -1 to wait as much as possible.

netprobe_timeout = 60

## Address and port to try initializing a connection to, just to check
## if the network is up. It can be any address and any port, even if
## there is nothing answering these on the other side. Just don't use
## a local address, as the goal is to check for Internet connectivity.
## On Windows, a datagram with a single, nul byte will be sent, only
## when the system starts.
## On other operating systems, the connection will be initialized
## but nothing will be sent at all.

netprobe_address = '<IP_ADDRESS>:53'

## Offline mode - Do not use any remote encrypted servers.
## The proxy will remain fully functional to respond to queries that
## plugins can handle directly (forwarding, cloaking, ...)

# offline_mode = false

## Additional data to attach to outgoing queries.
## These strings will be added as TXT records to queries.
## Do not use, except on servers explicitly asking for extra data
## to be present.
## encrypted-dns-server can be configured to use this for access control
## in the [access_control] section

# query_meta = ['key1:value1', 'key2:value2', 'token:MySecretToken']

## Automatic log files rotation

# Maximum log files size in MB - Set to 0 for unlimited.
log_files_max_size = 10

# How long to keep backup files, in days
log_files_max_age = 7

# Maximum log files backups to keep (or 0 to keep all backups)
log_files_max_backups = 1

#########################
#        Filters        #
#########################

## Note: if you are using dnsmasq, disable the `dnssec` option in dnsmasq if you
## configure dnscrypt-proxy to do any kind of filtering (including the filters
## below and blocklists).
## You can still choose resolvers that do DNSSEC validation.

## Immediately respond to IPv6-related queries with an empty response
## This makes things faster when there is no IPv6 connectivity, but can
## also cause reliability issues with some stub resolvers.

block_ipv6 = false

## Immediately respond to A and AAAA queries for host names without a domain name
## This also prevents "dotless domain names" from being resolved upstream.

block_unqualified = true

## Immediately respond to queries for local zones instead of leaking them to
## upstream resolvers (always causing errors or timeouts).

block_undelegated = true

## TTL for synthetic responses sent when a request has been blocked (due to
## IPv6 or blocklists).

reject_ttl = 10

##################################################################################
#        Route queries for specific domains to a dedicated set of servers        #
##################################################################################

## See the `example-forwarding-rules.txt` file for an example

# forwarding_rules = 'forwarding-rules.txt'

###############################
#        Cloaking rules       #
###############################

## Cloaking returns a predefined address for a specific name.
## In addition to acting as a HOSTS file, it can also return the IP address
## of a different name. It will also do CNAME flattening.
## If 'cloak_ptr' is set, then PTR (reverse lookups) are enabled
## for cloaking rules that do not contain wild cards.
##
## See the `example-cloaking-rules.txt` file for an example

# cloaking_rules = 'cloaking-rules.txt'

## TTL used when serving entries in cloaking-rules.txt

# cloak_ttl = 600
# cloak_ptr = false

###########################
#        DNS cache        #
###########################

## Enable a DNS cache to reduce latency and outgoing traffic

cache = false

## Cache size

cache_size = 4096

## Minimum TTL for cached entries

cache_min_ttl = 2400

## Maximum TTL for cached entries

cache_max_ttl = 86400

## Minimum TTL for negatively cached entries

cache_neg_min_ttl = 60

## Maximum TTL for negatively cached entries

cache_neg_max_ttl = 600

########################################
#        Captive portal handling       #
########################################

[captive_portals]

## A file that contains a set of names used by operating systems to
## check for connectivity and captive portals, along with hard-coded
## IP addresses to return.

# map_file = 'example-captive-portals.txt'

##################################
#        Local DoH server        #
##################################

[local_doh]

## dnscrypt-proxy can act as a local DoH server. By doing so, web browsers
## requiring a direct connection to a DoH server in order to enable some
## features will enable these, without bypassing your DNS proxy.

## Addresses that the local DoH server should listen to

# listen_addresses = ['<IP_ADDRESS>:3000']

## Path of the DoH URL. This is not a file, but the part after the hostname
## in the URL. By convention, `/dns-query` is frequently chosen.
## For each `listen_address` the complete URL to access the server will be:
## `https://<listen_address><path>` (ex: `https://<IP_ADDRESS>/dns-query`)

# path = '/dns-query'

## Certificate file and key - Note that the certificate has to be trusted.
## Can be generated using the following command:
## openssl req -x509 -nodes -newkey rsa:2048 -days 5000 -sha256 -keyout localhost.pem -out localhost.pem
## See the documentation (wiki) for more information.

# cert_file = 'localhost.pem'
# cert_key_file = 'localhost.pem'

###############################
#        Query logging        #
###############################

## Log client queries to a file

[query_log]

## Path to the query log file (absolute, or relative to the same directory as the config file)
## Can be set to /dev/stdout in order to log to the standard output.

# file = 'query.log'

## Query log format (currently supported: tsv and ltsv)

format = 'tsv'

## Do not log these query types, to reduce verbosity. Keep empty to log everything.

# ignored_qtypes = ['DNSKEY', 'NS']

############################################
#        Suspicious queries logging        #
############################################

## Log queries for nonexistent zones
## These queries can reveal the presence of malware, broken/obsolete applications,
## and devices signaling their presence to 3rd parties.

[nx_log]

## Path to the query log file (absolute, or relative to the same directory as the config file)

# file = 'nx.log'

## Query log format (currently supported: tsv and ltsv)

format = 'tsv'

######################################################
#        Pattern-based blocking (blocklists)         #
######################################################

## Blocklists are made of one pattern per line. Example of valid patterns:
##
##   example.com
##   =example.com
##   *sex*
##   ads.*
##   ads*.example.*
##   ads*.example[0-9]*.com
##
## Example blocklist files can be found at https://download.dnscrypt.info/blocklists/
## A script to build blocklists from public feeds can be found in the
## `utils/generate-domains-blocklists` directory of the dnscrypt-proxy source code.

[blocked_names]

## Path to the file of blocking rules (absolute, or relative to the same directory as the config file)

# blocked_names_file = 'blocked-names.txt'

## Optional path to a file logging blocked queries

# log_file = 'blocked-names.log'

## Optional log format: tsv or ltsv (default: tsv)

# log_format = 'tsv'

###########################################################
#        Pattern-based IP blocking (IP blocklists)        #
###########################################################

## IP blocklists are made of one pattern per line. Example of valid patterns:
##
##   127.*
##   fe80:abcd:*
##   <IP_ADDRESS>

[blocked_ips]

## Path to the file of blocking rules (absolute, or relative to the same directory as the config file)

# blocked_ips_file = 'blocked-ips.txt'

## Optional path to a file logging blocked queries

# log_file = 'blocked-ips.log'

## Optional log format: tsv or ltsv (default: tsv)

# log_format = 'tsv'

######################################################
#   Pattern-based allow lists (blocklists bypass)    #
######################################################

## Allowlists support the same patterns as blocklists
## If a name matches an allowlist entry, the corresponding session
## will bypass names and IP filters.
##
## Time-based rules are also supported to make some websites only accessible at specific times of the day.

[allowed_names]

## Path to the file of allow list rules (absolute, or relative to the same directory as the config file)

# allowed_names_file = 'allowed-names.txt'

## Optional path to a file logging allowed queries

# log_file = 'allowed-names.log'

## Optional log format: tsv or ltsv (default: tsv)

# log_format = 'tsv'

#########################################################
#   Pattern-based allowed IPs lists (blocklists bypass) #
#########################################################

## Allowed IP lists support the same patterns as IP blocklists
## If an IP response matches an allowed entry, the corresponding session
## will bypass IP filters.
##
## Time-based rules are also supported to make some websites only accessible at specific times of the day.

[allowed_ips]

## Path to the file of allowed ip rules (absolute, or relative to the same directory as the config file)

# allowed_ips_file = 'allowed-ips.txt'

## Optional path to a file logging allowed queries

# log_file = 'allowed-ips.log'

## Optional log format: tsv or ltsv (default: tsv)

# log_format = 'tsv'

##########################################
#        Time access restrictions        #
##########################################

## One or more weekly schedules can be defined here.
## Patterns in the name-based blocked_names file can optionally be followed with @schedule_name
## to apply the pattern 'schedule_name' only when it matches a time range of that schedule.
##
## For example, the following rule in a blocklist file:
## *.youtube.* @time-to-sleep
## would block access to YouTube during the times defined by the 'time-to-sleep' schedule.
##
## {after='21:00', before= '7:00'} matches 0:00-7:00 and 21:00-0:00
## {after= '9:00', before='18:00'} matches 9:00-18:00

[schedules]

  # [schedules.time-to-sleep]
  #   mon = [{after='21:00', before='7:00'}]
  #   tue = [{after='21:00', before='7:00'}]
  #   wed = [{after='21:00', before='7:00'}]
  #   thu = [{after='21:00', before='7:00'}]
  #   fri = [{after='23:00', before='7:00'}]
  #   sat = [{after='23:00', before='7:00'}]
  #   sun = [{after='21:00', before='7:00'}]

  # [schedules.work]
  #   mon = [{after='9:00', before='18:00'}]
  #   tue = [{after='9:00', before='18:00'}]
  #   wed = [{after='9:00', before='18:00'}]
  #   thu = [{after='9:00', before='18:00'}]
  #   fri = [{after='9:00', before='17:00'}]

#########################
#        Servers        #
#########################

## Remote lists of available servers
## Multiple sources can be used simultaneously, but every source
## requires a dedicated cache file.
##
## Refer to the documentation for URLs of public sources.
##
## A prefix can be prepended to server names in order to
## avoid collisions if different sources share the same for
## different servers. In that case, names listed in `server_names`
## must include the prefixes.
##
## If the `urls` property is missing, cache files and valid signatures
## must already be present. This doesn't prevent these cache files from
## expiring after `refresh_delay` hours.
## `refreshed_delay` must be in the [24..168] interval.
## The minimum delay of 24 hours (1 day) avoids unnecessary requests to servers.
## The maximum delay of 168 hours (1 week) ensures cache freshness.

[sources]

  ### An example of a remote source from https://github.com/DNSCrypt/dnscrypt-resolvers

  [sources.public-resolvers]
    urls = ['https://raw.githubusercontent.com/DNSCrypt/dnscrypt-resolvers/master/v3/public-resolvers.md', 'https://download.dnscrypt.info/resolvers-list/v3/public-resolvers.md']
    cache_file = 'public-resolvers.md'
    minisign_key = 'RWQf6LRCGA9i53mlYecO4IzT51TGPpvWucNSCh1CBM0QTaLn73Y7GFO3'
    refresh_delay = 72
    prefix = ''

  ### Anonymized DNS relays

  [sources.relays]
    urls = ['https://raw.githubusercontent.com/DNSCrypt/dnscrypt-resolvers/master/v3/relays.md', 'https://download.dnscrypt.info/resolvers-list/v3/relays.md']
    cache_file = 'relays.md'
    minisign_key = 'RWQf6LRCGA9i53mlYecO4IzT51TGPpvWucNSCh1CBM0QTaLn73Y7GFO3'
    refresh_delay = 72
    prefix = ''

  ### ODoH (Oblivious DoH) servers and relays

   [sources.odoh-servers]
     urls = ['https://raw.githubusercontent.com/DNSCrypt/dnscrypt-resolvers/master/v3/odoh-servers.md', 'https://download.dnscrypt.info/resolvers-list/v3/odoh-servers.md']
     cache_file = 'odoh-servers.md'
     minisign_key = 'RWQf6LRCGA9i53mlYecO4IzT51TGPpvWucNSCh1CBM0QTaLn73Y7GFO3'
     refresh_delay = 24
     prefix = ''
   [sources.odoh-relays]
     urls = ['https://raw.githubusercontent.com/DNSCrypt/dnscrypt-resolvers/master/v3/odoh-relays.md', 'https://download.dnscrypt.info/resolvers-list/v3/odoh-relays.md']
     cache_file = 'odoh-relays.md'
     minisign_key = 'RWQf6LRCGA9i53mlYecO4IzT51TGPpvWucNSCh1CBM0QTaLn73Y7GFO3'
     refresh_delay = 24
     prefix = ''

  ### Quad9

  # [sources.quad9-resolvers]
  #   urls = ['https://www.quad9.net/quad9-resolvers.md']
  #   minisign_key = 'RWQBphd2+f6eiAqBsvDZEBXBGHQBJfeG6G+wJPPKxCZMoEQYpmoysKUN'
  #   cache_file = 'quad9-resolvers.md'
  #   prefix = 'quad9-'

  ### Another example source, with resolvers censoring some websites not appropriate for children
  ### This is a subset of the `public-resolvers` list, so enabling both is useless.

  # [sources.parental-control]
  #   urls = ['https://raw.githubusercontent.com/DNSCrypt/dnscrypt-resolvers/master/v3/parental-control.md', 'https://download.dnscrypt.info/resolvers-list/v3/parental-control.md']
  #   cache_file = 'parental-control.md'
  #   minisign_key = 'RWQf6LRCGA9i53mlYecO4IzT51TGPpvWucNSCh1CBM0QTaLn73Y7GFO3'

#########################################
#        Servers with known bugs        #
#########################################

[broken_implementations]

## Cisco servers currently cannot handle queries larger than 1472 bytes, and don't
## truncate responses larger than questions as expected by the DNSCrypt protocol.
## This prevents large responses from being received over UDP and over relays.
##
## Older versions of the `dnsdist` server software had a bug with queries larger
## than 1500 bytes. This is fixed since `dnsdist` version 1.5.0, but
## some server may still run an outdated version.
##
## The list below enables workarounds to make non-relayed usage more reliable
## until the servers are fixed.

fragments_blocked = ['cisco', 'cisco-ipv6', 'cisco-familyshield', 'cisco-familyshield-ipv6', 'cleanbrowsing-adult', 'cleanbrowsing-adult-ipv6', 'cleanbrowsing-family', 'cleanbrowsing-family-ipv6', 'cleanbrowsing-security', 'cleanbrowsing-security-ipv6']

#################################################################
#        Certificate-based client authentication for DoH        #
#################################################################

## Use a X509 certificate to authenticate yourself when connecting to DoH servers.
## This is only useful if you are operating your own, private DoH server(s).
## 'creds' maps servers to certificates, and supports multiple entries.
## If you are not using the standard root CA, an optional "root_ca"
## property set to the path to a root CRT file can be added to a server entry.

[doh_client_x509_auth]

# creds = [
#    { server_name='*', client_cert='client.crt', client_key='client.key' }
# ]

################################
#        Anonymized DNS        #
################################

[anonymized_dns]

## Routes are indirect ways to reach DNSCrypt servers.
##
## A route maps a server name ("server_name") to one or more relays that will be
## used to connect to that server.
##
## A relay can be specified as a DNS Stamp (either a relay stamp, or a
## DNSCrypt stamp) or a server name.
##
## The following example routes "example-server-1" via `anon-example-1` or `anon-example-2`,
## and "example-server-2" via the relay whose relay DNS stamp is
## "sdns://gRIxMzcuNzQuMjIzLjIzNDo0NDM".
##
## !!! THESE ARE JUST EXAMPLES !!!
##
## Review the list of available relays from the "relays.md" file, and, for each
## server you want to use, define the relays you want connections to go through.
##
## Carefully choose relays and servers so that they are run by different entities.
##
## "server_name" can also be set to "*" to define a default route, for all servers:
## { server_name='*', via=['anon-example-1', 'anon-example-2'] }
##
## If a route is ["*"], the proxy automatically picks a relay on a distinct network.
## { server_name='*', via=['*'] } is also an option, but is likely to be suboptimal.
##
## Manual selection is always recommended over automatic selection, so that you can
## select (relay,server) pairs that work well and fit your own criteria (close by or
## in different countries, operated by different entities, on distinct ISPs...)

routes = [
     { server_name='odoh-cloudflare', via=['odohrelay-crypto-sx', 'odohrelay-surf'] },
     { server_name='odohrelay-koki-ams', via=['odohrelay-koki-ams', 'odohrelay-koki-bcn'] }
 ]

## Skip resolvers incompatible with anonymization instead of using them directly

skip_incompatible = false

## If public server certificates for a non-conformant server cannot be
## retrieved via a relay, try getting them directly. Actual queries
## will then always go through relays.

# direct_cert_fallback = false

###############################
#            DNS64            #
###############################

## DNS64 is a mechanism for synthesizing AAAA records from A records.
## It is used with an IPv6/IPv4 translator to enable client-server
## communication between an IPv6-only client and an IPv4-only server,
## without requiring any changes to either the IPv6 or the IPv4 node,
## for the class of applications that work through NATs.
##
## There are two options to synthesize such records:
## Option 1: Using a set of static IPv6 prefixes;
## Option 2: By discovering the IPv6 prefix from DNS64-enabled resolver.
##
## If both options are configured - only static prefixes are used.
## (Ref. RFC6147, RFC6052, RFC7050)
##
## Do not enable unless you know what DNS64 is and why you need it, or else
## you won't be able to connect to anything at all.

[dns64]

## Static prefix(es) as Pref64::/n CIDRs

# prefix = ['64:ff9b::/96']

## DNS64-enabled resolver(s) to discover Pref64::/n CIDRs
## These resolvers are used to query for Well-Known IPv4-only Name (WKN) "ipv4only.arpa." to discover only.
## Set with your ISP's resolvers in case of custom prefixes (other than Well-Known Prefix 64:ff9b::/96).
## IMPORTANT: Default resolvers listed below support Well-Known Prefix 64:ff9b::/96 only.

# resolver = ['[2606:4700:4700::64]:53', '[2001:4860:4860::64]:53']

########################################
#            Static entries            #
########################################

## Optional, local, static list of additional servers
## Mostly useful for testing your own servers.

[static]

  # [static.myserver]
  #   stamp = 'sdns://AQcAAAAAAAAAAAAQMi5kbnNjcnlwdC1jZXJ0Lg'

The file looks good to me. Try setting doh_servers = false (Since you'll be exclusively using ODoH)
Flush system DNS cache and try again
Does the test command work fine?
./dnscrypt-proxy -resolve www.google.com

The file looks good to me. Try setting doh_servers = false (Since you'll be exclusively using ODoH) Flush system DNS cache and try again
Does the test command work fine? ./dnscrypt-proxy -resolve www.google.com

Ok, still leaky as far as I can tell (ISP shows in all 3 servers). Steps:

sudo ./dnscrypt-proxy -service stop
sudo nano dnscrypt-proxy.toml
set doh_servers = false
cleared Safari cache
cleared Mac cache via sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
flushed network tables on Pi-Hole, and restarted DNS server
restarted computer
re-ran leak test

If it's nothing here then it's quite possibly something leftover from previous unbound setup that I haven't properly un-done. I also have PiVPN setup (for wireguard for split-tunnel adblocking on-the-go)

Solution! I added ::1#5350 to Custom 3 (IPv6) in upstream servers in Pi-Hole (apparently I have IPv6 enabled), and no more leaks. As it is, it seems to be working, I'm not sure if other changes are needed in dnscrypt for IPv6, leave it as-is, or just disable it at the router. But that was the culprit as far as I can tell

It didn't even cross my mind that you might be using ipv6. Glad that you resolved it.
About your second query, dnscrypt supports ipv6. As long as you have ipv6 in listen_address, it should resolve.
Also you have a default dns resolver somewhere which might leak your dns again when pihole fails to resolve like it did for ipv6. Ideally if PiHole refuses to resolve, the site should fail to load.


[SuperEditor]Can you give me a sample of how to customize the toolbar?

Can you give me a sample of how to customize the toolbar?
Here is what I want to do

I want to hide all items except the ones I need.
I want to add my own buttons.

Is it correct to copy the KeyboardEditingToolbar and customize it?

@nrikiji your question is best suited under discussions. As this is not an issue.

The example app includes all sorts of code that can be inspected, copied, and adjusted. That's currently the extent of our guides. I'm going to close this issue because there's nothing actionable with regard to Super Editor code.


ngStyle not removing values

I'm submitting a ...

[x] regression from 1.6.x to 1.7.8
[ ] security issue
[ ] issue caused by a new browser version
[ ] other

Current behavior:
In AngularJS 1.6 (and even in 1.7.0) the ngStyle directive was able to add/remove single properties when the expression for the single property was evaluated as false.
For example:
ng-style="{'float': isRight && 'right' }"
was dynamically adding/removing the 'float: right' style when the isRight scope expression changed.
In Angular 1.7.8 this only happens when isRight switches from false to true. Switching back to false will leave the 'float: right' style set.
As a workaround, this expression instead works in both 1.6.x and 1.7.8:
ng-style="isRight && {'float': 'right' }"
Expected / new behavior:
Expressions like
ng-style="{'float': isRight && 'right' }"
should be still supported for backward compatibility. Or at least the change (if intentional) should be documented in the changelog documentation.
Regards
Minimal reproduction of the problem with instructions:
Here a plunkr to replicate the issue:
https://plnkr.co/edit/FsWbrVvfAYvuJCoGszi2?p=preview
AngularJS version: 1.7.8
Browser: [all]

Seems to be introduced in 1.7.6

Yes, this was indeed introduced in d6098eeb1. The reason it happens is that browsers seem to ignore invalid values for styles.
Previously, ngStyle would always remove the old styles (by means of .css(someStyleProp, '')) and then apply the new style. After d6098eeb1, if the style property is included in the new styles object, we assume that it will be overwritten when setting the new styles, so we don't clear the old style first.
But, when the property value is invalid (in this case, when isRight is false, we will try to set element.style.color = false, which is invalid), it is just ignored by the browser, thus the old style remains.

Not sure how to address this. It is not possible to detect whether a value is valid or not (OK, it might be possible, but it would be prohibitively costly), so we need to either:

Revert d6098eeb1 and keep the old behavior (which fixes this regression, but re-introduces the issue fixed by that commit).
Bite the bullet, call it a breaking change and just document it as such (which is not idealmgiven that there should be no breaking changes in patch releases - even more so in LTS period :grin:)

Correct, the 'false' value is the culprit.
Rewriting the expression as:
ng-style="{'float': (isRight && 'right') || null }"
triggers the correct behavior.
BTW, how many DOM style properties support boolean values instead of strings? Most probably in the majority of the cases the 'false' value can safely remove the property.
Thanks, L

'''''


Correcciones

Pull Request Test Coverage Report for Build 24

36 of 39 (92.31%)  changed or added relevant lines in 4 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.5%) to 90.446%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

repository/IngSoft2-Model/RandomDice.class.st
13
16
81.25%

Totals

Change from base Build 8:
0.5%

Covered Lines:
142

Relevant Lines:
157

💛  - Coveralls


Feat: Sending emails when the contact form is submitted

Describe the feature
I would like to propose a new feature which automatically sends emails when the contact form is submitted. This feature aims to enhance user interaction by ensuring that all messages submitted through the contact form are promptly received via email. It can achieved by either using EmailJS or Nodemailer.
Add ScreenShots
Right now the contact form refreshes on clicking the submit button.

Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

@Its-Aman-Yadav please assign this issue to me under GSSoC'24


Missed match_id in public_matches

I have found that some matches are missed in table public_matches.
For example there is match_id<PHONE_NUMBER>, but no<PHONE_NUMBER>.
Both id from ranked lobby and all draft mode.
Is there some filters when matches comes to this table?

Yes, that table is only a sample of all public matches.


MINOR: improving the readability of the output a bit

Coverage remained the same at 95.616% when pulling 56c16132816f546de91889f3af170cb8a1552e39 on SpeksForks:improve-readability into dd5cdcdc4369ca0ca57d077d3df89e403586d21a on hirak:master.

Yupp, its simply the output better formated. From originally:
    Finished: success:0, skipped:59, failure:0, total: 59

to
Finished: success: 0, skipped: 59, failure: 0, total: 59

Thank you!


Do you help me?

I want to make kids learning apps Alphabet, Numeric with tap to play sound with this source code.
Can you help to do that?

I don't have time for that. Sorry.


Fix #31

Took me a little longer than the promised five days as I was distracted by one of my own projects.
I came to the conclusion that a variable storing whether the handle bar is "active" (being used for move/resize operations) is the cleanest solution.

Thanks. :+1:


feat: provide new package 'asset'

can be installed as<EMAIL_ADDRESS>updated README to reflect the new commands to run the test
updated augument-api to reflect the new changes to manage Did and ChainSpace based asset interactions

companion to https://github.com/dhiway/cord/pull/266


Nordic SoC: Add GPREGRET setting support for nRF52

Codecov Report

Merging #10900 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master   #10900   +/-   ##
=======================================
  Coverage   53.29%   53.29%
=======================================
  Files         215      215
  Lines       25900    25900
  Branches     5708     5708
=======================================
  Hits        13803    13803
  Misses       9777     9777
  Partials     2320     2320

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 3f71772...8a54112. Read the comment docs.

The commit title should begin with "soc: nordic: "
And you need to add at least one "body" line in the commit message.


Added ec2 describe function

#6 Added function to describe ec2 instance

can you show how the output of command will look like ?

can you show how the output of command will look like ?

@surajnarwade  anything else

@riteshsonawane1372 we need to rethink what information is useful for users to print.
In your example, you are printing the owner, reservation, and instance id.
To begin with, we should keep it simple and only print primary information,
NAME      INSTANCE_ID INSTANCE_TYPE   PRIVATE IP

Later on, we can always add more stuff to it as per the need.

I was just testing. Okay, will do these changes.

Is it okay ?


Consider new source directory structure

As we move this repo to a monorepo (#3612), we'll be moving more non-source stuff into the google/cloud/*/ directories. For example, we'll have stuff like:
TODAY
README.md
CHANGELOG.md
...
google/cloud/storage
    |- README.md
    |- foo.h
    |- foo.cc
    |- examples/
    |- ci/
    |- doc/
    |- quickstart/
    ...

This has the actual source code and non-source code artifacts living along side each other, with no clear dividing line or structure.
After we move to a monorepo, we might want to consider re-arranging the per-library files into a structure more like the following:
PROPOSED
README.md
CHANGELOG.md
libraries/
    |- bigtable/
    |- firestore/
    |- spanner/
    |- storage/
        |- README.md
        |- docs/
        |- ci/
        |- examples/
        |- quickstart/
        |- src/
            |- foo.h
            |- foo.cc

You probably get the picture.
I think we can make these changes without breaking any callers or builds. The code would all still get installed in the same places as it does today. And as long as our bazel users are using our top-level BUILD file, their build targets should not be broken either.
Something for us to consider.

Using a directory structure like this may enable us to allow bazel users to use angle-bracket includes. See https://github.com/googleapis/google-cloud-cpp-spanner/issues/1424 for more details about this particular issue.

Where is google/cloud/storage/client.h in the proposed structure?  What is the full path?  How does one #include the file from other code (examples, unit and integration tests)?

The source directory structure is independent of the installed directory structure. The installed structure would look the same in /usr/local/include or something like that. But within our repo, the location of that file might be <reporoot>/libraries/storage/src/google/cloud/storage/client.h Or perhaps more simply just <reporoot>/libraries/storage/src/client.h

The source directory structure is independent of the installed directory structure.

Ideally yes, in practice it is more work to make that work and not worth the trouble.

The installed structure would look the same in /usr/local/include or something like that.

I think we should not change that.  Where the header files live (their names, their path relative to $PREFIX) is part of the contract.  Changing that is a lot of work for folks we better have a good reason to make such a change.

But within our repo, the location of that file might be <reporoot>/libraries/storage/src/google/cloud/storage/client.h

That would work, a bit tedious don't you think?

Or perhaps, if we can make this work, just <reporoot>/libraries/storage/src/client.h

Making that work would require either (a) a more complicated build process that recreates the install structure before building, or (b) an install process that changes the #includes from #include "storage/src/client.h" to #include "google/cloud/storage/client.h", or (c) change all the includes to be relative, so once the application finds the first header the other headers are found via "./internal/foo.h" and so forth.

The source directory structure is independent of the installed directory structure.

Ideally yes, in practice it is more work to make that work and not worth the trouble.

The installed structure would look the same in /usr/local/include or something like that.

I think we should not change that. Where the header files live (their names, their path relative to $PREFIX) is part of the contract. Changing that is a lot of work for folks we better have a good reason to make such a change.

Agreed. I, and this issue, are not proposing anything that would affect installed locations or breaking any contract that would affect users. I'm only talking about the location of files within this repo.

But within our repo, the location of that file might be <reporoot>/libraries/storage/src/google/cloud/storage/client.h

That would work, a bit tedious don't you think?

Tedious? Why? I don't follow.

Or perhaps, if we can make this work, just <reporoot>/libraries/storage/src/client.h

Making that work would require either (a) a more complicated build process that recreates the install structure before building, or (b) an install process that changes the #includes from #include "storage/src/client.h" to #include "google/cloud/storage/client.h", or (c) change all the includes to be relative, so once the application finds the first header the other headers are found via "./internal/foo.h" and so forth.

I believe doing this is pretty easy with bazel. But if it's difficult w/ cmake, then I'm happy to forget this. That's why I mentioned the "if we can do this" part. This is a very minor point. I'd be totally happy with <reporoot>/libraries/storage/google/cloud/storage/client.h (notice here I dropped the src component; we could keep that or drop it, doesn't matter).

This would be a breaking change, and not worth doing on its own.


Custom TCG Inscryption Support

Rough Custom TCG Inscryption setup

Should be up and working!

Commit 2642e686f1497abef2ee24ca7efba9f06225c6c6 add in support for Custom TCG Inscryption so I will close this pr.


Unit of measure PvInverter

The unit of measurement of the PV inverter is not correct. It is in KW by default, but should be in W. The problem is that if I change it to W, I get an incorrect value.
In KW, for example, it shows me 200 KW. If I change it to W, it makes 200,000 W. But the correct value would be 200W

+1
Also notices the same problem

Chnage the Line 557 in the const.py to
    "pvinverter_power_total": RegisterInfo(1052, INT32, UnitOfPower.WATT),
After that the value is correct

Where did you configure that?

Hello @solaral,
Thank you for opening this issue.
This is an specsheet mismatch between the value documented to be returned by the modbus server and the actual value being returned.
Currently I'm following up upon a support case with victron to get insight as to whether the reported value is correct and this integration needs to be patched or whether victron needs to patch the GX device software to report the values as they are documented.

V0.1.7 containing the fix for this issue has just been released.
Closing issue, feel free to re-open if issues persist after upgrading to v0.1.7


🐛 [Bug] Segfault when converting AvgPool2d

Bug Description
I' trying to convert a model containing AvgPool2d layer with kernel_size=2, stride=2 and ceil_mode=True. When layer input size is divisible by 2 (so it would work the same as with ceil_mode=False), I'm getting the following error:
ERROR: [TRTorch Conversion Context] - ../builder/cudaTiledPoolingBuilder.cpp (120) - Assertion Error in addTiledPath: 0 ((validation::is32(*src.region) || validation::is16C2(*src.region) || validation::is8C4(*src.region)) && (possibleTiledPath(src.region->getDataType(), src.region->getLgScalarsPerVector(), params))) Segmentation fault
It doesn't seem to happen for different strides and it works fine when the input size isn't divisible by 2. Also, replacing the layer with MaxPool2d or two AvgPool2d layers, the first one with kernel_size and stride (2,1) and the other one with (1,2) results in successful conversion.
To Reproduce
Run the following code:
import torch.nn as nn
import trtorch

class MyModule(nn.Module):
	def __init__(self):
		super(MyModule, self).__init__()
		self.avg_pool = torch.nn.AvgPool2d(kernel_size=2, stride=2, ceil_mode=True)

	def forward(self, x):
		return self.avg_pool(x)

shape = (1,4,4,4)

model = MyModule()
script_model = torch.jit.script(model.cuda().eval())

compile_settings = {
        "input_shapes": [shape],
}

compiled_model = trtorch.compile(script_model, compile_settings)

x = torch.randn(shape)
output = compiled_model(x.cuda())
print(output)

Expected behavior
The code should convert the model and print the output tensor.
Environment

Build information about the TRTorch compiler can be found by turning on debug messages

PyTorch Version: 1.7.0
CPU Architecture: aarch64 (Jetson Xavier NX)
OS (e.g., Linux): Ubuntu 18.04.5
How you installed PyTorch (conda, pip, libtorch, source): dedicated wheel for Jetson
Build command you used (if compiling from source): -
Are you using local sources or building from archives: -
Python version: 3.6.9
CUDA version: 10.2
GPU models and configuration: -
Any other relevant information: -

I was able to replicate this issue on x86 as well. Seems like its coming from TensorRT. We will investigate further and see if its a known issue with them.

There is some discrepancy between ceil_mode and poolingLayer->setAverageCountExcludesPadding(exclude_padding) behavior. Filed and being tracked in this issue.

@efengler  Thanks for reporting. This bug is fixed in next release of TensorRT. So, TRTorch can handle it then.

Reopening until fix can be verified in TRT-Next

@peri044 can we check this on the TRT8 branch?

Tested with latest TRTorch 0.4 with TRT8. This issue is fixed.


debugging e2e training workflow

Now that https://github.com/instructlab/instructlab/pull/1185 has landed we are unblocked in testing e2e workflow.

CI is broken


shutdown.exe: description of the parameter "/g" is incorrect

The description of the parameter "/g" is incorrect.
See attach screenshot.

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

ID: 2770335e-d15c-6389-36b9-d687b7794b92
Version Independent ID: 319c885a-1c12-595f-8018-c563945afe93
Content: shutdown
Content Source: WindowsServerDocs/administration/windows-commands/shutdown.md
Product: windows-server
Technology: windows-commands
GitHub Login: @Xelu86
Microsoft Alias: wscontent

Hey datto-cschulze,
Thanks again for contacting Microsoft. We value your feedback.
A documentation change has been made updating the /g parameter and will be live after the next business day. We will now be closing this thread.
Thank you and have a most pleasant day.
#please-close


Training agents with IQL

Hi,
How do I train agents with IQL in a manner where each agent has its policy? I ask this because I've noticed that the current implementation allows all agents to share a joint policy (same model).
Thank you for your attention.

I managed to achieve IQL using the SimpleQTorchPolicy.

@bbrighttaer Hey, thanks for sharing this, it was helpful. RLlib also contains a DQNTorchPolicy. Is there any particular reason for choosing SimpleQTorchPolicy over DQNTorchPolicy?

Hi @npnike10, I'm happy to know you found that info useful. I wanted a basic starting point hence my reason for going for SimpleQTorchPolicy. I think DQNTorchPolicy has a lot more capabilities than the simple Q policy that you can exploit.


Netty Project CVEs

I have vulnerabilities I would like to report and saw on the main site that I should report such findings in the private google group, but was unable to determine how to join the group. I apologize if this is not the correct place to request that access, but was not sure where else to post.

See: https://github.com/netty/netty/security

@patrickrochemn You don't get to join the security google group, but you can write emails to it without joining. There's also the GitHub way that @hyperxpro mentioned.


fix total charge issue in deployment

@yuanqing-wang Could you add a unit tests as well to catch the issues we had seen earlier?


Duplicate entries in tags file (one with absolute path, one with relative path)

Describe the bug
I've noticed duplicate tags in files I've edited.    Ubuntu 18.10, Vim 8.1.1017
What version of ctags, gtags, or whatever do you have installed? Exuberant Ctags 5.9~svn20110310 from Ubuntu repos
Are you using g:gutentags_cache_dir?  No

Post the logs

I would like to skip this step at this point, if you don't mind, because it seems clear what is happening: the tags file contains absolute filenames, but gutentags assumes it will contain relative ones, according to https://github.com/ludovicchabant/vim-gutentags/issues/70#issuecomment-233926795.
Proposal
I have an idea: why not remove all old entries for a file irrespective of whether it used an absolute or a relative filename?  Specifically, in plat/unix/update_tags.sh where currently you do
    cmd="grep --text -Ev '^[^$tab]+$tab$UPDATED_SOURCE$tab' '$TAGS_FILE' > '$TAGS_FILE.temp'"

how about matching both relative and absolute path versions of $UPDATED_SOURCE?  This can be painful to compute in portable shell, so maybe compute it in vimscript and pass it as an extra option (-a file=, for alternate path)?
That should remove the possibility of mixups without having to rely on guessing about which style is being used in a project.  What do you think?
I think I can create a PR implementing this.

Hi!
I'd rather someone changed z3c.recipe.tag to generate relative paths, since they're a lot nicer to work with than absolute paths... absolute paths get truncated when using Vim in a smaller window or screen.
Do you have a good reason to prefer absolute paths? In which case, another option would be to change Gutentags to optionally generate absolute filenames instead.

To be honest, the idea didn't occur to me.  In fact I would prefer relative paths -- and hey, apparently z3c.recipe.tag has a --tag-relative command-line option.
(I still think it would be nice if vim-gutentags could deal with all sorts of tags out of the box, without the users having to research why duplicate tags appear, and how to convince their tag-generating tools to behave differently.  Solving the problem for everyone vs solving it for myself kind of thing.  I'm rambling, sorry, I'll stop now.)


Relax the accuracy for timer validation to account for heavier CI server loads

@swift-ci please test and merge


Next steps

[x] Streamline initial qc (Data injection fails correctly for be files )
[x] Add bedmess into bedboss.
[x] Finish bbuploader and integrate it to bedboss

FIxed


bump version

Change Description

Bump the version to 1.6.3.
API Changes

[ ] API Changes

Documentation Additions

[ ] Documentation Additions

Subsumed by #694.


don't confuse using directives and statements

Address incorrect use of "using statement" to refer to a "using directive".

@mrlacey Thanks for submitting the corrections; accepting the changes.


New Release

Could you cut a new release as the current master with #99 fixes the build with OpenSSL 1.1.0?

Agreed, new release would be great. Latest released tarball is also missing shttpd-1.42.

Done


Now returns the decorated function

I think I found a small bug in both the document and validate method. Both methods override the func object with the output of the decorator, which is a callable. I believe the desired behavior should be like the one proposed in my fix.
The consequence of this bug is that the following code:
from quart import Quart
from quart_schema import QuartSchema, document
from dataclasses import dataclass
from quart_schema.extension import _build_openapi_schema
import numpy
import json

@dataclass
class Message:
    message: str

app = Quart(__name__)
schema = QuartSchema(app)

@app.route('/api/something/info', methods=['GET'])
@document(
    request=Message,
    headers=Message,
    responses={200: (Message, None)},
    )
async def dummy_get_parsing_method():
    """
    Parses a GET request and returns a message.
    This is a dummy method to test the parsing of the GET request.

    """
    try:
        rand = numpy.random.rand()
        if rand > 0.5:
            return Message(message="GET was successful"), 200
        else:
            if rand > 0.9:
                raise Exception("Random error")
            return Message(message="GET was unsuccessful"), 500
    except Exception as e:
        return Message(message=str(e)), 500

print(json.dumps(_build_openapi_schema(app, schema), indent=4, sort_keys=True))

produces the following OpenAPI JSON, where the responses field is empty:
{
    "components": {
        "schemas": {}
    },
    "info": {
        "title": "__main__",
        "version": "0.1.0"
    },
    "openapi": "3.0.3",
    "paths": {
        "/api/something/info": {
            "get": {
                "parameters": [],
                "responses": {}
            }
        }
    }
}

With my fix applied, the output JSON is the following (which I think is correct):
{
    "components": {
        "schemas": {}
    },
    "info": {
        "title": "__main__",
        "version": "0.1.0"
    },
    "openapi": "3.0.3",
    "paths": {
        "/api/something/info": {
            "get": {
                "description": "This is a dummy method to test the parsing of the GET request.",
                "parameters": [
                    {
                        "in": "header",
                        "name": "message",
                        "schema": {
                            "title": "Message",
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "description": "Message(message: str)",
                                "properties": {
                                    "message": {
                                        "title": "Message",
                                        "type": "string"
                                    }
                                },
                                "required": [
                                    "message"
                                ],
                                "title": "Message",
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "description": "Message(message: str)",
                                    "properties": {
                                        "message": {
                                            "title": "Message",
                                            "type": "string"
                                        }
                                    },
                                    "required": [
                                        "message"
                                    ],
                                    "title": "Message",
                                    "type": "object"
                                }
                            }
                        },
                        "description": "Message(message: str)"
                    }
                },
                "summary": "Parses a GET request and returns a message."
            }
        }
    }
}

Thanks


[IN APP PURCHASES] Retrieve Introducy offer on an auto-renewable subscription

Hi @chamartt
Please elaborate more! The information you provided is vague.

I don't know what's happen on this issue, please follow this one:  https://github.com/flutter/flutter/issues/71146
Thank you !


'bundle' command expects project's bower dependencies to have d.ts files.

Prerequisites

[X] Did you check the FAQ?
[X] Did you search open and closed issues to see if your issue has already been reported?

Description
It looks like typings reads bower.json 'dependencies' and look for d.ts files on each component, later it complains about the file is not found. The components I use doesn't have d.ts files. For that same reason I use typings!
I don't know how to stop this behavior or make things the right way. I'm missing something.
I use this library in another proyect and I have the same error when I include it as a bower dependency (inside typings.json of that another project)
Steps to Reproduce

clone https://github.com/ejmarino/angular-ms 0.1.5 tag
npm install && bower install && typings install
typings bundle -G -o bundle.d.ts

Actual behavior:
typings ERR! message Unable to read typings for "angular". The author of "angular-ms" needs to check the entry paths in "bower.json" are up to date
typings ERR! caused by ENOENT: no such file or directory, open 'C:\GitHub\angular-ms\bower_components\angular\angular.d.ts'

typings ERR! cwd C:\GitHub\angular-ms
typings ERR! system Windows_NT 10.0.10586

As you see, is looking for angular.d.ts inside bower angular component, and I have inside typings/global/angular..etc
Versions
1.3.2

Are you using typings bundle on your consuming library?
If so, it's the first time I see people using it out of the context of writing typings repository. 👍

Hi! I'm tring to make that library 'compatible' with typings. I'm trying to make it work when I declare it as a dependency in typings.json of another project. If I declare it like this:
  "globalDependencies": {
    "angular-ms": "file:bower_components/angular-ms/typings.json"
  }

it works, but if I declare it like i think I should...
  "globalDependencies": {
    "angular-ms": "bower:angular-ms"
  }

It doesn't work, throwing exactly the same error I described before.
Sorry if I was misleading you...
I just want to make sure i'm making my library the right way with typings.
Thanks

Not sure about the exact error, but I notice that your dist/typings/angular-ms.d.ts is not in the right format.
I believe it should be written in external module format.

That file was obtained using 'typings' and it works. The project compiles without problems.
I don't think that that file is related to the problem. I looks like 'typings' command look into bower.json dependencies section for a .d.ts file in every component listed there. I don't know if this behavior is ok.  It should not assume that every component I use must have a type declaration file. I use a lot of javascript project that hasn't declarations defined.


Make module errors abstract

Currently FedimintModule trait uses errors that are imported from the specific modules. This is not possible in a post-modularization code.
As a initial step toward modularization, make all the errors returned by the server side module abstract (anyhow::Error).
In the future we might want to specify some concrete Error variants with Other being just an escape hatch.

I don't think we actually want to make everything dyn? Didn't we discuss how there could be two traits: one typed and one type erased? The latter could be auto-implemented for the former.

I don't think we actually want to make everything dyn?

Not sure what do you mean. From my PoV - the general purpose code doesn't have anything useful to do with these errors. Either something passes or not, and if doesn't the only thing that is useful is some textual info to log / return w.r.t. what is the problem. If it wasn't for that we could make these functions return Result<T, ()>.
If we do identify cases that are actionable and meaningful, we can make them new error variants. I kind of wasn't sure if I should start with enum { Custom(anyhow::Error) } or just go for anyhow::Error or Box<std::error::Error> directly. (I'm open to change it).

I spent the last two hours trying to make my idea work. Unfortunately it turns out it depends on trait_upcasting which isn't in stable yet, see playground.
For me trait_upcasting seems alive and well, there was a stabilization attempt recently (rust-lang/rust#101718) which seems to only have failed for lack of proper spec/documentation. I don't know the rust language process all that well, so I can't judge if it's like "it'll land in two months" (in which case I'd suggest just using it on nightly for now) or "this can take another two years".

Not sure what do you mean. From my PoV - the general purpose code doesn't have anything useful to do with these errors. Either something passes or not, and if doesn't the only thing that is useful is some textual info to log / return w.r.t. what is the problem. If it wasn't for that we could make these functions return Result<T, ()>.

I think it would be good to be able to return structured errors to clients so they know e.g. why a transaction was rejected.
I agree that right now the errors are a it too verbose, but if you want to even introduce one variant in a module you can't just make it an anyhow error but need custom en/decoding logic that makes errors module-decodable (like inputs and outputs).

I spent the last two hours trying to make my idea work. Unfortunately it turns out it depends on trait_upcasting which isn't in stable yet, see playground.

This seems very similar to what we have RN. What is the difference exactly? I would need to investigate with fresh eyes to spot it.

I don't know the rust language process all that well, so I can't judge if it's like "it'll land in two months" (in which case I'd suggest just using it on nightly for now) or "this can take another two years".

Hard to tell. AFAICT, largely depends on if someone is willing to put the effort, are there any bigger technical issues and if leadership considers it important. Some unstable features linger like that forever, some just couple of weeks.

I think it would be good to be able to return structured errors to clients so they know e.g. why a transaction was rejected.

The problem of error types seems somewhat different from "type-erased value" types that modules use.
The fact that this PR compiles suggests that we are currently not passing any of these errors to the client, so we can worry about it later(?)

This seems very similar to what we have RN. What is the difference exactly? I would need to investigate with fresh eyes to spot it.

I think I got a bit confused too, still leaving this explanation here since I found it an interesting limitation. The problem is
trait BelongsToModule: Any {
    fn module_id(&self) -> u16;
}

let a_module_related: Box<dyn BelongsToModule> = …;
let a_any: Box<dyn Any> = a_module_related; // <-- this requires trait_upcasting
let a_concrete = a_any.downcast::<ConcreteType>();

We need to extend Any such that we can detect the module from the abstract type we want to pass to the module so we can later downcast it to the concrete type. Unfortunately downcast isn't a member of Any, but rather implemented for Box<dyn Any> etc.
What we can do instead is have a as_any(&self) -> &dyn Any in BelongsToModule and then use downcast_ref. Idk if it would work for owned/Boxed data. But passing transaction inputs and outputs by ref shouldn't be a big problem.

The problem of error types seems somewhat different from "type-erased value" types that modules use.
The fact that this PR compiles suggests that we are currently not passing any of these errors to the client, so we can worry about it later(?)

Sure. I think we will have to undo it eventually but if it's really useful for you now let's land it.

Sure. I think we will have to undo it eventually but if it's really useful for you now let's land it.

@elsirion I'm leaving the enum XyzError each thread defines for its errors, so it should be relatively easy to un/re-do.


[MINOR] Use <= for clarity in Pi examples' Monte Carlo process

What changes were proposed in this pull request?
If my understanding is correct we should be rather looking at closed disk than the opened one.
How was this patch tested?
Run simple comparison, of the mean squared error of approaches with closed and opened disk.
https://gist.github.com/mrydzy/1cf0e5c316ef9d6fbd91426b91f1969f
The closed one performed slightly better, but the tested sample wasn't too big, so I rely mostly on the algorithm  understanding.

Can one of the admins verify this patch?

In theory, it doesn't matter because the circumference has 0 width, but in practice it could matter a very very small bit because of floating-point round-off. It doesn't really matter for purposes of the example but I agree it'd be nice to do the slightly more accurate thing, on principle. I made an even simpler test to isolate away other effects:
var lt = 0
var lte = 0
val n =<PHONE_NUMBER>
val random = new scala.util.Random()
for (i <- 0 until n) {
  val x = 2.0 * random.nextDouble() - 1.0
  val y = 2.0 * random.nextDouble() - 1.0
  val dist = x * x + y * y
  if (dist < 1.0) { lt += 1 }
  if (dist <= 1.0) { lte += 1 }
}

val ltEstimate = 4.0 * lt / n
val lteEstimate = 4.0 * lte / n
println(ltEstimate - scala.math.Pi)
println(lteEstimate - scala.math.Pi)

I get exactly the same error of 2.910410207057623E-6 in both cases after 1 billion iterations. Therefore I'd suspect any difference is due to chance, but I'm not sure what kind of results you got or whether they're highly unlikely to be due to chance.

Hey,
Thanks for reply!
The results I got are really small and could be due to chance. The reason why I brought it up, is because I found that confusing while following the example, but you're right the circumference has 0 width.

Out of curiosity do you remember how many times one was bigger than the other? if it was 10/10 then you probably have a point, and that there's something about the way the example actually executes that makes this an issue. If it was like 7/10 that is within the realm of chance, says the binomial distribution.
It is a good point to be sure and I wouldn't even mind changing it; I guess I'd just leave it unless we think it's actually inaccurate, esp. considering it's just a 'load test' example.

It was exactly 7/10.  Realising '<=' made the concept clearer to me (as I'm
a beginner following examples), but it might be it's just me, so I'm not
insisting.
2016-11-01 10:40 GMT+01:00 Sean Owen<EMAIL_ADDRESS>
Out of curiosity do you remember how many times one was bigger than the
other? if it was 10/10 then you probably have a point, and that there's
something about the way the example actually executes that makes this an
issue. If it was like 7/10 that is within the realm of chance, says the
binomial distribution.
It is a good point to be sure and I wouldn't even mind changing it; I
guess I'd just leave it unless we think it's actually inaccurate, esp.
considering it's just a 'load test' example.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/apache/spark/pull/15687#issuecomment-257524790, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AKhQTcfdwi8QGeIlI0NVFi8f1oi_wwjwks5q5wkWgaJpZM4KkYXx
.

--
Maria Rydzy

There are actually 4 instances of the Pi example. I'll merge it if you update them all, just for reasons of clarity, sure. If you would update the title to something like [MINOR] Use <= for clarity in Pi examples' Monte Carlo process

Thank you Sean! I've updated Scala, Java and Python examples and changed the commit name as you've requested. I can't seem to find the fourth example though.

There's one more in LocalPi.scala

Ok, LocalPi updated and commits squashed. Hope it's fine now.

Jenkins test this please

Test build #67904 has started for PR 15687 at commit c710f61.

Test build #67904 has finished for PR 15687 at commit c710f61.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/67904/
Test PASSed.

Merged to master


Entering editor then quitting doesn't render back the whole app

Problem: After viewing something in the editor then quitting the application partially disappears.
Steps to reproduce: Make a request -> navigate to the body -> insprect in editor (f4) -> quit the editor -> the app partially disappeared.
What I use: Linux, tmux, nvim, posting version 2.0.1.

What terminal do you use?

Wezterm. Tried it in xterm too, same issue.

Thanks, I can reproduce this too. Will look into it.

Cool! Probably just need to rerender it after and that's it.

Same for me using alacritty with zellij.

What version are you using @pedroid999?

Now i update to 2.2.0 release and seem work fine though when edit json body and come back from neovim with :wq add brackets, like on image.

I cannot reproduce that @pedroid999. Closing this issue as the original one is fixed - @pedroid999 if you're still having trouble please make a new issue.


typing into headers input fields

Describe the bug
A clear and concise description of what the bug is.
when typing in a header e.g. SomeHeaderName it kicks you out of the input field after each character input
To Reproduce
Steps to reproduce the behavior:
Header List and type in a header
Expected behavior
remaining focused in the input until clicking outside
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: [e.g. iOS]
Browser [e.g. chrome, safari]
Version [e.g. 22]

Smartphone (please complete the following information):

Device: [e.g. iPhone6] Mac
OS: [e.g. iOS8.1] 10.15
Browser [e.g. stock browser, safari] Chrome
Version [e.g. 22] v83

Additional context
Add any other context about the problem here.

@nhidtran issue has been identified. Will fix asap.


Unable to read host resolv file on macOS

I have a macOS (10.13.6) with resolv.conf file which is not an ordinary file but it is a link see:
cdkqe-mac-02:~ hudson$ ls -ls /etc/ | grep resolv.conf
  8 lrwxr-xr-x   1 hudson  wheel      22 Oct  3  2018 resolv.conf -> ../var/run/resolv.conf

With this setup, I'm not able to start CRC see:
cdkqe-mac-02:tmp hudson$ ./crc start -b crc_vbox_4.1.0.tar.xz
INFO Checking if oc binary is cached
INFO Checking if VirtualBox is Installed
WARN Skipping above check ...
INFO Checking file permissions for /etc/resolver/testing
WARN Skipping above check ...
INFO Checking file permissions for /etc/resolv.conf
INFO Extracting the Bundle tarball ...
INFO Creating VM ...
INFO Restarting the host network
WARN Unable to read host resolv file (cat: /etc/resolv.conf: No such file or directory
 : exit status 1)
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x18 pc=0x13c09a1]

goroutine 1 [running]:
github.com/code-ready/crc/pkg/crc/services/dns.waitForNetwork()                                                                                /mnt/hudson_workspace/workspace/crc_pipeline/crc/pkg/crc/services/dns/dns_darwin.go:109 +0x61
github.com/code-ready/crc/pkg/crc/services/dns.restartNetwork(0x1614ef3, 0x1b, 0x0)                                                                                /mnt/hudson_workspace/workspace/crc_pipeline/crc/pkg/crc/services/dns/dns_darwin.go:96 +0x556
github.com/code-ready/crc/pkg/crc/services/dns.runPostStartForOS(0x16052f3, 0x3, 0x16b3080, 0xc00027abc0, 0xc0000212e8, 0x3, 0xc0000212eb, 0x3, 0xc000027020, 0x19, ...)                                                                             /mnt/hudson_workspace/workspace/crc_pipeline/crc/pkg/crc/services/dns/dns_darwin.go:46 +0x1c9
github.com/code-ready/crc/pkg/crc/services/dns.RunPostStart(0x16052f3, 0x3, 0x16b3080, 0xc00027abc0, 0xc0000212e8, 0x3, 0xc0000212eb, 0x3, 0xc000027020, 0x19, ...)                                                                                /mnt/hudson_workspace/workspace/crc_pipeline/crc/pkg/crc/services/dns/dns.go:60 +0x307
github.com/code-ready/crc/pkg/crc/machine.Start(0x16052f3, 0x3, 0x7ffeefbffd3f, 0x15, 0xc000020cb0, 0xa, 0x2000, 0x4, 0x0, 0x0, ...)                                                                                /mnt/hudson_workspace/workspace/crc_pipeline/crc/pkg/crc/machine/machine.go:176 +0x1fc4
github.com/code-ready/crc/cmd/crc/cmd.runStart(0xc00016e1a0, 0x0, 0x2)                                                                                /mnt/hudson_workspace/workspace/crc_pipeline/crc/cmd/crc/cmd/start.go:56 +0x24a
github.com/code-ready/crc/cmd/crc/cmd.glob..func9(0x1a7e2a0, 0xc00016e1a0, 0x0, 0x2)                                                                                /mnt/hudson_workspace/workspace/crc_pipeline/crc/cmd/crc/cmd/start.go:32 +0x3f
github.com/spf13/cobra.(*Command).execute(0x1a7e2a0, 0xc00016e180, 0x2, 0x2, 0x1a7e2a0, 0xc00016e180)                                                                                /home/cloud-user/go/pkg/mod/github.com/spf13/cobra@v0.0.3/command.go:766 +0x2cc
github.com/spf13/cobra.(*Command).ExecuteC(0x1a7f0e0, 0x14, 0x0, 0x0)                                                                                /home/cloud-user/go/pkg/mod/github.com/spf13/cobra@v0.0.3/command.go:852 +0x2fd
github.com/spf13/cobra.(*Command).Execute(0x1a7f0e0, 0xc00015df68, 0x14e16a2)                                                                                /home/cloud-user/go/pkg/mod/github.com/spf13/cobra@v0.0.3/command.go:800 +0x2b
github.com/code-ready/crc/cmd/crc/cmd.Execute()                                                                                /mnt/hudson_workspace/workspace/crc_pipeline/crc/cmd/crc/cmd/root.go:65 +0x2d
main.main()                                                                                /mnt/hudson_workspace/workspace/crc_pipeline/crc/cmd/crc/main.go:10 +0x25

on a posix system this is quite unusual, but likely since macOS relies on
resolver first, they do not need to have this file exist.
On Mon, Jul 1, 2019 at 5:40 PM Tomáš Sedmík<EMAIL_ADDRESS>wrote:

I have a macOS (10.13.6) with resolv.conf file which is not an ordinary
file but it is a link see:
cdkqe-mac-02:~ hudson$ ls -ls /etc/ | grep resolv.conf
8 lrwxr-xr-x   1 hudson  wheel      22 Oct  3  2018 resolv.conf -> ../var/run/resolv.conf
With this setup, I'm not able to start CRC see:
cdkqe-mac-02:tmp hudson$ ./crc start -b crc_vbox_4.1.0.tar.xz
INFO Checking if oc binary is cached
INFO Checking if VirtualBox is Installed
WARN Skipping above check ...
INFO Checking file permissions for /etc/resolver/testing
WARN Skipping above check ...
INFO Checking file permissions for /etc/resolv.conf
INFO Extracting the Bundle tarball ...
INFO Creating VM ...
INFO Restarting the host network
WARN Unable to read host resolv file (cat: /etc/resolv.conf: No such file or directory
: exit status 1)
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x18 pc=0x13c09a1]
goroutine 1 [running]:github.com/code-ready/crc/pkg/crc/services/dns.waitForNetwork()                                                                                /mnt/hudson_workspace/workspace/crc_pipeline/crc/pkg/crc/services/dns/dns_darwin.go:109 +0x61github.com/code-ready/crc/pkg/crc/services/dns.restartNetwork(0x1614ef3, 0x1b, 0x0)                                                                                /mnt/hudson_workspace/workspace/crc_pipeline/crc/pkg/crc/services/dns/dns_darwin.go:96 +0x556github.com/code-ready/crc/pkg/crc/services/dns.runPostStartForOS(0x16052f3, 0x3, 0x16b3080, 0xc00027abc0, 0xc0000212e8, 0x3, 0xc0000212eb, 0x3, 0xc000027020, 0x19, ...)                                                                             /mnt/hudson_workspace/workspace/crc_pipeline/crc/pkg/crc/services/dns/dns_darwin.go:46 +0x1c9github.com/code-ready/crc/pkg/crc/services/dns.RunPostStart(0x16052f3, 0x3, 0x16b3080, 0xc00027abc0, 0xc0000212e8, 0x3, 0xc0000212eb, 0x3, 0xc000027020, 0x19, ...)                                                                                /mnt/hudson_workspace/workspace/crc_pipeline/crc/pkg/crc/services/dns/dns.go:60 +0x307github.com/code-ready/crc/pkg/crc/machine.Start(0x16052f3, 0x3, 0x7ffeefbffd3f, 0x15, 0xc000020cb0, 0xa, 0x2000, 0x4, 0x0, 0x0, ...)                                                                                /mnt/hudson_workspace/workspace/crc_pipeline/crc/pkg/crc/machine/machine.go:176 +0x1fc4github.com/code-ready/crc/cmd/crc/cmd.runStart(0xc00016e1a0, 0x0, 0x2)                                                                                /mnt/hudson_workspace/workspace/crc_pipeline/crc/cmd/crc/cmd/start.go:56 +0x24agithub.com/code-ready/crc/cmd/crc/cmd.glob..func9(0x1a7e2a0, 0xc00016e1a0, 0x0, 0x2)                                                                                /mnt/hudson_workspace/workspace/crc_pipeline/crc/cmd/crc/cmd/start.go:32 +0x3fgithub.com/spf13/cobra.(*Command).execute(0x1a7e2a0, 0xc00016e180, 0x2, 0x2, 0x1a7e2a0, 0xc00016e180)                                                                                /home/cloud-user/go/pkg/mod/github.com/spf13/cobra@v0.0.3/command.go:766 +0x2ccgithub.com/spf13/cobra.(*Command).ExecuteC(0x1a7f0e0, 0x14, 0x0, 0x0)                                                                                /home/cloud-user/go/pkg/mod/github.com/spf13/cobra@v0.0.3/command.go:852 +0x2fdgithub.com/spf13/cobra.(*Command).Execute(0x1a7f0e0, 0xc00015df68, 0x14e16a2)                                                                                /home/cloud-user/go/pkg/mod/github.com/spf13/cobra@v0.0.3/command.go:800 +0x2bgithub.com/code-ready/crc/cmd/crc/cmd.Execute()                                                                                /mnt/hudson_workspace/workspace/crc_pipeline/crc/cmd/crc/cmd/root.go:65 +0x2d
main.main()                                                                                /mnt/hudson_workspace/workspace/crc_pipeline/crc/cmd/crc/main.go:10 +0x25
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/code-ready/crc/issues/283?email_source=notifications&email_token=AAAAOZV7I33FNV3DYTJXUFDP5HGHXA5CNFSM4H4QSRUKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4G4S6FUQ,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAAAOZQRLXODME2FAL35VVTP5HGHXANCNFSM4H4QSRUA
.

--
Gerard Braad | http://gbraad.nl
[ Doing Open Source Matters ]

Duplicate issue to #293


Checkbox cannot be seen in modal.

Select one ...  (check one with "x")
[x] bug
[ ] feature request
[ ] enhancement

Expected behavior

Showing checkbox tag in modal with Clarity styles.
Actual behavior

Checkbox tag cannot be seen in modal.
It should be a bug.
Reproduction of behavior

Environment details

Angular version: 2.2.3

Clarity version:
clarity-angular: 0.7.5
clarity-icons: 0.7.5
clarity-ui: 0.7.5

OS and version:
OS X

Browser: [all | Chrome 55 ]

@wknet123 thanks for reporting an issue. Do you mind including more information including a plnkr using the clarity template if possible? That would help us reproduce this issue: https://plnkr.co/edit/VPxyl7?p=preview

I found it only disappeared when it does not follow with a label tag, I think this is a limitation.
e.g.

<input type="checkbox" id="create_project_public">
<abel for="create_project_public">

 , looks fine.
but,

<input type="checkbox" id="create_project_public">

for this, it's disappeared.
BTW, I found the plnkr link you provided is not available since some reference libs does not exist.

@wknet123: Yes you definitely need the label inside of the checkbox because Clarity has custom checkboxes and they are generated by adding styles to the pseudo elements in the label. If you have no text in the checkbox you still have to use an empty label.
Thanks for reporting the plnkr issue. @hippee-lee is taking a look at it.
I am closing this issue but please feel free to reach out if you face any other issues.

Howdy @wknet123.
I created a new plunkr that uses the latest (v0.8.0) version of clarity here: https://plnkr.co/edit/8TwwdL?p=preview
I'll update the docs asap but am posting it here if you need it.


Add app alert for async run_flow() failures

Similar to #1498, there should be an app message raised for the user when an async flow fails.
We should already catch and report stuff if things go wrong in build() (verify this!) but if we e.g. have a problem with the lock API (see #1496 et al) these will go unreported.

This actually requires some refactoring of the taskflowbackend API, as we don't currently pass the user initiating the flow submission. Postponing this for now as it's not exactly critical.


Update gh-pages with 404 page

Based on #942
output: https://outoftardis.github.io/daal4py

@Pahandrovich could you also merge this pr? I'm not authorized to do it


[DevEx]: Refactor cypress commands file to use a a centralized helper function for making socket requests

Improvement Summary
We should consolidate the cypress commands so that the socket api calls are made with a utility function like the game store's makeSocketRequest() function. This should DRY up the commands file and afford the flexibility to more centrally manage dynamically utilizing the GameState API vs the legacy API during development.
Detailed Description
We should employ the same maneuver used in #971 to DRY up all the io.socket.get() calls from the various cypress commands. We can then additionally use the technique laid out in #973 where the nonGameStateAPIMoves are defined in a Set that is used to programatically alter the gamestate request urls when the VITE_USE_GAMESTATE_API env var is set.
This will allow us to more concisely control which endpoints hit which urls in both the GameState and legacy APIs, while shortening up the commands file.

I'm gonna grab this one


OPSEXP-2627: bump components for Fornax release

Ref: OPSEXP-2627

We won't be updating test configs for 7.1 and 7.2?

Well spotted! I missed it since we removed the deprecated versions from the automated CI. Wil l run the job for deprecated versions as it's a release merge


Create a screencast showing the main features of the Open Event Web App

Please create a 1.5 minute screencast with the main features of the generator and app:

Show how to import an Open Event file and generate a website.
Show the pages of the website.
at the end show the GitHub page of the project
do not show any subtitles

@mariobehling I'm on it :)

@mariobehling Please check this

@geekyd Looks good, but we need a video in high resolution. What is the highest video resolution you could make this?

Great content. The video seems to lag a bit. Would be great if you could remove it.
@mariobehling  @geekyd
Also, since the screencast is to be shown at the FOSSASIA Summit, it would be better IMO to generate that via the app. The event is big and generation through the API endpoint will take some time, but we could fast forward that part easily. Showing the generated website of the current event should appeal more to the attendees. I might be totally wrong, though. Would love to hear your opinions. Thanks!!

@mariobehling The output i sent is a gif, I converted it to show the content. My screen resolution is 1280 X 800.
@Princu7 Thats a great idea, it would be perfect if we can fast forward the generation part and concentrate on the generated app.

@mariobehling @Princu7 Please check these links to the youtube videos
Demo without deploy
Demo with deploy

@geekyd Content looks really good. Nice.

@geekyd Could you provide a downloadable file, please?

@mariobehling Please use this link to download the video.
https://drive.google.com/open?id=0BwWgyD2HJorUdy1WY2d4WjFsck0

Excellent job! Will play it at FOSSASIA Summit!


Fix Ubuntu Python 2.7 venv tests on GitHub Actions

Related to https://github.com/microsoft/vscode-python/issues/9968
GHA run: https://github.com/microsoft/vscode-python/runs/484534820?check_suite_focus=true

Nevermind, we can track them all in #9968


458 common update logic

This PR implements a common handler for creating and mutating periods on masterdata.
There are associated unit tests in /tests/streaming/test_metering_point_dispatcher.py

#458

@ZavezX do we need to extend the unit test suite before we can close this PR?

I think we should take care of unit tests in another issue and get this rolling to begin testing the solution.


Add batch format functionality

Eg, provide a path to a CSV/TSV (vcf?) with various parameters, and output a big JSON doc with everything formatted correctly.

Honestly... this sounds more like a job for the variation normalizer, perhaps with some tooling stacked on top.


Set up the ADaM package vignettes (?h)

Definition of done
Set up the initial vignettes based on documents/guidance already prepared and mature enough.

Think we close this one out.

Agreed.


Add DMD to the release pages of Ddoc and Ddox

This will add the "DMD as a library" documentation to the release pages of Ddoc and Ddox.
The DMD pages have been part of the prerelease pages since four months:
Ddoc: https://dlang.org/phobos-prerelease/ddmd_mars.html
Ddox: https://dlang.org/library-prerelease/ddmd/mars.html
As we got no feedback I feel like the only way people will notice (and thus maybe start to improve it), is exposing the documentation on the release docs.
CC @andralex @RazvanN7
(changing the documentation generation from ddmd to dmd is rather trivial and already needs to be done for the prerelease pages anyways.)

ah cool thx!!

ah cool thx!!

Wow that was quick! Thanks!
As many pages still need some work, I opened a post on the NG:
<EMAIL_ADDRESS>


raftstore: drop raft message by replication state

What is changed and how it works?
Issue Number: Close #12074
What's Changed: Drop raft messages when the peer store is not available judged by replication mode state.

WIP: need some benchmark to make sure it does not affect performance when we don't use 2DC deployment.
Check List
Tests

Manual test (TBD)

Side effects

Performance regression

Consumes more CPU

Release note
None

/bench

/build

Can you describe more on what's is available stores? Or any public link to show the definition?

available stores are stores that are allowed to communicate judged by the replication mode from PD's perspective.
Specifically.

When the PD determines that DR  has failed and needs to switch to the async state, all nodes in the DR will be marked as unavailable store
When a small number of nodes in PRIMARY fail and cannot update the replication mode, these failed nodes will also be marked as unavailable store

/rebuild

/run-test

/run-test

/run-test

/merge

/run-clippy-linux-arm64


Types of debugging Technique.

Please specify the different type of debugging process, catch process bottleneck or which IDE will be best for debugging.

VSCode is best for debugging at the moment. You can check the NativeScript here:
https://github.com/NativeScript/nativescript-vscode-extension
Bottleneck are bloated visual trees. In general try to achieve the best results with as fewer as possible GridLayoute and StackLayout instances.
Avoid using Repeater for lots of items. It does not use UI visualization. Try to stick to the ListView, it does visualize and recycle the UI.
Usually {N} is fast enough but frequently a lot of changes on the visual tree happen during animations that cause the animation to skip few frames now and then making the app appear "slow". Most of the issues can be resolved following a few very simple recomendations.

Set bindingContext in navigatingTo that updates the UI before a Page intro is played. Otherwise if you set it on loaded or navigatedTo chances are the UI will update half the way through the animation.
If your binding context will instantiate a lot of UI - set it in navigatedTo or postpone it a little with timeout, so tapping a navigation button can bring up the new page as soon as possible (without waiting for tons of UI to instantiate) and after the animation is played, set the bindingContext to populate any heavy template list views or repeaters after the animation has finished.
If you are making http requests start them in navigatingTo so that you can get data ASAP. But don't set that data in the bindingContext before the navigatedTo is called or the intro animation has finished, so your UI don't get populated half through a page intro animation.
If you use animations, don't modify the visual tree during the animation. Create all objects before the animations, animate translate, rotate, and if you have to show or hide something use opacity, set the visibility when all animations complete.

probably this is not extensive list, post such questions on the main "NativeScript" repo

Use algorithms no slower than O(n * log(n)).


Introduce allow_invalid_utf16 option in Boost JSON

Fix: #940
Motivation
Boost library provides parsing and serialization algorithms to transform JSON to and from the value container as needed.
The current version of the boost JSON library includes an option parse_options::allow_invalid_utf8 to control the treatment of unescaped UTF-8 code units, allowing users to disable the validation of UTF-8 code points.
It lacks a similar capability for dealing with invalid UTF-16 surrogate pairs. This limitation becomes apparent when users encounter scenarios involving UTF-16 encoded data with mismatched or out-of-range surrogate pairs, where the existing functionality does not provide adequate support or validation mechanisms.
Therefore, extending this functionality to encompass invalid UTF-16 surrogate pairs is necessary to ensure comprehensive handling of different UTF encoding scenarios and enhance the library's robustness and versatility in parsing and serialization tasks involving UTF-16 encoded JSON data.
Design
The introduction of the parse_options::allow_invalid_utf16 option grants the allowance of invalid UTF-16 surrogate pairs in strings processed by the parser.
When the option is activated, the parser refrains from raising errors for invalid UTF-16 sequences. Instead, it replaces these invalid sequences with the Unicode replacement character.

It usually appears within an hour. I'm not sure performance will be affected, given that this is a special case within a special case.

Thank you for your work, I'll merge this soon.

Thank you @grisumbras for your continued support and valuable feedback.

Hello @grisumbras
I hope this message finds you well. I wanted to inquire about the anticipated timeframe for the merging of this pull request. Your attention to this matter is greatly appreciated.
Thank you

I need to finish my current project (which will probably happen tomorrow). After that I'll merge this. The change will definitely be in the next Boost release which will happen in August.

Thank you for the update. Looking forward to the next Boost release.


Allow tag to be a component

When i pass a component as a tag to supported element like Nav
import { Link } from 'react-router-dom';

<NavbarBrand tag={Link} to="/">
          Agweria
</NavbarBrand>

I get the error : Failed prop type: Invalid prop tag supplied to NavbarBrand
See console error

Though it works fine even in the above case, is there a way to get rid of the console error.
See . https://github.com/facebook/prop-types/pull/211

I am also experiencing this problem, which happened when I upgraded React-router-dom to the latest version 5.1.2.

Anything updates on this? @design-revision


Loading housing prices without internet

Hi,
the internet of my company does not let me download the housing prices. I've discovered the data locally, so is it possible to load the data from there instead of downloading then from the server?
Regards,
Wätzold

I've found a Solution:```
#housing = fetch_california_housing()
housing = fetch_california_housing(data_home=".../housing/",
download_if_missing=False)
amd place the file "cal_housing_py3.pkz", which you can download from the internet.

Hi @WaetzoldP ,
If you are referring to the sklearn.datasets.fetch_california_housing() function, it will load the original housing dataset.  The dataset I use in the book is based on it, but I tweaked it a bit to make it a bit more challenging.  I added a categorical column (ocean_proximity) and I removed about 300 values in the total_bedrooms column.
I was going to answer, but I see you found the solution while I was typing this!  :)
Cheers,
Aurélien


Add badges to README

We should add badges for:

[x] Documentation. See https://docs.readthedocs.io/en/stable/badges.html for RTD.
[ ] CI Workflows. See https://docs.github.com/en/actions/monitoring-and-troubleshooting-workflows/adding-a-workflow-status-badge.
[x] Conda package version (should link to the conda package url). See https://shields.io/badges/conda-2 or https://anaconda.org/accessnri/benchcab/badges.
[ ] License (should link to LICENSE). See: https://shields.io/badges/git-hub. TODO: need to add an Apache License 2.0 in repository.

Hey team! Please add your planning poker estimate with Zenhub @ccarouge @SeanBryan51

Closing this issue as key badges are now in the README.


Update configuring-systems-for-high-accuracy.md

reverting my last edit. Product group doesn't like the wording.

Hey @ryanriesMSFT,
We'll be merging this change shortly. Thank you.


Removed dependency on Reflections library

The Reflections library pulled in dependencies that conflicted with the MapReduce test framework, so I decided it would be best to drop this library. It was only used for finding the Platform implementation to be executed by searching the nl.tudelft.graphalytics.<platform> package. This was not truly extensible to begin with, so I replaced it with the requirement that each platform includes in its resources a <platform>.platform file that contains the fully-qualified class name of the Platform implementation it provides.

Refer to this link for build results (access rights to CI server needed):
http://jenkins.tribler.org//job/Graphalytics_pull_request_tester/17/
Test PASSed.


Find out whether command succeeded after HystrixCommand.run() returned

Short version: is there a way to find out whether the command was successful (did not time-out) after the HystrixCommand.run() returned?
Long version: In a HystrixCommand we connect to an API, open the socket and return the InputStream of the java.net.HttpURLConnection so the InputStream escapes the HystrixCommand in a ready-to-be-used state. Now there is this edge case when right before method HystrixCommand.run() returns the parent thread considers the command as timed-out and the InputStream of HystrixCommand.run() never reaches the client, which is a problem because no one will close it. Is there a standard way to notify the HystrixCommand instance when to clean up its underlying resources (in this case the InputStream)? I have thought of implementing a HystrixCommandExecutionHook and use its onThreadComplete() hook, but was not sure how to tell whether the command succeeded or timed out. What is the easiest way to implement such a feature? How to tell whether a command failed (timed out)?

The closing of the connection on timeout and, more generally, the cleanup of resources on different types of failures is one of the use-cases for which I thought of #164.

@michele-mancioppi thanks for pointing out the exiting issue. As I described in my long version this seems easy to implement (even as a non-standard feature) but I am not sure about the other questions:
is !HystrixCommand.isSuccessfulExecution() the correct way to find out that the Command was run()but failed? I can imagine at least a use case when this is not true: the circuit is short-circuited (and thus there is still nothing to clean up).


Helm truncates trailing zero in tag versions to the closest whole number

If I have a tag version 1.0 in values.yml, my deployment will fail due to a missing container. A dry run shows the following
Tag setting in values.yml
fullname: k8sclient
image:
  repository: localhost/k8sclient
  tag: 1.0

Output of deployment dry-run
      - name: k8client
        image: "localhost/k8sclient:**1**"

I get a tag suffix of 1 instead of the expected 1.0.
Since the tag can contain values like "latest", most people would expect it to use string formatting and not truncate trailing zero's
Changing the tag to 1.01 in values.yml results in the expected output....
      - name: k8client
        image: "localhost/k8sclient:1.01"
        imagePullPolicy: IfNotPresent

1.0 will be interpreted as a float64. What you probably want is a string:
fullname: k8sclient
image:
  repository: localhost/k8sclient
  tag: "1.0"

This seems to be solved. Closing.


Add Link to Expo React Compiler Guide

Updated the Expo section to include a link to the dedicated React Compiler setup guide on the Expo documentation site.

Solved by @poteto in #7000


Feature: CSS

divs are block element which span 100% of parent container by default.
I removed the width: 100% property which saves a few extra bytes :)

Thanks @marcobiedermann