RemovePodsViolatingTopologySpreadConstraint: endless loop of eviction/scheduling for tainted nodes

What version of descheduler are you using?
descheduler version: v0.21.0 (built using latest SHA on master)
Does this issue reproduce with the latest release? Yes
Which descheduler CLI options are you using? None
Please provide a copy of your descheduler policy config file
apiVersion: "descheduler/v1alpha1"
kind: "DeschedulerPolicy"
strategies:
  "RemovePodsViolatingTopologySpreadConstraint":
    enabled: true

What k8s version are you using (kubectl version)?
kubectl version Output
$ kubectl version
Client Version: version.Info{Major:"1", Minor:"20+", GitVersion:"v1.20.4-dirty", GitCommit:"e87da0bd6e03ec3fea7933c4b5263d151aafd07c", GitTreeState:"dirty", BuildDate:"2021-03-15T10:03:32Z", GoVersion:"go1.16.2", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"19", GitVersion:"v1.19.7", GitCommit:"1dd5338295409edcfff11505e7bb246f0d325d15", GitTreeState:"clean", BuildDate:"2021-01-22T22:54:21Z", GoVersion:"go1.15.5", Compiler:"gc", Platform:"linux/amd64"

What did you do?
I created a Kind cluster with 2 workers nodes where one worker node is tainted (and therefore unschedulable).
Following that, I created 2 Deployments and both with a topologySpreadConstraints with keytopology.kubernetes.io/zone (without any tolerations).
Given that neither deployment has a toleration specified, it can never be scheduled on the tainted node.
However, it seems that descheduler does not accommodate for that and causes an endless loop of eviction/scheduling.
What did you expect to see?
Pod to not get evicted given that there is no additional capacity available for scheduling.
What did you see instead?
Pod keeps getting evicted and rescheduled back on the only available worker node.
Steps to reproduce locally

Create a Kind cluster with 2 worker nodes

cat <<EOF | kind create cluster --config=-
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
name: descheduler
nodes:
- role: control-plane
  image: kindest/node:v1.19.7@sha256:a70639454e97a4b733f9d9b67e12c01f6b0297449d5b9cbbef87473458e26dca
- role: worker
  image: kindest/node:v1.19.7@sha256:a70639454e97a4b733f9d9b67e12c01f6b0297449d5b9cbbef87473458e26dca
  kubeadmConfigPatches:
  - |
    kind: JoinConfiguration
    nodeRegistration:
      kubeletExtraArgs:
        node-labels: "topology.kubernetes.io/zone=local-a"
- role: worker
  image: kindest/node:v1.19.7@sha256:a70639454e97a4b733f9d9b67e12c01f6b0297449d5b9cbbef87473458e26dca
  kubeadmConfigPatches:
  - |
    kind: JoinConfiguration
    nodeRegistration:
      kubeletExtraArgs:
        node-labels: "topology.kubernetes.io/zone=local-b"
      taints:
      - effect: NoSchedule
        key: "special"
        value: "true"
EOF

Creating cluster "descheduler" ...
✓ Ensuring node image (kindest/node:v1.19.7) 🖼
✓ Preparing nodes 📦 📦
✓ Writing configuration 📜
✓ Starting control-plane 🕹
✓ Installing CNI 🔌
✓ Installing StorageClass 💾
✓ Joining worker nodes 🚜
Set kubectl context to "kind-descheduler"
You can now use your cluster with:
kubectl cluster-info --context kind-descheduler
Have a nice day! 👋

Follow steps from descheduler README and run the following to run the Descheduler CronJob. I modified this to reference the Docker image built using the latest verison.

kubectl create -f kubernetes/base/rbac.yaml
kubectl create -f kubernetes/cronjob/cronjob.yaml

Don't use the default configmap, but instead use the one below.

cat <<EOF | kubectl apply -f -
apiVersion: v1
kind: ConfigMap
metadata:
  name: descheduler-policy-configmap
  namespace: kube-system
data:
  policy.yaml: |
    apiVersion: "descheduler/v1alpha1"
    kind: "DeschedulerPolicy"
    strategies:
      "RemovePodsViolatingTopologySpreadConstraint":
        enabled: true
        params:
          includeSoftConstraints: true
EOF

Create test namespace:

cat <<EOF | kubectl apply -f -
apiVersion: v1
kind: Namespace
metadata:
  name: test
EOF

Create a Deployment with a topology constraint

cat <<EOF | kubectl apply -f -
apiVersion: apps/v1
kind: Deployment
metadata:
  name: app
  namespace: test
  labels:
    app: nginx
spec:
  replicas: 1
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: k8s.gcr.io/nginx-slim:0.8
        ports:
        - containerPort: 80
          name: http
      topologySpreadConstraints:
      - maxSkew: 1
        topologyKey: "topology.kubernetes.io/zone"
        whenUnsatisfiable: "ScheduleAnyway"
        labelSelector:
          matchLabels:
            app: nginx
EOF

Create a second deployment just like the one above but with a nodeSelector to make sure it is scheduled on the same zone (forthis example nodeSelector could be optional since there is only one schedulable node).

cat <<EOF | kubectl apply -f -
apiVersion: apps/v1
kind: Deployment
metadata:
  name: app2
  namespace: test
  labels:
    app: nginx
spec:
  replicas: 1
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: k8s.gcr.io/nginx-slim:0.8
        ports:
        - containerPort: 80
          name: http
      topologySpreadConstraints:
      - maxSkew: 1
        topologyKey: "topology.kubernetes.io/zone"
        whenUnsatisfiable: "ScheduleAnyway"
        labelSelector:
          matchLabels:
            app: nginx
      nodeSelector:
        topology.kubernetes.io/zone: local-a
EOF

Observe endless loops of eviction/scheduling:

 kubectl get pods -n test -owide -w
NAME                    READY   STATUS    RESTARTS   AGE   IP           NODE                 NOMINATED NODE   READINESS GATES
app-866755bcdc-s625p    1/1     Running   0          10s   <IP_ADDRESS>   descheduler-worker   <none>           <none>
app2-68d96c4dd9-czvw5   1/1     Running   0          10s   <IP_ADDRESS>   descheduler-worker   <none>           <none>
app-866755bcdc-s625p    1/1     Terminating   0          60s   <IP_ADDRESS>   descheduler-worker   <none>           <none>
app-866755bcdc-hpb7c    0/1     Pending       0          0s    <none>       descheduler-worker   <none>           <none>
app-866755bcdc-hpb7c    0/1     ContainerCreating   0          0s    <none>       descheduler-worker   <none>           <none>
app-866755bcdc-hpb7c    1/1     Running             0          1s    <IP_ADDRESS>   descheduler-worker   <none>           <none>
app-866755bcdc-s625p    0/1     Terminating         0          61s   <IP_ADDRESS>   descheduler-worker   <none>           <none>
app-866755bcdc-hpb7c    1/1     Terminating         0          60s   <IP_ADDRESS>   descheduler-worker   <none>           <none>
app-866755bcdc-hpww8    0/1     Pending             0          0s    <none>       descheduler-worker   <none>           <none>
app-866755bcdc-hpww8    0/1     ContainerCreating   0          0s    <none>       descheduler-worker   <none>           <none>
app-866755bcdc-hpb7c    0/1     Terminating         0          61s   <IP_ADDRESS>   descheduler-worker   <none>           <none>
app-866755bcdc-hpww8    1/1     Running             0          1s    <IP_ADDRESS>   descheduler-worker   <none>           <none>
app-866755bcdc-hpb7c    0/1     Terminating         0          66s   <IP_ADDRESS>    descheduler-worker   <none>           <none>
app-866755bcdc-hpww8    1/1     Terminating         0          60s   <IP_ADDRESS>   descheduler-worker   <none>           <none>
app-866755bcdc-kgjt7    0/1     Pending             0          0s    <none>        descheduler-worker   <none>           <none>
app-866755bcdc-kgjt7    0/1     ContainerCreating   0          0s    <none>        descheduler-worker   <none>           <none>
app-866755bcdc-hpww8    0/1     Terminating         0          61s   <IP_ADDRESS>   descheduler-worker   <none>           <none>
app-866755bcdc-kgjt7    1/1     Running             0          1s    <IP_ADDRESS>   descheduler-worker   <none>           <none>
app-866755bcdc-hpww8    0/1     Terminating         0          62s   <IP_ADDRESS>   descheduler-worker   <none>           <none>
app-866755bcdc-kgjt7    1/1     Terminating         0          60s   <IP_ADDRESS>   descheduler-worker   <none>           <none>
app-866755bcdc-lhtkr    0/1     Pending             0          0s    <none>        descheduler-worker   <none>           <none>
app-866755bcdc-lhtkr    0/1     ContainerCreating   0          0s    <none>        descheduler-worker   <none>           <none>
app-866755bcdc-kgjt7    0/1     Terminating         0          62s   <IP_ADDRESS>   descheduler-worker   <none>           <none>
app-866755bcdc-lhtkr    1/1     Running             0          2s    <IP_ADDRESS>   descheduler-worker   <none>           <none>
app-866755bcdc-kgjt7    0/1     Terminating         0          66s   <IP_ADDRESS>   descheduler-worker   <none>           <none>
app-866755bcdc-lhtkr    1/1     Terminating         0          61s   <IP_ADDRESS>   descheduler-worker   <none>           <none>
app-866755bcdc-49kvt    0/1     Pending             0          0s    <none>        descheduler-worker   <none>           <none>
app-866755bcdc-49kvt    0/1     ContainerCreating   0          0s    <none>        descheduler-worker   <none>           <none>
app-866755bcdc-lhtkr    0/1     Terminating         0          62s   <IP_ADDRESS>   descheduler-worker   <none>           <none>
app-866755bcdc-49kvt    1/1     Running             0          1s    <IP_ADDRESS>   descheduler-worker   <none>           <none>
app-866755bcdc-lhtkr    0/1     Terminating         0          66s   <IP_ADDRESS>   descheduler-worker   <none>           <none>
app-866755bcdc-49kvt    1/1     Terminating         0          60s   <IP_ADDRESS>   descheduler-worker   <none>           <none>
app-866755bcdc-jzwx2    0/1     Pending             0          0s    <none>        descheduler-worker   <none>           <none>
app-866755bcdc-jzwx2    0/1     ContainerCreating   0          0s    <none>        descheduler-worker   <none>           <none>
app-866755bcdc-jzwx2    1/1     Running             0          1s    <IP_ADDRESS>   descheduler-worker   <none>           <none>
app-866755bcdc-49kvt    0/1     Terminating         0          65s   <IP_ADDRESS>   descheduler-worker   <none>           <none>
app-866755bcdc-jzwx2    1/1     Terminating         0          60s   <IP_ADDRESS>   descheduler-worker   <none>           <none>
app-866755bcdc-kgvld    0/1     ContainerCreating   0          0s    <none>        descheduler-worker   <none>           <none>
app-866755bcdc-jzwx2    0/1     Terminating         0          61s   <IP_ADDRESS>   descheduler-worker   <none>           <none>
app-866755bcdc-kgvld    1/1     Running             0          1s    <IP_ADDRESS>   descheduler-worker   <none>           <none>
app-866755bcdc-jzwx2    0/1     Terminating         0          65s   <IP_ADDRESS>   descheduler-worker   <none>           <none>
app-866755bcdc-kgvld    1/1     Terminating         0          60s   <IP_ADDRESS>   descheduler-worker   <none>           <none>
app-866755bcdc-njt6h    0/1     Pending             0          0s    <none>        descheduler-worker   <none>           <none>
app-866755bcdc-njt6h    0/1     ContainerCreating   0          0s    <none>        descheduler-worker   <none>           <none>
app-866755bcdc-kgvld    0/1     Terminating         0          61s   <IP_ADDRESS>   descheduler-worker   <none>           <none>
app-866755bcdc-njt6h    1/1     Running             0          1s    <IP_ADDRESS>   descheduler-worker   <none>           <none>
app-866755bcdc-kgvld    0/1     Terminating         0          65s   <IP_ADDRESS>   descheduler-worker   <none>           <none>
app-866755bcdc-njt6h    1/1     Terminating         0          60s   <IP_ADDRESS>   descheduler-worker   <none>           <none>
app-866755bcdc-vvjbj    0/1     Pending             0          0s    <none>        descheduler-worker   <none>           <none>
app-866755bcdc-vvjbj    0/1     ContainerCreating   0          0s    <none>        descheduler-worker   <none>           <none>
app-866755bcdc-njt6h    0/1     Terminating         0          60s   <IP_ADDRESS>   descheduler-worker   <none>           <none>
app-866755bcdc-njt6h    0/1     Terminating         0          61s   <IP_ADDRESS>   descheduler-worker   <none>           <none>
app-866755bcdc-vvjbj    1/1     Running             0          1s    <IP_ADDRESS>   descheduler-worker   <none>           <none>
...

Logs from multiple runs:
descheduler-cronjob-1620757320-zjv2m descheduler I0511 18:22:03.510147       1 topologyspreadconstraint.go:109] "Processing namespaces for topology spread constraints"
descheduler-cronjob-1620757320-zjv2m descheduler I0511 18:22:03.543353       1 evictions.go:123] "Evicted pod" pod="test/app-866755bcdc-s625p" reason="PodTopologySpread"
descheduler-cronjob-1620757320-zjv2m descheduler I0511 18:22:03.543770       1 descheduler.go:136] "Number of evicted pods" totalEvicted=1

