net/http: internal error: connCount underflow

What version of Go are you using (go version)?

$ go version
go version go1.18.3 linux/amd64

Does this issue reproduce with the latest release?
Haven't tried it yet. Will try it when we have a producer.
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/root/.cache/go-build"
GOENV="/root/.config/go/env"
GOEXE=""
GOEXPERIMENT=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOINSECURE=""
GOMODCACHE="/root/go/pkg/mod"
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/root/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/local/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GOVCS=""
GOVERSION="go1.18.3"
GCCGO="gccgo"
GOAMD64="v1"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD="/dev/null"
GOWORK=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build1421070104=/tmp/go-build -gno-record-gcc-switches"

What did you do?

We are piloting limited MaxConnsPerHost on several PRD instances, and running about 1~2 days separately. And one of them crashed with: panic: net/http: internal error: connCount underflow.
What did you expect to see?
No crash.
What did you see instead?
panic: net/http: internal error: connCount underflow.
Below are the details by examining the core file, and since there are some locals and args that seem to be optimized out or something, I try jump between frames to print out the details.
bt:
(dlv) bt
 0  0x000000000046e601 in runtime.raise
    at /usr/local/go/src/runtime/sys_linux_amd64.s:168
 1  0x000000000044fc25 in runtime.dieFromSignal
    at /usr/local/go/src/runtime/signal_unix.go:852
 2  0x00000000004505f6 in runtime.sigfwdgo
    at /usr/local/go/src/runtime/signal_unix.go:1066
 3  0x000000000044e947 in runtime.sigtrampgo
    at /usr/local/go/src/runtime/signal_unix.go:430
 4  0x000000000046f44e in runtime.sigtrampgo
    at <autogenerated>:1
 5  0x000000000046e8fd in runtime.sigtramp
    at /usr/local/go/src/runtime/sys_linux_amd64.s:361
 6  0x00007fa1b18df8e0 in ???
    at ?:-1
 7  0x0000000000439c49 in runtime.crash
    at /usr/local/go/src/runtime/signal_unix.go:944
 8  0x0000000000439c49 in runtime.fatalpanic
    at /usr/local/go/src/runtime/panic.go:1092
 9  0x0000000000439417 in runtime.gopanic
    at /usr/local/go/src/runtime/panic.go:941
10  0x0000000000869d52 in net/http.(*Transport).decConnsPerHost
    at /usr/local/go/src/net/http/transport.go:1475
11  0x000000000086472f in net/http.(*Transport).roundTrip
    at /usr/local/go/src/net/http/transport.go:604
12  0x000000000084c339 in net/http.(*Transport).RoundTrip
    at /usr/local/go/src/net/http/roundtrip.go:17
13  0x0000000000808d58 in net/http.send
    at /usr/local/go/src/net/http/client.go:252
14  0x00000000008085fb in net/http.(*Client).send
    at /usr/local/go/src/net/http/client.go:176
15  0x000000000080aa35 in net/http.(*Client).do
    at /usr/local/go/src/net/http/client.go:725
16  0x000000000101a6c9 in net/http.(*Client).Do
    at /usr/local/go/src/net/http/client.go:593

(dlv) frame 11
(dlv) p pconn.cacheKey
net/http.connectMethodKey {
        proxy: "http://proxy-server:3128",
        scheme: "https",
        addr: "real-endpoint-which-caused-crash:443",
        onlyH1: false,}

(dlv) frame 10
(dlv) p t.connsPerHost
map[net/http.connectMethodKey]int [
        // ignore unrelated connectMethods
        {proxy: "http://proxy-server:3128", scheme: "https", addr: "real-endpoint-which-caused-crash:443", onlyH1: false}: 1,
]

It seems a little weird here, panic on net/http/transport.go:1475, but by printing t.connsPerHost, it shows that it should be 1?
	t.connsPerHostMu.Lock()
	defer t.connsPerHostMu.Unlock()
	n := t.connsPerHost[key]
	if n == 0 {
		// Shouldn't happen, but if it does, the counting is buggy and could
		// easily lead to a silent deadlock, so report the problem loudly.
		panic("net/http: internal error: connCount underflow")
	}

Note: n and key seem optimized out here? print them return as: unreadable could not find loclist entry..., and GDB show a large number:
(gdb) p n
$2 =<PHONE_NUMBER>60

Will try to reproduce it off the Production Environment, and then with -race and the latest Go Version. I have noticed there are some issues but closed already: https://github.com/golang/go/issues/34941, https://github.com/golang/go/issues/38172. Any comments and suggestions would be appreciated.

Running with -race should shine some light. If you manage to put together a reproducible example please share.

(CC @neild)

@bcmills Thanks. We encountered this problem while we pilot MaxConnsPerHost on Production Environment, and we are still using go1.18.3 on Production. Will try to reproduce this problem first, and see if it could reproduce on the lastest Go.
What seems weird to me is the info that I show on the What did you see instead?, which appears like should not crash at all. Just for curious, is that possible that while it panic on frame 10, and runs defer t.connsPerHostMu.Unlock(), then another goroutine happens to acquire the lock and add it to 1?

See previously #38172. @zzkcode, have you tried running a copy of your program built with the -race option? If so, does it report any races?

Hi all, here are some latest progress:

See previously #38172. @zzkcode, have you tried running a copy of your program built with the -race option? If so, does it report any races?

@bcmills Thanks, we haven't tried -race yet since it will downgrade performance, but will do once have a reproducer.

go version go1.18.3 linux/amd64

Per the release policy Go 1.18 has been unsupported since 2023-02-01 (when Go 1.20 was released), and there have been quite a few fixes in the net/http package since 1.18 was released.
Does this reproduce with a supported (1.20.6 or 1.19.11) or upcoming (1.21rc3) release?

@bcmills We upgrade go from 1.18.3 to 1.20.6, and this issue still exists.
panic: net/http: internal error: connCount underflow

goroutine 33385383 [running]:
panic({0x1289e40, 0x1852220})
        /usr/local/go/src/runtime/panic.go:987 +0x3bb fp=0xc03fb9f4b0 sp=0xc03fb9f3f0 pc=0x43a67b
net/http.(*Transport).decConnsPerHost(0xc00033c280, {{0xc0799dc080, 0x40}, {0xc078329880, 0x5}, {0xc0991c60c0, 0x21}, 0x0})
        /usr/local/go/src/net/http/transport.go:1482 +0x40f fp=0xc03fb9f550 sp=0xc03fb9f4b0 pc=0x8957cf
net/http.(*Transport).roundTrip(0xc00033c280, 0xc037407d00)
        /usr/local/go/src/net/http/transport.go:613 +0x8cb fp=0xc03fb9f778 sp=0xc03fb9f550 pc=0x89062b
net/http.(*Transport).RoundTrip(0x0?, 0x1855e60?)
        /usr/local/go/src/net/http/roundtrip.go:17 +0x19 fp=0xc03fb9f798 sp=0xc03fb9f778 pc=0x878119
net/http.send(0xc037407d00, {0x1855e60, 0xc00033c280}, {0x8?, 0x14aa2e0?, 0x0?})
        /usr/local/go/src/net/http/client.go:252 +0x5f7 fp=0xc03fb9f990 sp=0xc03fb9f798 pc=0x833c57
net/http.(*Client).send(0xc001a78510, 0xc037407d00, {0xc002a53ba5?, 0x15?, 0x0?})
        /usr/local/go/src/net/http/client.go:176 +0x9b fp=0xc03fb9fa08 sp=0xc03fb9f990 pc=0x8334db
net/http.(*Client).do(0xc001a78510, 0xc037407d00)
        /usr/local/go/src/net/http/client.go:716 +0x8fb fp=0xc03fb9fc10 sp=0xc03fb9fa08 pc=0x8357db
net/http.(*Client).Do(...)
        /usr/local/go/src/net/http/client.go:582

(dlv) bt
 0  0x00000000004729a1 in runtime.raise
    at /usr/local/go/src/runtime/sys_linux_amd64.s:154
 1  0x0000000000451e05 in runtime.dieFromSignal
    at /usr/local/go/src/runtime/signal_unix.go:883
 2  0x0000000000452486 in runtime.sigfwdgo
    at /usr/local/go/src/runtime/signal_unix.go:1096
 3  0x0000000000450aa7 in runtime.sigtrampgo
    at /usr/local/go/src/runtime/signal_unix.go:432
 4  0x0000000000472ca6 in runtime.sigtramp
    at /usr/local/go/src/runtime/sys_linux_amd64.s:354
 5  0x00007f77d95ad8e0 in ???
    at ?:-1
 6  0x000000000043af89 in runtime.crash
    at /usr/local/go/src/runtime/signal_unix.go:975
 7  0x000000000043af89 in runtime.fatalpanic
    at /usr/local/go/src/runtime/panic.go:1172
 8  0x000000000043a67b in runtime.gopanic
    at /usr/local/go/src/runtime/panic.go:987
 9  0x00000000008957cf in net/http.(*Transport).decConnsPerHost
    at /usr/local/go/src/net/http/transport.go:1482
10  0x000000000089062b in net/http.(*Transport).roundTrip
    at /usr/local/go/src/net/http/transport.go:613
11  0x0000000000878119 in net/http.(*Transport).RoundTrip
    at /usr/local/go/src/net/http/roundtrip.go:17
12  0x0000000000833c57 in net/http.send
    at /usr/local/go/src/net/http/client.go:252
13  0x00000000008334db in net/http.(*Client).send
    at /usr/local/go/src/net/http/client.go:176
14  0x00000000008357db in net/http.(*Client).do
    at /usr/local/go/src/net/http/client.go:716
15  0x0000000001054053 in net/http.(*Client).Do
    at /usr/local/go/src/net/http/client.go:582

(dlv) frame 10

(dlv) p err
error(net/http.http2noCachedConnError) {}

(dlv) p pconn.cacheKey
net/http.connectMethodKey {
        proxy: "http://proxy-host:1234",
        scheme: "https",
        addr: "real-endpoint:443",
        onlyH1: false,}

By printing out the t.connsPerHost, we don't see the same pconn.cacheKey in it.
And please let me know if more details about it I could provide.

Hi @bcmills @mauri870, we ran with -race, and there is nothing related to this. Only panic and Crash Traceback.
panic: net/http: internal error: connCount underflow

goroutine 41240143 [running]:
panic({0x1bd7b00, 0x2c8b0b0})
	/usr/local/go/src/runtime/panic.go:987 +0x3bb fp=0xc005fb4df8 sp=0xc005fb4d38 pc=0x44b0bb
net/http.(*Transport).decConnsPerHost(0xc00049a3c0, {{0xc04f629a80, 0x40}, {0xc03ab6d280, 0x5}, {0xc03f468240, 0x24}, 0x0})
	/usr/local/go/src/net/http/transport.go:1482 +0x818 fp=0xc005fb4f90 sp=0xc005fb4df8 pc=0xb4af78
net/http.(*Transport).roundTrip(0xc00049a3c0, 0xc03dad5800)
	/usr/local/go/src/net/http/transport.go:613 +0xe65 fp=0xc005fb52d0 sp=0xc005fb4f90 pc=0xb423c5
net/http.(*Transport).RoundTrip(0xc03dad5800?, 0x2c8ed00?)
	/usr/local/go/src/net/http/roundtrip.go:17 +0x37 fp=0xc005fb5318 sp=0xc005fb52d0 pc=0xb1a057
net/http.send(0xc03dad5800, {0x2c8ed00, 0xc00049a3c0}, {0x8?, 0xc001d81400?, 0x0?})
	/usr/local/go/src/net/http/client.go:252 +0x943 fp=0xc005fb55f0 sp=0xc005fb5318 pc=0xaab2a3
net/http.(*Client).send(0xc00122f650, 0xc03dad5800, {0x0?, 0x487077?, 0x0?})
	/usr/local/go/src/net/http/client.go:176 +0x165 fp=0xc005fb56a8 sp=0xc005fb55f0 pc=0xaaa6a5
