support include function

The include() functions is equivalent to the include tag. It breaks twig.js with "Cannot call method 'replace' of undefined."
 What am I missing?

I've added this to the implementation notes on the wiki. https://github.com/twigjs/twig.js/wiki/Implementation-Notes

Why was this closed? The include function is the recommended method of inclusion, according to the docs:

Note: It is recommended to use the include function instead as it provides the same features with a bit more flexibility

If this is still not supported, it should be reopened.

Hello , any update here ?

Here's the TwigFiddle showing the include() working as expected.
Here's the TwigJS version erroring out.
From the console:
TwigException: include function does not exist and is not defined in the context

Simple  question: how can I use the include() function when the main template as been rendered from a string:
https://github.com/Geolim4/In-Memoriam/blob/60412b8730f68ecf2005c3694e41fdbb73254927/src/ts/Extensions/renderer.ts#L92
Should the callback function get implemented in my own when Twig render is called on a string instead of a filename ?

@Geolim4 you can't use the include function because it is not currently supported. This issue is for adding support for it.

Ohhh okay, so the readme is a bit lying then -_-

The implementation note says that "include" is supported while its not actually :(
https://github.com/twigjs/twig.js/wiki/Implementation-Notes

I've added this to the implementation notes on the wiki. https://github.com/twigjs/twig.js/wiki/Implementation-Notes

@JohnAlbin did you update the implementation notes when you were under the impression that support had been added?

@willrowe I think you are misreading the docs. The include tag is listed as supported. I added the note about the include function that says:

include: Throws error: "include function does not exist and is not defined in the context" https://github.com/twigjs/twig.js/issues/392

@JohnAlbin great, thanks for the clarification.
@Geolim4 the implementation notes are correct. It says that the include tag is supported and the include function is not.

@willrowe I think you are misreading the docs. The include tag is listed as supported. I added the note about the include function that says:

include: Throws error: "include function does not exist and is not defined in the context" https://github.com/twigjs/twig.js/issues/392

Hello,
I'm then asking again how to include a twig file and make it work ?
I do have this kind of error:

While my implementation looks like this:

Is there a path/context to provide to make it work ?

@Geolim4 this issue is for adding support for the include function, not for general troubleshooting.

@Geolim4 this issue is for adding support for the include function, not for general troubleshooting.

Still, the include tag is either unclear or not enough documented, so I think its indirectly related ?

@Geolim4 this issue is a feature request. Please search through the existing issues and documentation. If there is nothing in there related to what you want to do then open a new issue.

Are there any update on this include function implementation?


22 length of the implementation-defined portion

https://github.com/uwlib-cams/MARC2RDA/blob/main/Working Documents/LDR-DIR.csv

@cspayne what's this? labels?

Leader 000/22 (Length of implementation-defined portion) is important for reading a 'raw' MARC communications record. It is not important for a MARCXML record or for transforming MARC to RDA.
For more information, see "MARC for Library Use", pages 34-39.


Add watchdog configuration doc

Description
Add a systemd watchdog user manual for the kubelet, which introduces why to use the watchdog and how to use it.
Related issue https://github.com/kubernetes/kubernetes/issues/127460

Issue

Closes: #

@zhifei92, perhaps we should consider setting the dev-1.32 branch as the target branch rather than the main branch for this pull request. Since the change is related to the feature targeting beta in v1.32.

I opened a new PR. https://github.com/kubernetes/website/pull/48465

I opened a new PR. https://github.com/kubernetes/website/pull/48465

Based on author's https://github.com/kubernetes/website/pull/48451#issuecomment-2426783976; closing this PR in favor of newly opened PR https://github.com/kubernetes/website/pull/48465.
/close


can't setting group route

1. What version of Go and system type/arch are you using?
go version go1.19.1 windows/amd64
2. What version of GoFrame are you using?
GoFrame CLI Tool v2.2.0-beta2, https://goframe.org
GoFrame Version: cannot find go.mod
CLI Installed At: C:\Users\Administrator\go\bin\gf.exe
CLI Built Detail:
Go Version:  go1.17.13
GF Version:  v2.2.0-beta2
Git Commit:  2022-09-30 15:42:57 007715dbd5dd949c10727c6e84abcd932ac4937f
Build Time:  2022-09-30 15:44:39
3. Can this issue be re-produced with the latest release?
yes
4. What did you do?
it's codes and errors and document examples

6. What did you see instead?

我这边无法复现你的问题，请提供最小化可运行代码，或提供public项目链接。

我这边找到问题了,不过不确定为什么会这样

也许是我理解有问题吧,有可以运行的办法,上面有示例,就不去探究这两种的差别什么了吧,后面有空了再说

或许是在 req 中的metadata 数据中重复定义了route。
g.Meta     `path:"/hello" method:"get" tags:"" summary:""`


Update microservices-with-container-apps-dapr-content.md

Learn Build status updates of commit ca43a8a:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/example-scenario/serverless/microservices-with-container-apps-dapr-content.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel


Android SDK name changes.

SDK name added for Android. The OSType remains as linux, but the platform specific files should be retrieved from the android directory instead of linux.
conformance_begin/end was using a hardcoded linux directory. Now it's pulling swift_being.o/swift_end.o object files from the correct directory.

This last point should probably be double checked in FreeBSD. I'll try to set up an environment for testing, but is there anyone I can reach to confirm this last point?

@swift-ci please test


Collect user's email

Add option to collect also user's email from Discord oauth. Then staff will be able to reply to the appeal to user's email. Replying to email is better for staff than sending friend requests and waiting for approval ...

I feel like this is maybe unnecessary since the user's name/discriminator is/can be collected. If an admin needed to reach out it would probably be best to do so within the discord ecosystem rather than exposing a user's or admin's personal information.

Yes, one of the selling points of Discord over other services is email and IP privacy.
This site already blurs the line on the latter because nothing stops the server owner from, for example, logging IPs. I think this would work better with #18, so one can add a question asking for email, and any good faith appeal could put in an email. Another reason for not collecting the email from OAuth is that the user might not want to use their main Discord account email, because it could be on an inbox they don't check regularly for example.
Of course, the peak would be for this system to automatically send emails on approved appeals and never directly expose them to the owner/mods, but it would quickly kill the easy to setup and free to host aspect of this project (would need a database, a service to send emails, etc.)

@sylveon Ill have to double-check since it's been a while since I've worked on it, but the ReactJS take on your app that I've published (jcsumlin/discord-ban-appeal) DM's the banned user (or tries to) once the ban appeal has been approved.

Didn't think of that, genius!

Ok


How to refresh ECR credentials in a non-AWS Rancher 2.x installation

Rancher versions:
Rancher v2.0.6 - installed via RKE 0.1.8
Infrastructure Stack versions:
Kubelet Version 1.10.5
Kube Proxy Version 1.10.5
Docker version: (docker version,docker info preferred)
Version:      17.03.2-ce
Setup details: (single node rancher vs. HA rancher, internal DB vs. external DB)
HA rancher (running rancher in the K8s cluster)
Stripped the parts that seemed to be definitely irrelevant for my question...
My question:
We just installed Rancher v2.x on a 3-node cluster in our own datacenter. We store our docker images in a private Amazon ECR registry. We also have a Rancher v1.x installation where we use the ecr-updater from your catalog to continuously update the credentials. Unfortunately, we have found no information on how to achieve this in v2. How can we use the ECR registry in a local Rancher v2.x installation? And how can Rancher/K8s refresh the credentials automatically?
Thanks in advance!

For whom it may concern:
We have managed that by using https://github.com/trondhindenes/ecr-updater (with some minor tweaks)
But there is a small bug (see https://github.com/rancher/rancher/issues/13339) that needs to be worked around until fixed.

Please try https://github.com/rancher/rancher/issues/14907#issuecomment-418864667

Maybe we should package the ecr-updater into a catalog app.

The easiest way to create and update a docker-registry secret for an AWS ECR repo is to set up a CRON job that uses the AWS CLI and Kubectl.

Log into the host machine where the cluster is running
Install AWS CLI and configure it to use an IAM role that can read the ECR credentials.
Test the CLI config using this command: aws ecr --region <your_ecr's_region> get-login-password
Install kubectl and configure it with the yaml for the cluster in which you want to define the secret
Create a shell script like this:

# Delete the secret if it already exists (there is no way to update it)
kubectl delete secret <name_of_the_docker_registry_secret>
# Create the secret
kubectl create secret docker-registry <name_of_the_docker_registry_secret> \
	--docker-server=<your_ecr_registry_uri> \
	--docker-username=AWS \
	--docker-password=$(aws ecr --region <your_ecr's_region> get-login-password) \
	--docker-email=<your_notification_email>

Now setup a cron job to run this shell script every 6 hours (AWS resets the password every 12, so just to be on the safe side).

The secret will show up in the default project for the cluster. If you know how to have kubectl create it in a specific project, let me know.

Hello,
We are going to use rancher to manage a fleet of single node k3s clusters. They are distributed on premise, and cannot use the default aws ecr credentials route.
It would be nice to have some tool to sync these credentials from our central aws based rancher setup.
Any plans to add some functionality for this?

No, I don't have access anymore to the AWS infra I used to develop this. Also, credentials don't come from Rancher, they come from AWS. If you are not using ECR then this technique is not applicable.


Spec and test cases for removing JavaCompile stale output

Design spec and test case for issue #821.
Any of the checked boxes below indicate that I took action:

[ ] Reviewed the Contribution Guidelines.
[ ] Signed the Gradle CLA.
[ ] Ensured that basic checks pass: ./gradlew quickCheck

For all non-trivial changes that modify the behavior or public API:

[ ] Before submitting a pull request, I started a discussion on the Gradle developer list,
the forum or can reference a JIRA issue.
[ ] I considered writing a design document. A design document can be
brief but explains the use case or problem you are trying to solve,
touches on the planned implementation approach as well as the test cases
that verify the behavior. Optimally, design documents should be submitted
as a separate pull request. Samples
can be found in the Gradle GitHub repository. Please let us know if you need help with
creating the design document. We are happy to help!
[ ] The pull request contains an appropriate level of unit and integration
test coverage to verify the behavior. Before submitting the pull request
I ran a build on your local machine via the command
./gradlew quickCheck <impacted-subproject>:check.
[ ] The pull request updates the Gradle documentation like user guide,
DSL reference and Javadocs where applicable.

@adammurdoch Thanks for the comments. I worked them into the spec. Would you mind having another peek at my comments/changes?

I merged this PR to master. Please let me know if you have additional feedback.


[Feature Request][SPARK] Make Vacuum DRY RUN list all the files along with the the size of the files

Feature request
Which Delta project/connector is this regarding?

[X] Spark
[ ] Standalone
[ ] Flink
[ ] Kernel
[ ] Other (fill in here)

Overview
As of now, Vacuum dry run mode returns a dataframe containing a list of first 1000 files to be deleted. Instead, it's more useful to return all the eligible files to be deleted along with the size of these files.
Motivation
Today, users run Vacuum in dry run mode to understand the eligible files and the size of the data that is going to be deleted. By returning only a sample of 1000 files, users are not able to achieve their objective.
Further details

Willingness to contribute
The Delta Lake Community encourages new feature contributions. Would you or another member of your organization be willing to contribute an implementation of this feature?

[ ] Yes. I can contribute this feature independently.
[X] Yes. I would be willing to contribute this feature with guidance from the Delta Lake community.
[ ] No. I cannot contribute this feature at this time.

Hi @rajeshparangi, I'd like to work on this issue, could you kindly assign it to me? Thanks!
cc @scottsand-db.


publicPath not included first time when building for production

Hello!
When building for production. SPA (not ssr) the buildpath is not included. that means nuxt is giving a "_nuxt" prefix to the manifest path. for example dist/index.html "href="https://domain.com/subpathToApp/_nuxt/manifest.d03e541b.json"
however. if i run the same command again "npm run build" the prefix "_nuxt" is removed and everything works great.
"href="https://domain.com/subpathToApp/manifest.d03e541b.json"
The manifest.json file is always located in the root folder of dist. so when adding "_nuxt" the manifest file wont be found.
this hapens everytime i make changes to any file in my vue project.
its no big issue since running the command two times resolves the issue. but its a bit enoying :)
#nuxt.config.js:
router: {
middleware: ["auth", "vma", "weatherWarnings"],
base: "/subpathToApp",
mode: "history"
},
build: {
publicPath: "https://domain.com/subpathToApp"
}
Versions

nuxt: 2.15.7
node: 14.16.1

Steps to reproduce
What is Expected?
Include publicPath at build. set the path in index.html to correct path for the manifest.json file
What is actually happening?
Need to run "npm run build" two times to include the publicPath in nuxt.config.js

This should now be resolved in Nuxt 3.


bug(Files): "Empty Name" toast notification when naming a folder

Issue:
A toast notification appears when you create a folder with a valid name that says "Empty Name Provided"
If you attempt to create a folder without a name no toast notification appears
This toast notification should appear for when the user attempts to create a folder with a blank name rather than a valid name
Screen recording:
https://github.com/user-attachments/assets/f15d21a7-72c5-4036-a3cb-23e69234c81a

Increased priority to medium since this one is pretty annoying and a very basic flow in the app


[Storage] [STG94] Snapshot Management Support via REST for NFS Shares & New Header Custom Sorter

This PR contains the following changes:

Snapshot Management Support via Rest for NFS Shares
New header sorting (port of the C++ code: https://github.com/Azure/azure-sdk-for-cpp/blob/bc62649a3bbd65f3a7cfb83f01ef19f3cc7caace/sdk/storage/azure-storage-common/src/shared_key_policy.cpp)

TODO:

Propagate header sorting change to all _shared //DONE

API change check
APIView has identified API level changes in this PR and created following API reviews.
azure-storage-file-share

/azp run python - storage - tests


data set to {} between re-fetches

I created this small example to show my issue:
https://codesandbox.io/s/ovw0m6yl4z
Basically, every time I re-render the component and useQuery fetches new data, the data object is set to {} while loading is true.
How can I preserve the previously fetched data while I load new data?

I generally store the data in another state variable then update it in a useEffect that checks if data exists before assigning the state variable.
const MyFuncComponent = () => {
  const [notNulLData, setNotNullData] = useState();
  const { data, error, loading } = useQuery(QUERY);

  useEffect(() => {
    if (data) {
      setNotNullData(data);
    }
  }, [data]);

  return <ComponentThatRendersData data={notNullData} />;
};

Not sure if there is a better way or not.

@Dastari thanks, but it would really make sense to fix it in this library... I tried to look at the code but couldn't figure out where the problem is.

I tried to add || result.loading to https://github.com/trojanowski/react-apollo-hooks/blob/master/src/useQuery.ts#L140
The issue is the observableQuery gets invalidated when the query variable change, so the observableQuery.getLastResult() returns undefined, because we are asking the lastResult to the wrong observableQuery...

@FezVrasta long term it will be solved with a combination of React Suspense and Concurrent Rendering (it should even work in the current version, but it's experimental, and I don't recommend to use it in production). About PR #121 - I don't think it's a good idea - I think it's better to be more explicit than to show stale data. I'm also not sure if it works with fetchMore - please notice that loading is set to true during loading more data.

@trojanowski react-apollo doesn't empties the data object between refetches, this issue exists exactly because the behavior is different (and generated a bug on our app)

Please take a look at the same example, but made with react-apollo:
https://codesandbox.io/s/ywp7w756vv

This is broken at present - upgrading from vanilla React Apollo to this breaks our app because the data disappears as soon as the refresh starts.  Added CR comments, please prioritize if possible!

@trojanowski may we get an updated take on this issue after my recent clarifications?
If your concern with my PR is just the fetchMore behavior, I can work on it and fix the issue (if present).
If you intend to keep this bug, please at least let us know so we can find alternative solutions.
Thank you for your work!

@FezVrasta I'm not a fan of this behavior (it's a breaking change for me in some cases), but I'm going to fix it to make it similar to react-apollo. I prepared #134 - it uses setValues  similar to how it's done there. It should also fix  #129. Unfortunately, it requires further work (currently it breaks the suspense mode).

Any news on this ?


Code Cleanup, Easy Theming, and Docker Compose

This PR cleans up the code a bit to make it easier to understand, eliminates code repetition, and adds a working docker-compose file with instructions for use in the README.
Notice that the config directory has been created to make it easy to mount as a volume on docker... changes update in real time and are retained through updates when used this way. It also cleans up the directory structure.
In the works (working now on my machine) is an optional "plugin" for this that adds an uptime indicator next to each of your apps. I will introduce that pull request once this one gets merged :)

I'm considering removing the https://{{url}} hardlink for each of the apps in this PR (requiring the protocol to be added to each of the apps in the apps.json file). Should I do that here or do it in a separate PR? This should be done anyway to allow linking to http services (as well as for the uptime monitor that is to come).


crypto/tls: handshake failure negotiating TLS 1.3 with JDK11

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

go version go1.13.7 windows/amd64

Does this issue reproduce with the latest release?
Not tested on 1.14.x
What operating system and processor architecture are you using (go env)?
Windows 10 (amd64) and Docker/CentOS7 (amd64)
go env Output
set GO111MODULE=
set GOARCH=amd64
set GOBIN=
set GOCACHE=C:\Users\thyams\AppData\Local\go-build
set GOENV=C:\Users\thyams\AppData\Roaming\go\env
set GOEXE=.exe
set GOFLAGS=
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GONOPROXY=
set GONOSUMDB=
set GOOS=windows
set GOPATH=C:\Users\thyams\go
set GOPRIVATE=
set GOPROXY=direct
set GOROOT=c:\go
set GOSUMDB=off
set GOTMPDIR=
set GOTOOLDIR=c:\go\pkg\tool\windows_amd64
set GCCGO=gccgo
set AR=ar
set CC=gcc
set CXX=g++
set CGO_ENABLED=1
set GOMOD=C:\******\go.mod
set CGO_CFLAGS=-g -O2
set CGO_CPPFLAGS=
set CGO_CXXFLAGS=-g -O2
set CGO_FFLAGS=-g -O2
set CGO_LDFLAGS=-g -O2
set PKG_CONFIG=pkg-config
set GOGCCFLAGS=-m64 -mthreads -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=C:\Users\thyams\AppData\Local\Temp\go-build099847662=/tmp/go-build -gno-record-gcc-switches

What did you do?
HTTPClient that have default values for the HTTPTransport TLSClientConfig don't appear to be negotiating handshake downwards (using a lower supported protocol version) if receiving client/system/web.api doesn't support the max version we have configured.
Default Example:
	transport.TLSClientConfig = &tls.Config{
		InsecureSkipVerify: false,
		MinVersion:         tls.VersionTLS10,
		MaxVersion:         tls.VersionTLS13,
	}

Communicating with a client whose max protocol level is tls.VersionTLS12 (771) will trigger a remote error: tls: handshake failure response.
Workaround
If I manipulate the transport.TLSClientConfig
	transport.TLSClientConfig = &tls.Config{
		InsecureSkipVerify: false,
		MinVersion:         tls.VersionTLS10,
		MaxVersion:         tls.VersionTLS12, // Lowered
	}

Communication resumes. I, of course, apologize if I am mistaken in my understanding of the functionality in the HTTPTransport.TLSClientConfig.
What did you expect to see?
I expected to see proper HTTP Status of 200 for a call succesful through curl or postman.
// BuildHTTPTransport creates a basic HTTP transport with default timeouts and can skip TLS verification check.
func BuildHTTPTransport(tlsInsecure bool, proxy func(*http.Request) (*url.URL, error)) *http.Transport {

	transport := &http.Transport{
		Proxy: proxy, // Can Be Nil
		DialContext: (&net.Dialer{
			Timeout:   30 * time.Second,
			KeepAlive: 30 * time.Second,
			DualStack: true,
		}).DialContext,
		MaxIdleConns:          100,
		MaxIdleConnsPerHost:   100, // Default was 2
		IdleConnTimeout:       90 * time.Second,
		TLSHandshakeTimeout:   10 * time.Second,
		ExpectContinueTimeout: time.Second,
	}

	transport.TLSClientConfig = &tls.Config{
		InsecureSkipVerify: tlsInsecure,
		MinVersion:         tls.VersionTLS10,
		MaxVersion:         tls.VersionTLS12, // Default is TLS13
	}

	return transport
}

What did you see instead?
remote error: tls: handshake failure

/cc @bradfitz @rsc

Also /cc @FiloSottile for crypto/tls.

This is not supposed to happen, and it could be a bug on the server side as well.
Can you give us some details on what the server is?
Also, to ensure this has nothing to do with net/http, can you check that tls.Dial also fails?

I will write a local test to confirm with dial, I have remote server details just not on me. Will update shortly. Thanks guys.

The remote system is a Java based web.api, I can get more details from the author later.
I was successfully able to ping pong with Tcp Dialer and a self-signed cert for both server and client with InsecureSkipVerify false with what I believe are similar settings. I don't know if this is a good representation of things based loopback usage of localhost.
package main

import (
	"bufio"
	"crypto/tls"
	"crypto/x509"
	"io/ioutil"
	"log"
	"net"
)

func main() {

	readyToReceive := make(chan struct{}, 1)
	go startServer(readyToReceive)
	<-readyToReceive

	runClient()
}

// using self-signed from here: https://github.com/denji/golang-tls
func startServer(readyToReceive chan struct{}) {

	log.SetFlags(log.Lshortfile)

	cer, err := tls.LoadX509KeyPair("server.crt", "server.key")
	if err != nil {
		log.Println(err)
		return
	}

	config := &tls.Config{
		Certificates: []tls.Certificate{cer},
		MinVersion:   tls.VersionTLS12,
		MaxVersion:   tls.VersionTLS12,
	}
	ln, err := tls.Listen("tcp", ":443", config)
	if err != nil {
		log.Println(err)
		return
	}
	defer ln.Close()

	readyToReceive <- struct{}{}
	for {
		conn, err := ln.Accept()
		if err != nil {
			log.Println(err)
			continue
		}
		go handleConnection(conn)
	}
}

func handleConnection(conn net.Conn) {
	defer conn.Close()
	r := bufio.NewReader(conn)
	for {
		msg, err := r.ReadString('\n')
		if err != nil {
			log.Println(err)
			return
		}

		println(msg)

		n, err := conn.Write([]byte("pong\n"))
		if err != nil {
			log.Println(n, err)
			return
		}
	}
}

func runClient() {
	caCert, err := ioutil.ReadFile("server.crt")
	if err != nil {
		log.Fatal(err)
	}
	caCertPool := x509.NewCertPool()
	caCertPool.AppendCertsFromPEM(caCert)

	log.SetFlags(log.Lshortfile)

	conf := &tls.Config{
		//InsecureSkipVerify: true,
		RootCAs:    caCertPool,
		MinVersion: tls.VersionTLS10,
		MaxVersion: tls.VersionTLS13,
	}

	//conn, err := tls.Dial("tcp", "<IP_ADDRESS>:443", conf)
	conn, err := tls.Dial("tcp", "localhost:443", conf)
	if err != nil {
		log.Println(err)
		return
	}
	defer conn.Close()

	n, err := conn.Write([]byte("ping\n"))
	if err != nil {
		log.Println(n, err)
		return
	}

	buf := make([]byte, 100)
	n, err = conn.Read(buf)
	if err != nil {
		log.Println(n, err)
		return
	}

	println(string(buf[:n]))
}

If I had to speculate - I think the JDK based system is returning an unrecognizable type of error - it really doesn't support TLS1.3 - as for instance. I think internally Golang attributes this to a more generic type of error and doesn't attempt to fallback and retry with the next protocol down.
Just a hunch.

Starting to play around with NewServeMux and Tls1.2 as only protocol server and the what Postman is configured for I am getting the following:
server.go:3056: http: TLS handshake error from [::1]:61003: EOF
package main

import (
	"crypto/tls"
	"log"
	"net/http"
)

func main() {

	startServer()

}

// using self-signed from here: https://github.com/denji/golang-tls
func startServer() {

	log.SetFlags(log.Lshortfile)

	cer, err := tls.LoadX509KeyPair("server.crt", "server.key")
	if err != nil {
		log.Println(err)
		return
	}

	config := &tls.Config{
		Certificates: []tls.Certificate{cer},
		MinVersion:   tls.VersionTLS12,
		MaxVersion:   tls.VersionTLS12,
	}

	mux := http.NewServeMux()
	mux.HandleFunc("/", func(w http.ResponseWriter, req *http.Request) {
		w.Header().Add("Strict-Transport-Security", "max-age=63072000; includeSubDomains")
		w.Write([]byte("This is an example server.\n"))
	})
	srv := &http.Server{
		Addr:         ":443",
		Handler:      mux,
		TLSConfig:    config,
		TLSNextProto: make(map[string]func(*http.Server, *tls.Conn, http.Handler), 0),
	}
	log.Fatal(srv.ListenAndServeTLS("server.crt", "server.key"))
}

HttpClient w/ Server
Unable to reproduce it either locally, or golang to golang. No errors other than the above EOF ^ in the example above.
I tested with total mismatch (only v1.2 server, and only v1.3 client) and received the correct error I was expecting from the Golang handshake.
Get https://localhost:443/: remote error: tls: protocol version not supported
package main

import (
	"crypto/tls"
	"crypto/x509"
	"fmt"
	"io/ioutil"
	"log"
	"net"
	"net/http"
	"net/url"
	"time"
)

func main() {

	readyToReceive := make(chan struct{}, 1)
	go startServer(readyToReceive)
	<-readyToReceive

	startClient()
}

// using self-signed from here: https://github.com/denji/golang-tls
func startServer(readyToReceive chan struct{}) {

	log.SetFlags(log.Lshortfile)

	cer, err := tls.LoadX509KeyPair("server.crt", "server.key")
	if err != nil {
		log.Println(err)
		return
	}

	config := &tls.Config{
		Certificates: []tls.Certificate{cer},
		MinVersion:   tls.VersionTLS12,
		MaxVersion:   tls.VersionTLS12,
	}

	mux := http.NewServeMux()
	mux.HandleFunc("/", func(w http.ResponseWriter, req *http.Request) {
		w.Write([]byte("This is an example server."))
	})
	srv := &http.Server{
		Addr:         ":443",
		Handler:      mux,
		TLSConfig:    config,
		TLSNextProto: make(map[string]func(*http.Server, *tls.Conn, http.Handler), 0),
	}
	readyToReceive <- struct{}{}
	log.Fatal(srv.ListenAndServeTLS("server.crt", "server.key"))
}

func startClient() {
	client := &http.Client{
		Transport: BuildHTTPTransport(nil),
	}

	req, err := http.NewRequest("GET", "https://localhost:443/", nil)
	if err != nil {
		fmt.Println(err)
		return
	}

	for {
		resp, err := client.Do(req)
		if err != nil {
			fmt.Println(err)
			return
		}
		defer resp.Body.Close()

		if resp.StatusCode == http.StatusOK {
			bodyBytes, err := ioutil.ReadAll(resp.Body)
			if err != nil {
				log.Fatal(err)
			}

			fmt.Printf("Client - Response Body: %s\r\n", string(bodyBytes))
		} else {
			fmt.Printf("Client - Response Status: %d\r\n", resp.StatusCode)
		}

		time.Sleep(1 * time.Second)
	}
}

func BuildHTTPTransport(proxy func(*http.Request) (*url.URL, error)) *http.Transport {

	caCert, err := ioutil.ReadFile("server.crt")
	if err != nil {
		log.Fatal(err)
	}
	caCertPool := x509.NewCertPool()
	caCertPool.AppendCertsFromPEM(caCert)

	transport := &http.Transport{
		Proxy: proxy, // Can Be Nil
		DialContext: (&net.Dialer{
			Timeout:   30 * time.Second,
			KeepAlive: 30 * time.Second,
			DualStack: true,
		}).DialContext,
		MaxIdleConns:          100,
		MaxIdleConnsPerHost:   100, // Default was 2
		IdleConnTimeout:       90 * time.Second,
		TLSHandshakeTimeout:   10 * time.Second,
		ExpectContinueTimeout: time.Second,
	}

	transport.TLSClientConfig = &tls.Config{
		RootCAs:    caCertPool,
		MinVersion: tls.VersionTLS10,
		MaxVersion: tls.VersionTLS13,
	}

	return transport
}

After doing some research, I think Java JDK is a key component in this.
This was found in another thread that was working reverse (Golang Servers with Java Clients). Odds are, our app side maybe out of date.
Related to https://github.com/golang/go/issues/35722
https://hg.openjdk.java.net/jdk/jdk/rev/b9d1ce20dd4b

It does sound like another OpenJDK issue. Can you update the server and check if it goes away?
Otherwise, it would be useful to get PCAPs of the connection.
(A correctly implemented TLS 1.2 server will automatically negotiate down if the client supports at least a shared protocol version.)

@FiloSottile I have started that conversation internally. I would like to ask about the EOF ^ I got above on TLS.

That just means the client closed the connection. Without client side logs or details it's hard to tell, but it might just be that it did not like the certificate. Anyway it's a separate issue so if you think it might be a Go bug, please open a new issue.

Fair point, I am going to close this issue - thanks for reviewing it with me Filo.

Still interested in hearing if this is resolved by an update, if not we might need to work with OpenJDK to report the bug.

I wasn't able to update the client from JDK 11, but I did manage to write a little something with JDK 11 web.api with only TLS1.2 enabled and did confirm the issue matched what happens in production for me.
With the world ending, I have been a little busy, so I apologize for the delay.

Take your time, no need to apologize, and take care.

I don't know if it is related but I am having a similar issue. I am not a Go developer so my apologies in advance. However, I am playing about with a project to try to learn go and the tls negotiation seems to be failing sometimes. However, if I proxy the requests through Burp, it works fine - presumably because burp then handles the tls negotiation with the server?
I captured both TLS "Client Hello" messages with wireshark, without a proxy on the left and with on the right. I noticed that without the proxy, the TLS version is reported as 1.0 and 1.2 in the same packet. Is this expected behaviour?

@Jab2870 That's intended behavior, yeah, the record layer is a legacy field completely stripped of any semantic meaning. We just send the most compatible value.
If you can share a PCAP of a failed handshake, we can look at it and try to understand what's happening.
(Is the issue happening between a Go client and a JDK11 server? If not, please open a separate issue with details about the server.)

@FiloSottile Thanks for your quick response and explanation.

@houseofcat Closing for timeout, but let me know if you get more info.


Dracula theme for OpenSCAD

🌱 New Theme
Dracula theme for OpenSCAD.
Repository: https://github.com/solbero/openscad

Hey, that's very cool! ✨
I just sent you an invitation to join the organization.
I also cloned your repository for Dracula's organization, so you can go ahead and delete or archive yours:

Your repository.
New repository.

Thanks for building this! 🎉


[Question] How to get the implement of PackedFunc of "prefill/ decode/ create_kv_cache" ?

How to get the implement of PackedFunc of "prefill/ decode" ? I cannot get it by grep command in tvm and mlc-llm project.
236   void InitFunctions() {
237     this->prefill_func = mod_get_func("prefill");
238     this->embed_func_ = mod_get_func("embed");
239     this->prefill_with_embed_func_ = mod_get_func("prefill_with_embed");
240     this->decode_func_ = mod_get_func("decode");
241     this->softmax_func_ = mod_get_func("softmax_with_temperature");
242     this->encoding_without_cache_func_ = mod_get_func("encoding_without_cache");
243     this->create_kv_cache_func_ = mod_get_func("create_kv_cache");
Maybe the fuction of "mod_get_func" be valued as below:
167       this->mod_get_func = [this](const std::string& name) -> PackedFunc {
168         PackedFunc func = this->local_vm->GetFunction(name, false);
169         return func;
170       };

The most high-level implementations of prefill and decode are in the model definition (tvm.nn.module) like here:
https://github.com/mlc-ai/mlc-llm/blob/37e1de995ac870dbf8b49dd8cc8089c533f21387/python/mlc_chat/compiler/model/llama/llama_model.py#L271
It would then go through compilation and eventually be packed into model libs that end in .so or .wasm, etc, hence the name mod_get_func.
IIUC create_kv_cache is deprecated now and we use _initialize_effect insetad (old code kept for backward-compatibility for now):
https://github.com/mlc-ai/mlc-llm/blob/37e1de995ac870dbf8b49dd8cc8089c533f21387/cpp/llm_chat.cc#L243-L246

The most high-level implementations of prefill and decode are in the model definition (tvm.nn.module) like here:
https://github.com/mlc-ai/mlc-llm/blob/37e1de995ac870dbf8b49dd8cc8089c533f21387/python/mlc_chat/compiler/model/llama/llama_model.py#L271
It would then go through compilation and eventually be packed into model libs that end in .so or .wasm, etc, hence the name mod_get_func.
IIUC create_kv_cache is deprecated now and we use _initialize_effect insetad (old code kept for backward-compatibility for now):
https://github.com/mlc-ai/mlc-llm/blob/37e1de995ac870dbf8b49dd8cc8089c533f21387/cpp/llm_chat.cc#L243-L246

thanks your reponse!
But I cannot get the prefill by that
nm Llama-2-7b-chat-hf-q4f16_1-vulkan.so | c++filt | grep prefill

This PR may help: https://github.com/mlc-ai/mlc-llm/pull/1499. You can browse the files dumped during the compilation process and search for the function you are interested in

Thanks, I think the submit will resolve my confuse.
And I had traced into relax_vm by GDB.

Closing this issue for now. Feel free to open another if there are other questions!


Ref url fix

Fix reference URLS

cc: @dsifford

@jvoros I'm not seeing your gulpfile changes. Did you remove it after converting the refs?


Please stop changing the public interface

I'm having to rewrite my whole library for the second time this year when upgrading from 0.4.1 to 0.5.1. Come on.

Hi @vangent ! We really appreciate your feedback and patience! We wanted to improve the user experience of the SDK which led to a large refactoring and a refactor this big is unlikely to occur again as we are wrapping things up for GA release soon. Just as a note, there may be minor breaking changes as we clean things up. We look forward to your feedback on how we can improve the experience of the Go SDK and apologies for the inconvenience!

Thank you for the response, and apologies for my frustration.
Minor breaking changes are generally OK with me, they are easy to fix.
I was frustrated by the 2 major refactorings in a short period of time: one major migration from the old libraries (https://github.com/Azure/azure-storage-blob-go) to the new one (https://github.com/Azure/azure-sdk-for-go/tree/main/sdk/storage/azblob), and then another one between 0.4 and 0.5 in the new one. Both included changing many names in the API, changing packages, and other changes that were really not obvious how to port from one version to the other. Both took me many hours to handle (commits below if you're interested). I manage a library, and I can't hide all details of the API, so it's causing churn for my users as well.
Overall, I wish you had held off on recommending the move from the old packages to 0.4 if you were going to refactor everything again; then I would have only had to go through that once.
https://github.com/google/go-cloud/commit/e1a8e6f0c1d3ba55d8839194b16e0674d519f731
https://github.com/google/go-cloud/commit/0c45fa60411312d52335c521a8a8411a15e1ce71

We are planning for a GA of azblob and by then we wish to fix these inconsistencies. Post GA there shall not be any breakages unless absolutely necessary. Thanks for your patience.

Closing this as GA will be done this week.


Add ability to specify a keypath for the enum to ifCaseLet

This extends the _IfCaseLetReducer and the .ifCaseLetFunction on the ReducerProtocol with the option to specify a KeyPath to a property containing the enum to be checked instead of requiring the whole State to be an enum.
Reasoning:
I recently started working with TCA on a new project and I encountered it multiple times that we might want to use a SwitchStore to handle multiple mutually exclusive children, but also might have additional state properties we might want to handle.
struct SomeFeature: ReducerProtocol {
  struct State: Equatable {
    enum SomeEnum: Equatable {
      case someChild(SomeChild.State)
      case someOtherChild(SomeOtherChild.State)
    }

    var someLocalState: String
    var someChildStateEnum: SomeEnum
  }

  enum Action {
    case someChild(SomeChild.Action)
    case someOtherChild(SomeOtherChild.Action)
  }

  var body: some ReducerProtocol<State, Action> {
    ???
  }
}

The way I understand this there are currently two ways to handle this. You could do something like this:
var body: some ReducerProtocol<State, Action> {
    Scope(state: \.someChildStateEnum, action: /.self) {
      EmptyReducer()
        .ifCaseLet(/State.SomeEnum.someChild, action: /Action.someChild) {
          SomeChild()
        }
        .ifCaseLet(/State.SomeEnum.someOtherChild, action: /Action.someOtherChild) {
          SomeOtherChild()
        }
    }
    Reduce({ state, action in
      return .none
    })
}

Having the extra Scope and EmptyReducer here (It would also be possible to nest multiple Scope) does not feel very clean, might be hard to understand and reintroduces the ordering issue that the function is supposed to avoid.
It is also possible to extract the SwitchStore part of the view into an extra Feature with its own reducer and model that reducers state to be an enum. But sometimes that might feel like unnecessary extra work to just work around the ifCaseLet limitation, if the parent now only hold very little state and logic.
With this change it would be possible to simply use the ifCaseLet like in a pure SwitchStore view.
var body: some ReducerProtocol<State, Action> {
  Reduce({ state, action in
    return .none
  })
  .ifCaseLet(\.someChildStateEnum, case: /State.SomeEnum.someChild, action: /Action.someChild) {
    SomeChild()
  }
  .ifCaseLet(\.someChildStateEnum, case: /State.SomeEnum.someOtherChild, action: /Action.someOtherChild) {
    SomeOtherChild()
  }
}

I also saw questions regarding similar examples in the discussions, but those were often related to navigation or mentioned the first solution as a workaround.
I think this change would make using SwitchStore and ifCaseLet more ergonomic and should hopefully have no downsides. The only issue might be that it modifies the theoretically public _IfCaseLetReducer so it is a breaking change. Alternatively it would be possible to introduce something like a _IfCaseLetPullbackReducer to avoid modifying the existing Type, but since they model pretty much functionality I thought it would be better to integrate them.

@dahlborn Thanks for the PR! This may be a lack of documentation, but there is an overload of Scope that takes a case path to enum state that helps you avoid the EmptyReducer:
var body: some ReducerProtocol<State, Action> {
  Scope(state: \.someChildStateEnum, action: /.self) {
    Scope(state: /State.SomeEnum.someChild, action: /Action.someChild) {
      SomeChild()
    }
    Scope(state: /State.SomeEnum.someOtherChild, action: /Action.someOtherChild) {
      SomeOtherChild()
    }
  }
  Reduce { state, action in
    return .none
  }
}

While there are still things that may stand out to you (having to remember to order the child stuff up front, double-nested Scope-ing), it's not so so bad.
I think a lot of the nested property/case ergonomic issues that APIs like this are trying to solve for are showing that Swift could improve a lot if it shipped first-class case paths and case access, and allowed things to compose nicely out-of-the-box. Then you could flatten the nesting with something like:
var body: some ReducerProtocol<State, Action> {
  Reduce { state, action in
    // core logic...
  }
  // speculative case path composition and use syntax via `\._?`:
  .ifCaseLet(state: \.someChildStateEnum.someChild?, action: \.someChild?) {
    SomeChild()
  }
  .ifCaseLet(state: \.someChildStateEnum.someOtherChild?, action: \.someOtherChild?) {
    SomeOtherChild()
  }
}

At the end of the day I think we're in a bind since we can't explode every API with every kind of composition, but maybe this is reason to explore the OptionalPath/WritableOptionalPath wrapper that allows us to compose key paths and case paths directly, which would at least give us the following with the existing APIs:
var body: some ReducerProtocol<State, Action> {
  Reduce { state, action in
    // core logic...
  }
  .ifCaseLet(
    state: (\.someChildStateEnum).appending(path: /State.SomeEnum.someChild),
    action: /Action.someChild
  ) {
    SomeChild()
  }
  .ifCaseLet(
    state: (\.someChildStateEnum).appending(path: /State.SomeEnum.someOtherChild),
    action: /Action.someOtherChild
  ) {
    SomeOtherChild()
  }
}

Any thoughts given the above?

@stephencelis Thanks for your response. Your documentation is good, I was aware of the nested Scope variant. But I was looking at the .ifCaseLet alternative for the reasons you mentioned.
I completely agree that having language support for case paths would be the optimal solution, but I think till then having a more ergonomic solution would be nice, since it seems to be a question that comes up pretty often. (Even though it often comes up regarding navigation, which you are already solving)
I like the OptionalPath wrapper you mentioned. I guess the question would be whether adding this complexity would be justified for the things it solves. Was there a reason you decided to have it as a helper in the isowords project instead of adding it to tca or case-paths?

I like the OptionalPath wrapper you mentioned. I guess the question would be whether adding this complexity would be justified for the things it solves. Was there a reason you decided to have it as a helper in the isowords project instead of adding it to tca or case-paths?

We think it works really well, but in general the topic is advanced enough that we didn't want it to be required learning for folks, so we decided that using existing tools that take key paths and case paths strikes a better balance for beginners for now. We also think there are ergonomic refinements to explore if we do ship optional paths in library form (more seamless integration with key paths, supporting a type-erased hierarchy similar to key paths, etc.), but we haven't had time to explore these ideas in full.
If the OptionalPath helpers we ship in isowords is useful to you, we definitely recommend bringing them into your project, though!

@dahlborn OK to close this out since we can't possible add overloads for every nesting of key path and case path? In the meantime, folks with more advanced compositional needs can use the existing APIs in a nested fashion, or introduce optional paths to their code base. For reference:
https://github.com/pointfreeco/isowords/blob/main/Sources/TcaHelpers/OptionalPaths.swift


Empty hasMany and hasManyBy relations should return an empty array instead of null

Example:
There are two models: Model1 and Model2.
Model1 has an attribute with a hasMany or hasManyBy relation to Model2.
When querying a Model1 with no related Model2s, the attribute is null.
I think it should be an empty array instead to match the find() behavior, which returns an empty array when there are no results.

Yes it should! It seems like there's a missing test 👿  Needs to fix this.

I'll make a PR for that if you haven't already started :wink:

Wow that would be amazing! I haven't worked yet! 🚀

By the way, I think this is happening somewhere in the constructor at the Model class. When "many" type relation is fetched from the store by Repo class, it should been returning empty array.
Model will set null to its relationship if it's not queried (at least that was my plan :/ ). But should keep them as empty array if user did query.
So my plan was;
const user = store.getters['entities/users/find](1)

user.posts // <- Should be null

const user = store.getters['entities/users].with('posts').find(1)

user.posts // <- Should be empty array

P.S.
I haven't look into it so I might mistaking.

I use
getters['entities/forms']().with('author').with('steps').with('target_users').with('target_groups').get()

and steps, target_users and target_groups are always null.

Yea, it must be a bug 🙅♂

PR: #68

Hooray! Now this is possible by Vuex ORM 0.17.0! Thanks you for the amazing PR 🎉


Last version of js-beautify breaks vue-cli installation

Steps to reproduce:
Run npm i -g vue-cli in terminal
Expected behavior:
vue-cli should install
Actual behavior:
The installation fails and this error is logged:
error path C:\Users\<my-user-folder>\AppData\Roaming\npm\node_modules\vue-cli\node_modules\js-beautify\js\bin\css-beautify.js
error code ENOENT
error errno -4058
error syscall chmod
error enoent ENOENT: no such file or directory, chmod 'C:\Users\<my-user-folder>\AppData\Roaming\npm\node_modules\vue-cli\node_modules\js-beautify\js\bin\css-beautify.js'
error enoent This is most likely not a problem with npm itself
error enoent and is related to npm not being able to find a file.

Notes:
An issue has already been opened in js-beautify repo:
https://github.com/beautify-web/js-beautify/issues/1247

I'm having this problem too.

For a quick fix, you can install yarn and run yarn global add vue-cli.

Seems this has to be solved in js-beautify. Good to  know that yarn seems to work, though I wonder why.

@LinusBorg https://github.com/vuejs/vue-cli/blob/master/yarn.lock#L3192.
If we have a package-lock.json in this repo, npm would also work.

@jddxf thanks, yarn works.

@jddxf I think an npm-shrinkwrap.json would be even better in this case: command line tools (such as vue-cli) are among the recommended use-cases mentioned in npm official documentation:

The recommended use-case for npm-shrinkwrap.json is applications deployed through the publishing process on the registry: for example, daemons and command-line tools intended as global installs or devDependencies.

@LucaBlackDragon You're right. I didn't realize the difference between package-lock.json and npm-shrinkwrap.json.

One key detail about package-lock.json is that it cannot be published, and it will be ignored if found in any place other than the toplevel package.

So having a package-lock.json would not make npm work here.

@LucaBlackDragon That's a good point, we should think about using that.
/cc @vuejs/collaborators do you have any thoughts on this one?

yarn not install with npm but with the msi in win10 can install the cli successfully

Vue-cli doesn't depend on js-beautify directly. But some dependency bumped its dependency on js-beautify and that breaks us.
I would give a thumb up for package-lock.json, which is designed for avoiding such scenario.

@HerringtonDarkholme hmm lockfile actually wouldn't work for end users, I think you mean npm-shrinkwrap.json

@egoist  Sure. Thanks for correction.

Pull request is up, just needs permission to merge: https://github.com/beautify-web/js-beautify/pull/1251

dup of #591


Pull to Refresh Station

https://imgur.com/gallery/CStFy
like in the photo, when you pull the list of upcoming trips a loading icon should come up and new trips should appear like in "Auckland transit"

It's all realtime and fancy now, polling every 10s, so no need.

I can't believe Benny is still giving us $5/mo.

Aw benny, does he use it still
On Tue, 29 Aug 2017 at 13:02, Jono Cooper<EMAIL_ADDRESS>wrote:

I can't believe Benny is still giving us $5/mo.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/consindo/dymajo-transit/issues/43#issuecomment-325524310,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AL6OzOP6e26s6n8BCwKBsgj6W0faGnDTks5sc2NBgaJpZM4KWo_1
.


Settle on a format.

I guess we all have different ideas about source code formatting (I'm team tab btw), but I have no ambition to discuss this.
Can we pick one:

Spotless with Google
Spotless with Palantir Google fork (nicer for Lambda, Neo4j core does this too)
Spring format

I'm happy to set any of those up.

I don't have an opinion, just used IntelliJ's defaults (and I don't use IntelliJ often).
So please, set up any automation of your preference, probably ideally the same one as the one from cypher-dsl? Once I see more of your code, I'll also try to adapt to other coding styles that you prefer.

I don't have an opinion either, (except for not using the curly brace on new line format :)
Given my ADHD I also usually forget to/don't pay attention to things like formatting, so please bear with me. But happy to have a pre-commit hook for formatting.
So pick whichever you like @michael-simons and set it up and we'll follow it.
I wouldn't want to use something from Palantir though.

Done. See reasoning in the commit message.


Separated parser helper fails to propagate error when single child fails

even though a NamedArgument is required inside {}, it is matched successfully as a post-fix expression, and thus, failing for expecting the try body afterwards.

Originally posted by @OmarTawfik in https://github.com/NomicFoundation/slang/pull/853#discussion_r1501403364

@OmarTawfik this refers to the Separated parser of NamedArguments at (latest) https://github.com/NomicFoundation/slang/pull/853/files#diff-af454bb70b3f914baf6e383790278f8efd4f555a445ec8b915164e93d73cc1d1R3354, right?

Here's more context about the underlying issue:
It includes a delimited parser ({ NamedArguments }) that recovers on the empty content at the nearest delimiter matching the current tree, so the parse returns "Match, but recovered" (includes SKIPPED nodes).
Now, since the expression parser will happily tack that recovered group onto the current accumulator, we end up with a.b() ++ {} (recovered).
Because this syntax is generally ambiguous and is explicitly disambiguated by solc with a token lookahead to check for at least a single item (Identifier followed by a colon), we can't really attempt recovering here from an empty match as this leads to the issue where we can recover past the point where another parser (Block here) should pick up, leading to a misparse.
We already have a notion of RecoverFromNoMatch for recovery that's currently always emitted for terminators; we should surface this to a DSL and allow the users to disable error recovery in the face of ambiguous syntax such as this.

@Xanewok fixed the title. Thanks!

Changed the title to better reflect the underlying issue and what we're trying to fix in the short/mid term here.


AngioTK Documentation

Documentation for AngioTK:

[x] Build instructions
[x] General description of AngioTK
[x] Description of the different modules

[x] Input and output of the modules
[x] Document the different options available

[x] Document the graphical tool for editing centerlines
[x] Document how output files are stored for the Pipeline and how files are stored for the result matrix
[ ] Creation of Angiotk Book

Since the AngioTK Book system was abandoned and we moved to Antora, we can close this issue.


Implement locksmith for CoreOs upgrades (fixes #812).

@samba, @notjames: ^^ It would be nice if the default CoreOS upgrade strategy used by kraken were the same as that which is recommended and used by the Cluster Ops team. This PR will make etcd-lock the default for all nodePools. This can be changed on a per nodePool basis.

I have changed the default behavior to off instead of etcd-lock. This is necessary for reliable CI. Cluster Ops and Customer teams will need to adjust it accordingly.

k2/815 fixes kraken so that it respects the rebootStrategy option in the config. The config specified off, meaning no automatic reboot would occur if an CoreOS update was staged. Prior to this fix, best-effort, which is the CoreOS default, was aways used instead. Note that best-effort is being depreciated on Sept 14. See https://coreos.com/blog/locksmith-update-strategy-revision for more information.


Auth not being able to sign in

Please describe which feature you have a question about?
Amplify Auth.
Provide additional details
When my branch auto deploys to dev, the login and sign up links do not work. These work locally pointing to the same Cognito, but then fail in dev with the error message of
 Error: Amplify has not been configured correctly.
            The configuration object is missing required auth properties.
            This error is typically caused by one of the following scenarios:

            1. Did you run `amplify push` after adding auth via `amplify add auth`?
                See https://aws-amplify.github.io/docs/js/authentication#amplify-project-setup for more information

            2. This could also be caused by multiple conflicting versions of amplify packages, see (https://docs.amplify.aws/lib/troubleshooting/upgrading/q/platform/js) for help upgrading Amplify packages.

I have tried running the command yarn list --pattern amplify | \   grep -o -e '@\?aws-amplify[^ ]*' | \   sort | uniq | \   sed -E 's/^(@?[^@]+).*$/\1/g' | \   uniq -d | sort to check for duplicate packages, and nothing came up. I also amplify pushed again even after upgrading to the latest amplify version and it did not work.
What AWS Services are you utilizing?
Provide additional details e.g. code snippets
Here is the package.json I have for the project
{
  "name": "***",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "android": "react-native run-android",
    "ios": "react-native run-ios",
    "web": "react-app-rewired start",
    "test": "jest",
    "lint": "eslint .",
    "dev": "next dev",
    "build": "next build",
    "start": "next start"
  },
  "dependencies": {
    "@ant-design/icons": "^4.7.0",
    "@babel/preset-react": "^7.14.5",
    "@fortawesome/fontawesome-svg-core": "^1.2.36",
    "@fortawesome/free-brands-svg-icons": "^5.15.4",
    "@fortawesome/free-solid-svg-icons": "^5.15.4",
    "@fortawesome/react-fontawesome": "^0.1.16",
    "@react-native-clipboard/clipboard": "^1.8.4",
    "@react-navigation/native": "^5.9.4",
    "@react-web/activity-indicator": "^0.2.6",
    "@types/crypto-js": "^4.0.2",
    "@types/react": "^17.0.37",
    "@types/react-native": "^0.64.12",
    "@typescript-eslint/eslint-plugin": "^5.6.0",
    "@typescript-eslint/parser": "^5.4.0",
    "@unimodules/core": "^7.1.1",
    "aws-amplify": "^4.3.14",
    "axios": "^0.21.4",
    "babel-plugin-react-native-web": "^0.17.5",
    "babel-plugin-transform-flow-strip-types": "^6.22.0",
    "bootstrap": "^5.0.2",
    "crypto-js": "^4.0.0",
    "customize-cra": "^1.0.0",
    "eslint-plugin-react": "^7.27.1",
    "expo-web-browser": "^9.2.0",
    "html-react-parser": "^1.3.0",
    "lodash.clonedeep": "^4.5.0",
    "lottie-react-native": "^4.0.3",
    "next": "^12.0.4",
    "next-plugin-preact": "^3.0.6",
    "next-transpile-modules": "^9.0.0",
    "path": "^0.12.7",
    "polished": "^4.1.3",
    "preact": "^10.6.2",
    "preact-render-to-string": "^5.1.19",
    "react": "^17.0.2",
    "react-animated-heart": "^0.0.7-alpha.1",
    "react-app-rewired": "^2.1.8",
    "react-banner": "^1.0.3",
    "react-bootstrap": "^1.6.1",
    "react-datepicker": "^4.6.0",
    "react-device-detect": "^1.17.0",
    "react-dom": "^17.0.2",
    "react-entypo-icons": "^1.4.1",
    "react-helmet": "^6.1.0",
    "react-horizontal-scrolling-menu": "^2.0.9",
    "react-keyframes": "^0.2.3",
    "react-linear-gradient-button": "^1.1.1",
    "react-link-preview": "^0.1.3",
    "react-lottie": "^1.2.3",
    "react-native": "0.64.2",
    "react-native-indicators": "^0.17.0",
    "react-native-web": "^0.17.1",
    "react-native-web-linear-gradient": "^1.1.2",
    "react-native-web-webview": "^1.0.2",
    "react-native-youtube-iframe": "^2.1.0",
    "react-player": "^2.9.0",
    "react-quill": "^1.3.5",
    "react-sage": "^0.3.16",
    "react-select": "^4.3.1",
    "react-show-more-text": "^1.4.6",
    "react-stripe-checkout": "^2.6.3",
    "react-top-loading-bar": "^2.0.1",
    "react-web-vector-icons": "^1.0.2",
    "styled-components": "^5.3.0",
    "typescript": "^4.5.2",
    "uuid": "^8.3.2"
  },
  "devDependencies": {
    "@babel/core": "^7.12.9",
    "@babel/plugin-proposal-class-properties": "^7.14.5",
    "@babel/plugin-proposal-object-rest-spread": "^7.14.7",
    "@babel/preset-env": "^7.14.8",
    "@babel/preset-flow": "^7.16.0",
    "@babel/preset-typescript": "^7.14.5",
    "@babel/runtime": "^7.12.5",
    "@react-native-community/eslint-config": "^2.0.0",
    "@types/node": "^16.11.11",
    "@types/uuid": "^8.3.1",
    "babel-jest": "^26.6.3",
    "babel-loader": "8.1.0",
    "eslint": "7.14.0",
    "metro-react-native-babel-preset": "^0.64.0",
    "react-test-renderer": "17.0.1"
  },
  "jest": {
    "preset": "react-native"
  },
  "browserslist": {
    "production": [
      ">0.2%",
      "not dead",
      "not op_mini all"
    ],
    "development": [
      "last 1 chrome version",
      "last 1 firefox version",
      "last 1 safari version"
    ]
  }
}

Hi @mdh3hc can you provide the App ID and Region?

App ID: dyluw0e49nx5t
Region: us-east-1

@mdh3hc can you share a screenshot of your configuration?
1/ Go to App settings > General and share your app settings
2. Share the 'Hosting environments' tab with the pipeline view.

Any update on this? We are still not able to use our dev server because of this issue.

@swaminator Hey following up again here. Not being able to use our dev environment at all has really impacted our workflows so any help on this would be greatly appreciated.

@hloriana @swaminator Any update on this?

Hi @mdh3hc apologies for the delay in communication. If you're still running into this issue I'm happy to hop on a call with you to troubleshoot and expedite this process. Please let us know if you are still blocked with this

Closing due to no response. Please open a new issue if you are still experiencing this behavior.


Worker stripped down to work with Laravel 5.4 and be less brittle.

Worker stripped down to work with Laravel 5.4 and be less brittle.
Tests not working however as we now can't break from the while loop.

Coverage decreased (-68.1%) to 20.588% when pulling 5904d7e5f34d7e1e667d436cf0b201d2ed405444 on leeovery:laravel_54_update into ed2cbf947961a3c6bb9b474865d12b9de8fe2141 on maxbrokman:0.2.

Coverage decreased (-66.9%) to 21.875% when pulling d1aee7db10b08b22abd8c57baa6b0532079fd90f on leeovery:laravel_54_update into ed2cbf947961a3c6bb9b474865d12b9de8fe2141 on maxbrokman:0.2.

Coverage decreased (-66.9%) to 21.875% when pulling d1aee7db10b08b22abd8c57baa6b0532079fd90f on leeovery:laravel_54_update into ed2cbf947961a3c6bb9b474865d12b9de8fe2141 on maxbrokman:0.2.


Update issue and pull request templates

Proposed changes

Update issue and pull request templates

/assign @ImpSy @jacobsalway

Put these in a test repo https://github.com/jacobsalway/test/issues/new/choose

Not a blocker for approval but some small nitpicks:

Referring to the operator as "the Spark operator"
We could add links to the Slack as well

Done.

/approve


Improve C++ Implementation

Is there a reason you're avoiding adding -O2 or -O3 compiler optimizations?  They're pretty standard, and on my machine the benchmark goes from 136ms to 16ms with O2 and 15ms with O3.

Those should be fine.


Entity generation won't conform

Hi,
If you look at the highlight domain generated from the test-build.xml, in the " ELEMENT EXTENSION ENTITY DECLARATIONS", the entity generated is :
<!ENTITY % hi-d-ph
  "b
   i
   line-through
   overline
   sup
   sub
   tt
   u"
>

Seems that "|" (or connectors) are missing.
Should be :
<!ENTITY % hi-d-ph
  "b |
   i |
   line-through |
   overline |
   sup |
   sub |
   tt |
   u"
>

The same happends in constraint modules.

Cancelled, this works on the clonned branch I just download.


Improve the database manager

I created this PR because the last one got messed up...
Still a work in progress..

Any ETA for the finishing of this?
Cause I am considering to pull of the release of v0.11 a few days if that could mean that this pull request could be merged into that first.

@marktopper the main features are ready. I just need to add handling for some edge cases, and some improvements. Also, currently only Mysql types are supported. I need to add types for other database platforms.
If this PR isn't ready for v0.11, we can merge it for v0.11.1 or something.

My only concern is if this have breaking changes, then it would be nice to have them in before the actual release of v0.11.
However this can be merged into it without having all the special cases in it, that might come later as non-breaking changes?
Thoughts?

@marktopper currently the breaking changes I can think of:

the use Vue 2 instead of Vue 1. Currently Vue 1 is used in the Media manager. We need to update it cause it's broken with Vue 2.
Remove  DatabaseUpdate and DatabaseQueryBuilder traits: breaking change for people who are using them (which I don't think anyone is using them).
dropping support for ENUM

That's what I can think of right now. I will look for other potential breaking changes later.
I will do my best to make this PR ready before v0.11. However, if that's not possible then maybe we'll delay it for v0.11.1 or something...

v0.11 will already be delayed by up to a week. So there is still time to squeeze in some breaking changes :)

Let me know if you need help fixing the conflicts 👍


Minimally cope with there not being a current match

Ideally we would probably display something here, however it's not clear what that should be. Instead just log a message and remove the previous (likely incorrect) header value.

There is a hide function for the match counter at the top, it might make mores sent to do that. I belive that will trigger a gracefull slide out rather than just disapearing as well.

There is a hide function for the match counter at the top, it might make mores sent to do that. I belive that will trigger a gracefull slide out rather than just disapearing as well.

From what I recall I think this only actually happens when the display isn't actually visible anyway. Agree hiding it nicely would be a preferable if it were visible though.

From what I recall I think this only actually happens when the display isn't actually visible anyway. Agree hiding it nicely would be a preferable if it were visible though.


Add dev-tools peer groups to rfcbot

internals.rust-lang.org announcement post (alongside the infra and cargo teams)
It looks like the core dev-tools team has been added, but for RFCs that primarily concern a specific tool, like RFC 1946 for Rustdoc, it may be necessary to add the peers for that tool to the FCP checklist. The individual peer groups are listed in the announcement post linked above. According to @aturon and @nrc, the plan is to have separate tags for each tool, like T-dev-tools-rustdoc on the aforementioned RFC, and to tag both T-dev-tools and T-dev-tools-foo (for some tool "foo") to pull in the core dev-tools team and the peers for that specific tool.

We wanted to use this for https://github.com/rust-lang/rust/pull/43949, but can't yet.

@steveklabnik you can add the team (T-dev-tools-docs) to the Rust repo and it should Just Work (I've been waiting to add teams as they are needed - I add dev-tools-docs to the RFCs repo already but not Rust).

@nrc there needs to be a database entry for rfcbot to associate team members to a particular label. I can walk someone through the process of doing the database migration, and I'm also wanting to move the configuration for teams to a static file deployed with the bot. The latter might take a bit though.

My memory here is that the requisite labels needed to be created on all of the various repositories before I went through and created the configuration. Has that been done?

https://github.com/orgs/rust-lang/teams/t-dev-tools-docs <- I made this team a "child team" of dev-tools; dunno if that's the right thing or not.

@dikaiosune we don't have a specific docs peers label; we use T-dev-tools in combination with T-docs.

@steveklabnik That was the request; if we want to signal the rustdoc peers specifically, we would add a new label for it - using T-doc is too broad, since frewsxcv isn't on the dev-tools peers.

Going to try to do more work on rfcbot soon, but it'll be a kinda weird refactor to change the assumption "1 team/subteam of humans" <-> "1 github label." I'll think about how to do this well, but I think some of the other debt payoff may end up taking priority.

I just deployed the new-ish rfcbot code.  The team configuration is no longer pulled from the database, and is instead pulled from teams.toml. If you want to add a new "team" like the peers, PRs are very welcome!

Looks like we added the rustdoc devtools peers at some point so I think this is resolved.


Permission denied.

Issue description
Can't complite package.
[100] root@nixos_laptop> nix-build my_crystal.nix
these derivations will be built:
  /nix/store/p79m165sjwkhn8qaq21sg91bhnabwbz1-crystal.drv
building path(s) ‘/nix/store/jhxi5g9qgxdsp7xm6b9m80cakmzg0mhq-crystal’
unpacking sources
unpacking source archive /nix/store/0ks0jiih2ximvpp7phn3vlsw39bjj8py-source
source root is source
patching sources
configuring
no configure script, doing nothing
building
build flags: SHELL=/nix/store/4ada72n7785wwazv42fhsnxjvilaa3aj-bash-4.4-p12/bin/bash
/nix/store/4ada72n7785wwazv42fhsnxjvilaa3aj-bash-4.4-p12/bin/bash: /dev/stderr: Permission denied
g++ -c  -o src/llvm/ext/llvm_ext.o src/llvm/ext/llvm_ext.cc `/nix/store/xzw6whzxd1y23y9yl4p465ii2sd7m7xv-llvm-4.0.1/bin/llvm-config --cxxflags`
gcc -fPIC    -c -o src/ext/sigfault.o src/ext/sigfault.c
ar -rcs src/ext/libcrystal.a src/ext/sigfault.o
CRYSTAL_CONFIG_PATH=`pwd`/src ./bin/crystal build  -o .build/crystal src/compiler/crystal.cr -D without_openssl -D without_zlib
/nix/store/4ada72n7785wwazv42fhsnxjvilaa3aj-bash-4.4-p12/bin/bash: ./bin/crystal: Permission denied
make: *** [Makefile:118: .build/crystal] Error 126
builder for ‘/nix/store/p79m165sjwkhn8qaq21sg91bhnabwbz1-crystal.drv’ failed with exit code 2
error: build of ‘/nix/store/p79m165sjwkhn8qaq21sg91bhnabwbz1-crystal.drv’ failed

Steps to reproduce
with import <nixpkgs> {};

stdenv.mkDerivation {
	name = "crystal";

	src = fetchFromGitHub {
		owner		= "crystal-lang";
		repo		= "crystal";
		rev		= "c9fac5645af477f1be5aedf885e3cd8202cb4803";
		sha256		= "0syb63m8jk32493whv2d712dl7j5mhxmd86ga0z5d6pk5zmdxdpc";
	};

	buildInputs = [
		llvm
	];

	meta = with stdenv.lib; {
		description = "The Crystal Programming Language";
		platforms = platforms.linux;
	};
}

Technical details

System: (NixOS: nixos-version, Ubuntu/Fedora: lsb_release -a, ...)
18.03pre120031.7ebacd1a43 (Impala)
Nix version: (run nix-env --version)
nix-env (Nix) 1.11.15
Nixpkgs version: (run nix-instantiate --eval '<nixpkgs>' -A lib.nixpkgsVersion)
"18.03pre120031.7ebacd1a43"
Sandboxing enabled: (run grep build-use-sandbox /etc/nix/nix.conf)
build-use-sandbox = false

Can you elaborate on what you think the bug is here? It is not uncommon to have to tweak the build system.

bin/bash: ./bin/crystal: Permission denied sounds like you have to chmod +x that file.

But with nix-shell my_crystal.nix package is compiled...
https://gist.github.com/MrSorcus/776d8c66397463aa7888b1a0fa6748ca
And i don't understand why...

We now have several versions of crystal in nixpkgs - you should be able to use one of those or alternatively override one of them in case you need a specific commit.


Fix failing doc build on Circle CI

In local circleci command was able to get past the current job failure. Waiting for circle build to see if that's all we need.

Oops need to push to s22s fork to trigger CI build.
It's been a minute ....


Fix strategie db increment when primary key is uuid.

Problem
Error on strategie dbIncrement when primary key is uuid.
Solution
Change order by to filed value for best result. Now works independently of the primary key

Pull Request Test Coverage Report for Build 42

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.1%) to 92.0%

Totals

Change from base Build 38:
-0.1%

Covered Lines:
44

Relevant Lines:
47

💛  - Coveralls

Thanks @chiaretto
This fix for the dbIncrement strategy fixed the error 'duplicate entry' when the model has uuid primary and trying to update with one slug that already exists...

The next rewrite for v5 takes inspiration for this PR handle this use case. Since, I have rewritten the entire package, it is impossible to merge this PR. :)


Adding translation instructions for Finnish language as new

Adding instruction for translating Zulip into Finnish language. This instruction page did not exist, but was created as new.
Testing plan:

Manually tested in local environment with the help of ./tools/build-docs

able to navigate to page from translation main page: http://localhost:9991/docs/translating/index.html

able to navigate to page form translation guidelines: http://localhost:9991/docs/translating/translating.html

page visible and fine looking and format of texts is correct when used format

Run ./tools/test-documentation --skip-external-links
-- passed!

@aalperi just to check, is this PR intentionally closed? Thanks!

@alya thanks for asking. This seems to be replaced with #21650 which is already merged.

Great, thanks!


table view layout height

hye,
i use dialog alert theme with table view. is there a way to dynamically expand the table view height based on data stored?

@ISchwarz23 Can you please share the code snippet for reference?


What actually the BatchCollator does ?

❓ Questions and Help
Hello fmassa.
Thank you for the awesome code.
I have a question about the dataloader when training with multi gpu.
Usually images have differenct number of groudtruth box, however in a minibatch the shape of each sample should be the same.
How does the code deal with this situation ?
If I have two images with 2 and 3 groundtruth boxes respectively, does it align with the sample with minimum number of boxes so that each sample has same shape ?
Thanks !

If it actually does as I conjecture, whether it has negative influence on the performance ?

No, it return the boxes as a list of tensors. And it pads the images with zeros so that they have the same shape.

No, it return the boxes as a list of tensors. And it pads the images with zeros so that they have the same shape.

@fmassa Thanks for your reply. Could you please give me some hint on where this manipulation happen ?  I search for quiet a lot and still cannot figure out that... From the BatchCollator, I found:
def __call__(self, batch):
        transposed_batch = list(zip(*batch))
        images = to_image_list(transposed_batch[0], self.size_divisible)
        targets = transposed_batch[1]
        img_ids = transposed_batch[2]
        return images, targets, img_ids

But I stll cannot found how the padding is accomplished.
Thanks.

Maybe I didnot convey clearly. I said the sample with same shape, the same shape is that every sample has same number of boxes, but not for the shape of image.

The padding of the images is done in to_image_list.
The boxes do not need to be padded, because we only pad on the bottom right corner

Thanks you.

No, it return the boxes as a list of tensors. And it pads the images with zeros so that they have the same shape.
@fmassa Hi. As you said it return the boxes as a list of tensors, does it means that the length of boxlist, i.e., the number of boxes per image, is not necessary to be the same ?
Thanks.

I realize what mistake I've made...
This repo use distributed data parallel for multi-gpu training, while I used to train with multi gpus on single machine with data parallel.
Besides the benefits from distributed data parallel compared with data parallel, when one force num of gpu per node to be 1, it can do more magic.
As I said, many other repo dealing with different box num by padding and indexing, which is contrainted by using data parallel as it invokes scatter to distribute the inputs to each gpu, and the implementation of  scatter  is friendly for well shaped tensor.
By using distributed data parallel, and force gpu per node to be 1, one can avoid the scatter and it thus support variable box num.

Exactly, using Distributed Data Parallel makes things faster and easier to implement

@fmassa
Hi. Sorry for disturbing you again. I have another question about the optimizer.
After reading the official tutorial about distributed training, I found it goes with a procedure to average the graidient from all the nodes.
for epoch in range(10):
        epoch_loss = 0.0
        for data, target in train_set:
            optimizer.zero_grad()
            output = model(data)
            loss = F.nll_loss(output, target)
            epoch_loss += loss.item()
            loss.backward()
            average_gradients(model)
            optimizer.step()

The line average_gradients(model)  average_gradients(model)``` all_reduce the gradient and then step forward.
However, from the code of maskrcnn_benchmark, I can just found the code below:

        images = images.to(device)
        targets = [target.to(device) for target in targets]

        loss_dict = model(images, targets)

        losses = sum(loss for loss in loss_dict.values())

        # reduce losses over all GPUs for logging purposes
        loss_dict_reduced = reduce_loss_dict(loss_dict)
        losses_reduced = sum(loss for loss in loss_dict_reduced.values())
        meters.update(loss=losses_reduced, **loss_dict_reduced)

        optimizer.zero_grad()
        # Note: If mixed precision is not used, this ends up doing nothing
        # Otherwise apply loss scaling for mixed-precision recipe
        with amp.scale_loss(losses, optimizer) as scaled_losses:
            scaled_losses.backward()
        optimizer.step()

It seems that the gradient average operation is missed...
Or is it implemented somewhere ?
Thanks.

This is implemented inside DistributedDataParallel, after the backward, and is done automatically

This is implemented inside DistributedDataParallel, after the backward, and is done automatically

@fmassa  Thank you.
Now I can found the related code in DistributedDataParallel. I see that is set the flag require_backward_grad_sync .
However, as it is a nn.Module, how can it determine when the backward is done and where is the code for the virtual work of gradient average ? Or this procedure is implemented in C++ backend ?
Thanks.

OK, it seem the operation is done by a hook in the c10 backend.


Referenced repository no longer available - Change path of .packages file? (Dual Development Win macOS)

I'm developing my flutter app primarily on windows. I run my code in a VM in which macOS High Sierra 10.13.6 from Techsviewer is installed, to compile it for iOS devices. Flutter generates a .packages file in the root of my project, every I run it.
I'm using Visual Studio Code 1.26.1 on Windows and macOS. If I close it on Windows, open the exact same directory under VS on macOS (shared through network drive or VM shared folder) and launch my app, it throws the following error:

Warning! This package referenced a Flutter repository via the .packages file that is
no longer available. The repository from which the 'flutter' tool is currently
executing will be used instead.
  running Flutter tool: /Users/nikulskik/dev/flutter
  previous reference  : /C:/dev/flutter
This can happen if you deleted or moved your copy of the Flutter repository, or
if it was on a volume that is no longer mounted or has been mounted at a
different location. Please check your system path to verify that you are running
the expected version (run 'flutter --version' to see which flutter is on your path).
Your application could not be compiled, because its dependencies could not be established.
The following Dart file:
  /Volumes/home$/felix-platter-app/lib/main.dart
...refers, in an import, to the following library:
  /C:/dev/flutter/packages/flutter/lib/material.dart
Unfortunately, that library does not appear to exist on your file system.
Exited (sigterm)

A solution is to delete the .packages file before every OS switch. That's nasty and I was wondering if it's possible to set a custom .packages path for each OS or Visual Studio?
I want to avoid commiting to my git repo before every OS switch and work simultaneously on both OSs.

That shouldn't be a problem. The .packages file is only valid on the machine+user where it was created. You shouldn't commit it. It's in .gitignore by default.

Took me time to figure out. LOL

Just remove .packages file .It works for me .

Wow, amazing. Thanks for this.

Just remove .packages file .It works for me .

Many Thanks

Just remove .packages file .It works for me .

Where is it ?

works for me take some of my time lol

where this file .packages is located?

where this file .packages is located?

In your project's root directory.

Here is complete solution.

Delete .packages file and
Run following command  flutter pub get

It solved issue for me.

Just remove .packages file .It works for me .
Many thanks, you save my life, 👏👏👏👏👏👏👏👏👏👏👏👏👏👏👏👏👏👏

Where is the .packages file located in the source folder.  I can't find it

Where is the .packages file located in the source folder. I can't find it

Show hidden files in your project's root folder.

Update the new path in env variable if needed and delete old
Delete .packages file from code repository in local and
Run following command flutter pub get

if you are windows machine user please check
Hidden Item always shows then go to your project folder root directory and then Run command flutter pub get


BUG:The "Send Now" button in the contact page is not in the centre.

Is there an existing issue for this?

[X] I have searched the existing issues

What happened?
Before:

After:

Record

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

Is there an existing issue for this?

[x]  I have searched the existing issues

What happened?
Before:  After:
Record

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

Assigned!
Make sure to attach before & after screenshots in your PR and include the issue number.
Also, please star the repo before working on it. Happy open-source contributing!


[OAP-MLLIB] Fix the  NoSuchElementException in data conversion stage

What changes were proposed in this pull request?
Fix the NoSuchElementException described in issue-1658
How was this patch tested?
Manual test

@xwu99


Wildcard globs not working properly in gulp

This is with:
Gulp 3.9.1
Node 4.7.3
Gulp-install 0.6.0
Windows 10
We have a directory structure like this:
+ui
    +src
        +elements
            +bower_components
            +ai-common-elements
                +ai-auth
                +ai-menu
                .bowerrc
                bower.json
            +ai-shell
                .bowerrc
                bower.json

Where each entry prefixed with + is a folder.  Every .bowerrc file specifies the install directory for bower to be the ui/src/elements/bower_components folder, so we can maintain consistent relative paths between all folders.
The problem is that using the ** wildcard in src globs doesn't work:
// immediately finishes, does nothing
return gulp.src('./ui/src/elements/**')
    .pipe(install());

// also immediately finishes, doing nothing
return gulp.src('./ui/src/elements/**/bower.json')
    .pipe(install());

// this works, but I'd rather not have to continually update this glob array every time we create
// a new element
return gulp.src([
        './ui/src/elements/ai-common-elements/bower.json',
        './ui/src/elements/ai-shell/bower.json'
    ])
    .pipe(install());

I'm not sure why this helped, but I found that this glob array (mostly) works:
var workingBowerGlobs = [
    'ui/src/elements/**/bower.json',
    '!ui/src/elements/bower_components/**/bower.json'
];

Unfortunately, I'm still getting a bunch of EPERM errors thrown by bower that don't happen if I just run bower install normally from a terminal.  This may not be your issue, but it's weird that they only happen when running bower install through this plugin.
Sample of the errors (apologies for the horrible formatting, but that's how it looks in the terminal, too).
Error: EPERM: operation not permitted, rename 'C:\Users\SomeUser\.config\configstore\bower-github.json.604294665' -> 'C:\Users\SomeUser\.config\configstore\bower-github.js
                        ^

Error: EPERM: operation not permitted, rename 'C:\Users\SomeUser\.config\configstore\bower-github.json.2655415739' -> 'C:\Users\SomeUser\.config\configstore\bower-github.jon'
Eson'
    at Error (native)
EPERM    at Error (native)
    at Object.fs.renameSync (fs.js:681:18)
PERM    at Object.fs.renameSync (fs.js:681:18)
    at Function.writeFileSync [as sync] (C:\Program Files (x86)\Nodist\bin\node_modules\bower\lib\node_modules\write-file-atomic\index.js:81:8)
 EPERM: operation not permitted, rename 'C:\Users\SomeUser\.config\configstore\bower-github.json.4222190069' -> 'C:\Users\SomeUser\.config\configstore\bower-github.jso
at Function.writeFileSync [as sync] (C:\Program Files (x86)\Nodist\bin\node_modules\bower\lib\node_modules\write-file-atomic\index.js:81:8)
    at Object.create.all.set (C:\Program Files (x86)\Nodist\bin\node_modules\bower\lib\node_modules\configstore\index.js:63:21)
n'
    at Object.create.all.set (C:\Program Files (x86)\Nodist\bin\node_modules\bower\lib\node_modules\configstore\index.js:63:21)
 EPE    at Object.Configstore (C:\Program Files (x86)\Nodist\bin\node_modules\bower\lib\node_modules\configstore\index.js:28:11)
    at Object.Configstore (C:\Program Files (x86)\Nodist\bin\node_modules\bower\lib\node_modules\configstore\index.js:28:11)
RM: operation not permitted, rename 'C:\Users\SomeUser\.config\configstore\bower-github.json.1190275566' -> 'C:\Users\SomeUser\.config\configstore\bower-github.json'
    at readCachedConfig (C:\Program Files (x86)\Nodist\bin\node_modules\bower\lib\config.js:19:23)
    at readCachedConfig (C:\Program Files (x86)\Nodist\bin\node_modules\bower\lib\config.js:19:23)
    at defaultConfig (C:\Program Files (x86)\Nodist\bin\node_modules\bower\lib\config.js:11:12)
    at defaultConfig (C:\Program Files (x86)\Nodist\bin\node_modules\bower\lib\config.js:11:12)
    at Object.<anonymous> (C:\Program Files (x86)\Nodist\bin\node_modules\bower\lib\index.js:16:32)
    at Object.<anonymous> (C:\Program Files (x86)\Nodist\bin\node_modules\bower\lib\index.js:16:32)
    at Module._compile (module.js:409:26)

Stack trace:
    at Module._compile (module.js:409:26)
    at Object.Module._extensions..js (module.js:416:10)
    at Object.Module._extensions..js (module.js:416:10)

I'm guessing that this issue is due to multiple calls to bower install running in parallel, which is causing issues with file locking.  An option to run them in series would maybe be a good idea.  Since this issue is now completely different from the original complaint, I'm closing this thread, and may open another... though it appears this project has been abandoned, so I'll probably just try to roll my own custom solution.

@isochronous v1.0.0 is out now! The new version groups commands so it only runs for instance one npm install and one bower install in parallel, so per command it's run in series which solves your issue above.

Awesome, great news! Thanks so much :D
On Thu, Mar 23, 2017 at 4:18 AM Joakim Carlstein<EMAIL_ADDRESS>wrote:

@isochronous https://github.com/isochronous v1.0.0 is out now! The new
version groups commands so it only runs for instance one npm install and
one bower install in parallel, so per command it's run in series which
solves your issue above.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/slushjs/gulp-install/issues/48#issuecomment-288647026,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAvR0R4CBpl7skWYr1lizKAQHRAdaFiIks5roirlgaJpZM4MdKGX
.

Finally went back to using this, and though it seems to be working exactly as it should, I can't say the same for the stdout logging, which seems to be stripping line breaks from npm output.  It's not a big deal, but it does making reading install logs rather challenging, as one line just runs into the next and line breaks happen wherever the column limit on the terminal is.


Extend QueryManager query type

What does this PR do?

Extends QueryManager query type to allow mappings.
Motivation

Needed for IBM i integration, see #9720.
Additional Notes

As of now it should be a no-op.
Review checklist (to be filled by reviewers)

[ ] Feature or bugfix MUST have appropriate tests (unit, integration, e2e)
[ ] PR title must be written as a CHANGELOG entry (see why)
[ ] Files changes must correspond to the primary purpose of the PR as described in the title (small unrelated changes should have their own PR)
[ ] PR must have changelog/ and integration/ labels attached

it seems odd to me to add this possibility to the validation checks, without a corresponding change to handle the case of query being a mapping. Has support for that case already been merged?

@djmitche  The QueryManager initializer takes an executor parameter https://github.com/DataDog/integrations-core/blob/7bf7643dc2bfc9a24cb5ed060f703253375bb1bc/datadog_checks_base/datadog_checks/base/utils/db/core.py#L46 that runs queries. The idea here is that future users of QueryManager may want to pass queries with additional context to the executor; in particular we want to use this for a future check (IBM i) where the executor also gets a timeout for each query. Existing users of QueryManager would keep getting just queries (strings) and would not need to support this.
Instead of doing this, we could pass the executor argument type as a new query_type argument to QueryManager, defaulting to str. That way existing users of QueryManager would have the same behavior today and there is no room for errors because of someone passing a mapping. Does that sound better to you than the existing patch?

I think this is OK as-is.  It will allow for future support for mappings, and in the interim only increases the set of valid configs.  Thanks for the explanation!


Please add support for TeraBox URLs too

DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE

[X] I understand that I will be blocked if I intentionally remove or skip any mandatory* field

Checklist

[X] I'm reporting a new site support request
[X] I've verified that I have updated yt-dlp to nightly or master (update instructions)
[X] I've checked that all provided URLs are playable in a browser with the same IP and same login details
[X] I've checked that none of provided URLs violate any copyrights or contain any DRM to the best of my knowledge
[X] I've searched known issues and the bugtracker for similar issues including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue
[X] I've read about sharing account credentials and am willing to share it if required

Region
Bangladesh
Example URLs
https://teraboxapp.com/s/1VNvAthyvkqrtLZfu04fDGg
https://www.terabox.app/wap/share/filelist?surl=VNvAthyvkqrtLZfu04fDGg
https://teraboxlink.com/s/18k9OBoLTlyuwfDmvxzf-RA
https://www.terabox.app/wap/share/filelist?surl=8k9OBoLTlyuwfDmvxzf-RA
https://www.1024tera.com/sharing/link?surl=_i950IpdS-BYvROAt5F3Ug
There could be single or multiple files/videos/images/documents
Like Google drive.
Provide a description that is worded well enough to be understood
It's like a file host, like google drive.
Provide verbose output that clearly demonstrates the problem

[X] Run your yt-dlp command with -vU flag added (yt-dlp -vU <your command line>)
[X] If using API, add 'verbose': True to YoutubeDL params instead
[X] Copy the WHOLE output (starting with [debug] Command-line config) and insert it below

Complete Verbose Output
There's no problem, it's just a support url request for a new source.

Duplicate of #5484
Won't be supported


[Resource] Add deprecate info for accept-term

Description

Add deprecate info for accept-term
Testing Guide

History Notes

[Component Name 1] BREAKING CHANGE: az command a: Make some customer-facing breaking change.
[Component Name 2] az command b: Add some customer-facing feature.

This checklist is used to make sure that common guidelines for a pull request are followed.

[ ] The PR title and description has followed the guideline in Submitting Pull Requests.

[ ] I adhere to the Command Guidelines.

[ ] I adhere to the Error Handling Guidelines.

Resource


Added a feature for skills input field section.

Introduced a mechanism that triggers a toast error message when the character limit in an input field is exceeded, even before the user clicks on the submit button.
In this way users will receive immediate feedback when trying to input the 26th character, reducing confusion and frustration

Summary by CodeRabbit

New Features

Implemented input validation for skill entries on the user dashboard, limiting input to 25 characters and providing user feedback if exceeded.

pls check out the coderabbit review and also add a video of the changes you have implemented

Okay I will add a video. I already checked the review.

https://github.com/digitomize/digitomize/assets/118890138/f57beed1-1f7f-4c5a-a167-46c0d51bf07c
@mendacium-a11y
This is the only change I made. Just limited to 25 character's and it shows an error before clicking on Add so that it provides good user experience as user is not confused as to why is he not able to enter character's after 25 as there is no error until and unless clicked on Submi/Add.

Okay ! Then do we really need to have this error pop-up? I mean does it make sense because let's say the user is typing and the moment he is typing the 26th character he is getting an error and also button is disabled. Because in the input he will be able to enter at max 25 character's itself. so, button will never get disabled.

in your pr you have removed the maxlen param in the input field, so the user will be able to input more than 25 chars, but only first 25 will be taken, so either set maxlen to 25 or disable the button.
the ideal would be make it maxlenght 25 and make the error pop up when the user tries to add more

No, the user won't be able to enter more than 25. In the input you won't see more than 25 as I am returning the moment the character count reaches 26. You would see a maximum of 25 character's in the input field as when you enter the 26th, handleSkills func will be called and it raises an error and returns from there so it doesn't take that input as I am not calling setSkill() when the character length exceeds 25.

in your current code, it does not stop the user from entering more than 25 char, but the state stops being updated once 25 character are there, there's currently no function to stop the input field exceeding 25 char

The value in the input field is equal to the state variable's value newSkill. The state variable won't get updated if I try to add the 26th character. If the state variable doesn't get updated the value in the input field remains it was which is limited to 25 characters. Even if I click on Add button after entering the 26th character (which won't be added into the input field) I will still end up storing only 25 character's not more than that. Does that make sense, @mendacium-a11y ?

i think this is done, you can take a look @pranshugupta54


Update boringssl to 20240126-22d349c

Updated boringssl to latest "main-with-bazel"
Let me know what you think about setting the compatibility_level to the value in https://github.com/google/boringssl/blob/22d349c4596e81425ec88f82fab47063a9a2bac6/src/include/openssl/base.h#L112

Hmmmm it fails on macos, somehow a host openssl is leaking in:
In file included from external/boringssl~0.0.0-20240126-22d349c/err_data.c:18:
In file included from /usr/local/include/openssl/err.h:21:
/usr/local/include/openssl/e_os2.h:183:11: error: 'OPENSSL_EXPORT' macro redefined [-Werror,-Wmacro-redefined]
#  define OPENSSL_EXPORT extern
          ^
external/boringssl~0.0.0-20240126-22d349c/src/include/openssl/base.h:136:9: note: previous definition is here
#define OPENSSL_EXPORT
        ^

Not sure what to do about that?

It's a Bazel bug, see https://github.com/bazelbuild/bazel/issues/10472#issuecomment-1899381940

Thanks for the pointer @fmeum, it seemed like this works at first. But now I'm getting The include path '/usr/local/include' references a path outside of the execution root.
(21:29:18) ERROR: /private/var/tmp/_bazel_buildkite/0abe0843ebb3588670be63ed5ffe5f4c/external/boringssl~0.0.0-20240126-22d349c/BUILD:133:11: Compiling err_data.c failed: The include path '/usr/local/include' references a path outside of the execution root.

Let me know what you think about setting the compatibility_level to the value in https://github.com/google/boringssl/blob/22d349c4596e81425ec88f82fab47063a9a2bac6/src/include/openssl/base.h#L112

Do not do this. Please work with the BoringSSL team before checking in constraints and assertions about how our library evolves. Looks like this module was added to the registry without our involvement, which isn't great as it may have implications for how we support bzlmod properly in the future. While we'll try not to introduce churn, depending on exactly how bzlmod works, we may be forced to break early adopters of this currently unsupported check-in.

Let me know what you think about setting the compatibility_level to the value in https://github.com/google/boringssl/blob/22d349c4596e81425ec88f82fab47063a9a2bac6/src/include/openssl/base.h#L112

Do not do this. Please work with the BoringSSL team before checking in constraints and assertions about how our library evolves. Looks like this module was added to the registry without our involvement, which isn't great as it may have implications for how we support bzlmod properly in the future. While we'll try not to introduce churn, depending on exactly how bzlmod works, we may be forced to break early adopters of this currently unsupported check-in.

This was left over in the PR description. In the end this stayed at its current value. See https://github.com/bazelbuild/bazel-central-registry/pull/1398#discussion_r1469461212. I will update the descritption

@davidben Do you want to upstream the MODULE.bazel file checked in BCR and setup https://github.com/apps/publish-to-bcr to automatically publish releases to BCR? That'll allow the actual BoringSSL team to maintain this module. Happy to help.


Add Setup PHP GitHub Action

Add Setup PHP Github Action

Setup PHP with required extensions, php.ini configuration and composer in GitHub Actions. This action can be added as a step in your action workflow and it will setup the PHP environment you need to test your application.

Thanks, this looks useful.


Add a custom controller example

This change is

Coverage remained the same at 44.24% when pulling 66c826f41fc9dd0e0ae9dc474e851f8c05fb7165 on bprashanth:custom_controller_example into 3e87a2de40a18534635a9e759ac009ab90bcac93 on kubernetes:master.

Coverage remained the same at 44.24% when pulling 66c826f41fc9dd0e0ae9dc474e851f8c05fb7165 on bprashanth:custom_controller_example into 3e87a2de40a18534635a9e759ac009ab90bcac93 on kubernetes:master.

/lgtm