descheduler-cronjob-1620757380-xjbtn descheduler I0511 18:23:03.871751       1 topologyspreadconstraint.go:109] "Processing namespaces for topology spread constraints"
descheduler-cronjob-1620757380-xjbtn descheduler I0511 18:23:03.908512       1 evictions.go:123] "Evicted pod" pod="test/app-866755bcdc-hpb7c" reason="PodTopologySpread"
descheduler-cronjob-1620757380-xjbtn descheduler I0511 18:23:03.914834       1 descheduler.go:136] "Number of evicted pods" totalEvicted=1

descheduler-cronjob-1620757440-plq27 descheduler I0511 18:24:03.811630       1 topologyspreadconstraint.go:109] "Processing namespaces for topology spread constraints"
descheduler-cronjob-1620757440-plq27 descheduler I0511 18:24:03.856065       1 evictions.go:123] "Evicted pod" pod="test/app-866755bcdc-hpww8" reason="PodTopologySpread"
descheduler-cronjob-1620757440-plq27 descheduler I0511 18:24:03.856492       1 descheduler.go:136] "Number of evicted pods" totalEvicted=1

uler-cronjob-1620758040-67nv5 descheduler I0511 18:34:04.586575       1 topologyspreadconstraint.go:109] "Processing namespaces for topology spread constraints"
descheduler-cronjob-1620758040-67nv5 descheduler I0511 18:34:04.623012       1 evictions.go:123] "Evicted pod" pod="test/app-866755bcdc-glr82" reason="PodTopologySpread"
descheduler-cronjob-1620758040-67nv5 descheduler I0511 18:34:04.623190       1 descheduler.go:136] "Number of evicted pods" totalEvicted=1

/assign


Allow call to GetComPortNumber

Add missing FT_GetComPortNumber functionality

Hope this works for you.

@cbrx-fw Thanks for the contribution. Merged


Support Markdown

We need Markdown support for Sphinx, i.e. another extension. This will simplify integrating the current README into the documentation.

Enabled markdown and added the readme to the documentation as landing page with gif as illustration.


Language spanish

Here is the English 8pen layout with the Spanish diacritics.

@adamschmalhofer Do you plan on tackling German, eventually?

A basic board english board with German diatrics as already in.
Although, I think you would rather enjoy a German board completely defined
from scratch.
On Sun, 8 Aug 2021, 18:25 Glitchy-Tozier, @.***> wrote:

@adamschmalhofer https://github.com/adamschmalhofer Do you plan on
tackling German, eventually?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/flide/8VIM/pull/203#issuecomment-894793542, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ABX5WR3VI35PPA5PHQK7ORTT3Z5CZANCNFSM5BVRVLLQ
.

Yes, that would be very enjoyable.
Apparently though, a German layout already exists, thanks to @adamschmalhofer. (It can be found here.
Looking forward to you releasing the next version of 8Vim into the Play-Store.

The added German layout is courtesy of  @adamschmalhofer.
On Mon, 9 Aug 2021, 14:20 Glitchy-Tozier, @.***> wrote:

Yes, that would be very enjoyable.
Apparently though, a German layout already exists, thanks to
@adamschmalhofer. (It can be found here
https://github.com/flide/8VIM/issues/144#issuecomment-750441819.
Looking forward to you releasing the next version of 8Vim into the
Play-Store.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/flide/8VIM/pull/203#issuecomment-895053519, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ABX5WR5Z2SPLL7TEFXONWS3T36JEHANCNFSM5BVRVLLQ
.

Yeah, I kind of overlooked his German PR.

It's fairly easy to add a new layout now, if you want to try out a custom
layout just add a new file.
On Mon, 9 Aug 2021, 14:30 Glitchy-Tozier, @.***> wrote:

Yeah, I kind of overlooked his German PR.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/flide/8VIM/pull/203#issuecomment-895058816, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ABX5WR55BPESKLNX7ANSSFLT36KJHANCNFSM5BVRVLLQ
.

@adamschmalhofer I could calculate some really good layouts for quite a few languages for you to add.
Would you be interested or are you focusing on the 8pen layouts?

@Glitchy-Tozier
I think both have there justifications. Will you include the diacritics
into the calculations? While I plan to add the optimized German, I think
we should wait at least an iteration with adding more optimized layouts.
This will be our first own layout and experience tells us that once we
actually use it, we will likely want changes. I know I'm not telling you
anything new as you emphasized yourself, that we needs to be
communicated clearly that it is experimental. I would prefer to wait
until the optimizations have stabilized before doing all the work of
releasing it to the wild. Also I'm excited of the lessons you have learned
from the KOY/Neo communities :-).
I'll use this opportunity to say what bothers me most on the 8pen layout
(after using it for a few months): Of all things it is entering the "."
and ",". While it seems to make sense to let them be slower to enter as
there is a pause this pause is shorter then the sound of a letter and it
really feels slow to me.


update to latest hyrax main branch

Closing... this work was replaced by an approach that caches the id of the default admin set in the database.  See https://github.com/samvera/hyrax/pull/5263


Updated the SDK and Plugins for Android,Gradle and Kotlin Version .

Updated the following :
1.Android SDK - 30
2.Android Gradle Plugin - 4.1.3
3. Kotlin - 1.4.32

@amitshekhariitbhu Looks good to me

@mwshubham  Resolved the merge conflicts.

We can merge this PR as it contains the latest kotlin stable version update. Looks good to me


Toggl on Win 10 don't sync

clear cash fix that

The syncing issues caused "Project name already used!" error will be fixed in the next release. As stated clearing cache is the current workaround.

I have the same issue.
http://prntscr.com/e5e2r2
I don't know what the problem is and how I can fix it. The online has no activity for today. And I don't know which project is at fault.
Quick help would be appreciated.
Thanks

@dbeczuk This issue is fixed in the next release. Hopefully the beta channel version will be available at the end of this week. With the update the error is handled properly and everything will sync to the server. Switch to beta channel and bare with us until we get the release out.


Make Sections copyable

Previously, copying Sections would result in infinite recursion due to
accessing the data attribute through getattr. Avoid this recursion
by handling non-section attribute names in getattr separately.
Fixes: #31

Good catch, however, if I'm not mistaken the same issue is in every other class except for Changelog. Could you fix it everywhere please?

I've opened #31.

Good point that this is also the case in more places. I will push changes to the other classes to the PR a bit later. I am just wondering what the correct way to solve this is. return super().__getattribute__(name) this seems to work fine... self.__getattribute__(name) is probably the equivalent so it may be better than calling super?

So Tags should be fixed, the last part that can't be deep-copied is the Specfile class which fails due to rpm.spec:
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib64/python3.9/copy.py", line 172, in deepcopy
    y = _reconstruct(x, memo, *rv)
  File "/usr/lib64/python3.9/copy.py", line 270, in _reconstruct
    state = deepcopy(state, memo)
  File "/usr/lib64/python3.9/copy.py", line 146, in deepcopy
    y = copier(x, memo)
  File "/usr/lib64/python3.9/copy.py", line 230, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)
  File "/usr/lib64/python3.9/copy.py", line 161, in deepcopy
    rv = reductor(4)
