Added CNN global pooling layer

One issue: this would break model serialization / deserialization (pooling_function).

Sorry I don't understand what do you mean by serialization. Could you explain a bit more?

You have the ability to save and load model architectures via model.to_json() / model.to_yaml() and model_from_json(string) / model_from_yaml(string)`. That's model seralization / deserialization.
The model reconstruction step would break here.

I didn't know there are such useful methods. I just tried it but even with a model without using this layer I still got an error:
Traceback (most recent call last):
  File "train_keras.py", line 46, in <module>
    model.to_yaml()
  File "/home/cheng/keras/keras/models.py", line 317, in to_yaml
    return yaml.dump(config)
  File "/usr/local/lib/python3.4/dist-packages/yaml/__init__.py", line 200, in dump
    return dump_all([data], stream, Dumper=Dumper, **kwds)
  File "/usr/local/lib/python3.4/dist-packages/yaml/__init__.py", line 188, in dump_all
    dumper.represent(data)
  File "/usr/local/lib/python3.4/dist-packages/yaml/representer.py", line 26, in represent
    node = self.represent_data(data)
  File "/usr/local/lib/python3.4/dist-packages/yaml/representer.py", line 47, in represent_data
    node = self.yaml_representers[data_types[0]](self, data)
  File "/usr/local/lib/python3.4/dist-packages/yaml/representer.py", line 203, in represent_dict
    return self.represent_mapping('tag:yaml.org,2002:map', data)
  File "/usr/local/lib/python3.4/dist-packages/yaml/representer.py", line 116, in represent_mapping
    node_value = self.represent_data(item_value)
  File "/usr/local/lib/python3.4/dist-packages/yaml/representer.py", line 47, in represent_data
    node = self.yaml_representers[data_types[0]](self, data)
  File "/usr/local/lib/python3.4/dist-packages/yaml/representer.py", line 195, in represent_list
    return self.represent_sequence('tag:yaml.org,2002:seq', data)
  File "/usr/local/lib/python3.4/dist-packages/yaml/representer.py", line 91, in represent_sequence
    node_item = self.represent_data(item)
  File "/usr/local/lib/python3.4/dist-packages/yaml/representer.py", line 47, in represent_data
    node = self.yaml_representers[data_types[0]](self, data)
  File "/usr/local/lib/python3.4/dist-packages/yaml/representer.py", line 203, in represent_dict
    return self.represent_mapping('tag:yaml.org,2002:map', data)
  File "/usr/local/lib/python3.4/dist-packages/yaml/representer.py", line 116, in represent_mapping
    node_value = self.represent_data(item_value)
  File "/usr/local/lib/python3.4/dist-packages/yaml/representer.py", line 51, in represent_data
    node = self.yaml_multi_representers[data_type](self, data)
  File "/usr/local/lib/python3.4/dist-packages/yaml/representer.py", line 342, in represent_object
    return self.represent_sequence(tag+function_name, args)
  File "/usr/local/lib/python3.4/dist-packages/yaml/representer.py", line 91, in represent_sequence
    node_item = self.represent_data(item)
  File "/usr/local/lib/python3.4/dist-packages/yaml/representer.py", line 33, in represent_data
    if self.ignore_aliases(data):
  File "/usr/local/lib/python3.4/dist-packages/yaml/representer.py", line 135, in ignore_aliases
    if data in [None, ()]:
TypeError: data type not understood

Do you know where could be wrong?

You are serializing data that is not serializable. What is your model?

I just used the example VGG model of keras as this:
def Keras_Example_VGG_32(n_classes):
    model = Sequential()
    model.add(Convolution2D(32, 3, 3, 3, border_mode='full'))
    model.add(Activation('relu'))
    model.add(Convolution2D(32, 32, 3, 3))
    model.add(Activation('relu'))
    model.add(MaxPooling2D(poolsize=(2, 2)))
    model.add(Dropout(0.25))

    model.add(Convolution2D(64, 32, 3, 3, border_mode='full'))
    model.add(Activation('relu'))
    model.add(Convolution2D(64, 64, 3, 3))
    model.add(Activation('relu'))
    model.add(MaxPooling2D(poolsize=(2, 2)))
    model.add(Dropout(0.25))

    model.add(Flatten())
    model.add(Dense(64 * 8 * 8, 256))
    model.add(Activation('relu'))
    model.add(Dropout(0.5))

    model.add(Dense(256, n_classes))
    model.add(Activation('softmax'))
    return model

Yaml and Json serialization both work fine on this example (just tested it here).

I have fixed the problems you pointed out. However, the to_yaml() still not working for both model on my computer. With pdb I printed "config":
{'name': 'Sequential', 'layers': [{'b_regularizer': None, 'subsample': (1, 1), 'activation': 'linear', 'stack_size': 3, 'init': 'glorot_uniform', 'W_constraint': None, 'W_regularizer': None, 'b_constraint': None, 'name': 'Convolution2D', 'border_mode': 'full', 'nb_col': 3, 'nb_row': 3, 'nb_filter': 32, 'activity_regularizer': None}, {'name': 'Activation', 'target': 0, 'activation': 'relu', 'beta': 0.1}, {'b_regularizer': None, 'subsample': (1, 1), 'activation': 'linear', 'stack_size': 32, 'init': 'glorot_uniform', 'W_constraint': None, 'W_regularizer': None, 'b_constraint': None, 'name': 'Convolution2D', 'border_mode': 'valid', 'nb_col': 3, 'nb_row': 3, 'nb_filter': 32, 'activity_regularizer': None}, {'name': 'Activation', 'target': 0, 'activation': 'relu', 'beta': 0.1}, {'name': 'MaxPooling2D', 'ignore_border': True, 'stride': None, 'poolsize': (2, 2)}, {'name': 'Dropout', 'p': 0.25}, {'b_regularizer': None, 'subsample': (1, 1), 'activation': 'linear', 'stack_size': 32, 'init': 'glorot_uniform', 'W_constraint': None, 'W_regularizer': None, 'b_constraint': None, 'name': 'Convolution2D', 'border_mode': 'full', 'nb_col': 3, 'nb_row': 3, 'nb_filter': 64, 'activity_regularizer': None}, {'name': 'Activation', 'target': 0, 'activation': 'relu', 'beta': 0.1}, {'b_regularizer': None, 'subsample': (1, 1), 'activation': 'linear', 'stack_size': 64, 'init': 'glorot_uniform', 'W_constraint': None, 'W_regularizer': None, 'b_constraint': None, 'name': 'Convolution2D', 'border_mode': 'valid', 'nb_col': 3, 'nb_row': 3, 'nb_filter': 64, 'activity_regularizer': None}, {'name': 'Activation', 'target': 0, 'activation': 'relu', 'beta': 0.1}, {'name': 'MaxPooling2D', 'ignore_border': True, 'stride': None, 'poolsize': (2, 2)}, {'name': 'Dropout', 'p': 0.25}, {'name': 'Flatten'}, {'name': 'Dense', 'b_regularizer': None, 'W_regularizer': None, 'input_dim': 4096, 'activation': 'linear', 'b_constraint': None, 'init': 'glorot_uniform', 'output_dim': 256, 'W_constraint': None, 'activity_regularizer': None}, {'name': 'Activation', 'target': 0, 'activation': 'relu', 'beta': 0.1}, {'name': 'Dropout', 'p': 0.5}, {'name': 'Dense', 'b_regularizer': None, 'W_regularizer': None, 'input_dim': 256, 'activation': 'linear', 'b_constraint': None, 'init': 'glorot_uniform', 'output_dim': 10, 'W_constraint': None, 'activity_regularizer': None}, {'name': 'Activation', 'target': 0, 'activation': 'softmax', 'beta': 0.1}]}

and the "data" variable where the error occurs: dtype('int64')
Do you know where could be my problem?

@entron I think the problem is that you put self.pooling_function.__name__ into the config, which is something like T.mean. Your constructor takes a string, not a function, so you should rather put average there, instead. Hope this helps.

@entron could you consider restarting your PR with the new backend? Your layer will look like this:
class GlobalPooling2D(Layer):
    """
    By @entron
    Borrowed and modified from here: https://github.com/fchollet/keras/pull/522
    """
    def __init__(self, pooling_function='average'):
        super(GlobalPooling2D, self).__init__()
        if pooling_function not in {'average', 'max'}:
            raise Exception('Invalid pooling function for GlobalPooling2D:', pooling_function)
        if pooling_function == 'average':
            self.pooling_function = K.mean
        else:
            self.pooling_function = K.max
        self.input = K.placeholder(ndim=4)

    def get_output(self, train):
        X = self.get_input(train)
        return self.pooling_function(self.pooling_function(X, axis=-1), axis=-1)

    def get_config(self):
        return {"name": self.__class__.__name__,
                "pooling_function": self.pooling_function.__name__}

Please also add a test like the following one to test_convolutional.py:
from numpy.testing import asser_allclose
def test_global_pooling():
    layer = GlobalPooling2D()
    X = K.placeholder(ndim=4)
    layer.input = X
    Y = layer.get_output()
    F = function([X], Y)

    x = np.ones(3, 1, 4, 4)
    t  = x.mean(axis=(2, 3))
    y = F(x)
    np.testing.assert_allclose(y, t)

Let me know if you prefer me to do it myself.

hi @EderSantana, thanks a lot! As I am quite occupied recently, so it would be great if you could create a new PR!

Hey @EderSantana, I'm actually working on this as we speak, so if you don't mind I could take over this one and you could focus on your awesome VAEs instead. What do you think?

@maxpumperla Thanks!!! Please go ahead. I'll need that for the VAE :) that and __call__ #1162

Hi @EderSantana @maxpumperla . Do we have now a GlobalPooling Layer available in the current Keras codebase? I can't find it. Thank you for your help!

Hi @xFlux, you find them here:
https://github.com/fchollet/keras/blob/master/keras/layers/convolutional.py
The PR relating to it was this one:
https://github.com/fchollet/keras/pull/1202
Since then, 3D Pooling has made it into the fold. I hope this helps.

Hi @maxpumperla. thanks for your reply. i was having a look at convolutional.py, but it seems that all layers require the explicit definition of the "pool_size". Can I somehow use this to build a GlobalPooling layer that pools all the pixels of the previous layer, independent of the input image size and thus of the size of the previous layer?


Feature: system packages for Linux servers, CI and workstations

Feature
Feature: system packages for Linux servers and workstations
There are so many times that I log into a server and install server software using a combination of curl and tar.
This provides the fastest way to install software, ensures the latest versions are available, something that package managers struggle to keep up with.
Generally, during scripting and automation, you'll find this kind of pattern. The popularity of arkade get has shown that people are comfortable installing software in this way, and it makes CI - trivial - https://github.com/hopefulramen/k3sup-tester/blob/master/.github/workflows/build.yml
For example:
arkade system install<EMAIL_ADDRESS>arkade system install<EMAIL_ADDRESS>arkade system install<EMAIL_ADDRESS>arkade system install<EMAIL_ADDRESS>arkade system install cni-plugins

This is present in openfaas/faasd, and on every Linux workstation I use, I tend to need these tools.
When a tool is already present, installation will be skipped, unless --force is passed.
The version will be detected the same way as arkade get without using the GitHub API, but using a HTTP HEAD request to the releases page, where no version is given that is.
A Go template will be used to form the URL, which will have a unit test for ARM32, ARM64 and AMD64.
Sometimes there are additional steps to run like systemd enable, or making a directory in a known location.
This would be a new command aimed at ARM32, ARM64 and AMD/Intel workstations and servers, and would save a lot of time for CI and setting up workstations.
I'd suggest we create a basic fluid SDK when adding the first app for Golang, for instance:
export ARCH=$(uname -p)

export GOPATH=$HOME/go/
export PATH=$PATH:/usr/local/go/bin/

install_go() {
    DL_ARCH=$ARCH
    if [ "$ARCH" == "x86_64" ]; then
        DL_ARCH=amd64
    else
        if [ "$ARCH" == "aarch64" ]; then
            DL_ARCH=arm64
        fi
    fi

    if ! [ -e /usr/local/go/bin/go ]; then

        curl -SLf https://go.dev/dl/go$GOVER.linux-$DL_ARCH.tar.gz > /tmp/go.tgz
        sudo rm -rf /usr/local/go/
        sudo mkdir -p /usr/local/go/
        sudo tar -xvf /tmp/go.tgz -C /usr/local/go/ --strip-components=1

        go version
        echo "export GOPATH=\$HOME/go/" | tee -a $HOME/.bashrc
        echo "export PATH=\$PATH:/usr/local/go/bin/" | tee -a $HOME/.bashrc
    fi
}

Would become:

system.
  WithTarget("/usr/local/go/).
  WithArch("x86_64").
  WithOverwrite(false).
  WithVersion("v1.18.1")
  WithMessageTemplate(`
