18.06 upgrade causes issue with peer discovery via overlay network (RabbitMQ and Consul)

I've been working on making a RabbitMQ cluster with Consul for peer discovery.  I'd been using Docker CE 18.03 initially and deploying a stack on a single node Swarm running on my local box.  Deploying the stack brought everything up and formed the cluster without issue.
I then upgraded to 18.06 and now the cluster will not form on startup.  The RabbitMQ startup log shows it throws the following errors:
[warning] <0.201.0> Could not auto-cluster with node rabbit@67c00463d555: {badrpc,nodedown}
[warning] <0.201.0> Could not auto-cluster with node rabbit@f25c4850964b: {badrpc,nodedown}
[warning] <0.201.0> Could not successfully contact any node of: rabbit@67c00463d555,rabbit@f25c4850964b (as in Erlang distribution). Starting as a blank standalone node...

It obviously can communicate with the Consul container (because it obtains the names of peers from Consul) but for some reason the peers are inaccessible at the time of the initial startup.  I can also see the 3 nodes register with Consul.  The nodes are alive as I can see the Swarm round-robin requests to each container via the admin UI on port 15672.
If I manually stop 2 of the 3 nodes, Swarm starts replacement containers and they will automatically form the cluster without any issues.  If I had to guess what is happening, there is some sort of delay in the ability to resolve names of other containers.  It appears names of services resolve without any issue and that the overlay network is working fine.
I can get around this with a bit of Erlang code and a healthcheck script, but this means the initial cluster isn't going to start for a few minutes.  I'd just wonder if this is going to affect any other deployment that also relies on peer discovery.  (FYI - My current healthcheck script (attached) is unable to allow the monitoring to detect this issue and replace the non-functioning containers.)
Specifics attached for anyone wishing to attempt to recreate it.
My compose file:
version: '3.7'

services:
  rabbitmq:
    image: rabbitcluster
    ports:
      - "15672:15672"
      - "5672:5672"
      - "5671:5671"
    deploy:
      replicas: 3
    networks:
      - rabbit-net
    secrets:
      - erlang_cookie
  consul:
    image: consul
    ports:
      - "8500:8500"
    environment:
      - CONSUL_BIND_INTERFACE=eth0
    networks:
      - rabbit-net
      - consul-net

secrets:
  erlang_cookie:
    external: true
networks:
  rabbit-net:
  consul-net:

My Docker file for "rabbitcluster" (making the cookie come from a secret, adding plugins on the build, healthcheck):
FROM rabbitmq

ADD --chown=rabbitmq:rabbitmq conf/rabbitmq.conf /etc/rabbitmq/
ADD scripts/entrypoint.sh /usr/local/bin/
RUN chmod +x /usr/local/bin/entrypoint.sh
RUN rabbitmq-plugins enable rabbitmq_management rabbitmq_peer_discovery_consul

HEALTHCHECK CMD ["rabbitmq-diagnostics","cluster_status"]

ENTRYPOINT ["entrypoint.sh"]
CMD ["rabbitmq-server"]

My custom entrypoint.sh:
#!/bin/bash

set -e

# Let the original entrypoint use the cookie set in the environment, otherwise try
# to use the "erlang_cookie" secret as the cookie.
if [ -z ${RABBITMQ_ERLANG_COOKIE} ]; then

    if [ -e "/var/run/secrets/erlang_cookie" ]; then
        echo Using Docker secret erlang_cookie
        cat /var/run/secrets/erlang_cookie > /var/lib/rabbitmq/.erlang.cookie
        chown rabbitmq:rabbitmq /var/lib/rabbitmq/.erlang.cookie
        chmod 600 /var/lib/rabbitmq/.erlang.cookie
    fi
fi

# Run the original docker entrypoint script with the arguments passed to this script
docker-entrypoint.sh "$@"

My rabbitmq.conf file:
loopback_users.guest = false
listeners.tcp.default = 5672
hipe_compile = false

cluster_formation.peer_discovery_backend = rabbit_peer_discovery_consul
cluster_formation.consul.host = consul
cluster_formation.consul.port = 8500
cluster_formation.consul.scheme = http

cluster_formation.consul.svc = rabbit-dev

cluster_formation.consul.svc_addr_auto = true
# cluster_formation.consul.svc_addr = rabbitmq

# cluster_formation.consul.svc_addr_use_nodename = false
# cluster_formation.consul.use_longname = false

cluster_formation.consul.svc_port = 5672
cluster_formation.consul.svc_ttl = 30
cluster_formation.consul.deregister_after = 90
cluster_formation.consul.include_nodes_with_warnings = false

# Remove dead nodes
cluster_formation.node_cleanup.only_log_warning = false

Version:
Client:
 Version:           18.06.0-ce
 API version:       1.38
 Go version:        go1.10.3
 Git commit:        0ffa825
 Built:             Wed Jul 18 19:05:28 2018
 OS/Arch:           windows/amd64
 Experimental:      false

Server:
 Engine:
  Version:          18.06.0-ce
  API version:      1.38 (minimum version 1.12)
  Go version:       go1.10.3
  Git commit:       0ffa825
  Built:            Wed Jul 18 19:13:46 2018
  OS/Arch:          linux/amd64
  Experimental:     false

Info:
Containers: 55
 Running: 4
 Paused: 0
 Stopped: 51
Images: 140
Server Version: 18.06.0-ce
Storage Driver: overlay2
 Backing Filesystem: extfs
 Supports d_type: true
 Native Overlay Diff: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: bridge host macvlan null overlay
 Log: awslogs fluentd gcplogs gelf journald json-file logentries splunk syslog
Swarm: active
 NodeID: v1fagvfpkl2spp9x6e12d60ll
 Is Manager: true
 ClusterID: md2m7j9lhltzyzaspzob16hu2
 Managers: 1
 Nodes: 1
 Orchestration:
  Task History Retention Limit: 5
 Raft:
  Snapshot Interval: 10000
  Number of Old Snapshots to Retain: 0
  Heartbeat Tick: 1
  Election Tick: 10
 Dispatcher:
  Heartbeat Period: 5 seconds
 CA Configuration:
  Expiry Duration: 3 months
  Force Rotate: 0
 Autolock Managers: false
 Root Rotation In Progress: false
 Node Address: <IP_ADDRESS>
 Manager Addresses:
  <IP_ADDRESS>:2377
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: d64c661f1d51c48782c9cec8fda7604785f93587
runc version: 69663f0bd4b60df09991c08812a60108003fa340
init version: fec3683
Security Options:
 seccomp
  Profile: default
Kernel Version: 4.9.93-linuxkit-aufs
Operating System: Docker for Windows
OSType: linux
Architecture: x86_64
CPUs: 2
Total Memory: 1.934GiB
Name: linuxkit-00155d43b405
ID: TF3F:IKKD:T5V3:7RRU:SCUJ:AKVC:7TKN:EIM7:VBXN:GTHJ:EHDR:VZ72
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): true
 File Descriptors: 82
 Goroutines: 222
 System Time: 2018-07-27T13:22:29.0058931Z
 EventsListeners: 5
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:
 <IP_ADDRESS>/8
Live Restore Enabled: false

Same issue since 18.06 upgrade with a distributed Minio configuration on 4 nodes (4 Scaleway servers ) with a configuration like this https://github.com/minio/minio/blob/master/docs/orchestration/docker-swarm/docker-compose.yaml
The service cannot be resolved at startup.
I will try to restart the service but this is not suitable for production.

Re-opened the issue in for-win.  (My platform is Windows but this may be an issue in Linux as well.)