net/http.(*Client).do(0xc00122f650, 0xc03dad5800)
	/usr/local/go/src/net/http/client.go:716 +0x10df fp=0xc005fb5a10 sp=0xc005fb56a8 pc=0xaae2bf
net/http.(*Client).Do(...)
	/usr/local/go/src/net/http/client.go:582

...

@zzkcode Thanks for taking the time to upgrade the Go version as well as running with -race. Let's wait till someone can look into this. Also check updates on #61794

@mauri870 Thanks, the lastest crash which ran with -race we found there are thounsands of reqs from same host that cause crash. Didn't check this previous times, and will try to make a simple reproducer. FYI @bcmills

We also faced this problem in prod. We couldn't identify a pattern and the occurrence seams random to us. A colleague tried to debug it but wasn't able to reproduce it. As he has no GitHub account he asked me to add his findings and ideas here:

Hi all :slightly_smiling_face:
We also faced the connCount underflow panic some times so we started to investigate a bit and tried to reproduce it. Sadly we were not fully able to do so but we still got some insights that we want to share with you (maybe you know all of this already).
Most likely the panic is caused by a call to decConnsPerHost for a key that is not present in the connsPerHost map. In that case t.connsPerHost[key] also returns zero and the panic is called.
If we understand the code correctly this situation only arises if there are at some point in time two calls to decConnsPerHost for a single connection which results in a miscounting. Would it be possible to make sure that for each connection (wantConn or persistConn ) decConnsPerHost is called at most once?
Additionally it might make sense to split up the panic in order to get better insights what is going on:
n, ok := t.connsPerHost[key]
if !ok {
	panic("net/http: internal error: connCount underflow, key not in map")
}
if n == 0 {
	panic("net/http: internal error: connCount underflow, value is zero")
}

This is how we tried to reproduce the issue:

Do a HTTP request to some running test server
Let dialConn fail -> decConnsPerHost gets called from within dialConnFor
At the same time close the connection -> decConnsPerHost gets called from the pconn.readLoop go routine
The second call to decConnsPerHost will panic

To achieve 2. we manually altered the error that is returned by dialConn, we were sadly not able to trigger this from the outside (and it is probably not even possible because the readLoop() only gets started if there is no error). So this exact situation is probably unrealistic to be honest, But it still shows the vulnerability of the code as a second call to decConnsPerHost is not prohibited by some mechanism.
This is our code for testing:
package main

import (
	"context"
	"fmt"
	"net"
	"net/http"
	"net/http/httptest"
	"time"
)

var zeroDialer net.Dialer

func main() {
	// Start test server
	testServer := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
		w.WriteHeader(http.StatusOK)
	}))

	transport := &http.Transport{
		MaxConnsPerHost: 1,
		DialContext: func(ctx context.Context, network, addr string) (net.Conn, error) {
			conn, err := zeroDialer.DialContext(ctx, network, addr)
			if err != nil {
				return nil, err
			}
			fmt.Println("Will close connection")
			conn.Close()
			return conn, nil
		},
	}

	req, _ := http.NewRequest(http.MethodGet, testServer.URL, nil)

	httpClient := &http.Client{
		Transport: transport,
	}

	httpClient.Do(req)
	time.Sleep(10 * time.Second)
}

We replaced dialConnFor with
func (t *Transport) dialConnFor(w *wantConn) {
	defer w.afterDial()
	ctx := w.getCtxForDial()
	if ctx == nil {
		t.decConnsPerHost(w.key)
		return
	}

	pc, err := t.dialConn(ctx, w.cm)
	err = fmt.Errorf("some error")
	fmt.Println("Faked the error which was nil before to be not nil")
	time.Sleep(time.Second)
	delivered := w.tryDeliver(pc, err)
	if err == nil && (!delivered || pc.alt != nil) {
		// pconn was not passed to w,
		// or it is HTTP/2 and can be shared.
		// Add to the idle connection pool.
		t.putOrCloseIdleConn(pc)
	}
	if err != nil {
		t.decConnsPerHost(w.key)
	}
}

We replaced decConnsPerHost for better logging with
func (t *Transport) decConnsPerHost(key connectMethodKey) {
	fmt.Printf("Function decConnsPerHost gets called with key %v\n", key)
	if _, ok := t.connsPerHost[key]; !ok {
		fmt.Printf("The key %v does not exist in the map, this will result in a panic!\n", key)
	}
	if t.MaxConnsPerHost <= 0 {
		return
	}

	t.connsPerHostMu.Lock()
	defer t.connsPerHostMu.Unlock()
	n := t.connsPerHost[key]
	if n == 0 {
		// Shouldn't happen, but if it does, the counting is buggy and could
		// easily lead to a silent deadlock, so report the problem loudly.
		panic("net/http: internal error: connCount underflow")
	}

	// Can we hand this count to a goroutine still waiting to dial?
	// (Some goroutines on the wait list may have timed out or
	// gotten a connection another way. If they're all gone,
	// we don't want to kick off any spurious dial operations.)
	if q := t.connsPerHostWait[key]; q.len() > 0 {
		done := false
		for q.len() > 0 {
			w := q.popFront()
			if w.waiting() {
				go t.dialConnFor(w)
				done = true
				break
			}
		}
		if q.len() == 0 {
			delete(t.connsPerHostWait, key)
		} else {
			// q is a value (like a slice), so we have to store
			// the updated q back into the map.
			t.connsPerHostWait[key] = q
		}
		if done {
			return
		}
	}

	// Otherwise, decrement the recorded count.
	if n--; n == 0 {
		delete(t.connsPerHost, key)
		fmt.Printf("Deleted key %v in connsPerHost map\n", key)
	} else {
		t.connsPerHost[key] = n
	}
}

I anyone has other ideas how to reproduce or fix this, we are ready to help!


How to setup a unlimited-size PVC on cubefs that deployed with helm?

Discussed in https://github.com/cubefs/cubefs/discussions/2577

Originally posted by gsoec September  2, 2023
Does volume support unlimited size?
How to setup a unlimited-size PVC on cubefs that deployed with helm?

@heymingwei


feat(ui): add codewindow (minimap)

codewindow is a very light and unobtrusive minimap.
Of the many I tried this does the best job at both being a great minimap and not getting in a coders way.
I have also added keymappings <leader>um to toggle it.

adding two screenshots:

normal on window operation:

when some panel is open, codewindow doesn't get in the way:

codewindow is a very light and unobtrusive minimap.
Of the many I tried this does the best job at both being a great minimap and not getting in a coders way.
I have also added keymappings <leader>um to toggle it.

Love this idea!
I noticed that the package codewindow.nvim hasn't been updated in 8 months. Is there a reason why you chose codewindow.nvim for example over mini.map?
Lazyvim already has many plugins from mini integrated.

Hi @MystikReasons
I can't recall if I tried mini-map but I chose codewindow over the few I tried over the years because it can work directly in the code window instead of needing a separate "panel". This way the right panel I can use for Symbols and still have the minimap in my code. I hope it makes sense.

Just tried mini.map and indeed it draws its window right above the Symbols panel when you have both open. You would have to do toggle_side() to change the side where mini.map appears.


Can we use this with bitbucket repos?

I was wondering if we can use this for private repos on bitbucket.

Yet not, but it feature is on backlog product.

+1

+1

+1

can you add bitbucket?

@wimurk @hashid @paulocastellano @rafwell @iampawan31
:) solved


fix link in README

Resolve ../babel-plugin-esx-browser as https://github.com/esxjs/esx/blob/babel-plugin-esx-ssr on GitHub. It is 404.
This PR fix relative link.

Codecov Report

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

@@           Coverage Diff           @@
##           master       #7   +/-   ##
=======================================
  Coverage   97.71%   97.71%
=======================================
  Files          10       10
  Lines        1313     1313
=======================================
  Hits         1283     1283
  Misses         30       30

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 14f713c...04e6dd5. Read the comment docs.

🙏 thank you!


Support title / name / nesting

Good afternoon,
I'm trying to write some stories following the Component Story Format V3. When I try to change the default export's title or name It's not working. Is there any way to change the names shown on the sidebar and add nested elements?
Edit: Nesting elements using folders is not working correctly. My astrobook is pointing to the /stories folder. If I create two folders inside it (pages and components), they will be separate sections on the sidebar for each component in the folder. I might be wrong, but shouldn be only one "components" and "pages" section?

Is there any way to change the names shown on the sidebar and add nested elements

This is not implemented. PRs are welcome.


Enable configurable HttpRunner timeout

I would like to be able to configure from httpRunnerOption.
https://github.com/k1LoW/runn/blob/3fef50f2d647fad63f91cf0e4fc3f1a01a375b9a/http.go#L81

Nice!


Fix readme and add changelog for release-2.4

What problem does this PR solve?
release-2.4's doc need update.

update readme
add changes in changelog

Check List
Tests

No code

PTAL @sunxiaoguang @xuanyu66 @zhangyangyu

/run-all-tests

/run-all-tests profile=scala-2.11


feat: port Geometry.Manifold.ChartedSpace

2 linter messages left:

Linter failed on Pregroupoid.mk.injEq because of the heartbeat limit
simpNF linter on theorem modelProd_range_prod_id

2 linter messages left:
* Linter failed on `Pregroupoid.mk.injEq` because of the heartbeat limit

* simpNF linter on `theorem modelProd_range_prod_id`

I'm not sure what the simpNF linter is trying to say for modelProd_range_prod_id because this works...
theorem modelProd_range_prod_id' {H : Type _} {H' : Type _} {α : Type _} (f : H → α) :
    (range fun p : ModelProd H H' ↦ (f p.1, p.2)) = range f ×ˢ (univ : Set H') := by
  simp only [modelProd_range_prod_id]

bors merge


Consider GADM as source for admin module

[ ] inspect data in QGIS
[ ] adapt makefile
[ ] change loop data / frames ?

This would be epic. I'm interested in this.
See also https://github.com/mtraynham/gadm-topo

@curran, thanks for this hint it has great value :D
If you want to see the edge of what I'am doing, visually, it's on wikipedia. I'am in a friendly competition with an Belgian developer.

Very cool!


Could not find a declaration file for module 'vue-search-input'. Vue3 + Vite3

I'm using the Vitesse template for my project. I wanted to incorporate this, but I keep getting this error.
As a new developer, I'm a bit confused on how I could make this work properly.
Please let me know if you have any suggestions! Thanks

Hello @compilekaiten, I don't think using Vitesse makes any difference in the way you import and use a Vue component.
What's the error that you are getting, can you post a Stackblitz example?

The error I'm receiving is:
Could not find a declaration file for module 'vue-search-input'<EMAIL_ADDRESS>implicitly has an 'any' type.
Adding: declare module 'vue-search-input' to my shims.d.ts makes the error go away, but I don't get any typechecking/intellisense.
Attempting to run pnpm build, I get the following error:
(node:13236) Warning: To load an ES module, set "type": "module" in the package.json or use the .mjs extension.

SyntaxError: Cannot use import statement outside a module