# Add to your PATH variable or .bashrc:
export GOPATH=\$HOME/go/" | tee -a $HOME/.bashrc
echo "export PATH=\$PATH:/usr/local/go/bin/" | tee -a $HOME/.bashrc`)

Each command file would be added and populatet the Arch / Version etc in a similar way to how we do this for arkade get
Containerd is more involved:
export CONTAINERD_VERSION=1.6.1

install_containerd() {
    DL_ARCH=$ARCH
    if [ "$ARCH" == "x86_64" ]; then
        DL_ARCH=amd64
    else
        if [ "$ARCH" == "aarch64" ]; then
            DL_ARCH=arm64
        fi
    fi

    mkdir -p /etc/containerd

    if ! [ -e /etc/containerd/config.toml ]; then
        cd $START_PWD
        cp ./config.toml /etc/containerd/config.toml
    fi

    if ! [ -e /usr/local/bin/containerd ]; then
        curl -sSL https://github.com/containerd/containerd/releases/download/v$CONTAINERD_VERSION/containerd-$CONTAINERD_VERSION-linux-$DL_ARCH.tar.gz > /tmp/containerd.tar.gz \
        && sudo tar -xvf /tmp/containerd.tar.gz -C /usr/local/bin/ --strip-components=1

        containerd -version

        curl -sLS https://raw.githubusercontent.com/containerd/containerd/v1.5.4/containerd.service > /tmp/containerd.service

        echo "[Manager]" | tee -a /tmp/containerd.service
        echo "DefaultTimeoutStartSec=3m" | tee -a /tmp/containerd.service

        sudo cp /tmp/containerd.service /lib/systemd/system/
        sudo systemctl enable containerd || echo "Failed to enable containerd, may be masked."

        sudo systemctl daemon-reload
        sudo systemctl restart containerd
    fi
}

Therefore we'd want some additional SDK methods, as per the method we use for faasd: https://github.com/openfaas/faasd/blob/2885bb0c514a403d317b93e6d8add1ad52239a13/pkg/systemd/systemd.go
.WithFetch("https://raw.githubusercontent.com/containerd/containerd/v1.5.4/containerd.service", "/tmp/containerd.service")
.WithCp("/tmp/containerd.service", "/lib/systemd/system")
.WithDaemonReload().
.WithRestart("containerd")

I'm looking for someone to volunteer to add the first app, it needn't use an SDK for the first pass, we can extract this as we add apps.
An initial list of apps:

Prometheus
Golang
containerd
firecracker
nodejs
CNI plugins

I do not see this list becoming much larger than the above, but am open to suggestions from the community.

I could use this in a number of places. Using linux package managers is ok but not all the tools we use are available or they are in a different repo or an older version. Having something to download the binary would be great.

This would be definitely helpful! I was checking if arkade could install Go on my system a couple of days ago - having arkade already used to install a bunch of tools (kind, kubectl, etc.), it felt absolutely natural to employ arkade as a replacement of a package manager too.
My only concern is about the secureness of this procedure. Pulling random stuff from the Internet becomes more and more dangerous these days :) So, maybe having some trusted registry with package signatures is a good idea. But this might defeat the sole purpose of having a lightweight and up-to-date installation mechanism.

@iximiuz "pulling stuffed from some random place on the internet"
Explain how you got that from the proposal?

@alexellis Sure! When we do things like wget https://go. dev/dl/go1.18.linux-amd64.tar.gz, it does look like pulling random stuff from the Internet to me. Even though in this particular case the source is (more or less) trusted.
Validating the source of the artifact is an important step during an installation of a package, but having a checksum verification is probably an even more important step. But all these things must be transparent. When I use a package manager like apt, I kinda offload this trust to the maintainers of the system repositories at the expense of having (quite) outdated versions of software installed. But if I were to start installing packages with arkade, I would need a crystal clear understanding of:

From where a package comes from
What validations (e.g. checksums) arkade does before installing a package.

And yes, arkade get can also benefit from something similar to that.

Whilst I agree that apt and pacman etc use GPG or other signing keys, I wouldn't have considered Google's download server to be untrusted or random. I checked, and the installation guide for Go follows the same pattern, they don't even supply a command to verify some checksum. https://go.dev/doc/install, I can't even find checksums on their download page: https://go.dev/dl/
Given that you use arkade get today, which downloads over HTTPS, it doesn't seem like a blocker? Is your main concern that you believe that TLS encryption could be broken and intercepted?

When we talk about Prometheus in this case, are we talking about prometheus itself only or with "standard" exporters like node_exporter as well?

I do not see this list becoming much larger than the above, but am open to suggestions from the community.

@alexellis may I suggest adding buildkit to the list?

@Shikachuu prometheus = the download called prometheus
buildkit - potentially. I haven't had a need to add it stand-alone on a machine, and doesn't installing Docker add it?
Keep suggesting things that you personally install on Linux servers/workstations/CI hosts.

@Shikachuu prometheus = the download called prometheus
buildkit - potentially. I haven't had a need to add it stand-alone on a machine, and doesn't installing Docker add it?
Keep suggesting things that you personally install on Linux servers/workstations/CI hosts.

buildkit itself doesn't require Docker, only runc, crun or containerd.
I acutally use buildkit with containerd and nerdctl to substitue docker in my workstation, my laptop and on my "build" server as well.
(Also if your download the nerdctl-full package from their github release, it contains this combination of tools too.)

Completed:

[x] firecracker
[x] Golang
[ ] containerd
[ ] node
[ ] prometheus
[ ] cni-plugins

Really good idea, but I may suggest to start directly with cosign signed packages and show that its signed (or not signed). Think that would help tremendously!

These tools are not signed with Cosign, so I'm not sure what you're suggesting?

These tools are not signed with Cosign, so I'm not sure what you're suggesting?

Uhh just saw that you are right. Maybe for the future!

@dirien thanks for the PR for Prometheus, could you or @Shikachuu please send in a PR where you make the "arch" value come from a flag if .Changed is true - default it to ""? See how we for it for the get command. We need this for all of the system apps.

@Shikachuu for the containerd app, please make sure you install the systemd service as per the code I DM'd you on Discord. Then put the systemd behaviour behind a flag like --systemd=true (default true)
See also: https://github.com/openfaas/faasd/blob/2885bb0c514a403d317b93e6d8add1ad52239a13/pkg/systemd/systemd.go

@dirien thanks for the PR for Prometheus, could you or @Shikachuu please send in a PR where you make the "arch" value come from a flag if .Changed is true - default it to ""? See how we for it for the get command. We need this for all of the system apps and it helps with testing.

@alexellis Like this https://github.com/alexellis/arkade/pull/673?

That is exactly what I had in mind, could you cover the other apps too?

Hi @alexellis, added the node support and I saw you the the CNI. 👍

We now have all the original apps requested along with actions-runner to get the latest GitHub Actions runner version.


Stale results in webui until uchiwa process restarted

Looks to be the same problem described in #438
OS: Ubuntu 16.04
Sensu: 0.26.3
Uchiwa: 0.20.1
In the events and clients overview pages the results are stale, directly visible from their ages (e.g. Issued times). When clicking through to the client and check details, the data is up-to-date.
This problem comes up after a while and at undetermined intervals.
Refreshing the browser doesn't work, only restarting the Uchiwa process fixes this.
The uchiwa.log shows the last "Updating the datacenter sensu" the stale time ago, i.e., the datacenter data isn't being updated.
Let me know if you want specific information.

Hi @madeddie
Thanks for reporting this issue. I'm unfortunately unable to reproduce it so I'll need some help. Could you modify the logvalue attribute to debug and restart Uchiwa?
Then, the next time you face this issue, simply provide us the last few lines from the Uchiwa log files. It should help us understand the current behavior you are facing.
Thanks!

Hey, thanks for the quick reply. A coworker decided to rollback Uchiwa to an older version because of other problems (handlers not compatible with current silencing method), I'll set up a concurrent test setup and will get back to you.

@madeddie What version did you roll back to? I'm also seeing this problem

We're currently on 0.17.1. I'm still seeing "slow" results at times, harder to debug.
Also setting up a shadow env with newer version uchiwa is proving difficult.

I ran into this issue and it turned out that my "refresh" setting had an insane 10000 because I had copied old config over where this had been the default. This default had since been changed to 10. Once I updated to 10, it worked fine.

I'm afraid I don't have a production sensu setup under my control anymore, so this ticket can be closed AFAIAC.
I will close this issue myself in 3 weeks if it's not closed or requested to stay open beforehand.

I'll go ahead and close this issue. Do not hesitate to open a new issue if anyone face this problem again!


Updating incorrect target option

The old build documentation stated that prod was a valid target command which is incorrect.
The working and valid production commands are:
--prod
-prod
Not:
prod

@tcoz Thank you for your fast reply and feedback, I've made some changes to further clarify this hopefully this makes it more clear.

LGTM. Thanks!


utils: speed up timer by embedding the time.Timer

Note a huge speedup, but we're resetting timers a lot since we're using it to pace packets.
name      old time/op  new time/op  delta
Timer-16  77.9ns ± 4%  75.8ns ± 3%  -2.59%  (p=0.000 n=50+47)

Oops, looks like CI really hates this change. But why?

Seems like (*time.Timer).Reset does not work for timer as value for some reason.
Since the timer is initialized with math.MaxInt64 duration, and is not reset due to the problem above,
the tests are being timed out waiting for receiving from the timer's channel.
I've tested behavior with code snippet below.
using timer as pointer:
func main() {
	now := time.Now()
	t := time.NewTimer(time.Second)
	t.Reset(time.Second * 2)

	<-t.C
	log.Println(time.Since(now))
	// 2024/05/19 17:09:14 2.000662625s
}

using timer as value:
func main() {
	now := time.Now()

	t := *time.NewTimer(time.Second)
	t.Reset(time.Second * 2)

	<-t.C
	log.Println(time.Since(now))
	// 2024/05/19 17:07:54 1.001052084s
}

I'm not sure if there is a workaround.

Can you try embedding a pointer to the timer?

Can you try embedding a pointer to the timer?

That's what we currently have, or am I misunderstanding what you're suggesting?

You aren't. Embedding the timer is what we have currently. I think this is what's happening.
You cannot copy a time.Timer{}. Currently, we create a new timer using time.NewTimer which returns a pointer to the created timer. Now we dereference this pointer and copy the underlying timer value into our struct. This also copies the time.Timer struct's underlying runtimeTimer. This copying is illegal. The way runtime tracks these timers is by their address which it stores when creating the timer with time.NewTimer, the address of our struct is different because we copied this.
Now when we call timer.Reset on the copied timer the implementation goes through the reset steps, but this new value will never be used because the runtime isn't tracking this copied timer at all. Specifically this slice doesn't have the copied timer:
https://github.com/golang/go/blob/go1.22.3/src/runtime/proc.go#L3974

@sukunrt Thanks for researching this! Your explanation makes sense.


Uiview.py script not working in latest release

The uiview.py script (which allows you to get an OP device itself in camera view) under selfdrive/debug doesn't work with the latest openpilot release (v0.8.10). It usually takes a couple attempts to get the script running and working on a FrEon via ssh and it worked on the previous release (v0.8.9) but it doesn't work on this release. I'm unsure what the issue is and I would've opened a PR but the issue isn't very transparent. It'd be nice if this script is fixed. Thank you.  https://github.com/commaai/openpilot/blob/master/selfdrive/debug/uiview.py

@deanlee This modification doesn't seem to fix the issue. I switched to v0.8.10 and nothing happens subsequently after running the script twice via ssh.It just hovers here when it's supposed to cause the device to go into camera mode:


anki: 2.1.6-beta1 -> 2.1.6-beta2, fix python 3.7

Motivation for this change
anki was upgraded by https://github.com/NixOS/nixpkgs/pull/50379 and then a switch to python 3.7 was done. So currently anki is broken.
Upstream PR with the same patch: https://github.com/dae/anki/pull/266
Things done

[X] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[X] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[X] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Assured whether relevant documentation is up to date
[X] Fits CONTRIBUTING.md.

Can you obtain the patch from https://github.com/dae/anki/commit/3d69aa9ce454a151ba75deafd7de117af2c7307d.patch using fetchpatch. Also please add an comment with a short description of the patch and a link to the upstream PR above the fetchpatch call.

@jtojnar done


feat: detect param type if not in provided types

Adds ability to detect named parameter type if types were provided for some parameters, but not all.

[x] Ensure the tests and linter pass
[x] Code coverage does not decrease (if any source code was changed)
[x] Appropriate docs were updated (if necessary)

Fixes #802 🦕

Was this actually applied?  I'm having an issue right now where it's saying I'm not providing the type for an empty array even though I am and I'm starting to wonder if it's because I'm not providing the type for all the other params too

Was this actually applied?  I'm having an issue right now where it's saying I'm not providing the type for an empty array even though I am and I'm starting to wonder if it's because I'm not providing the type for all the other params too


Redundant inserted WHITESPACE on line header break datalines/cards of DATA step

Describe the bug
Copy SAS Code to SAS Extension for VS Code, A redundant WHITESPACE was inserted to the left of each line.
If the line is datalines/cards of a DATA Step (In-steam data), this behavior would break DATA completeness.
For example, the following code runs well in SAS base, but it would fail if you copy the code and run the code in VS Code.
data schedule(drop=type);
   retain Course Professor;
   input type $1. @;
   if type='C' then
      input course $ professor $;
   else if type='S' then
      do;
        input Name $10. Id;
        output schedule;
      end;
datalines;
C HIST101 Watson
S Williams 0459
S Flores   5423
C MATH202 Sen
S Lee      7085
;
run;

proc print;
run;

The reason is, the redundant WHITESPACE change the pointer of dataline definition.
This problem would introduce serious problem for SAS code contains DATA datalines/cards.
Expected behavior
Should not insert redundant WHITESPACE to the SAS Code dataline/cards lines.
Screenshots
Fail and no  correct dataset printed.
Environment (please complete the following information):
Client OS: Win 10.0.19045.3693
Extension version: [e.g. v1.5.0]
SAS version: SAS 9.4M7 and All Viya versions.

It only happens under a section without explicit ending. If you paste it to an empty file, or after run; or quit;, there should be no problem.
VS Code automatically applies indentation rules for paste. We don't have much control over it except turn it off.
User can set Editor: Auto Indent to advanced instead of full to bypass this issue.
Also note that all settings can be set specific to sas to not impact other languages. Refers to https://code.visualstudio.com/docs/getstarted/settings#_language-specific-editor-settings

Auto Indent should not apply the data section (in-stream data) of SAS Code, as it's format sensitive, and it may have process logic in SAS code like pointer/cursor.


Use subprocess umask support

This requires Python 3.9 or newer

The leading idea here is that the time between fork and exec is perilous and we can avoid an unnecessary context switch from C code to Python code by using Python builtin umask setting functionality.

I will remove workaround and wait until BuildStream is ready to drop Python 3.8.

We should be able to remove pylint: disable=subprocess-popen-preexec-fn from utils.py.

@juergbi removed the stanza.


Add RTL_TCP support via SoapySDR

#19 redux

I was able to spin this up with an rtl-sdr using SERIAL, so not sure what's going on with your setup.


Test conformance profile with NKG

As a potential user of a Kubernetes Gateway API Product
I want the tool I choose to use to have a published conformance profile for the Kubernetes Gateway API
So that I have the perception that NKG is a "more official" implementation of the Kubernetes Gateway API
And so that I have confidence in using the product in my environment.
Acceptance

A conformance profile test is performed on the NKG project
A pull request is created to the sig gateway api project to submit the conformance profile.
A discussion is had with the team on the results and to discuss keeping the profile up to date.

See Kong's conformance profile PR for an example

typemeta:
  kind: ConformanceReport
  apiversion: gateway.networking.k8s.io/v1alpha1
implementation:
  organization: nginxinc
  project: nginx-kubernetes-gateway
  url: https://github.com/nginxinc/nginx-kubernetes-gateway
  version: v0.5.0
  contact:
  - '@nginxinc/kubernetes-gateway'
date: "2023-07-20T22:37:10Z"
gatewayapiversion: TODO
profilereports:
- name: HTTP
  core:
    result: success
    summary: ""
    statistics:
      passed: 28
      skipped: 0
      failed: 0
    skippedtests: []
    failedtests: []
  extended:
    status:
      result: success
      summary: ""
      statistics:
        passed: 4
        skipped: 0
        failed: 0
      skippedtests: []
      failedtests: []
    supportedfeatures:
    - HTTPRoutePortRedirect
    - HTTPRouteSchemeRedirect
    - HTTPRouteQueryParamMatching
    - HTTPRouteMethodMatching
    unsupportedfeatures:
    - HTTPRoutePathRedirect
    - HTTPRoutePathRewrite
    - HTTPRouteHostRewrite
    - HTTPRouteRequestMirror
    - HTTPResponseHeaderModification

Waiting for Kong's PR first.


Eri9600/query map image sublayer

Query Map Image Sublayer sample as described here: https://devtopia.esri.com/runtime/common-samples/issues/561. I am using ArcGIS 100.3.0-2070.

Hi @TADraeseke, can you review when you have time ?
Thanks!

@TADraeseke Fixed the suggestions you made. Let me know if i am missing something else.

@TADraeseke Alphabetized the file. Let me know if I missed anything else.

Nice work @eri9600 - Thanks!

@TADraeseke thanks for reviewing. Merging now.


cargo fmt --all downloads dependencies

Describe the bug
When running cargo fmt with the --all argument, it will download all dependencies in the current workspace, including for targets not used on the current platform.
To Reproduce

Create a new empty crate and add a dependency on serde = "1".
Remove serde-*.crate from ~/.cargo/registry/cache/github.com-*/
Run cargo fmt
Check that no serde-*.crate files were downloaded into ~/.cargo/registry/cache/
Run cargo fmt --all
Observe that the call takes longer, and that serde-*.crate was downloaded into ~/.cargo/registry/cache/

Furthermore, do the above with a cfg-gated dependency on serde using
[target.'cfg(bogus)'.dependencies]
serde = "0.2"

Notice that serde is still downloaded with --all, even though it does not even meet the target platform.
Expected behavior
cargo fmt should never download dependencies, whether run with --all or not.
Meta

rustfmt version: rustfmt 1.4.24-stable (eb894d53 2020-11-05)
From where did you install rustfmt?: rustup
How do you run rustfmt: cargo-fmt

Diagnosis
The origin of this issue is that --all invokes cargo metadata without --no-deps
https://github.com/rust-lang/rustfmt/blob/81ad114d12c2d7dd2253afd64f0d2019697aa6de/src/cargo-fmt/main.rs#L456
This behavior was introduced in https://github.com/rust-lang/rustfmt/pull/3664, and the reasoning is spelled out in https://github.com/rust-lang/rustfmt/pull/3664#discussion_r298844369. I think this probably requires a fix to upstream, but I'm not sure (ideas welcome!). I figured that regardless, a tracking issue would be useful.
The target issue could conceivably be fixed by passing --filter-platform to cargo metadata (it considers all targets by default). But, that would still only work subject to https://github.com/rust-lang/cargo/pull/8987, and would also mean that cfg-guarded workspace members would not be walked by rustfmt (I think?).

The requisite upstream feature we need is https://github.com/rust-lang/cargo/issues/7483

Thanks for the report, but I'm going to close as a duplicate as there's a few open issues where this has been discussed already (e.g. #4247) and summarized in https://github.com/rust-lang/rustfmt/issues/4247#issuecomment-644957261

I'm terrible at searching, my apologies! I'll try to help pushing on upstream to figure out a fix :)

No worries, and thanks for your work in this space! It's a tricky issue on both sides and has negative impacts on some portion of the user base so getting this resolved would be fantastic


Add range clipping functions Min(x) and Max(x) for all primitive types

merged in metagen-java 1.0.45


Front Home Page and Login and Register

Twig template :

Home Page
Login
Register

My accaunt -> My account


[dart2js] Cannot use class 'B2' as a mixin because it uses 'super'

Consider the following test code that works perfectly in Dartium. When building the project with that test code, I got two errors from dart2js

Class used as mixin must have Object as superclass.
Cannot use class 'B2' as a mixin because it uses 'super'.

Will dart2js support mixins that extend or implement classes other than Object?
@behavior
abstract class B1 {
  foo() {
    print('B1.foo');
  }
}

@behavior
// abstract class B2 implements B1 {
abstract class B2 extends B1 {
  foo() {
    super.foo();
    print('B2.foo');
  }
}

@PolymerRegister('main-app')
class MainApp extends PolymerElement with B1, B2 {
  MainApp.created() : super.created();

  attached() {
    foo();
  }

  foo() {
    super.foo();
    print('MainApp.foo');
  }
}

Looks like #23773

I found a workaround to this limitation: using static methods instead.
@behavior
abstract class B1 {
  static foo(self) {
    print('B1.foo');
  }
}

@behavior
abstract class B2 implements B1 {
  static foo(self) {
    // Simulate super call.
    B1.foo(self);
    print('B2.foo');
  }
}

/// Uses [PaperInput]
@PolymerRegister('main-app')
class MainApp extends PolymerElement with B1, B2 {
  MainApp.created() : super.created();

  attached() {
    foo();
  }

  foo() {
    // Simulate super call.
    B2.foo(this);
    print('MainApp.foo');
  }
}


bump apko reproducibility image

attempt to fix the reproducibility test errors occurring  in a handful of images

this was opened to address various images that were failing due to reproducibility checks on HEAD. I'm force merging this since the errors in the presubmit checks are irrelevant to this change.


More Efficient algorithm for List.pairwise

As title. Here's my benchmark script using BenchmarkDotNet: https://gist.github.com/liboz/c0671b5e0ac855e26eef2a856d0f4547
and here's a copy of the results:
BenchmarkDotNet=v<IP_ADDRESS>
OS=Microsoft Windows NT 6.2.9200.0
CLR=MS.NET 4.0.30319.42000, Arch=64-bit RELEASE [RyuJIT]
GC=Concurrent Workstation
JitModules=clrjit-v4.6.1080.0

             Method |   count |              Median |             StdDev |    Gen 0 |  Gen 1 |  Gen 2 | Bytes Allocated/Op |

----------------------- |-------- |-------------------- |------------------- |--------- |------- |------- |------------------- |
pairwise |      10 |         327.1238 ns |         13.9871 ns |     0.03 |      - |      - |             347.71 |
pairwiseOriginal |      10 |         451.8890 ns |         16.9809 ns |     0.04 |      - |      - |             435.91 |
pairwiseString |      10 |       1,514.4187 ns |         78.5262 ns |     0.05 |      - |      - |             662.03 |
pairwiseOriginalString |      10 |       1,600.0937 ns |         84.6451 ns |     0.06 |      - |      - |             703.29 |
pairwise |     100 |       2,714.9367 ns |         92.3309 ns |     0.32 |      - |      - |           3,938.73 |
pairwiseOriginal |     100 |       3,688.2524 ns |        139.1834 ns |     0.32 |      - |      - |           3,950.25 |
pairwiseString |     100 |      13,278.4079 ns |        584.3042 ns |     0.49 |      - |      - |           6,098.12 |
pairwiseOriginalString |     100 |      14,574.3664 ns |        672.0111 ns |     0.48 |      - |      - |           6,081.48 |
pairwise |   10000 |     454,843.3097 ns |     13,736.0882 ns |     8.79 |   7.97 |      - |         361,562.37 |
pairwiseOriginal |   10000 |     579,387.0283 ns |     21,741.9021 ns |     9.95 |   8.82 |      - |         391,773.22 |
pairwiseString |   10000 |   1,843,215.4420 ns |     98,686.8146 ns |    13.27 |  13.15 |      - |         599,281.90 |
pairwiseOriginalString |   10000 |   2,008,771.7754 ns |     94,775.6581 ns |    14.41 |  13.27 |      - |         643,548.95 |
pairwise | 1000000 | 329,995,157.5963 ns |  8,002,228.1819 ns |   534.65 | 455.88 | 156.55 |      25,156,179.57 |
pairwiseOriginal | 1000000 | 345,036,064.5113 ns | 13,168,878.7180 ns |   580.00 | 430.00 | 205.00 |      26,705,087.22 |
pairwiseString | 1000000 | 685,053,703.6688 ns | 28,268,795.8537 ns |   943.59 | 832.00 | 172.31 |      44,665,904.21 |
pairwiseOriginalString | 1000000 | 767,084,507.8400 ns | 29,719,202.4054 ns | 1,040.91 | 928.60 | 184.15 |      52,527,595.91 |

Hi @liboz, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
The agreement was validated by Microsoft and real humans are currently evaluating your PR.
TTYL, MSBOT;

This looks good to me.

Looks good to me too


use for dragablz

Hi,
this isn't an issue report. I'm was looking for some project that implements chrome-style tabs, and the reason for that: I'm thinking to add tabbed functionality to putty (in a way what clover3 did to explorer). I recall a few years ago I came across some project that ripped of tabbing code from chromium and made a standalone lib out of it, but cannot find it now.
Your lib seems to do similar tab control, but it's not c/c++, perhaps you can take putty code and combine them together and get universal glory for finally getting it done right? :)

Hi,
This library is very specific to WPF and the .Net Framework.  I don't think I'm the man to make this happen :)


Field template update to Bulma suggested layout

Added .control wrapper element inside field template to preserve layout from Bulma docs

Hi @andrei-dracea, thanks for the PR!
Can you describe in more detail what exactly this change does? Maybe show a screenshot or something to illustrate?
Also, when you reformat the entire file in your PR it can be a bit tricky to review since it obscures what you actually changed. It's fine this time since the formatting change seems to be an improvement, but do try to keep that in mind in the future.

Yes, this change updates the field layout to correspond to bulma layout as you can see(here)[https://bulma.io/documentation/form/general/#form-field] by adding a .control wrapper on the actual control in the field template. This ensures a number of proper css rules afterwards.

I'm mostly curious whether the change can be expected to break layouts people might be using already, if so, we should document it - but it shouldn't, right?

Well, it might. Considering the fact that they might have written some custom css rules within the current structure (for example .field > .input. But I still think it is a good idea to follow Bulma guidelines.

Yeah, I think that all sounds reasonable, and we should probably get this merged. Because of the custom css rule possibility, I guess we should at least bump the version to 0.2. one might argue that a breaking change should lead to a major version increase, not a minor version increase, but I'm not comfortable calling this v1.0 before it's far, far more done than it currently is. This repo is really still in its infancy.

@andrei-dracea can you bump the version up to 0.2 in the setup.py in this PR? We need it bumped to be able to do a realease via the CI.

done.

much appreciated.


Typo error on 2-webhook-signature-validation.md

Is only a typo error from " to ' on crypto     = re quire("crypto');

Description

Related Issue

Motivation and Context

Screenshots (if appropriate):
Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[x] I have signed the Adobe Open Source CLA.
[x] My change follows the documentation style of this project.
[x] I have read the CONTRIBUTING document.

@oostanc thank you for submitting this. Do you plan to sign the CLA?

@justinedelson I've followed the procedure and signed some weeks ago. I'll try one more time today.

CLA Signed

@adobe/open-source-office can you help identify why cla-bot is still failing for this PR?

@oostanc I see that you have signed the CLA a couple of times but none of the signed documents have oostanc as one of the github user id's. Can you sign it one more time, you won't need to add everyone, just sign it yourself.

Thanks for your help @macdonst and @oostanc for submitting this patch. Appreciate the hard work to get a single character changed :)

You can lose a lot of time only for a single wrong character :)


feat: complete local .java //DEPS

@maxandersen note this is still badly affected by https://github.com/jbangdev/jbang/issues/1647


binding with a not exist method should be an error, not warn.

Version
2.5.5
Reproduction link
https://jsbin.com/fihinimuxe/1/edit?html,js,console,output
Steps to reproduce
element binding with a not exist method
What is expected?
show [vue error]
What is actually happening?
show [vue warn]

warn means it can be ignored, but actually it break vue and affect other dom.

No warnings can be ignored. Every warning should be fixed.


feat(chat): call ui updated

What this PR does 📖

Call ui updates

Which issue(s) this PR fixes 🔨

Resolve #

Special notes for reviewers 🗒
Added the first username letter in the Media user box, lmk if it doesnt look good. We should put the Satellite icon later
Additional comments 🎤

Noticed while testing that we only show 1 user in the call and a side note from Matt, the call should be able to display many users in a grid shrinking the users but maintaining aspect ratio.

I can increase the number of users but they will keep the same size regardless of the resize in place. I think we should merge this one and focus later on the user media resize, what do you think?

also agree

Sounds good to me!


Make OE_DEPRECATED macro be compiler agnostic

Addresses Issue #869
Signed-off-by: Dave Thaler<EMAIL_ADDRESS>

bors r+

bors r+

bors ping

bors ping

@dthaler maybe bors does not like this because the source repository fork is gone?

Quite possibly yes, making the master repo public broke some things.  I'll repush it.

Replaced by PR #898


Questions about pretrained weights

My questions are as followes:

I want to customize a model, e.g. Cascade RCNN with ResNeXt-101 as backbone and PAFPN as neck, but there are no pretrained weights for the whole entire stucture. Due to limited resources, I can't train it from scratch on COCO. So what else can I do with it?
After I modified the neck part from FPN to PAFPN, I still tried to load the "Cascade RCNN X-101-64x4d-FPN" pretrained weights. Surprisingly no errors were reported, making me wonder what extractly was going on under the hood? Clearly the weights for FPN could not be loaded into the model since the structure of neck has changed. Does mmdetection has some mechanism to deal with such incompatibility, like when incompatibility occurs in this example, only the backbone weights are loaded into the model, and the neck part remains default initialization values?
A bit similar to question 2: Can I only load the backbone weights into the model? If the answer is yes, how can I do it?

we are not able to help either, you may still considering load Cascade R-CNN + ResNeXt-101 FPN as pretrain.
This is because PAFPN extend FPN by one more path, they share some conv layers. Thus, when the checkpoint lack some keys, it will be fine and the program will continue as we set strict=False. When incompatibility occurs, the weights that mismatch will not be loaded.
You can manually modify the keys in the checkpoints and throw those in head and neck.


save wav file something error

I used the "wav.h" to save audio file , but the saved wav file sound shrill noise

int num_sample = waves.size();
int num_channel = 1;
int sample_rate = 16000;
int bits_per_sample = 32;
WavWriter wav_writer(waves.data(), num_sample, num_channel, sample_rate,bits_per_sample);

bits_per_sample should be 16.


Failable escape system + Game Over

Make it possible to fail escape, each escape becomes harder.
Upon death, lose reputation. PC can be rescued to recover lost reputation. (Dark Souls thievery.)

Finished the escalating escapes. Punting Dark Souls clone to Release4


Fix #1251 three parameter equality operator

Operators in generic classes do not attempt to generate as extension methods anymore
Empty ...Extensions classes are no longer generated
string as a template argument is correctly cast
MarshalCharAsManagedChar option also generates correct casts
Suppress warning regarding returning struct field by ref
Eliminate some tabs that snuck into the test C++ header

Considerations:

Is there a better way to force template instantation than using them in a method? I tried explicit template instantiation, but it didn't seem to have an effect (new feature/bug?)
I'm not entirely sure if the IsTemplate extension method is entirely correct or if the same functionality might exist someplace else.

Do you mean force the symbols to get exported in the shared library? If so, you can see how we do it in https://github.com/mono/CppSharp/blob/main/src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/Std-symbols.cpp. There are some other techniques we use for forcing constructors to get exported for instance.

I don't think that is what I mean. If I try to do explicit template instantiation (template class Optional<unsigned int>;) CppSharp does not generate any C# code for the type. However, explicit template instantiations marked with DLL_API are included in the shared library from the C++ side. So it seems to be a case of CppSharp not accurately reflecting the shared libraries contents from what I can tell. If my understanding is correct in order to fix this it just needs to handle explicit template instantiations in the same way parameters are handled to generate the corresponding template types in the C# code.
Either way, if this turns out to be a bug/missing feature I think it's preferable to just open an issue and deal with it later, the method should be fine for now.

Just wondering about the name, should it be IsTemplateParameterType instead?

Yep! I wasn't happy with the name either, this fits much better.

You may be able to simplify it further with GetFinalPointee.

Very helpful! The code is much cleaner now!


nmos-testing fails upon startup due to nameserver issues

Thank you for authoring this orchestration layer.
I am wondering if you've seen this issue:   When started using docker-compose, the nmos-testing image fails upon startup because it is unable to resolve the hostname github.com.
 File "nmos-test.py", line 19, in <module>
    NMOSTesting.main(sys.argv)
  File "/home/nmos-testing/nmostesting/NMOSTesting.py", line 978, in main
    init_spec_cache()
  File "/home/nmos-testing/nmostesting/NMOSTesting.py", line 526, in init_spec_cache
    repo = git.Repo.clone_from('https://github.com/AMWA-TV/' + repo_data["repo"] + '.git', path)
  File "/usr/local/lib/python3.6/dist-packages/git/repo/base.py", line 1032, in clone_from
    return cls._clone(git, url, to_path, GitCmdObjectDB, progress, multi_options, **kwargs)
  File "/usr/local/lib/python3.6/dist-packages/git/repo/base.py", line 973, in _clone
    finalize_process(proc, stderr=stderr)
  File "/usr/local/lib/python3.6/dist-packages/git/util.py", line 329, in finalize_process
    proc.wait(**kwargs)
  File "/usr/local/lib/python3.6/dist-packages/git/cmd.py", line 408, in wait
    raise GitCommandError(self.args, status, errstr)
git.exc.GitCommandError: Cmd('git') failed due to: exit code(128)
  cmdline: git clone -v https://github.com/AMWA-TV/nmos-discovery-registration.git cache/is-04
  stderr: 'Cloning into 'cache/is-04'...
fatal: unable to access 'https://github.com/AMWA-TV/nmos-discovery-registration.git/': Could not resolve host: github.com

Interestingly, I don't have this problem if I manually start the container using docker run -d -p "5000:5000" amwa/nmos-testing.  I suspect it's related to docker-compose using a custom network.
Hoping you've encountered this and can offer some advice.
Host OS:  I've tested on Centos 7 and Ubuntu 20.04 with identical results
docker version 19.03.8, build afacb8b7f0
docker-compose version 1.27.4, build 40524192
System setup:

Install fresh Ubuntu 20.04 (launch new AMI on AWS)
apt-get update
apt-get install docker.io
(install docker-compose using curl/chmod)
install easy-nmos using git clone
Edit docker-compose.yml

three unique IP addresses in correct subnet
change parent interface name to match host interface name
change parent subnet range to match host subnet range

docker-compose pull
docker-compose up

Ah... You appear to be running this in an AWS EC2 instance. You are effectively running this on top of a KVM hypervisor inside AWS. Your EC2 instance needs to support promiscuous mode on the NIC interface in order to support docker-compose using the "macvlan" driver.
easy-NMOS has not been tested inside an AWS EC2 instance and I'm not sure in terms of configuration you would need to make this function.

Thanks for the fast response.
I've also repro'd the issue on a (physical, non-virtual) Centos 7 machine.  Possibly also an issue with promiscuous mode?
Will let you know if I make progress.

Try running "ip link set eth1 promisc on" where "eth1" is the main server ethernet adapter you are pinning docker-compose to.

Thanks again for the support.
Problems solved.  For posterity, on my Centos 7 physical machine, the following worked for me:

Enable promiscuous mode on the adapter (I used ifconfig enp3s2 promisc, but of course use the proper adapter name on your box)
I needed to add gateway: <IP_ADDRESS> to docker-compose.yml underneath driver_opts:
I also needed to remove the old network created by docker-compose to allow it to be recreated.  docker network ls shows the networks, then docker network rm <netid> removed the old easy-nmos_external network
At this point, docker-compose up resulted in a functioning stack for me.

Thanks again.

Thanks for this! I reproduced this issue running easy-nmos inside an Ubuntu VM in VirtualBox on Windows. (The VirtualBox settings had the NIC set to promiscuous mode.)
@rhastie, I can confirm that both changes were necessary to get things to work for me.

sudo ip link set enp0s3 promisc on inside the VM
Add gateway line to driver_opts for the external network in docker-compose.ym


Kotlin Multiplatform testing

Is your feature request related to a problem? Please describe.
There is currently no way to test results of queries coming from Apollo in Kotlin Multiplatform due to how the private constructors are defined on objects like Response.Builder (note that KMP mocking libraries are basically non-existent and this would require PowerMock or equivalent to handle private access). This makes writing tests for edge cases impossible without adding a layer between the response and your business logic. However, even if you add a middle layer you still want to test the Response -> layer edge cases.
Describe the solution you'd like
Provide a way to instantiate private classes or a testing setup that allows you to fake responses from Apollo for tests.

Hi 👋
While the Response.Builder class is internal, the primary data class constructor is not: https://github.com/apollographql/apollo-android/blob/main/apollo-api/src/commonMain/kotlin/com/apollographql/apollo/api/Response.kt
So the below should work:
    val response  = Response(
      operation = operation,
      data = data,
      errors = emptyList(),
      extensions = emptyMap()
    )

I 100% agree this is inconsistent and there's no reason for one to be internal and not the other but that should make it possible to fake responses.
Also, a convenient method is Operation.parse. If you have a fake Json, it will parse it and produce a ready to use Response, possibly including errors if any.

🙌 thank you for the quick reply and tips, this should work great

Sure thing, let us know how that goes!

I'm going to close this one, let me know if you want to reopen.


Question: Uploads for nested DataObjects in Frontend Forms

Hi @lekoala and thank you for this great module!
I am trying to use the field for nested DataObjects in frontend form. As per the SilverStripe docs I use the aray notation to define the sub fields https://docs.silverstripe.org/en/4/developer_guides/forms/how_tos/handle_nested_data/#array-notation and handling the submission on the server "by hand" so save the data on the corresponding objects. The problem is that the upload is not handled correctly for the subobjects, the upload fails on the frontend with a 404 I can't handle sub-URLs on class SilverStripe\Forms\FormRequestHandler. error in the console.
Is there by any change a recipe to make this work? I have been at it for a while and so far nothing that I tried has worked (including setting a setCustomServerConfig in all kinds of ways).
Happy to prepare a code sample if it helps!
Any help would be greatly appreciated!
Best regards.

Hi @lekoala thank you for getting back to me. Yes, it works for the fields on the regular form. I will try to put an example together later today.

closing this, feel free to reopen if the issue persists


Support Nodejs 0.12

Merge kjunichi's changes in order to support Nodejs 0.12.0
Prebuilt binaries for windows.

:+1:

:+1:

:+1:


Error on console

I get this error on the console every time I start or restart the server

Provide a crash log

Will no longer happen on latest betas, as necromancers no longer summon wraiths


Error running ps: exec: "ps": executable file not found in $PATH

Portainer version:latest
Docker version (managed by Portainer):17.03.2-ce
Platform (windows/linux):centos7
Browser:chrome

Additional context
when I want to see  Containers‘s stats, then show error message "Error running ps: exec: "ps": executable file not found in $PATH", and stats show nothing

Hi @deviantony
not one container
all of the container can't show stats data，and show the error message

@daiing do you have access to the Docker CLI ? If yes, can you try docker stats and tell us if it is working?

I can run 'docker stats' cmd and it shows full information,
But when I want to see stats in Protainer, system shows error message: " Error running ps: exec: "ps": executable file not found in $PATH"

And are you able to execute docker stats <CONTAINER> ?

@daiing oh, I believe this is not related to docker stats but instead docker top. Can you try to use docker top on the CLI ?

can't use docker top , show msg : 'Error response from daemon: Error running ps: exec: "ps": executable file not found in $PATH'  , same with the Protainer 😭

Yup, seems that's an issue with your Docker setup...

Somehow related to #1966


chore: Update plugin iOS native code generation to work with CIO RN SDK v4.x

This PR updates the Expo plugin logic to:

Generate code compatible with CIO RN SDK v4.x and it's underlying native CIO SDKs

@Shahroz16 Thank you very much for the sync, I have aligned the changes to what we discussed, please take a look.
I still won't merge the PR till I unblock testing the push notifications.


Check that value of NB_NODES is not in quotations

See our internal wiki https://github.com/neurobagel/documentation/wiki/Docker#docker-cli-docker-run for why the quotes are a problem

[ ] emit warning if quotes are found (since they will be interpreted literally by the container) and strip them inside the code
[ ] add a test for the new check

Originally posted by @surchs in https://github.com/neurobagel/federation-api/pull/22#pullrequestreview-1732149368

No longer planned as the configuration of local nodes is now handled by a .json file that's mounted into the countainer.


Add Interactive course in Docs -> Learn ->Interactive learning page

What problem does your feature solve?
DApp World has developed an engaging and free interactive learning course titled Master Rust Smart Contract Development on Stellar.
This comprehensive course features a blend of video lessons, quizzes, reading chapters, and coding assignments, offering a dynamic and efficient way to learn Soroban Rust smart contract technology. With this course, developers can master the intricacies of Soroban in a fun and interesting manner, ensuring a deeper understanding and practical application of the technology.
What would you like to see?
Please add this course under the Stellar Dev  Docs -> Learn -> Interactive section.
What alternatives are there?
None

Hi, there @ganesh1999! Thanks so much for pointing this out!
I've browsed quickly through a few of the pages in the course, and so far I'm impressed! I can certainly see a use for providing details/links/etc. I'll talk with the team about how/where to best fit it into the docs. Thanks!

Thank you so much for your feedback! I'm glad to hear you're impressed with the course. Let me know if you need anything.

Hi there @ganesh1999! I'm getting an 504 error when trying to access the link.

Hello @briwylde08 , Sorry for the inconvenience. We have fixed the issue please check again!

@anataliocs

@ganesh1999 Thanks so much for this 🚀  .  I'm currently going through the course now.  Will let you know if I have any feedback!

@anataliocs any update on this?

@ganesh1999 I staged the changes required to add this update.
I haven't had a chance to review the course yet, but will do so early next week!

@ganesh1999 Merged 🚢

Thanks so much for all the hard work here @ganesh1999 🎉 🙏

Thank you!!


Need to skip certain properties for iOS 8

I went ahead with @Deanosaurus's proposal - it solved the issue in a cleaner way I think


Practice Exam 3

Which of the following common IT tasks can AWS cover to free up company IT resources? (Select TWO.)
A. Patching databases software
B. Testing application releases
C. Backing up databases
D. Creating database schema
E. Running penetration tests
Answer
Correct Answer: BE
It should be A & C

@ertejaspatel
Thank you for bringing this to our attention. We apologize for any confusion this may have caused. We have reviewed Practice Exam and made any necessary corrections to ensure the accuracy of our content. If you have any further questions or concerns, please feel free to reach out to us.


Fix the notification message in Github Actions for Discord

needs.tagpr.outputs.tag cannot be referred from Ilshidur/action-discord (https://github.com/launchableinc/cli/actions/runs/5803613994/job/15731973019#step:9:15). Thus, we need to use enviroment variables instead.

Environment variables can be interpolated in the message using brackets ({{ and }}) :
https://github.com/Ilshidur/action-discord#arguments

What do you think my change? https://github.com/launchableinc/cli/pull/608


Example with Typescript

@jaredpalmer 👍

yep. that would be awesome. and extra awesome would be to have one for angular2 build ;)
great job btw!


Voting for new owners between 2023/1/1 ~ 2023/12/31

to follow our rules ... (https://github.com/woodpecker-ci/woodpecker/blob/master/CONTRIBUTING.md#owners) here it goes:
@woodpecker-ci/advisors @woodpecker-ci/maintainers
Only maintainers (& advisors) are eligible to vote or to be elected, and if somebody doesn't want to be elected please send comment in this thread. Every maintainer could send 2 or less votes to other maintainers on the following comments and cannot send the votes to them self. The voting is available from now to 2022/12/31 or the point all people with vote rights have done so.

see #633 for inspirations

@anbraten @qwerty287

@6543 @anbraten

@6543 @anbraten

@6543 @anbraten

@6543

@6543: 5
@anbraten: 5
@qwerty287: 1

Thanks, I'm honored :heart:


Conversion to typescript

Conversion to Typescript.
Connectors need a bit more analysis.
Some minor code cleanup.
Should still work as before.

Obviously not required


Remove references to unimplemented command (Issue #6)

Resolves #6

I think the extension needs a version bump to propagate the update?


Exchange Remote PowerShell

Why is the current MFA PowerShell missing?  Advocating the use of non-MFA is not secure.  At a minimum you need to provide both.

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

ID: 9978e48b-5b8d-df59-d8d3-d3c90a8efafb
Version Independent ID: 52429f1d-39a1-49fb-c9dd-d4bafa19760d
Content: Deploy Skype Room Systems v2 with Exchange Online
Content Source: Skype/SfbServer/deploy/deploy-clients/with-exchange-online.md
Product: skype-for-business-itpro
GitHub Login: @jambirk
Microsoft Alias: jambirk

@jambirk Hi James, any updates on this issue? Thanks!

@r-milne can you clarify please? Are you referring to the use of AD 1.0 commands rather than 2.0 equivalents? The older (MSOLUser) commands are used because the 2.0 commands are not yet tested on this device. A test plan to correct that is being crafted, but is still in early stages.

@r-milne  We appreciate any feedback that improves the content in the Microsoft docs but we haven't had any response from you so we are going to close this issue.
Please feel free to re-open this issue if there is a specific area of the docs that we can improve or make better. Thank you.

@officedocsbot close


Wp experiment 1000

Summary
What/Why
Add a write up for an experiment of 100 people.
Your approach
Make an easy to follow example highlighting some of the pipeline capabilities.
What to review
Just the write up.
Checklists

This pull/merge request meets the following requirements:

[x] code runs
[x] developments are ethical
[x] developments are secure (no data or notebook output)
[x] you have made proportionate checks that the code works correctly
[x] minimum usable documentation written in the docs folder

Comments have been added below around the incomplete checks.

Add a write up for an experiment 1.0 with 1000 people.


not helpful

Microsoft: "You have to sign in with a microsoft account."
Me: "This is my microsoft account."
Microsoft: "You have to sign in with a microsoft account."
Me: "Okay i try my private account."
Microsoft: "You have to sign in with a microsoft account."
Me: "This web plattform is really good. No wonder no one in his right mind deliberately chooses to develop software for a store like this."
[Enter feedback here]

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

ID: 5b48be73-2f29-6b2a-c837-751d3862bcdb
Version Independent ID: efd00d73-1ff5-8689-8415-fe1630795123
Content: Send notifications to Universal Windows Platform apps using Azure Notification Hubs
Content Source: articles/notification-hubs/notification-hubs-windows-store-dotnet-get-started-wns-push-notification.md
Service: notification-hubs
GitHub Login: @sethmanheim
Microsoft Alias: sethm

Hi @37dmk -- thank you for your feedback! Can you please explain a little more about the issue you're having? Are the sites not accepting your Microsoft account logins, or are you unclear on what a Microsoft account is? There is more information here: https://account.microsoft.com/account, and I can add a link to that site in this section of the article.

#please-close


Should we consider removing me as a collaborator?

Hey @jmezach @ErikEJ - as you may have noticed, I haven't been active around here for quite some time. I'm in a different job that isn't related to this project, and managing two teenagers at home, so I haven't found much time to get involved recently.
I wanted to check in to see whether this was causing any problems. I've really enjoyed working on the project, and I hope to be able to dig back in at some point, but I don't want to get in the way in the meantime. If it would be easier to remove me, just let me know!
(Also, sorry if there's a better channel I could use for this discussion, but I didn't see one!)

@jeffrosenberg First of all, I don't think that your lack of time is causing any problems, at least not for me, so I don't really see a reason to remove you as a collaborator. Of course it would be nice to have more input on PR's, but I think @ErikEJ and me can manage.

Agree, appreciate your PR comments and thoughts a lot.

Alright, thanks both! I'll do my best to keep up with PRs, but feel free to remove me from them if ever needed.


Reset to Original Play Screen When Video Finishes?

Is there a way to reset the video state to the first frame once the video finishes playing through? Currently it show a browse screen for more videos, but I only want this one video to be available. Do I need to manually re-mount the entire component?

I think that setting  the rel prop to false will solve your problem:
https://github.com/inProgress-team/react-native-youtube#properties

That did it, thank you! Not sure how I missed that.


Content of Pin is not reflected in UI immediately on PinClicked Event

When you click on pin and you want to change content of pin it is not reflected immediately.
If you click again on pin there is new content loaded.

FEATURE REQUEST / SUGGESTION
SUMMARY
UI should be rendered after event is handled
DETAILS
...
      GoogleMap.PinClicked += GoogleMapOnPinClicked;
...

    private async void GoogleMapOnPinClicked(object sender, PinClickedEventArgs pinClickedEventArgs)
    {
        pinClickedEventArgs.Pin.Address = "New name";
    }

After this code content of Address is still with old content
If you click again on pin content of pin is set to "New name"

PLATFORMS
which platform do you want?

[x] Android
[x] iOS
[?] UWP

I can not reproduce it.
Works fine on Android and iOS like below capture and code.

int counter = 0;
map.PinClicked += (_, e) =>
{
    counter++;
    e.Pin.Address = counter.ToString();
    e.Handled = false;
};

Could you reproduce on XFGoogleMapSample?

@amay077 thank you for help.
It was caused because my event was async and I was using there await.


Implement pull-model documentDiagnostics (cherry-pick from main)

Cherry-picked from #746

@swift-ci test

@tristanlabelle Could you also include https://github.com/apple/sourcekit-lsp/pull/743 in this PR?

My bad, here we go. @ahoppen

@swift-ci Please test

@swift-ci Please test Windows

Ok I see it won't be quite as simple as a cherry-pick. Looking into this

There was a bad merge. I pushed a fix. @ahoppen , could you help me with re-running the CI?

@swift-ci test

@swift-ci test windows

@swift-ci test windows

@swift-ci Please test Windows


Add change mode commands for restaurant mode, table mode and addTableCommand

Pulled from upstream and resolved merge conflicts before opening PR

Merge conflicts resolved to make this PR compatible with the latest commit in upstream repo


[FLINK-36695][Formats] Bump Parquet dependency to 1.14.4

What is the purpose of the change

Bump Parquet dependency

Brief change log

Update POM and NOTICE files

Verifying this change
This change is a trivial rework / code cleanup without any test coverage.
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, Kubernetes/Yarn, ZooKeeper: no
The S3 file system connector: no

Documentation

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

@flinkbot run azure

Hey @MartijnVisser
it seems the reason of failure that with parquet-jackson 1.13.x there were jackson-jaxrs and jackson-xc coming
flink/flink-formats/flink-parquet$ ../../mvnw dependency:tree | grep jackson
[INFO] |  +- org.apache.flink:flink-shaded-jackson:jar:2.15.3-19.0:provided
[INFO] |     \- com.fasterxml.jackson.core:jackson-core:jar:2.15.3:compile
[INFO] |  +- org.apache.parquet:parquet-jackson:jar:1.13.1:runtime
[INFO] |  |  +- org.codehaus.jackson:jackson-jaxrs:jar:1.8.3:provided
[INFO] |  |  \- org.codehaus.jackson:jackson-xc:jar:1.8.3:provided
[INFO] |  +- org.codehaus.jackson:jackson-core-asl:jar:1.9.13:provided
[INFO] |  +- org.codehaus.jackson:jackson-mapper-asl:jar:1.9.13:provided
[INFO] |  \- com.fasterxml.jackson.core:jackson-databind:jar:2.15.3:compile
[INFO] |     \- com.fasterxml.jackson.core:jackson-annotations:jar:2.15.3:compile

and with 1.14 it doesn't
flink/flink-formats/flink-parquet$ ../../mvnw dependency:tree | grep jackson
[INFO] |  +- org.apache.flink:flink-shaded-jackson:jar:2.15.3-19.0:provided
[INFO] |     \- com.fasterxml.jackson.core:jackson-core:jar:2.15.3:compile
[INFO] |  +- org.apache.parquet:parquet-jackson:jar:1.14.4:runtime
[INFO] |  +- com.fasterxml.jackson.datatype:jackson-datatype-jdk8:jar:2.15.3:compile
[INFO] |  |  +- org.codehaus.jackson:jackson-jaxrs:jar:1.8.3:provided
[INFO] |  |  \- org.codehaus.jackson:jackson-xc:jar:1.8.3:provided
[INFO] |  +- org.codehaus.jackson:jackson-core-asl:jar:1.9.13:provided
[INFO] |  +- org.codehaus.jackson:jackson-mapper-asl:jar:1.9.13:provided
[INFO] |  \- com.fasterxml.jackson.core:jackson-databind:jar:2.15.3:compile
[INFO] |     \- com.fasterxml.jackson.core:jackson-annotations:jar:2.15.3:compile

thus since it seems flink-python relies on it then need to add extra dependencies there i guess

Reviewed by Chi on 28/11/24 business as usual progressing with committer involved.

Reviewed by Chi on 28/11/24 business as usual progressing with committer involved.

I do think that it's very smart to NOT approve PRs where the CI hasn't passed, especially if the failure in CI is related to the change the PR is introducing.

Reviewed by Chi on 28/11/24 business as usual progressing with committer involved.

I do think that it's very smart to NOT approve PRs where the CI hasn't passed, especially if the failure in CI is related to the change the PR is introducing.

@MartijnVisser yes I had previously approved this - thinking it was straight forward. I did not revoke this approval when I realised the CI was failing (I have now). This is a good reminder to revoke my approval when I get more information and also check the the CI succeeds before approving. Thanks for the feedback.

there is one minor comment from my side,
the rest is lgtm 👍

Reviewed by Chi on 05/12/24 Approve - looking for committer to merge

Reviewed by Chi on 05/12/24 Approve - looking for committer to merge

@davidradl please do not confuse people with such comments
as mentioned above there is still one comment expecting a tiny change before merging
https://github.com/apache/flink/pull/25646#discussion_r1863831314

Reviewed by Chi on 05/12/24 Approve - looking for committer to merge

@davidradl please do not confuse people with such comments as mentioned above there is still one comment expecting a tiny change before merging #25646 (comment)
UPD: I would consider a good approach to have an agreement on approval between participating reviewers before making decision that a committer is required for merging

@snuyanzin thanks for the feedback. I see how this could be misleading. I guess PRs could have
1- no reviewers
2- some reviewers
3- some reviewers with a committer involved - like this one.
So if there is an active committer moving the PR through - then this comment could be misleading as it implies something additional is needed, but everything is progressing. Maybe we just say business as usual or in hand, in this case; just to show we have looked at it.
Maybe we have another comment. Needs review approvals for the 2nd case.
And needs committer review / merge, if the reviewers have all approved.
Am I understanding your concern correctly? WDYT?

not sure that this is the right place to discuss it here...
I have nothing against your comments in general.
My point is: if there is already a comment requesting some changes
then all the other comments with "approve" without referring to the requesting changes
might lead to loosing that comment...
I guess same is happening here and now since in general this discussion has nothing to do with the PR
so may be you can have a special wiki page accumulating such feedback/comments


Improve offline state

I’d love see a friendlier message when the device has no cell service or wifi. The current “Update Failed” message makes it seem like the app is at fault, rather than the fact that you have no connection.
A message along the lines of “You’re currently offline” would be more clear.

Tracking in Trello https://github.com/thoughtbot/Tropos/issues/116


Add collect_gpu_jobs to CaptureClient and flag to OrbitFakeClient

I want OrbitFakeClient to be able to disable collection of (almost) every
event.
Bug: http://b/187168022
Test:

Take a capture -> GpuJobs still in order.
Capture with OrbitFakeClient with all options off, and a capture with all
options off except -gpu_jobs, notice the difference in number of events.

LGTM, but we need to make sure that we are not allowing captures with the Vulkan layer and without the collect_gpu_jobs (this is for a different change though).

Yep, I thought about it. In the end this change is at a lower level, as the problem is matching the events from the two sources in the client, not generating or receiving the events themselves. Either way, until/unless we allow disabling collect_gpu_jobs in the UI (which doesn't seem necessary), this won't be a problem.


Rename checkout target customization to order submission

Shopify/function-examples/.graphqlrc.cjs has this:
const projects = {
    ...getProjects("sample-apps/discounts/extensions"),
    ...getProjects("sample-apps/payment-customizations/extensions"),
    ...getProjects("sample-apps/delivery-customizations/extensions"),
    ...getProjects("checkout/rust/completion-target-customization"),
    ...getProjects("checkout/rust/delivery-customization"),
    ...getProjects("checkout/rust/payment-customization"),
    ...getProjects("checkout/javascript/completion-target-customization"),
    ...getProjects("checkout/javascript/delivery-customization"),
    ...getProjects("checkout/javascript/payment-customization"),
    ...getProjects("checkout/javascript/cart-checkout-validation"),
    ...getProjects("discounts/rust/order-discounts"),
    ...getProjects("discounts/rust/product-discounts"),
    ...getProjects("discounts/rust/shipping-discounts"),
}

Should this be updated or does it automatically get updated?

Changes LGTM - just a suspicious yarn.lock change that I think was unintended.

Nice catch, thanks!


LuCI: invalid login after upgrade

I’ve upgraded my router firmware to the latest LEDE snapshot and now I can’t login into LuCI anymore. However, I can ssh just fine (pheew!) and I did not change the root password. I tried with Firefox, Safari and Chrome, to make sure it wasn’t a browser issue. On both MacOS and Linux. At some point, I tried changing the password to ‘password’ just to make sure it wasn’t a special character issue either. No luck. Here are some system details:
root@lede-wyn:~# cat /etc/os-release
NAME="LEDE"
VERSION="SNAPSHOT, Reboot"
ID="lede"
ID_LIKE="lede openwrt"
PRETTY_NAME="LEDE Reboot SNAPSHOT"
VERSION_ID="snapshot"
HOME_URL="http://lede-project.org/"
BUG_URL="http://bugs.lede-project.org/"
SUPPORT_URL="http://forum.lede-project.org/"
BUILD_ID="r4907-31e9445"
LEDE_BOARD="mvebu/generic"
LEDE_ARCH=“arm_cortex-a9_vfpv3"
LEDE_TAINTS=”"
LEDE_DEVICE_MANUFACTURER="LEDE"
LEDE_DEVICE_MANUFACTURER_URL="http://lede-project.org/"
LEDE_DEVICE_PRODUCT="Generic"
LEDE_DEVICE_REVISION="v0"
LEDE_RELEASE=“LEDE Reboot SNAPSHOT r4907-31e9445”
root@lede-wyn:~# opkg list-installed | grep luci
luci - git-17.267.26012-a2ea9fd-1
luci-app-adblock - git-17.267.26012-a2ea9fd-1
luci-app-clamav - git-17.267.26012-a2ea9fd-1
luci-app-ddns - 2.4.8-2
luci-app-firewall - git-17.267.26012-a2ea9fd-1
luci-app-fwknopd - git-17.267.26012-a2ea9fd-1
luci-app-openvpn - git-17.267.26012-a2ea9fd-1
luci-app-sqm - 1.1.3-1
luci-app-uhttpd - git-17.267.26012-a2ea9fd-1
luci-app-vpnbypass - git-17.267.26012-a2ea9fd-1
luci-app-watchcat - git-17.267.26012-a2ea9fd-1
luci-base - git-17.267.26012-a2ea9fd-1
luci-lib-ip - git-17.267.26012-a2ea9fd-1
luci-lib-jsonc - git-17.267.26012-a2ea9fd-1
luci-lib-nixio - git-17.267.26012-a2ea9fd-1
luci-mod-admin-full - git-17.267.26012-a2ea9fd-1
luci-proto-ipv6 - git-17.267.26012-a2ea9fd-1
luci-proto-ppp - git-17.267.26012-a2ea9fd-1
luci-ssl-openssl - git-17.267.26012-a2ea9fd-1
luci-theme-bootstrap - git-17.267.26012-a2ea9fd-1
I'm available for tests and more details.
Please and thank you

I have reverted to the last working build and now I can login. This could be a "red light".
current (reverted) LEDE snapshot details:
cat /etc/os-release
NAME="LEDE"
VERSION="SNAPSHOT, Reboot"
ID="lede"
ID_LIKE="lede openwrt"
PRETTY_NAME="LEDE Reboot SNAPSHOT"
VERSION_ID="snapshot"
HOME_URL="http://lede-project.org/"
BUG_URL="http://bugs.lede-project.org/"
SUPPORT_URL="http://forum.lede-project.org/"
BUILD_ID="r4831-9c500db"
LEDE_BOARD="mvebu/generic"
LEDE_ARCH="arm_cortex-a9_vfpv3"
LEDE_TAINTS=""
LEDE_DEVICE_MANUFACTURER="LEDE"
LEDE_DEVICE_MANUFACTURER_URL="http://lede-project.org/"
LEDE_DEVICE_PRODUCT="Generic"
LEDE_DEVICE_REVISION="v0"
LEDE_RELEASE="LEDE Reboot SNAPSHOT r4831-9c500db"
I hope this helps.

Unfortunately the commit range is far too huge to draw any conclusions from that. A quick test using a current x86/64 snapshot did not show any login problems either.
Once you're able to reproduce the problem, please check the following things:

Is rpcd running? ps ww | grep rpcd
Is Lua available to properly talk to ubus? lua -lluci.util -lubus -e 'luci.util.dumptable(ubus.connect():call("system", "board", {}))'
Are logins via ubus working? ubus call session login '{ "username": "root", "password": "secret" }'

Hi I have the same issue. I tried to find solution alone, but without success.
I have run the commands with following results:
ps ww | grep rpcd
802 root      1440 S    /sbin/rpcd
18991 root      1184 S    grep rpcd
lua -lluci.util -lubus -e 'luci.util.dumptable(ubus.connect():call("system", "board", {}))'
board_name      tl-wdr4300
hostname        d31785
release table: 0xb549f0
        distribution    LEDE
        revision        r3533-d0bf257c46
        version 17.01.3
        codename        reboot
        target  ar71xx/generic
        description     LEDE Reboot 17.01.3 r3533-d0bf257c46
model   TP-Link TL-WDR4300 v1
kernel  4.4.89
system  Atheros AR9344 rev 2
ubus call session login '{ "username": "root", "password": "……." }'
{
       "ubus_rpc_session": "525f7827cfdb95eaf9726d5db67e7677",
       "timeout": 300,
       "expires": 299,
       "acls": {
               "access-group": {
                       "unauthenticated": [
                               "read"
                       ]
               },
               "ubus": {
                       "session": [
                               "access",
                               "login"
                       ]
               }
       },
      "data": {
               "username": "root"
       }
}
What can I do now, to find the solution?
Thank You

You might want to check out issue#1101 - maybe there's (a hint to) Your solution?

@jow-
I thought I gave the latest build a try and this is still happening. here's the details (including your commands output):
root@lede-wyn:~# date
Sat Nov 11 15:07:33 CET 2017

root@lede-wyn:~# cat /etc/os-release
NAME="LEDE"
VERSION="SNAPSHOT, Reboot"
ID="lede"
ID_LIKE="lede openwrt"
PRETTY_NAME="LEDE Reboot SNAPSHOT"
VERSION_ID="snapshot"
HOME_URL="http://lede-project.org/"
BUG_URL="http://bugs.lede-project.org/"
SUPPORT_URL="http://forum.lede-project.org/"
BUILD_ID="r5320-b4e30b863c"
LEDE_BOARD="mvebu/generic"
LEDE_ARCH="arm_cortex-a9_vfpv3"
LEDE_TAINTS=""
LEDE_DEVICE_MANUFACTURER="LEDE"
LEDE_DEVICE_MANUFACTURER_URL="http://lede-project.org/"
LEDE_DEVICE_PRODUCT="Generic"
LEDE_DEVICE_REVISION="v0"
LEDE_RELEASE="LEDE Reboot SNAPSHOT r5320-b4e30b863c"

root@lede-wyn:~# ps ww | grep rpcd
 4730 pts/0    S+     0:00 grep rpcd

root@lede-wyn:~# lua -lluci.util -lubus -e 'luci.util.dumptable(ubus.connect():call("system", "board", {}))'
board_name	armada-385-linksys-rango
hostname	lede-wyn
release	table: 0xa0b8c0
	distribution	LEDE
	revision	r5320-b4e30b863c
	version	SNAPSHOT
	codename	reboot
	target	mvebu/generic
	description	LEDE Reboot SNAPSHOT r5320-b4e30b863c
model	Linksys WRT3200ACM
kernel	4.9.58
system	ARMv7 Processor rev 1 (v7l)

root@lede-wyn:~# ubus call session login '{ "username": "root", "password": "my secret password here" }'
{
	"ubus_rpc_session": "faf4bcf4a6eeb220da17f48bfa555a18",
	"timeout": 300,
	"expires": 300,
	"acls": {
		"access-group": {
			"unauthenticated": [
				"read"
			]
		},
		"ubus": {
			"session": [
				"access",
				"login"
			]
		}
	},
	"data": {
		"username": "root"
	}
}

I hope these details can help troubleshooting.
I will keep the current latest custom built image installed to provide more details for a few days. Please ask away before I rollback to a working custom built image.
Cheers

@jow-
FWIW: installed latest build just now, still the same issue. here's some details/commands output:
root@lede-wyn:~# date
Fri Dec  1 11:16:13 CET 2017

root@lede-wyn:~# cat /etc/os-release
NAME="LEDE"
VERSION="SNAPSHOT, Reboot"
ID="lede"
ID_LIKE="lede openwrt"
PRETTY_NAME="LEDE Reboot SNAPSHOT"
VERSION_ID="snapshot"
HOME_URL="http://lede-project.org/"
BUG_URL="http://bugs.lede-project.org/"
SUPPORT_URL="http://forum.lede-project.org/"
BUILD_ID="r5442-b0b289e"
LEDE_BOARD="mvebu/generic"
LEDE_ARCH="arm_cortex-a9_vfpv3"
LEDE_TAINTS=""
LEDE_DEVICE_MANUFACTURER="LEDE"
LEDE_DEVICE_MANUFACTURER_URL="http://lede-project.org/"
LEDE_DEVICE_PRODUCT="Generic"
LEDE_DEVICE_REVISION="v0"
LEDE_RELEASE="LEDE Reboot SNAPSHOT r5442-b0b289e"

root@lede-wyn:~# ps ww | grep rpcd
 5180 pts/0    S+     0:00 grep rpcd

root@lede-wyn:~# lua -lluci.util -lubus -e 'luci.util.dumptable(ubus.connect():call("system", "board", {}))'
board_name	armada-385-linksys-rango
hostname	lede-wyn
release	table: 0x130a8c0
	distribution	LEDE
	revision	r5442-b0b289e
	version	SNAPSHOT
	codename	reboot
	target	mvebu/generic
	description	LEDE Reboot SNAPSHOT r5442-b0b289e
model	Linksys WRT3200ACM
kernel	4.9.65
system	ARMv7 Processor rev 1 (v7l)

root@lede-wyn:~# ubus call session login '{ "username": "root", "password": "my secret passwod" }'
{
	"ubus_rpc_session": "61d4fccd0e6169340918f2f3afdf6487",
	"timeout": 300,
	"expires": 300,
	"acls": {
		"access-group": {
			"unauthenticated": [
				"read"
			]
		},
		"ubus": {
			"session": [
				"access",
				"login"
			]
		}
	},
	"data": {
		"username": "root"
	}
}

please ask away for anything useful for me to help you fix it. this issue has been going on since September.

me, again.
root@lede-wyn:~# date
Sat Dec 30 21:39:17 CET 2017

root@lede-wyn:~# cat /etc/os-release
NAME="OpenWrt"
VERSION="SNAPSHOT"
ID="openwrt"
ID_LIKE="lede openwrt"
PRETTY_NAME="OpenWrt SNAPSHOT"
VERSION_ID="snapshot"
HOME_URL="http://lede-project.org/"
BUG_URL="http://bugs.lede-project.org/"
SUPPORT_URL="http://forum.lede-project.org/"
BUILD_ID="r5645-7aa15953e1"
LEDE_BOARD="mvebu/generic"
LEDE_ARCH="arm_cortex-a9_vfpv3"
LEDE_TAINTS=""
LEDE_DEVICE_MANUFACTURER="OpenWrt"
LEDE_DEVICE_MANUFACTURER_URL="http://lede-project.org/"
LEDE_DEVICE_PRODUCT="Generic"
LEDE_DEVICE_REVISION="v0"
LEDE_RELEASE="OpenWrt SNAPSHOT r5645-7aa15953e1"

root@lede-wyn:~# ps ww | grep rpcd
 5202 pts/0    S+     0:00 grep rpcd

root@lede-wyn:~# lua -lluci.util -lubus -e 'luci.util.dumptable(ubus.connect():call("system", "board", {}))
> ^C
root@lede-wyn:~# lua -lluci.util -lubus -e 'luci.util.dumptable(ubus.connect():call("system", "board", {}))'
board_name	armada-385-linksys-rango
hostname	lede-wyn
release	table: 0x13918c0
	distribution	OpenWrt
	revision	r5645-7aa15953e1
	version	SNAPSHOT
	target	mvebu/generic
	description	OpenWrt SNAPSHOT r5645-7aa15953e1
model	Linksys WRT3200ACM
kernel	4.9.72
system	ARMv7 Processor rev 1 (v7l)

root@lede-wyn:~# ubus call session login '{ "username": "root", "password": "my secret password" }'
{
	"ubus_rpc_session": "9b4b339c79666757288ca88084016bec",
	"timeout": 300,
	"expires": 300,
	"acls": {
		"access-group": {
			"unauthenticated": [
				"read"
			]
		},
		"ubus": {
			"session": [
				"access",
				"login"
			]
		}
	},
	"data": {
		"username": "root"
	}
}

getting the same issue with current git master

Getting the very same error... but only after the first device reboot.

ok... found the solution. In my case this was due to a corrupted /etc/config/rpcd. Deleted it and added the default contents:
config login
option username 'root'
option password '$p$root'
list read ''
list write ''

I had the same issue on raspberry pi model B with lede-17.01.4, lede-17.01.5 and openwrt-18.06.0-rc2.
The solution with the rpcd file did not worked for me because it had the default content.
I can connect with ssh and at Luci interface when I enter wrong credentials it writes "Invalid username and/or password! Please try again." but with the correct credentials it does nothing, no message no login just stays at the login page.
The ps ww | grep rpcd  output is

193 root      1244 S    /sbin/rpcd
553 root      1052 S    grep rpcd

lua -lluci.util -lubus -e 'luci.util.dumptable(ubus.connect():call("system", "board", {}))' output is

board_name	rpi-b
hostname	LEDE
release	table: 0xc6c4b0
distribution	LEDE
revision	r3560-79f57e422d
version	17.01.4
codename	reboot
target	brcm2708/bcm2708
description	LEDE Reboot 17.01.4 r3560-79f57e422d
model	Raspberry Pi Model B Rev 1
kernel	4.4.92
system	ARMv6-compatible processor rev 7 (v6l)

and ubus call session login '{ "username": "root", "password": "secret" }' output

{
"ubus_rpc_session": "7002909ca9433066689a99993b35072f",
"timeout": 300,
"expires": 300,
"acls": {
"access-group": {
"unauthenticated": [
"read"
]
},
"ubus": {
"session": [
"access",
"login"
]
}
},
"data": {
"username": "root"
}
}

Unfortunately so far I was not able to troubleshoot the issue by myself, so any ideas are more than welcome.

I just figured that the problem appears when I change lan ip from <IP_ADDRESS> to another subnet ip for example <IP_ADDRESS>

I just figured that the problem appears when I change lan ip from <IP_ADDRESS> to another subnet ip for example <IP_ADDRESS>

Problem solved for me. I cleared browser's cache and the luci made the login and loaded the interface without a problem. It took me two weeks trying every possible combination in order to solve this and finally it was the simplest of all - clear the cache!!!

I get the same problem with the latest version of Luci in OpenWRT 18.06.1's stable repository (git-18.247.71242) when using and an additional password prompt through uhttpd.
Disabling the said prompt fixes it, however now i can't use the feature without having it break Luci's session again.

Have you tried clearing the cache, but making sure that it removes 'Active Logins' not just cookies (some browsers don't do that by default).

Yes i did. Also tried using incognito and separate browsers with a clean instances.

i have to use a numerical ip address to be able to login.

hangs on login with any credentials
ps ww | grep rpcd output:
718 root      1528 S    /sbin/rpcd -s /var/run/ubus.sock -t 30
1715 root      1200 S    grep rpcd
lua -lluci.util -lubus -e 'luci.util.dumptable(ubus.connect():call("system", "board", {}))' output:
board_name	tl-wr1043nd-v2
hostname	OpenWrt
release	table: 0xa421a0
distribution	OpenWrt
revision	r7808-ef686b7292
version	18.06.4
target	ar71xx/generic
description	OpenWrt 18.06.4 r7808-ef686b7292
model	TP-Link TL-WR1043N/ND v3
kernel	4.9.184
system	Qualcomm Atheros QCA9558 ver 1 rev 0
ubus call session login '{ "username": "root", "password": "secret" }' output:
{
"ubus_rpc_session": "fc2f8b66be4723bab2f7dd77e3c85b00",
"timeout": 300,
"expires": 300,
"acls": {
},
"data": {
	"username": "root"
}

}

got in but now its giving me this error https://i.imgur.com/AZi4vjq.png (cleared cache)

Not able to reproduce on master or 19.07 anymore


deepsource: init at 0.8.6

Description of changes

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

done @Aleksanaa

done @Aleksanaa

Please check https://github.com/NixOS/nixpkgs/pull/324286/commits/62e73984968c8e1882812caed6d2e35357687940

Also would be good to add a nixos.org/manual/nixpkgs/unstable#versioncheckhook if possible.

This is not added. Is it possible to do so?

oh okeey missing it @Aleksanaa

done. Please recheck @Aleksanaa

Please check commit https://github.com/NixOS/nixpkgs/pull/324286/commits/ac6b12bc1a2890fbf68d9eaccb23b28d730d02cd.
This commit contains changes from another one, and the order is wrong.

e6203a3
This is still not resolved. Do you need any help?
Hi @Aleksanaa , Did you mean that the commits are not in order or that the names in the maintainer list are not in order?

I mean this commit https://github.com/NixOS/nixpkgs/pull/324286/commits/ac356ed3e03407aeaa7644eaba4978be0d78a063 contains change from the other commit, and the order is wrong

I mean this commit ac356ed contains change from the other commit, and the order is wrong

Hi @Aleksanaa , I have pulled the latest changes from the master branch and ran the command
nix-instantiate --eval maintainers/scripts/check-maintainers-sorted.nix
"all good!"

is there anything else I need to adjust?

Click on "Commits" on this page, and click on "maintainers: add nipeharefa", see what it contains. Also you have to add yourself to maintainers first, and then add the package, to avoid eval broken on one commit.

Click on "Commits" on this page, and click on "maintainers: add nipeharefa", see what it contains. Also you have to add yourself to maintainers first, and then add the package, to avoid eval broken on one commit.

Okay, could you please check again? The commits have been adjusted.


Revert "Change language as defined by NF Legal"

Reverts nodejs/community-committee#380
I think the merge was premature since my request for clarification was not addressed. So ATM our charter states:

The CommComm will elect from amongst voting CommComm members a CommComm Chairperson to work on building an agenda for CommComm meetings and collaborate with the Individual Membership Directors the wishes of the CommComm to the Board for a term of one year according to the Node.js Foundation’s By-laws. The CommComm shall hold annual elections to select a CommComm Chairperson; there are no limits on the number of terms a CommComm Chairperson may serve.

The CommComm will elect from amongst voting CommComm members:

a CommComm Chairperson, responsible for preparing agendas and coordinating CommComm meetings,
and
a representative to serve on the Node.js Foundation Board of Directors pursuant to its Bylaws.
Each person shall serve a one year term, and may serve for more than one term. The same person may not hold both positions at the same time.

@refack Just fyi, it looks like the commit in this PR contains no actual changes…

@refack Just fyi, it looks like the commit in this PR contains no actual changes…

Thanks. (again GitHub GUI button are non intuitive)

Per discussion around policy and procedure with @hackygolucky and @MylesBorins, I'm going to revert.
See: https://github.com/nodejs/community-committee/pull/380#issuecomment-424460389


To de-dupe, we must remove (again)

part of aspnet/Common#93
use WebEncoders from Common repo
leave some of WebEncodersTests to ensure resources are brought in correctly

/to @anurse @pranavkm

:shipit: (once the package is available)

:shipit:

When checking this, could you do this in two passes (first check in the Common change followed by the 2 repo changes)?

9a28932


does ioredis support EXPIRE?

ex.
hsetnx someuser id 101
expire someuser 2000

Yes. All Redis commands are supported. Added examples to examples/.

that's amazing thank you!


Add open bot button to explorer pane when no bot is open

At the moment, there is no text in the explorer pane when no bot file is open. Should we snap to VS code and show an open bot button in the explorer?

We actually used to have this and then we removed it. Maybe @mewa1024 can add some insight.

Addressed in #689


Remove manual instructions

Windows builds will soon be removed from master.dockerproject.org. This PR removes the section referencing use of those binaries and adds a reference to docs.docker.com for scripted installation.

cc @PatrickLang @enderb-ms


No Private key directory found to connect VMs

I have cloned this repo and dont find .vagrant directory of private key. I'm not able to use this at the moment. Could you please share the private keys to connect these VMs?

I'm sorry. Please ignore this. Once I executed the vagrant up, it created that directory. sorry


perf: process: replace timeout with queueMicrotask

This old process polyfill uses a fix for setTimeouts which was originally made to work on some insanely niche smart TV's. We don't care about that as our minimal entry point is ESM anyways, so I replaced it with queueMicrotask which has very similar support ranges. This was first done by mathiasvr in process-fast so I changed the copyright to his, even tho it's just 1 line of code.
Why this matters?
I'll quote Endless  on this matter:
The problem is with process browserified version of process.nextTick it uses a setTimeout(fn, 0) as a fallback. The setTimeout is delayed well enough in foreground to strangle the speed from 6-7000 kb/s down to just 400 kb/s when one tab is hidden "to save resources". if you instead use two windows the speed will be fast (normal) again.

setTimeout(fn, 0) can potentially be used, however as it is clamped to 4ms for timers nested more than 5 deep per the HTML spec, it does not make for a suitable polyfill for the natural immediacy of setImmediate. - MDN

- link
CPU usage aside, unlike setTimeout, queueMicrotask takes ~ microsecond to execute, so in those worst case scenarios it would be over x10000 faster than setTimeout.
Optionally if backwards compatibility is an issue, an absolutely tiny queueMicrotask polyfill could be used

I'm not certain why tests fail, demo has queueMicrotask so I don't see the issue


add a toggle in the example subsription app that would hide/show the raw locations marker on the map

┆Issue is synchronized with this Jira Task by Unito

Can we deactivate the GPS horizontal accuracy circle on the raw GPS tracker? Since it's the same value as the normal tracker it does not add any value.

Adding a edge case to think about: what if raw locations are not being send, how would the toggle react?

The toggle will simply show/hide the raw marker if the raw data is available. If we don't have the raw data then the toggle will have no effect at all.
In terms of the accuracy circle, we can easily hide it, however, I'm not sure that the raw and enhanced accuracies will always be the same. I guess it depends on the internal implementation of the Mapbox SDK. Still, it's not a problem to either always hide it or add another toggle to show/hide it.