Abort signal in closeAndGetPendingLocalState

Abort signal added to closeAndGetPendingLocalState(). The assumptions made here were that we want to preserve as much pending state as possible, instead of just closing the container and losing all data.
The only possible reason closeAndGetPendingLocalState could fail or go stale is some blobs not being attached to a DDS, given that we made the api async for that specific reason (to await for blobs to be attached before getting pending state).
My approach here is, in case of aborting, to stop waiting for blobs to be attached and capture only those who made it. BlobAttach ops still could have been sent so when we get those ops during resubmission, we need to ignore them. There is another approach which could have been filtering such ops from the pending local state, but it is not as straightforward as just ignore them given some batching processes that were made to the pending messages beforehand. Specifically, we could have filtered batch begins or batch ends, making the entire batch go corrupt.
With latest changes, we won't submit unattached blob ops, so we don't need to filter or ignore them on resubmission.
#AB5138

Acording to @Josmithr, we still don't have internal guidance for using @alpha or @beta tags. according to https://api-extractor.com/pages/tsdoc/tag_beta/ I believe beta is more appropiate than alpha for this api


Initial Pull Request

Description
Fixes #

What work was done?
Why was this work done?
What feature / user story is it for?
Any relevant links or images / screenshots

Type of change
Please delete options that are not relevant.

[x] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

Change Status

[ ] Complete, tested, ready to review and merge
[ ] Complete, but not tested (may need new tests)
[x] Incomplete/work-in-progress, PR is for discussion/feedback

Has This Been Tested

[ ] Yes
[x] No
[ ] Not necessary

Checklist

[x] My code follows the style guidelines of this project
[ ] I have performed a self-review of my own code
[ ] My code has been reviewed by at least one peer
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[ ] There are no merge conflicts

Make sure to rename this PR with a descriptive title ;)

Oh, and add the description with the motivation for the work and what changed


Siamese in RNN issue

Hi, I want to achieve training based on the cosine similarity of the two pair inputs, but the predicted results were same. There should be something wrong on my model, could you give me some hints? For example, is that okay if my input data has different shape?
def merge_layer(data_1, data_2, label, data_3, data_4):

#the merge layer
left_branch = Sequential()
left_branch.add(Embedding(1000, 64, input_shape=(79, 42)))
left_branch.add(LSTM(32, input_dim=42, input_length=79,consume_less='gpu'))

right_branch = Sequential()

right_branch.add(Embedding(1000, 64, input_shape=(79, 500)))
right_branch.add(LSTM(32, input_dim=500, input_length=79, consume_less='gpu'))

merged = Merge([left_branch, right_branch], mode='concat')

final_model = Sequential()
final_model.add(merged)
final_model.add(Dense(1, activation='softmax'))

final_model.compile(optimizer='rmsprop', loss='cosine_proximity')
final_model.fit([data_1, data_2], label, nb_epoch=2, batch_size=5)

# for a multi-class classification problem
#model.compile(optimizer='rmsprop', loss='categorical_crossentropy',metrics=['accuracy'])

#loss_and_metrics = model.evaluate(x_test, y_test, batch_size=32)
#generate predictions on new data
classes = final_model.predict_classes([data_3,data_4], batch_size=10)
#proba = model.predict_proba(x_test, batch_size=32)

#print loss_and_metrics
print classes

I believe the error might be because you are using mode="concat" in Merge and then using cosine_proximity as loss function. Try changing the mode to "cos" for cosine.


Go Operator Tutorial