I'm not so sure this is just Windows. My production (Ubuntu) cluster is having some weird problems with some services being unable to communicate with some services on other hosts since updating to 18.06. I can't find what the exact cause is.

Same issue with linux since updating
docker/for-linux#375

The same problem on Linux when upgrading to 18.06-ce. I'm back at 18.03-ce and problem solved. I don't understand why the issue is closed, the problem is not solved.


Fabric should be excluded from Podspec build

[X] I have reviewed the documentation
[X] I have searched existing issues
[X] I am using the latest React Native version

Version 0.55 of React Native includes an experimental Fabric library which has some issues building in a Podspec environment.  In particular, it is pulled into Core via the source_files wildcard and directly includes headers from folly --- however without folly_compiler_flags being set on the Core subspec, this causes build breakage.
Environment
OS: macOS High Sierra 10.13.3
Node: 9.6.1
Yarn: 1.5.1
npm: 5.6.0
Watchman: 4.9.0
Xcode: Xcode 9.3 Build version 9E145
Android Studio: 3.0 AI-171.4443003
Packages: (wanted => installed)
react: 16.3.1 => 16.3.1
react-native: 0.55.0 => 0.55.0
Steps to Reproduce
Create a Pods based project.  Here's an example Podfile snippet:
pod 'yoga', path: '../node_modules/react-native/ReactCommon/yoga'
pod 'DoubleConversion', podspec: '../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec'
pod 'glog', podspec: '../node_modules/react-native/third-party-podspecs/glog.podspec'
pod 'Folly', podspec: '../node_modules/react-native/third-party-podspecs/Folly.podspec'
pod 'React', path: '../node_modules/react-native', :subspecs => [
  'Core',
  'CxxBridge',
  'DevSupport',
  'RCTWebSocket',
  'RCTGeolocation',
  'RCTLinkingIOS',
  'RCTSettings',
  'RCTText',
  'RCTVibration',
  'RCTImage',
  'RCTAnimation',
  'RCTActionSheet',
  'RCTCameraRoll',
]

Expected Behavior
The project builds.
Actual Behavior
An error is thrown while building complaining that folly/folly-config.h is not found:
In file included from <redacted>/node_modules/react-native/React/Fabric/RCTFabricUIManagerWrapper.mm:10:
In file included from <redacted>/node_modules/react-native/ReactCommon/fabric/FabricUIManager.h:10:
In file included from <redacted>/ios/Pods/Folly/folly/dynamic.h:77:
In file included from <redacted>/ios/Pods/Folly/folly/Range.h:22:
In file included from <redacted>/ios/Pods/Folly/folly/FBString.h:41:
In file included from <redacted>/ios/Pods/Folly/folly/Portability.h:23:
<redacted>/ios/Pods/Folly/folly/portability/Config.h:20:10: fatal error: 'folly/folly-config.h' file not found
#include <folly/folly-config.h>
         ^~~~~~~~~~~~~~~~~~~~~~
1 error generated.

Inspection of the compile command being executed confirms that -DFOLLY_NO_CONFIG is NOT being set.
Adding
                              "React/Fabric/*"

to the exclude_files section of the Core subspec fixes the issue.

@hramos
React Native's official site shows 0.55 as current stable
https://facebook.github.io/react-native/

Looks like this issue still there if you do upgrade from old react-native version, so 0.55 shouldn't be the stable version at this point. Should we re-open this issue? or create a new one?

add React/Fabric/* as mentioned above fixed the issue, just wondering if this would make to the next version or not.

How do I add it to exclude_files. Could you show me your Podfile?

Oh ok, thanks!

It's now part of 0.55.3.
On Tue, 17 Apr 2018 at 14:36 Can Olcer<EMAIL_ADDRESS>wrote:

Oh ok, thanks!
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/facebook/react-native/issues/18683#issuecomment-382154922,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACWcxv2eRCoCRhuftKQauQRSK-o-rdadks5tpmBKgaJpZM4TGBHu
.

add "React/Fabric/*"  did not work for me, Are there any other solutions？？

@lyayun, I have version 0.55.4 and problem solution for me. But 0.55.3 I had problem.

the release to 0.55.4, but there were still problems。

@lyayun  have you searched for this flag -DFOLLY_NO_CONFIG ? If it's set remove it

@shafy, I just edited the node_modules/react-native/React.podspec, and reran pod install. Not pretty but worked.

like this👇👇？？
but there were still problems😯😯
s.subspec "Core" do |ss|
ss.dependency             "yoga", "#{package["version"]}.React"
ss.source_files         = "React//*.{c,h,m,mm,S,cpp}"
ss.exclude_files        = "/tests/",
"IntegrationTests/",
"React/DevSupport/",
"React/Inspector/",
"ReactCommon/yoga/",
"React/Cxx/",
"React/Fabric/**/",
"React/Fabric/*"


Added error charts

Description

Resolves #(issue)

Looks good, let's get this in as a base and we can continue the threads from pascale and nelson:

whether we want to go a single chart per n-variable, or we want one-to-one relations
check the kernel density quirkiness and x-axis alignment stuff nelson was talking about

Looks good, let's get this in as a base and we can continue the threads from pascale and nelson:

whether we want to go a single chart per n-variable, or we want one-to-one relations
check the kernel density quirkiness and x-axis alignment stuff nelson was talking about

Sounds good! By the way the x-alignment stuff nelson was talking about is addressed


we need to ensure we are getting the correct keystone v3 api endpoint in maas_common

in maas_common, as part of the get_*_client methods, we call the get_endpoint_url_for_service to get the endpoint for a particular service type out of the json catalog.
Now that we're using keystone v3 api in the rest of the maas plugins, we need to ensure we grab the correct v3 keystone endpoint.  The problem is the identity part of the catalog looks like this:
    {
      "endpoints": [
        {
          "url": "http:\/\/<IP_ADDRESS>:35357\/v2.0",
          "interface": "admin",
          "region": "RegionOne",
          "region_id": "RegionOne",
          "id": "69d833769ef5490db0f0c52d7bc0ee30"
        },
        {
          "url": "http:\/\/<IP_ADDRESS>:35357\/v3",
          "interface": "admin",
          "region": "RegionOne",
          "region_id": "RegionOne",
          "id": "882843da8a864da3861977903d89dca8"
        },
        {
          "url": "http:\/\/<IP_ADDRESS>:5000\/v2.0",
          "interface": "internal",
          "region": "RegionOne",
          "region_id": "RegionOne",
          "id": "99d44a7b8e9f4c78888f8956110b40ea"
        },
        {
          "url": "http:\/\/<IP_ADDRESS>:5000\/v2.0",
          "interface": "public",
          "region": "RegionOne",
          "region_id": "RegionOne",
          "id": "c402dad761664134ba1e51d346f4c1ce"
        }
      ],
      "type": "identity",
      "id": "7a862c3625a349009af4cfd543f2808f",
      "name": "keystone"
    },

and the get_url_endpoint_for_service method does this:
def get_endpoint_url_for_service(service_type, service_catalog,
                                 url_type='public'):
    for service in service_catalog:
        if service['type'] == service_type:
            for endpoint in service['endpoints']:
                if endpoint['interface'] == url_type:
                    return endpoint['url']

The problme is when we call this method from the get_keystone_client method, we are asking for the admin interface.  There are 2, and we end up getting the first match back(which is the v2 one).
We just need to add a bit of logic to ensure we always return the v3 admin endpoint for keystone specifically.

needs a forward port still

merged and backport merged. closing.


ES5 JS react module which includes CSS

