Admin inlines appear as editable on default form

When running actions from the admin, and using the default template form , the AdminModel.inlines are shown allowing new inline entries to be created.

I'm having the same issue.
It looks like daf/admin/action.html inherits from change_form.html which brings inline field sets along.
If you put the following in daf/admin/action.html those inlines will go away.
{% block inline_field_sets %}
{% endblock %}

Perhaps the fix is as simple as that, but here are a couple things that come to mind:
1: Maybe there is a better way to write it?
2: Should there should be an option to keep the inlines? I'm thinking probably not.
3: Do any tests need to be added (maybe an inline admin?)

I found that I was getting errors when I only omitted them, so I've instead hidden them.


Ability to insert link to site's favicon

Describe the solution you'd like
The ability to insert a link to a site's favicon into the head of each javadoc page. If the site's favicon is in the root and named favicon.ico then this is not needed.  But for favicons named differently, or located in a different directory than the root, or of a file type other than ico, a link is needed from each page for browsers to recognize it.  For example, along the lines of <link rel="icon" href="/images/favicon.svg" sizes="any" type="image/svg+xml">. This will require new inputs to control whether or not to insert favicon links, as well as to get the path to the favicon, the type, sizes, etc.

After thinking better of it, this can get complex quickly depending upon what combination of favicons, and similar the site uses. Instead, add a single optional input (multiple lines allowed) for additional stuff the user wants to insert into the head of every page.


Create separate maverick-only -api instance by default

Thoughts from gitter:

Here’s a question/thought
We run separate -api instances for each vehicle. But you don’t need multiple separate -api instances for maverick. Should we run a separate known instance just for maverick? It would be unusual but you don’t necessarily need to run a vehicle proxy/ros/-api set of instances on any CC, and in that case you then wouldn’t have access to maverick config/control
Also if you were connected to say sitl -api on a dev box and stop it or it crashes for any reason (like it loses mavlink or mavros, or something goes wrong in those modules), you lose all control over the rest of the system
It’s all starting to get a bit convoluted with lots of services running everywhere, but maybe we should have a single -api to control the system that is always running?

@SamuelDudley I've created a separate config template for a system/maverick-only api instance that is created by default and put in the 'Web Services' group.
It contains the config:
# List of modules to allow loading. Takes precedence over deny list
module_allow_list = []

# List of modules to deny loading
module_deny_list = ["mavros"]

Is this a sensible module config, or should it just allow a specific module?
I'm assuming that excluding the mavros module in the vehicle -api config would be useless, so we might as well disable the vehicle api instances until they're ready to do something?  Or do you think it's viable to get basic mavlink stuff working in -api for a 1.2 release?  Even just basic parameter editing and vehicle setup?

Turn off vehicle -api instances by default, as they won't be any use for now.

Rename api@maverick to api@system.


CoreDNS 1.8.3 update requires clusterrole patch

I just upgraded my lab EKS cluster (managed by Gruntwork's terraform-aws-eks modules) from 1.19 to 1.20 and ran into some issues with kubergrunt's CoreDNS update.
After the module's provisioner had executed eks sync-core-components .., DNS resolution inside the cluster stopped working and the new CoreDNS pods starting logging errors like:
E0611 10:20:52.181166       1 reflector.go:138] pkg/mod/k8s.io/client-go@v0.20.2/tools/cache/reflector.go:167: Failed to watch *v1beta1.EndpointSlice: failed to list *v1beta1.EndpointSlice: endpointslices.discovery.k8s.io is forbidden: User "system:serviceaccount:kube-system:coredns" cannot list resource "endpointslices" in API group "discovery.k8s.io" at the cluster scope