Although my package.json type is set to module.
{
  "type": "module",
  "private": true,
  "packageManager"<EMAIL_ADDRESS>  "scripts": {
    "build": "vite-ssg build",
    "dev": "vite --port 3333",
    "open": "vite --port 3333 --open",
    "lint": "eslint .",
    "preview": "vite preview",
    "preview-https": "serve dist",
    "test": "vitest",
    "test:e2e": "cypress open",
    "test:unit": "vitest",
    "typecheck": "vue-tsc --noEmit",
    "u": "taze major -I"
  },
  "dependencies": {
    "@bahmutov/cy-api": "^2.2.0",
    "@types/node": "*",
    "@vicgutt/tailwindcss-debug": "^0.1.0",
    "@vueuse/core": "^9.1.1",
    "@vueuse/head": "^0.7.9",
    "autoprefixer": "^10.4.8",
    "axios": "^0.27.2",
    "daisyui": "^2.24.0",
    "mobile-detect": "^1.4.5",
    "postcss": "^8.4.16",
    "swiper": "^8.3.2",
    "tailwind-scrollbar": "^1.3.1",
    "tailwindcss": "^3.1.8",
    "theme-change": "^2.2.0",
    "ts-node": "^10.9.1",
    "vue": "^3.2.38",
    "vue-demi": "^0.13.11",
    "vue-request": "2.0.0-rc.3",
    "vue-router": "^4.1.5",
    "vue-search-input": "^1.1.9"
  },
  "devDependencies": {
    "@antfu/eslint-config": "^0.26.3",
    "@iconify/json": "^2.1.102",
    "@vitejs/plugin-vue": "^3.0.3",
    "@vue/compiler-sfc": "^3.2.38",
    "@vue/test-utils": "^2.0.2",
    "critters": "^0.0.16",
    "cross-env": "^7.0.3",
    "cypress": "^10.7.0",
    "eslint": "^8.23.0",
    "eslint-plugin-cypress": "^2.12.1",
    "https-localhost": "^4.7.1",
    "pnpm": "^7.9.5",
    "taze": "^0.8.0",
    "typescript": "^4.8.2",
    "unplugin-auto-import": "^0.11.2",
    "unplugin-icons": "^0.14.9",
    "unplugin-vue-components": "^0.22.4",
    "vite": "3.0.9",
    "vite-plugin-inspect": "^0.6.1",
    "vite-plugin-pages": "^0.26.0",
    "vite-plugin-pwa": "^0.12.6",
    "vite-plugin-vue-layouts": "^0.7.0",
    "vite-ssg": "^0.20.2",
    "vite-ssg-sitemap": "^0.4.1",
    "vitest": "^0.22.1",
    "vue-tsc": "^0.40.6"
  }
}

My tsconfig.json is as follows:
{
  "compilerOptions": {
    "baseUrl": ".",
    "module": "ESNext",
    "target": "ESNext",
    "lib": ["DOM", "ESNext"],
    "strict": true,
    "esModuleInterop": true,
    "jsx": "preserve",
    "skipLibCheck": true,
    "moduleResolution": "node",
    "resolveJsonModule": true,
    "noUnusedLocals": true,
    "strictNullChecks": true,
    // "allowJs": true,
    "forceConsistentCasingInFileNames": true,
    "types": [
      "vitest",
      "vite/client",
      "vue/ref-macros",
      "vite-plugin-pages/client",
      "vite-plugin-vue-layouts/client",
      "unplugin-icons/types/vue"
    ],
    "paths": {
      "~/*": ["src/*"]
    }
  },
  "exclude": ["dist", "node_modules", "cypress"]
}

Here is an example that I made, copying most of my packages/etc.
Run pnpm build and it'll error out.
https://stackblitz.com/edit/vitejs-vite-bfomm1?file=src/App.vue

I've tested it and it indeed errors out. Maybe this is something Vitesse specific, I'll try with a vanilla setup when I find some time and let you know @compilekaiten

Fixed with #13

Let's goooo! Thanks!


[Impr] pause timetracking

At the moment the time is recorded between status in process and completed. There should be a possibility to pause/hold time tracking. For example if you work 2 days on a task, the time tracking is running the whole night, but nobody is working during the night.
Or did i missed something?

I plan to add a section for working days/hours for each users. And be able to substract that time from the timesheet.
A button with start/pause/stop will be very useful too.

Sounds good
Cheers,
Shimon Friedman
Mob:<PHONE_NUMBER>

On 4 Mar 2015, at 10:18 am, Frédéric Guillot<EMAIL_ADDRESS>wrote:
I plan to add a section for working days/hours for each users. And be able to substract that time from the timesheet.
A button with start/pause/stop will be very useful too.
—
Reply to this email directly or view it on GitHub.

This would be great. For my (our) use case time tracking should have:

start/stop button in the list of subtasks so that I can select the (sub)task I'm working on right now;
per-user configurable "off" times (night, lunch, coffee breaks) but I can override (pressing again the button??) in case I'm working during those times;
when I press the "start" button for one subtask, any other sutask already selected as "running" should go into "hold" (not enabled to work at two activities at the same time);
start/stop button should do start and pause. Ending a subtask should be done with a different action (close?)

@BlueTeck There is now a start/stop button for subtask timer.

Thanks :+1:

Is there time tracking available for a task and not just a subtask?

@golharam for tasks there is only a field "time spent"


🚀 Feature: Option to logout from OpenID Connect provider

🔖 Feature description
Given a user logged in via OpenID Connect and the discovery URI response shows that a front channel logout is supported (i.e., the frontchannel_logout_supported is true and end_session_endpoint holds a URI), when clicking the “Sign out” button, then the user is logged out from the OpenID Connect provider by redirecting to the end_session_endpoint URI.
🎤 Pitch
Currently (since 7dc2e56fee1afc1078774cc702c0f1fee9bae938), logging out while only one OAuth provider is present and password login is disabled leads to a page reload and then a redirect to the login flow and I am logged in again immediately after. To log out in this setup one would have to log out from the OpenID Connect provider as well, which is supported by the OpenID Connect specification under the name of “Front-channel logout”.

I believe this would work if show homepage is on and the logout button would redirect to / instead of the current page like /upload

I've encountered the same problem. Did you manage to find a solution?

As a temporary solution I would delete the cookie access_token and go to the start page
(this requires the start page to be active of course)


GEOMESA-1852 Removing deprecated value classes

Signed-off-by: Emilio Lahr-Vivaz<EMAIL_ADDRESS>

fixed merge conflicts


Update Travis for new repo name.

It appeared CI is failing with the new repo name. Can't find the repo/project, etc.

@bebraw do I have access to modify travis?

@TheLarkInn You would have to ask Tobias for rights. I don't know how it works out with Travis.

Looks like this is happening now correctly, I think it was just a stale testt.


Fixed incorrect cockroach command --input-file flag

Follow-up on https://cockroachlabs.slack.com/archives/C01PHNMUFLN/p1629387979024400.

This change is


Add some hitSlop around the send button

Details
Adds some extra touchability margins around the "send chat" button.
Fixed Issues
$ https://github.com/Expensify/App/issues/6662
Tests / QA Steps

Type a message.
Touch just outside the send button (but still within the bounds of the composer)
Verify that the message sends.

Tested On

[] Web
[ ] Mobile Web
[ ] Desktop
[x] iOS
[ ] Android

Screenshots

Web

Mobile Web

Desktop

iOS

Android

@deetergp I just fixed the lint errors here, ready for review

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by @deetergp in version: 1.1.20-3 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅

🚀 Deployed to production by @Julesssss in version: 1.1.21-1 🚀

platform
result

🤖 android 🤖
failure ❌

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


MultiViewICA

I have developped recently a new method called MultiViewICA.
https://proceedings.neurips.cc/paper/2020/file/de03beffeed9da5f3639a621bcab5dd4-Paper.pdf
It does the same thing as SRM but yields significantly better results.
I currently have a standalone implementation of it here:
https://github.com/hugorichard/multiviewica
In practice, I use SRM to reduce the data and MultiViewICA is applied on the reduced data.
I believe it would be nice to have it directly in Brainiak so that users can use it more easily.
If you think this is a good idea, I'll make a pull request.

Hello, @hugorichard! I think that's a great idea. Aside from python-picard, which looks fine, I see no new dependencies.
Let's hear also from our SRM team. @TuKo, @qihongl?

Actually I would like to make https://github.com/hugorichard/multiviewica
a dependency as other people are already relying on this code. Would that be fine with you ?

In that case, what would the BrainIAK contribution be?

This integration of SRM and MultiViewICA

so that people can just do MultiViewICA.fit() and it performs first SRM and then MultiViewICA on reduced data.

I see. It seems to me less compelling than incorporating MultiViewICA, but let's hear from others as well...

Hi @hugorichard. Thanks for thinking of contributing to BrainIAK! Since the major code is not going to come into BrainIAK, how do you think about making a new example notebook that shows how to use SRM and MultiViewICA together?

Hi @lcnature  ! I think that is a great idea. If you think that's interesting, I'll work on that.

Yes, an example would be great!


Duplicates in latest and upcoming releases

I have a bunch of duplicates from apple music in both of these sections. Not sure why. I checked to see if it was because of different types (explicit and clean versions) but that's not it. I have singles and compilations off.
Here is an example from the upcoming release section:

Actually....after posting I see the issue. I see for some there is a slight variation in the artist names for the duplicates (i.e. ghostface vs ghostface killah | Too Short vs Too $Short). But with some the names are the same and still duplicating (i.e. guilty simpson and too short).

Thanks for reporting this. It's a really tricky issue to properly merge artists (since they can exist in lots of different forms).
Will work on these.

This should be fixed now!


May 17 Carto Rebase

Every month we should:

[x] Fast-forward the master branch to pick up latest changes
[x] Read NEWS.md in all relevant repos (here and here and here and here as well ... probably more) and adjust as necessary
[ ] Pick up any necessary changes to config files (app_config.yml and here and here as well)
[x] Check /diagnosis and fix any regressions
[ ] Peek at sverhoeven's repo for any lessons learned
[x] Rebase the tileo branch
[x] Rebase any other bits that we are working on but have not made the tileo branch yet (tileo-devops tends to have stuff "in progress" that hasn't been merged to tileo yet)
[x] Deploy the sucker to alpha.tileo.co and test some of the sample data visualizations! ✌
[x] Rebase tileo-develop for new/WIP feature work
[x] Promote "the build" to beta.tileo.co

May-specific tasks:

[ ] Make sure infowindows work in *.tileo.co
[ ] Pick up dataservices configuration example, see here
[ ] Re-wire DO config up so datasets show up again
[x] Make sure crankshaft is built again (was taken out here)
[ ] Fix/upload NPM package to use for uploading data to tileo.co instead of carto.com, see here
[ ] https://github.com/sverhoeven/docker-cartodb/commit/bbf2c543256ca4ef0f84099b9a680ded6108e756

Start this towards the end of a milestone, so the new one can begin with a fresh rebase.

Starting on this next week, other items to consider this month:

[ ] Try to deploy to a more powerful machine to improve performance
[ ] Try to enable / force SPDY

Thoughts, @apercas?

Started on this yesterday, already have a new docker-dronedb that uses latest Node.js apps (and v6 node, new mapnik!)

Turns out crankshaft was just in need of an update to a more current version.  Working again!

Most of the rebase/spring cleaning is ready!  Testing a new docker-dronedb as we speak ...

Moving the rest of open items to the next rebase.  Accomplished most of the work and cleaned up our tileo-* branches as well (no small feat!)


feat(proxy): add --proxy-domains flag for domain-specific proxying with wildcard support

Rename “proxy-internal” to “proxy-target”.
Rename “proxy-external” to “proxy-bright”. If possible, we keep the old names for a while to allow customers time to make the change.
Add a new “proxy-domains” flag as an optional flag. It can be accepted when the user is setting either “proxy-target” or “proxy”. It can receive a comma-separated list of domains which will be proxied. Any domain that is not part of the list won’t be proxied. Notes: Support for wildcard is required. If I specify “*.foo.bar” as one of the domains, “a.foo.bar”, “b.foo.bar”, etc. will all be proxied.
Bright domains will always be proxied when using with the “proxy” flag, without a need to have them explicitly listed as part of the “proxy-domains” list. if the user doesn’t want to proxy bright domains, he should use only "proxy-target"

@denis-maiorov-brightsec done


Build is broken & sample needs updating

When running make build-contract:
error: failed to download `uint v0.9.3`

Caused by:
  unable to get packages from source

Caused by:
  failed to parse manifest at `/Users/steve/.cargo/registry/src/github.com-1ecc6299db9ec823/uint-0.9.3/Cargo.toml`

Caused by:
  feature `edition2021` is required

  consider adding `cargo-features = ["edition2021"]` to the manifest
make: *** [build-contract] Error 101

Also the contract requires some updating to latest APIs

Issue fixed.
Sample needed updating.

@euanmcf-cl I haven't re-tested but I don't see how anything could have changed since no new code has been committed 🧐   Perhaps something wrong with my setup but pretty sure not since I saw others say they had a problem with  this sample as well.


inheritance onSubmitEditing function or inheritance all props TextInput

Is PR #24 what you mean?

@NguyenPhatBG
Thanks for reporting and you can also use better implementation with better maintainability:  https://github.com/retyui/react-native-confirmation-code-field


Give the user the option to set his own nonce when creating a mosaic

When creating a mosaic, a nonce has to be provided to the server - since it is of random value, in most cases having an implicit generation will satisfy the user needs, however there should be the possibility for the user to set a nonce of his choice if he desires so

MosaicId.createFromNonce() and MosaicNonce.createRandom() are available in v0.10.3-1
Fixed with PR #68


A way not to sys.exit after printing help

I'm using click interactively. Everything works fine until the user enters an incomplete command - e.g. there is "vm show" and "vm list" but they just enter "vm". The help is correctly printed, but it then exits the whole program. Can we have something on the context indicating it is being called interactively and never to exit?
I have tried overriding ctx.exit but either it doesn't work or I'm doing it wrong; in any case this seems an ugly way to hack around it.
def interactive_mode():
    while True:
        command_line = prompt()

        ctx = cli.make_context(None, command_line.strip().split(' '))

# does not work:
#        def new_exit(self, code=0):
#            print("exit requested")
#        ctx.exit = new_exit

        try:
            cli.invoke(ctx)
        except Exception as e:
            print(e)

@click.group(invoke_without_command=True if sys.stdout.isatty() else False)
@click.pass_context
def cli(ctx):
    if ctx.invoked_subcommand is None:
        print("Going interactive!")
        interactive_mode()
    pass

@click.group()
def vm():
    """VM Operations"""
    pass

cli.add_command(vm)

@click.command()
def list():
    """List VMs"""
    print("Listing VMs")

vm.add_command(list)

if __name__ == '__main__':
    cli()

Please catch SystemExit. You also might want to check out click-repl.


Repeating tutorial

Is it necessary to copy and paste the whole tutorial from the other page instead of providing link to it?
Repeating part starts from:
https://learn.microsoft.com/en-us/azure/openshift/howto-create-private-cluster-4x#connect-to-the-private-cluster
The repeating part in other document:
https://learn.microsoft.com/en-us/azure/openshift/tutorial-connect-cluster
The content is totally same.

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

ID: fc66b209-b1ad-ba1d-fc29-f55dd1e10c3a
Version Independent ID: 55074500-668c-c179-7c7f-07b061caac99
Content: Tutorial - Connect to an Azure Red Hat OpenShift 4 cluster - Azure Red Hat OpenShift
Content Source: articles/openshift/tutorial-connect-cluster.md
Service: azure-redhat-openshift
GitHub Login: @johnmarco
Microsoft Alias: johnmarc

@JoeyC-Dev
Thanks for your feedback! We will investigate and update as appropriate.

@johnmarco
Can you please check and add your comments on this doc update request as applicable.

@JoeyC-Dev , I looked at this and think you're right that there's no real reason for it to be duplicated. There may have been a decision to duplicate it so that users wouldn't have to go back and forth, and while that's a valid concern it can also be problematic to duplicate content. So I have opened a ticket to address and hope to do so soon.
@ManoharLakkoju-MSFT , you can close this issue if you want; I will take care of making the change.

@johnmarco
Thanks for your inputs
@JoeyC-Dev
if there are any further questions regarding the documentation, please tag me in your reply and we will be happy to continue the conversation.


add argon

I added the constraint >= 0.3 because 0.1 and 0.2 are known not to work.

Valid yay! Just a question: when will the new LTS be released?

I don't think we have a timeline yet for when the next LTS will be released. It will be no sooner than Nov 12, since each LTS lasts a minimum of 3 months.

Ok, thanks!


Need support multi turn/multi pass for chat co-pilot

We are building a co-pilot experience need multi turn, multi pass chat support. Example
User: I want to create a product
Chat: Here are 3 steps, step 1: give description, step 2: set price 3: set workload
Start with step 1, please set description
User: please suggest to me
Chat: here is suggestion,xxxxx
User: Looks good
Chat: Step 2 set price, here are options.....
Basically for each step, it need back and forth chat until that step confirms done then move to next step
Currently there is no native support by SK for this and we would like to request this feature we can leverage to build our co-pilot

Hey @alzhang-git, ack! This feedback loop has been an idea in our backlog, but we need to think through the dev design for this a bit. I'll get back to you by the end of the week.


bugfix: fix volume size without unit

Ⅰ. Describe what this PR did
fix volume size without unit, such as size=1024 will be failed.
Ⅱ. Does this pull request fix one issue?

NONO
Ⅲ. Describe how you did it
check the size has unit or not, if it has no unit size, we will add "B" at the end of size.
Ⅳ. Describe how to verify it
# pouch volume create -d local -o size=1048576 -n test
Mountpoint:   /data/pouch/volume/test
Name:         test
Scope:
Status:       map[sifter:Default size:1048576 mount:/data/pouch/volume]
CreatedAt:    2018-4-25 21:28:44
Driver:       local
Labels:       map[]

Ⅴ. Special notes for reviews
Signed-off-by: Rudy Zhang<EMAIL_ADDRESS>

Codecov Report

Merging #1215 into master will increase coverage by 0.04%.
The diff coverage is 100%.

@@            Coverage Diff            @@
##           master   #1215      +/-   ##
=========================================
+ Coverage   15.66%   15.7%   +0.04%
=========================================
  Files         171     171
  Lines       10393   10398       +5
=========================================
+ Hits         1628    1633       +5
  Misses       8645    8645
  Partials      120     120

Impacted Files
Coverage Δ

pkg/bytefmt/bytefmt.go
89.83% <100%> (+0.94%)
:arrow_up:

LGTM

tests LGTM


[Feature] Customize node in graph serie while using cartesian coordinates

What problem does this feature solve?
Hello. I am using Echarts 5, and I am trying to create a graph with cartesian axes. However, when I assing "cartesian2d" as the "coordinateSystem", the data format specified in the documentation does not seem to apply anymore.
Consider this example, which is not working for me:
const data1 = [{
  x: 20,
  y: 16,
  id: 'A'
}, {
  x: 5,
  y: 36,
  id: 'B',
  symbolSize: 30,
}]

const links1 = [
  { source: 'A', target: 'B'}
]

option = {
  xAxis: {
    type: 'value',
  },
  yAxis: {
    type: 'value'
  },
  series: [
   {
      type: 'graph',
      coordinateSystem: 'cartesian2d',
      data: data2,
      links: links2,
    }
  ]
};

In that example, the axes appear as empty, but if I remove the coordinateSystem: 'cartesian2d' line, then the graph appears. In order to have my graph inside a cartesian coordinate system, I have to change the format of the data.
const data2 = [
  [20, 16],
  [5, 36]
]

const links2 = [
  { source: 0, target: 1}
]

option = {
  xAxis: {
    type: 'value',
  },
  yAxis: {
    type: 'value'
  },
  series: [
    {
      type: 'graph',
      coordinateSystem: 'cartesian2d',
      data: data2,
      links: links2,
    }
  ]
};

This actually renders the graph inside a cartesian chart. But as I understand, like this I am not able to set a specific symbolSize to one of the nodes.
If that is the case, I think it would make sense that I should not need to change the format of my data when a cartesian coordinate system is used. I mean, the model of the first example do have an "x" and "y" settings, why is this not understood by the cartesian coordinate system?
Therefore, the feature request would be to be able to use coordinateSystem: 'cartesian2d' and being able to customize each node of the graph serie at the same time.
What does the proposed API look like?
The proposed api would be as follows (making data1 format compatible with a cartesian coordinate system):
const data1 = [{
  x: 20,
  y: 16,
  id: 'A'
}, {
  x: 5,
  y: 36,
  id: 'B',
  symbolSize: 30,
}]

const links1 = [
  { source: 'A', target: 'B'}
]

option = {
  xAxis: {
    type: 'value',
  },
  yAxis: {
    type: 'value'
  },
  series: [
   {
      type: 'graph',
      coordinateSystem: 'cartesian2d',
      data: data2,
      links: links2,
    }
  ]
};

Please check if this example helps.

@calogar Each data item can be an object but doesn't have to be an array, and even mixed. Please refer to this example.

Oh, that is exactly what I was missing. So I think this feature request is of no use then, many thanks for the help.


There are no entities added to the database annotation.

the build returns error
There are no entities added to the database annotation.
package:esouqqstore/database/appDatabase.dart:71:16
╷
71 │ abstract class AppDatabase extends FloorDatabase {
│                ^^^^^^^^^^^

@Database(version: 1, entities: [
Account,
AccountingClass,
StoreCurrencyMapping,
LocalizedProperty,
User,
InventoryTransaction,
JournalVoucher,
JournalVoucherEntry,
JournalVoucherEntryDetail,
BaseObject,
StoreCustomer,
StoreEmployee,
StoreVendor,
Store,
Warehouse,
Category,
Product,
ProductCategory,
StoreProductMapping,
Order,
])

it's not clear
to create table for model you need to add entity annotation and also create a corespondent DAO abstract class. Please read the doc.

I have created entities and DAOs

I was importing a file as
import 'models/baseObjects/Warehouse.dart';
when I change it to lowercase as
import 'models/baseObjects/warehouse.dart';
it works fine. The import was auto-generated


HTTP Error 500.30 - ANCM In-Process Start Failure

If you believe you have an issue that affects the security of the platform please do NOT create an issue and instead email your issue details to<EMAIL_ADDRESS>Your report may be eligible for our bug bounty but ONLY if it is reported through email.
Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:

Using this version of ASP.NET Core '...'
Run this code '....'
With these arguments '....'
See error

Expected behavior
to launch application
Screenshots

Additional context
Add any other context about the problem here.
Include the output of dotnet --info
Host (useful for support):
Version: 2.2.4
Commit:  f95848e524
.NET Core SDKs installed:
No SDKs were found.
.NET Core runtimes installed:
Microsoft.AspNetCore.All 2.2.4 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.App 2.2.4 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.NETCore.App 2.2.4 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Also ran through the troubleshooting steps at
https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/troubleshoot?view=aspnetcore-2.2#50030-in-process-startup-failure
Attaching the acm
ancm.log
stdout is blank

Tried installing the SDK so the dotnet info now looks like this:
.NET Core SDK (reflecting any global.json):
Version:   2.2.203
Commit:    e5bab63eca
Runtime Environment:
OS Name:     Windows
OS Version:  10.0.14393
OS Platform: Windows
RID:         win10-x64
Base Path:   C:\Program Files\dotnet\sdk\2.2.203\
Host (useful for support):
Version: 2.2.4
Commit:  f95848e524
.NET Core SDKs installed:
2.2.203 [C:\Program Files\dotnet\sdk]
.NET Core runtimes installed:
Microsoft.AspNetCore.All 2.2.4 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.App 2.2.4 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.NETCore.App 2.2.4 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]

@zanate4019 did you look in the event log?

Yes, nothing really useful
Application '/LM/W3SVC/2/ROOT' with physical root 'D:\Program Files\ARA Development\Box Workflow G3' failed to load clr and managed application. CLR worker thread exited prematurely
Since it was also mentioned in the ancm log, I didnt mention it.
Side note:  The same application has been deployed on a WIndows 2008 R2 server and is working fine.

Tried to moving it to Out of Process and saw a SQL access error in the event log.  Moved it back to In-Proc and changed the account on the AppPool and now its running.  I think our custom logging engine (ported from PODF - "plain old dotnet framework"), must not be using the correct creds.  Thanks for your help

ASP.NET Core 2.2 or later: For a 64-bit (x64) self-contained deployment that uses the in-process hosting model, disable the app pool for 32-bit (x86) processes.
In the Actions sidebar of IIS Manager > Application Pools, select Set Application Pool Defaults or Advanced Settings. Locate Enable 32-Bit Applications and set the value to False.
https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/?view=aspnetcore-3.0#create-the-iis-site


Wrong casting on variable assigned array Element when array is empty

Bug Report

🔎 Search Terms

🕗 Version & Regression Information

This is a crash
This changed between versions ______ and _______
This is the behavior in every version I tried, and I reviewed the FAQ for entries about _________
I was unable to test this on prior versions because _______

⏯ Playground Link

let numbersArr = []

if (Math.random() > 0.5) {
  numbersArr.push(123)
  numbersArr.push(29)
  numbersArr.push(20)
}

// says its type number if you hover over but it could be undefined
let awesomeNumber = numbersArr[0];
console.log('typeof awesomeNumber', typeof awesomeNumber)

console.log(awesomeNumber)

// says number could be NaN
let coolNumber = 2 + awesomeNumber

Workbench Repro

### 🙁 Actual behavior

Typescript asserts the element is a number.

### 🙂 Expected behavior

The variable should be a number or undefined. Since the array may be empty and we are accessing the first element inside of it.
The provided is a simple one, but this actually happened with an array of objects. I was trying to access a property on one of the objects, and my app could crash, because sometimes that first element is not there and so it is undefined. I didn't do my optional chaining someObj?.objectProperty that I would normally do if warned my variable was undefined.

Thanks for looking

The option that controls this behavior is called noUncheckedIndexedAccess; you need to enable it if you want the type to be number | undefined

Note that enabling noUncheckedIndexedAccess will also affect indexing in e.g. for loops, which might make the cure worse than the disease (hence why that option isn’t enabled by default)

Thanks folks appreciate the quick responses.


--dry-run option

I would love to have a dry run option so I can see what it will do before it does it.  I was very nervous running this program for the first time, but it worked great!

It's already there! Running cargo release --dry-run will print all shell commands it will execute.

Excellent!  I suggest mentioning it in the README then.  That command is a big win for newcomers who are apprehensive about what this command really does.

👍  README updated.


CarouseiIItem should not have a relationship to HomePage

The class CarouselItem has a $has_one relationship with 'HomePage', it should be BaseHomePage::class. The other side of the relationship is defined in CarouselPageExtension which is an extension to CWP's BaseHomePage class.
This is preventing namespacing the HomePage

Thanks for the fix @mxmclaudel


fix(kl-factory/integration-tests): ether

What ❔

Why ❔

Checklist

[ ] PR title corresponds to the body of PR (we generate changelog entries from PRs).
[ ] Tests for the changes have been added / updated.
[ ] Documentation comments have been added / updated.
[ ] Code has been formatted via zk fmt and zk lint.
[ ] Spellcheck has been run via zk spellcheck.
[ ] Linkcheck has been run via zk linkcheck.

Merged changes here:
https://github.com/matter-labs/zksync-era/pull/1492


SSLHandshakeException

D/OkHttp(7991): <-- HTTP FAILED: javax.net.ssl.SSLHandshakeException: javax.net.ssl.SSLProtocolException: SSL handshake aborted: ssl=0x79a640d8: Failure in SSL library, usually a protocol error
Reported on devices with API level 18 and 19, probably everything pre-lollipop is affected.
What's most likely going on is that OkHttp has removed support for obsolete HTTPS configurations and the host we are trying to reach needs to be updated.
See this.

The issue will remain open as a reminder to occasionally check if hosts updated HTTPS configurations.


lsc: Use -F for client_tty

Rather than hand-roll this, use -F '#{client_tty}' which gives the same
output.

Nice! Quite a bit cleaner. Thank you!


Centos 8

Hi , how can i install this panel on centos 8 stream ?

See this.

I know it's not supported, but I thought there was a way to install it. I managed to install version 1.2.x, but it doesn't work as it should.

There's an RPM tab there, that's what you need for cent os

Give me link with that rpm for centos

That is from the link you have previously been given

Thanks

I installed on centos 8 using docker , and now works.

I installed on centos 8 using docker , and now works.

I tried to update it manually from 2.5.2 to 2.6.3, but it requires Libc.so.6(glibc_2.28)(64bit) that is v2.17 last official support for Centos 7

I installed on centos 8 using docker , and now works.

I think you can close this issue now


'dropPrimary()' is not executed (or at least not in the correct order) within the 'alterTable' function

Environment
Knex version: 0.21.21 (+ Objection v2.2.17)
Database + version: MySQL 5.7 (on local machine, but installed in a Docker container); "mysql" node package version 2.18.1
OS: macOS Catalina (10.15.7)
Hi,
I'm gonna start this with I'm not sure whether it's a bug or I'm using it incorrectly, but it doesn't make sense to me.
I'm using Knex with Objection (Typescript on a NodeJS app) and I am having troubles with a Knex migration script.
I want to change my table's PK ID column type from "int" to "bigInt", so in the "up" function I want to drop the current primary key and alter the column to "bigIncrements" and in the "down" function do the opposite, drop PK again and just use "increments".
Here's a simple SQL to set up the table:
CREATE TABLE `coordinates` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `x` decimal(18,14) NOT NULL,
  `y` decimal(18,14) NOT NULL,
  `order` int(11) NOT NULL,
  PRIMARY KEY (`id`),
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8

And this is my migration script:
import * as Knex from 'knex';

export async function up(knex: Knex): Promise<void> {
  return knex.schema.alterTable('coordinates', (table) => {
    table.dropPrimary('id');
    table.bigIncrements('id').alter();
  });
}

export async function down(knex: Knex): Promise<void> {
  return knex.schema.alterTable('coordinates', (table) => {
    table.dropPrimary('id');
    table.increments('id').alter();
  });
}

When I run that migration with debugging enabled, I can see that for some reason it skips the first row of "dropPrimary" and only attempts the second alter command and it fails because there's already a PK existing. This is the error I get:
Requiring external module ts-node/register
Working directory changed to ~/dev/knex-test/app/configuration/db-knex
Using environment: development
  knex:query select * from information_schema.tables where table_name = ? and table_schema = database() undefined +0ms
  knex:query select * from information_schema.tables where table_name = ? and table_schema = database() undefined +6ms
  knex:query select * from `knex_migrations_lock` undefined +6ms
  knex:query select `name` from `knex_migrations` order by `id` asc undefined +3ms
  knex:query BEGIN; trx2 +2s
  knex:query update `knex_migrations_lock` set `is_locked` = ? where `is_locked` = ? trx2 +5ms
  knex:query select * from information_schema.tables where table_name = ? and table_schema = database() trx2 +3ms
  knex:query select * from information_schema.tables where table_name = ? and table_schema = database() trx2 +4ms
  knex:query select * from `knex_migrations_lock` trx2 +4ms
  knex:query select `name` from `knex_migrations` order by `id` asc trx2 +2ms
  knex:query select max(`batch`) as `max_batch` from `knex_migrations` trx2 +4ms
  knex:query alter table `coordinates` modify `id` bigint unsigned not null auto_increment primary key trx2 +6ms
migration file "20220504174414_transform_pk_id_columns_to_bigint.ts" failed
migration failed with error: alter table `coordinates` modify `id` bigint unsigned not null auto_increment primary key - ER_MULTIPLE_PRI_KEY: Multiple primary key defined
  knex:query update `knex_migrations_lock` set `is_locked` = ? trx2 +13ms
  knex:query ROLLBACK trx2 +4ms

When for testing purposes I commented out the second alter row, just kept "dropPrimary" (or tried to separate both into separate "alterTable" functions), then "dropPrimary" runs, but fails as the whole transaction ends without having any keys related to the auto-increment column. This is the error:
knex:query alter table `coordinates` drop primary key trx2 +4ms
migration file "20220504174414_transform_pk_id_columns_to_bigint.ts" failed
migration failed with error: alter table `coordinates` drop primary key - ER_WRONG_AUTO_KEY: Incorrect table definition; there can be only one auto column and it must be defined as a key

I have used "dropForeign" in this exact same manner and it works well. I can't figure out why it either tries to run the second alter row first (and fails) or doesn't try to run the dropPrimary at all.
Any help is appreciated!
If this is not the correct way to change PK column type, then let me know as well :) Thanks!