Moving autoprefixer/sassify to global
Adding styles.scss to be compiled to styles.css
Adding HELPER.react in the helper.js file

Compiles Sass -> CSS with the new styles file
Copies lib/react.js
Replaces comment to include css
Compiles the file into es5 with babel

STILL REQUIRES TESTS TO BE WRITTEN

Moved to #218


Window operator changes

The changes are described in the commit message of each commit.
[FLINK-4993] Don't Allow Trigger.onMerge() to return TriggerResult
Allowing Trigger.onMerge() to return a TriggerResult is not necessary
since an onMerge() call will always be followed by an onElement() call
when adding the element that caused the merging to the merged window.
Having this complicates the internal logic of the WindowOperator and
makes writing Triggers more confusing than it has to be.
[FLINK-4994] Don't Clear Trigger State and Merging Window Set When Purging
Before, when a Trigger returns TriggerResult.PURGE from any of the
on*() methods the WindowOperator will clear all state of that window
(window contents, merging window set) and call Trigger.clear() so that the
Trigger can clean up its state/timers.
This was problematic in some cases. For example, with merging windows (session
windows) this means that a late-arriving element will not be put into the
session that was previously built up but will be put into a completely new
session that only contains this one element.
The new behaviour is this:

Only clean window contents on PURGE
Register cleanup timer for any window, don't delete this on PURGE
When the cleanup timer fires: clean window state, clean merging window set, call Trigger.clear() to allow it to clean state/timers

Closing in favour of more fine grained PRs.


Script Text Editor: respect Move Down and Move Up shortcuts on macOS

Handle shortcuts in CodeTextEditor::_input() so that we get them before its
text_editor's TextEdit::_gui_input() function does. If we don't, that
function will execute the following code:
			if (k->get_shift()) {
				_pre_shift_selection();
			}

#ifdef APPLE_STYLE_KEYS
			if (k->get_command()) {

				cursor_set_line(0);
			} else
#endif

So using Command+Shift+Up for the Move Up shortcut would just result in
selecting all text to the beginning of the document, rather than moving the
current line up.
Fixes #28059.

CC @Paulb23

Is there anyone else we could add as a reviewer?

Well let's merge for now. I feel like there's a lot of code duplication in many Controls to handle macOS-specific hotkeys, which is annoying and hard to maintain, so it should likely be refactored in the future.

Thanks!


CLOUDSTACK-10145 Mouse Double Click is not working in instance VM console where there is latency in network

Mouse Double Click is not working in instance VM console where there is latency in network

@vedulasantosh please rebase and re-open if still relevant


Intermittent http server error: httpd_txrx: httpd_sock_err: error in recv : 104 (IDFGH-5593)

Environment

Development Kit:      ESP32-PICO-Kit
Kit version (for WroverKit/PicoKit/DevKitC): v4.1
Module or chip used:  ESP32-PICO-D4
IDF version (run git describe --tags to find it): 4.3
Build System:        idf.py
Compiler version (run xtensa-esp32-elf-gcc --version to find it): 8.4.0
Operating System:     WIndows 10
(Windows only) environment type: PowerShell
Using an IDE?: Yes (Eclipse)
Power Supply:        USB

Problem Description
I am running an application on my ESP32 Pico kit which runs an http REST server which also serves files. I have a number of request handlers for REST paths, and I have one handler for a built-in web page which is modeled after the example code provided by Espressif for a REST server. It serves web pages from a spiffs partition.
I run the server continually and have the monitor on. Approximately once per day I will get a couple of messages on the monitor as follows:
W (923632) httpd_txrx: httpd_sock_err: error in recv : 104
W (923642) httpd_txrx: httpd_sock_err: error in recv : 104

These will occur even though my server is IDLE: I have no requests for web pages or REST commands being sent. The application otherwise appears to be working normally, and I have not noticed an error in behavior other than to see these warnings appear. If fact, if I execute a wide variety of REST API calls and make requests to the web server, I do not get these messages. They seem to appear independent of my use of the server.
I've done quite a bit of research on the 104 (connection reset by peer) error but have not been able to come to a conclusion on what the cause could be, especially since they occur when I am not making any requests to the server.
Expected Behavior
During operation of http server application, I should not see 104 (connection reset by peer) errors
Actual Behavior
During operation of http server application, I occasionally see 104 (connection reset by peer) errors, even if I am not making any requests to the server
Steps to reproduce

Start application with console monitor connected and on
Start http server and verify correct initialization and operation of the REST API and http server without errors or warnings
Stop sending commands/requests to the server and let it run idle for up to 1 day
Observe 104 error appear on the monitor

Code to reproduce this issue
// the code should be wrapped in the ```cpp tag so that it will be displayed better.
#include "esp_log.h"

void app_main()
{

}

// If your code is longer than 30 lines, GIST is preferred.
Debug Logs
Here's the monitor output beginning with boot-up
entry 0x40080678
I (27) boot: ESP-IDF v4.3-dirty 2nd stage bootloader
I (27) boot: compile time 17:53:18
I (27) boot: chip revision: 1
I (31) boot_comm: chip revision: 1, min. bootloader chip revision: 0
I (38) boot.esp32: SPI Speed      : 40MHz
I (42) boot.esp32: SPI Mode       : DIO
I (47) boot.esp32: SPI Flash Size : 4MB
I (51) boot: Enabling RNG early entropy source...
I (57) boot: Partition Table:
I (60) boot: ## Label            Usage          Type ST Offset   Length
I (68) boot:  0 nvs              WiFi data        01 02 00009000 00006000
I (75) boot:  1 phy_init         RF data          01 01 0000f000 00001000
I (83) boot:  2 factory          factory app      00 00 00010000 00100000
I (90) boot:  3 www              Unknown data     01 82 00110000 00032000
I (97) boot: End of partition table
I (102) boot_comm: chip revision: 1, min. application chip revision: 0
I (109) esp_image: segment 0: paddr=00010020 vaddr=3f400020 size=1fb84h (129924) map
I (166) esp_image: segment 1: paddr=0002fbac vaddr=3ffb0000 size=0046ch (  1132) load
I (167) esp_image: segment 2: paddr=00030020 vaddr=400d0020 size=a1c30h (662576) map
I (422) esp_image: segment 3: paddr=000d1c58 vaddr=3ffb046c size=0409ch ( 16540) load
I (429) esp_image: segment 4: paddr=000d5cfc vaddr=40080000 size=16f4ch ( 94028) load
I (469) esp_image: segment 5: paddr=000ecc50 vaddr=50000000 size=00010h (    16) load
I (482) boot: Loaded app from partition at offset 0x10000
I (482) boot: Disabling RNG early entropy source...
I (494) cpu_start: Pro cpu up.
I (494) cpu_start: Starting app cpu, entry point is 0x40081498
0x40081498: call_start_cpu1 at C:/Users/mdbra/Documents/esp-idf/components/esp_system/port/cpu_start.c:141