TypeError: cannot pickle 'rpm.spec' object

I have to take a look if there is a way to overcome this.

So Tags should be fixed, the last part that can't be deep-copied is the Specfile class which fails due to rpm.spec:

I think this is fine, we don't need to support copying Specfile.


[Probably easy fix] Accept both comma and point as a separator regardless of the budget settings

There is a long-standing feature request about this, and I wouldn't reopen it if not for the fact that it seems that now, with the integration of the new math library, it can be easily fixed. The problem and the rationale behind the request are described in #755. Discussion in Trello.
Shortly, if you use the decimal comma as a separator, a decimal point is not parsed correctly. 73.50 becomes 7350. I now noticed that if I add +0 to the amount (e.g. 73.50+0), it works as it should, resulting in 73.50, not 7350. So the math library treats both decimal separators equally.
Can we trigger this behaviour (maybe as an option): always parse all numerical inputs through the math library, even when no math operators were entered by the user? This should solve the problem some of us, multi-language users, have.

@dsent Would you think that the POS style input is required to be on for this to work? It seems we would need to make a new feature to support this. The feature has 15 votes in Trello so it's clearly desired, unfortunately, it's just a matter of someone having time to work on it :(

@joshmadewell I don't myself use POS style input. Seems that with POS-style input this problem is not a problem already, as you don't use decimal separators at all.
Creating this request, I just wanted the app to treat 123,45 and 123.45 as the same number regardless of the regional settings. YNAB 4 behaved exactly that way, and I consider this to be a regression in the new YNAB.
When the simple math operations became possible in YNAB with the Toolkit, I noticed that in these, numbers are already treated like I wanted! I can type in 100.1+100,1, and it will correctly compute to 200.2. I tried to enter numbers as simple expressions (e.g. instead of 123.45 I type 123.45+0), and it also works! 123.45+0 and 123,45+0 both evaluate to 123.45 regardless of the regional settings.
I believe that the acceptable workaround is just one step from this. There is already an expression parser built-in. Maybe there is a way to make all typed numbers go through the expression parser, even if no math operations are typed in the number field? That would do the trick (most probably)!
I couldn't figure out myself how that expression parser is triggered in the code. But there is other stuff that enhances the behavior of the input fields, like the POS-style input you mentioned, and popup calculator. So there is definitely a way to hook up into the input process and do that.

Okay, everyone, I can't figure out how to fix this in the Toolkit, so here is my workaround:

Install Custom JS extension https://chrome.google.com/webstore/detail/custom-javascript-for-web/ddbjnfjiigjmcpcpkmhogomapikjbjdk
Open YNAB
Click on the CJS button, select inject predefined one: jQuery 3.2.1
Put this code into the code field:

$('body').keyup(function(evt){
  if ($(evt.target).hasClass('ember-text-field') && evt.key == ".") {
    evt.target.value = evt.target.value.replace('.',',');
    evt.preventDefault();
  }
});

Click Save (at the top left of CJS window)
Should look like this:

This will replace all points in the money entry fields to commas. If you need it the other way around,
use .replace(',','.'); instead.

A bit more refined version (ignores text fields other than inflow and outflow):
$('body').keyup(function(evt) {
  var t = $(evt.target);
  if (evt.key == "." && t.attr('placeholder').indexOf('flow') > -1) {
    evt.target.value = evt.target.value.replace('.', ',');
    evt.preventDefault();
  }
});

Okay, that fix caused more problems than it fixed. Below is a version with less or (hopefully) no bad side effects. No injection needed, so you should set injection to None (in the top right corner of CJS window):
window.onkeypress = function(evt) {
  var t = evt.target;
  if (evt.key == "." && t.nextElementSibling.classList.contains("currency") || t.parentNode.classList.contains("currency-input")) {
    setTimeout(function(el) {
      el.value = el.value.replace(".", ",");
    }, 1, t)
  }
}

Hi everyone! This is fixed in either YNAB or Toolkit, but anyway, now it's working without any additional scripts.


Implement partial refunds in CappedCrowdsale.

This PR modifies the behaviour of CappedCrowdsale when a transaction whose value is larger than the amount needed to reach the cap. Now CappedCrowdsale accepts just enough to reach the cap, and refunds the rest.

@alcuadrado Interesting! What about a sender who only wants the exact amount who tried to buy?

@alcuadrado I love the idea but I don't like the implementation very much =/
Besides, this PR is out of sync with the refactor we are doing to crowdsales #744. It would be awesome if you could revisit this and implement in CappedCrowdsale.

@ajsantander I don't like this implementation either. I think it would be better to close this PR and reimplement it after #744 gets merged, as that PR it's pretty much an overhaul of everything crowdsale.

Closing as stale. It is however still true that the last purchasers will need to not go over the cap to prevent triggering a revert.


fix(grpc): activate Lightning grpc after init wallet

Description:
Following a recent update to the node-lnd-grpc package activateLightning must now be manually called after creating a new wallet.
Update our createWallet action to properly handle this.
Motivation and Context:
Fix bug where wallet hangs on creating wallet indefinitely after successfully creating a new wallet.
How Has This Been Tested?
Manually
Types of changes:
Bug fix
Checklist:

[x] My code follows the code style of this project.
[x] I have reviewed and updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes where needed.
[x] All new and existing tests passed.
[x] My commits have been squashed into a concise set of changes.

Coverage increased (+0.01%) to 20.106% when pulling 1997f9c824eaaa91fc9ba3bfd39bb76a7556041f on mrfelton:fix/create-wallet-error into a13ae2011f7342d680c894bb384a8a2dc8bed35d on LN-Zap:master.

Coverage increased (+0.01%) to 20.106% when pulling 1997f9c824eaaa91fc9ba3bfd39bb76a7556041f on mrfelton:fix/create-wallet-error into a13ae2011f7342d680c894bb384a8a2dc8bed35d on LN-Zap:master.


Lockdropped at 2nd eth lockdrop. Can't see PLM in my wallet.

Hello. I participated in 2nd eth lockdrop, and successfully received PLM tokens at that time. Until today I did nothing. Today I re-opened my Plasm wallet and can't see my tokens. I need help to solve this.

Claim ID: 0x6ed8b3f5dc1abed21b28f66f2c30004f6613759c2aa343570a482fb587bd0352
Sending to WPDRwyMdzZrroQPni3bZfqzTzeJPZyc85Ba8pR8M17uERpM

Thank you for reporting this issue. I have checked your address and the lockdrop extrinsic event has successfully sent your funds, according to the block history.

The amount that your PLASM (EXTENSION) account owns is correct. The difference in token number display could be a UI glitch due to different decimal points used on Polkadot-js/api and our chain. (PLM is 15 decimal points while most other chains are 18 decimal points).
You can find more info about your address and the lock event from the following links:

address: https://plasm.subscan.io/account/WPDRwyMdzZrroQPni3bZfqzTzeJPZyc85Ba8pR8M17uERpM
lock claim event: https://plasm.subscan.io/extrinsic/1269278-1

Strange to see the number is almost doubled. Thanks for the support!


Pin go-containerregistry and release-utils

What type of PR is this?
/kind cleanup
What this PR does / why we need it:
Pin both dependencies to their latest release.
Which issue(s) this PR fixes:

None
Special notes for your reviewer:
None
Does this PR introduce a user-facing change?

None

Rebased on top of the latest main branch.

/lgtm


⚡ adding tests + memory peak improvements

Codecov Report

Merging #17 (8a08bd1) into main (167e041) will increase coverage by 10.74%.
The diff coverage is 100.00%.

@@             Coverage Diff             @@
##             main      #17       +/-   ##
===========================================
+ Coverage   69.58%   80.33%   +10.74%
===========================================
  Files          23       23
  Lines         776      778        +2
===========================================
+ Hits          540      625       +85
+ Misses        236      153       -83

Impacted Files
Coverage Δ

tsflex/chunking/chunking.py
98.70% <100.00%> (+98.70%)
:arrow_up:

tsflex/features/strided_rolling.py
83.33% <100.00%> (ø)

tsflex/utils/timedelta.py
100.00% <0.00%> (+22.72%)
:arrow_up:

tsflex/chunking/__init__.py
100.00% <0.00%> (+100.00%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 167e041...8a08bd1. Read the comment docs.


[all] 501 Numeric is unrecognized by pydle.

Pydle complains about a 501 numeric response (meaning unknown mode) being unknown, it should probably be ignored.

I've been thinking about how to work with stuff like that for a while. They probably shouldn't be swallowed entirely as they are server error messages that can be useful in diagnosing bot behaviour. I'm considering adding a simple warning wrapper (BasicClient._warn or something similar) and have those kind of messages just be logged as a warning. Any thoughts?

That could work fairly well, although another possible solution/debugging tool could be having an option to dump raw io to stdout/a log file. I currently am using a small wrapper around Client to do that on my debug bot.

What we currently do there is that you can set set the pydle logger level to debug to at least get a dump of all incoming messages, and then you can attach a logging.FileHandler to that logger. Adding outgoing messages to that is probably useful as well.

Ah, good to know that is a thing that exists.


Crash when finding "me" emails

This was run against an MS Exchange account.  MAILBOX_GMAIL...  variables were both changed to "INBOX".  Here's the error:
[2015-10-14 17:36:48,550] Identifying "me" messages
Traceback (most recent call last):
File "./main.py", line 251, in
message_infos = GetMessageInfos(opts)
File "./main.py", line 94, in GetMessageInfos
name, address = message_info.GetSender()
File "/Users/xxx/mail-trends/messageinfo.py", line 67, in GetSender
return self._GetNameAddress("from")
File "/Users/xxx/mail-trends/messageinfo.py", line 94, in _GetNameAddress
if not header in self.headers:
AttributeError: 'MessageInfo' object has no attribute 'headers'

I have a fix.  It works, but no idea if it's just covering up a larger problem.  Add to line 94 of messageinfo.py before "if not header in self.headers:"
if not hasattr(self, 'headers'):
return None, None


Making more models accessible

There are many experimental kaldi-serve models (like phoneme decoders) that are now being used widely in the team. What kind of effort would be needed make these models accessible through this API ?

One time small effort to point kaldi-serve to the right model. @janaab11


[2.1] Timeout CockroachDB configuration in post-start step

High-level description
This change prevents a timeout in the CockroachDB systemd ExecStartPost commands from terminating CockroachDB.
This is a simpler version of #7648 - not as complete a solution, but fewer changes to the existing release.
Corresponding DC/OS tickets (required)

D2IQ-69871 Set cockroach change config to timeout if connection to CDB cannot be made
D2IQ-62292 Remove possibility of timeouts in systemd ExecStartPost
D2IQ-51276 Consoldiate CA bootstrap? (CA bootstrap does not retry or fail on Docker reload failure)

Related tickets (optional)

https://jira.d2iq.com/browse/COPS-5601
https://jira.d2iq.com/browse/COPS-5795
https://jira.d2iq.com/browse/COPS-6063

@mesosphere-mergebot test all

@mesosphere-mergebot test teamcity/dcos/test/terraform/aws/onprem/static/group1

@mesosphere-mergebot test all

@mesosphere-mergebot request-review @janisz @jkoelker

@mesosphere-mergebot backport 2.0 1.13


Copy repo contents to a subdirectory

Is there a reason to copy the repo into /home/jovyan or could we equally well copy it to /home/jovyan/repo?
I'd like to be able to mount a local directory into the container instead of copying the repository but currently that also wipes out all the hidden files in the home directory.

Does --editable solve this use case?

Probably. And if not I don't remember enough about the original use-case to be able to write more. Closing.


Projection issue with plot.imshow and cartopy projection

I am experiencing some trouble when using cartopy transformations in the plot module.
I am concerned about plotting speed (plotting very high resolution maps of ocean model output takes forever).
According to #657 I tried to use plot.imshow but I am getting unexpected results for the map projection.
The longitude wrapping does not seem to work and as seen by the mismatch between the ocean mask data and the coastline in the example below, the projection seems to be inaccurate.
This seems to be related to the cartopy module (see the last plot which was done 'outside' of xarray).
My question is twofold, I guess

Is there is any other 'high speed' alternative to plot high resolution maps.
Since this error might not appear as drastically in all mapping scenarios, should plot.imshow display a warning, when invoked with a transformation argument, or even an error?

import xarray as xr
%matplotlib inline
import numpy as np
import cartopy.crs as ccrs
import cartopy.feature as cfeature
import matplotlib.pyplot as plt

ds = xr.open_dataset('ocean_mask.nc')

plt.figure()
ax_i = plt.gca(projection=ccrs.Robinson())
ds.wet.plot.imshow(x='lonh',y='lath',ax=ax_i,transform=ccrs.PlateCarree())
ax_i.coastlines()
plt.title('imshow')

plt.figure()
ax_p = plt.gca(projection=ccrs.Robinson())
ds.wet.plot(x='lonh',y='lath',ax=ax_p,transform=ccrs.PlateCarree())
ax_p.coastlines()
plt.title('standard plot')

plt.figure()
ax = plt.gca(projection=ccrs.Robinson())

ax.imshow(ds.wet.data,
          transform=ccrs.PlateCarree(),
          extent=[ds.lonh.min().data, ds.lonh.max().data,ds.lath.min().data, ds.lath.max().data])
ax.coastlines()
plt.title('cartopy imshow')

ocean_mask.nc.zip

Thanks for the detailed and well documented question. I had a look at your data, and there are two issues that imshow cannot handle well:

your data isn't well centred (lons go from -300 to 60, which explains the shape of your image on the globe). This wouldn't be a big deal if it wasn't for the other problem, which is:
your latitude data isn't regular.

plt.plot(ds.lath[1:].values - ds.lath[:-1].values)

Gives:

which is quite... interesting.
Anyways, imshow is so much faster because it needs regular, nicely sorted data. In your case I don't think there is much other choice than pcolormesh or contourf... Note also that plotting on Robinson is slower than plotting on a plate carree projection.

Regarding your comment about the doc: maybe it would be useful to specify somewhere that imshow will work only for regularly spaced data indeed.

Thank you very much @fmaussion. And that is indeed interesting. I have just started to work with this, so I appreciate the pointer!

maybe it would be useful to specify somewhere that imshow will work only for regularly spaced data indeed.

Current docstring for imshow does specify this. Closing.


refreshClusters not included in dist files

The files dist/leaflet.markercluster-src.js and dist/leaflet.markercluster.js have not been updated for a year and as such they lack the new refreshClusters functionality.

Yep, I don't plan on updating it going forward, we'll do something else but I dunno what yet, something automatic would be awesome and best :)
Having the file in git pollutes our version history and makes the repository bigger.
We use the same build system as leaflet, so follow that guide to get set up:
https://github.com/Leaflet/Leaflet/blob/master/CONTRIBUTING.md#setting-up-the-build-system
I did a tag with an update a while back:
https://github.com/Leaflet/Leaflet.markercluster/tree/v0.4.0-hotfix.1

Well, I would still suggest having updated distribution files available, either in git or under releases. Not all people using Leaflet are Node developers.
(The 0.4.0 tag does not have refreshClusters at all.)

:+1: asking as per gis.stackexchange suggestion :-) I also went for the latest release and ended up scratching my head. If there is no chance of having it included right now then perhaps a remark in the documentation would help?