Okay, I found one workaround that works (instead of just using the correct SQL command with knex.raw).
I had to remove Auto-Increment from the column first, then drop the primary key and then alter the column to "bigIncrements", all in separate "alterTable" commands still because for some reason, all commands that end with ".alter()" function are grouped together and for some reason, the "dropPrimary()" is ignored (or at least de-prioritized to be the last command, but it has to be in the correct order) and I can't add "alter()" on top of that to make it include it into that one big query.
export async function up(knex: Knex): Promise<void> {
  await knex.schema.alterTable('coordinates', (table) => {
    table
      .integer('id')
      .unsigned()
      .alter();
  });

  await knex.schema.alterTable('coordinates', (table) => {
    table.dropPrimary('id');
  });

  return knex.schema.table('coordinates', (table) => {
    table
      .bigIncrements('id')
      .alter();
  });
}

So this works, but it's far from intuitive and I still think it's not working as it should.

Same thing happened with
this.schema.alterTable(this.tableName, (table) => {
     table.dropForeign(this.acceptedIn);
     table.string(this.acceptedIn).nullable().alter();
});

The database tried to change a column with a foreign key attached to it, even though I specifically added the dropForeign function. This is a big issue honestly. It is also mentioned in https://github.com/knex/knex/issues/2278 and it should at the very least be documented, however I don't think it's happening with dropColumn and dropForeign, therefore there must be some internal ordering of all the alterTable statements, which makes this bug happen.


Add openshift-install wait-for command.

When running snc.sh,  after the cluster started, we start executing the oc commands for lot of different changes. Sometime cluster is still not in healthy state and api are not responding (which need bit more time) and it cause the issues like below.


App crashes when using a numeric action bar title

From @moritzvieli on June 13, 2017 15:56
Please, provide the details below:
This problem may be related to issue https://github.com/NativeScript/NativeScript/issues/3210. When I use a numeric ActionBar title (e.g. "12"), the app crashes.
On Android, the following error is shown:

Did you verify this is a real problem by searching [Stack Overflow]
Yes
Which platform(s) does your issue occur on?
Both
Please provide the following version numbers that your issue occurs with:

CLI: 3.0.1
Cross-platform modules: 3.0.0
Runtime(s): 3.0.1

Please tell us how to recreate the issue in as much detail as possible.
This XML is enough:
<ActionBar title="12">
  ...
</ActionBar>

Copied from original issue: NativeScript/NativeScript#4372

From @moritzvieli on June 15, 2017 16:5
Hey @NickIliev Thanks for your reply! I tried with the core-modules 3.0.1 as well, but it still crashes. Your test app does not crash in my environment. I tried adding the ActionBar to the groceries app but I did not manage to make it visible until now. Unfortunately, I cannot provide you the app. What about the package.json?

Hey, @moritzvieli I have created this test application  but was not able to reproduce it. Can you please share more details (like on what API level you are testing) and/or provide sample project which can fully reproduce the behavior.
You can also take a look at the test application and let me know if there is a change that can trigger the issue.
Note: I am using tns-core-modules 3.0.1 (latest at this very moment)