I (0) cpu_start: App cpu up.
I (508) cpu_start: Pro cpu start user code
I (508) cpu_start: cpu freq: 160000000
I (508) cpu_start: Application information:
I (513) cpu_start: Project name:     BD-PTB
I (517) cpu_start: Compile time:     Jul 23 2021 06:00:27
I (524) cpu_start: ELF file SHA256:  ca02407320255093...
I (530) cpu_start: ESP-IDF:          v4.3-dirty
I (535) heap_init: Initializing. RAM available for dynamic allocation:
I (542) heap_init: At 3FFAE6E0 len 00001920 (6 KiB): DRAM
I (548) heap_init: At 3FFB8ED0 len 00027130 (156 KiB): DRAM
I (554) heap_init: At 3FFE0440 len 00003AE0 (14 KiB): D/IRAM
I (561) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM
I (567) heap_init: At 40096F4C len 000090B4 (36 KiB): IRAM
I (574) spi_flash: detected chip: gd
I (578) spi_flash: flash io: dio
I (583) cpu_start: Starting scheduler on PRO CPU.
I (0) cpu_start: Starting scheduler on APP CPU.
I (592) BD-PTB: Setting up I/O
I (602) BD-PTB: Setting up LEDs
I (1102) BD-PTB: Setting up buttons
I (1102) gpio: GPIO[37]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:3
I (1102) gpio: GPIO[38]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:3
I (1112) BD-PTB: Configuration
I (1142) BD-PTB: Running SW version 1.2
I (1142) BD-PTB: Configuring points
I (1152) BD-PTB: WifiLink: starting WiFi
I (1172) wifi:wifi driver task: 3ffc62fc, prio:23, stack:6656, core=0
I (1172) system_api: Base MAC address is not set
I (1172) system_api: read default base MAC address from EFUSE
I (1192) wifi:wifi firmware version: c7d0450
I (1192) wifi:wifi certification version: v7.0
I (1192) wifi:config NVS flash: enabled
I (1192) wifi:config nano formating: disabled
I (1192) wifi:Init data frame dynamic rx buffer num: 32
I (1202) wifi:Init management frame dynamic rx buffer num: 32
I (1202) wifi:Init management short buffer num: 32
I (1212) wifi:Init dynamic tx buffer num: 32
I (1212) wifi:Init static rx buffer size: 1600
I (1212) wifi:Init static rx buffer num: 10
I (1222) wifi:Init dynamic rx buffer num: 32
I (1222) wifi_init: rx ba win: 6
I (1232) wifi_init: tcpip mbox: 32
I (1232) wifi_init: udp mbox: 6
I (1232) wifi_init: tcp mbox: 6
I (1242) wifi_init: tcp tx win: 5744
I (1242) wifi_init: tcp rx win: 5744
I (1252) wifi_init: tcp mss: 1440
I (1252) wifi_init: WiFi IRAM OP enabled
I (1252) wifi_init: WiFi RX IRAM OP enabled
I (1262) BD-PTB: WifiLink: Checking for existing Wifi connection
I (1272) phy_init: phy_version 4670,719f9f6,Feb 18 2021,17:07:07
I (1362) wifi:mode : sta (d8:a0:1d:5d:cb:64)
I (1372) wifi:enable tsf
I (1382) wifi:new:<7,0>, old:<1,0>, ap:<255,255>, sta:<7,0>, prof:1
I (1382) wifi:state: init -> auth (b0)
I (1382) wifi:state: auth -> assoc (0)
I (1392) wifi:state: assoc -> run (10)
I (1412) wifi:connected with Antioch, aid = 3, channel 7, BW20, bssid = 20:c9:d0:20:04:e7
I (1412) wifi:security: WPA2-PSK, phy: bgn, rssi: -49
I (1412) wifi:pm start, type: 1

I (1412) wifi:AP's beacon interval = 102400 us, DTIM period = 3
I (1422) BD-PTB: wifiEvent: wifi connected
I (3152) esp_netif_handlers: sta ip: <IP_ADDRESS>, mask: <IP_ADDRESS>, gw: <IP_ADDRESS>
I (3152) BD-PTB: wifiEvent: wifi obtained IP
I (3152) BD-PTB: Wifi connected with prior configuration
I (3162) BD-PTB: SSID = Antioch
I (3162) BD-PTB: MAC address = D8:A0:1D:5D:CB:64
I (3172) BD-PTB: IP address = <IP_ADDRESS>
I (3172) BD-PTB: Gateway = <IP_ADDRESS>
I (3182) BD-PTB: Netmask = <IP_ADDRESS>
I (3182) BD-PTB: Setting up mDNS
I (3192) BD-PTB: mDNS host name = BD-PTB-5DCB64
I (3202) BD-PTB: Starting web server
I (3202) BD-PTB: Starting HTTPD server
I (3222) BD-PTB: Partition /www size: total: 180971, used: 58232
I (3472) BD-PTB: Initialization complete
W (923632) httpd_txrx: httpd_sock_err: error in recv : 104
W (923642) httpd_txrx: httpd_sock_err: error in recv : 104

Other items if possible
sdkconfig.txt

Is there something port scanning on your network?  Have you captured the network traffic to coincide with these events?

Is there something port scanning on your network? Have you captured the network traffic to coincide with these events?

Thanks for the reply!
I do not, to my knowledge, have port scanning turned on on my network. I have not done any general network traffic capture. I am logging any network or wifi events in the device, but none are occurring.

@mbratch Could you please help open debug log(idf.py menuconfig->component config->Log output->Default log verbosity (Debug)  and component config->LWIP->[] Enable LWIP Debug->[] Enable TCP debug messages). If possible, help capture the packet between server and client.  Server recveive 104 indicates client send RST. Maybe client close socket with RST instead of  normal close FIN.

@mbratch Could you please help open debug log(idf.py menuconfig->component config->Log output->Default log verbosity (Debug) and component config->LWIP->[] Enable LWIP Debug->[] Enable TCP debug messages). If possible, help capture the packet between server and client. Server recveive 104 indicates client send RST. Maybe client close socket with RST instead of normal close FIN.

Yes, I will try that. Thank you for the suggestion. I'll provide relevant log snippets when I get them.

@mbratch I mean Enable LWIP Debug and TCP debug is this https://github.com/espressif/esp-idf/blob/v4.3/components/lwip/Kconfig#L851 and https://github.com/espressif/esp-idf/blob/v4.3/components/lwip/Kconfig#L910.  I need know the way peer close the socket(FIN or RST). From errno 104, it maybe peer send RST. So we will print 104. I think it's normal issue due to peer close socket in innormal way. For new errno 128, it maybe peer send FIN. I think this not affect the function, We need to figure out the original.

@ESP-YJM thank you for the reply. I will keep trying to get more information. I agree that 104 does not cause much problem. I do not see any problems in functionality of my product when this error appears, so I am not very concerned.
I have reported two other issues which I am more concerned about, especially #7286 (IDFGH-5563) in which I get sudden wifi disconnection and it takes up to 60 seconds before it is able to automatically reconnect.  Also, #7328 (IDFGH-5608) in which the device sometimes will pause for up to 30 seconds before responding to HTTP request. But #7286 is the biggest concern.

@mbratch I think you can foucs on when occur the 104 error, do the device can work normal.

@ESP-YJM thank you for the comment. The 104 error does not appear to negatively affect the operation of the device. My most serious problem is #7286 (which is still open) followed by #7328.

@mbratch Could this issue be closed? For other issues, i think you can track them in corresponding issue.

@ESP-YJM it can be closed on the basis that it doesn't seem to cause any harm.

@mbratch Thanks for reporting and sharing the updates, feel free to reopen.

I know we closed this, but not because it's not there. :)
I'm still getting this issue and it sometimes causes a disruption in the wifi communication: for a few seconds, a client is unable to connect to the ESP32.

Hi @mbratch , thanks for your reply. ESP32 client can't connect to ESP32, do you mean wifi connection or http connection? Do you have any log that can share with me.

Hi @ESP-YJM , the client I am using is not another ESP32. I am using a client on Android or Windows to connect to the ESP32. It is an http connection over wifi.

@mbratch I think you can use PC to connect to the ESP32 with http and open wireshark to capture the packet.