This is very confusing. I'm using v0.4.0 installed via npm ("leaflet.markercluster": "^0.4.0") which points to "main": "dist/leaflet.markercluster.js", as its main and  bundled through web pack, and refreshClusters doesn't seem to be available at all. Spent way too long scratching my head over this one.

I'm also trying to use refreshClusters, and using v0.4.0 from npm, via jspm as follows:
"leaflet.markercluster"<EMAIL_ADDRESS>
Had noticed there was a 0.5.0 release, so tried to update but doesn't seem to be a 0.5.0 in npm.
Does anyone know how to get refreshClusters working?

You need the 0.5.0 release.
I'll try figure out how to upload it to npm later today.

ok should be published now :)

Awesome, thanks for your help and quick reply!


[MINOR][CONNECT][TESTS]  Use Some(()) instead of Some() for Option[Unit] return type

What changes were proposed in this pull request?
This pr fix a compile warning like
[warn] /Users/yangjie01/SourceCode/git/spark-mine-sbt/connector/connect/server/src/test/scala/org/apache/spark/sql/connect/plugin/SparkConnectPluginRegistrySuite.scala:95:9: adaptation of an empty argument list by inserting () is deprecated: this is unlikely to be what you want
[warn]         signature: Some.apply[A](value: A): Some[A]
[warn]   given arguments: <none>
[warn]  after adaptation: Some((): Unit)
[warn] Applicable -Wconf / @nowarn filters for this fatal warning: msg=<part of the message>, cat=deprecation, site=org.apache.spark.sql.connect.plugin.ExampleCommandPlugin.process, origin=scala.Some.apply, version=2.11.0
[warn]     Some()
[warn]         ^

Why are the changes needed?
Clean up a deprecated usage since Scala 2.11.0
Does this PR introduce any user-facing change?
No, just for test
How was this patch tested?
Pass GitHub Action
Was this patch authored or co-authored using generative AI tooling?
No

Yes, there is only one case

Thanks @dongjoon-hyun ~


DF.13/DF.14 unexpected behavior

Expected Behavior
DRC flagging pcomp/ncomp too far away from ntap/ptap resp.
Actual Behavior
DF.13/DF.14 giving errors for ntap/ptap too far away from a pcomp/ncomp respectively
Steps to Reproduce the Problem
See project: https://platform.efabless.com/projects/1578

What you see here is a ntap that was flagged that is further than 15um away from a pcomp in the same NWELL.
(Would be nice if klayout on Galaxy would have the technology for gf180mcu so one would get layer names).
AFAICS, current DF.13/DF.14 implementation in klayout precheck deck also has other unexpected behavior. It will not mark NWELL with pcomp but without ntap as a DRC error.
Specifications

GF-MPW0 precheck on project

FYI, I am using own standard cell library.

@stafverhaegen-chipflow Could you please share the test case and how did you run this command?

@FaragElsayed2 Please take a look.

@stafverhaegen-chipflow This issue has been fixed in the latest version in efabless.


Add docs for fetching token using container

I messed up with https://github.com/leikoilja/ha-google-home/pull/772
Credits to @Brephlas

I had a couple of questions about this Docker image. Is the Dockerfile available anywhere? 👀
And also, if this is solely for this purpose, would it make more sense for the CMD to run the get_tokens.py script, rather than bash so you don't have to connect to the image and leave it running in the background in a detached state?
That way it would just be a case of running this, rather than 3 commands.
docker run --rm -it breph/ha-google-home_get-token:latest

It is now :) https://github.com/Brephlas/dockerfile_breph-ha-google-home_get-token/tree/master
Regarding the second question: I like the idea and played a little bit with this. Unfortunately, it seems it is not possible to run interactive scripts using this method. At least when asking for user input, the script fails.
So I think we have two options:

stick to the current flow
change it, but require to pass username and password using -e docker environment variables. But I am not sure if I like that one because the credentials are then inside of the history

Hi @Brephlas, I've just tested it locally (changing CMD bash to CMD python3 get_tokens.py) and it seems to work perfectly with docker run --rm -it [image]. 🤔 I'm using macOS, and iTerm2.

Preview video

Also related to this image, I wonder if we could change to using Alpine to reduce the image size. 🤷🏻
FROM alpine:3.18

WORKDIR /app