From @moritzvieli on June 16, 2017 6:7
Here you go:
{
  "name": "xxx",
  "version": "1.0.0",
  "description": "xxx",
  "license": "SEE LICENSE IN <your-license-filename>",
  "readme": "NativeScript Application",
  "repository": "<fill-your-repository-here>",
  "environments": {
...
  },
  "nativescript": {
    "id": "xxx",
    "tns-ios": {
      "version": "3.0.1"
    },
    "tns-android": {
      "version": "3.0.1"
    }
  },
  "dependencies": {
    "@angular/animations": "~4.1.3",
    "@angular/common": "~4.1.3",
    "@angular/compiler": "~4.1.3",
    "@angular/core": "~4.1.3",
    "@angular/forms": "~4.1.3",
    "@angular/http": "~4.1.3",
    "@angular/platform-browser": "~4.1.3",
    "@angular/platform-browser-dynamic": "~4.1.3",
    "@angular/platform-server": "~4.1.3",
    "@angular/router": "~4.1.3",
    "jsnlog": "^2.22.1",
    "moment": "2.17.1",
    "nativescript-angular": "~3.1.0",
    "nativescript-camera": "~3.0.0",
    "nativescript-drop-down": "3.0.0",
    "nativescript-exit": "1.0.0",
    "nativescript-facebook-login": "git://github.com/dvabuzyarov/nativescript-facebook-login.git#917156e0841099103f0215da02a2ab4d508ab8b7",
    "nativescript-geolocation": "^3.0.0",
    "nativescript-imagecropper": "0.0.7",
    "nativescript-imagepicker": "2.4.1",
    "nativescript-intl": "~3.0.0",
    "nativescript-iqkeyboardmanager": "1.0.1",
    "nativescript-loading-indicator": "2.3.2",
    "nativescript-onesignal": "1.0.7",
    "nativescript-pulltorefresh": "2.0.0-rc.1",
    "nativescript-statusbar": "1.0.0",
    "nativescript-telerik-ui": "2.0.1",
    "ng2-translate": "5.0.0",
    "parse5": "1.4.2",
    "punycode": "1.3.2",
    "querystring": "0.2.0",
    "reflect-metadata": "0.1.8",
    "rxjs": "^5.4.0",
    "tns-core-modules": "~3.0.1",
    "tns-core-modules-widgets": "~3.0.1",
    "url": "0.10.3",
    "zone.js": "^0.8.11"
  },
  "devDependencies": {
    "@angular/compiler-cli": "~4.1.0",
    "@ngtools/webpack": "~1.4.0",
    "babel-traverse": "6.9.0",
    "babel-types": "6.9.0",
    "babylon": "6.8.0",
    "copy-webpack-plugin": "~4.0.1",
    "extract-text-webpack-plugin": "~2.1.0",
    "filewalker": "0.1.2",
    "lazy": "1.0.11",
    "nativescript-css-loader": "~0.26.0",
    "nativescript-dev-typescript": "~0.4.2",
    "nativescript-dev-webpack": "^0.6.3",
    "raw-loader": "~0.5.1",
    "resolve-url-loader": "~2.0.2",
    "typescript": "~2.3.1",
    "webpack": "~2.6.1",
    "webpack-sources": "~1.0.1"
  },
  "scripts": {
    "ns-bundle": "ns-bundle",
    "publish-ios-bundle": "npm run ns-bundle --ios --publish-app",
    "start-android-bundle": "npm run ns-bundle --android --run-app",
    "start-ios-bundle": "npm run ns-bundle --ios --run-app",
    "build-android-bundle": "npm run ns-bundle --android --build-app",
    "build-ios-bundle": "npm run ns-bundle --ios --build-app"
  }
}

@moritzvieli Yes, the content of your package.json will help us investigate further.

@moritzvieli confirming that this issue is reproducible in Angular based project.
Test application demonstrating the bug can be found here

@moritzvieli the issue is resolved with the next version of nativescript-angular.
You can install the next version as follows:
tns plugin remove nativescript-angular
tns plugin add nativescript-angular@next

The fix is already available in tns-core-modules@next and will be released with<EMAIL_ADDRESS>


Fixes #30933 -- Updated installation instructions for GeoDjango depencies on Windows.

Ticket #30933
The first commit in this pull request makes an amend to the tutorial. I found the data set in the tutorial contains a 'null' entry and caused the import to fail. A change to the model allowed the data set to be imported successfully.
This set of installation instructions works for 3.1 / Master. One of the trip-ups is that OSGeo4W installs a specific version of GDAL (currently 3.0), unless we go the 'advanced' route. Therefore to support older versions (e.g. Django 3.0) we would need to explore this. I've included a screenshot of what we would need to navigate (this screen is about half a dozen "next"s in to the install process)

The ticket mentions using other back ends. I explored using spatialite but this seems to be a non-trivial install. There's a few references when googling which explains you need to overwrite the sqlite.dll, so ....😬
I've updated the install instructions to use 64 bit everywhere. I've not tested other combinations, is it worth it, what do you think?

Has the process been tested on Windows systems with 64-bit Python?

I've installed all of the applications (64 bit) on my device and managed to follow the gis tutorial. I used django 'master' for this as the fix for gdal version 3 is needed.
I had assumed if there were any compatibility issues I'd have run into them by now. Are you aware of any scenarios where there may be issues?

The ticket mentions using other back ends. I explored using spatialite but this seems to be a non-trivial install. There's a few references when googling which explains you need to overwrite the sqlite.dll, so ....😬

Adding such instructions is out of scope for this. If someone wants to propose such a guide we can review it, but what we need here are the basic instructions working. If that favours PostGIS then so be it ATM.

Stepping through it, I can't see how we can realistically give advice to manually select the GDAL version — it's just too hard to be realistic. I'll discuss with @felixxm but I'm thinking that we can just target the 3.1 docs for this, which will be out in just a few weeks now.

I got to that screen and gave up,  so I agree it's 'too hard'. Therefore this is only relevant to 3.1.

(One thought: the PostGIS step said it included GDAL 2.4... — I didn't dig around, but is that sufficiently functional for us to point at? The installer wanted to set the GDAL_DATA env var. — Not sure if it's worth the messing around.)