I, too, have this error.... I am just now noticing.
I can mostly confirm that it is just the client (Firefox in my case) sending RST to close TCP connection. That's what it says in Wireshark anyway. . .
296	2.881250	<IP_ADDRESS>	<IP_ADDRESS>	TCP	54	49888 → 80 [RST, ACK] Seq=601 Ack=203511 Win=0 Len=0
The best way to reproduce so far has been leaving Firefox open on the graph page of the RESTful server example, then reloading the page after a good wait. However, this is still pretty hit/miss. I haven't quite narrowed down the exact mechanism that causes Firefox to do this... but that is a Firefox issue anyway.
Either way, a more graceful way for the http daemon to handle RST would be cool.

Hi @CharlesScoville
Thanks for your investigations and explanations.
I agree it is not critical, but it can confuse users (we had that quite often). And since we as device developers can not fix it, I think it would be great if this warning could get disabled or catched or changed to debug log.


Add a note to the Operators docs. [skip ci]

Signed-off-by: Yana Hontyk<EMAIL_ADDRESS>What type of PR is this?
/kind documentation
[skip ci]
What does this PR do / why we need it:
Clarity about around installing Operators on the cluster.
Which issue(s) this PR fixes:
Fixes https://github.com/openshift/odo/issues/4130
PR acceptance criteria:

[ ] Unit test

[ ] Integration test

[x] Documentation

[ ] I have read the test guidelines

How to test changes / Special notes to the reviewer:

@boczkowska actually I have added a bunch of more docs for this in #4274.

/override ci/prow/v4.6-integration-e2e


chore: release v0.3.18

:robot: I have created a release beep boop
0.3.18 (2024-04-07)
What's Changed

fix(export): numerous fixes to encryption, pack files, and presets by @coffeebeats in https://github.com/coffeebeats/gdbuild/pull/135
chore: run go mod tidy by @coffeebeats in https://github.com/coffeebeats/gdbuild/pull/137

Full Changelog: https://github.com/coffeebeats/gdbuild/compare/v0.3.17...v0.3.18

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/coffeebeats/gdbuild/releases/tag/v0.3.18 :sunflower:


Question: plans for v1?

Are there plans to port the rack v1. update to veeseevst ?

Andrew (the VCV developer) kindly asked me not to do that (and I agreed).
From what I've been told, v1 will remain an open source standalone app, and the official VST version (v2 ?) is going to be a closed source, commercial product.

So when all modules will be made for V1, they won't be portable to
veeseevst, while v2 is still lightyears away...
Sounds like a commercial move on Andrew's part that goes against what I see
as the essence of open source.
Creating a free product, get a community going and get famous with the help
of all the other developers that believe in it, then make it closed and
commercial. Where have I seen this before -_-
https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail&utm_term=icon
Virus-free.
www.avast.com
https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail&utm_term=link
<#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>
On Mon, Jun 17, 2019 at 8:22 PM bsp2<EMAIL_ADDRESS>wrote:

Andrew (the VCV developer) kindly asked me not to do that (and I agreed).
From what I've been told, v1 will remain an open source standalone app,
and the official VST version (v2 ?) is going to be a closed source,
commercial product.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/bsp2/VeeSeeVSTRack/issues/25?email_source=notifications&email_token=AKBPUCT7ZXEKZ4L3MKZ6OR3P27I3PA5CNFSM4HYV33WKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODX4A6PA#issuecomment-502796092,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AKBPUCTT6YCQFDD76TYTNJTP27I3PANCNFSM4HYV33WA
.

Sorry but you are heavily over-reacting, instead maybe you could support the platform and all the hard work by Andrew and all the devs, through buying the official VST when it comes out.
to keep all of this going as it is.
And as a creator of his own work Andrew is in tittle to do with it what ever he wants.
So are you, if you would create anything.
What BSP did was and is applaudable and most of us are greatfull for his efforts. But that too has its limits and end of lifecycle.
Just a thought!
Now go and patch some cool music with all of this greatness :D

So when all modules will be made for V1, they won't be portable to veeseevst, while v2 is still lightyears away... Sounds like a commercial move on Andrew's part that goes against what I see as the essence of open source. Creating a free product, get a community going and get famous with the help of all the other developers that believe in it, then make it closed and commercial. Where have I seen this before -_-

I do create, now I'm porting for v1, and once that is complete I will update for v1 and leave 0.6 behind. Maintaining 2 concurrent versions is not optimal, but without veeseevst going to v1, its the only way to use my modules in 4 instances of rack without performance becoming an issue, at least until v2 comes out, at which point I will probably buy the vst version, just like I paid for the vst host module.
And I would understand that when v2 is out, it would be a sucker move to bring out a free fork because that would impact sales. However, in between there will be no alternative to run v1 patches as a vst, so I still dont get why he asked not to port it...

If the VST is using the VCV Rack which is under GPLv3+ then doesn't have have to disclose the source? :)

It could be a much better if he compete in a product quality rather than pushing open-source developers to abandon their project due to his business needs.
In a result we'll get not a free open source eurorack emulator, but another one Reaktor.  Karmic wheel gets another turn.

Just for the record: Nobody drove me away from this project.
My original intention was to (slightly) modify / extend VCV Rack, post the contribution and be done with it.
As it turned out, this plugin version required a lot of modifications, not only to the Rack (v0.6x) core itself but also to the (3rd party) modules, rendering the plugin incompatible with the mainline Rack source tree and 3rd party module repos.
I never had any plans to maintain this fork forever (as mentioned in one of my early KVR posts).
It is what it is. Enjoy, make some music, and support VCV Rack, especially if you want the current Rack version in VST format.


Charging history for non-supercharging

Charging history endpoint seem to have changed recently to this:
https://developer.tesla.com/docs/fleet-api#charging_history
But this only returns the supercharging records. How can we get the records for non-supercharging?

This scope of this issue tracker is limited to the Golang code in this repository. Please reach out to the Fleet API support team: https://developer.tesla.com/docs/fleet-api#help-and-support.


oneM2M web_service build failed

Typo error in Dockerfile or requirement(s).txt file name.
"docker build" does not happy

yeb, i will fix it quickly


Add Kenya data

Adding a reference to Kenya data already processed in crop-mask

@gabrieltseng here an already processed Kenya dataset is made available to all the projects in OpenMapFlow
I think following this idea, data already processed in CropHarvest could be made quickly available to projects such as TIML before an official large CropHarvest dataset. Additionally privacy can be determined at the bucket level.


(HTTP code 404)

Expected behavior
(HTTP code 404) no such image - no such image: araczkowski/oracle-apex-ords:latest: No such image: araczkowski/oracle-apex-ords:latest

tag is existing related: https://github.com/docker/kitematic/issues/5395 https://github.com/docker/kitematic/issues/5396 https://github.com/docker/kitematic/issues/5391


Freezes UI when closing Telescope with large ts file selected

Hi, thanks for your work. I'm recently seeing an issue with nvim-ts-autotag and telescope since upgraded to 0.9 (not sure if it happened before nvim 0.9), creating the issue here first but let me know if I should also ask telescope.nvim repo.

add minimal reproduction config

nvim version

NVIM v0.9.0
Build type: Release
LuaJIT 2.1.0-beta3

   system vimrc file: "$VIM/sysinit.vim"
  fall-back for $VIM: "/build/neovim-stable/nvim-build/share/nvim"

Run :checkhealth for more info

init.lua

local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
    vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", "--branch=stable", lazypath })
end
vim.opt.rtp:prepend(lazypath)