RUN apk add py3-pip
COPY ./get_tokens.py .
COPY ./requirements.txt .
RUN python3 -m pip install -r ./requirements.txt

CMD python3 get_tokens.py

This reduces the image from 606MB to 96.7MB 🙂
I guess device_id, master_token, and access_token would probably all make sense as having configurable by Docker secrets.

Thanks @owenvoke. Apparently, the issue was sitting in front of the screen, I missed the -it parameter 😅
It now worked in my local tests and I've already updated the image to alpine and pushed it to dockerhub.
Will update the docs of this repo in a sec
Regarding the docker secrets we can move the discussion to my repo. However, until now I have no experience with docker secrets


[stable/telegraf] Add prometheus client to telegraf service

Is this a new chart
No
What this PR does / why we need it:
In case you need to use the prometheus_client output plugin in telegraf, you need the service pointing to the port where it listens.
Which issue this PR fixes

Special notes for your reviewer:
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] DCO signed
[x] Chart Version bumped
[ ] Variables are documented in the README.md
[x] Title of the PR starts with chart name (e.g. [stable/mychartname])

/ok-to-test

/lgtm


feat: add async iterable handler and map indexes in error path

Description
Context is found in the below issues.
Fixes #1329
Fixes #1330
Type of change
Please delete options that are not relevant.

[x] Bug fix (non-breaking change which fixes an issue)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
Could argue that this is breaking, as it changes grouping behaviour in Sentry.

How Has This Been Tested?
Ran the plugin on my own graphql server and observed that it correctly reports errors generated in deferred queries.
Observed before the change that these errors were ignored, and that the warning was written to log.
Test Environment:

OS: Mac OSX
"@envelop/core": "2.0.0"
"@envelop/sentry": "3.1.0"
"@sentry/node": "6.18.2"
"@sentry/tracing": "6.18.2"
NodeJS: v16.2.0

Checklist:

[x] I have followed the CONTRIBUTING doc and the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented on 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

There are no tests for this plugin.

[x] New and existing unit tests pass locally with my changes
[x] Any dependent changes have been merged and published in downstream modules

@Jomik can you please add a changeset as instructed in this comment? https://github.com/dotansimha/envelop/pull/1331#issuecomment-1069134255


Fixed render() function second argument type definition

render() function accepts the following as a second argument:

Hole;
HTMLElement;
SVGElement;
callback returning any of the above.

This pull request fixes type definitions to reflect the current implementation.

@WebReflection, any chance you would be able to merge it within the next week? It's a tiny change, but it makes it possible e.g. mount results of html.for() without type check circumvention, which should be a legal use case, if I don't miss anything.

Technically, any Node would do, including document fragments, but since these are less common cases, I'll merge this as is for now.
Thanks, it's published.

Awesome, thank you!


perf: move swc transform into another thread

Summary
try to move swc into another thread to see whether performance improve

Checklist

[ ] Tests updated (or not required).
[ ] Documentation updated (or not required).

!bench

!bench

!bench

!bench

I don't know why rayon::spawn is much faster than spawn_blocking here, one guess is tokio has limited blocking threads, so it will block the blocking_threads when spawn_block is large than default blocking_threads number(512)


Issue resolution updates

Docs Build status updates of commit 4fb927f:
:warning: Validation status: warnings

File
Status
Preview URL
Details

TerminalDocs/command-line-arguments.md
:warning:Warning
View
Details

TerminalDocs/new-terminal-arguments.md
:warning:Warning
View
Details

TerminalDocs/customize-settings/actions.md
:bulb:Suggestion
View
Details

TerminalDocs/panes.md
:white_check_mark:Succeeded
View

TerminalDocs/command-line-arguments.md

Line 48, Column 106: [Warning-file-not-found] Invalid file link: './actions.md'.

TerminalDocs/new-terminal-arguments.md