Hmm.... I missed the intricacies of this. I can take a look if you think it's worth it. On first attempt I pressed yes to setting this variable (more on this when I respond to inline comments) and it didn't 'just' work (but I'd have to validate that was the only change).

Adding such instructions is out of scope for this. If someone wants to propose such a guide we can review it, but what we need here are the basic instructions working. If that favours PostGIS then so be it ATM.

That's good news. It's also feels unsupported. Last release was c.5 years ago.

@carltongibson I've pushed a new commit with a few amends. Let me know what you think.
David

My gut feel is if folks are following this tutorial then it's probably on a new project and so will be looking at docs 3.1 and all will be fine...
The other item (null=true) is interesting in that it impacts everyone, not just windows users. I guess that's somewhat unrelated and could be in a separate commit and backported?

OK, I rebased and squashed to two commits. I'll just let the CI do it's thing... Nice one @smithdc1. Good stuff!


Messed up http_proxy env var set

Required information

Distribution: Ubuntu
Distribution version: 16.04
The output of "lxc info" or if that fails:

$ lxc info
apicompat: 0
auth: trusted
environment:
  addresses: []
  architectures:
  - x86_64
  - i686
  certificate: |
    -----BEGIN CERTIFICATE-----
...
    -----END CERTIFICATE-----
  driver: lxc
  driverversion: 2.0.0
  kernel: Linux
  kernelarchitecture: x86_64
  kernelversion: 4.4.0-15-generic
  server: lxd
  serverpid: 8176
  serverversion: 2.0.0
  storage: zfs
  storageversion: "5"
config:
  storage.zfs_pool_name: lxd
public: false

Kernel version: 4.4.0-15-generic

LXC version: 2.0.0~rc12-0ubuntu1

LXD version: 2.0.0-0ubuntu4

Issue description
Containers are unable to connect to http endpoints due to a bad http_proxy environment variable.
Steps to reproduce
$ lxc launch images:ubuntu/xenial/amd64 t1
$ lxc exec t1 -- bash
root@t1:~# apt-get update
0% [Connecting to fe80::1%eth0 (fe80::1%eth0)] [Connecting to fe80::1%eth0 (fe80::1%eth0)]
root@t1:~# echo $http_proxy
http://[fe80::1%eth0]:13128

Did you configure LXD with "lxd init" or "dpkg-reconfigure -p medium lxd"?
Doing so and answering the questions should unset the proxy variable for you once it's no longer needed.
if you did something else manually, then: "lxc profile unset core.proxy_http" will do it.

Hi,
I used lxd init --auto but did not set http_proxy so something must auto set it?

It's set for you by default until an IPv4 subnet is configured as it's the only way containers can reach the internet until then.

If I do
lxc config show
config:
  storage.zfs_pool_name: lxd

I don't see that core.http_proxy is set and the value that is set is definitely wrong.
root@t1:~# echo $http_proxy
http://[fe80::1%eth0]:13128

the container has an ipv4 interfaces but still retain the incorrect http_proxy environment variable.
Obviously I can easily unset it inside the container but thought this looked like a bug.

lxc profile show default

$ lxc profile show default
name: default
config:
  environment.http_proxy: http://[fe80::1%eth0]:13128
  user.network_mode: link-local
description: Default LXD profile
devices:
  eth0:
    name: eth0
    nictype: bridged
    parent: lxdbr0
    type: nic

yep, there it is ^
lxc profile unset default environment.http_proxy
lxc profile unset default user.network_mode
That should fix it for you.


🚀 Feature: Chatbot Page revamp

🔖 Feature description

revamp chatbot page with nice ui

🎤 Why is this feature needed ?
for more readability
✌ How do you aim to achieve this?
tweaking UI
🔄 Additional Information
No response
👀 Have you spent some time to check if this feature request has been raised before?

[X] I checked and didn't find similar issue

Are you willing to submit PR?
Yes I am willing to submit a PR!

Ok can do


Display emoji

As an example, Google Calendar allows you to display emoji in event titles. The emoji are not imported correctly into the MM interface. Would it be possible to correctly show emoji?
Platform: Electron 5.0.2 / Raspberry Pi 3 B+ / Stretch.
Node Version: 10.15.3
MagicMirror Version:  JavaScript version (v2).
Description: Emoji not being displayed.
Configuration: Nothing special; calendar displays correctly except for emoji

Not sure if the Raspberry Pi Desktop environment is able to display emoji's. If so, it might be an encoding issue.

I'll see if I can solve it by installing different emoji centric fonts in
the OS. Do you know if Electron depends on the OS to render fonts?
On Fri, May 24, 2019, 3:30 AM Michael Teeuw<EMAIL_ADDRESS>wrote:

Not sure if the Raspberry Pi Desktop environment is able to display
emoji's. If so, it might be an encoding issue.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/MichMich/MagicMirror/issues/1687?email_source=notifications&email_token=ALJVZVWWI6I63YXYMAIOXY3PW6KPXA5CNFSM4HPL4OX2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODWEMTKY#issuecomment-495503787,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ALJVZVTWGOGKYARK2EUUI7TPW6KPXANCNFSM4HPL4OXQ
.

I think so. Yes.

You can label columns with status indicators like,

Closed due to inactivity.


Add Wait.forListeningPort(port)

Add utility method to check on specific port.

@eddumelendez Nice, thanks! WDYT about accepting an array of ports, for better flexibility?


BUG: Cast a key to NaT before get loc from Index

[x] closes #13603
[x] tests added / passed
[x] passes git diff upstream/master | flake8 --diff
[x] whatsnew entry

pd.NaT, None, float('nan') and np.nan are
converted NaT in TestTimedeltas.
So we should convert keys if keys are these value.
Fix #13603

[Current coverage][cc-pull] is 84.38%

Merging [#13687][cc-pull] into [master][cc-base-branch] will increase coverage by <.01%

@@             master     #13687   diff @@
==========================================
  Files           142        142
  Lines         51223      51225     +2
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits          43224      43226     +2
  Misses         7999       7999
  Partials          0          0

Powered by Codecov. Last updated by [043879f...81a26fd][cc-compare]
[cc-base-branch]: https://codecov.io/gh/pydata/pandas/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/pydata/pandas/compare/043879fbb7de71605eed87991eb037c1917bace1...81a26fd4ded90d7f8987caa102a2b5f23da4cf18?src=pr
[cc-pull]: https://codecov.io/gh/pydata/pandas/pull/13687?src=pr

I think related issues should be fixed by changing pd.Timedelta to return pd.NaT for these nat-likes (also _is_convertible_to_td should include nat-likes).
# OK
pd.Timestamp(np.nan)
# NaT
pd.Period(np.nan)
# NaT
pd.Timedelta(np.nan)
# NaT

# NG, Timedelta should return pd.NaT
pd.Timestamp(None)
NaT
pd.Period(None)
NaT
pd.Timedelta(None)
# ValueError: cannot construct a Timedelta without a value/unit or descriptive keywords (days,seconds....)

I will challenge pd.Timedelta issue on another PR :)

ok, pls add a whatsnew entry, otherwise lgtm.

Updated a whatsnew entry!

thanks!

😄


synchronization readme

issue #20736

/language ru

/assign @bradtopol

@Arhell , Checking if the translation is up-to-date with the latest README.

Ping @kubernetes/sig-docs-ru-owners for approval

/approve


Could be non-polling

Currntly we don't override should_poll property with False, and by default HA is polling us continuously. The good thing is that this works robustly, but maybe this isn't quite as beautiful as this could be. We should listen to nordpool state updates, and fire update only when needed, as described in https://developers.home-assistant.io/docs/core/entity/

Let's improve this by adding some caching instead, if needed. Current approach is simple and robust, don't fix what's not broken.


Fix documentation for all-side spacing classes.

Fixes #20965. I debated the wording, but this is the cleanest I can think of for now.

Maybe add an example here to be sure it's understandable?
* blank - for classes that set a `margin` or `padding` on all 4 sides of the element (`.m-*` and `.p-*`)

looks like you beat me to the punch on this PR. guess i should have looked before opening one.
closes #20989


How-to guide write-up provided here: VSCode xdebug drush / command line-based php on Linux

I wanted to share what seems to be successful for me in using xdebug with drush and Microsoft Visual Studio Code Text Editor on Ubuntu 20.04 LTS Linux.
For this, the xdebug setup for ddev and visual studio code is mainly the same: https://ddev.readthedocs.io/en/latest/users/step-debugging/
The only 2 different key things are: the launch.json file and how you would run drush.
My launch.json file is as follows:
{
  // Use IntelliSense to learn about possible attributes.
  // Hover to view descriptions of existing attributes.
  // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
  "version": "0.2.0",
  "configurations": [
    {
      "name": "Listen for XDebug",
      "type": "php",
      "request": "launch",
      "port": 9000,
      "stopOnEntry": true,
      "pathMappings": {
        "/var/www/html/web": "${workspaceRoot}",
        "/var/www/html/vendor": "${workspaceRoot}/vendor"
      }
    },
    {
      "name": "Launch currently open script",
      "type": "php",
      "request": "launch",
      "program": "${file}",
      "cwd": "${fileDirname}",
      "port": 9000,
      "stopOnEntry": true
    }
  ]
}

And it's location is: myproject/.vscode/launch.json
Where myproject is my top-level project folder.
The "stopOnEntry": true setting was instrumental in determining how to setup the path mappings. Having this setting meant I got meaningful errors when trying to debug, like:

^ And with that error, I was able to determine what my path settings should be.
This launch.json I have is for me to xdebug both PHP on the CLI and on the locally developed website itself.
I have web within myproject folder where my PHP application sits (Drupal 8). web is my docroot in ddev-speak for my PHP application. So my path for web is myproject/web.
And to run drush, you need have drush as part of your codebase (typically installed using composer require drush/drush ):
ddev exec /var/www/html/vendor/bin/drush <command>
where command is a drush command like cr for clear cache, so would look like:
ddev exec /var/www/html/vendor/bin/drush cr
You would want to do this, rather than run ddev's built-in drush.
And it seemed to work, for me so far, setting a break point in drush code and it was hit on running drush.
And you can still use options like -vvv to get more verbose output to show what drush is doing "behind the scenes", e.g.:
ddev exec /var/www/html/vendor/bin/drush -vvv cr
The location of launch.json relative to the top level project folder and web is crucial I think to ensure xdebug works in general.
Further Reading
Also see a troubleshooting contribution I made here:
https://github.com/felixfbecker/vscode-php-debug/issues/321#issuecomment-649710079
which includes how to see what the variable values are used in launch.json https://code.visualstudio.com/docs/editor/variables-reference#_how-can-i-know-a-variables-actual-value
Comments welcome
So I hope that helps folks. I didn't see specific xdebug PHP CLI steps for VSCode in the docs so thought I'd contribute.
I'd welcome any feedback or adjustments that can help ensure that xdebugging is consistently, reliable, repeatable and robust. At the moment it seems to be working for me. I'm cautiously optimistic as I've seen pain others have experienced when it doesn't work which makes me angry - after all we are dealing with digital computers here.

Thanks for this!
Instead of two path mappings, just map /var/www/html to the project and you don't have to map anything else. That's what's shown in the docs, and yours isn't actually correct. You have /var/www/html/web as workspaceroot, and it's not.
Life would be easier than this if you enable the drush custom command provided in .ddev/commands/web/drush.example and change the path there to /var/www/html/vendor/bin/drush. Then everything is just ddev drush <command>
However, my own preference is just to work inside the web container, so ddev ssh and just use drush there.

I don't see any mention of you setting up $PHP_IDE_CONFIG, which is usually the first thing somebody needs to do to debug drush, see the same docs. But PHP_IDE_CONFIG will be automatically set in drush v1.15.
You could also set PHP_IDE_CONFIG in the drush custom command.

Thank you @rfay acknowledged - I certainly would not want others to use inaccurate help I've provided here. I'll aim to review amy setup and update.

Thanks for this!
Instead of two path mappings, just map /var/www/html to the project and you don't have to map anything else. That's what's shown in the docs, and yours isn't actually correct. You have /var/www/html/web as workspaceroot, and it's not.

I have been banging my head against the wall about XDebug/VSCode/DDEV (Drupal 9.x) not catching my breakpoints, and this thread helped me understand that my original path mappings were not the issue. I had actually gone to having
"/var/www/html/web" : "${workspaceRoot}/web"

and then realized that was completely unnecessary, after reading the comment above. So the docs, as they are, work fine for Drupal 9 where the webroot is in the /web path.
Nope, my issue turned out to be that I needed an extra firewall rule. I know the troubleshooting section of the docs mentions firewall rules, but I think maybe this information should be in the basic setup section. On Manjaro Linux (Cinnamon) with a firewall UI tool, I added this:

and presto, everything works.
Thanks for DDEV. Working great for me, as someone who hasn't really gotten up and running with Docker.

Thanks for all the effort on this!


Allow bot to know if I'm logged in (and who I am)

https://screenshot.googleplex.com/8PcoTYscXoxPzr2
Perhaps include the user's first name, last name and user ID in the main prompt?

The agent will include user's first name in the first chat message if logged in.


backend.num_qubits is incorrect (or broken) for simulation backends

Describe the bug

for "ibmq_qasm_simulator" and "simulator_statevector", backend.num_qubits returns 32 but submitting a circuit with more than 31 qubits results in a "Circuits do not match the target definition" error
for "simulator_mps", backend.num_qubits returns 100 but submitting a circuit with more than 63 qubits results in the same error
for "simulator_stabilizer" and "simulator_extended_stabilizer", backend.num_qubits itself throws an error

Steps to reproduce
service = qiskit_ibm_runtime.QiskitRuntimeService()

def test_backend(backend_name, num_qubits):
    backend = service.backend(backend_name)
    print(f"{backend_name} (backend has {backend.num_qubits} qubits):")

    circuit = qiskit.QuantumCircuit(num_qubits, 1)
    circuit.measure(0, 0)

    job = qiskit_ibm_runtime.Sampler(backend).run(circuit, shots=1)
    job.wait_for_final_state()

    print(f"{circuit.num_qubits}-qubit circuit: {job.status()}\n")

test_backend("ibmq_qasm_simulator", 31)
test_backend("ibmq_qasm_simulator", 32)

test_backend("simulator_statevector", 31)
test_backend("simulator_statevector", 32)

test_backend("simulator_mps", 63)
test_backend("simulator_mps", 64)

prints:
ibmq_qasm_simulator (backend has 32 qubits):
31-qubit circuit: JobStatus.DONE

ibmq_qasm_simulator (backend has 32 qubits):
32-qubit circuit: JobStatus.ERROR

simulator_statevector (backend has 32 qubits):
31-qubit circuit: JobStatus.DONE

simulator_statevector (backend has 32 qubits):
32-qubit circuit: JobStatus.ERROR

simulator_mps (backend has 100 qubits):
63-qubit circuit: JobStatus.DONE

simulator_mps (backend has 100 qubits):
64-qubit circuit: JobStatus.ERROR

(where for each failing job, job.error_message() returns "...Circuits do not match the target definition (non-ISA circuits)...")
meanwhile the following two lines fail immediately with a TranspilerError:
service.backend("simulator_stabilizer").num_qubits  # TranspilerError: "The number of qubits for Instruction(name='cx', num_qubits=2, num_clbits=0, params=[]) does not match the number of qubits in the properties dictionary: (0,)"

service.backend("simulator_extended_stabilizer").num_qubits  # TranspilerError: "The number of qubits for Instruction(name='cx', num_qubits=2, num_clbits=0, params=[]) does not match the number of qubits in the properties dictionary: (0,)"

Expected behavior
i would expect to be able to submit a circuit with (op to) backend.num_qubits qubits
Additional Information

qiskit-ibm-runtime version: 0.21.0
Python version: 3.11.8
Operating system: Ubuntu 22.04.1

@richrines1 did you find a solution to this bug?

I think it's relevant to note that cloud simulators have been retired as of May 15th, you can refer to this migration guide to see why have cloud simulators been retired as well as how to migrate to local simulators.

thanks @ElePT @jyu00
cloud simulators seem to still be available via the ibm cloud qiskit runtime plans, for which this bug persists - are these similarly headed for retirement?

Hi @jyu00 ,
Will the IBM cloud simulators always be available?

Ping @jyu00. This message might have slipped by you.

@vtomole I'm not in a position to make an official statement. However, given cloud simulator support was dropped from IBM Quantum Platform due to their limitations, I would not be surprised if it's also dropped from IBM Cloud channel in the near future.

Thanks @jyu00 :)


Add Dipcon RSVP to Meetup

@camiloluna it looks like there's a conflict with the file?

@xsttx I had also added the description that was on Meetup, but I already solved to conflict ;)

Haha excellent :)


Try re-enabling codecov & fixing parallel builds for coveralls

@ranocha I don't get why the Codecov report is not shown - do you understand why? How do you feel about merging this to main to see if Codecov works better by now and if the hot fix for coveralls lives up to its promise?

I changed some settings on Codecov. Let me re-run the tests here. If nothing shows up, we can merge this PR and see what's happening.


Update to crossbeam 0.2

Thanks for the pull request, and welcome! You should hear from @huonw (or someone else) soon.

Ok, crossbeam does not support Rust 1.3. Pushed a commit to have us test with Rust 1.4 instead.

Commenting on this. crossbeam 0.1.6 now fails to build for me on rustc 1.10.0 (cfcb716cf 2016-07-03)

This PR is important! For my project relying on this crate, I needed to fork this project for a one line diff (just changing the crossbeam version makes this crate compile again).


Team Kirby Clash Deluxe

Game Name (and version if necessary)
Team Kirby Clash Deluxe
Hardware Specs (If necessary)
No response
Operating System
Windows 11 22H2
Game State
Perfect. Full speed and I didn't see any issues. Obviously there wasn't sound, but aside from that completely playable.
Screenshots

Additional information
Tested on the latest SDL nightly build.

Kirb