require("lazy").setup({
    { "windwp/nvim-ts-autotag", ft = { "html", "javascript", "javascriptreact", "typescriptreact" }, config = true },
    { "nvim-telescope/telescope.nvim", dependencies = { "nvim-lua/plenary.nvim" } },
    {
        "nvim-treesitter/nvim-treesitter",
        build = ":TSUpdate",
        opts = { ensure_installed = { "typescript", "tsx" } },
        config = function(_, opts) require("nvim-treesitter.configs").setup(opts) end,
    },
    {
        "williamboman/mason.nvim",
        build = ":MasonUpdate",
        dependencies = { "williamboman/mason-lspconfig.nvim", "neovim/nvim-lspconfig" },
        config = function()
            require("mason").setup()
            require("mason-lspconfig").setup({ ensure_installed = { "tsserver" } })
            require("lspconfig").tsserver.setup({})
        end,
    },
})

vim.cmd.colorscheme("habamax")
vim.keymap.set("n", "gd", vim.lsp.buf.definition)
vim.keymap.set("n", "q", require("telescope.builtin").buffers)

lazy-lock.json

{
  "lazy.nvim": { "branch": "main", "commit": "57cce98dfdb2f2dd05a0567d89811e6d0505e13b" },
  "mason-lspconfig.nvim": { "branch": "main", "commit": "a8d5db8f227b9b236d1c54a9c6234bc033825ce7" },
  "mason.nvim": { "branch": "main", "commit": "e5bb23fa9ee2a2047368b05f262de6b2152d7a27" },
  "nvim-lspconfig": { "branch": "master", "commit": "10fa01d553ce10646350461ac5ddc71f189e9d1a" },
  "nvim-treesitter": { "branch": "master", "commit": "a82501244a75b3d59cdc42496e5ad841f31e4d6d" },
  "nvim-ts-autotag": { "branch": "main", "commit": "b525525b6aba20763e19011a73454845170850d7" },
  "plenary.nvim": { "branch": "master", "commit": "9ac3e9541bbabd9d73663d757e4fe48a675bb054" },
  "telescope.nvim": { "branch": "master", "commit": "6258d50b09f9ae087317e392efe7c05a7323492d" }
}

open nvim once and wait for bootstrap, then quit nvim
run nvim test.js +'norm! iURLSearchParams'
press gd and wait for lsp's go to definition
press <CR> in quickfix to open the definition file mason/packages/typescript-language-server/node_modules/typescript/lib/lib.dom.d.ts
press q for telescope buffers
type lib to select the definition file
press <CR> or <ESC>
UI freezes

This happens on linux/mac, and UI will not freeze if nvim-ts-autotag plugin is removed. I'm not sure how to debug unresponsive UI and I haven't looked into code yet, but this doesn't happen if telescope is in normal mode when it closes. As a workaround we can force telescope to exit at normal mode, but it doesn't fix the real issue.
require("telescope").setup({
    defaults = {
        mappings = {
            i = {
                ["<Esc>"] = function(opts)
                    vim.cmd.stopinsert()
                    vim.schedule(function() actions.close(opts) end)
                end,
                ["<CR>"] = function(opts)
                    vim.cmd.stopinsert()
                    vim.schedule(function() actions.select_default(opts) end)
                end,
            },
        }
    }
})

autotag plugin is working when you leave insert mode or type >.
i think it should be a bug about nvim-treesitter. you should remove autotag and test first

yes i agree, it works if autotag is removed and treesitter is causing problems. but telescope prompt filetype is TelescopePrompt, should autotag plugin be disabled there?

my plug-in not working on telescopeprompt

thanks, there might be something else in my system causing the issue on treesitter and autotag. will update if i have more information


1 of the 3 json files is unformatted.

as seen in the notebook outputs.

I have also added three new optional claims in another folder.


Allow for switching ProtocolSchedule rules outside of Milestones

This is the first step in supporting switchable consensus mechanisms.
Specifically this allows additional protocol specs to be inserted to the protocol schedule at milestones other than that explicitly specified in the genesis config.

PR description
Fixed Issue(s)

Changelog

[ ] I thought about the changelog and included a changelog update if required.

Sure, any chance #1882 can be merged in first? Looks like there’s a good chance of conflict.


scenario.make isn't working