Line 0, Column 0: [Warning-h1-missing] H1 is required. Use a single hash (#) followed by a space to create your top-level heading.

TerminalDocs/customize-settings/actions.md

Line 1107, Column 2: [Suggestion-column-header-missing] Column headers are required for tables. Add appropriate header text, or remove any extra table cells that cause an extra column.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 0c814fd:
:warning: Validation status: warnings

File
Status
Preview URL
Details

TerminalDocs/command-line-arguments.md
:warning:Warning
View
Details

TerminalDocs/new-terminal-arguments.md
:warning:Warning
View
Details

TerminalDocs/customize-settings/actions.md
:bulb:Suggestion
View
Details

TerminalDocs/get-started.md
:white_check_mark:Succeeded
View

TerminalDocs/panes.md
:white_check_mark:Succeeded
View

TerminalDocs/command-line-arguments.md

Line 48, Column 106: [Warning-file-not-found] Invalid file link: './actions.md'.

TerminalDocs/new-terminal-arguments.md

Line 0, Column 0: [Warning-h1-missing] H1 is required. Use a single hash (#) followed by a space to create your top-level heading.

TerminalDocs/customize-settings/actions.md

Line 1107, Column 2: [Suggestion-column-header-missing] Column headers are required for tables. Add appropriate header text, or remove any extra table cells that cause an extra column.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 3258a40:
:warning: Validation status: warnings

File
Status
Preview URL
Details

TerminalDocs/custom-terminal-gallery/custom-schemes.md
:warning:Warning
View
Details

TerminalDocs/customize-settings/actions.md
:warning:Warning
View
Details

TerminalDocs/customize-settings/appearance.md
:warning:Warning
View
Details

TerminalDocs/customize-settings/color-schemes.md
:warning:Warning
View
Details

TerminalDocs/customize-settings/interaction.md
:warning:Warning
View
Details

TerminalDocs/customize-settings/profile-advanced.md
:warning:Warning
View
Details

TerminalDocs/customize-settings/profile-appearance.md
:warning:Warning
View
Details

TerminalDocs/customize-settings/profile-general.md
:warning:Warning
View
Details

TerminalDocs/customize-settings/rendering.md
:warning:Warning
View
Details

TerminalDocs/customize-settings/startup.md
:warning:Warning
View
Details

TerminalDocs/tutorials/powerline-setup.md
:warning:Warning
View
Details

TerminalDocs/tutorials/ssh.md
:warning:Warning
View
Details

TerminalDocs/command-palette.md
:bulb:Suggestion
View
Details

TerminalDocs/command-line-arguments.md
:white_check_mark:Succeeded
View

TerminalDocs/dynamic-profiles.md
:white_check_mark:Succeeded
View

TerminalDocs/get-started.md
:white_check_mark:Succeeded
View

TerminalDocs/new-terminal-arguments.md
:white_check_mark:Succeeded

TerminalDocs/panes.md
:white_check_mark:Succeeded
View

TerminalDocs/search.md
:white_check_mark:Succeeded
View

TerminalDocs/troubleshooting.md
:white_check_mark:Succeeded
View

TerminalDocs/custom-terminal-gallery/custom-schemes.md

Line 16, Column 74: [Warning-file-not-found] Invalid file link: './get-started.md'.

TerminalDocs/customize-settings/actions.md

Line 14, Column 291: [Warning-file-not-found] Invalid file link: './get-started.md'.

TerminalDocs/customize-settings/appearance.md

Line 13, Column 143: [Warning-file-not-found] Invalid file link: './get-started.md'.

TerminalDocs/customize-settings/color-schemes.md

Line 13, Column 191: [Warning-file-not-found] Invalid file link: './get-started.md'.
Line 42, Column 61: [Warning-file-not-found] Invalid file link: './get-started.md'.

TerminalDocs/customize-settings/interaction.md

Line 13, Column 143: [Warning-file-not-found] Invalid file link: './get-started.md'.

TerminalDocs/customize-settings/profile-advanced.md

Line 13, Column 198: [Warning-file-not-found] Invalid file link: './get-started.md'.

TerminalDocs/customize-settings/profile-appearance.md

Line 13, Column 198: [Warning-file-not-found] Invalid file link: './get-started.md'.

TerminalDocs/customize-settings/profile-general.md

Line 13, Column 198: [Warning-file-not-found] Invalid file link: './get-started.md'.
Line 70, Column 457: [Warning-file-not-found] Invalid file link: './get-started.md'.
Line 93, Column 226: [Warning-file-not-found] Invalid file link: './get-started.md'.
Line 70, Column 65: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/windows/wsl/install-win10' will be broken in isolated environments. Replace with a relative link.

TerminalDocs/customize-settings/rendering.md

Line 13, Column 143: [Warning-file-not-found] Invalid file link: './get-started.md'.

TerminalDocs/customize-settings/startup.md

Line 13, Column 143: [Warning-file-not-found] Invalid file link: './get-started.md'.
Line 35, Column 93: [Warning-file-not-found] Invalid file link: './get-started.md'.

TerminalDocs/tutorials/powerline-setup.md

Line 79, Column 297: [Warning-file-not-found] Invalid file link: './get-started.md'.

TerminalDocs/tutorials/ssh.md

Line 19, Column 259: [Warning-file-not-found] Invalid file link: './get-started.md'.

TerminalDocs/command-palette.md

Line 37, Column 260: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/windows/uwp/design/style/segoe-ui-symbol-font' will be broken in isolated environments. Replace with a relative link.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit ffa1f52:
:warning: Validation status: warnings

File
Status
Preview URL
Details

TerminalDocs/customize-settings/color-schemes.md
:warning:Warning
View
Details

TerminalDocs/customize-settings/profile-general.md
:warning:Warning
View
Details

TerminalDocs/customize-settings/startup.md
:warning:Warning
View
Details

TerminalDocs/command-palette.md
:bulb:Suggestion
View
Details

TerminalDocs/command-line-arguments.md
:white_check_mark:Succeeded
View

TerminalDocs/custom-terminal-gallery/custom-schemes.md
:white_check_mark:Succeeded
View

TerminalDocs/customize-settings/actions.md
:white_check_mark:Succeeded
View

TerminalDocs/customize-settings/appearance.md
:white_check_mark:Succeeded
View

TerminalDocs/customize-settings/interaction.md
:white_check_mark:Succeeded
View

TerminalDocs/customize-settings/profile-advanced.md
:white_check_mark:Succeeded
View

TerminalDocs/customize-settings/profile-appearance.md
:white_check_mark:Succeeded
View

TerminalDocs/customize-settings/rendering.md
:white_check_mark:Succeeded
View

TerminalDocs/dynamic-profiles.md
:white_check_mark:Succeeded
View

TerminalDocs/get-started.md
:white_check_mark:Succeeded
View

TerminalDocs/new-terminal-arguments.md
:white_check_mark:Succeeded

TerminalDocs/panes.md
:white_check_mark:Succeeded
View

TerminalDocs/search.md
:white_check_mark:Succeeded
View

TerminalDocs/troubleshooting.md
:white_check_mark:Succeeded
View

TerminalDocs/tutorials/powerline-setup.md
:white_check_mark:Succeeded
View

TerminalDocs/tutorials/ssh.md
:white_check_mark:Succeeded
View

TerminalDocs/customize-settings/color-schemes.md

Line 42, Column 61: [Warning-file-not-found] Invalid file link: './get-started.md'.

TerminalDocs/customize-settings/profile-general.md

Line 70, Column 457: [Warning-file-not-found] Invalid file link: './get-started.md'.
Line 93, Column 226: [Warning-file-not-found] Invalid file link: './get-started.md'.
Line 70, Column 65: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/windows/wsl/install-win10' will be broken in isolated environments. Replace with a relative link.

TerminalDocs/customize-settings/startup.md

Line 35, Column 93: [Warning-file-not-found] Invalid file link: './get-started.md'.

TerminalDocs/command-palette.md

Line 37, Column 260: [Suggestion-docs-link-absolute] Absolute link 'https://docs.microsoft.com/windows/uwp/design/style/segoe-ui-symbol-font' will be broken in isolated environments. Replace with a relative link.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 562da65:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

TerminalDocs/command-line-arguments.md
:white_check_mark:Succeeded
View

TerminalDocs/command-palette.md
:white_check_mark:Succeeded
View

TerminalDocs/custom-terminal-gallery/custom-schemes.md
:white_check_mark:Succeeded
View

TerminalDocs/customize-settings/actions.md
:white_check_mark:Succeeded
View

TerminalDocs/customize-settings/appearance.md
:white_check_mark:Succeeded
View

TerminalDocs/customize-settings/color-schemes.md
:white_check_mark:Succeeded
View

TerminalDocs/customize-settings/interaction.md
:white_check_mark:Succeeded
View

TerminalDocs/customize-settings/profile-advanced.md
:white_check_mark:Succeeded
View

TerminalDocs/customize-settings/profile-appearance.md
:white_check_mark:Succeeded
View

TerminalDocs/customize-settings/profile-general.md
:white_check_mark:Succeeded
View

TerminalDocs/customize-settings/rendering.md
:white_check_mark:Succeeded
View

TerminalDocs/customize-settings/startup.md
:white_check_mark:Succeeded
View

TerminalDocs/dynamic-profiles.md
:white_check_mark:Succeeded
View

TerminalDocs/get-started.md
:white_check_mark:Succeeded
View

TerminalDocs/new-terminal-arguments.md
:white_check_mark:Succeeded

TerminalDocs/panes.md
:white_check_mark:Succeeded
View

TerminalDocs/search.md
:white_check_mark:Succeeded
View

TerminalDocs/troubleshooting.md
:white_check_mark:Succeeded
View

TerminalDocs/tutorials/powerline-setup.md
:white_check_mark:Succeeded
View

TerminalDocs/tutorials/ssh.md
:white_check_mark:Succeeded
View

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

Overall this looks good. I just had some syntax suggestions and I'm not sure the bottom section of the Settings.json blurb on the Get Started page is needed. :)

Docs Build status updates of commit b8b7b92:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

TerminalDocs/command-line-arguments.md
:white_check_mark:Succeeded
View

TerminalDocs/command-palette.md
:white_check_mark:Succeeded
View

TerminalDocs/custom-terminal-gallery/custom-schemes.md
:white_check_mark:Succeeded
View

TerminalDocs/customize-settings/actions.md
:white_check_mark:Succeeded
View

TerminalDocs/customize-settings/appearance.md
:white_check_mark:Succeeded
View

TerminalDocs/customize-settings/color-schemes.md
:white_check_mark:Succeeded
View

TerminalDocs/customize-settings/interaction.md
:white_check_mark:Succeeded
View

TerminalDocs/customize-settings/profile-advanced.md
:white_check_mark:Succeeded
View

TerminalDocs/customize-settings/profile-appearance.md
:white_check_mark:Succeeded
View

TerminalDocs/customize-settings/profile-general.md
:white_check_mark:Succeeded
View

TerminalDocs/customize-settings/rendering.md
:white_check_mark:Succeeded
View

TerminalDocs/customize-settings/startup.md
:white_check_mark:Succeeded
View

TerminalDocs/dynamic-profiles.md
:white_check_mark:Succeeded
View

TerminalDocs/get-started.md
:white_check_mark:Succeeded
View

TerminalDocs/new-terminal-arguments.md
:white_check_mark:Succeeded

TerminalDocs/panes.md
:white_check_mark:Succeeded
View

TerminalDocs/search.md
:white_check_mark:Succeeded
View

TerminalDocs/troubleshooting.md
:white_check_mark:Succeeded
View

TerminalDocs/tutorials/powerline-setup.md
:white_check_mark:Succeeded
View

TerminalDocs/tutorials/ssh.md
:white_check_mark:Succeeded
View

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

Docs Build status updates of commit 69ba53b:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

TerminalDocs/command-line-arguments.md
:white_check_mark:Succeeded
View

TerminalDocs/command-palette.md
:white_check_mark:Succeeded
View

TerminalDocs/custom-terminal-gallery/custom-schemes.md
:white_check_mark:Succeeded
View

TerminalDocs/customize-settings/actions.md
:white_check_mark:Succeeded
View

TerminalDocs/customize-settings/appearance.md
:white_check_mark:Succeeded
View

TerminalDocs/customize-settings/color-schemes.md
:white_check_mark:Succeeded
View

TerminalDocs/customize-settings/interaction.md
:white_check_mark:Succeeded
View

TerminalDocs/customize-settings/profile-advanced.md
:white_check_mark:Succeeded
View

TerminalDocs/customize-settings/profile-appearance.md
:white_check_mark:Succeeded
View

TerminalDocs/customize-settings/profile-general.md
:white_check_mark:Succeeded
View

TerminalDocs/customize-settings/rendering.md
:white_check_mark:Succeeded
View

TerminalDocs/customize-settings/startup.md
:white_check_mark:Succeeded
View

TerminalDocs/dynamic-profiles.md
:white_check_mark:Succeeded
View

TerminalDocs/get-started.md
:white_check_mark:Succeeded
View

TerminalDocs/new-terminal-arguments.md
:white_check_mark:Succeeded

TerminalDocs/panes.md
:white_check_mark:Succeeded
View

TerminalDocs/search.md
:white_check_mark:Succeeded
View

TerminalDocs/troubleshooting.md
:white_check_mark:Succeeded
View

TerminalDocs/tutorials/powerline-setup.md
:white_check_mark:Succeeded
View

TerminalDocs/tutorials/ssh.md
:white_check_mark:Succeeded
View

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

Docs Build status updates of commit eb0947d:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

TerminalDocs/command-line-arguments.md
:white_check_mark:Succeeded
View

TerminalDocs/command-palette.md
:white_check_mark:Succeeded
View

TerminalDocs/custom-terminal-gallery/custom-schemes.md
:white_check_mark:Succeeded
View

TerminalDocs/customize-settings/actions.md
:white_check_mark:Succeeded
View

TerminalDocs/customize-settings/appearance.md
:white_check_mark:Succeeded
View

TerminalDocs/customize-settings/color-schemes.md
:white_check_mark:Succeeded
View

TerminalDocs/customize-settings/interaction.md
:white_check_mark:Succeeded
View

TerminalDocs/customize-settings/profile-advanced.md
:white_check_mark:Succeeded
View

TerminalDocs/customize-settings/profile-appearance.md
:white_check_mark:Succeeded
View

TerminalDocs/customize-settings/profile-general.md
:white_check_mark:Succeeded
View

TerminalDocs/customize-settings/rendering.md
:white_check_mark:Succeeded
View

TerminalDocs/customize-settings/startup.md
:white_check_mark:Succeeded
View

TerminalDocs/dynamic-profiles.md
:white_check_mark:Succeeded
View

TerminalDocs/get-started.md
:white_check_mark:Succeeded
View

TerminalDocs/new-terminal-arguments.md
:white_check_mark:Succeeded

TerminalDocs/panes.md
:white_check_mark:Succeeded
View

TerminalDocs/search.md
:white_check_mark:Succeeded
View

TerminalDocs/troubleshooting.md
:white_check_mark:Succeeded
View

TerminalDocs/tutorials/powerline-setup.md
:white_check_mark:Succeeded
View

TerminalDocs/tutorials/ssh.md
:white_check_mark:Succeeded
View

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


SD Card Question

Do I need to insert the SD card into the 405M and format it for GammaOS to recognize it? Or, will it recognize a fresh exFat formatted SD card without any steps needed?
Trying to determine if I can load up my SD with games while I wait for my 405M to be delivered, or if I need to wait and load them up after completing some steps on the device once I get GammaOS installed on it.
Thanks for the help!

It should recognise the card just fine without having to format in the 405m first.
When you insert it, if prompted just set up as portable storage.


Constraint pairs

I would be delighted to have the ability to have a constraint made from two fields in a struct... Ie, constraint A and B. So that they don't have to be unique individually but have to be unique when as a combined pair.
It seems you guys don't have any kind of guidelines when it comes to contributing - happy to tinker with it myself if you're open to that.

I welcome PRs.  Feel free to tinker away.
If I were designing it, I think I'd treat any unique contraints that have matching tag fields as one unique value in the index:
type User struct {
  Name string `boltholdUnique:"UniqueID"`
  Email string `boltholdUnique:"UniqueID"`
}

Unique value would be Name+Email.  The only issue I see what with that is that struct field order isn't guaranteed, so we'd need to order alphabetically or something.


Show hints for ignore rules in CLI output

Since there is only one way to "ignore" rules, which is to "skip" the standards check by it's full name, there probably isn't anything to hint about. So I'm closing this. Reopen if you disagree.

Skip checks and hide results ... but agree with closing this ticket.


Consolidate packages into @vivid-planet/react-admin

Why do react-admin-rte ("@vivid-planet/react-admin": "^1.0.0-alpha.18"), react-admin-color-picker (^1.0.0-alpha.47) and react-admin-date-picker (^1.0.0-alpha.1) all require different versions of the newly created react-admin package?

@dkarnutsch You're right. I updated to the new versioning schema (0.1.0)

my review is mistakenly here https://github.com/vivid-planet/react-admin/pull/235

my review is mistakenly here #235

See https://github.com/vivid-planet/react-admin/issues/241

@nsams Can I merge this? I want to make https://github.com/vivid-planet/react-admin/issues/241 into a separate PR.


Feature Request: Support for SQLite Generated columns

Sqlite supports generated columns. This can be a great addition to pocketbase so it supports server side generated values depending on data created/updated https://www.sqlite.org/gencol.html

At least for now there are no plans for this as it comes with too many edge cases.
Also note that computed/generated columns were initially planned as part of https://github.com/pocketbase/pocketbase/issues/311 but was superseded by the View collections as a more generic solution.
Additionally as explained in https://github.com/pocketbase/pocketbase/issues/4520#issuecomment-1984469992, after the refactoring users will have a special hook that will allow users to customize programmatically however they want the record model right before serialization.


Wrong auto import types of vue-router API

Environment

Operating System: Linux
Node Version:     v18.20.3
Nuxt Version:     3.12.4
CLI Version:      3.12.0
Nitro Version:    2.9.7
Package Manager<EMAIL_ADDRESS>Builder:          -
User Config:      compatibilityDate, devtools
Runtime Modules:  -
Build Modules:    -

Reproduction
// auto import wrong type of onBeforeRouteUpdate
onBeforeRouteUpdate((to) => {
  console.log(to);
});

https://stackblitz.com/edit/github-bjyhxs?file=app.vue,pages/index.vue,package.json,tsconfig.json
npm run typecheck

Describe the bug
pages/index.vue:2:22 - error TS7006: Parameter 'to' implicitly has an 'any' type.
2 onBeforeRouteUpdate((to) => {

The reason is the below vue-router API inside .nuxt/types/imports.d.ts imported from ../../node_modules/vue-router/auto-routes which does not exports the useLink, onBeforeRouteLeave, onBeforeRouteUpdate
readonly useLink: UnwrapRef<typeof import('../../node_modules/vue-router/auto-routes')['useLink']>
readonly onBeforeRouteLeave: UnwrapRef<typeof import('../../node_modules/vue-router/auto-routes')['onBeforeRouteLeave']>
readonly onBeforeRouteUpdate: UnwrapRef<typeof import('../../node_modules/vue-router/auto-routes')['onBeforeRouteUpdate']>

Additional context
in Nuxt v3.12.2 has no issue and the below is the imports.d.ts of it.
const onBeforeRouteLeave: typeof import('../vue-router-stub')['onBeforeRouteLeave']
const onBeforeRouteUpdate: typeof import('../vue-router-stub')['onBeforeRouteUpdate']
const useLink: typeof import('../vue-router-stub')['useLink']

Temporary fix
Add vue-router imports manually
+ import { onBeforeRouteUpdate } from 'vue-router'
onBeforeRouteUpdate((to) => {
  console.log(to);
});

Logs
No response

the same issue is occurring with me.

@danielroe vue-router accepted the solution PR (https://github.com/vuejs/router/pull/2323) I submitted.
This issue should be resolved in the next vue-router release. Thanks for following up.


cloud cutter did not complete - bulb is partially freed

Hoping someone can comment on this and provide their thoughts on how to complete the cloud cut.
I ran cloudcutter on a bulb made by Schwaiger, model SWLc19.  There is not much info on the bulb on the internet.  I used a generic profile (tuya-generic-e27-rgbct-wb2l-m1-bulb).
The bulb was set up and working fine in Smart Life app prior to running cloud cutter.
The process went fine up to when the bulb was to reboot into AP mode.  I restarted the process and now seems like I can not longer "see" the bulb in the Smart Life App and cannot complete the process in Cloudcutter.  I can get the bulb into AP mode (slow blink) or setup (fast blink).  Cloudcutter seems to connect and disconnect from the bulb when rerunning the process and finally fails with (below).  The access point of the bulb is A-669B:
Found access point name: "A-669B", trying to connect..
Device 'wlp1s0' successfully activated with '64dedeb3-81e7-484e-9fd8-4d6dbb0541f4'.
Error, could not connect to SSID.
Failed to connect, please run this script again
Running nmap with the bulb in AP mode shows:
PORT   STATE         SERVICE
53/udp open|filtered domain
67/udp open|filtered dhcps
The appears to notice it is being connected to in AP mode by either the Smart Life app or cloudcutter because is stops blinking (slow) when the programs try to connect and then remains on.
And cloudcutter will only allow running using "From device-profiles" and only allow the "tuya-generic-e27-rgbct-wb2l-m1-bulb" profile.  The other choices result in a bunch of errors with the program crashing.
Any thoughts or suggestions on how to finish cloudcutter with the bulb?

Try running with the -r parameter?
SmartLife devices only allow 1 device to be connected at a time, I'm not sure if nmap is causing you additional problems.

Thank you for your response.  Unfortunately -r wasn't able to do it.  I did see the additional message "Wiping NetworkManager configs", but ultimately the process would cycle through
"Found access point name: "A-669B", trying to connect..
Device 'wlp1s0' successfully activated with '1df95a15-6592-4c6b-932b-c78a78bdb829'."  a few times  and finally end with:
"Error, could not connect to SSID.
Failed to connect, please run this script again"
I have all the devices right next to each other.
BTW, I provided the nmap in case anyone thought of another way into the bulb while the bulb is in AP mode.  Those are the ports open when the bulb is in AP mode.  I 'm not running nmap when I'm running cloudcutter.

Can you please manually connect to the AP and run the command
nmcli -f IP4.GATEWAY con show "A-669B" | awk -F ' ' '{print $2}' and provide what it responds with?
We check for a successful connection to a Tuya device by expecting the device gateway IP to be <IP_ADDRESS>
One of two things is happening;

it's not connecting at all, and that would be outside the control of cloudcutter.
You're getting a different gateway IP or localization has a different format since that is a string match.

With the bulb in AP mode (slow blink) I can connect to it as if it were a regular AP
When running
nmcli -f IP4.GATEWAY con show "A-669B" | awk -F ' ' '{print $2}'
<IP_ADDRESS>
And...
iwconfig wlp1s0    IEEE 802.11  ESSID:"**A-669B**"             Mode:Managed  Frequency:2.437 GHz  Access Point: D4:A6:51:E9:66:9A              Bit Rate=54 Mb/s   Tx-Power=22 dBm
wlp1s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500         inet **<IP_ADDRESS>**  netmask <IP_ADDRESS>  broadcast <IP_ADDRESS>
I bolded my ip addess and the Bulb as an AP after connecting.  The gateway is <IP_ADDRESS>.  I can ping it.
However, I noticed in my network manager that there are numerous A-669B access points with a number appended.  i.e. "A-669B 1" "A-669B 2", etc.
I connect to the first one (no number appended), ran cloudcutter.  It failed with
Found access point name: "A-669B", trying to connect.. Device 'wlp1s0' successfully activated with '5505cfe6-89ac-4193-a13e-98c0b7fc6e90'. Error, could not connect to SSID. Failed to connect, please run this script again
And when i looked at my AP connection after the fail, I was attached to "A-669B 31"  When that occurred, I' can still ping <IP_ADDRESS>, but the nmcli command does not return anything.
Its like there is an initial connection, then there is a new connection to the AP with the number appended and the program fails.
Is it possible for hard code the AP name into the script?  I've been looking but haven't seen where to do so.

That is the issue -r is meant to resolve.  Your system is creating multiple profiles in /etc/NetworkManager/system-connections/ and -r attempts to clear them out.  Where you not running elevated or as a user that doesn't have permissions to change that directory?
I'd recommend removing all files containing A-669B from /etc/NetworkManager/system-connections/ manually and see if that works.
The only change we can make to cloudcutter would be to try to parse the guid of the connected network and use that instead, but unfortunately, that leads to more internationalization issues we are trying to avoid.  It looks like there may be a way we can force the profile name to be consistent, I'll look into that.

Is it possible for hard code the AP name into the script? I've been looking but haven't seen where to do so.

That won't help because your system is appending a number, that that's the crux of the issue.  The script is recording the AP's broadcast SSID, but your system names it something extra, and you can't hard-code it because it appears it is creating a new one each time (you'd have to predict, and cloudcutter makes multiple connections because of the different states required, so it would be maybe right once but then also wrong once).

I have pushed a change that will try to create a profile name that matches the broadcast AP SSID, please do a git update and try again?

Thank you.  I'm on it.  Will keep you posted

Success !  You are Awesome !  I clear out the AP names as you suggested above.  During the process 4 more came back, however, now with many characters following (i.e cd65001a-f573-421c-a17f-14f7ef2c020d)
I ran the updated version and the processed completed with the bulb !
Device should be successfully onboarded on WiFi AP!
and I can see it in TinyTuya with the ip, device id, local key (which is blank), version and type.
Scan Complete!  Found 1 devices.
Thank you !


README API

API is well documented/explained in your readme, well done. Also the code snippets are a great addition.

Thanks for the feedback, will close this issue


[FLINK-12568][hive] Implement OutputFormat to write Hive tables

What is the purpose of the change
To implement OutputFormat to write Hive tables.
Brief change log

Implemented HiveTableOutputFormat that can be used to write Hive tables.
HiveTableOutputFormat uses Hive's output formats, SerDe, and RecordWriter to write data.
Added HMSClientFactory as a unified factory to create HMS client.
Added HiveTableUtil to provide util methods to access Hive tables.

Verifying this change
Added a unit test HiveTableOutputFormatTest to test HiveTableOutputFormat.
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): yes
The public API, i.e., is any changed class annotated with @Public(Evolving): no
The serializers: no
The runtime per-record code paths (performance sensitive): no
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Yarn/Mesos, ZooKeeper: no
The S3 file system connector: no

Documentation

Does this pull request introduce a new feature? yes
If yes, how is the feature documented? JavaDocs

@xuefuz @bowenli86 please have a look. Thanks.

I have removed the TableSink implementation and updated unit test accordingly.
@KurtYoung @xuefuz @bowenli86 please take another look. Thanks.

@bowenli86 sorry for overlooking some comments. Will update soon

Updated to address comments and remove dependency on blink runtime.

LGTM, but why do we need the commit "fix HiveTypeUtil a50ac6e"?

LGTM, but why do we need the commit "fix HiveTypeUtil a50ac6e"?

Because those type info instances in BasicTypeInfo are not singletons. So it's not safe to check equality with ==. This caused some problem when I developed the test case (although that test is not the final version in this PR).

Rebased. @bowenli86 please take another look. Thanks.

LGTM, but why do we need the commit "fix HiveTypeUtil a50ac6e"?

Because those type info instances in BasicTypeInfo are not singletons. So it's not safe to check equality with ==. This caused some problem when I developed the test case (although that test is not the final version in this PR).

Not sure about new data types, but these old ones are static final vars that are supposed to be referenced/used when it comes to data types. Here's an example in Orc source table
Can you describe the test problem? If we only use these predefined vars and not creating new ones, would it be fine? If it turns out we really need to do it, how about make changes in the later PR which adds the tests?

I think the problem maybe is:
Although they are static final vars, it will be a new instance after serialize/deserialize. (The real singleton need in: https://stackoverflow.com/questions/21361137/deserializing-a-singleton-in-java )
New data types are the same.

LGTM, but why do we need the commit "fix HiveTypeUtil a50ac6e"?

Because those type info instances in BasicTypeInfo are not singletons. So it's not safe to check equality with ==. This caused some problem when I developed the test case (although that test is not the final version in this PR).

Not sure about new data types, but these old ones are static final vars that are supposed to be referenced/used when it comes to data types. Here's an example in Orc source table
Can you describe the test problem? If we only use these predefined vars and not creating new ones, would it be fine? If it turns out we really need to do it, how about make changes in the later PR which adds the tests?

The problem I hit is that we got different instances of the same type info. I don't think we have the guarantee that all type info instances used are from BasicTypeInfo. E.g. HiveTableOutputFormat has a RowTypeInfo field that needs to be serialized. And after deserialization, the type info instances in this RowTypeInfo are different from those in BasicTypeInfo.

Thanks @JingsongLi , you beat me to the explanation :)
BTW, I'd like to confirm whether type info instances are supposed to be singletons? Judging from the code, it's not designed that way. So I think it's always safer to call equals to check equality (guess that's also why BasicTypeInfo overrides the equals method). Is that correct?

Thanks @JingsongLi , you beat me to the explanation :)
BTW, I'd like to confirm whether type info instances are supposed to be singletons? Judging from the code, it's not designed that way. So I think it's always safer to call equals to check equality (guess that's also why BasicTypeInfo overrides the equals method). Is that correct?

Yes, it's always safer to call equals to check equality. (Scala's "==" is equals)

Thanks @JingsongLi
@bowenli86 do you think we can keep that change in this PR? I'm also fine to have a separate ticket to take care of it later.

thanks @lirui-apache @JingsongLi for the explanation. For simplicity, let's keep it in the PR

I'm re-running the failed tests in travis CI and will merge once build passes

moreover, please have correct commit message in the future. E.g. the first commit's msg should be "[FLINK-12568][hive] Implement OutputFormat to write Hive tables"

moreover, please have correct commit message in the future. E.g. the first commit's msg should be "[FLINK-12568][hive] Implement OutputFormat to write Hive tables"

Got it. Thanks.


Undo stack is busted when saving a file, switching to another tab, and then going back to the original tab

VSCode Version:

1.3.1

OS Version:
OS X El Capitan 10.11.6

Steps to Reproduce:

Create a new file
Type 'hello'
Save the file
ctrl+tab to another tab
ctrl+tab back to the first tab
Try to undo

Result: undo is not working.

I cannot repro this issue after restarting vscode, but I have seen it happening in the past as well, so I guess this bug is a tricky one.

@boaz-chen if you have reliable steps please update this issue!

With the provided steps I could not reproduce. Closing until we find steps. I think I am seeing this from time to time as well, but hard to catch.
@alexandrudima fyi
Imho the only way we can lose the undo stack is that the model gets disposed. However if that happens, we should also not see the file open anymore in the tabs.

This is https://github.com/Microsoft/vscode/issues/10932


Sprint 1 Review and Demo

Uploading Hasini  & Kailyn - Arm Building Sprint Document.docx…

Successes, failures, and next steps:
Successes:

The starter robot intake was build completely
The design is able to reliably take in and spit out samples

Failures:

The wheels were placed incorrectly, and consequently do not touch the floor, leaving the extrusions to drag along the floor
Very unstable when attached to the slider
The hex shaft extends far beyond the length of the intake

Next steps:

Create a custom-ramp to replace the corrugated plastic
Cut the hex shaft
Move the wheels so they hold up the intake
Look into shaving off some weight (possibly by replacing some extrusions with lighter, plastic printed pieces)

Successes:

System was successfully brainstormed
Motors are working as intended

Failures:

The chain was extremely annoying to manipulate and use, leading to failure

Next Steps:

Finish the chain and ensure it functions properly with the wheel systems
Assemble the rest of the frame and ensure it is able to move freely and withstand the weight of the other systems
Link up power to the motors and code the wheels to move properly according to gamepad input


fix: Date parsing should support string format

@machi1990 Not sure how this works but it works :D

@wtrocki think it's just checking if the value.toIsoString is defined. Took me a while to wrap my head around that too.
Good job @machi1990

@machi1990 Not sure how this works but it works :D

Just eleverages the Date constructors which accepts various date formats, the only time where it will stop working is the epoch time i.e timestamp 0, because of the if (value)  statement, and undefined will be returned.


Build CI/CD pipeline

Simple continuous build is available at https://jenkins.eclipse.org/jaxb-impl/job/jaxb-fi-master-build/


Live preview does not highlight HTML nodes after JavaScript change.

Prerequisites

[x] Can you reproduce the problem with Debug -> Reload Without Extensions?
[x] Did you perform a cursory search to see if your bug or enhancement is already reported?
[x] Did you read the Troubleshooting guide?

Description
Saving a JS file while Live Development session is opened causes the page in Chrome to reload.
When you go back to the HTML markup and edit your code there, you cant see any highlights or changes.
This is probably due to fact that after the refresh the remote markup (the code in actual browser) does not contain data-brackets-id attributes.
You can see that this line throws an error https://github.com/adobe/brackets/blob/master/src/LiveDevelopment/Agents/RemoteFunctions.js#L716 (_queryBracketsID on the  DOMEditHandler is undefined)
I didn't have any better idea for title of this issue.
Steps to Reproduce

Start Live Preview on any HTML file.
Have fun there (see that everything actually works, highlight and changes are applied)
Attach some Javascript file to the main HTML file
Edit linked javascript file
The changes made in JS file are applied
Go back to your HTML file
Try to have fun again
No luck - there's no highlighting nor live changes applied to the browser.

Expected behavior: Every part of Live Preview works even if you changed some javascript.
Actual behavior: Highlight and Live changing of text/tags does not work.
Versions
OSX Sierra 10.12.1 (16B2555)
Brackets 1.8

HTMLDocument.getResponseData() seems to be the culprit:
    HTMLDocument.prototype.getResponseData = function getResponseData(enabled) {
        var body;
        if (this._instrumentationEnabled && this.editor) {
            body = HTMLInstrumentation.generateInstrumentedHTML(this.editor);
        }

        return {
            body: body || this.doc.getText()
        };
    };

If the editor isn't visible this.editor becomes null, and the document sends back static text to the browser instead of the instrumented text with data-brackets-id attributes.
You could try this (rough) solution here which uses the _masterEditor reference instead: https://github.com/haslam22/brackets/tree/livepreview-fix
Only problem is that it doesn't work if the .html file isn't in the working files list, so I'll work on this and submit a PR soon hopefully

It seems like you guys fixed the problem I am having. My question is I can't figure out which file to download to fix the problem with my Brackets. Help?

You can just clone the latest brackets code and then link your installed brackets to the source code.
https://github.com/adobe/brackets/wiki/How-to-Hack-on-Brackets#setting-up-your-dev-environment


docs: add hold and wip

As title.

Codecov Report

Merging #198 (3d4cd6c) into master (285e9bb) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #198   +/-   ##
=======================================
  Coverage   86.10%   86.10%
=======================================
  Files          11       11
  Lines         986      986
=======================================
  Hits          849      849
  Misses         77       77
  Partials       60       60

Flag
Coverage Δ

unittests
86.10% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 285e9bb...fe24966. Read the comment docs.

rest LGTM

/lgtm

/merge


Sortable accordion

Hi all, I would like to implement dnd sortable with ngx-boostrap accordion, any ideas?
I try this, but does not work, no idea how to blind them together:
Ts file:
list: Array<object> = [         {title: 'One'},         {title: 'Two'}     ];
Html file:
<accordion [closeOthers]="true" dnd-sortable-container [sortableData]="list"><accordion-group *ngFor="let item of list; let i = index" panelClass="b0 mb-sm" dnd-sortable [sortableIndex]="i">
{{ item.title }}

Content
</accordion-group></accordion>

I found the solution:
Putting the accordions inside a div:
<accordion [closeOthers]="true">

<accordion-group panelClass="b0 mb-sm" >
{{ item.title }}

Content
</accordion-group>

</accordion>

thanks