Quick googling led me to AWS' docs (see step 5):
https://docs.aws.amazon.com/eks/latest/userguide/managing-coredns.html#updating-coredns-add-on
It turns out that the CoreDNS 1.8.3 update requires additional permissions.
Manually patching the system:coredns clusterrole resolved my issues, but I think it would make sense to have kubergrunt handle this kind of thing automatically (since it's already patching the image version and configmap anyways).
versions:
terraform v1.0.0
terragrunt v0.29.2
kubergrunt v0.7.1
terraform-aws-eks v0.41.0

Thanks for the report! I have opened a PR with the fix: https://github.com/gruntwork-io/kubergrunt/pull/130

Looking at the related PR and tests now!

This is now handled in https://github.com/gruntwork-io/kubergrunt/releases/tag/v0.7.2

Just FYI, I upgraded another cluster with the v0.7.2 version last night and it worked like a charm without manual intervention. Thanks for the quick fix!

Thanks for closing the loop!


Loading multiple files spends time in GC

Hi,
I have to load hundreds of TIFF files into memory. Unfortunately, if I try to simply do something like
img = Matrix{Float32}(undef, (image_size[1]*image_size[2], length(shots)))
for i in shots
    img_name = string("shot", i, ".tiff")
    filename = joinpath(folder_path, img_name)
    img[:,i] .= Float32.(Gray.( @views TiffImages.load(filename)[:] ))
end

The garbage collection runs for more than 90% of the time (according to ProfileView). And to collect 230 files (800x800, 8 bit-depth, monochrome), takes a lot of time (30 seconds). The computer I ran it on doesn't have much in the way of RAM but it shouldn't have been using swap.
So I'm looking for a way to make loading images in-place. That is, directly dumping the contents into an array. Is there a way to do so?
Pardon the poor quality of the code, been more than a year that I haven't used Julia and bad habits set in fast.
Best,
Semptum

Why not use mmap=true? Also when you Float32.() and Gray.() you're creating arrays that you're then throwing away. You could use reinterpret
Maybe something like
img[:, i] = reinterpret(Gray{Float32}, vec(TiffImages.load(filename, mmap = true)))

Hi,
thanks for the quick reply. I had attempted to use mmap=true but observed no difference. And, absolutely agreed about broadcasting conversions like that, I didn't think reinterpret would work since the image is loaded by default as containing 3 channels, so in my mind directly reinterpreting three identical values into a single one would lead to unpredictable behaviour.
Unfortunately using what you suggested did not fix the problem. While there is a speedup (it's about twice as fast), the time spent in GC (in the load function) still dominates the overall runing time.

It's a little difficult to diagnose this remotely, I could help a lot better if you shared a minimal working example that I could run on my end.

And, absolutely agreed about broadcasting conversions like that, I didn't think reinterpret would work since the image is loaded by default as containing 3 channels, so in my mind directly reinterpreting three identical values into a single one would lead to unpredictable behaviour.

This wasn't clear from your code that it was a 3-channel image. Either way, have you tried some of the suggestions for using views from JuliaImages?

PS: Additionally, when trying to use the data, I noticed that the values, while proportional to the correct ones, were insanely big, something like 1.7f38. So somewhere along the lines, reinterpretation does something wrong to the exponent I'm guessing. The problem was not present when doing Float32.(Gray.(  ))

Yeah, this is happening because it's likely combining all three channels before doing the reinterpret or something similar.

Unfortunately using what you suggested did not fix the problem. While there is a speedup (it's about twice as fast), the time spent in GC (in the load function) still dominates the overall runing time.

That's interesting. Could you give me the output of
julia> ifds(TiffImages.load(filename, mmap = true)

for one of your images? I need to know what kind of TIFF you are trying to load. TiffImages shouldn't allocate much for most common TIFFs.

It's a little difficult to diagnose this remotely, I could help a lot better if you shared a minimal working example that I could run on my end.

Yes, I understand, I'll generate one that doesn't involve sending large amounts of data.

This wasn't clear from your code that it was a 3-channel image. Either way, have you tried some of the suggestions for using views from JuliaImages?

I'm sorry, that is my bad. The images are originally monochrome but I post-processed them in Python (fiducial marker detection, couldn't do it in Julia), and apparently the output got converted into a three channel image. I thought it was just a quirk of the library, that it always imported in three channels, should've checked my data first.
Rechecking with the original images, it's very fast. But it's also a different computer (I'm at home now and don't have access to the post-processed images to cross-compare). So I need to do some investigating first to determine whether it's the result of the post-processing or something else.
Sorry for the complications. I will come back here and write update once it's a bit clearer.

So, I checked and on my work computer (8GB of RAM, enough free RAM to not go to swap), the problem exists whatever files I use, be they post-processed or not.
Actually even loading a single file uses a lot of garbage collection.

ProfileView.@profview img = TiffImages.load("test.tiff")
The IFDs are the following:
 IFD, with tags:
        Tag(IMAGEWIDTH, 1024)
        Tag(IMAGELENGTH, 768)
        Tag(BITSPERSAMPLE, 16)
        Tag(COMPRESSION, COMPRESSION_NONE)
        Tag(PHOTOMETRIC, 1)
        Tag(FILLORDER, 1)
        Tag(STRIPOFFSETS, 8)
        Tag(ORIENTATION, 1)
        Tag(SAMPLESPERPIXEL, 1)
        Tag(STRIPBYTECOUNTS, 1572864)
        Tag(XRESOLUTION, 0x40000000//0x40000000)
        Tag(YRESOLUTION, 0x40000000//0x40000000)
        Tag(RESOLUTIONUNIT, 1)
        Tag(SOFTWARE, "National Instruments...")
        Tag(SAMPLEFORMAT, 1)

So it's something wrong on my work PC, it doesn't happen on my home PC (which is admittedly much more powerful)

Huh. Not sure. Based on the IFD information, your TIFF looks pretty standard and should load just fine without any GC. Are both of your machines running the same OS?

I am indeed on Windows on the work machine (where there is this problem) and on Linux at home (where there is no problem). And yeah, it's slower than MATLAB which I'm trying to replace.
Unfortunately I am very much not used to Windows and don't have a Windows machine at home to really debug this.
In any case, disabling the GC around the call to load does not unfortunately solve the issue. B

In any case, disabling the GC around the call to load does help.

Does it help or does it resolve the GC issue?
Not sure why we forcibly run the GC on Windows in our load function, which was introduced in #79 https://github.com/tlnagy/TiffImages.jl/blame/0594e42d94929a0b4bcb712985e75559eaab96ec/src/utils.jl#L198 Maybe @timholy or @johnnychen94 remember why we are doing this?
Seems like this is definitely not the solution as it makes TiffImages.load look super bad on Windows.

Sorry, rewrote the comment a couple of times and didn't re-read it. It completely eliminates the issue.
For some reason it just doesn't work if I do it inside my function.
function open_image_series(folder_path, range; image_size = (800,800))
    img = Matrix{Float32}(undef, (image_size[1]*image_size[2], length(range)))
    k=1
    GC.enable(false)
    for i in range
        filename = shot(folder_path, i)
        @views img[:,k] .= vec(reinterpret(Float32,TiffImages.load(filename, mmap = true))
        k+=1
    end
    GC.enable(true)
    return img
end

This, doesn't work (GC is still used in load). But calling GC.enable(false) from the REPL, then calling open_image_series(...) and then enabling GC, this does work.
But I think this has got nothing to do with the package and is just something about Julia GC I'm not getting. So unless you think otherwise, I'm content with the workaround.


tensorflow.keras behaves wrongly in autoencoder setup compared to keras

Attempt to recreate the simplistic autoencoder works properly if keras (2.3.1) is used, but fails to converge if tensorflow.keras (2.3.0-tf).
The basic realisation can be found in https://gist.github.com/fedxa/45eb1a412964ddf19820fff347c5b2de
from tensorflow.keras.layers import Input, Dense
from tensorflow.keras.models import Model
# from keras.layers import Input, Dense
# from keras.models import Model

input_img = Input(shape=(784,))
encoded = Dense(32, activation='relu')(input_img)
decoded = Dense(784, activation='sigmoid')(encoded)

autoencoder = Model(input_img, decoded)
autoencoder.compile(optimizer='adadelta', loss='binary_crossentropy')

from keras.datasets import mnist
import numpy as np
(x_train, _), (x_test, _) = mnist.load_data()
x_train = x_train.astype('float32') / 255.
x_test = x_test.astype('float32') / 255.
x_train = x_train.reshape((len(x_train), np.prod(x_train.shape[1:])))
x_test = x_test.reshape((len(x_test), np.prod(x_test.shape[1:])))

autoencoder.fit(x_train, x_train,
                epochs=20,
                batch_size=256,
                shuffle=True,
                validation_data=(x_test, x_test))

If the separate keras 2.3.1 is used -- the example converges fast, if the tensorflow.keras 2.3.0-tf is used no convergence is observed (loss funciton is ~0.6 all the time and autoencoder encodes noise only).
The problem is present in google collab, on linux and MacOS with tensorflow versions 2.0, 2.1, 2.2

It seems like the problem may lie with optimizer='adadelta'.
Running the code example provided above with the following modification seems to run fine:
autoencoder.compile(optimizer='adam', loss='binary_crossentropy')

@fedxa
Please update as per above comment

@Saduf2019 Oh, yes! The difference is in the default learning rate for the Adadelta optimizer in keras and tensorflow.keras
The keras version has the defaults:
class Adadelta(Optimizer):
    def __init__(self, learning_rate=1.0, rho=0.95, **kwargs):

whiel the tensorflow.keras is
class Adadelta(optimizer_v2.OptimizerV2):
    def __init__(self,
               learning_rate=0.001,
               rho=0.95,
               epsilon=1e-7,
               name='Adadelta',
               **kwargs):

Initialising the optimiser explicitly with the same learning rate makes the example behave in the same way for both keras versions.
Seems it is a feature, not a bug.

@fedxa This has been clearly mentioned in the docs here
learning_rate: A Tensor, floating point value, or a schedule that is a tf.keras.optimizers.schedules.LearningRateSchedule. The learning rate. To match the exact form in the original paper use 1.0
More over the learning rate of all the optimizers have been set to 0.001. This is expected.

@gowthamkpr Yes, for sure, missed this bit!
By the way, for the documentation writers -- it may be sensible to change on the mentioned page
x_t := x_{t-1}+\Delta x_t

to
x_t := x_{t-1}+ \lambda \Delta x_t

with \lambda being the learning rate.

@fedxa The algorithm is correct. The learning rate is contained within the term \Delta x_t, since it employs an adaptive learning rate. Look at the Adadelta paper for more information.

@iobtl Hmm, seems the actual code in tensorflow/python/keras/optimizers.py#L448 does not really correspond to Algorithm 1 in the paper, but is additionally multiplied by the learning rate. C.f. also line-by-line comparison https://stackoverflow.com/questions/56730888/what-is-the-learning-rate-parameter-in-adadelta-optimiser-for-in-keras
So seems that there is an additional learning rate introduced in the code compared to the "automatic" calculation "RMS[Δx]_{t-1}/RMS[g]_t" of learning rate by the algorithm given in the paper and in documentation.

Similar observation here. I believe it is related to the tf.keras.losses binary_crossentropy implementation.
I have run 3 versions in Colab of the Keras VAE tutorial:
https://keras.io/examples/variational_autoencoder/
Version 1 using Keras
Version 2 using tf.keras
Version 3 using tf.keras + a non-standard implementation of binary_crossentropy
Version 1 and 3 converge, version 2 does not
Results:
Version 1:
loss: 156.5520 - val_loss: 156.6273
Version 2:
loss: 460.1004 - val_loss: 459.4628
Version 3:
loss: 157.9199 - val_loss: 158.2236
Colab notebook:
https://gist.github.com/short-circuitt/3f2a004f6726d03f06785b9d2accfa23

Looks like a separate problem for me... Mine was clearly the initial learning rate in AdaDelta optimizer.  Yours looks like different binary_crossentropy realizations

Hi, thanks for your message, it does look like a separate problem so I will open a different issue for it.

@fedxa This is a stale issue. Now, Keras code moved to separate repo keras-team/keras and the code is same whether it is imported from Keras or tf.keras.
Can we close this issue? Thanks!


Bazel: Multiple registry URLs should be supported

The user can define multiple registry URLs in the .bazelrc file:
# Internal registry for custom packages
common --registry=file://%workspace%/tools/bazelbuild/registry/
# fall back to Bazel Central Registry
common --registry=https://raw.githubusercontent.com/bazelbuild/bazel-central-registry/main/

Unfortunately, the currently logic in the ORT Bazel package manager implementation only considers the first registry:
https://github.com/oss-review-toolkit/ort/blob/main/plugins/package-managers/bazel/src/main/kotlin/BazelModel.kt#L37
Consequently, with the above configuration, only the local registry URL is queried and standard packages are not found:
08:01:27.040 [DefaultDispatcher-worker-2] WARN  org.ossreviewtoolkit.plugins.packagemanagers.bazel.Bazel - Failed to fetch metadata for Bazel module 'rules_cc': IllegalArgumentException: Failed requirement.

The registry URLs should be probed one after each other to query the package metadata and the error should be outputted only if no registry has the package.
@haikoschol FYI

@haikoschol FYI: #8955 proposes an implementation of this feature.


npm ls -g empty output (npm 3)

alex@alex-Aspire-7741:~/Development/projects/manager$ nvm --version
0.30.1
alex@alex-Aspire-7741:~/Development/projects/manager$ node -v
v5.3.0
alex@alex-Aspire-7741:~/Development/projects/manager$ npm --version
3.3.12

hm, that definitely shouldn't be possible. What's  nvm debug print out? What OS are you on?

Ubuntu 16.04 64-bit
alex@alex-Aspire-7741:~$ nvm debug
nvm --version: v0.30.1
$SHELL: /bin/bash
$HOME: /home/alex
$NVM_DIR: '$HOME/.nvm'
$PREFIX: ''
$NPM_CONFIG_PREFIX: ''
nvm current: v5.3.0
which node: $NVM_DIR/versions/node/v5.3.0/bin/node
which iojs:
which npm: $NVM_DIR/versions/node/v5.3.0/bin/npm
npm config get prefix: $NVM_DIR/versions/node/v5.3.0
npm root -g: $NVM_DIR/versions/node/v5.3.0/lib/node_modules
bash: [: : integer expression expected

(that syntax error at the end is a red herring, fixed in 6094dac1c1a3222d25289a5b26ba83593bdcaa88)
none of that seems wrong. what about cd $(npm root -g) && ls -la?

@ljharb
I've removed all node versions, cleared .npm folder and installed node 5
Everything is normal now
I think the problem was in
nvm reinstall-packages 4 command, but im not sure

Interesting - any idea what global packages you had previously installed on v4?

Something like this, nothing special
├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>└──<EMAIL_ADDRESS>

i wonder if the np somehow conflicted with npm. I guess I'll close this for now but please follow up if it happens again!

I'm experiencing the same issue.
Using npm v2.14.7, npm ls -g works as expected:
raine[node_modules]$ nvm use 4
Now using node v4.2.1 (npm v2.14.7)

raine[node_modules]$ ls `npm -g prefix`/lib/node_modules
bower/             nodemon/           npm-check-updates@ stylint/
bower-name/        npm/               snyk/

raine[node_modules]$ npm ls -g
/Users/raine/.nvm/versions/node/v4.2.1/lib
├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>-> /Users/raine/projects/npm-check-updates
├──<EMAIL_ADDRESS>└──<EMAIL_ADDRESS>
Using npm v3.3.12, npm ls -g prints two empty lines, even though there are clearly modules installed in the global prefix:
raine[node_modules]$ nvm use 5
Now using node v5.1.0 (npm v3.3.12)

raine[node_modules]$ ls `npm -g prefix`/lib/node_modules
bower/                       gulp/                        prefixnote@
browserslist/                gulp-striate@                pulp/
generator-raine-npm-module@  livereload@                  purescript/
generator-refactoru-express/ ngrok/                       striate@
generator-refactoru-html/    node-gyp/                    template20@
generator-yoga@              nodemon/                     yo/
generator-yoga-base@         npm/
generator-yoga-test@         npm-check-updates@

raine[node_modules]$ npm ls -g

raine[node_modules]$

What does nvm debug and npm root -g print out?

raine[node_modules]$ nvm use 5
Now using node v5.1.0 (npm v3.3.12)

raine[node_modules]$ npm root -g
/Users/raine/.nvm/versions/node/v5.1.0/lib/node_modules

raine[node_modules]$ nvm debug
$SHELL: /bin/bash
$NVM_DIR: '$HOME/.nvm'
$PREFIX: ''
$NPM_CONFIG_PREFIX: ''
nvm current: v5.1.0
which node: $NVM_DIR/versions/node/v5.1.0/bin/node
which iojs:
which npm: $NVM_DIR/versions/node/v5.1.0/bin/npm
npm config get prefix: $NVM_DIR/versions/node/v5.1.0
npm root -g: $NVM_DIR/versions/node/v5.1.0/lib/node_modules
raine[node_modules]$

@metaraine what does npm config list say?

raine[node_modules]$ npm config list
; cli configs
user-agent = "npm/3.3.12 node/v5.1.0 darwin x64"

; userconfig /Users/raine/.npmrc
adepth = "-1"
depth = 0

; node bin location = /Users/raine/.nvm/versions/node/v5.1.0/bin/node
; cwd = /Users/raine/.nvm/versions/node/v5.1.0/lib/node_modules
; HOME = /Users/raine
; "npm config ls -l" to show all defaults.

I'm not familiar with adepth but I wonder if that's the problem - what happens if you comment that line out, and rerun npm ls -g?

No different

that's very strange. same if you comment out depth i assume

yep
:/

at this point, I'd probably uninstall that version of node and reinstall it - there's not much nvm can do about a broken npm :-/

Thanks, a newly installed v5.5/v3.3.12 works. Not sure what was up with the other one.

Phew, glad to hear it. Sometimes turning it off and back on again is the only fix :-)

I'm having the same problem. OS X 10.10.5, Node 5.10.1, npm 3.8.6.
➜  ~ node --version
v5.10.1
➜  ~ npm --version
3.8.6

➜  ~ ls `npm -g prefix`/lib/node_modules
babel                        jsfmt
babelify                     jshint
bower                        nightwatch
[...]

➜  ~ npm ls -g

➜  ~ npm uninstall -g [TAB]
babel                         jsfmt
babelify                      jshint
bower                         nightwatch
[...]

What's really odd is that if I type npm uninstall -g  and then tab for completions, it lists the packages correctly. Ideas?

This seems like it's worth posting an issue on https://github.com/npm/npm itself.

Whoops, my mistake.

So I have this same issue. I just installed node 6.3.0 using nvm install 6.3.0, and then I installed a few global packages and npm ls -g returns nothing. Interestingly, if I run sudo npm ls -g I get the packages I installed listed.

@elebetsamer did you use sudo npm install -g to install those modules?

You should never ever use sudo with nvm. nvm is per-user, and using sudo with it will install things in your system nvm - ie, nvm deactivate && npm ls -g will probably print out the modules you tried to install.

@ljharb Nope, I don't use sudo for anything nvm, npm, node related. So I'm not really sure why it seems that the npm ls -g works with sudo but not without.

Here is a screenshot for reference as well.

@elebetsamer let's file a new issue for yours. typically empty npm ls -g output means npm is broken, and that doesn't seem to be the case for you.

@ljharb Ok, opened a new issue https://github.com/creationix/nvm/issues/1156


chore: bump tauri to 2.0.0-rc.2

I think it might be OK to not lock to specific tauri version and say user's responsibility to use compatible version of tauri.


UCoB: Nael sentences

Nael sentences call outs not working for me. Everyone can see/hear it just fine, but mine won't ever appear. Every other call out in the fight seems to be working as intended.
Currently using xivAlexander and a VPN, running on xivLauncher. DX11. Everything's up to date, including XIV parsing plugin, cactbot and ACT itself. I don't know what's causing this - seems like it won't read whatever the triggers are looking for.

Just solved it myself; people at Discord helped me out. Turns out I had "Hide Chat Log (for privacy)" check on Plugins > FFXIV Settings. Leaving this here so people with the same issue in the future can check this out.


[Bug]: Error while getting credentials

What happened?
Failing to get the credentials(Have set the AWS credentials in the environment variables as well as in the credentials file)
How to reproduce it
Steps to reproduce the behavior:

I am using the docker command to run prowler on windows
I am using my organizations AWS account to test the tool
See error

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots or Logs

From where are you running Prowler?
Please, complete the following information:

Resource: Docker container manually
OS: Windows
AWS-CLI Version [2.5.4]:
Prowler Version [./prowler -V]:
Shell and version:
Others:

Additional context
Add any other context about the problem here.

Hi @RenukaMane, we are reviewing it, in the meantime, could you check if those env variables are filled with its proper values to log against AWS?

Thanks for your response changed some permission settings on the AWS account. Got it working.


Crash Branch.m 1356 -[Branch processNextQueueItem]

Hi,
I got this crash on crashlytics many times please advise me about it

Hi @Alkalouti. I believe this crash was resolved as of 0.7.7. What version of Branch are you using that you're seeing this on?

Hi @shortstuffsushi please advice from where i can know the version number i use Branch.framework I download it from branch website last week

The version number is available within the BNCConfig.h file. However, I don't think this header is currently exposed within the framework (making a note to do so). I think for now it would be best to try updating to a more recent version, as there was a specific commit that fixed this issue June 3rd as part of the 0.7.8 release.

i check it now i use version 0.7.8

Are you saying the current version you're using is 0.7.8, or that you're upgrading?

no i use 0.7.8 version

I'm interpreting that to mean you're currently using the version. However, I'm surprised you would be seeing that issue, as that version was specifically the fix for what you're seeing. Could you please check again and be sure that the version of your app that you're seeing crashes on contains Branch 0.7.8?

ok i already have a version on review, i checked now i have to version on my device one of them 0.7.5 and the other is 0.7.8 i really don't know witch one i use i download now the latest and add it into my app.
thanks a lot.
and if i have the same problem i give a feedback on it thanks @shortstuffsushi

No problem, sorry for the confusion. If you continue to see this issue in later versions, please reopen the issue.


Use bw json field for ubuntu

On ubuntu 18, the fio output has a json field for bw, but not bw_bytes. Use bw instead of bw_bytes, with the conversion factor of 1024 as listed in the fio docs, https://fio.readthedocs.io/en/latest/fio_doc.html#json-output

/lgtm


Multi-target gRPC packages. Use protobuf directly

This PR does some significant overhauling of gRPC dependencies. The changes breakdown as follows:

Microsoft.DurableTask.Sidecar.Protobuf dependency removed. https://github.com/microsoft/durabletask-protobuf is not a direct submodule.
Microsoft.DurableTask.Grpc project & package added, which is purely the dotnet gRPC services for the above protobuf spec.

This means it is a duplicate of Microsoft.DurableTask.Sidecar.Protobuf, but I figure this belongs in this repo anyways. I am open to a different naming.
This does have a meaningful (and necessary) change from the  Microsoft.DurableTask.Sidecar.Protobuf: it is multi-target of netstandard2.0 and net6.0. Using Grpc.Core and Grpc.Net.Client respectively.'
I intentionally did not add the Shared/Grpc files to this project because I am still unsure what the full picture of this new project is yet. Does it take a dependency on Microsoft.DurableTask.Abstractions? Should its name be changed as it is confusing with the two existing gRPC packages?

Microsoft.DurableTask.Client.Grpc and Microsoft.DurableTask.Worker.Grpc have also been multi-targeted, using the newer Grpc.Net.Client when targeting net6.0 and above.
Several types were affected to accomplish the multi-targeting. They are minimal changes, mostly branching between Grpc.Core.Channel and Grpc.Net.Client.GrpcChannel via #ifdef statements.
Some gRPC test projects were updated to also be multi-target

I couldn't update the integration tests, as they rely on Microsoft.DurableTask.Sidecar which is not compatible with netfx.

Unnecessary packages were removed from Microsoft.DurableTask.Worker.Grpc

Resolves #96

Unrelated to this PR, do you think we need a similar change for the Durable extension that runs in the Azure Functions host?

Yes, I will look into making a similar change there.

Hey,
Thanks for all the hard work! Just a question, should the latest release 1.0.0 resolve this issue without manual intervention? Still get the following error on my mac m1

@R00iBaard we still need to update the Durable Functions host extension. When that is multi-targeted, then it should work without any manual intervention.

@R00iBaard we still need to update the Durable Functions host extension. When that is multi-targeted, then it should work without any manual intervention.

ah great news! Thanks so much


Are model values supported?

Description
It is a question and not a bug report. I cannot figure out how to use model values in the specification.
Apalache manual seems to require that constant assigned in CFG file, must be of Str type:
\* CFG file fragment
CONSTANT C = C

\* TLA file fragment

CONSTANT
   \* @type: Str;
    C

But if I do it this way, I cannot use it in expressions of other types:
\* @type: Seq(Bool);
C_1 == <<C>>

gives error:
Need annotation. Found 2 matching operator signatures ((i) => <<i>>) or ((i) => Seq(i)) for argument Str

I guess this error means "Bool does not match Str"
The most valuable property of a model value is that it has meaning "value different from any other value". For integers (or strings)
one can always choose some specific value, but for booleans it is not clear how to choose such a value.

The most valuable property of a model value is that it has meaning "value different from any other value". For integers (or strings) one can always choose some specific value, but for booleans it is not clear how to choose such a value.

We don't support model values in the sense that TLC does. In particular, you can't invent an undetermined constant of any interpreted type (e.g. Bool), though you can generate arbitrary values of that type via generators. What we do have are constants of uninterpreted types. The way you use them is pretty simple, you just have to annotate the constant with an uninterpreted type
CONSTANT
   \* @type: CTYPE;
    C

then you can do something like
CInit == C = "v1_OF_CTYPE"

We also had a HOWTO on that, though it is not easy to find: https://apalache.informal.systems/docs/HOWTOs/uninterpretedTypes.html

@Kukovec , @konnov Thanks for the explanation, it is clear now.


Unzip compressed JSON

I had a compressed JSON file that I wanted to watch, so I added this option. I don't have any experience with this, so please let me know if there's a better way.

Coverage decreased (-0.09%) to 88.35% when pulling a7c61ae5595dff686262d7c419d6e280eac44f62 on stvnrlly:master into a6dbb9c787e0c814921ef7001491346b148d35e9 on cantino:master.

Coverage decreased (-0.09%) to 88.35% when pulling a7c61ae5595dff686262d7c419d6e280eac44f62 on stvnrlly:master into a6dbb9c787e0c814921ef7001491346b148d35e9 on cantino:master.

Coverage decreased (-0.09%) to 88.35% when pulling a7c61ae5595dff686262d7c419d6e280eac44f62 on stvnrlly:master into a6dbb9c787e0c814921ef7001491346b148d35e9 on cantino:master.

Thanks @stvnrlly!  It'd be nice to add a spec, if you can.

A spec isn't a problem. I was holding off on that until I figured out whether this was the right approach to take here.
I'm curious to know if there's a method that would unzip more than just gzip files. If so, I'll switch over to that. If not, then it might be best to make the option something like unzip: gzip so that other types of compression can be dealt with, as well.

I'm not aware of something more general, without including a zip library as well, or something.

Okay, cool. I'll make the option more specific and add a spec, then.

Coverage increased (+0.25%) to 88.68% when pulling 4b9535d70dcfd50bc1dd83a25c26cd2fc6160109 on stvnrlly:master into a6dbb9c787e0c814921ef7001491346b148d35e9 on cantino:master.

I can't seem to get the spec to work properly. Here's what I have so far:
describe 'unzipping' do
      it 'should unzip with unzip option' do
        json = {
          'response' => {
            'version' => 2,
            'title' => "hello!"
          }
        }
        zipped = ActiveSupport::Gzip.compress(json)
        stub_request(:any, /gzip/).to_return(:body => zipped, :status => 200)
        site = {
          'name' => "Some JSON Response",
          'expected_update_period_in_days' => "2",
          'type' => "json",
          'url' => "http://gzip.com",
          'mode' => 'on_change',
          'extract' => {
            'version' => { 'path' => 'response.version' },
          },
          'unzip' => 'gzip',
        }
        checker = Agents::WebsiteAgent.new(:name => "Weather Site", :options => site)
        checker.user = users(:bob)
        checker.save!

        checker.check
        event = Event.last
        expect(event.payload['version']).to eq(2)
      end
    end

For some reason, the event.payload is {"title"=>"foo", "url"=>"http://foo.com"}. Any ideas on how to fix this up?

Hey @stvnrlly, sorry for the delay, I've been traveling.
It looks like you're getting the events(:bob_website_agent_event) fixture.  I suspect that checker.check is failing with an error, and not making an event.
One thought is that zipped = ActiveSupport::Gzip.compress(json) may need to be zipped = ActiveSupport::Gzip.compress(json.to_json).
Try also
expect { checker.check }.to change { Event.count }.by(1)

You could also pp checker.logs to see if any errors are being created.

Thanks, @cantino, json.to_json was exactly it.

Coverage increased (+0.19%) to 88.62% when pulling 795050636f79f1ddbe59a371e0f583655dc72c0d on stvnrlly:master into a6dbb9c787e0c814921ef7001491346b148d35e9 on cantino:master.

Perfect, nicely done and thanks!

@stvnrlly What's the Content-Type and Content-Encoding of the compressed JSON, anyway?
I'm asking this because I want to know if the problem is either in the underlying HTTP library that does not support auto-decoding for Content-Encoding: gzip, or that the server simply puts a *.json.gz file with Content-Type: application/gzip.

@knu I don't know how much variation there might be across the web, but the site that I am grabbing sets Content-Type: application/json and Content-Encoding: gzip.

@stvnrlly Oh... in that case, user shouldn't be required to set the option manually, because Content-Encoding is part of the protocol both ends of the communication should fully understand.
What is FARADAY_HTTP_BACKEND of your choice?  If it does not handle Content-Encoding: gzip correctly, we could do that in WebRequestConcern.

I'm wondering: Is it the Faraday backend that specifies Accept-Encoding: gzip while it doesn't automatically decode it, or it is the server that always sends the content gzip'd regardless of Accept-Encoding not including gzip?

I'd appreciate if you could provide a URL as a live example.
Hopefully adding builder.use FaradayMiddleware::Gzip to WebRequestConcern could solve the problem without demanding user to specify the unzip option.

The unzip option will still be useful when watching a raw gzip'd file with Content-Type: application/gzip and no Content-Encoding: gzip, in which case force_encoding can also be specified so that the text content in it is properly read.

The site in question is https://analytics.usa.gov/data/live/top-pages-realtime.json. I've never worked with Faraday, so I can't offer any advice on that front, unfortunately.

@stvnrlly I've merged the above PR.  You won't probably need to set the unzip option at least for the given URL.


gui: add transaction redirection

based on #959
This PR removes the payment section about the transaction inputs outputs for a redirection to the payment transaction (The See transaction details button). It makes it easy to fee bump a payment by clicking on it to be redirected to the transaction to rbf

Maybe the UX/UI of the payment should be changed to remove more transaction information, but I fear it makes the panel a little bit empty.

Maybe the UX/UI of the payment should be changed to remove more transaction information, but I fear it makes the panel a little bit empty.

Did you consider going directly to the transaction view after the first click? Then the view with the "See transaction details" button wouldn't be required.

Not directly related to this PR, but perhaps more noticeable after clicking that there's a difference in wording between the pages. The Home page uses "Outgoing payment" while the Transactions page uses  "Outgoing transaction".

Did you consider going directly to the transaction view after the first click? Then the view with the "See transaction details" button wouldn't be required.

Payment view is different than transaction view

The Home page uses "Outgoing payment" while the Transactions page uses "Outgoing transaction".

This is normal, home lists the payments, a line per transaction output, while transactions panel lists the transactions, a line per batch.


Roll engine ef2bed65db22..9856479ec374 (1 commits)

https://github.com/flutter/engine/compare/ef2bed65db22...9856479ec374
git log ef2bed65db22b1ce3d05947d5cfa3927eb6fa975..9856479ec3749573933bdc3a5714ac32c3141f96 --no-merges --oneline
9856479ec Roll src/third_party/dart b6997deb3e..1577b95c93 (18 commits)
The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
If the roll is causing failures, please contact the current sheriff (amirha@google.com), and stop
the roller if necessary.

Trybots failed. These were the failed builds: https://cirrus-ci.com/task/5512757758656512

Commit queue failed; closing this roll.


Question about usage in WASM. Could Rhai be faster than using Javascript?

Hey,
The manual states that:
WebAssembly (WASM) Build
It is possible to use Rhai when compiling to WebAssembly (WASM). This yields a scripting engine (and language) that can be run in a standard web browser.

Why you would want to is another matter... as there is already a nice, fast, complete scripting language for the the common WASM environment (i.e. a browser) – and it is called JavaScript.

But anyhow, do it because you can!

When building for WASM, certain features will not be available, such as the script file API’s and loading modules from external script files.

As far as I understand, when it comes to WASM and Javascript, it is encouraged to not write programs where the Javascript code calls frequently the WASM code, but instead calls to WASM should be few and far between in a sense that we pass WASM little information, WASM does the heavy calculations and returns the small results back to Javascript.
Let's say we have a program that is written in Rust and it uses Rhai runtime as a dependency to interpret/compile Rhai scripts dynamically during the execution of the Rust application. When the Rhai scripts are run within the Rust application, they make make calls to the underlying native Rust application and also interact with it frequently otherwise.
Then we compile this whole program to WASM, run it in browser and feed it Rhai scripts dynamically during the WASM program's runtime. Does not this mean that the whole scenario stays neatly in the realm of WASM all the time (except when we feed the program new scripts) and thus it would be in theory faster than writing a program where we would use plain Javascript to make those calls to the underlying Rust application's functions?

Not really sure about the runtime speed, as JavaScript is wicked fast these days with JIT's and all.  JavaScript is at least 10x faster in raw processing speed than Rhai.
Whether that would be offset by WASM calling overheads is something that I haven't benchmarked...  But I admit, if all the scripted functions are short and do simple processing, acting as event handlers, then the calling overhead probably overwhelms the script processing time.
Another reason why I suggest using JavaScript is that, when you're working in a browser environment (i.e. if your WASM system is primarily intended to be run in a browser), or in a node.js environment (i.e. if your WASM will be loaded by node to make certain things faster), then you'd do your users a huge favor by not requiring them to learn yet another scripting language.  All your users will be right at home with JavaScript.
If your intended usage of the WASM is for multi-O/S, multi-environment, client+server side integration etc. then it makes sense to have everything stay in Rust.  In such a case, the browser is merely one of the many environments.

Any further issues with this?

All good on my part. It can be closed. Thanks!


Incorrect onchain balance while channels waiting to close

i noticed total balance is double counting uncofirmed balance.
Total Balance = Onchain + Funds in Channel + unconfirmed balance
unconfirmed balance is already included in Onchain balance. If unconfirmed is accounted for in the "onchain balance" it should be:
Total Balance = Onchain + Funds in Channel

This seems to occur during co-op closures while channel is Waiting to Close. This is due to the closing balance in this state being in both the pending onchain balance and the limbo balance. Potentially can exclude limbo balance from the channels waiting to close list as a remediation.


fix Use correct http range assignation to Azure Block Blob Client

Proposed changes

The DownloadToBlobOptions' range field is one Nullable type which should be directly use operator= to assign one value.
Also this pr tries to print the e.what message for better debug.

run buildall

run buildall


using actioncreator change to fieldarray

there is a way to update a fieldarray ?
I was reading this link:
https://github.com/erikras/redux-form/issues/2058
but i don't want to change all my arrays or delete them, just change a value in a row and field

Hi @webmobiles, we kindly ask to not open questions on this issue tracker. Please use StackOverflow instead.


First gvcfgenotyper trial

Hello @jaredo
As we spoke before, I'm trying to use your tool to merge a set of gvcf files, in a similar way as GATK CombineGVCFs/GenotypeGVCFs does.
I ran strelka in several batches of 75 samples, so strelka2 could keep up with the sample number limitation. Therefore, my gvcf output is something like: batch1: genome.S1.vcf.gz ... genome.S75.vcf.gz; batch2: genome.S1.vcf.gz ... genome.S75.vcf.gz; etc...
I'm confused on which files to use because in the README you refer we should look for find directory/ -name '*genome.vcf.gz' files. But those files are just symbolic links for the first sample gvcf of each batch:  genome.S1.vcf.gz
Shouldn't I list all gvcf of each batch instead ? find $PWD -name '*genome.S[0-9]*vcf.gz
Best,
Pedro

Shouldn't I list all gvcf of each batch instead ? find $PWD -name '*genome.S[0-9]*vcf.gz

That is correct, the -l argument expects a plain text file containing the paths to all the GVCFs you wish to merge.
My example just assumes output from single-sample strelka runs are all in the same directory. I need to improve the documentation.

Hi Pedro, please feel free to re-open this ticket or to contact us directly if anything else is unclear. Closing this ticket now.


fix: resolution divided twice

It seems that these changes fix this:
https://app.clubhouse.io/cartoteam/story/79686/aquas-gencat-admin-cartoframes-map-resolution-rendering-issue#activity-87190

Please, before doing a CR the tests in CI should be passing.

Ok, I'm closing this PR... Now I'm able to debug this, I think it does not have anything to do with this.


ENTESB-13287 updating and adding a local push

I'm marking this as a draft because I can see there is an issue with the direct push to the crc registry - from inside once it tries to use the image it's failing with a certificate issue.  If you don't want or think we need that in any event, I'll move on.

This is working now.  The issue is that the operator deployment needs to use the internal crc registry  host, not the external registry host.  I pushed some of that logic down into manualDeploy, but there are quite a few ways to handle that probably.
So if you follow the readme do a make build and then make deploy, the operator will come up in your target project without dockerhub.
Making this the default assumption for development is probably okay - but you'd have to add some more initialization/setup either before you run make or part of it.  A project is required (one is assumed by the time you get to make deploy as it was, so we could just assume embedded oc project in the registry name) and you need to have that cert copied to etc. which seems to require root.


chore(sdk): specify versions requirements_test.txt

Description
Adds version constraints to requirements_test.txt. While package dependency versions should be loose, requirements files should be strict. I chose to use ~= (compatible version) rather than == (exact version) so that we don't have to update these as often, but using exact versions would also work (in which case we should set up dependabot for this file). Note that using slightly loose constraints also works better considering we test against multiple Python versions.
Using explicit versions can also help debug issues in CI or development environments.
NOTE: pyte~=0.8 would match 0.9, which is wrong, since in major version 0, minor increases may cause incompatible changes. Using pyte~=0.8.0 works like pyte >= 0.8.0, pyte < 0.9.

@kptkin - I updated this to specify versions for all of requirements_test.txt

Ah, I forgot that different versions of these packages may require different Python versions!

I like this change, and I agree let's add this file to dependabot.

Updated again---this time, with the latest versions that work with Python 3.7.

@SocketSecurity ignore<EMAIL_ADDRESS>(since this is a requirements file for tests that run in CI, not for production)

oops, auto-merge and spr don't work well together...


Documentation is not clear how to use this framework and why to use it

It would be great to have a 60-90 second screen-cast:

problem (why do I want to use it and when, show a sample end result)
solution (how to use it, a simple example)

Also, it would be good to have a comparison in the docs, how is this framework different/better to cucumber-jvm, jbehave, fitness, yatspec, etc.

I completely agree, need to have a few different ways of explaining what the point of it is so people can decide whether it will help them or not.
My focus at the moment has been elsewhere, but it is definitely on the roadmap to get the documentation up to scratch before doing any active promotion.
So far, there is only one team of users (that I am aware of) using this, who I work with personally. At this stage, if someone new stumbles across this project, they will have to be curious enough to play around with it without much hand holding, or ask for docs like yourself.
Thanks for the prompt anyway.


Wiki: orphaned TOC item in Customization page

After commit 207b353 there is an item "Keep my customizations in version control?" orphaned in the table of contents.
This also breaks the last question in FAQ that has a link pointing to the deleted section.

I've removed the two sections. Thanks for letting me know!


Linear Graph AE and VAE

Dear @rusty1s,
Once again, congratulations to you and your collaborators for this amazing work!
I am the lead author of the article Keep It Simple: Graph Autoencoders Without Graph Convolutional Networks, presented at the NeurIPS 2019 workshop on Graph Representation Learning. In this article, as well as in an extended conference version recently accepted at ECML-PKDD 2020, we studied simpler versions of Graph Autoencoders (AE) and Graph Variational Autoencoders (VAE), referred to as Linear Graph AE and VAE.
In a nutshell, we replaced the multi-layer GCN encoders from standard models (Kipf and Welling 2016) by simpler linear models w.r.t. the adjacency matrix of the graph (Z = AW, or Z = AXW in case of node-level features X), involving a unique weight matrix to tune and no activation function. We showed that they often appear as effective and simpler alternatives to GCN-based models, for various graphs including the widely used Cora, Citeseer and Pubmed citation networks, achieving similar or even better performances on downstream tasks such as link prediction or node clustering. In our work, we also tried to provide insights on when to use multi-layer GCN encoders and when, on the contrary, these encoders might actually be unnecessarily complex.
We released a TensorFlow implementation of Linear Graph AE and VAE a few months ago. However, some users recently asked for a PyTorch one, and I think that your pytorch-geometric project is the best place to include it.
Therefore, I am opening this PR to propose a modification of examples/autoencoder.py, aiming at including a working example of linear graph AE and VAE with application to link prediction, building upon the existing GAE and VGAE classes. With the proposed implementation, I manage to reach better results than standard GAE/VGAE on the provided Cora, Citeseer and Pubmed datasets from the example file, while being faster. So, I sincerely think this can be of interest for some future users. I also updated the README file accordingly.
Best,
Guillaume

Thank you so much for this PR. This looks awesome. I will take a closer look after ICLR deadline and will merge ASAP.

Thank you :)


Fix build with OCaml 4.06 (and -safe-string)

This should fix the error seen in https://github.com/mirage/ocaml-uri/pull/109#issuecomment-341926848
Signed-off-by: David Scott<EMAIL_ADDRESS>

CI is green and the patch looks super-safe so I'll merge.


graphViewDebug failure when running reason task

Build scan link
https://gradle-enterprise.aws.squarecloudservices.com/s/urmeyokxgt2n6
Plugin version
1.19.0
Gradle version
7.5
Describe the bug
Running :reason for a particular dependency is failing on the task graphViewDebug

I'm realizing this happens because this plugin is incompatible with configuration cache. running with --no-configuration-cache seems to always fix this issue.

Ah ok. Probably should add the notCompatibleWithConfigurationCache() call to this task.... If you wanted to PR that, I'd accept it.

This is done.


How to use custom minicontroller?

Hi how to use CustomCastMiniController?
Thanks in advanced!

https://developers.google.com/cast/docs/android_sender_advanced#styling_the_mini_controller

Thank you. I had already reviewed . But I find no way to change the color of seekbar.

We will be adding customization options in the next SDK update.


Explode method drops columns named "id"

Brief Description
The explode method will silently drop a column if it is named "id"
System Information

OS: Linux CentOS7
Python version: 3.6.10
-PyJanitor version: 0.20.4

Minimally Reproducible Code
import pandas as pd
import pandas_flavor as pf
import janitor
@pf.register_dataframe_method
def explode(df: pd.DataFrame, column_name: str, sep: str):
    """
    For rows with a list of values, this function will create new rows for each value in the list

    :param df: A pandas DataFrame.
    :param column_name: A `str` indicating which column the string removal action is to be made.
    :param sep: The delimiter. Example delimiters include `|`, `, `, `,` etc.
    """

    df["id"] = df.index
    wdf = (
        pd.DataFrame(df[column_name].str.split(sep).fillna("").tolist())
        .stack()
        .reset_index()
    )
    # exploded_column = column_name
    wdf.columns = ["id", "depth", column_name]  ## plural form to singular form
    # wdf[column_name] = wdf[column_name].apply(lambda x: x.strip())  # trim
    wdf.drop("depth", axis=1, inplace=True)

    return pd.merge(df, wdf, on="id", suffixes=("_drop", "")).drop(
        columns=["id", column_name + "_drop"]
    )

df=pd.DataFrame([{'id':1, 'val':'a'},{'id':2, 'val':'b'},{'id':3, 'val':'c,d'},{'id':4, 'val':'e'}])
print(df.explode(column_name='val', sep=','))
df=pd.DataFrame([{'id2':1, 'val':'a'},{'id2':2, 'val':'b'},{'id2':3, 'val':'c,d'},{'id2':4, 'val':'e'}])
print(df.explode(column_name='val', sep=','))

Thanks @johnsantamariajr! Following up from our earlier conversation, I'll know how to follow-up on this one.

@johnsantamariajr it looks like this is a dataframe method that we can deprecate from the examples, as on further digging through the pandas codebase,  I realized it's available there!
https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.explode.html


Scheduler bugs

Think I identified a couple of bugs in scheduler.

Sorry if you've got extra notifications as I've been playing with this - sitll getting the hang of pull requests and branches.

No prob. What's the status of this w.r.t. 1.0rc2 issues? Oh, one more Q: who are you?

Can you try one thing before I merge this? Looks like the merge would re-apply some recent changes (tiny50hz, etc). I'm guessing that if you do a "pull" to update to the latest master, then a subsequent "pull request" would not cause the merge to re-apply the changes?
I could just merge as is, but I'm trying to understand how things work, also for the future.
I'm still fumbling my way around this git approach, as you can see...

On Mon, Oct 24, 2011 at 10:08 PM, Jean-Claude Wippler
<EMAIL_ADDRESS>wrote:

Can you try one thing before I merge this? Looks like the merge would re-apply some recent changes (tiny50hz, etc). I'm guessing that if you do a "pull" to update to the latest master, then a subsequent "pull request" would not cause the merge to re-apply the changes?
I could just merge as is, but I'm trying to understand how things work, also for the future.
I'm still fumbling my way around this git approach, as you can see...

Heh, likewise still getting used to it.
I just tried - It tells me everything is up to date. I'm guessing
you've looked at the "network" graph? I did a merge last night to
catch up your recent changes - it is in the graph, but the arrow is
obscured by the "master" tag on your branch, if that makes sense.  I
think accepting the pull request will only ever make the changes shown
on the diff (at least I hope so!)

--
Reply to this email directly or view it on GitHub:
https://github.com/jcw/jeelib/pull/7#issuecomment-2509510

Ah, ok. Ive merged, and the graph has changed accordingly. Let's just assume all went as intended. Thanks for the fixes!


pop wrong page

when pressed on speed controls in bottomsheet it pops the main page and keeps the bottomsheet  (not fullscreen  mode).same problem additional options  .  video source cannot be changed   in fullscreen mode.

Experiencing this same issue too

@aslamibnabdulla or @graphicbeacon can you please create a reproducible example project so that I can further diagnose this issue? Thanks in advance.

Same issue here.
I'm using Routemaster to handle navigation.
Not able to replicate without Routemaster package or Navigator 2.0.
To replicate just copy the simple example from routemaster and push a page with Chewie in it.
I can create a GitHub project if needed.
Also if fullScreenByDefault: true, you need to press the exit fullscreen button twice to actually exit fullscreen.

@J-Dark thank you for creating a reproducible example. Hopefully sometime this week, I'll have to take a look.

@diegotori, any news on this and #647?
Also, this doesn't happen on iOS; only Android and Web.

@J-Dark a reproducible example will help me out tremendously, since it'll allow me to point to a local copy of Chewie and step through the code.

I'll end up taking a look, possibly this week. @maherjaafar if you also want to take a look, go for it as well.

Hi! Is there an update on this ? I'm experiencing the same issue on version 1.3.4.

Hi! Is there an update on this ? the same issue on version 1.3.6. it pop when open speed control.

@hamidwaezi I ended up creating custom_controls.dart by coping material_controls.dart and removing the Navigator.pop(context); in _buildOptionsButton().
It's not quite the right behaviour but it's better than popping the main page.

@hamidwaezi I ended up creating custom_controls.dart by coping material_controls.dart and removing the Navigator.pop(context); in _buildOptionsButton(). It's not quite the right behaviour but it's better than popping the main page.

i just remove this line in _buildOptionsButton
useRootNavigator: chewieController.useRootNavigator,
and it work like a charm


Rename project and Python and JS packages

Find a suitable name as dashi is already taken on npm: https://www.npmjs.com/package/dashi

Renamed to chartlets.


holoviews.notebook_extension() overrides %matplotlib inline

%matplotlib inline
import holoviews
import matplotlib.pyplot as plt
holoviews.notebook_extension()

Odd! Thanks for reporting this.
And everything is fine if you set %matplotlib inline after loading the extension?

It doesn't always work, I changed the order here, but the matplotlib plots are still missing here.
Not sure if the same behaviour is reproduced by my simple example...

What's changed here is that the plt.switch_backend('agg') is now no longer executed when importing holoviews matplotlib backend instead it's executed when running hv.notebook_extension(). I'd be very surprised if simply moving %matplotlib inline after the notebook extension didn't fix it. Indeed when I do this, it seems to work fine:
import holoviews as hv
import numpy as np

hv.notebook_extension('matplotlib')
points = [(0.1*i, np.sin(0.1*i)) for i in range(100)]
hv.Curve(points)

And in a second cell:
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline

x = np.linspace(0, 1, 500)
y = np.sin(4 * np.pi * x) * np.exp(-5 * x)

fig, ax = plt.subplots()

ax.fill(x, y, zorder=10)
ax.grid(True, zorder=5)

Is there anything different about your setup?

The problem is the following:

You see that the order matters. So if a holoviews object is plotted first, the matplotlib object isn't plotted anymore.


cache binary artifact globally

motivation: like other dependencies, binary artifacts are good candidates for user level caching such that they do not need to be re-downloaded
changes:

update BinaryArtifactsManager to take cache path and use the cache to store binary artifacts when downloading them
update test infra to enable/disable artifacts caching
update workspaace call sites
update workspace delegate to indicate when using cached binary artifact
update and add tests

rdar://111774147

@swift-ci test

@swift-ci test

@swift-ci test windows


Plan for SMORES v1.0.0

This issue tracks all the relevant tasks needed for the release of SMORES v1.0.0 and provides the context necessary for achieving this. This post is a living doc and will be kept-up-to-date as development on SMORES progresses.
Goals

[ ] Release a Python package which allows users to

[x] Calculate sterimol parameters using STREUSEL radii
[ ] Calculate sterimol parameters from ESP cube files

[ ] Demonstrate the validity of the approach by

[ ] Generating SMORES parameters for a set of common carbon substituent using
structures generated with xtb and ESPs generated with Psi4 and comparing these
to classical sterimol parameters calculated using conventional radii.
[x] Generating SMORES parameters for a set of common carbon substituents using
structures generated with ETKDG using their STREUSEL radii and comparing these
to classical sterimol parameters calculated using convential radii.
[ ] Generating SMORES parameters for molecules in catalytic systems described by
Harper et al.

[ ] Refactor 6_fit_steric_parameters
[ ] We need to be able to handle catatlytic systems with 2 substituents

[x] Running DBStep on a hollow cube file, which ensures that the voxel grid of the electric field
surface generated by STREUSEL will be handled correctly.
[x] Running DBStep on a nested hollow cube file, which ensures that the voxiel grid of the electric field
surface generated by STREUSEL will be handled correctly.
[ ] Verify the fit from the Harper paper given the reported linear fit and the provided experimental ddGs.

[ ] Write an article expanding the utility of the electric field size metric by allowing the calculation of additional steric
parameters at the electric field surface

Relevant literature

Multidimensional steric parameters in the analysis of asymmetric catalytic reactions
Selection of low-dimensional 3D geometric descriptors for accurate enantioselectivity prediction
Conformational effects on physical-organic descriptors: the case of Sterimol steric parameters
Practical High-Quality Electrostatic Potential Surfaces for Drug Discovery Using a Graph-Convolutional Deep Neural Network
ESP-DNN: a graph-convolutional DNN for predicting electrostatic potential surfaces
Learning atomic multipoles: prediction of the electrostatic potential with equivariant GNNs

[ ] Given a distribution of sterimol parameters across conformers, check if the sterimol parameter values reporter in Harper are likely

[ ] Check that dbstep uses 0 indexed atoms


Better error messages for unsupported shading language features

What problem does this solve or what need does it fill?
I have noticed a couple instances where people write a shader for bevy, but the shader reflection code gives an opaque error that a certain shading language feature is not supported. This results in confusion and questions popping up in the Discord.
For example, if someone tries to use a combined image sampler like this:
layout(set = 0, binding = 0) uniform sampler2DArray samp;

They will get this error:
thread 'Compute Task Pool (0)' panicked at 'unsupported bind type CombinedImageSampler'

Describe the solution would you like?
Just some more actionable error messages would be nice. They should tell you that the feature is explicitly not supported, and what to do instead. In the example above, tell the user that they should split the binding into separate texture and sampler, like so:
layout(set = 0, binding = 0) uniform image2DArray tex_array; // I think this is right. Maybe "texture2D[N]"?
layout(set = 0, binding = 1) uniform sampler samp;

Describe the alternative(s) you've considered?
If there is a way to let wgpu handle the error, that would be extra cool, although I don't expect that to be as easy, since the errors occur during bevy's own shader reflection.
Additional context
Some of the discord discussion: https://discord.com/channels/691052431525675048/743663924229963868/777642132965294091
Related wgpu issue: https://github.com/gfx-rs/wgpu-rs/issues/93#issuecomment-548444263

Would this kind of feedback be useful?
panicked at 'unsupported bind type CombinedImageSampler (set 10, binding 0)'

@amberkowalski Yea sure, the descriptor set and binding would be useful info. It already points you at a file and line number, which I didn't include in my example, but the more explicit the better.
The main thing I'm looking for though is some kind of message that offers a suggestion on how to proceed, kind of like how the rust compilter will give hints sometimes.

I wouldn't mind putting the effort into building a nicer error stack, but I'd like someone else's feedback on the idea first.

I open a PR for this issue: https://github.com/bevyengine/bevy/pull/2598


[4587] Update homepage with new guidance sections

Context
Trello: https://trello.com/c/P0foCnnX/4587-create-how-to-use-the-service-section-on-homepage-for-signed-in-users
Added changes to homepage to include new guidance links.
Also refactor the guidance show page to use the govuk component govuk-link-to instead of lots of HTML.
**NOTE: The old check-data page is still being used for these links. We'll need to make sure we switch to the new link in the last ticket where we create the new check-data page.
Changes proposed in this pull request

Update home.html.erb to use the new links
Refactor guidance/show.html.erb
Add a couple content changes from Maeve

Guidance to review

All links should work correctly except for the data check - this is coming in another PR

Important business

[ ] Does this PR introduce any PII fields that need to be overwritten or deleted in db/scripts/sanitise.sql?
[ ] Does this PR change the database schema? If so, have you updated the config/analytics.yml file and considered whether you need to send 'import_entity' events?

NB: Please notify the #twd_data_insights team and ask for a review if new fields are being added to analytics.yml

 Create ‘how to use the service’ section on homepage for signed in users

I might hold off on this one until Richard's check-data ticket is done - I can then rebase and add the new, correct route into the relevant pages as part of this PR.

I might hold off on this one until Richard's check-data ticket is done - I can then rebase and add the new, correct route into the relevant pages as part of this PR.

This is now done


[SPARK-17534] [TESTS] Increase timeouts for DirectKafkaStreamSuite tests

## What changes were proposed in this pull request?
There are two tests in this suite that are particularly flaky on the following hardware:
2x Intel(R) Xeon(R) CPU E5-2697 v2 @ 2.70GHz and 16 GB of RAM, 1 TB HDD
This simple PR increases the timeout times and batch duration so they can reliably pass
## How was this patch tested?
Existing unit tests with the two core box where I was seeing the failures often

Test build #65367 has started for PR 15094 at commit 9ddecc6.

Test build #65367 has finished for PR 15094 at commit 9ddecc6.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/65367/
Test PASSed.

Merged build finished. Test PASSed.

I don't feel strongly about it, but you could write these times in units of seconds now.

Merged to master


RFC for netcfg

A network interface configuration protocol is needed as plans to
implement ipv6 and multiple interfaces begin to be made.
If this is a conversation best suited for discourse, I'm more than
happy to post it there.
Rendered

Redox moved to GitLab years ago, thus if you still want to merge it, move this pull request to there.
If you still want to contribute to Redox, talk with us in the Matrix chat.


publish: SNI support

It seems that Brid.gy doesn't support SNI itself:
 2a00:1828:2000:774::2 - - [06/Sep/2015:05:52:12 -0700] "POST /publish/webmention HTTP/1.1" 400 156 - -

2015-09-06 12:52:11.742660 I Params: [(u'source', u'https://wwwtech.de/notes/13'), (u'target', u'https://www.brid.gy/publish/twitter')]
2015-09-06 12:52:11.759079 I Source: https://www.brid.gy/twitter/cjk101010 , features [u'publish', u'listen'], status enabled
2015-09-06 12:52:11.806690 D Publish entity: aglzfmJyaWQtZ3lyQgsSDVB1Ymxpc2hlZFBhZ2UiG2h0dHBzOi8vd3d3dGVjaC5kZS9ub3Rlcy8xMwwLEgdQdWJsaXNoGICAgICArpkKDA
2015-09-06 12:52:11.838609 I Starting new HTTPS connection (1): wwwtech.de
2015-09-06 12:52:12.406580 W Could not fetch source URL https://wwwtech.de/notes/13
Traceback (most recent call last):
File "/base/data/home/apps/s~brid-gy/4.386948893978327072/webmention.py", line 64, in fetch_mf2
fetched = util.requests_get(url)
File "/base/data/home/apps/s~brid-gy/4.386948893978327072/util.py", line 108, in requests_get
return requests.get(url, **kwargs)
File "/base/data/home/apps/s~brid-gy/4.386948893978327072/local/lib/python2.7/site-packages/requests/api.py", line 65, in get
return request('get', url, **kwargs)
File "/base/data/home/apps/s~brid-gy/4.386948893978327072/local/lib/python2.7/site-packages/requests/api.py", line 49, in request
response = session.request(method=method, url=url, **kwargs)
File "/base/data/home/apps/s~brid-gy/4.386948893978327072/local/lib/python2.7/site-packages/requests/sessions.py", line 461, in request
resp = self.send(prep, **send_kwargs)
File "/base/data/home/apps/s~brid-gy/4.386948893978327072/local/lib/python2.7/site-packages/requests/sessions.py", line 573, in send
r = adapter.send(request, **kwargs)
File "/base/data/home/apps/s~brid-gy/4.386948893978327072/local/lib/python2.7/site-packages/requests/adapters.py", line 431, in send
raise SSLError(e, request=request)
SSLError: hostname 'wwwtech.de' doesn't match either of 'm.jeena.net', 'jeena.net'

The host jugulator.defunced.de serves jeena.net as the default SSL vhost and WWWTech.de over SNI. Is there a way around that?
Just as a side note: only WWWTech.de has a IPv6 address. Jeena.net will get its own v6 adress in the future, so it might be a solution to prefer IPv6?

thanks for filing @ckruse, and sorry for the trouble! i think we've managed to support SNI in publish in the past, but we may have reverted, or we may just need to pass the domain to requests explicitly so it knows what to verify. we've also switched requests versions a couple times, so that might be it. we'll investigate soon.

Whatever you did: it works now. Thanks!

ohh that's an interesting clue. i didn't do anything to fix this explicitly, but i did deploy from my environment, and your failure was on a deploy from @kylewm's environment. so evidently we still have something that's not fully specified in our setup. hrmph.

renaming due to changed scope. @kylewm and i compared pip freezes and we do indeed have wildly different packages (i'm left, he's right):
1,2c1,6
< beautifulsoup4==4.3.2
< -e git+git@github.com:snarfed/gdata-python-client-1.git@e1404ec0724a0f603dfc24841eada6d284b60f0e#egg=gdata-master
---
> (local)kmahan@lemur:~/projects/bridgy$ pip freeze
> You are using pip version 7.1.0, however version 7.1.2 is available.
> You should consider upgrading via the 'pip install --upgrade pip' command.
> beautifulsoup4==4.4.0
> docopt==0.6.2
> -e git+git@github.com:snarfed/gdata-python-client-1.git@e1404ec0724a0f603dfc24841eada6d284b60f0e#egg=gdata-origin_blogger_id_parsing
5a10
> html5lib==0.999999
7c12,14
< mf2py==0.2.6
---
> Jinja2==2.8
> MarkupSafe==0.23
> mf2py==0.2.7
9,13c16,20
< oauth2client==1.4.11
< oauthlib==1.0.1
< pyasn1==0.1.7
< pyasn1-modules==0.0.5
< python-tumblpy==1.0.4
---
> oauth2client==1.5.0
> oauthlib==1.0.3
> pyasn1==0.1.8
> pyasn1-modules==0.0.7
> python-tumblpy==1.0.5
16,17c23,24
< rsa==3.1.4
< simplejson==3.7.3
---
> rsa==3.2
> simplejson==3.8.0
19c26
< tweepy==3.3.0
---
> tweepy==3.4.0
21a29
> wheel==0.24.0

curent tentative proposal is to check in pip freeze output alongside the current requirements.txt files and have developers use that to create their virtualenvs.
btw @kylewm, i was wrong, .lock files aren't a thing after all. we just made up that suffix here at work, based on similar ruby/gem files. ¯\_(ツ)_/¯

I usually handle this by having requirements.txt literally just be the output of freeze. And then the high-level "direct" dependencies can live in setup.py

sgtm! how do you install originally to generate the freeze then? python setup.py install?

Hmm, I just pip install the dependencies as I need them. Usually at that point, I haven't created a setup.py yet (since I only tend to do that right before publishing to pypi)

my preferred way of handling that is to have a Makefile with a couple different targets for the environment and dependencies - see https://github.com/bear/python-twitter/blob/master/Makefile for an example. The only tweak I would suggest is to not notice my using "sudo easy_install" to install pip ;)


Official way to determine superagent error

To describe problem I would like to provide following code:
const superagent = require('superagent');

const NOT_EXISTING_URL = 'https://github.com/fewfewf';

async function main() {
  const response = await superagent.get(NOT_EXISTING_URL);
}

main().catch((e) => {
  if (/*some way to determine that e is superagent error*/){
    // custom logic in case of request error
    return;
  }
  console.log('Panic: ', e);
  process.exit(42);
});

The main idea is that error handler is dedicated from the source code itself.
Do we have any way to determine that error is request error?
Real world use case:
We want to reduce amount of logs and send better error message in response to user.

If the server has responded, there will be e.response.
Please note that in many cases, especially cross-origin errors, browsers deliberately hide all details of errors and intentionally make it impossible to learn what happened, as network errors are a privacy leak.

@kornelski Thank you for your comment. Few points:

Is there any strong reason to avoid creation of custom error?
I think in case when this is strong policy to rely on duck-typing. I think that it makes sense to expose function like isSuperagentError to make smooth migration to new versions of library(at some point error could be changed). And have well tested function which will detect library generated errors.

Personally I think that custom error class will be better because allows to use simple instanceOf check.


fix Fix delete statement on MOR unique table

Proposed changes
Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall


feature: 云区域接入点修改时支持预览

Codecov Report

:exclamation: No coverage uploaded for pull request base (V2.1.366-rc@4d6015e). Click here to learn what that means.
The diff coverage is n/a.

@@              Coverage Diff               @@
##             V2.1.366-rc     #504   +/-   ##
==============================================
  Coverage               ?   67.41%
==============================================
  Files                  ?      249
  Lines                  ?    20234
  Branches               ?        0
==============================================
  Hits                   ?    13640
  Misses                 ?     6594
  Partials               ?        0

Continue to review full report at Codecov.

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


CNAME for adzerk to prevent ad blocking

wrote to our adzerk folks:
http://help.adzerk.com/hc/en-us/articles/205484425-Custom-Domain

hear back from them, can write them at<EMAIL_ADDRESS>to get this setup


Fixes the Voidwalker jump glitch

Fixes: https://github.com/GTNewHorizons/GT-New-Horizons-Modpack/issues/14396

Per the request of @BlueWeabo this fix works by removing a method previously found in Tainted Magic which was found no where else.
To make the Jump functionality work, I had adopted the way Explorations did it, because I didn't realize Tainted Magic had its own special system for it if you left the method in, so I hadn't noticed those now removed methods.


refactor: Move to dev-deps only in example/test apps

Description
Switches all dependencies of (most) example/test apps to be dev-dependencies. This gets them marked correctly in the lockfile, which might have the benefit that we won't get prod-level Component Governance alerts for them.
Reviewer Guidance
The review process is outlined on this wiki page.

Changes look good as far as I can tell. How'd you find out that dev-dependencies won't get prod Component governance alerts ( only for dependencies)?

Changes look good as far as I can tell. How'd you find out that dev-dependencies won't get prod Component governance alerts ( only for dependencies)?

Thanks for asking the question because you made me realize I couldn't remember why, and on looking into it realized it's incorrect :). The way Component Governance decides if an alert should be marked production or non-production in ADO is based on how we categorized the pipeline in which the issue was detected, not on whether the dependencies are development/production. This would still be a potential win for clarity in our lockfile (if we see a dependency with dev:true, we know that no production packages use it), but there's no win in the Component Governance front.


Replace custom testing utils with vue test utils

We currently have a custom vue test utils because VTU didn't exist when I first started working on the router. It's time to change that.
This issue is up if anybody feels like doing the migration!

Hi @posva
I'm working on this and opened a PR need your review.

Hi @posva
I'm working on this and opened a PR need your review.


re-introduce shutdown fix and bump to async-http-client 1.2.0

@mbarnach There was some issue when you introduced this last time where other packages weren't compiling/running correctly.  I don't remember why.  But I'm reintroducing this and will tag it as a separate version so hopefully we'll be able to control it with versioning until the underlying issue is fixed.

@mbarnach there's weird compile issues and docker rate limiting... This might take me a while.


On QWERTZ keyboard layouts the Z and Y keys are swapped

Mhm you read the title correctly.

Isn't this a keyboard mapping handled in the OS?

Isn't this a keyboard mapping handled in the OS?

Yes, that's it. Different keyboard layouts should be managed by the user.

Sorry for not responding earlier, but you're wrong. I don't care if it's handled by the os or not, if I call IsKeyDown with KEY_Z that shouldn't return true when the Y key is pressed on my keyboard, not even if it's a different layout if (IsKeyPressed(KEY_Z)) {     //On QWERTZ this gets executed when Y is pressed }

TL;DR: KeyboardKey is defined with the names of the keytops that apply to those codes with the standard US keyboard layout.  It is not wrong, just specific.  To operate with different keyboards and their keytops (and functions), the application needs to either wire in a different typedef (e.g., QwertzKey, DvorakKey, etc.) and then dynamically adjust based on configuration information.
DETAILS
In raylib.h the KeyboardKey typedef is tied to the US keyboard layout.  (See around line 516 in raylib.h.) That is how the position of a key is understood, no matter what the labels on the keytops are.  There is a standard agreement on what the keyboard codes are in the standard layout positions are for all conventional keyboards and supported languages.
The problem being encountered here is, "What should keys be called in the software?"  The keycode specifies where the key is, but not what the expected internal character encoding should be (which requires knowing what the keytop is and what the keyboard functions are).
For raylib.h an arbitrary choice has been to name the keycodes by the character those keys designate on a US QWERTY keyboard.  That masks the level of indirection that actually applies in the accommodation of different layouts, whether based on practice in a language community or a preference among individual users (e.g., Dvorak layout).
Notice that there is a hint of this indirect arrangement (keycodes versus keycode mappings to a keytop character encoding) in the distinction between GetKey and GetCharacter.
How can one navigate this?  Well, an application that handles keycodes directly needs to accommodate what the keycode assignment is for a given style of keyboard and language usage.  For QWERTZ (and for other cases), the raylib application needs to be able to determine what the user's situation is and switch to a correct correspondence between KEYTOP and KEYCODE.
There are likely libraries somewhere that accommodate the many variations that arise.  There is also probably a way to determine the mapping that the operating system is using for handling of keyboards in utility functions that support keyboard input to applications.
It does no good to want KeyboardKey to be different.  Whatever the choice, it will only be correct for a particular keytop layout and incorrect for others.

@orcmid Thanks for this great and very detailed explanation. raylib is not an engine but a low level library, a standard keyboard layout was chosen for convenience but it's up to the users to create a mapping table for other keyboard layouts if required.

With respect to how Windows handles this, there is an useful Keyboard Input Overview.  It points out the level of indirection between scan codes from keyboards and what is known about the layout/keytops and the Virtual Keys that they are mapped to.  This is dynamic and elaborate.  The VK_... keys are defined in windows.h which is not terribly helpful.  There may be a header that is included by windows.h that might be usable directly.
Keyboard Scan Codes describes the situation as it was in 2009.  I suspect there is greater standardization now, at least for PCs conforming to WinTel specifications.

In raylib.h the KeyboardKey typedef is tied to the US keyboard layout.

Hope you don't mind me unearthing this one, but I've just noticed that Emscripten and C don't behave the same way on my Linux.
My keyboard is AZERTY layout.
When i test /core_3d_camera_first_person.c :

in C : it uses scancodes (so the QWERTY's WASD has the same location on my AZERTY kb (except that it uses ZQSD keys instead)).

in Emscripten : it does not uses scancodes, it uses the name of the keys instead. So my AZERTY WASD is mapped like a SAZW on your QWERTY kb.

Shouldn't all platforms behave the same way regarding keyboard mapping ?

@SuperUserNameMan

Shouldn't all platforms behave the same way regarding keyboard mapping ?

Are you asking about all platforms or about raylib on any platform?  umm, and with the common libraries on which raylib depends.
We're encountering a situation here akin to the one where the display being used has a high dpi value (e.g., 200) and so specifying things in pixels in raylib functions has a poor outcome.  I stumbled on this recently, hence Discussion #3342.
To be able to distribute, or even run, the same compiled code on different configurations, even all on the same platform (e.g., any one of Windows, Linux, Mac, iOS, or Android) is creating challenges that did not arise very much in the era of BGI.
It strikes me that there is something akin to the current splitting out of platform-specific function implementations.  Except, along with that, there needs to be more run-time configuration adaptability, somehow hidden beneath some portable interfaces.
Keyboard internationalizations and display capabilities are clear cases.  File systems are probably another although that seems to be finessed somewhat.  Hmm, and also internationalization (i18n, along with all the character sets, fonts, and encodings) and accessibility (a11y) might creep in.
I would hope that raylib itself is somehow neutral and adaptations can be handled by add-ons that implement the same APIs but have platform-specific configuration-dependent functionality depending on the target platform chosen at compile time.
This is a too-long reply.  The challenges frighten me and I needed to express that.

Shouldn't all platforms behave the same way regarding keyboard mapping ?

Are you asking about all platforms or about raylib on any platform? umm, and with the common libraries on which raylib depends.

I was asking about raylib on any platform that make use of keyboard indeed.
Actually, my real question was : should the difference of behavior between C-raylib and webassembly-raylib be considered as a bug or as a "should be managed by the user" ?
I'm a total noob regarding emscripten, but if it has the ability to return scancodes, maybe the Webassembly version of raylib should use them too ?
What do you think ?
Should I open a bug report or not ?

@SuperUserNameMan I could be wrong, but I think what you want could be possible with KeyboardEvent: code property, quoting the Mozilla documentation:

For example, the code returned is "KeyQ" for the Q key on a QWERTY layout keyboard, but the same code value also represents the ' key on Dvorak keyboards and the A key on AZERTY keyboards. That makes it impossible to use the value of code to determine what the name of the key is to users if they're not using an anticipated keyboard layout.

Regarding if that should be the "default", I'm really not sure, would have to test further.

@SuperUserNameMan That inconsistency is an issue. Actually raylib, when compiled with emscripten depends on library_glfw.js that should be compatible with GLFW desktop library. If there are inconsistencies, then probably it should be reported to the creators.

@ubkp : Yes, that is what library_glfw.js should use instead of the outdated KeyboardEvent.keyCode.
@raysan5  : And yes, the inconsistency i described comes from library_glfw.js. I'll open an issue on their side.


add gradients to volumes function

I'm getting an error, am I running this correctly?
import os
os.chdir('/Users/reinder/GitHub/forks/BrainSpace/brainspace')
from utils.volflow import grad2fmrivols

from brainspace.gradient import GradientMaps
from brainspace.datasets import load_group_fc
from nilearn.image import load_img

conn_matrix = load_group_fc('schaefer', scale=400)
gm = GradientMaps(n_components=10)
gm.fit(conn_matrix)

nii = load_img('/Users/reinder/Downloads/Schaefer2018_400Parcels_7Networks_order_FSLMNI152_1mm.nii.gz')
gradvol = grad2fmrivols(gm,nii)

import os...
AttributeError                            Traceback (most recent call last)
~/Desktop/test.gyp in
9 gm.fit(conn_matrix)
10 nii = load_img('/Users/reinder/Downloads/Schaefer2018_400Parcels_7Networks_order_FSLMNI152_1mm.nii.gz')
---> 11 gradvol = grad2fmrivols(gm,nii)
~/GitHub/forks/BrainSpace/brainspace/utils/volflow.py in grad2fmrivols(gradients, atlas, image_dim)
92         atlas_img = atlas
93         atlas_data = atlas.get_fdata()
---> 94         labels = atlas.labels
95
96     gradient_list = []
AttributeError: 'Nifti1Image' object has no attribute 'labels'

Good catch, this function might love nilearn a bit too much, as it expects the atlas to be in nilearn.datasets.fetch*"format", e.g. returningmaps, labelsanddescription`. Just to be sure could you try with:
 atlas = nilearn.datasets.fetch_atlas_schaefer_2018(n_rois=400, yeo_networks=7, resolution_mm=1)
gradvol = grad2fmrivols(gm,atlas)
If that solves it, we would need to talk about how we would like to support multiple input formats of the atlas if at all.
I think this only accounts for grad2fmrivols as fmrivols2conn only needs the atlas itself.

Still getting an error.
import os
os.chdir('/Users/reinder/GitHub/forks/BrainSpace/brainspace')
from utils.volflow import grad2fmrivols
import nilearn
from brainspace.gradient import GradientMaps
from brainspace.datasets import load_group_fc

conn_matrix = load_group_fc('schaefer', scale=400)
gm = GradientMaps(n_components=10)
gm.fit(conn_matrix)

atlas = nilearn.datasets.fetch_atlas_schaefer_2018(n_rois=400, yeo_networks=7, resolution_mm=1)
gradvol = grad2fmrivols(gm,atlas)

---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
/Applications/miniconda2/envs/brainweb/lib/python3.7/site-packages/sklearn/utils/__init__.py in __getattr__(self, key)
    113         try:
--> 114             return self[key]
    115         except KeyError:

KeyError: 'get_fdata'

During handling of the above exception, another exception occurred:

AttributeError                            Traceback (most recent call last)
~/Desktop/test.gyp in
     11
     12 atlas = nilearn.datasets.fetch_atlas_schaefer_2018(n_rois=400, yeo_networks=7, resolution_mm=1)
---> 13 gradvol = grad2fmrivols(gm,atlas)

~/GitHub/forks/BrainSpace/brainspace/utils/volflow.py in grad2fmrivols(gradients, atlas, image_dim)
     91     #read and define atlas data, affine and header
     92         atlas_img = atlas
---> 93         atlas_data = atlas.get_fdata()
     94         labels = atlas.labels
     95

/Applications/miniconda2/envs/brainweb/lib/python3.7/site-packages/sklearn/utils/__init__.py in __getattr__(self, key)
    114             return self[key]
    115         except KeyError:
--> 116             raise AttributeError(key)
    117
    118     def __setstate__(self, state):

AttributeError: get_fdata

Found the problem...However, I think it would be better if we talk about the different inputs in more depth over here.

hey @PeerHerholz and @ReinderVosDeWael - sorry for checking in so late about this, but I was wondering if this PR was ready to be merged?

hey @PeerHerholz and @ReinderVosDeWael - sorry for checking in so late about this, but I was wondering if this PR was ready to be merged?

Heya @llevitis @PeerHerholz - I'll have a look at this after the OHBM abstract deadline so we can merge this.

Heya @llevitis @PeerHerholz - I'll have a look at this after the OHBM abstract deadline so we can merge this.


MatProgressBar and conditional rendering

Bug, feature request, or proposal:
Bug
What is the expected behavior?
I expect the progress bar to work as expected even with an if condition:
<mat-progress-bar
   *ngIf="(fileUploadPercent$ | async) > 0"
   mode="determinate"
   value="{{ fileUploadPercent$ | async }}"
></mat-progress-bar>

What is the current behavior?
It shows 0 progress even though the value of fileUploadPercent$ goes to 100.

Can you provide a reproduction in StackBlitz.  This will help us to investigate the issue you are seeing.

This should be it but I couldn't reproduce the issue myself... it still persists on my local machine :/

I did notice that on my local machine it does work if the file size is large (and upload time over a second or two)

It looks to me that you need to write [value]= rather than value=.... If you still see the error, please open an issue with a reproduction. Thanks!


Update master to new release of version 0.3.1

Codecov Report

Merging #44 (1739a29) into master (c4a169b) will decrease coverage by 0.00%.
The diff coverage is 96.87%.

@@            Coverage Diff             @@
##           master      #44      +/-   ##
==========================================
- Coverage   96.61%   96.61%   -0.01%
==========================================
  Files          24       25       +1
  Lines        6467     6672     +205
==========================================
+ Hits         6248     6446     +198
- Misses        219      226       +7

Impacted Files
Coverage Δ

itur/models/itu1144.py
82.14% <ø> (ø)

itur/models/itu1510.py
96.15% <ø> (-0.05%)
:arrow_down:

itur/models/itu618.py
95.69% <ø> (-0.02%)
:arrow_down:

itur/models/itu835.py
98.49% <ø> (ø)

itur/models/itu836.py
100.00% <ø> (ø)

itur/plotting.py
51.47% <ø> (-0.71%)
:arrow_down:

test/ITU_validation_test.py
97.40% <ø> (ø)

test/itur_test.py
91.45% <84.61%> (+0.08%)
:arrow_up:

itur/models/itu1623.py
98.03% <98.03%> (ø)

itur/__version__.py
100.00% <100.00%> (ø)

... and 17 more

Continue to review full report at Codecov.

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


Ginkgo parallel test node CI timeout debugging

What type of PR is this?
/kind failing-test
What does does this PR do / why we need it:
Recently we have Ginkgo timed out waiting for all parallel nodes to report back! error in most of our periodic job and in pr job too in devfile integration test.
May be this happens due to bad signal handling between ginkgo and the spec or may be test stuck in between. So adding -debug flag to get more information on the failure node.
As part of test timeout is concerned, the current timeout TIMEOUT ?= 7200s is enough for devfile test run. Anyway if we find in CI debug log 2hrs is not enough then we will increase it.
NOTE: I have tried locally and none of the time i am able to reproduce it.
Which issue(s) this PR fixes:
Fixes NA
PR acceptance criteria:

[ ] Unit test : NA

[ ] Integration test : NA

[ ] Documentation : NA

How to test changes / Special notes to the reviewer:
debug flag should report correct information on the failure node

/test all

The last successfully test run was on 18th Aug 3:30 PM UTC after that our test fails due to platform and the timeout flake Ginkgo timed out waiting for all parallel nodes to report back!.
ginkgo --debug flag could help much, however there is an ongoing pr ginkgo https://github.com/onsi/ginkgo/pull/461 to get proper debug output for parellel test note that stuck/failed due to wrong signal.
So its hard to find out the reason for failure with -debug or -stream flag. Now i am going to comment the test commit after 18th Aug 3:30 PM UTC to narrow down the spec that causes the failure.

@amitkrout can we track this in a separate issue. It seems this issue needs good amount of time to investigate. However I suspect it be happening with devfile watch. One more hit - https://prow.ci.openshift.org/view/gs/origin-ci-test/pr-logs/pull/openshift_odo/3763/pull-ci-openshift-odo-master-v4.5-integration-e2e/1296528880043036672#1:build-log.txt%3A682

On travis also:
The command make test-cmd-devfile-log exited with 2.
Log:
ginkgo  -randomizeAllSpecs -slowSpecThreshold=120 -timeout 7200s -nodes=2 -focus="odo devfile log command tests" tests/integration/devfile/
Running Suite: Devfile Suite
============================
Random Seed:<PHONE_NUMBER> - Will randomize all specs
Will run 169 specs
Running in parallel across 2 nodes
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS•SSSSSS•SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS•SSSS
	 -------------------------------------------------------------------
	|                                                                   |
	|  Ginkgo timed out waiting for all parallel nodes to report back!  |
	|                                                                   |
	 -------------------------------------------------------------------
 devfile timed out. path: ./tests/integration/devfile
Ginkgo ran 1 suite in 58.660383924s
Test Suite Failed
Makefile:283: recipe for target 'test-cmd-devfile-log' failed
make: *** [test-cmd-devfile-log] Error 1
/home/travis/.travis/functions: line 607: 25335 Terminated              travis_jigger "${!}" "${timeout}" "${cmd[@]}"
The command "travis_wait make test-cmd-devfile-log" exited with 2.

Is it always failing on the same test spec?

None of the time i am able to reproduce out of 20 tires locally. Seems its specific to CI failure

Is it always failing on the same test spec?

Most of the time we are getting a generic failure message like

But there is a one instance where it gives bit more information. For example it capture the test file name (devfile watch test)

Right now i am not sure from which spec the error is coming from

/test all

It looks like it started with this PR https://github.com/openshift/odo/pull/3733 Could something in this PR cause this?

It looks like it started with this PR #3733 Could something in this PR cause this?

Yes, i am able to reproduce it locally with test-cmd-devfile-log
$ make test-cmd-devfile-log
ginkgo  -randomizeAllSpecs -slowSpecThreshold=120 -timeout 7200s -debug -nodes=2 -focus="odo devfile log command tests" tests/integration/devfile/
Running Suite: Devfile Suite
============================
Random Seed:<PHONE_NUMBER> - Will randomize all specs
Will run 169 specs

Running in parallel across 2 nodes

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS•SSSSSSSSSSSSSSSSSS•SSSSSSSSSSSSSSS•SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
         -------------------------------------------------------------------
        |                                                                   |
        |  Ginkgo timed out waiting for all parallel nodes to report back!  |
        |                                                                   |
         -------------------------------------------------------------------

 devfile timed out. path: ./tests/integration/devfile

Ginkgo ran 1 suite in 1m21.305233171s
Test Suite Failed
make: *** [test-cmd-devfile-log] Error 1


Docs: Fix broken links

Docs workflow is broken due to broken link

It should fix the first CI step, that is failing at the moment?
And it'll fix it only once it's merged to master?
Or it's about a different issue?

It should fix the first CI step, that is failing at the moment? And it'll fix it only once it's merged to master? Or it's about a different issue?

One link fixed, the other didn't catch

Trying to reduce concurrency - if that doesn't work I'll add make link to ignore