PS D:\BeamNg.Tech_ws\BeamNG.drive-<IP_ADDRESS>.12888> python
Python 3.9.9 (tags/v3.9.9:ccb0e6a, Nov 15 2021, 18:08:50) [MSC v.1929 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.

from beamngpy import BeamNGpy, Scenario, Vehicle
bng = BeamNGpy('localhost', 64256, home='D:\BeamNg.Tech_ws\BeamNG.drive-<IP_ADDRESS>.12888')
scenario = Scenario('west_coast_usa', 'example')
vehicle = Vehicle('ego_vehicle', model='etk800', licence='PYTHON')
scenario.add_vehicle(vehicle, pos=(-717, 101, 118), rot=None, rot_quat=(0, 0, 0.3826834, 0.9238795))
scenario.make(bng)
Traceback (most recent call last):
File "", line 1, in
File "C:\Users\ideas\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\beamngpy\scenario.py", line 789, in make
self.path = bng.create_scenario(level_name, self.name, prefab, info)
File "C:\Users\ideas\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\PythonythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\beamngpy\beamng.py", line 375, in message
self.send(kwargs)  File "C:\Users\ideas\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\beamngpy\beamng.py", line 548, in send
return send_msg(self.skt, data)  File "C:\Users\ideas\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\beamngpy\beamngcommon.py", line 238, in send_msg    skt.send(bytes(length, 'ascii'))AttributeError: 'NoneType' object has no attribute 'send'

Hi, it seems that you are missing a bng.open() call in your code. The game has to be open for the scenario to be made.
With the following snippet, I do not encounter the problem you are describing:
bng = BeamNGpy('localhost', 64256, home='D:\BeamNg.Tech_ws\BeamNG.drive-<IP_ADDRESS>.12888')
scenario = Scenario('west_coast_usa', 'example')
vehicle = Vehicle('ego_vehicle', model='etk800', licence='PYTHON')
scenario.add_vehicle(vehicle, pos=(-717, 101, 118), rot=None, rot_quat=(0, 0, 0.3826834, 0.9238795))
bng.open()
scenario.make(bng)

bng.load_scenario(scenario)
bng.start_scenario()

i usually can't load any scenario either i used bng.open() or not
`PS D:\BeamNg.Tech_ws\BeamNG.drive-<IP_ADDRESS>.12888> python.exe
Python 3.9.9 (tags/v3.9.9:ccb0e6a, Nov 15 2021, 18:08:50) [MSC v.1929 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.

from beamngpy import BeamNGpy, Scenario, Vehicle
bng = BeamNGpy('localhost', 64256, home='D:\BeamNg.Tech_ws\BeamNG.drive-<IP_ADDRESS>.12888')
File "", line 1
bng = BeamNGpy('localhost', 64256, home='D:\BeamNg.Tech_ws\BeamNG.drive-<IP_ADDRESS>.12888')
bng.open()
No workspace set up at userpath: <C:\Users\ideas\AppData\Local\BeamNG.drive>. Setup is required prior to mod deployment.
Error connecting to BeamNG.tech. 25 tries left.
[WinError 10061] No connection could be made because the target machine actively refused it
Traceback (most recent call last):
File "C:\Users\ideas\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\beamngpy\beamng.py", line 527, in connect
self.skt.connect((self.host, self.port))
ConnectionRefusedError: [WinError 10061] No connection could be made because the target machine actively refused it
Error connecting to BeamNG.tech. 24 tries left.
[WinError 10061] No connection could be made because the target machine actively refused it
Traceback (most recent call last):
File "C:\Users\ideas\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\beamngpy\beamng.py", line 527, in connect
self.skt.connect((self.host, self.port))
ConnectionRefusedError: [WinError 10061] No connection could be made because the target machine actively refused it
Error connecting to BeamNG.tech. 23 tries left.
[WinError 10061] No connection could be made because the target machine actively refused it
Traceback (most recent call last):`
File "C:\Users\ideas\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\beamngpy\beamng.py", line 527, in connect
self.skt.connect((self.host, self.port))

thanks adam, i had a wrong setup in my license, thanks for helping me through it


Command to show logged in user

CLI tools with login / logout commands often include commands to show the currently logged in user (see e.g. the Azure CLI tool https://docs.microsoft.com/en-us/cli/azure/account?view=azure-cli-latest).
So something like obsctl whoami or obsctl account show should return either the logged in user or Anonymous.

I think we can output the current context here using obsctl context current which would show the name of the API and currently logged-in tenant. Is that what you are looking for here? 🙂

Ah precisely, missed that option. Just tested it and the behavior is a bit weird
obsctl login ... --tenant=rhacs
obsctl logout --tenant=rhacs   # would be nice if it works without specifying tenant if there is only one
obsctl context whoami

Error: tenant with name rhacs doesn't exist in api staging
...

I think it should just state Anonymous or No context or something like that.


Generic type parameter problem/limitation/question

Consider the following which is a modified cut-down version of the immutable-js type definition:
interface IIterable<T, K, V> {
    has(key: K): boolean;
    includes(value: V): boolean;
    slice(begin?: number, end?: number): T
    // flatMap<MK, MV>(...): Problems here!
}

interface ISeq<T, K, V> extends IIterable<T, K, V> {
    toSeq(): T;
}

interface IKeyedIterable<T, K, V> extends IIterable<T, K, V> {
    // flip(): Problems here!
}

interface List<V> extends IIterable<List<V>, number, V> {
    set(index: number, value: V): List<V>;
}

interface KeyedSeq<K, V> extends ISeq<KeyedSeq<K, V>, K, V>, IKeyedIterable<KeyedSeq<K, V>, K, V> {
}

The existence of the type parameter T for the definitions of IIterable and ISeq allows slice() to reflect that it returns a sliced instance of the same container 'type' without requiring a type assertion:
let l1: List<string>;
let l2: List<string> = l1.slice(0, 2);

However I can't type flatMap and flip. Taking flip as an example, it should return a container of the same 'type' but with K and V switched. flatMap should return a container of the same 'type' but with MK and MV.
This problem would be 'solved' if we could refer to generic types without requiring that they be passed arguments:
interface IIterable<T, K, V> {
    has(key: K): boolean;
    includes(value: V): boolean;
    slice(begin?: number, end?: number): T<K, V>
    flatMap<MK, MV>(mapper: (value?: V, key?: K, iter?: T<K, V>) => T<MK, MV>, context?: any): T<MK, MV>
}

interface ISeq<T, K, V> extends IIterable<T, K, V> {
    toSeq(): T<K, V>;
}

interface IKeyedIterable<T, K, V> extends IIterable<T, K, V> {
    flip(): T<V, K>;
}

interface List<V> extends IIterable<List, number, V> {
    set(index: number, value: V): List<V>;
}

interface KeyedSeq<K, V> extends ISeq<KeyedSeq, K, V>, IKeyedIterable<KeyedSeq, K, V> {
}

Am I missing something obvious here?
Or do I need to look to some higher order definition with code generation of (generic) interfaces to properly support this?

from a cursory look, it seems that flatMap should be defined as*:
export interface Iterable<K, V> {
    flatMap(
      mapper: (value?: V, key?: K, iter?: this) => this,
      context?: any
    ): this;
}

this way no need to infer any new type parameters, just pass them through, which seems to be the expected behavior of flatMap if understand the documentation correctly.

* I am refereing to new this types from https://github.com/Microsoft/TypeScript/pull/4910

@myitcv please reopen if this does not address the issue.

@mhegazy apologies, somehow I totally missed your reply!
Yes #4910 does help for certain functions.
However for map and flatMap, this can't be used as the return type because those methods are themselves generic:
export interface Iterable<K, V> {
    map<M>(
      mapper: (value?: V, key?: K, iter?: this) => M,
      context?: any
    ): Iterable<K, M>; // can't use 'this' here
}

Any thoughts?

No, you're not missing something obvious. Typescript doesn't support higher-kinded types. Code generation might be the answer if you can't express the concept any other way.
Haskell's Functor typeclass is essentially what you want, but with more methods than just map.
The type is fmap :: Functor f => (a -> b) -> f a -> f b -- replace Functor with Iterable and you get
function fmap<F extends Iterable, A, B>(mapper: (a:A) => B, i: F<A>): F<B> {
    // code that uses the iterable interface to iterate over i...
}

Unfortunately, Typescript doesn't support higher-order types, so you'll have to find a different way of expressing this code.

@sandersn - thanks for confirming. Code generation is probably the cleanest solution here.

Unfortunately this means no Functor map nor generic iterator factories.


Feature: The ability to provide a workspace relative path to Recommended Workspace Extensions

Our team has private extensions that are designed to work in our particular workspace (build commands, testing, etc.). The extensions are checked into source control in the workspace, not published to the store. It would be nice if I could get these to show up in Recommended Workspace Extensions. Seems simple enough to detect if the extension name is a workspace relative path to a vsix file.

We closed this issue because we don't plan to address it in the foreseeable future. If you disagree and feel that this issue is crucial: we are happy to listen and to reconsider.
If you wonder what we are up to, please see our roadmap and issue reporting guidelines.
Thanks for your understanding, and happy coding!


multibody duplicate data?

Articles may have multiple <body> tags. Sometimes those contents might be redundant?
If so, here is a potential fix, to take only the first body tag. If the first is a preview, then perhaps they should be merged -- or only the second should be taken....
Potential patch on search.py:
             try:  # move dictionary keys
                 soup = BeautifulSoup(article.pop('full_text'), 'lxml')
                 body_divs = soup.find_all("div", {"class":"BODY"})
-                txt = ''
-                for b in body_divs:
-                    txt = txt + b.get_text(separator=u' ')
+                txt = body_divs[0].get_text(separator=u' ')
                 txt = string_cleaner(txt)
                 if bagify:
                     txt = ' '.join(sorted(txt.split(' '), key=str.lower))

I've noticed this. Perhaps
# If the second body tag contains the text in the first body tag, take the second
if re.search(body_divs[0].get_text(separator=u' '), body_divs[1].get_text(separator=u' ')):
    txt = body_divs[1].get_text(separator=u' ')
# Otherwise, join them
else:
    txt = ' '.join(body_divs[0].get_text(separator=u' '), body_divs[1].get_text(separator=u' ')

Would that ensure the maximum amount of text without duplication?


documentation: Add release notes for 11.0.0 release

Summary
This is a local copy taken from the confluence notes
https://cwiki.apache.org/confluence/display/NUTTX/NuttX+11.0.0
Impact
RELEASE
Testing
NONE

Is this an accidental duplicate of #7001?

@hartmannathan it is the same commit in master branch and 11.0 branch


environment.yml has old and unused dependencies.

conda env create -f environment.yml fails when installing on latest version of anaconda. Some libraries like libgfortran are not supported. I'm also not sure why packages like pymongo exist in dependencies. Is there any way we can do a little bit of cleanup here?

Great point! You are right, we haven't refreshed environment.yml for a while now. Would you be willing to create a pull request addressing some of these issues?

Can do! Currently facing installation issues, but once I have all the requirements fulfilled I'll submit a PR for a new environment (after making sure it still works with the examples)

Thank you!


Started adding functionality for closing stale PRs

This re-uses some of the logic from what we wrote to close issues

is it already in production? I mean enabled on core?

Oh, I see a "Delete branch" button. So tempting.

Not enabled in core yet - I'm still debugging stuff related to this


Row to serde_json::Value

for row in rows {
        for col in &cols.metadata.col_specs {
            let value = match col.clone().col_type.id {
                ColType::Varchar | ColType::Ascii => {
                    let val: String = row.get_by_name(col.name.as_str()).unwrap().expect("");
                    println!("{:#?}", val)
                }
                ColType::Map => {
                    let map_value: Map = row.get_by_name(col.name.as_str()).unwrap().expect("");
                }
                _ => {}
            };
        }
    }

is anyone have idea how to convert the Map/List to serde_json::Value? assume the struct is unknown.

You can convert them into Vec/Map and then to Value.

Here's an example how to convert a Cassandra list to a Vec: https://github.com/krojew/cdrs-tokio/blob/master/cdrs-tokio/tests/collection_types.rs#L76
You can do similar thing to a Map.

Is there anything preventing you from calling as_r_rust() on the column data?

ColTypeOptionValue contains the information about the underlying types for collections. You can use that to deserialize appropriate values and move them into serde_json::Value.

The same way you'd do it with other programming languages - recursion.

You are asking a basic programming question now, which is out of scope of rust crates.


Wrong project page link

When I click on the project page in the README file, it takes us to Stereo Magnification: Learning View Synthesis using Multiplane Images, not SfMLearner.

Thanks for pointing it out. Should be fixed now.


Invalid Signature

Hello,
I'm trying to do some benchmark of uploading and inserting data from Excel file. But before I read the file,I get an exception "Invalid Signature"
Here is code:
[Benchmark]
        public async Task Import()
        {
            Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);

            var requests = new List<MilkPaymentImportRequest>();
            using (var stream = new FileStream(@"C:\Users\Family\Desktop\ImportTest.xls", FileMode.Create, FileAccess.ReadWrite))
            {
                FileUpload fileUpload = new FileUpload();
                fileUpload.File = new FormFile(stream, 0, stream.Length, stream.Name, stream.Name);
                await fileUpload.File.CopyToAsync(stream);
                using (var reader = ExcelReaderFactory.CreateReader(stream, new ExcelReaderConfiguration()
                       {
                           FallbackEncoding = Encoding.GetEncoding(1252)

                }))
                {

                    var firstRowHeader = 0;
                    while (reader.Read())
                    {
                        if (firstRowHeader > 0)
                        {
                            var year = Convert.ToInt32(reader.GetValue(0));
                            var month = Convert.ToInt32(reader.GetValue(1));
                            var accountId = Convert.ToString(reader.GetValue(2));
                            var name = Convert.ToString(reader.GetValue(3));
                            var invoice = Convert.ToDecimal(reader.GetValue(4));
                            var commitments = Convert.ToString(reader.GetValue(5));
                            var payable = Convert.ToDecimal(reader.GetValue(6));
                            var reference = Convert.ToString(reader.GetValue(7));
                            var iban = Convert.ToString(reader.GetValue(8));

                            var factoryId = Guid.NewGuid().ToString();
                            var farmId = Guid.NewGuid().ToString();

                            requests.Add(new MilkPaymentImportRequest
                            {
                                AccountId = accountId,
                                Name = name,
                                Commitments = commitments,
                                IBAN = iban,
                                Invoice = invoice,
                                Month = month,
                                Year = year,
                                Payable = payable,
                                ReferenceNumber = reference,
                                FarmId = farmId,
                                FactoryId = factoryId
                            });
                        }

                        firstRowHeader++;
                    }
                }
            }

        }

Do I miss some configuration or I'm doing something wrong ?

Hi,
Normally I'd suggest to "rewind" the stream before passing it to CreateReader, something like stream.Seek(0, SeekOrigin.Begin)
But your code is kinda weird, FileMode.Create indicates you are creating a new file, then copying its empty contents into the new FileUpload.File stream instance, and then trying to parse the original empty stream.


Connection string

I go through all of the tabs and fill it out and then test connection and the connection says OK. I browse the MariaDB databases and tables and execute some queries. When I am done I would like to take my new found knowledge and access the database through EF. In order to do that I need to get a connection string that specifies the default database, the server, credentials (user name/password), and probably the provider. I failed to see any place that I can see what the connection string is being used. When I 'Test Connection' I briefly see what appears to be a connection string but in goes by too quickly for me to note it.
Describe the solution you'd like
I would like for there to be a display of the connection string
Describe alternatives you've considered
I have considered going to MySQL or Pomelo but they don't offer a UI that I could see the connection string on

Its template is available in Driver settings. Does it solve your problem?

It would still be preferable to see the connection string. It is not always easy to intuit how to construct such a string from a template which doesn't have direct correspondence.

Please open Properties to see connection information (click your connection in DB Navigator and select Window>Show view>Properties).


feat: Add group by functionality for search index results

Describe your changes
This functionality allows grouping of search results. For instance, let's say grouping needs to be done on city field. Then following is the example of the query and response.
{
	"q": "text",
	"group_by": {
		"fields": ["city"]
	},
	"sort": [{
		"created_at": "$asc"
	}]
}

Response:
{
	"result": {
		"hits": [],
		"facets": {},
		"meta": {},
		"group": [{
			"group_keys": [
				"Anaheim"
			],
			"hits": [{
				"data": {
					"id": "2b1fd919-c752-45f8-bbe5-bb9e2f85af74"
				},
				"metadata": {}
			}]
		}]
	}
}

How best to test these changes
Issue ticket number and link
https://github.com/tigrisdata/tigris/issues/885

Codecov Report
Patch coverage has no change and project coverage change: -0.23 :warning:

Comparison is base (40f2fdd) 30.34% compared to head (5d0ed05) 30.12%.

:exclamation: Current head 5d0ed05 differs from pull request most recent head aab62db. Consider uploading reports for the commit aab62db to get more accurate results

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #891      +/-   ##
==========================================
- Coverage   30.34%   30.12%   -0.23%
==========================================
  Files         176      178       +2
  Lines       19905    20051     +146
==========================================
  Hits         6041     6041
- Misses      13154    13300     +146
  Partials      710      710

Impacted Files
Coverage Δ

api/server/v1/search.go
0.00% <0.00%> (ø)

query/search/group_by.go
0.00% <0.00%> (ø)

query/search/search.go
0.00% <0.00%> (ø)

server/search/factory.go
0.00% <0.00%> (ø)

server/search/group.go
0.00% <0.00%> (ø)

server/services/v1/search/reader.go
0.00% <0.00%> (ø)

server/services/v1/search/runner.go
0.80% <0.00%> (-0.05%)
:arrow_down:

store/search/ts.go
39.49% <0.00%> (-0.51%)
:arrow_down:

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

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


Add horizontal scrolling shade in minimap slider

Extracted from @Tekbr in https://github.com/Microsoft/vscode/issues/21784#issuecomment-284915376

another shadow will be shown to indicate that I'm going to the side. Like Atom.

Thanks @alexandrudima for the quick implementation. I liked very much. ❤ ❤ 👏 👏 👏

Works great.