Issue:
Tutorial -> [https://sdk.operatorframework.io/docs/building-operators/golang/tutorial/#implement-the-controller] is incorrect and no longer working because when replacing https://github.com/operator-framework/operator-sdk/blob/latest/testdata/go/v3/memcached-operator/controllers/memcached_controller.go as suggested, package is in plural instead of singular and this is causing issue below:
Culprit line:
https://github.com/operator-framework/operator-sdk/blob/latest/testdata/go/v3/memcached-operator/controllers/memcached_controller.go#L17
Issue:
$ make manifests
/Users/cniackz/projects/memcached-operator/bin/controller-gen rbac:roleName=manager-role crd webhook paths="./..." output:crd:artifacts:config=config/crd/bases
cmd/main.go:35:2: found packages controllers (memcached_controller.go) and controller (suite_test.go) in /Users/cniackz/projects/memcached-operator/internal/controller
Error: not all generators ran successfully
run `controller-gen rbac:roleName=manager-role crd webhook paths=./... output:crd:artifacts:config=config/crd/bases -w` to see all available markers, or `controller-gen rbac:roleName=manager-role crd webhook paths=./... output:crd:artifacts:config=config/crd/bases -h` for usage
make: *** [manifests] Error 1

Solution:

Option A: Document that proper file is as below OR go to option b.
Option B: Change code accordingly for tutorial to work: https://github.com/operator-framework/operator-sdk/pull/6507

Proper File:
/*
Copyright 2023.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/

package controller

import (
	"context"
	"fmt"
	"os"
	"strings"
	"time"

	appsv1 "k8s.io/api/apps/v1"
	corev1 "k8s.io/api/core/v1"
	apierrors "k8s.io/apimachinery/pkg/api/errors"
	"k8s.io/apimachinery/pkg/api/meta"
	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
	"k8s.io/apimachinery/pkg/runtime"
	"k8s.io/apimachinery/pkg/types"
	"k8s.io/client-go/tools/record"
	ctrl "sigs.k8s.io/controller-runtime"
	"sigs.k8s.io/controller-runtime/pkg/client"
	"sigs.k8s.io/controller-runtime/pkg/controller/controllerutil"
	"sigs.k8s.io/controller-runtime/pkg/log"

	cachev1alpha1 "github.com/example/memcached-operator/api/v1alpha1"
)

const memcachedFinalizer = "cache.example.com/finalizer"

// Definitions to manage status conditions
const (
	// typeAvailableMemcached represents the status of the Deployment reconciliation
	typeAvailableMemcached = "Available"
	// typeDegradedMemcached represents the status used when the custom resource is deleted and the finalizer operations are must to occur.
	typeDegradedMemcached = "Degraded"
)

// MemcachedReconciler reconciles a Memcached object
type MemcachedReconciler struct {
	client.Client
	Scheme   *runtime.Scheme
	Recorder record.EventRecorder
}

// The following markers are used to generate the rules permissions (RBAC) on config/rbac using controller-gen
// when the command <make manifests> is executed.
// To know more about markers see: https://book.kubebuilder.io/reference/markers.html

//+kubebuilder:rbac:groups=cache.example.com,resources=memcacheds,verbs=get;list;watch;create;update;patch;delete
//+kubebuilder:rbac:groups=cache.example.com,resources=memcacheds/status,verbs=get;update;patch
//+kubebuilder:rbac:groups=cache.example.com,resources=memcacheds/finalizers,verbs=update
//+kubebuilder:rbac:groups=core,resources=events,verbs=create;patch
//+kubebuilder:rbac:groups=apps,resources=deployments,verbs=get;list;watch;create;update;patch;delete
//+kubebuilder:rbac:groups=core,resources=pods,verbs=get;list;watch

// Reconcile is part of the main kubernetes reconciliation loop which aims to
// move the current state of the cluster closer to the desired state.

// It is essential for the controller's reconciliation loop to be idempotent. By following the Operator
// pattern you will create Controllers which provide a reconcile function
// responsible for synchronizing resources until the desired state is reached on the cluster.
// Breaking this recommendation goes against the design principles of controller-runtime.
// and may lead to unforeseen consequences such as resources becoming stuck and requiring manual intervention.
// For further info:
// - About Operator Pattern: https://kubernetes.io/docs/concepts/extend-kubernetes/operator/
// - About Controllers: https://kubernetes.io/docs/concepts/architecture/controller/
// -<EMAIL_ADDRESS>func (r *MemcachedReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error) {
	log := log.FromContext(ctx)

	// Fetch the Memcached instance
	// The purpose is check if the Custom Resource for the Kind Memcached
	// is applied on the cluster if not we return nil to stop the reconciliation
	memcached := &cachev1alpha1.Memcached{}
	err := r.Get(ctx, req.NamespacedName, memcached)
	if err != nil {
		if apierrors.IsNotFound(err) {
			// If the custom resource is not found then, it usually means that it was deleted or not created
			// In this way, we will stop the reconciliation
			log.Info("memcached resource not found. Ignoring since object must be deleted")
			return ctrl.Result{}, nil
		}
		// Error reading the object - requeue the request.
		log.Error(err, "Failed to get memcached")
		return ctrl.Result{}, err
	}

	// Let's just set the status as Unknown when no status are available
	if memcached.Status.Conditions == nil || len(memcached.Status.Conditions) == 0 {
		meta.SetStatusCondition(&memcached.Status.Conditions, metav1.Condition{Type: typeAvailableMemcached, Status: metav1.ConditionUnknown, Reason: "Reconciling", Message: "Starting reconciliation"})
		if err = r.Status().Update(ctx, memcached); err != nil {
			log.Error(err, "Failed to update Memcached status")
			return ctrl.Result{}, err
		}

		// Let's re-fetch the memcached Custom Resource after update the status
		// so that we have the latest state of the resource on the cluster and we will avoid
		// raise the issue "the object has been modified, please apply
		// your changes to the latest version and try again" which would re-trigger the reconciliation
		// if we try to update it again in the following operations
		if err := r.Get(ctx, req.NamespacedName, memcached); err != nil {
			log.Error(err, "Failed to re-fetch memcached")
			return ctrl.Result{}, err
		}
	}

	// Let's add a finalizer. Then, we can define some operations which should
	// occurs before the custom resource to be deleted.
	// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/finalizers
	if !controllerutil.ContainsFinalizer(memcached, memcachedFinalizer) {
		log.Info("Adding Finalizer for Memcached")
		if ok := controllerutil.AddFinalizer(memcached, memcachedFinalizer); !ok {
			log.Error(err, "Failed to add finalizer into the custom resource")
			return ctrl.Result{Requeue: true}, nil
		}

		if err = r.Update(ctx, memcached); err != nil {
			log.Error(err, "Failed to update custom resource to add finalizer")
			return ctrl.Result{}, err
		}
	}

	// Check if the Memcached instance is marked to be deleted, which is
	// indicated by the deletion timestamp being set.
	isMemcachedMarkedToBeDeleted := memcached.GetDeletionTimestamp() != nil
	if isMemcachedMarkedToBeDeleted {
		if controllerutil.ContainsFinalizer(memcached, memcachedFinalizer) {
			log.Info("Performing Finalizer Operations for Memcached before delete CR")

			// Let's add here an status "Downgrade" to define that this resource begin its process to be terminated.
			meta.SetStatusCondition(&memcached.Status.Conditions, metav1.Condition{Type: typeDegradedMemcached,
				Status: metav1.ConditionUnknown, Reason: "Finalizing",
				Message: fmt.Sprintf("Performing finalizer operations for the custom resource: %s ", memcached.Name)})

			if err := r.Status().Update(ctx, memcached); err != nil {
				log.Error(err, "Failed to update Memcached status")
				return ctrl.Result{}, err
			}

			// Perform all operations required before remove the finalizer and allow
			// the Kubernetes API to remove the custom resource.
			r.doFinalizerOperationsForMemcached(memcached)

			// TODO(user): If you add operations to the doFinalizerOperationsForMemcached method
			// then you need to ensure that all worked fine before deleting and updating the Downgrade status
			// otherwise, you should requeue here.

			// Re-fetch the memcached Custom Resource before update the status
			// so that we have the latest state of the resource on the cluster and we will avoid
			// raise the issue "the object has been modified, please apply
			// your changes to the latest version and try again" which would re-trigger the reconciliation
			if err := r.Get(ctx, req.NamespacedName, memcached); err != nil {
				log.Error(err, "Failed to re-fetch memcached")
				return ctrl.Result{}, err
			}

			meta.SetStatusCondition(&memcached.Status.Conditions, metav1.Condition{Type: typeDegradedMemcached,
				Status: metav1.ConditionTrue, Reason: "Finalizing",
				Message: fmt.Sprintf("Finalizer operations for custom resource %s name were successfully accomplished", memcached.Name)})

			if err := r.Status().Update(ctx, memcached); err != nil {
				log.Error(err, "Failed to update Memcached status")
				return ctrl.Result{}, err
			}

			log.Info("Removing Finalizer for Memcached after successfully perform the operations")
			if ok := controllerutil.RemoveFinalizer(memcached, memcachedFinalizer); !ok {
				log.Error(err, "Failed to remove finalizer for Memcached")
				return ctrl.Result{Requeue: true}, nil
			}

			if err := r.Update(ctx, memcached); err != nil {
				log.Error(err, "Failed to remove finalizer for Memcached")
				return ctrl.Result{}, err
			}
		}
		return ctrl.Result{}, nil
	}

	// Check if the deployment already exists, if not create a new one
	found := &appsv1.Deployment{}
	err = r.Get(ctx, types.NamespacedName{Name: memcached.Name, Namespace: memcached.Namespace}, found)
	if err != nil && apierrors.IsNotFound(err) {
		// Define a new deployment
		dep, err := r.deploymentForMemcached(memcached)
		if err != nil {
			log.Error(err, "Failed to define new Deployment resource for Memcached")

			// The following implementation will update the status
			meta.SetStatusCondition(&memcached.Status.Conditions, metav1.Condition{Type: typeAvailableMemcached,
				Status: metav1.ConditionFalse, Reason: "Reconciling",
				Message: fmt.Sprintf("Failed to create Deployment for the custom resource (%s): (%s)", memcached.Name, err)})

			if err := r.Status().Update(ctx, memcached); err != nil {
				log.Error(err, "Failed to update Memcached status")
				return ctrl.Result{}, err
			}

			return ctrl.Result{}, err
		}

		log.Info("Creating a new Deployment",
			"Deployment.Namespace", dep.Namespace, "Deployment.Name", dep.Name)
		if err = r.Create(ctx, dep); err != nil {
			log.Error(err, "Failed to create new Deployment",
				"Deployment.Namespace", dep.Namespace, "Deployment.Name", dep.Name)
			return ctrl.Result{}, err
		}

		// Deployment created successfully
		// We will requeue the reconciliation so that we can ensure the state
		// and move forward for the next operations
		return ctrl.Result{RequeueAfter: time.Minute}, nil
	} else if err != nil {
		log.Error(err, "Failed to get Deployment")
		// Let's return the error for the reconciliation be re-trigged again
		return ctrl.Result{}, err
	}

	// The CRD API is defining that the Memcached type, have a MemcachedSpec.Size field
	// to set the quantity of Deployment instances is the desired state on the cluster.
	// Therefore, the following code will ensure the Deployment size is the same as defined
	// via the Size spec of the Custom Resource which we are reconciling.
	size := memcached.Spec.Size
	if *found.Spec.Replicas != size {
		found.Spec.Replicas = &size
		if err = r.Update(ctx, found); err != nil {
			log.Error(err, "Failed to update Deployment",
				"Deployment.Namespace", found.Namespace, "Deployment.Name", found.Name)

			// Re-fetch the memcached Custom Resource before update the status
			// so that we have the latest state of the resource on the cluster and we will avoid
			// raise the issue "the object has been modified, please apply
			// your changes to the latest version and try again" which would re-trigger the reconciliation
			if err := r.Get(ctx, req.NamespacedName, memcached); err != nil {
				log.Error(err, "Failed to re-fetch memcached")
				return ctrl.Result{}, err
			}

			// The following implementation will update the status
			meta.SetStatusCondition(&memcached.Status.Conditions, metav1.Condition{Type: typeAvailableMemcached,
				Status: metav1.ConditionFalse, Reason: "Resizing",
				Message: fmt.Sprintf("Failed to update the size for the custom resource (%s): (%s)", memcached.Name, err)})

			if err := r.Status().Update(ctx, memcached); err != nil {
				log.Error(err, "Failed to update Memcached status")
				return ctrl.Result{}, err
			}

			return ctrl.Result{}, err
		}

		// Now, that we update the size we want to requeue the reconciliation
		// so that we can ensure that we have the latest state of the resource before
		// update. Also, it will help ensure the desired state on the cluster
		return ctrl.Result{Requeue: true}, nil
	}

	// The following implementation will update the status
	meta.SetStatusCondition(&memcached.Status.Conditions, metav1.Condition{Type: typeAvailableMemcached,
		Status: metav1.ConditionTrue, Reason: "Reconciling",
		Message: fmt.Sprintf("Deployment for custom resource (%s) with %d replicas created successfully", memcached.Name, size)})

	if err := r.Status().Update(ctx, memcached); err != nil {
		log.Error(err, "Failed to update Memcached status")
		return ctrl.Result{}, err
	}

	return ctrl.Result{}, nil
}

// finalizeMemcached will perform the required operations before delete the CR.
func (r *MemcachedReconciler) doFinalizerOperationsForMemcached(cr *cachev1alpha1.Memcached) {
	// TODO(user): Add the cleanup steps that the operator
	// needs to do before the CR can be deleted. Examples
	// of finalizers include performing backups and deleting
	// resources that are not owned by this CR, like a PVC.

	// Note: It is not recommended to use finalizers with the purpose of delete resources which are
	// created and managed in the reconciliation. These ones, such as the Deployment created on this reconcile,
	// are defined as depended of the custom resource. See that we use the method ctrl.SetControllerReference.
	// to set the ownerRef which means that the Deployment will be deleted by the Kubernetes API.
	// More info: https://kubernetes.io/docs/tasks/administer-cluster/use-cascading-deletion/

	// The following implementation will raise an event
	r.Recorder.Event(cr, "Warning", "Deleting",
		fmt.Sprintf("Custom Resource %s is being deleted from the namespace %s",
			cr.Name,
			cr.Namespace))
}

// deploymentForMemcached returns a Memcached Deployment object
func (r *MemcachedReconciler) deploymentForMemcached(
	memcached *cachev1alpha1.Memcached) (*appsv1.Deployment, error) {
	ls := labelsForMemcached(memcached.Name)
	replicas := memcached.Spec.Size

	// Get the Operand image
	image, err := imageForMemcached()
	if err != nil {
		return nil, err
	}

	dep := &appsv1.Deployment{
		ObjectMeta: metav1.ObjectMeta{
			Name:      memcached.Name,
			Namespace: memcached.Namespace,
		},
		Spec: appsv1.DeploymentSpec{
			Replicas: &replicas,
			Selector: &metav1.LabelSelector{
				MatchLabels: ls,
			},
			Template: corev1.PodTemplateSpec{
				ObjectMeta: metav1.ObjectMeta{
					Labels: ls,
				},
				Spec: corev1.PodSpec{
					// TODO(user): Uncomment the following code to configure the nodeAffinity expression
					// according to the platforms which are supported by your solution. It is considered
					// best practice to support multiple architectures. build your manager image using the
					// makefile target docker-buildx. Also, you can use docker manifest inspect <image>
					// to check what are the platforms supported.

						SeccompProfile: &corev1.SeccompProfile{
							Type: corev1.SeccompProfileTypeRuntimeDefault,
						},
					},
					Containers: []corev1.Container{{
						Image:           image,
						Name:            "memcached",
						ImagePullPolicy: corev1.PullIfNotPresent,
						// Ensure restrictive context for the container
						// More info: https://kubernetes.io/docs/concepts/security/pod-security-standards/#restricted
						SecurityContext: &corev1.SecurityContext{
							// WARNING: Ensure that the image used defines an UserID in the Dockerfile
							// otherwise the Pod will not run and will fail with "container has runAsNonRoot and image has non-numeric user"".
							// If you want your workloads admitted in namespaces enforced with the restricted mode in OpenShift/OKD vendors
							// then, you MUST ensure that the Dockerfile defines a User ID OR you MUST leave the "RunAsNonRoot" and
							// "RunAsUser" fields empty.
							RunAsNonRoot: &[]bool{true}[0],
							// The memcached image does not use a non-zero numeric user as the default user.
							// Due to RunAsNonRoot field being set to true, we need to force the user in the
							// container to a non-zero numeric user. We do this using the RunAsUser field.
							// However, if you are looking to provide solution for K8s vendors like OpenShift
							// be aware that you cannot run under its restricted-v2 SCC if you set this value.
							RunAsUser:                &[]int64{1001}[0],
							AllowPrivilegeEscalation: &[]bool{false}[0],
							Capabilities: &corev1.Capabilities{
								Drop: []corev1.Capability{
									"ALL",
								},
							},
						},
						Ports: []corev1.ContainerPort{{
							ContainerPort: memcached.Spec.ContainerPort,
							Name:          "memcached",
						}},
						Command: []string{"memcached", "-m=64", "-o", "modern", "-v"},
					}},
				},
			},
		},
	}

	// Set the ownerRef for the Deployment
	// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/owners-dependents/
	if err := ctrl.SetControllerReference(memcached, dep, r.Scheme); err != nil {
		return nil, err
	}
	return dep, nil
}

// labelsForMemcached returns the labels for selecting the resources
// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/common-labels/
func labelsForMemcached(name string) map[string]string {
	var imageTag string
	image, err := imageForMemcached()
	if err == nil {
		imageTag = strings.Split(image, ":")[1]
	}
	return map[string]string{"app.kubernetes.io/name": "Memcached",
		"app.kubernetes.io/instance":   name,
		"app.kubernetes.io/version":    imageTag,
		"app.kubernetes.io/part-of":    "memcached-operator",
		"app.kubernetes.io/created-by": "controller-manager",
	}
}

// imageForMemcached gets the Operand image which is managed by this controller
// from the MEMCACHED_IMAGE environment variable defined in the config/manager/manager.yaml
func imageForMemcached() (string, error) {
	var imageEnvVar = "MEMCACHED_IMAGE"
	image, found := os.LookupEnv(imageEnvVar)
	if !found {
		return "", fmt.Errorf("Unable to find %s environment variable with the image", imageEnvVar)
	}
	return image, nil
}

// SetupWithManager sets up the controller with the Manager.
// Note that the Deployment will be also watched in order to ensure its
// desirable state on the cluster
func (r *MemcachedReconciler) SetupWithManager(mgr ctrl.Manager) error {
	return ctrl.NewControllerManagedBy(mgr).
		For(&cachev1alpha1.Memcached{}).
		Owns(&appsv1.Deployment{}).
		Complete(r)
}

@cniackz Would you mind sharing the commands you ran to initialize the project? This looks like it is using the go/v4-alpha plugin but you are following the tutorial which is still based on the use of the go/v3 plugin which would explain the error (the project structure is different between the two plugin versions)


Check transaction start_ts < gc_safe_point

What problem does this PR solve?
https://github.com/tikv/client-java/issues/721
What is changed and how it works?
Add a check after all the transaction requests, but before they handle the response.
In this way: once transaction start_ts < gc_safe_point, it will throw the  start_ts < gc_safe_point exception first even if it has other error returned by TiKV.
Check List
Tests

Unit test
Integration test
Manual test (add detailed scripts or steps below)
No code

/run-all-tests

close this PR because asking PD for every KV request may increase the pressure of PD.
We'd like to implement this when PD has some mechanisms to avoid this, like a lease


1.2.3 Windows version error (access denied) + direct episode links - BOTH FIXED IN THE NEW VER

Not able to use the latest ver with the beta links fix.
maybe some build exe fail.

oh, and direct episode link not working, too.

when i'm trying to download with this link:
"https://www.crunchyroll.com/platinum-end/episode-9-the-face-of-an-assassin-819765"
not working.
but, with:
"https://www.crunchyroll.com/platinum-end"
working, but can't choose episode, its auto downloading all the season..

For me the Platinum End Ep. 9 download works fine...
... on linux ...

... as well as on windows
![image](https://user-images.githubusercontent.com/63594396/144508234-0807c88b-bd8c-42cb-8cec-54793421cf16.
The download of your second url works as well.
And that you cannot choose the episode when passing only the anime series url is intended

idk...
Also, can you please build and add the fixed 1.2.3 (win) ver to the releases?

Could you try again with the -v flag (... download -v https://www.crunchyroll.com/plati...) and paste a screenshot with the output?
I'll release the fixed version when i know why you can't download the episode. If this is an error, I don't want to make 2 new releases for one the fixed build and second the error :)

Not working, even a non-premium episode...

Where there any extra output with the -v flag?

Welllll ok, i clearly need to do more debug logs xD
Here is the link for the fixed windows build. You may try downloading with the fixed version. Don't mind that the file is not hostet on github, i cannot attach binary in issues ¯_(ツ)_/¯

well, both works.
Thank you, really Appreciate your work.
btw, tried to talk about issue i had with another crunchy downloader and the developer just said: "Your win api is broken", and its not was my only problem, something like 3 pp created after me an a issue.

No problem, it's always nice to see when someone appreciates my work and says directly when an error or something other occurs :)
And I cannot understand how a dev can just say "your api is broken" and leave you alone ._.
It is his work and (in my case) I would not be able to sleep peacefully if I knew someone had a bug that I could, in theory, fix but didn't

Well, Happy to hear there is a good man behind the screen that will support with love :)
oh, a quick question, when segment is missing or failed to download, it will try the redownload or stop with error or something?

When a segment download fails (for whatever reason) a little delay is performed and then the segment download tries to continue. If the segment could not be downloaded after 3 retries, the whole download fails

oh, nice.
lot of downloaders just skip the segment LoL

Wow. In my experience the connection times out at least once when downloading a 1080p episode

The fixes are now released in version v1.2.4


Config errors

Your sample config has two errors:

position should be 'top_left' not 'top left'
you need a comma after 'dbackground: 'lightgray'

Sorry but a _ in module positions is no longer needed.  As for the coma, Thank you......


JWT endpoints not returning as expected.

I can successfully POST Basic Auth to /api/v1/me:
POST /api/api/v1/me HTTP/1.1
Host: localhost:3000
Connection: keep-alive
Content-Length: 51
accept: application/json
Origin: http://localhost:3000
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.71 Safari/537.36
authorization: Basic <redacted>
content-type: application/json
Referer: http://localhost:3000/
Accept-Encoding: gzip, deflate
Accept-Language: en-US,en;q=0.8

{
    "active": true,
    "confirmed_at": null,
    "email"<EMAIL_ADDRESS>    "id": 1
}

However, the same POST to /api/v1/me/jwt fails:
POST /api/api/v1/me/jwt HTTP/1.1
Host: localhost:3000
Connection: keep-alive
Content-Length: 51
accept: application/json
Origin: http://localhost:3000
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.71 Safari/537.36
authorization: Basic <redacted>
content-type: application/json
Referer: http://localhost:3000/
Accept-Encoding: gzip, deflate
Accept-Language: en-US,en;q=0.8

{
    "message": {
        "name": "(Service name for the token)  Missing required parameter in the JSON body or the post body or the query string"
    }
}

I would expect that /api/v1/me/jwt returns a JWT token.

That's expected.
You need to give a name to the token. The plan was to allow for future revokation of tokens, so I added the service name field now so that it's easy to see what purpose the token serves.

Ah. Fair enough. In respect to logging in the user on the front end should I just give the token a common name like 'spruce-ui' or something?

yup. we can ignore those in any other part of the UI

Oh nice, works perfectly :)

awesome! I really like this auth model, because it means you can use token, u/p, or cookie (and token, u/p can be used as get/post params, headers, etc anywhere too)


'treeHorizontalScroll' is not working as expected

Expected behavior and actual behavior.
As mentionded in the documentation, when the 'treeHorizontalScroll' is set to true, expanded child grids should scroll horizontally with the parent columns. But it is not working.
Steps to reproduce the problem.
http://jsfiddle.net/kgcufarh/

Thanks for identifying the defect.  Looks like it shouldn't be too hard to fix.

Any update about this fix?
We're eagerly waiting for a fix, since we want add this fix to the next release.

It's currently unassigned, meaning I'm not presently working on it.  I can point you to where the fix can be implemented if you would like to make a PR.  It would be greatly appreciated.  I'm happy to help as much as I can without directly contributing code.  I have a work project that occupies every waking moment (trying to revolutionize the industry in secret), so I'm afraid I haven't put much time into this project lately.  It is still alive and well, but me as an IC is on hiatus for a few more weeks.
As for the actual subject and not my excuses:
This is where child grids are instantiated:
https://github.com/TonyGermaneri/canvas-datagrid/blob/master/lib/draw.js#L783
the fix is something like
self.addEventListner("scroll", function () {
    self.childGrids[cell.gridId].scrollLeft = self.intf.scrollLeft;
});

Seems like that should do it.  I'm not 100% sure if self.intf.scrollLeft is a thing, but if you hunt around self or self.intf you'll find the parent's scroll box values.  Then setting the values to self.childGrids[cell.gridId].scrollLeft within the handler should trickle down the scroll event.
Sorry I can't fix it myself right now.  Let me know if you need more help, or if you want to join the slack channel and chat there.
Cheers,
Tony

Hi @TonyGermaneri ,
Got a couple of issues. Would like to join the slack channel.
Thanks,
Akila

Welcome aboard: https://join.slack.com/t/canvas-datagrid/shared_invite/enQtNjYzNDE3NzM3MTM2LTFmNTE4Y2Y4NGM4YTM1ZDM0Yzc2YjFkMDdmYzgxOGQ5ZjMzMjYyNDc4YjAzYmYyMGMzYmVjNDgyYzU5M2VjNGM


DataSet Process Instance Variables update

Improved test coverage
Move constants to utility class
Added internationalization to user messages
Move view code from presenter into view

6.4.x: e05a2746d2107e4275f18dedca198bf419da0263


OPDS Catalogs, add padding between button and list of catalogs

a padding-top: 30px; is required there.

fixed by #622


Added unit tests for login and registration

Coverage increased (+8.2%) to 95.0% when pulling 03d3391aea91be4bf111033d6adf6f7b83bea06e on dev into<PHONE_NUMBER>8ece7fef45620b0a6847aa0484e76b on master.


stern not working against AWS EKS Cluster

When I run stern against an EKS cluster(k8s 1.10.2) when I have admin privileges I get this:
> stern --kubeconfig ~/.kube/config restic --namespace heptio-ark
failed to set up watch: failed to set up watch: unknown (get pods)

I'm able to use kubectl logs and see pod logs, looks like stern might be using another api  to get the data?
Any help would be appreciated.

+1

bump

this is right: failed to set up watch: failed to set up watch: the server has asked for the client to provide credentials (get pods)

Support for kubeconfig files that use the exec plugin (like the aws-iam-authenticator ones) was added in client-go v7.0. It looks like stern is currently using client-go v5.0.1 so upgrading that should do the trick.

Hi all, we are not able to merge the PR from @mattmoyer yet, but the change seems fairly minor and he has given us consent to go independently create a fix/PR.  Would you all be able to test it and give feedback?

I opened a PR #82 to attempt to fix this.  Still a WIP.  Hoping to get feedback from watchers.  Will also fire up a cluster and try to reproduce the issue and test this fix myself.

I know it's pretty old, but I'm facing the same issue with EKS 1.14.


Add 'Spock' to server-side programming libraries

I'd argue that Spock deserves a Spot in the server-side programming libraries, too. It fits well between the "gap" between scotty and the yesod group as it is still pretty simple but provides most features for medium sized applications. It's commercially used in production for over a year now by different companies. What do you think?

I agree.  #46 will add this and it just needs to fix a typo before I merge it

Great :-)

Fixed by #46


Requesting for dark mode Laravel 11

I'm using Laravel 11 and i don't see any instruction on how to config for dark mode.
https://php-flasher.io/laravel/

Hi @MegamiNoBisho,
Thank you for reaching out, could you please confirm which version of PHPFlasher you are currently using? Is it v1 or v2?
For users of PHPFlasher v1, instructions for configuring dark mode can be found in our v1 documentation here: https://php-flasher.github.io/laravel/#-dark-mode
If you are using PHPFlasher v2, you can try adding the class fl-dark to the <html> or <body> element of your page. This is a preliminary feature and hasn't been thoroughly tested with Laravel 11, but it should ideally enable the dark mode styling.
Please try the above suggestion appropriate to your version and let me know if it works for you.
Looking forward to your response.
Best regards,
Younes

Hi @MegamiNoBisho,
Since I haven’t heard back from you, I’ll close this issue for now.
If you’re still having this problem with the latest version of PHPFlasher, feel free to reopen it or create a new issue.
Thanks.


[many ports] Updates 2019.07.09

Qt5 upgrade has been created with #6956. Qt5 updates are best gathered together.

@JackBoosY Sorry for the malformed commit initially -- my script had a bug which generated the wrong references. I've regenerated them all and pushed a fixed commit.

@ras0219-msft The force push looks like it still has problems.
For example, the port amqpcpp, the REF of version 4.1.5 should be v4.1.5, and its commit id is indeed 5a648fe2d8df7dacc389fdc83be5d35e616a06c1.

@ras0219-msft, the SHA512 is wrong for some ports, like brynet, folly, we have checked REF and SHA512 for all ports and updated them yesterday, we has these changes locally, I suggest to merge theses changes, what do you think?

PR #7155 is already updating xmsh.
Vxl needs to wait for official support for the latest openjpeg2 before updating, see #627.

google-cloud-cpp has been upgrade to version 0.11.0 at master branch.

Since the updated version of the angle is missing some header files in the source(proc_table.h/proc_table_gles.h etc.), the update is rolled back.

/azp run

Vxl needs to wait for official support for the latest openjpeg2 before updating, see https://github.com/vxl/vxl/issues/627.

In this period I am completely full. I hope to be able to work on that problem soon, but I cannot guarantee any timing

Results:

google-cloud-cpp has been upgrade to version 0.11.0 at master branch and build okay, failure in PR-EAGER is fake.
The built-in gdcm used by itk conflicts with port gdcm.
Roll back upgrade with angle/vxl.

Then, we can merge this PR.

Currently itk failed on linux and osx(conflict with gdcm), and google-cloud-cpp(fake issue) failed on windows, suggest to merge these changes, see details below
Summary:

Port
Status
Comments

curl
Done
Revert, has exist PR #7093

tesseract
Done
Revert, has exist PR #7227

xmash
Done
Revert, has exist PR #7217

eastl
Done
Revert, new PR #7276

google-cloud-cpp
Done
google-cloud-cpp   has been upgrade to version 0.11.0 at master branch and build okay, it   failed with ‘CMake Error: : System Error: Permission denied’, the failures in   PR-EAGER is fake.

itk
In progress
The built-in gdcm   used by itk conflicts with port gdcm. It build here due to   we upgraded its dependency port double-conversion and expat, we think itk   need a separate fix.

angel
In progress
Revert, since the updated version of the angle is missing   some header files in the source(proc_table.h/proc_table_gles.h etc.), we will   summit a separate PR for it.

cutelyst2
In progress
Revert, we will summit a separate PR for it.

vxl
Blocked
Revert, vxl needs to wait for official support for   the latest openjpeg2 before updating, see #627.

@Rastaban, could you help have a look if gdcm disabled on linux and osx here? it's still conflict. itk build successfully on my local vm.

google-cloud-cpp has been upgrade to version 0.11.0 at master branch and build okay, it failed with ‘CMake Error: : System Error: Permission denied’, the failures in PR-EAGER is fake.

This error doesn't always occur, but isn't fake. This is due to google-cloud-cpp writing to the source directory, so the correct fix is to DISABLE_PARALLEL_CONFIGURE.


chore: add cache cleaner

🧿 Current issues / What's wrong ?
There is now way to delete all cached contents, in case there was an issue, producing bugged cached contents.
💊 Fixes / Solution
Add a dev script to manually trigger cache clearing. Script only for dev use, and can not be run on prod.
🚧 Changes

Add script to list the contents of the cache
Add script to clear the whole cache

🛠 Tests

To be run only on your locally configured dev storage engine. Do not test with prod settings in your .env or you will wipe the prod cache

Recommend to set your storage engine to file, and add some dummy files to tmp/votes.

yarn ts-node scripts/list-cache.ts to list the cache contents
yarn ts-node scripts/clear-cache.ts to clear the cache

Why do we save wrong cached data? This is just for development, in that case, we can easily modify the folder name with VOTE_REPORT_SUBDIR env right?

It’s for rare cases, when the cached data are wrong, like some edge cases we did not foreseen.

Either way, the function to delete files is not wasted, and will be reused in https://github.com/snapshot-labs/snapshot-sidekick/issues/80

And in cases where cached files contains error, even if we change the cache dir, we still need to clear those files to reduce cost

I feel like it is very easy to delete/rename files on AWS/DO spaces. can merge this but just worried about the unwanted code 🙈

example


Can't run tasks on Git-Bash integrated terminal on Windows

VSCode Version: Code - Insiders 1.11.0-insider (c995ecf2e94a00aa7eda81ed842e787b999e83ae, 2017-03-27T06:11:09.027Z)
OS Version: Windows_NT ia32 10.0.15063
Extensions:

Extension
Author
Version

vscode-file-peek
abierbaum
1.0.1

html-snippets
abusaidm
0.1.0

project-manager
alefragnani
0.13.5

quitcontrol-vscode
artdiniz
2.0.2

path-intellisense
christian-kohler
1.2.0

githistory
donjayamanne
0.2.0

tslint
eg2
0.8.1

RunOnSave
emeraldwalk
0.0.16

beautify
HookyQR
1.0.2

vscode-less
mrmlnc
0.6.2

typescript-javascript-grammar
ms-vscode
0.0.18

peep
nwallace
0.0.5

vscode-docker
PeterJausovec
0.0.13

better-merge
pprice
0.5.1

vscode-icons
robertohuertasm
7.4.0

vscode-nginx
shanoor
0.3.1

JasmineSnippets
xabikos
0.2.1

Steps to Reproduce:

Set Git-Bash as the integrated terminal:

    "terminal.integrated.shell.windows": "C:\\Program Files\\Git\\bin\\bash.exe",
    "terminal.integrated.fontLigatures": true,

Define a task using tasks version 2.0.0:

{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "2.0.0",
    "command": "node",
    "isShellCommand": true,
    "args": [
        "node_modules\\typescript\\bin\\tsc",
        "-w",
        "-p",
        "./src/tsconfig.json"
    ],
    "showOutput": "silent",
    "problemMatcher": "$tsc"
}

Execute run task

Terminal displays:
/usr/bin/bash: Files\Git\bin\bash.exe: No such file or directory
Press any key to close the terminal

Have you tried escaping the space in the middle of the string? i.e.
 "terminal.integrated.shell.windows": "C:\\Program\ Files\\Git\\bin\\bash.exe",

@Tyriar assigning to you. I simply rely on the terminal settings.

@steve-p-com I did a simple test to add a \ as you suggested, but that became invalid JSON. I didn't try any other escaping options, and importantly this value works for the integrated terminal, so any change would need to work with both.

The terminal works fine with spaces in the path, here's my setting:
https://github.com/Tyriar/dotfiles/blob/master/modules/vscode/config/settings.json#L22
It looks like this is running within bash or WSL:

/usr/bin/bash: Files\Git\bin\bash.exe: No such file or directory
Press any key to close the terminal

@dbaeumer do you know what shell and args are sent to the new terminal instances in this case?

The args look like this:

I get to the shell executable using mergeDefaultShellPathAndArgs

Not sure what's happening here, the error is clearly coming from bash as it starts with /usr/bin/bash

@Tyriar I was looking at a different commit (#23578), and noticed that I have isShellCommand: true in my task config, after changing it to false, the task was run successfully.
This same config worked fine with the previous task runner, so I'm not sure what exactly the bug is:

Is isShellCommand still relevant?
If it is, when should it be used?
If not, maybe removing it from the tasks schema is enough?

isShellCommand is still necessary. If set to true the node executable is executed inside a Git bash.exe in our setup. If isShellCommand is false then node is executed directly without a surrounding Git bash.exe. In this case you loose some features (variable expansion, ...) but gain simpler setup

I've a simple tasks.json, without isShellCommand, and getting the same result on the May release:

Shell is set to git bash as per other configurations on this thread   "terminal.integrated.shell.windows": "C:\\Program Files\\Git\\bin\\bash.exe",.

@Tyriar marked for June since this now causes issues with PowerShell as well under Windows.

I suspect this is related to the fix for https://github.com/Tyriar/node-pty/issues/41
Notice how the file and args are returned when args is a string: https://github.com/Tyriar/node-pty/pull/47/files#diff-06c24ba7a8249f1158cb1c985df3993fR98
Changing that line to this may fix that:
return `${argsToCommandLine(file, [])} ${args}`;

Created https://github.com/Tyriar/node-pty/issues/91 to follow this up in node-pty

@dbaeumer please verify using Insiders tomorrow :smiley:

@Tyriar Thanks. Verified today with latest insider.

Here is a quick workaround.  Use the short-names so spaces aren't an issue :)
"terminal.integrated.shell.windows": "C:/Progra~1/Git/bin/bash.exe"


Initial short url support in /instances

Is this a joke?

 Tell me how to improve it.

Consulting akis on this might be a better idea than asking me, but spacing is all wrong at least

g


Support explicitly setting agency and reporting period in the ARPA Reporter upload API

Subtask of: #786
DOD: POST requests to the /api/uploads endpoint support supplemental reportingPeriodId and agencyId fields.
Implementation details:

Inspect the body of the incoming request object (which multer makes available via req.body) for non-null reportingPeriodId and agencyId field values.
When reportingPeriodId is not null, use that value (not the value returned by getReportingPeriod()) to set the reporting_period_id value on the upload being saved to the DB.
When reportingPeriodId is null, default to the current behavior of deriving this value by calling the getReportingPeriod().

If the reportingPeriodId is invalid, abort the upload (deleting any partially-created file) and respond with an error.

When agencyId is not null, first validate that the authenticated User is associated with that Agency. Then, use the value to set the agency_id value on the upload being saved to the DB.

If the user is not associated with the identified agency, abort the upload (deleting any created files) and respond with an error.
If the contents of the spreadsheet also provide an Agency ID that does not match the value submitted in the request's form data, abort the upload (deleting any created files) and respond with an error.

When agencyId is null, default to the current behavior of deriving this value from the contents of the uploaded spreadsheet.

Technical notes:

Because the POST /api/uploads  route expects a multipart/form-data request to provide the uploaded file (rather than, say, a base64-encoded text representation of the file), it is not possible to provide a JSON payload like most other API requests. Therefore, the client will provide supplemental data in additional form-encoded fields, which are then exposed server-side via req.body.
According to the multer README, the req.body property may not be fully populated until the request (including/especially the incoming file upload) has been fully read. Therefore, it may be necessary to defer checks for supplemental data fields until after the req.file buffer has been completely written to the local filesystem.

Hey @TylerHendrickson / @trumanc , I have a few logistical questions around this actually that I wanted to clarify before I move this patch out of DRAFT:

When reportingPeriodId is not null, use that value (not the value returned by getReportingPeriod()) to set the reporting_period_id value on the upload being saved to the DB.

It is possible to call getReportingPeriod with a reportingPeriodId, but if you do so, it filters by tenant by default. Should we be bypassing getReportingPeriod in this case entirely (and thereby ignoring the tenantId) and setting the value, or do as getReportingPeriod does and do that tenant filter here as well? The proposed implementation uses getReportingPeriod but this may be too restrictive.

When agencyId is not null, first validate that the authenticated User is associated with that Agency.
The current code calls

const userRecord = await getUser(userId);
    if (agencyId !== userRecord.agency_id) {

Is this what is intended by "associated with that Agency", that the user must have their agency_id set to this value specifically? I'm realizing that in the UI ticket, we call out that there should be a dropdown list of potential agencies, which we get with
this.$store.state.agencies.map((agency) => ({ text: agency.name, value: agency.id }));

so in theory we'd have agencies there that could be selected but which aren't assigned to a given user. It seems we may want to relax this / I may be misunderstanding that particular phrase?

If the contents of the spreadsheet also provide an Agency ID that does not match the value submitted in the request's form data, abort the upload (deleting any created files) and respond with an error.

We currently don't parse the form until after it is persisted to disk. To do so beforehand would be a relatively significant shift. With the proposed patch, the behavior is that validation happens after persistence, and if there are issues, the sheet is still persisted/we don't delete it. Is this acceptable, or should I consider moving the order in which the parsing of the form itself happens?

When agencyId is null, default to the current behavior of deriving this value from the contents of the uploaded spreadsheet.

Similar to the above, this happens to take place during the validate phase, but in theory we could do this by parsing the sheet sooner - do we want to, or is it acceptable for this to happen later as part of the post-persistence validation phase, as it currently does?
Happy to talk through any of these on a call also if it would be easier!

I've rebased these changes against _staging just now and pushed back to this branch. The patch is generally ready to go now and has tests, but I did want to make sure to check on the above!

Thanks @trumanc for the clarifications! I've updated the patch to consult the user's tenant's list of agencies based on your feedback. The patch is now ready for review


"Carpen" is listed in the drop-down menu

Description:
"Carpen" is listed in the drop-down menu alongside its corresponding county and commune, according to the law.
Precondition:
The website is up an running.

Step 1
Type "Carpen" in the search bar.

Expected results
The location is listed in the drop-down menu as "Comuna Carpen, DOLJ".


Find and Replace

First of all, thank you so much for this great tool - it's a lifesaver.
I have a use case where I have a dozen xlsx with enormous amount of data (about 500K cells total) and I need to look for about 2000 strings and replace them with other strings. Some times, the string is the only thing in a cell, but most often a whole sentence was written and somewhere in it there's the string I'm looking for. Basically find and replace times 2000.
I couldn't find a built in way to search or replace so my solution involves iterating thru every cell and drawing of every sheet of every file. On top on that, some cells are RichText, forcing me to iterate thru the richtext collection to find and replace.
Running my script takes about 75 minutes right now and it feels inefficient. I'm looking into hyper threading with invoke-parallel, but before going there : Did I miss something ? Is there a better way to look up and replace a value than looking at every cell and drawing  ?

There's nothing in the module.
2000 search and replace operations in 75 minutes is about 2 seconds each.
I'd write it as
$xl = Open-ExcelPackage <<path>>
$xl.<<sheet>>.Cells.where({$_.value -like "*find*"}).foreach({$_.value = $value -replace "find","Replace"})
close-excelPackage $xl

with something to loop through the 2000 find / replace pairs between the open and close.
Whether you can get the time per search down much that way I don't know because with 500K cells, you're always going to have to 500K comparisons to do. (x 2000 is a billion!)
My Start-Parallel module, and others like invoke-Parallel , rely on runspaces - you can spawn runspaces quickly but there's no data transfer between them so you can't have a thread for each column of the worksheet. What you could do to make it thread better is to have multiple threads looking for cells which need to be changed,  feeding one which makes the changes.

Thanks for the feedback. I ended up using invoke-Parallel with one xlsx per runspace and cut my time in half.
I didn't think about using where-object, I was using foreach Cells. I'm sure that's much faster. I'll try it out tomorrow.

I had to use the following format to change the value in matching cells:
$xl.<<sheet>>.Cells.where({$_.value -like "*find*"}).foreach({$_.Value = "Replace"})


Error compiling by Bintray 502

The main error is because the server is under bintray, is there any other way to implement tensor-flow-lite?
According to Jfrog Bintray it has been canceled as of May 1, what will happen? does anyone know how to implement it?
This package is the problem tflite 1.1.2
`

Could not determine the dependencies of task ':app:processDebugResources'.
Could not resolve all task dependencies for configuration ':app:debugRuntimeClasspath'.
Could not resolve org.tensorflow:tensorflow-lite:+.
Required by:
project :app > project :tflite
Failed to list versions for org.tensorflow:tensorflow-lite.
Unable to load Maven meta-data from https://google.bintray.com/exoplayer/org/tensorflow/tensorflow-lite/maven-metadata.xml.
Could not get resource 'https://google.bintray.com/exoplayer/org/tensorflow/tensorflow-lite/maven-metadata.xml'.
Could not GET 'https://google.bintray.com/exoplayer/org/tensorflow/tensorflow-lite/maven-metadata.xml'.
Received status code 502 from server: Bad Gateway`

I do not occupy proxy or anything, the error is only from Bintray...days ago the server worked well and now it doesn't.
This Bintray issue has been a headache, please help.

I have same problem  . and I solved by doing:

disabled  image_picker-0.6.7 build.gradle  maven {“google.bintray”}...
replaced all jcenter() to mavenCentral() in Dart Packages
replaced all jcenter() to mavenCentral() in C:\Users\Qian\flutter\packages\flutter_tools\gradler\esolve_dependencies.gradle and
C:\Users\Qian\flutter\packages\flutter_tools\gradler\flutter.gradle
removed pubpesc.lock；
run project


Fixes small typo in Unity Hololens guide

optional but my help -> optional but may help

@thatonejason : Thanks for your contribution! The author(s) have been notified to review your proposed change. @jessemcculloch


Commit messages

Context
We currently don't have a standard commit message template. Please add one to the contributor guidelines, that make sense to this project.
System
Example

Hello, I'd like to give it a go. Is this issue still vacant?

this is vacant, thanks @savvy-itch


tag searches do not honour # in query

Expected Behavior
With this query:
tags include #home
I expect only tasks with #home to be matched.
So I expect this to be found:
- [ ] stuff #home
And this not to be found:
- [ ] stuff #location/home
Current behaviour
tags include #home
matches both of this:
- [ ] stuff #home
- [ ] stuff #location/home
Steps to reproduce
Create a markdown file called delete me.md with this content:
# delete me

-  [ ] stuff I should be found #home
 - [ ] stuff I should not be found #location/home

```tasks
not done
tags include #home
path includes delete me.md
```

Expected behaviour: Only the first task is matched
Actual behaviour: Both tasks are matched
Which Operating Systems are you using?

[ ] Android
[ ] iPhone/iPad
[ ] Linux
[X] macOS
[ ] Windows

Obsidian Version
0.15.9
Tasks Plugin Version
1.12.0
Checks

[ ] I have tried it with all other plugins disabled and the error still occurs

Possible solution
Change this:
            // Search is done sans the hash. If it is provided then strip it off.
            const search = tagMatch[3].replace(/^#/, '');

to this in TagsField.ts
            const search = tagMatch[3];

This arose from https://github.com/obsidian-tasks-group/obsidian-tasks/discussions/1040#discussioncomment-3541756

There is a chance that this is a breaking change, if someone wrote this:
tags include #home
And intended it to match home as a sub-string of a tag.
I do not think this is likely, and I think the greater precision of having the # honoured, together with the fact that fixing this will greatly simplify the implementation of #1040, means that I am going to go ahead and make this change.


Cyclic type definitions

This PR fulfilles #22 ...

for Classes and Functions (other types are still missing, but should be straight forward)!
various test cases
lots of bug fixes
@Lotes It is not required to explicitly call "resolveTypesNow" or something like that 🙂
introduced Identifiers (different than Names)
validation (instead of exception) for super-sub-class cycles

Hints for the review

Do you have ideas for more (test) cases with cycles or difficult topological ordering of types?
What do you think about the general architecture?
Reviewing this PR commit by commit might work not that good, since I reworked the cycle handling logic several times.

Future work in separate PRs:

support the remaining types
double-checking, some parts don't feel 100% yet

I pushed the last fixes according to your review. The suggested additional test cases were very helpful to find some more bugs! Thank you very much for your reviews @Lotes and @insafuhrmann!


Bot fails to send a message

We are testing Company Communicator to groups (Teams) and found that the bot was unable to send the message to some users.
We have tried sending with the option "Sent in chat to members of the following groups".
We have last version 5.4.1
But we have this message:
Failed to install application for user: zzzzzzzz-xxxx-yyyy-xxxx-yyyyyyyyyyyy. Exception: Code: Forbidden Message: Missing role permissions on the request. API requires one of 'TeamsAppInstallation.ReadWriteSelfForUser.All, TeamsAppInstallation.ReadWriteAndConsentSelfForUser.All, TeamsAppInstallation.ReadWriteForUser.All, TeamsAppInstallation.ReadWriteAndConsentForUser.All, TeamsAppInstallation.ReadWriteForUser.Selected'. Roles on the request 'TeamsAppInstallation.ReadForUser.All, User.Read.All, GroupMember.Read.All'. Inner error: AdditionalData: date: 2023-09-19T13:38:00 request-id: 4a02805b-fe37-4fed-9066-f76b4059957b client-request-id: 4a02805b-fe37-4fed-9066-f76b4059957b ClientRequestId: 4a02805b-fe37-4fed-9066-f76b4059957b
In deployment guide, at this point (https://github.com/OfficeDev/microsoft-teams-apps-company-communicator/wiki/Deployment-guide#4-add-permissions-to-your-microsoft-graph-azure-ad-app) the permissions are only TeamsAppInstallation.ReadWriteForUser.All.
Is this a question only for update the deployment guide in this new version?

there is a error at deploy time, with permissions in App.
Soy un zoquete


Type issue on goToIndex

Describe the bug
When using the package with typescript and react there is an issue on the type of goToIndex. It's type does not support any parameters, when it should support (index:number)
To Reproduce
Steps to reproduce the behavior:

Install react-gallery-carousel and @types/react-gallery-carousel
Click on try to use ref.current.goToIndex(1)
See error (Expected 0 arguments, but got 1.) on the "1" paramenter of goToIndex

Expected behavior
No type error when using the index parameter on goToIndex;
If I'm not wrong, the CarouselRef type should be:
    type CarouselRef<T = unknown> = T & {
        ...
        goToIndex(index: number): void;
    };

Hi @acewebsolutions ! Thanks for raising this issue up! 😀
I can see the parameter is missing in goToIndex  function.
I will update the interface written by (@guilhermefront) and include it in the package.

Sorry for the inconvenience @acewebsolutions @yifaneye
@types/react-gallery-carousel got updated to 0.2.1 with the goToIndex parameter.

No worries @guilhermefront ! I am a little busy at the moment. Thank you for maintaining the type definition for react-gallery-carousel!


Ｈｏｗ　ｔｏ　ｅｘｔｒａｃｔ　feature ?

Ｈow can I use your trained model to extract image(my dataset) features　ａｎｄ　then save them for further clustering？
Thank you in advance for the answer

@zuoeye There is write function located at line 300 in train.lua try uncommenting that. That will give you .h5 file which should contain features you want.


Error when training starts. ZeroDivisionError: integer division or modulo by zero

I know you pretty much abandoned this project, but i'm trying to make it work with tensorflow 0.12.1 and i'm getting this when the training "starts" (actually it freezes at 0% and then shows this error)
Model creation...
WARNING:tensorflow:From /media/sata/MusicGenerator/deepmusic/model.py:246 in _build_network.: scalar_summary (from tensorflow.python.ops.logging_ops) is deprecated and will be removed after 2016-11-30.
Instructions for updating:
Please switch to tf.summary.scalar. Note that tf.summary.scalar uses the node name instead of the tag. This means that TensorFlow will automatically de-duplicate summary names based on the scope they are created in. Also, passing a tensor or list of tags to a scalar summary op is no longer supported.
E tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:923] could not open file to read NUMA node: /sys/bus/pci/devices/0000:00:00.0/numa_node
Your kernel may have been built without NUMA support.
I tensorflow/core/common_runtime/gpu/gpu_device.cc:885] Found device 0 with properties:
name: NVIDIA Tegra X1
major: 5 minor: 3 memoryClockRate (GHz) 0.9984
pciBusID 0000:00:00.0
Total memory: 3.89GiB
Free memory: 2.85GiB
I tensorflow/core/common_runtime/gpu/gpu_device.cc:906] DMA: 0
I tensorflow/core/common_runtime/gpu/gpu_device.cc:916] 0:   Y
I tensorflow/core/common_runtime/gpu/gpu_device.cc:975] Creating TensorFlow device (/gpu:0) -> (device: 0, name: NVIDIA Tegra X1, pci bus id: 0000:00:00.0)
E tensorflow/core/common_runtime/gpu/gpu_device.cc:586] Could not identify NUMA node of /job:localhost/replica:0/task:0/gpu:0, defaulting to 0.  Your kernel may not have been built with NUMA support.
Initialize variables...
WARNING: No previous model found, but some files/folders found at /media/sata/MusicGenerator/save/model. Cleaning...
Removing /media/sata/MusicGenerator/save/model/train/events.out.tfevents.1511396622.tegra-ubuntu
Start training (press Ctrl+C to save and exit)...

------- Epoch 1 (lr=0.0001) -------
Subsampling the songs (train)...
Shuffling the dataset...
Generating batches...
Subsampling the songs (test)...
Shuffling the dataset...
Generating batches...
Training:   0%|                                                                                | 0/2 [00:00<?, ?it/s]Traceback (most recent call last):
  File "main.py", line 29, in <module>
    composer.main()
  File "/media/sata/MusicGenerator/deepmusic/composer.py", line 197, in main
    self._main_train()
  File "/media/sata/MusicGenerator/deepmusic/composer.py", line 255, in _main_train
    next_batch_test = batches_test[self.glob_step % len(batches_test)]  # Generate test batches in a cycling way (test set smaller than train set)
ZeroDivisionError: integer division or modulo by zero

Any ideas?
Does this relates to the tags warning?

File "/media/sata/MusicGenerator/deepmusic/composer.py", line 255, in _main_train
You should open this script composer.py and find this line :
next_batch_test = batches_test[self.glob_step % len(batches_test)]
the parameter len(batches_test) here is zero because the batches_test is empty.
the batches_test is got by this code,in the same script:
batches_train, batches_test = self.music_data.get_batches()
Now is the solution:
Open the batchbuilder.py script and find :
def get_list(self,  dataset, name):
""" See parent class for more details
Args:
dataset (list[Song]): the training/testing set
name (str): indicate the dataset type
Return:
list[Batch]: the batches to process
"""
focus on the code
for i in range((nb_samples//self.args.batch_size)):
yield extracts[i*self.args.batch_size:(i+1)*self.args.batch_size]
the main reason is that nb_samples is too small to divided by  self.args.batch_size（equal 0）
so this code don't work，you should input some long songs
What I input are the Bach Piano Songs ，which I download from Internet


include "typings" field in package.json

Now that the TS compiler supports module resolution via node, it would be nice not to use TSD to install the typing but instead have them included with the npm package.

We don't have any typings. What would we put in the field?

@dougwilson I would be interested in maintaining them, if that sounds reasonable.

@blakeembrey , that is absolutely reasonable! I was just talking about these typings today and I think Express should provide official typings for TypeScript as a feature! This means that we would be invested in properly maintaining them as part of the normal commit and release process. If you want to provide the initial typings for Express, that would be amazing!
Ideally I would love it if we could achieve these things:

Provide bindings to users of Express
Add a step to our CI that would validate that the bindings are correct somehow (to help prevent them from deteriorating accidentally)

These can be independent tasks, but I think Express is going to say yes to supporting TypeScript binding out of the box.

Fantastic, I'll work on making sure the CI step is solved properly this week.

@blakeembrey that sounds great :+1: @dougwilson does this mean that typings will also be added to the other expressjs packages (morgan, session, etc.)?

does this mean that typings will also be added to the other expressjs packages (morgan, session, etc.)?

yes

Great, because I was having a hard time figuring out how to write those typings properly as I kept getting some errors about the way I was declaring them (I was using ambient typings and I realized that is not the way to go).

We actually had this problem come up in multer where the type file that someone used wouldn't account for our middleware adding fields to the req object (namely req.file). Is this a problem that could be solved somehow? I think that it affects most middleware...
Other than that, we would be happy to include and maintain "typings" for multer as well :)

@LinusU Mutations are hard to represent in TypeScript, especially with things like adding a field during middleware execution. It's possible to merge the interfaces and we should do that, if nothing else, but I'm not aware of a way to declaratively merge types depending on possible in middleware. That's something I've been thinking about anyway, but I'm glad to share an example of how this would work.
The reason I haven't yet tried to merge this into Express is because I haven't had time to solve the test suite involved. The closest I have is a feature I've had for a while - bundle the typings, then run the TypeScript compiler, then run unit tests as usual.

Would maintainers be interested in converting the express source to TypeScript, so we could automatically generate correct typings with each release? I'd be down for helping with the conversion. // @dougwilson @ritch

Hi @jeffbcross, thanks for the offer, but there is no plan to convert the source to anything other than pure JavaScript, I'm sorry.

Thanks @dougwilson I'm asking about openness to such a thing. I.e. knowing your contributor base, would typescript support be something contributors would want (or at least live with)? I could enumerate the benefits here beyond typings generation if it would be helpful.

Hi @jeffbcross, I am generally aware of the benefits, but I don't think it aligns with our user base, or even our maintainers. For example, I don't even understand TS and really can't even judge it unless there is a class I can take to learn it? The biggest barrier is that unless the idea is that we transfer ownership of express to you, at the very least the current contributors should know TS well enough to continue to contribute to this module.
I know there is a very minor community that would like TS bindings, mainly for the IDEs, but other than that, I have no real idea how it would impact the user base.
Thoughts? And why would it be necessary to completely change the language this module is written in just to declare type bindings?

I was looking for issues related to typescript and stumbled upon this.  Can we close this since it has been inactive for so long?  Or maybe @blakeembrey can close it along with a status of the typescript support for express?

It still seems like a good thing to have, even though there hasn't been any movement. I guess the question is do we want this at some point? If so, we don't have a good way to track this wait besides having an open issue somewhere about it, right?

I guess I assumed that we were good with just pointing people to the DT repo.  I think it is surface area that express should probably avoid supporting since only Blake is familiar with the requirements, and the DT project seems to have the support behind it.

Gotcha. I never got into TS myself, but I see the value of it. I'm OK with adding typings if that helps the TS community in some way, though I just don't know enough to really help a ton. I guess we can close this and reopen (or a new one opened) if there is a proposal, ideally including the actual definitions, to add into Express.

What about the types from here: https://www.npmjs.com/package/@types/express

That is the package we were talking about above :)

ok sry

In #3972 @commonbreed mentions those typings are out of date.  Can you provide some more details here?  What is out of date, is there a simple PR we can make to update them?

@wesleytodd It's likely that the "outdated" types are still accurate, as I don't know whether any signatures have changed since 4.16.1 and 4.17.1. Regardless, it would be nice to have the types package consistent with Express versioning. (Every Express release, make a PR to the types package?)

Although I think a TS port is more appropriate.

Thanks @commonbreed.  Can you explain what you mean by "TS port"?

It's likely that the "outdated" types are still accurate

whether any signatures have changed from 4.16.1 to 4.17.1

I see what you mean, and the answer is probably that they are still accurate.

it would be nice to have the types package consistent with Express versioning

If this is something the typescript community is used to, then we would probably like to support that.  That being said, we would need someone from the community who actively uses typescript to step up and maintain them.  Is that something you would be interested in?

Ah, just noticed dougwilson has prohibited porting this code base to TypeScript, which is reasonable in the short term - seems to be what many middlewares are opting for too.

If this is something the typescript community is used to, then we would probably like to support that.

Unfortunately, this is not something the community is used to as such. Types don't tend to be updated until there is a significant code refactor, or until someone reports them as broken. It can be confusing to TypeScript developers when they see npm has pulled an "older" types package. I think it's probably very safe to add DT typing as a dependency (not a devDependency) - this is a library. I'll make a PR now.

#3973

dougwilson has prohibited porting this code base to TypeScript

Doug is not a dictator.  He and the rest of the contributors do not want to port anything to TS.  I believe if you search the repo you can find many conversations where we have all shared our opinions on this, so I will not repeat them.  But I did not want someone to come along and read this and miss-understand the situation by reading your comment alone.

Unfortunately, this is not something the community is used to as such.

Ok, I don't won't to add more on that PR discussion yet.  But from your comment here it sounds like we do not want to do something which is not already in line with what the TS community expects.  If they already are used to installing @types/express and the version miss-match is fine as long as the types are still correct, then I would prefer to leave it that way.

I think it's probably very safe to add DT typing as a dependency

Again, not getting into the issues in the PR, I disagree that adding DT as a dep here is a good thing.  It is not a dep, and since users can opt into typescript and other not, we don't want to make changes which effect everyone for the sake of the few.

Doug is not a dictator. ...
I'm fully aware this is a community project and never supposed Doug to be such. Perhaps "prohibited" was a little strong, but the sentiment was to suggest that a TypeScript port is likely not going to be on the table any time soon, so to consider alternative options.

If they already are used to installing @types/express and the version miss-match is fine as long as the types are still correct, then I would prefer to leave it that way.

My reason for picking up this issue in the first place was to address specifically Express' lack of typings. Express has over 9M weekly downloads on NPM, and has a large community of middleware developers who might depend on solid, directly maintained types for linting, integration into CI/testing etc.

It is not a dep
I mostly concur. Adding this dependency here is probably not the right move. It causes all kinds of issues with versioning and redundancy. I would however urge folks to consider ensuring PRs are at least made to DT's Express types to ensure any API changes are immediately reflected for TS developers. Don't need to make them a dependency - but at least ensure they're up to date. TypeScript is involved in over 30% of projects on NPM, so it's important for types not to get left behind.

I'm fully aware this is a community project and never supposed Doug

I was not admonishing you, just making sure the governance model was clear to everyone who might read this in the future :)

I would however urge folks to consider ensuring PRs are at least made to DT's Express types to ensure any API changes are immediately reflected for TS developers

I fully agree here.  We would love to have someone who has the right knowledge in this area to participate and ensure that we have updated typings.  If that person is you, then I would suggest following the repo so you see when update branches are being prepared.  Today the matter is just that none of the active core team members (except @blakeembrey who is busy with many other things) are TS users.  So we just don't have the person power to make it happen.

wow this is since 2015, till this day we still looking for type.


Console - compaction edit

The compaction dialog is implemented in order to allow users to add and edit the compaction configuration for each data source, where they could specify input segment size bytes. maximum number of segments to compact and etc..

If the compaction configuration is already set, users could edit or delete the configuration through the dialog

If the compaction configuration has not been set yet, the dialog will load the default values for every property and the user can make the changes.

Two fields Task context and Tuning config require users to input either nothing at all or valid JSON representation before they can submit the configuration

Made a PR to Apache Druid


NUnit Autodata - No Arguments were provided msg.

I'm using VS 2013 with NUnit 2.6.4 and the latest AutoFixture.NUnit2, and am experiencing a "No arguments were provided" message on a test leveraging the [Test, AutoData] attributes.
I've attempted to leverage the bindingRedirect setup in the app.config file, swapped out the newer nunit.framework and core.interfaces, to no avail.
I did see that there was a similar issue about one year ago with reSharper , though I'm not using that.  I wanted to find out if anyone else has successfully created a working combination with 2.6.4 and the older components.  Lastly, it's possible that this is just a lack of knowledge on my part as tdd is something relatively new that I'm trying to setup. I appreciate any advice that can be provided. Thanks!

As you've already seem to have found, there are lots of problems with NUnit's extensibility model, which causes all sorts of problems with AutoData for NUnit as well.
If at all possible for you, I'd recommend that you use xUnit.net with AutoFixture.XUnit instead.
For the specific issue, perhaps @gertjvr can help...

Closing due to inactivity, and because I, personally, have no idea how to address it.
Not that I'm particularly proud of it, but it serves no purpose leaving this issue open...

I switched over to xUnit and have been very pleased. Thank you


[FEATURE]  !poll should have a 5-scale voting system

instead of "yes dontcare no" it should be "heavyyes mildyes dontcare mildno heavyno"
dunno what emotes to do for it though

disagree tbh - that makes actually looking at the result unnecessarily hard, and if you have that much of a nuanced 🧅 then you probably wanna type that out anyways,...
although obviously open for further 🧅s

that makes actually looking at the result unnecessarily hard

ehhhhhhhhhhhhhhhhhhh fair

and if you have that much of a nuanced onion

You don't need to have a nuanced opinion to have a strong/weak(but still existent) opinion on something.
Someone who has a strong preference towards an action happening should be more valued more than someone else who has a mild preference towards it not happening.

then you probably wanna type that out anyways

Discussion in #polls is already annoying enough.  And also that kinda ruins your point that it "makes looking at the result unnecessarily hard".

This feels more like a rating system than a poll, so maybe !rate 🤔

This feels more like a rating system than a poll

i guess we've been misusing #polls my bad
It's not often that it's black and white, there is always different levels of preference.


Add ExDoc documentation generation for SwiftUI Views

This will use the JSON produced by Apple's DocC to generate markdown files for ExDoc.
To try it out:

Generate the Swift documentation extensions

xcrun swift package plugin --allow-writing-to-package-directory generate-documentation-extensions

Build documentation with DocC

xcodebuild docbuild -scheme LiveViewNative -destination generic/platform=iOS -derivedDataPath docc_build -skipMacroValidation -skipPackagePluginValidation

Generate ExDoc extras

mix lvn.swift_ui.generate_documentation

Build documentation with ExDoc

mix docs

We can generate cheatsheets too, which could be useful for a quick look at the code samples in the documentation:

yes, please

Tooltips are now supported for links to views, attributes, and events.
https://github.com/liveview-native/liveview-client-swiftui/assets/13581484/a5ab3b19-54ea-47ce-bd11-afbac2890551

@BrooklinJazz could you please review that one

@carson-katri I seem to be getting an error when I try to run the first command:
liveview-client-swiftui % xcrun swift package plugin --allow-writing-to-package-directory generate-documentation-extensions

warning: could not determine XCTest paths: terminated(1): /usr/bin/xcrun --sdk macosx --show-sdk-platform-path output:
    xcrun: error: unable to lookup item 'PlatformPath' from command line tools installation
    xcrun: error: unable to lookup item 'PlatformPath' in SDK '/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk'

error: 'liveview-client-swiftui': Invalid manifest (compiled with: ["/Library/Developer/CommandLineTools/usr/bin/swiftc", "-vfsoverlay", "/var/folders/67/286j4b4x6gsgz5qh8qsry66c0000gp/T/TemporaryDirectory.Xeh1Q8/vfs.yaml", "-L", "/Library/Developer/CommandLineTools/usr/lib/swift/pm/ManifestAPI", "-lPackageDescription", "-Xlinker", "-rpath", "-Xlinker", "/Library/Developer/CommandLineTools/usr/lib/swift/pm/ManifestAPI", "-target", "arm64-apple-macosx13.0", "-sdk", "/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk", "-swift-version", "5", "-I", "/Library/Developer/CommandLineTools/usr/lib/swift/pm/ManifestAPI", "-sdk", "/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk", "-package-description-version", "5.9.0", "/Users/brooklin/liveview-client-swiftui/Package.swift", "-Xfrontend", "-disable-implicit-concurrency-module-import", "-Xfrontend", "-disable-implicit-string-processing-module-import", "-o", "/var/folders/67/286j4b4x6gsgz5qh8qsry66c0000gp/T/TemporaryDirectory.jpjlkd/liveview-client-swiftui-manifest"])
/Users/brooklin/liveview-client-swiftui/Package.swift:5:8: error: no such module 'CompilerPluginSupport'
import CompilerPluginSupport

Any thoughts on how I can resolve the issue so I can continue the review?

Seems like the docc_build folder is causing an issue with ElixirLS (I also tried elixir-tools). I'm looking into configuration options to ignore the folder and resolve the issue.

@carson-katri I seem to be getting an error when I try to run the first command:
liveview-client-swiftui % xcrun swift package plugin --allow-writing-to-package-directory generate-documentation-extensions

warning: could not determine XCTest paths: terminated(1): /usr/bin/xcrun --sdk macosx --show-sdk-platform-path output:
    xcrun: error: unable to lookup item 'PlatformPath' from command line tools installation
    xcrun: error: unable to lookup item 'PlatformPath' in SDK '/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk'

error: 'liveview-client-swiftui': Invalid manifest (compiled with: ["/Library/Developer/CommandLineTools/usr/bin/swiftc", "-vfsoverlay", "/var/folders/67/286j4b4x6gsgz5qh8qsry66c0000gp/T/TemporaryDirectory.Xeh1Q8/vfs.yaml", "-L", "/Library/Developer/CommandLineTools/usr/lib/swift/pm/ManifestAPI", "-lPackageDescription", "-Xlinker", "-rpath", "-Xlinker", "/Library/Developer/CommandLineTools/usr/lib/swift/pm/ManifestAPI", "-target", "arm64-apple-macosx13.0", "-sdk", "/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk", "-swift-version", "5", "-I", "/Library/Developer/CommandLineTools/usr/lib/swift/pm/ManifestAPI", "-sdk", "/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk", "-package-description-version", "5.9.0", "/Users/brooklin/liveview-client-swiftui/Package.swift", "-Xfrontend", "-disable-implicit-concurrency-module-import", "-Xfrontend", "-disable-implicit-string-processing-module-import", "-o", "/var/folders/67/286j4b4x6gsgz5qh8qsry66c0000gp/T/TemporaryDirectory.jpjlkd/liveview-client-swiftui-manifest"])
/Users/brooklin/liveview-client-swiftui/Package.swift:5:8: error: no such module 'CompilerPluginSupport'
import CompilerPluginSupport

Any thoughts on how I can resolve the issue so I can continue the review?

Also, we resolved this issue with the following command: sudo xcode-select --switch /Applications/Xcode.app

Is this good for review? I see the one changes requested still

It's ready for another review. I merged in Brooklin's changes, and then made some minor tweaks.


#1658: Fix for using custom Layout icm Email Link

Fix for #1658 .
After this is merged, it is possible to use the EmailLink setting in combination with a custom layout.
This is a work-around at best, because ideally, someone would spend some time to refactor the EmailLink settings. I think it is confusing, that by calling setEmailLinkEnabled(), the ID of the provider is changed (without) any notice.
Let me know your thoughts.

@Entreco this works great for me!  I just tested it.  Thanks for contributing to FirebaseUI.  I am happy to merge this now if you're ready for it.

Thanks for the prompt response! I'm ready if you are ;)


Format removes empty tuples from Impl but not from enum

I had something like
use std::convert::Into;

/// Known paths
pub enum Paths<'a> {
    Batch(),
    Buckets(),
    Bucket(&'a str)
}

impl<'a> Into<String> for Paths<'a> {
    fn into(self) -> String {
        match self {
            Paths::Batch() => format!("/batch"),
            Paths::Buckets() => format!("/buckets"),
            Paths::Bucket(id) => format!("/buckets/{id}", id = id),
        }
    }
}

After running format, it removed the empty tuples from the implementation match but not from the the enum definition. Leading to some errors. You can see the format result and the compiler output.
use std::convert::Into;

/// Known paths
pub enum Paths<'a> {
    Batch(),
    Buckets(),
    Bucket(&'a str)
}

impl<'a> Into<String> for Paths<'a> {
    fn into(self) -> String {
        match self {
            Paths::Batch => format!("/batch"),
            Paths::Buckets => format!("/buckets"),
            Paths::Bucket(id) => format!("/buckets/{id}", id = id),
        }
    }
}

gsurita-30820:kinto-http.rs gsurita$ RUST_TEST_THREADS=1 RUST_BACKTRACE=1 cargo test
   Compiling kinto_http v0.1.0 (file:///Users/gsurita/kinto-http.rs)
error[E0532]: expected unit struct/variant or constant, found tuple variant `Paths::Batch`
  --> src/paths.rs:21:13
   |
21 |             Paths::Batch => format!("/batch"),
   |             ^^^^^^^^^^^^ not a unit struct/variant or constant

error[E0532]: expected unit struct/variant or constant, found tuple variant `Paths::Buckets`
  --> src/paths.rs:22:13
   |
22 |             Paths::Buckets => format!("/buckets"),
   |             ^^^^^^^^^^^^^^ not a unit struct/variant or constant

I have a fix that also removes the parens from the enum declaration, which means that Batch and Bucket would be unit variants instead of empty tuples, and the given code will compile after being run through rustfmt. @nrc , would it be preferable to instead fix it the other way (i.e., change rustfmt so that the match arm stays as an empty tuple, rather than becoming a unit variant)?  I'm not sure if this transformation could unintentionally modify the meaning of the code.
Additionally, with my fix, several tests fail (output attached), which seems to indicate that either (1) this wasn't considered before or (2) we don't want rustfmt to convert empty tuple to unit variant.
testOutput.txt

would it be preferable to instead fix it the other way

Yeah, definitely. The two are technially different and Rustfmt should strive to never change the semantics of programs.


wlgen/rta: Fix calibration value string replacement

Currently, under the assumption that the calibration is an int, we don't quote
it. However it may be a string like "CPU0" in which case we do need to quote it.
Also add a test for this case.

I think that API was meant to always replace pvalue with a proper calibration value, otherwise we do calibration at the beginning. If that's the case, why not just hard-coding the CPU in the JSON template?

Good point, we can just do calibration at the beginning and use that. Will update.

Actually on taking another look it turns out it uses "CPU1" for "profile" too, if you don't provide a calibration Running the full calibration is taken care of by the user of the class. Could change that if we wanted to but IMO it's fine as it is now.

Updated with comment fixed.


Adding --exclude-dirs and --report-dir flags to sast.sh

How to categorize this PR?

/area quality
/kind enhancement
What this PR does / why we need it:
This PR adds --exclude-dirs and --report-dir flags to sast.sh
Example usage:
./hack/sast.sh --exclude-dirs pkg,test,cmd,third_party --report-dir /foo

Special notes for your reviewer:
You can validate the PR by changing the Makefile to
.PHONY: sast
sast: $(GOSEC)
	@./hack/sast.sh --exclude-dirs pkg,test,cmd,third_party

running make sast and taking a look at the logs
Release note:

`sast.sh` has `--exclude-dirs` flag taking comma separated dir paths and `--report-dir` flag

/lgtm

/retest


rename: get_func_by_name to get_func

This renames the new (imports|exports).get_func_by_name to just (imports|exports).get_func. The main reason being that I think the by_name term is overloaded in the functions list already to mean the actual function name instead of the import or export name, so wanted to avoid any confusion here.
Then I updated the delete_by_name functions to be generic named remove functions also without the by_name term to avoid confusion about it.

/cc @vados-cosmonic

Looks good to me -- thanks for the pointer, updating the WASI-Virt PR now!


Are we park yet?

Codecov Report
Attention: Patch coverage is 87.42857% with 22 lines in your changes are missing coverage. Please review.

Project coverage is 92.30%. Comparing base (94744ab) to head (f3bb13c).

Files
Patch %
Lines

src/parking/park.rs
50.00%
10 Missing :warning:

src/inner.rs
93.75%
4 Missing :warning:

src/parking/mutex.rs
95.12%
2 Missing :warning:

src/parking/parker.rs
87.50%
2 Missing :warning:

src/raw/mutex.rs
92.85%
2 Missing :warning:

src/wait.rs
66.66%
2 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##             main      #13      +/-   ##
==========================================
- Coverage   98.97%   92.30%   -6.68%
==========================================
  Files           5       10       +5
  Lines         196      312     +116
==========================================
+ Hits          194      288      +94
- Misses          2       24      +22

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


Experience/12006 receiving updates

This PR ...
Content Updates to Receiving Data Page
Test Steps:

Log into RS
Navigate to Getting started -> Get started as a public health agency
View changes per ticket

Changes

text updates

Checklist
Testing

[x] Tested locally?
[ ] Ran ./prime test or ./gradlew testSmoke against local Docker ReportStream container?
[x] (For Changes to /frontend-react/...) Ran npm run lint:write?
[ ] Added tests?

Linked Issues

Fixes #12006

Thanks, Penny! Just a couple things.

[ ] The "Your system needs" header and text is just an accordion like the others in the section.
[ ] Victor added a last minute change that didn't make into the draft before you took the ticket - under "Data requirements and preferences" add as a last bullet:
"Positive and negative results: Do you require both positive and negative test results?" (It's in the doc now for reference)


Minor edits for readability

For additional irony, comes with typo in the commit message.

Looks good, thanks!


Misaligned and cut-off text in context menu

I have a context menu where some items have icons and some others do not.
When items that have the longest text do not have an icon, their text is wrongly elided and cut off.


preserveSymlinks should be false as nodejs default behaviour

This PR set preserveSymlinks to false to correspond to nodejs default behavior.
nodes docs: https://nodejs.org/api/all.html#cli_preserve_symlinks

@doochik thanks for the PR! I'll get this published ASAP

@doochik this is now published with version 0.3.0.
Side note, np somehow published twice and skipped a version? Super weird... :/

Thanks a lot!


Cannot subscribe when project name contains spaces

We have an Azure Devops project that has two words ("Companyname DevOps"), so that a release pipeline url is https://dev.azure.com/companyname/Companyname DevOps/_build?definitionId=14 (note how the url breaks up even here in github).
The slack bot gives an error when running /azpipelines subscribe command:
Configuration failed. Please make sure that the project 'Companyname> DevOps' exists and that you have sufficient permissions.
Note the added > symbol at the end of Companyname in the error message which isn't in the original url when running the command.
If I add another project that doesn't have spaces in its name, the subscription is added successfully.
Edit: when I replace the spaces with %20, then the subscription is added successfully. So this is the workaround at the moment.

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

ID: 99a6f5aa-7e92-a028-d13e-e1e4b7fede86
Version Independent ID: be7e5d7c-0033-6b72-4bd1-809f7d1894aa
Content: Azure Pipelines with Slack - Azure Pipelines
Content Source: docs/pipelines/integrations/slack.md
Product: devops
Technology: devops-collab
GitHub Login: @atinb
Microsoft Alias: atinb

@kornakar Thank you for the feedback.
Please report this to the product team here.
From what I can see, no one has yet reported on the spaces being an issue, so this information would be very helpful.

Closing this issue now.
Please provide a link to the support ticket if you decide to submit this to the Azure DevOps community.


Remove vim settings bits from a number of documents.

I found the issue by seeing *.pod files being broken in github. Remove all instances I could find.

The modelines are there for a reason; rejecting.
(Also pod being broken on github is a symptom of github not rendering Perl 6 pod, not of the modeliness)

Can you point me to a document the reasoning/explanation?
If they are supposed to be there, is there a reason it isn't present on every file?
Jonathan Otsuka

On Oct 20, 2015, at 11:39 PM, Moritz Lenz<EMAIL_ADDRESS>wrote:
The modelines are there for a reason; rejecting.
(Also pod being broken on github is a symptom of github not rendering Perl 6 pod, not of the modeliness)
―
Reply to this email directly or view it on GitHub.

It's not documented. It's simply handy that every contributor (at least those using vim) uses the same editor settings.
And it's not in every file because we haven't bothered to automate it.

Would it be generally worthwhile to automate it?  If so, I could add a check for the appropriate modelines and add them where necessary.

Broken .pods are unrelated to vim files (See #167)

Could we not add a recommended vimrc file with all the settings and point people to it?

How do you do that? And how nice will that play with ppl jumping between projects?
For example we added the vimlines to the core setting files to not let hard tabs sneak into our codebase. Even when I'm not using vim, I understand that we want to keep them.

I don't use vim so I can't relate. I use the defaults for vi, sublime text and atom.

What's the big issue here? Why can't we just keep the status quo? What's the problem?

There isn't one.  In any other text editor the modeline is just a comment, if something is attempting to parse the file and getting confused by a comment then that thing is broken not the document.

Reading the discussion, I think this was left un answered:

moritz: And it's not in every file because we haven't bothered to automate it.

paultcochrane: Would it be generally worthwhile to automate it? If so, I could add a check for the appropriate modelines and add them where necessary.

So I'd say :+1: to @paultcochrane's suggestion :)


Fix radiasoft/sirepo#2667. rsconf for the sirepo async tester.

@robnagler this is the rsconf for the sirepo test_http timer. You'll neeed to configure on_calendar.

Looks good. Glad you are working on rsconf.

Me too. It's fun. Thanks for the setup help.


Android is not able to send hellolan message?

termchat works on termux https://wiki.termux.com/wiki/Main_Page very well.
One small issue is if you run the  termchat instance in android before the peer one, no communication happens, if you start termchat on termux second (after opening a peer termchat instance in the pc for example) everything works correctly.
to reproduce:
1- open termchat in andorid (via termux)
2 - open termchat in pc  -> no communication happens
..
3- close termchat on android then reopen it -> now communication is established

mmm... it is possible that some layer (termux or android itself) blocks the UDP multicast message. I will investigate it.
Also, for better robustness, I want to make term chat able to send more than one hellolan multicast message, it relatively easy that a UDP packet gets lost. If this happens that instance will not find others.

mmm... it is possible that some layer (termux or android itself) blocks the UDP multicast message. I will investigate it.
Also, for better robustness, I want to make term chat able to send more than one hellolan multicast message, it relatively easy that a UDP packet gets lost. If this happens that instance will not find others.

I think the problem lies in message-io interaction with android because I can reproduce the same bug only using message-io, you can try https://github.com/sigmaSd/AndroChat

I think the problem lies in message-io interaction with android because I can reproduce the same bug only using message-io, you can try https://github.com/sigmaSd/AndroChat

Thanks for the point

Thanks for the point

Hi @sigmaSd, could you confirm if android devices use 32 bits?

Hi,
No, the phone I'm testing with is aarch64.
I retried with master branch of message-io and multicast example its still the same issue.
The pc gets notified when android connects, but android doesn't get notified about any other peer connection.
As far as I can tell android multicast might need some special handling https://stackoverflow.com/questions/4589946/problem-with-multicastsocket-on-java-android
For example "CHANGE_WIFI_MULTICAST_STATE" permission which I doubt termux have out of the box.
Also this looks interesting https://github.com/godotengine/godot/issues/24666
I'll close this for now, if I have more info I'll report back.

Thanks, @sigmaSd, I had an issue registering the sockets in the 32 bits OS poll, and maybe it was related. But the link you have shared seems to point to the problem.


Fixed displaying ToString() method in controllers list

Fixed displaying ToString() method and any other virtual methods in controllers list.

This was fixed with the addition of [NonAction] attribute with 70843daa351c7185bbf8ad403f0149b78b6b5081


Add type coercion rule for date + interval

Signed-off-by: Andy Grove<EMAIL_ADDRESS>Which issue does this PR close?

Closes #https://github.com/apache/arrow-datafusion/issues/2229.
Rationale for this change

Attempting to create a query plan from SQL using date + interval expressions was failing with a type-coercion error because no type coercion rule had been implemented for this operation.
What changes are included in this PR?

This PR implements the type coercion rule for date +/ interval, allowing the SQL query to be converted to a valid logical plan. This is sufficient for the use case of using DataFusion as SQL query planner.
A follow-on issue has been filed for implementing support for this expression in the physical planner:

https://github.com/apache/arrow-datafusion/issues/2236

Are there any user-facing changes?

No

No

the rule of type-coercion should be extracted if there are too many match or switch path