pubsub: undelivered messages never pulled

This is happen several times in my case, when I ran several pulls concurrently each with different topics. The undelivered messages just stay in there although i've tried to restart the subscription or making a new one. The strange thing is when there are new messages sent to the topic, the iterator start pulling again.  But those remaining messages just still there and never get pulled. Also, the undelivered messages count has peculiarity, it is always even, for example 500, 1000, 2000. Bellow attached a screenshot from StackDriver of this problem. I'm using commit 6521623

(undelivered messages metrics)

This looks a lot like #684. I believe the part relevant to this issue is already resolved.


Mentor user unable to add Availability in the Calendar.

As a mentor user, I need to create availability spots in calendar, so that Mentee users can book some time in my calendar.   Now I am unable to create a calendar availability in the current month-year.   In production it is working fine, seems an issue happening after the upgrade of libraries.
This video will show the issue.
https://www.loom.com/share/00c6efd1636843128063d8550442fb59

Working fine.


Empty response with custom api

I built and install a custom API at https://7b80-103-253-89-37.ngrok-free.app/api/generate
Everything works fine.

But when change the endpoint and config template in LLM VSC into this endpoint. Everything just response nothing.
There is no clue to debug. Please help me.

I have a similar problem. I'm running Phind/Phind-CodeLlama-34B-v2 locally with TGI. When I trigger the suggestion, I see that a request is send to TGI, and that the response contains the expected [{'generated_text': '..... However, in almost all cases, the suggestion is not shown.
How is the decision made, if a suggestion is shown or not? If it possible to influence the decision?


Fixes #1351

Sets example.composer.json to use "web" directory.
Updates documentation references from "docroot" to "web".

@joestewart - Thanks so much, looks great!


Update Amazon Games to 2.3.8425.2

[x] Have you signed the Contributor License Agreement?
[x] Have you checked that there aren't other open pull requests for the same manifest update/change?
[x] This PR only modifies one (1) manifest
[x] Have you validated your manifest locally with winget validate --manifest <path>?

[x] Does your manifest conform to the 1.4 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

Possible duplicate package entry.
Similar installer SHA256 hash found in manifest:

InstallerSha256: 9dbb71cb9c4bcad710768db6493317ccf31702a6023aed8700209667f0fae547

manifests\a\Amazon\Games\2.1.6485.3
manifests\a\Amazon\Games\1.2.8218.3

This seems like a special case, the package version has changed to a newer version but the sha hasn't changed 🤔.

This seems like a special case, the package version has changed to a newer version but the sha hasn't changed 🤔.

Developers do this occasionally.


Multi-process key-value storage

Allow multiple process instances to access same DB.
LevelDB has no such support.
RocksDB may be considered as an additional option.

FoundationDB


Nested classes & logs

Description

fixes #1359
changes log formatting in IDEA process

Type of Change
Please delete options that are not relevant.

Minor bug fix (non-breaking small changes)
Bug fix (non-breaking change which fixes an issue)

Automated Testing
CI

Looks great, now it founds the source file for the nested class correctly


Add Back in the "Stay Alive" Traitor Objective

About the PR
It's stated that it was removed due to an end-round system that wasn't very involved. Now that we have evac shuttle, there's more of a threat to a traitor trying to get on it.
Screenshots

Changelog

:cl:

add: Traitors can now once again get the "Stay Alive" objective.

I understand this one is a bit contentious so i'm going to preemptively put the "needs discussion" tag on it.


Create Best_Time_to_Buy_and_Sell_Stock.java

Leetcode - Best Time to Buy and Sell Stock.

Leetcode - Best Time to Buy and Sell Stock.


[Bug]: the Matthew Berman video is incorrect for installation

What happened?
The youtube shows how to setup poetry and use a ./setup.sh script which has benn deleted.
This is confusing, especially since the new pipx install does not work ... dotenv is missing.
Version check

[X] Yes I was.

Relevant log output
No log because the video setup can no longer be followed with missing files.

Relevant screenshots (optional)
No response

It should be fixed. Try again

I meant the instructions in Berman's youtube video is old and will not work, because ./setup.sh is deleted.
So why refer to a misleading video, as you have to skip over his installation instructions.
Thanks again for the quick update.

Yes, it's true. But the new process is now better and we have the note at the top of the install.


Add support for OCaml 4.12

Thanks, can you add the 4.12 check on the travis CI file?

@gpetiot Is Travis still needed now that OCaml-CI is enabled btw?

I hadn't tried the tests but I now fixed the tests I could change.
There is an extra test that I'm guessing comes from a change in dune master (I have to use https://github.com/ocaml/dune/pull/3904 to be able to use stdlib-shims/ppxlib/...):
Done: 0/0 (jobs: 0)File "test/bin/mdx-rule/misc/duniverse-mode/dune.gen.expected", line 1, characters 0-0:
         git (internal) (exit 1)
(cd _build/default && /usr/bin/git --no-pager diff --no-index --color=always -u test/bin/mdx-rule/misc/duniverse-mode/dune.gen.expected test/bin/mdx-rule/misc/duniverse-mode/dune.gen)
diff --git a/test/bin/mdx-rule/misc/duniverse-mode/dune.gen.expected b/test/bin/mdx-rule/misc/duniverse-mode/dune.gen
index 4201b97..a2306f4 100644
--- a/test/bin/mdx-rule/misc/duniverse-mode/dune.gen.expected
+++ b/test/bin/mdx-rule/misc/duniverse-mode/dune.gen
@@ -9,6 +9,11 @@
   prelude.ml)
  (action
   (progn
-   (run ocaml-mdx test --prelude=prelude.ml --prelude-str
-     "#require \"prelude-str\"" %{x})
+   (run
+    ocaml-mdx
+    test
+    --prelude=prelude.ml
+    --prelude-str
+    "#require \"prelude-str\""
+    %{x})
    (diff? %{x} %{x}.corrected))))

I'm not sure how to make it work with both dune 2.7 and 2.8 (master) or if it's even desirable.

It appears to be a change in the formatting of the generated rule. mdx rule is deprecated so I don't put too much effort into this. I'll take a look to see if I can improve this test!
Worst case we could bump the minimum required dune version. Do you know when the 4.12 compatible dune version will be released?

Worst case we could bump the minimum required dune version. Do you know when the 4.12 compatible dune version will be released?

@rgrinberg do you have a rough idea?

Early next week or late this week.

I have rebased the PR, the CI is alright but I have one test that doesn't pass locally: (lwt is installed of course, same version as on CI)
diff --git a/test/bin/mdx-test/expect/lwt/test-case.md b/test/bin/mdx-test/expect/lwt.actual
index 7544ce7..9a746fa 100644
--- a/test/bin/mdx-test/expect/lwt/test-case.md
+++ b/test/bin/mdx-test/expect/lwt.actual
@@ -2,15 +2,19 @@

 # #require "lwt"
+No such package: lwt
 # let x = Lwt.return 3
-val x : int Lwt.t = <abstr>
+Line 1, characters 9-19:
+Error: Unbound module Lwt

does anyone have the same error locally?

I have rebased the PR, the CI is alright but I have one test that doesn't pass locally: (lwt is installed of course, same version as on CI)
diff --git a/test/bin/mdx-test/expect/lwt/test-case.md b/test/bin/mdx-test/expect/lwt.actual
index 7544ce7..9a746fa 100644
--- a/test/bin/mdx-test/expect/lwt/test-case.md
+++ b/test/bin/mdx-test/expect/lwt.actual
@@ -2,15 +2,19 @@

 # #require "lwt"
+No such package: lwt
 # let x = Lwt.return 3
-val x : int Lwt.t = <abstr>
+Line 1, characters 9-19:
+Error: Unbound module Lwt

does anyone have the same error locally?

I just rebased this on top of master!
Giving it a spin locally and merging. Thanks for taking care of this and sorry for the delay!

I just rebased this on top of master!
Giving it a spin locally and merging. Thanks for taking care of this and sorry for the delay!

Works like a charm, merging!

Works like a charm, merging!


feat: Resolve poor performance of endpoints in "stake-pool"

Context
Similar to network-info related query, it shows massive slowness when getting the response of:

http://localhost:3000/stake-pool/search
http://localhost:3000/stake-pool/stats

when using testnet DB regardless of applying “sort” and “filters”.
Proposed Solution
Introduced caching strategy:

cache each sub query individually depends on its cache invalidation indicator (TTL or epoch rollover detected by polling)
store all cached core stake pool objects in fromCache map as an optimized way to store pools data if already fetched from a previous query, which reduces drastically re-fetching of the same pools across queries with different arguments (filters/sort/pagination). We cache the mapped core stake pool object ( type Cardano.StakePool )
introduce idsToFetch map which holds all pools that need to be fetched from DB source
wrap all sub-queries related with extra stake pool info  within queryExtraPoolsData which processes the idsToFetch map and ensures all pools of extra data are being provided
rename and extend toCoreStakePool mapping to toStakePoolResults, now it returns composed result type: {results, poolsToCache},  as poolsToCache is being cached afterward, core type StakePoolSearchResults is not touched
clear the whole in-memory cache instance on epoch rollover
cache keys are composed using string literals, query cache keys are generated by namespace + query name + options which ensure the uniqness of the key, for single stake pool cache key is used namespace + hashId
stakePoolStats is cached with default TTL value (2 hours)

Important Changes Introduced

rework EpochPollService as a singleton class, used across services
extend StakePoolProvider with cache and epochPollService
refactor sub queries and optimize caching of pools

Rebased with master, fixup commits are squashed, ready for reviews and QA testing.

Squashed and rebased on master, tagged the relevant people as reviewers.


Partial Sync

Bug description:
I use my garmin device to track my activity, cycling,running,swimming. But i did two runs using strava app and did not used my tracking GPS watch.  I am noticing that run not done through Garmin device is not synced.
Actual Behavior:
Expected Behavior:
Steps to Reproduce:

...
...
...

Chrome version
Versjon 60.0.3112.90 (Offisiell delversjon) (64-bit)
Plugin version:
Additional Information
Version: 2.8.0
Updated: July 26, 2017
Activities links?:
https://www.strava.com/activities/1142614387
https://www.strava.com/activities/1137107067
https://www.strava.com/activities/1133715948
Console errors? (press F12 to see developer console, and copy paste here):
put console errors here if exist

Link screenshots or youtube video link if necessary:

@ahsmho Same behaviour than https://github.com/thomaschampagne/stravistix/issues/469


Bug fix/deployment issues

Deployment is failing.  Please review code and check for anything that I am missing. I uninstalled node and reinstalled the latest stable version.  Also fixed images not displaying.

There are some variables that look like they serve an important purpose and they are not being used.
https://github.com/Lambda-School-Labs/PT17_cityspire-c-fe/pull/6/commits/9c32ecc156cedc26b4ef5e9d9dcff8c3bd5f0e94
Check at the bottom under "Unchanged files with check annotations "


fix: recover from S2 collision when node requests Supervision Report at the same time the controller is sending S2-encapsulated command

This PR fixes an S2 collision that happens when the node sends an S2-encapsulated and supervised command/report at the same time the controller sends an S2-encapsulated command. This frequently happens when nodes are eager to report status after receiving a command, e.g. if they have a combined status for multiple channels.
Prior to this PR, each outgoing Supervision Report would go onto the immediate queue, meaning they could get transmitted while another S2 transaction was waiting for confirmation. This lead to the S2 encryption state going out of sync and both transactions fighting for re-sync.
We now check if there is an S2 transaction to the same node pending before enqueuing the Supervision report. If it is, the report is instead queued onto the normal queue, but with the highest possible priority, so it can get handled immediately after the pending transaction.
fixes: #6100
fixes: https://github.com/zwave-js/node-zwave-js/issues/6096

@zwave-js-bot automerge


Fix a typo in topo-def-file.md

There was a typo in the word "point-to-point" (previously "point-po-point").

thanks @Lachstec