Benchmarking / performance measurement of LLVM backend on Intel CPUs : Part I

As part of this ticket, we are going to benchmark LLVM code generation backend with different configurations. Here are some practical considerations:

Simple synthetic kernels with basic patterns (involving memory accesses, gather, div, exp) vs real-word MOD files
Dataset fitting in memory vs DRAM
Different Vector widts
With / wotjpit VecLibReplace with SVML
Different (Inte CPUl) backends : SSE, AVX-2, AVX-512

@georgemitenkov : I have assigned this to myself temporarily  as I am going to do simple cross-checks with performance numbers with recently added --veclib SVML option.

Just to update here @georgemitenkov : I have tested few small examples and SSE vs AVX-2 examples locally. But for detailed analysis, I will wait for #611 ( / #612) so that assembly & performance metrics could be analysed in the detailed.

Great! I had an exam yesterday so Monday/Tuesday were a bit out for me. I have started looking at the debug info, so hopefully this one should be ready soonish (~Thursday).
Regarding assembly verification: ideally, do we want to dump it to the log file, so that the structure is:
====== start

NMODL source (not in log file for now)
NMODL after transformations (we only print kernels, so that's fine)
Generated LLVM
Generated assembly from JIT?
====== JIT part
Visiting time
Benchmark time
====== end

What do you think? @pramodk

Great! I had an exam yesterday so Monday/Tuesday were a bit out for me.

Oh ok! Np!

What do you think? @pramodk

Yup, above part LGTM!

Just as initial reference, below is a summary of current timings on x86_64.
First line is JIT, second line is external kernel (note that there is some overhead from JIT calling mechanism)
JIT options are
--fmf nnan contract afn --vector-width 8 --veclib SVML benchmark \
--opt-level-ir 3 --opt-level-codegen 3 --run --instance-size 100000000 \
--repeat 10

compute-bound_clang_-O3-march=skylake-avx512-ffast-math-fopenmp-fveclib=SVML.log:[NMODL] [info] :: Average compute time = 0.322915
compute-bound_clang_-O3-march=skylake-avx512-ffast-math-fopenmp-fveclib=SVML.log:[NMODL] [info] :: Average compute time = 0.419407
compute-bound_clang_-O3-mavx2-ffast-math-fopenmp-fveclib=SVML.log:[NMODL] [info] :: Average compute time = 0.344690
compute-bound_clang_-O3-mavx2-ffast-math-fopenmp-fveclib=SVML.log:[NMODL] [info] :: Average compute time = 0.423696
compute-bound_clang_-O3-mavx512f-ffast-math-fopenmp-fveclib=SVML.log:[NMODL] [info] :: Average compute time = 0.350585
compute-bound_clang_-O3-mavx512f-ffast-math-fopenmp-fveclib=SVML.log:[NMODL] [info] :: Average compute time = 0.319667
compute-bound_clang_-O3-mavx512f-ffast-math-fveclib=SVML.log:[NMODL] [info] :: Average compute time = 0.347119
compute-bound_clang_-O3-mavx512f-ffast-math-fveclib=SVML.log:[NMODL] [info] :: Average compute time = 0.320830
compute-bound_clang_-O3-mavx512f-fveclib=SVML.log:[NMODL] [info] :: Average compute time = 0.323365
compute-bound_clang_-O3-mavx512f-fveclib=SVML.log:[NMODL] [info] :: Average compute time = 0.317312
compute-bound_clang_-O3-msse2-ffast-math-fopenmp-fveclib=SVML.log:[NMODL] [info] :: Average compute time = 0.347382
compute-bound_clang_-O3-msse2-ffast-math-fopenmp-fveclib=SVML.log:[NMODL] [info] :: Average compute time = 0.629991
hh_clang_-O3-march=skylake-avx512-ffast-math-fveclib=SVML.log:[NMODL] [info] :: Average compute time = 1.659959
hh_clang_-O3-march=skylake-avx512-ffast-math-fveclib=SVML.log:[NMODL] [info] :: Average compute time = 10.597442
hh_clang_-O3-mavx2-ffast-math-fopenmp-fveclib=SVML.log:[NMODL] [info] :: Average compute time = 1.639105
hh_clang_-O3-mavx2-ffast-math-fopenmp-fveclib=SVML.log:[NMODL] [info] :: Average compute time = 2.132582
hh_clang_-O3-mavx512f-ffast-math-fopenmp-fveclib=SVML.log:[NMODL] [info] :: Average compute time = 1.635455
hh_clang_-O3-mavx512f-ffast-math-fopenmp-fveclib=SVML.log:[NMODL] [info] :: Average compute time = 1.510965
hh_clang_-O3-mavx512f-ffast-math-fveclib=SVML.log:[NMODL] [info] :: Average compute time = 1.634934
hh_clang_-O3-mavx512f-ffast-math-fveclib=SVML.log:[NMODL] [info] :: Average compute time = 10.587418
hh_clang_-O3-mavx512f-fveclib=SVML.log:[NMODL] [info] :: Average compute time = 1.610168
hh_clang_-O3-mavx512f-fveclib=SVML.log:[NMODL] [info] :: Average compute time = 12.130137
hh_clang_-O3-msse2-ffast-math-fopenmp-fveclib=SVML.log:[NMODL] [info] :: Average compute time = 1.634898
hh_clang_-O3-msse2-ffast-math-fopenmp-fveclib=SVML.log:[NMODL] [info] :: Average compute time = 3.086421
hh_gcc_-O3-mavx2-ffast-math-ftree-vectorize-mveclibabi=svml.log:[NMODL] [info] :: Average compute time = 1.610445
hh_gcc_-O3-mavx2-ffast-math-ftree-vectorize-mveclibabi=svml.log:[NMODL] [info] :: Average compute time = 10.701414
hh_gcc_-O3-mavx512f-ffast-math-ftree-vectorize-mveclibabi=svml.log:[NMODL] [info] :: Average compute time = 1.614212
hh_gcc_-O3-mavx512f-ffast-math-ftree-vectorize-mveclibabi=svml.log:[NMODL] [info] :: Average compute time = 10.897828
hh_gcc_-O3-msse2-ffast-math-ftree-vectorize-mveclibabi=svml.log:[NMODL] [info] :: Average compute time = 1.611068
hh_gcc_-O3-msse2-ffast-math-ftree-vectorize-mveclibabi=svml.log:[NMODL] [info] :: Average compute time = 11.025482
hh_icpc_-O2-march=skylake-avx512-mtune=skylake-avx512-prec-div-fimf-use-svml.log:[NMODL] [info] :: Average compute time = 1.622493
hh_icpc_-O2-march=skylake-avx512-mtune=skylake-avx512-prec-div-fimf-use-svml.log:[NMODL] [info] :: Average compute time = 1.913908
hh_icpc_-O2-mavx2-prec-div-fimf-use-svml.log:[NMODL] [info] :: Average compute time = 1.792381
hh_icpc_-O2-mavx2-prec-div-fimf-use-svml.log:[NMODL] [info] :: Average compute time = 1.908091
hh_icpc_-O2-mavx512f-prec-div-fimf-use-svml.log:[NMODL] [info] :: Average compute time = 1.794239
hh_icpc_-O2-mavx512f-prec-div-fimf-use-svml.log:[NMODL] [info] :: Average compute time = 1.576430
hh_icpc_-O2-msse2-prec-div-fimf-use-svml.log:[NMODL] [info] :: Average compute time = 1.792621
hh_icpc_-O2-msse2-prec-div-fimf-use-svml.log:[NMODL] [info] :: Average compute time = 3.003994
hh_icpc_-O2-qopt-zmm-usage=high-xCORE-AVX512-prec-div-fimf-use-svml.log:[NMODL] [info] :: Average compute time = 1.612436
hh_icpc_-O2-qopt-zmm-usage=high-xCORE-AVX512-prec-div-fimf-use-svml.log:[NMODL] [info] :: Average compute time = 1.750384
memory-bound_clang_-O3-march=skylake-avx512-ffast-math-fopenmp-fveclib=SVML.log:[NMODL] [info] :: Average compute time = 0.402982
memory-bound_clang_-O3-march=skylake-avx512-ffast-math-fopenmp-fveclib=SVML.log:[NMODL] [info] :: Average compute time = 0.404010
memory-bound_clang_-O3-mavx2-ffast-math-fopenmp-fveclib=SVML.log:[NMODL] [info] :: Average compute time = 0.402691
memory-bound_clang_-O3-mavx2-ffast-math-fopenmp-fveclib=SVML.log:[NMODL] [info] :: Average compute time = 0.403016
memory-bound_clang_-O3-mavx512f-ffast-math-fopenmp-fveclib=SVML.log:[NMODL] [info] :: Average compute time = 0.402822
memory-bound_clang_-O3-mavx512f-ffast-math-fopenmp-fveclib=SVML.log:[NMODL] [info] :: Average compute time = 0.403130
memory-bound_clang_-O3-mavx512f-ffast-math-fveclib=SVML.log:[NMODL] [info] :: Average compute time = 0.402736
memory-bound_clang_-O3-mavx512f-ffast-math-fveclib=SVML.log:[NMODL] [info] :: Average compute time = 0.403115
memory-bound_clang_-O3-mavx512f-fveclib=SVML.log:[NMODL] [info] :: Average compute time = 0.405940
memory-bound_clang_-O3-mavx512f-fveclib=SVML.log:[NMODL] [info] :: Average compute time = 0.406087
memory-bound_clang_-O3-msse2-ffast-math-fopenmp-fveclib=SVML.log:[NMODL] [info] :: Average compute time = 0.403234
memory-bound_clang_-O3-msse2-ffast-math-fopenmp-fveclib=SVML.log:[NMODL] [info] :: Average compute time = 0.404857

Thanks @castigli ! Any specific reason we use only nnan contract afn and not fast for fast math flags?

no, except that I forgot to add it!

@pramodk @castigli @iomaganaris
Current configurations would be, with [..] indicating a test parameter
llvm --ir [--fmf fast] [--assume-may-alias] [--single-precision] --vector-width [W] --veclib [LIB] --opt-level-ir 3 \
benchmark -run --instance-size [S] --repeat [R] --opt-level-codegen 3 --cpu [cpu name or default]

For CPU names, we can use any that Clang supports. We also want to see the effect of aliasing, and see how performance for floats differ (float => 32bits => vector width is greater => maybe more scatter/gather overhead)


Fix the auto-complete-mode integration

It's pretty neglected and I don't think it really works at this point.

We removed the auto-complete file a while ago.


defaultExtensions are way too fat, resulting in long installation times

Running eg. nix develop github:loophp/nix-shell#php74 in folder with composer.json that has no ext- sections takes still quite long time. I can see it compiling things like gd, mysql, iconv and so on which are not needed at all. Is it possible to either improve the speed of installing these (binaries instead of having to compile it? Installing multiple extensions at the same time, or at least each with -J flag?), or skip them? Otherwise amazing feature of this shell, which is auto-installation of extensions from composer.json is quite under-utilized.

Hey hi!
Have you added nix-shell in Cachix ? This will actually download binaries instead of compiling stuff.
Let me know if you need help to enable it!
Cheers

Unfortunately Cachix doesn't seem to do anything on my machine, because I have m1 arm64 and there are no build artifacts for this machine published. What's worse, Github doesn't seem to have such runners at the moment https://github.com/actions/runner-images/issues/5631 (although it's possible to use self-hosted ones, or buildjet ones but that's not free)
This could be important:
➜  ~ uname -a
Darwin PL00562-3.local 22.3.0 Darwin Kernel Version 22.3.0: Thu Jan  5 20:48:54 PST 2023; root:xnu-8792.81.2~2/RELEASE_ARM64_T6000 arm64

Dear @ostrolucky ,
I aksed on the Nix PHP Matrix channel.
The issue comes from the fact that we merged the latest update of PHP without making sure that it was successfully built on that architecture.
@LeSuisse partially fixed the issue in https://github.com/NixOS/nixpkgs/pull/215004 but it seems that there is another issue here https://github.com/NixOS/nixpkgs/pull/215220.
I believe we need to wait the next release of PHP to make sure it builds correctly, unless there is an alternative, maybe @LeSuisse might know more than me on this?

Yes there is one remaining flaky test on darwin, I opened https://github.com/NixOS/nixpkgs/pull/215539 so we can work around it and have everything in cache.nixos.org again.
Note that is note the last PHP upgrade that caused the issue, it seems it is the case for quite a while (I did not bother further than that in time).

Thanks @LeSuisse, let's bury that issue in your new PR :)

Thanks patch has been merged :tada: !
We just need to wait for the next iteration and you'll be able to use the binaries from the cache!
Thanks @LeSuisse and @etu !

@ostrolucky I think it should be fixed by now. Can you try ?

@drupol Another thing to consider is that PHP 7.4 isn't cached by hydra since it's not a supported version in nixpkgs. Do you have a separate cache somewhere?

Yes, we do have fossar :)

I had to do nix channel --update first, right?
Following extensions are still being built
php-amqp, php-dom php-mysqlnd php-xdebug php-mysqli php-pdo_mysql php-xmlreader
but rest seems not, so I would say that's a big improvement :)

Do:

rm -rf ~/.cache/nix
nix run nixpkgs#php82 -- -v

And that should be quite fast now :)

Still same thing with above listed 7 extensions, but yeah it's good enough now I would say. But I think we can still remove
these php-dom php-mysqlnd php-mysqli php-pdo_mysql php-xmlreader from here https://github.com/loophp/nix-shell/blob/24b06707a15ebb08b8ff837137398d886e512096/src/phps.nix#L5-L43 right? Or how can we convince upstream php pkg to include these packages by default?

I will think about it but if we want to convince upstream to have those enabled by default, then we have to motivate the request in an issue.
This is also something that we should discuss with the PHP Maintainers team (@jtojnar, @etu, @aanderse,
etc etc... )
What you could also do to avoid compilation time is to not use loophp/nix-shell and use php from nixpkgs only in the meantime.

It's not a very hard change to implement, however, it's a breaking change.
Here's the steps of what we need to do to do that breaking change:

Decide which the new defaults should be (and a good motivation for this, the current defaults haven't been decided recently, they where decided many years ago before PHP in Nix was modular so to enable a module you needed to compile the whole thing.
Then we need to alter the three files (one for each supported version) https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/interpreters/php/8.0.nix https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/interpreters/php/8.1.nix https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/interpreters/php/8.2.nix with the new defaults, however, this shouldn't just remove a bunch of things. Instead we should look at the stateVersion and make sure to not change the defaults if one is on an older version.
Document it in the release notes.

@etu are you sure this would be a breaking change? Here, we are suggesting adding extensions, not removing any. Why would this be considered a BC ?

Oh, yeah, I misread that then... I'm however questioning if we have sensible defaults to begin with :smiley:

I don't think we have indeed... We should really discuss that thing :)

Oh crap,... the page I used to take inspiration from is no more existing.


Use intersphinx link to rocr debug agent

change from absolute link to intersphinx link

The linting errors are a result of new spellchecks being added to the templates. They aren't a result of my PR.


LIN-712 use cloudpickle

Description
Start using cloudpickle. In general, cloudpickle supports more use cases but specifically it works around the constraint of the pickle class that requires class objects to be registered in globals().  This will let linea keep hijacking the default globals and work with a separate copy in executor.
Fixes LIN-712
Type of change
Please delete options that are not relevant.

[ x ] New feature (non-breaking change which adds functionality)

How Has This Been Tested?
All existing tests.

No blocker but two comments.
I think your PR gets rid of pandas dependency, so we probably want to remove it from requirements.txt and setup.py (maybe in other places I'm not aware).
I am also curious about scenarios that cloudpickle doesn't work and need to fallback to vanilla pickle. I thought cloudpickle is still using pickle under the hood.

addressed the pandas point in the sub-comment
i'm not sure about the implementation of cloudpickle. but i added vanilla pickle in case someone already has pickled using our older version of lineapy that did not use cloudpickle. if it fails with cloudpickle it will atleast try using pickle library before finally failing. a secondary goal was in case there is a scenario where cloudpickle fails and pickle does not, there's no downside to adding this in because pickle comes inbuilt with python.


I2C Communication Node

Create a ROS2 node for communicating over I2C
This will be able to read devices from addresses and publish the data to topics
An example could be reading the MPU6050 accelerometer and gyroscope and publishing the data to /mpu/data topic
Should be general enough to extend to other devices.


[PLC] [Test] [TypeCheck] Added 'Examples.Data.Vec'

This shows how to represent Church- and Scott-encoded vectors in Plutus Core.

@michaelpj it's really annoying that now I need to reach for nix even if I only added a single new *.hs to the repo. Given that the CI knows how to update nix stuff to fix what it doesn't like:

     "Language/PlutusCore/Examples/Data/Vec"

is there any way to do that automatically?

it's really annoying that now I need to reach for nix even if I only added a single new *.hs to the repo

This is annoying, but it's somewhat inherited from cabal, since the Nix stuff mirrors the cabal stuff. (It's pretty annoying you have to edit your cabal file every time you add a module too, but we're used to that...)

is there any way to do that automatically?

Yes, we can auto-generate this stuff - but it makes things slower. So in the end we opted to go for checking in the generated stuff and having to re-generate it. But that should be a single command these days.

(It's pretty annoying you have to edit your cabal file every time you add a module too, but we're used to that...)

It is annoying indeed, but at least I don't need to switch my build tool every time I add a new module, just edit the .cabal file.

Yes, we can auto-generate this stuff - but it makes things slower. So in the end we opted to go for checking in the generated stuff and having to re-generate it.

Not that our CI is particularly fast anyway. How much slower does autogenerating nix stuff make the CI?

But that should be a single command these days.

For me it's:

commit & push
wait for CI to show an error
go turn on a different machine where I have nix
"what the heck that command was?" -- open the browser, go to CONTRIBUTING.md
call the command, wait for eternity until nix builds all its stuff, because it seems to change somewhat often and the binary cache doesn't work for me for whatever reason
commit & push

I could get used to it and try to set up nix on my main machine, but I'd been happily using stack for developing Plutus for two years until it suddenly became necessary to deal with nix whenever a file is added. Can we return these happy days? I don't mind dealing with nix when dependencies change, but imposing nix over potential contributors to our Haskell project when cabal or stack would do the job seems silly.

Not that our CI is particularly fast anyway. How much slower does autogenerating nix stuff make the CI?

Not just the CI, but essentially every use of a nix command. I know you don't use it, but it affects those of us who do quite a lot.

I could get used to it and try to set up nix on my main machine, but I'd been happily using stack for developing Plutus for two years until it suddenly became necessary to deal with nix whenever a file is added.

I do think that you need to have Nix installed. It is the tool we use for CI as well as integrating all our stuff. We go to some effort to make sure you can use stack or whatever most of the time, I don't think it's unreasonable to ask that you have Nix installed to run one or two commands every now and again!

I don't mind dealing with nix when dependencies change

I agree it's more annoying in that way, but we've been through quite a number of ways of doing this and we ended up here because it's the least annoying so far (but maybe more annoying for you...).
And it is only one command! If you actually did it occasionally it probably wouldn't take hours either ;)

I will ask about the module listing thing, you never know, maybe we can improve that.

https://github.com/input-output-hk/haskell.nix/issues/696

Not just the CI, but essentially every use of a nix command. I know you don't use it, but it affects those of us who do quite a lot.

Ah, I did not realize if was affecting every nix  command.

I do think that you need to have Nix installed. It is the tool we use for CI as well as integrating all our stuff. We go to some effort to make sure you can use stack or whatever most of the time, I don't think it's unreasonable to ask that you have Nix installed to run one or two commands every now and again!

Ok, I'll spend some time figuring out how to install nix on a machine with a small main partition.

I will ask about the module listing thing, you never know, maybe we can improve that.

Thanks!


log4j JNDI vulnerability

Is this project affected by CVE-2021-44228?
Cheatsheet:
https://www.techsolvency.com/story-so-far/cve-2021-44228-log4j-log4shell/
Logback issue:
https://jira.qos.ch/browse/LOGBACK-1591?filter=-6
Log4j issue:
https://github.com/elastic/elasticsearch/issues/81620

As far as I m concerned, this may be fixed in installatable version but Docker versions still contain log4j-core-2.11.1.jar

fluent-logger-java doesn't depend on Log4j2:
$ mvn dependency:tree
[INFO] Scanning for projects...
[INFO]
[INFO] ---------------------< org.fluentd:fluent-logger >----------------------
[INFO] Building Fluent Logger for Java 0.3.5-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- maven-dependency-plugin:2.8:tree (default-cli) @ fluent-logger ---
[INFO] org.fluentd:fluent-logger:jar:0.3.5-SNAPSHOT
[INFO] +- org.msgpack:msgpack:jar:0.6.8:compile
[INFO] |  +- com.googlecode.json-simple:json-simple:jar:1.1.1:compile
[INFO] |  \- org.javassist:javassist:jar:3.16.1-GA:compile
[INFO] +- org.slf4j:slf4j-api:jar:1.7.6:compile
[INFO] +- ch.qos.logback:logback-classic:jar:1.1.1:test
[INFO] |  \- ch.qos.logback:logback-core:jar:1.1.1:test
[INFO] \- junit:junit:jar:4.8.2:test
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  0.608 s
[INFO] Finished at: 2021-12-20T14:32:31+09:00
[INFO] ------------------------------------------------------------------------

Docker versions still contain log4j-core-2.11.1.jar

What does mean Docker versions?
AFAIK fluent-logger-java is a library so that it's not distributed by Docker container without application.
It your application distributed by a Docker container has the issue, it's an issue of your application or Docker container.

Hey @ashie, i only used unmodified docker versions of logstash and elasticsearch from docker.elastic.co. at least one of them in 6.8.21 still contained log4j-core 2.11.0.jar even if the class was extracted as per the mitigation. I did not check other versions personally.
Even if the fix was the recommended mitigation, it's still just a mitigation, not a fix and doesn't pass security scanners.
Now 6.8.22 is completely fixed with log4j 2.17.0 so it's all good.

@ashie I thought this issue could be used to track mentioned logback issue. Since logback was a fork of log4j I thought that may be relevant.


Add validate-commit-msg for non commitizen commits.

adding validate-commit-msg will ensure users follow commit standards
for semantic-release even if the user does not use commitizen.

Hi Matt, does validate-commit-msg validate the commit against the Conventional changelog standard right?
I guess it doesn't have any knowledge about the pre-defined app scopes. Eg.: If for a project we specify a commit scope transactions or userList, validate-commit-msg will not be aware of those values.
My work colleague @uglow has built a tool that works really well with a workflow using corp-semantic-release, commitizen and cz-customizable. Take a look at those 2 projects and see if this PR still necessary. Maybe the problem has already been addressed: https://github.com/uglow/cz-customizable-ghooks and https://github.com/leonardoanalista/cz-customizable

in summary, cz-customizable with cz-customizable-ghooks will read your Commitizen configuration file and validate all commits against pre-defined commit types and commit scopes.
@forstermatth please let us ( @uglow  ) know if you have a use case not covered by those tools.

@leonardoanalista validate-commit-msg can take in a custom list of commit scopes, or it can use a module (like https://github.com/commitizen/conventional-commit-types). The config ends up looking like:
"config": {
    "ghooks": {
      "commit-msg": "validate-commit-msg",
    },
    "validate-commit-msg": {
      "types": [
        "feat",
        "fix",
        "docs",
        "refactor",
        "perf",
        "test",
        "chore",
        "revert"
      ],
      "warnOnFail": false,
      "maxSubjectLength": 100,
      "helpMessage": "We follow Angular commit guidelines. See the onboarding repo for more."
    }
  }

You can point to a repo that looks similar to the conventional types if you want to version control a list of your own.
It seems as though this flow is highly similar to what you've set up, without the extra scope constraint that cz-customizable allows for. If you prefer that all contributors use commitizen with the setup that you have, then feel free to close this issue as it's not relevant.
The only reason I submitted it is that there appeared to be no validation of commit messages that are committed whilst not using commitizen (I don't really like the menus -  I can just type faster than keying through them).

@forstermatth - cz-customizable-ghooks provides that out-of-band commit message validation that you're looking for. It uses the ghooks library to add a pre-commit hook to your repo, which validates the commit message against the rules that have been defined in your cz-customizable config file. So you can avoid the menus and still validate the message.

@uglow cool, then this is unnecessary.
I'm wondering what I did wrong during install to not have this trigger? Or is this repo not set up for that?

@forstermatth you haven't done anything wrong. Actually now I understand your PR. You are adding the verification tool for THIS project in order to improve the development experience for corp-semantic-release. The fact is I forgot to install and configure cz-customizable and cz-customizable-ghooks in this repo here.

package.json will look like this once those tools are configured:
  "config": {
    "commitizen": {
      "path": "node_modules/cz-customizable"
    },
    "cz-customizable": {
      "config": "config/commitizen/cz-config.js"
    },
    "ghooks": {
      "commit-msg": "./node_modules/cz-customizable-ghooks/lib/index.js $2",
    }
  },

and file config/commitizen/cz-config.js will have to be created as well.
A bit of background regarding to the scope type: We had lots of different spelling on commit scope. Some developers used to type accountSummary, others acctSummary. This became a problem because our release notes used to group all commits by type/scope. Then we found the need to restrict the commit scope in order to prevent those issues.

@leonardoanalista Ah, I understand, It's a good idea. Our company is relatively new to this flow, and I'm spearheading it, so we might end up using those constraints.
The ultimate goal is to have our many (read: to many_) microservice repos manage releases / generate changelogs for themselves. This repo is crucial for that because we don't publish our services to npm, so the regular semantic release doesn't meet our need.

With this workflow, there is an assumption that you squash/rebase all your commits. I mean the last commit to be merged into master (or a release branch) would have to follow the conventional changelog types, which you loop very familiar with it. In our team, we do squash and rebase commits manually from the command line. Initially developers were a bit scared but now we have a team of 20 and they are all confident and comfortable.
Just for curiosity, in your company, do you all squash/rebase commits?

Yes, I encourage my team to squash / rebase for feature branches often. I've done it a few times for the refactor already.
I like to keep the detail of the non-junk commits until we are ready to merge it, we disable both merge and squash merges on all our repos and use rebase merge exclusively. This way our history is kept clean.
We actually set up git shortcuts for rebase: https://github.com/autovance/dotfiles/blob/master/bin/git-up, that repo is based on the work done by thoughtbot (https://github.com/thoughtbot/dotfiles). Makes it simple: g up -i.

The git hook is created by cz-customisable-ghooks, not this package.
Sent from my iPhone
On 25 Oct. 2016, at 3:17 pm, Matt Forster <notifications<EMAIL_ADDRESS>wrote:
@uglowhttps://github.com/uglow cool, then this is unnecessary.
I'm wondering what I did wrong during install to not have this trigger? Or is this repo not set up for that?

You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/leonardoanalista/corp-semantic-release/pull/15#issuecomment-255932039, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ADzirSJCUI_Avo8WMmTKszYQRRYPQ7PAks5q3YLGgaJpZM4KQr1V.


DynamoDB and AWS Amplify does not sync for unknown reasons.

Note: If your issue/bug is regarding the AWS Amplify Console service, please log it in the
Amplify Console GitHub Issue Tracker

Describe the bug
I'm trying to edit dynamodb directly but when I do a search query, I can see that the results does not update.

Amplify CLI Version
N/A
To Reproduce
Unsure as well, looking for feedbacks on where to look, I've been googling for about 2 hours now and I can't find a definite solution.
Expected behavior
DynamoDB and Elastic Search should be in sync.
Screenshots
See above.
Desktop (please complete the following information):

OS: N/A
Node Version: N/A

Log output
Include any relevant log output under ~/.amplify/logs/amplify-cli-<issue-date>.log
Additional context
This is a project that was initiated originally with an older version of amplify, so it's quite an old project, but I've upgraded this project the best I could, it's been dormant for months and now I'm just coming back to it.

@aprilmintacpineda The @searchable directive attaches a streaming function that is triggered off of DynamoDB changes and streams the change to the ES cluster. You can search CloudWatch for errors in that function which may explain why the ES cluster is out of sync. The lambda should be named ddb_to_es

@edwardfoyle I created a new environment and so far has not experienced this in that new environment, If we experience it again, I will post an update with the logs from ddb_to_es lambda as per your instructions.

Hi @aprilmintacpineda
Good to know it worked for you. Closing this issue for now , if it occurs again feel free to comment and reopen this issue again.
Also you can check cloudwatch logs for erros in ddb_to_es  lambda fn as @edwardfoyle mentioned.


Remove parser receiver from manifest to avoid crash when parse is dis…

@aleffert  please review.
if the notification flag is turned off and app will crash occasionally.   as ParseBroadcastReceiver is registered on device reboot and it is specified in the manifest file.

:+1: Though looks like you might need to fix the build tools version on travis


Add "merge --input-file-list NAME ..." as a way to exceed CLI limits

...or to handle filenames in paths which have spaces.
Not tested yet, and C# is not my native language, so please bear with me :)
So far, posting to make sure CI passes on all platforms with this trivial change. Not sure how to test this properly (with an additional file to list SBOM files) - suggestions or maintainer commits are welcome :)

Now actually tested locally, at least. Outputs posted below (made a bit noisier to see what's happening with parameter handling).

With a CRLF-separated list file:

:; cyclonedx.exe merge --input-files top*json --input-files-list top*txt \
    --output-file myProject_deploystd~da72200.json
Got 1 individual input file name(s): ['topSBOM.myProject_deploystd~da72200.CollectedComponents.json']
Got 1 file(s) with actual input file names: ['topSBOM.myProject_deploystd~da72200.CollectedComponents.list.txt']
Adding to input file list from topSBOM.myProject_deploystd~da72200.CollectedComponents.list.txt
Got 301 entries from topSBOM.myProject_deploystd~da72200.CollectedComponents.list.txt
Processing input file topSBOM.myProject_deploystd~da72200.CollectedComponents.json
    Contains 18 components
Processing input file common-service-discovery-14.0.0-cyclonedx.json
    Contains 12 components
Processing input file db-12.0.0-cyclonedx.json
    Contains 119 components
...

Similar for a NUL-separated file (as would be provided by find ... -print0:

:; tr '\n' '\0' < top*txt > top*txt0
:; cyclonedx.exe merge --input-files top*json --input-files-list0 top*txt0 \
    --output-file myProject_deploystd~da72200.json
Got 1 individual input file name(s): ['topSBOM.myProject_deploystd~da72200.CollectedComponents.json']
Got 1 file(s) with NUL-separated actual input file names: ['topSBOM.myProject_deploystd~da72200.CollectedComponents.list.txt0']
Adding to input file list from topSBOM.myProject_deploystd~da72200.CollectedComponents.list.txt0
Got 301 entries from topSBOM.myProject_deploystd~da72200.CollectedComponents.list.txt0
Processing input file topSBOM.myProject_deploystd~da72200.CollectedComponents.json
    Contains 18 components
Processing input file common-service-discovery-14.0.0-cyclonedx.json
    Contains 12 components
Processing input file db-12.0.0-cyclonedx.json
    Contains 119 components
...

Updated report style:
:; cyclonedx.exe merge --input-files top*json --input-files-list top*txt \
    --output-file myProject_deploystd~da72200.json
Got 1 individual input file name(s): ['topSBOM.myProject_deploystd~da72200.CollectedComponents.json']
Processing 1 file(s) with list of actual input file names: ['topSBOM.myProject_deploystd~da72200.CollectedComponents.list.txt']
Adding to input file list from topSBOM.myProject_deploystd~da72200.CollectedComponents.list.txt
Got 295 new entries from topSBOM.myProject_deploystd~da72200.CollectedComponents.list.txt
Determined 296 input files to merge
Processing input file topSBOM.myProject_deploystd~da72200.CollectedComponents.json
    Contains 18 components
...
Writing output file...
    Total 26726 components


CIP-0057 | Update Implementation Status

Blueprint generation and loading is supported in OpShin as of https://github.com/OpShin/opshin/pull/279
Blueprint leveraging is underway in pycardano as of https://github.com/Python-Cardano/pycardano/pull/276 ff

Note: ImperatorLang is the deprecated name of OpShin.

Add OpShin and Aiken to the header's implementers field?

oops @Ryun1 @nielstron I didn't see OpShin was still listed as ImperatorLang in the Implementors: field (Aiken was already there).


OnTabSelectListener - tabId is invalid. Warning: No package identifier when getting name for resource number.

The id provided in the callback onTabSelected(@IdRes int tabId) is always 1. Logs show the following warning: No package identifier when getting name for resource number 0x00000001
I setup the bottom bar very much like the example.

I was using the android xmls =/


Review axiom for impaired ossification of basisphenoid bone

impaired ossification of basisphenoid bone MP:0000105  currently uses:
'has part' some
('decreased rate'
and ('inheres in' some ossification)
and ('inheres in' some 'basisphenoid bone')
and ('has modifier' some abnormal))
Second 'inheres in" should be deleted; replace with 'part of'

inheres in should never appear more than once; I cant tell you about what is correct here, but inheres in is conceptual functional, so it means that it can be only referring to exactly one thing. Thanks for catching that!

"'has_part' some ('decreased rate' and ('inheres_in' some (ossification and ('occurs_in' some 'basisphenoid bones'))) and  ('has_modifier' some 'abnormal'))"


Add metadata to TSL result payload

Adds additional metadata to internal TSL-API.

Why do we want to do this?

Why do we want to do use a string instead of an enum?

See this pr in MSAL -- want to expose these values without making an enum in common public in MSAL. Since enums can't be extended, I opted to pass a string thru, and then redeclare that same string in the public package so there's a private (internal) declaration and public one which refers to it.


cannot parse this html

http://www.75.fsin.su/news/detail.php?ELEMENT_ID=273811
*errors.errorString
/usr/lib/go/src/runtime/asm_amd64.s:1998
throw panic with this error.
I don't have any idea how to debug it in right way.

What line of code triggers that error? The line you pasted is in the runtime, what would be useful is the userland code that calls this.
In any case, I can get it to load in a goquery document with this code:
func main() {
	req, err := http.NewRequest("GET", "http://www.75.fsin.su/news/detail.php?ELEMENT_ID=273811", nil)
	if err != nil {
		log.Fatal(errors.Wrap(err, "new request"))
	}
	req.Header.Set("User-Agent", "Mozilla/5.0 (Maemo; Linux armv7l; rv:10.0.1) Gecko/20100101 Firefox/10.0.1 Fennec/10.0.1")

	res, err := http.DefaultClient.Do(req)
	if err != nil {
		log.Fatal(errors.Wrap(err, "get"))
	}
	if res.StatusCode >= 400 {
		log.Fatalf("status %d %s", res.StatusCode, res.Status)
	}

	b, err := ioutil.ReadAll(res.Body)
	if err != nil {
		log.Fatal(errors.Wrap(err, "read all"))
	}
	log.Printf("%s", b[:100])

	_, err = goquery.NewDocumentFromResponse(res)
	if err != nil {
		log.Fatal(errors.Wrap(err, "new doc"))
	}
}

Some interesting bits: you have to set some browser user-agent string otherwise it doesn't return anything, and the encoding is windows-1251 so you will have issues decoding it. You have to transform it to utf8 before parsing it with goquery. See the wiki for some hints on how to do that.


[Enhancement] Ignore the property "replication_num" in lake table

Signed-off-by: sduzh<EMAIL_ADDRESS>What type of PR is this：

[ ] BugFix
[ ] Feature
[x] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Which issues of this PR fixes ：

Fixes #
Problem Summary(Required) ：

Checklist:

[ ] I have added test cases for my bug fix or my new feature
[ ] This pr will affect users' behaviors
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

Bugfix cherry-pick branch check:

[ ] I have checked the version labels which the pr will be auto backported to target branch

[ ] 2.5
[ ] 2.4
[ ] 2.3
[ ] 2.2

[FE PR Coverage Check]
:heart_eyes: pass : 43 / 47 (91.49%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/lake/LakeTable.java
0
1
00.00%
[174]

:large_blue_circle:
com/starrocks/server/LocalMetastore.java
41
44
93.18%
[2094, 2384, 2474]

:large_blue_circle:
com/starrocks/alter/LakeTableAlterJobV2Builder.java
2
2
100.00%
[]

[FE PR Coverage Check]
:heart_eyes: pass : 45 / 49 (91.84%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/lake/LakeTable.java
0
1
00.00%
[174]

:large_blue_circle:
com/starrocks/server/LocalMetastore.java
41
44
93.18%
[2094, 2384, 2474]

:large_blue_circle:
com/starrocks/alter/LakeTableAlterJobV2Builder.java
2
2
100.00%
[]

:large_blue_circle:
com/starrocks/lake/StarOSAgent.java
2
2
100.00%
[]

run starrocks_admit_test


can't delete from Go slice

https://github.com/dop251/goja/pull/135/files

@dop251
I'm kind of curious, what's the reason for this change?

Because deleting a property is not the same as setting it to a zero value. After a successful delete operation it is reasonable to expect that hasOwnProperty() would return false, but there is no way to achieve this with Go slices.

On second thought... This change seemed to have broken a few built-in Array.prototype methods, like shift() or pop().
I think I will revert it. It doesn't look like it will break any current invariant if I just set the property to a zero value and return a success. And even if such invariant is introduced in the future it's still better to break it rather than break common methods.


Asa services

Asa differs in it's well known port list from golang net package on some points.
The exceptions are translated using an internal list while anything else is left to the net package.

LGTM!


Translations

Confirm the guide on translations we made the Casper theme translatable.
This way the theme could easily be used in a multilingual setup.
Maybe more translations could be added in the future, or could be added manually by users.

You're very welcome to translate the theme or release your own translated themes! We're not ready to include translations by default in Casper at the moment


Correcting the password input field type

What kind of change does this PR introduce?
Bug fix
What is the current behavior?
https://github.com/supabase/auth-ui/issues/156
What is the new behavior?
I am not sure how to test these change. Guidance for that would be highly appriciated.

Even after submission it will only generate a new link :(
const { error: resetPasswordError } = await supabaseClient.auth.resetPasswordForEmail(email, {
redirectTo
});

Thank you for this PR, a new release should be out shortly with this fix.


fix: Added support to env variable SYMPHONY_POD_HOST

Thanks for the PR but I hope this is unnecessary with version 3.0.10 - I committed a fix this weekend which fixed the URLs used for pod REST requests, you don't need to introduce a new SYMPHONY_POD_HOST environment variable as SYMPHONY_HOST serves that purpose.
https://github.com/symphonyoss/hubot-symphony/commit/8c9b7e669bb73a3245e8deedaa05a43398c191be#diff-990a34f0b6b3f4dd9cd19170cf5cf80c
e.g. for the foundation pod SYMPHONY_HOST=foundation-dev.symphony.com and SYMPHONY_AGENT_HOST=foundation-dev-api.symphony.com (I think I have the url's right, this is from memory...)


[WIP] Salary & budget

Summary

Working on implementing the salary and budget

Test Plan

Todo

Note: updateRules in legislature.go is currently never called

Changed branches


refactor Month by using new handle_invalid_time_error.

What have you changed? (mandatory)
refactor Month by using new handle_invalid_time_error.
What are the type of the changes? (mandatory)
Improvement
How has this PR been tested? (mandatory)
unit test

@hawkingrei Would you like to address comment?

@overvenus PTAL


minify react-faux-dom

i used yarn build to export build
the build is failed and the bellow error is displayed in the console
Failed to compile.
Failed to minify the code from this file:
./node_modules/react-faux-dom/lib/_element.js:266

after troubleshooting please read the following documentation in react docs, i upgrade react-script still i have the same issue.
https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify
in package.json i used the following versions:
"devDependencies": {
     "react-scripts": "^2.1.8",
  },
"dependencies": {
   "react": "16.6.0",
   "react-dom": "16.6.0",
   "react-faux-dom":"4.4.0"
}

Ah okay, looks like it's caused by these two let keywords: https://github.com/Olical/react-faux-dom/blob/cdd0394ecd1218468b8fc704c832e7f30878a3bd/lib/_element.js#L266-L272
I'll replace them with var when I can, if anyone wants to replace them in a PR that's fine too.

This should be fixed in v4.4.1.


mariadb: 10.4.14 -> 10.4.15 (CVE-2020-15180)

Fixes CVE-2020-15180
https://mariadb.com/kb/en/mariadb-10415-release-notes/
Things done

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

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

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

Builds on darwin.

@stigtsp will you open a backport after?

Opened one for 20.09: https://github.com/NixOS/nixpkgs/pull/101463

Result of nixpkgs-review pr 101452 1

2 packages marked as broken and skipped:

kmymoney
unixODBCDrivers.mysql

1 package failed to build:

zanshin

52 packages built:

akonadi (kdeApplications.akonadi)
akregator (kdeApplications.akregator)
automysqlbackup
calligra
diesel-cli
digikam
kaddressbook (kdeApplications.kaddressbook)
kdeApplications.akonadi-calendar
kdeApplications.akonadi-contacts
kdeApplications.akonadi-import-wizard
kdeApplications.akonadi-mime
kdeApplications.akonadi-notes
kdeApplications.akonadi-search
kdeApplications.akonadiconsole
kdeApplications.calendarsupport
kdeApplications.eventviews
kdeApplications.incidenceeditor
kdeApplications.kalarm
kdeApplications.kalarmcal
kdeApplications.kdepim-addons
kdeApplications.kdepim-apps-libs
kdeApplications.kdepim-runtime
kgpg (kdeApplications.kgpg)
kmail (kdeApplications.kmail)
kdeApplications.kmail-account-wizard
kdeApplications.kmailtransport
kdeApplications.knotes
kontact (kdeApplications.kontact)
korganizer (kdeApplications.korganizer)
kdeApplications.libgravatar
kdeApplications.libkdepim
kdeApplications.libksieve
kdeApplications.mailcommon
kdeApplications.mailimporter
kdeApplications.mbox-importer
kdeApplications.messagelib
kdeApplications.pim-data-exporter
kdeApplications.pim-sieve-editor
kdeApplications.pimcommon
lua51Packages.luadbi-mysql
luaPackages.luadbi-mysql (lua52Packages.luadbi-mysql)
lua53Packages.luadbi-mysql
luajitPackages.luadbi-mysql
mysql (mariadb)
perl530Packages.MySQLDiff
perl532Packages.MySQLDiff
shmig
snabb
sogo
sope
trojita
zoneminder

@stigtsp is 20.03 also affected by this? Mind opening a PR and pinging me if that is the case?


[docs] User concept section improvements

What changes were proposed in this pull request?

Removed the release number confusion
Better explanation for sharing section along with addition of public links/gist sharing and beta share to slack feature

Fixes #1932  and #1933


APT whitelist request for capnproto

This replaces travis-ci/travis-ci#3447.
The original text by @bozaro follows

When using Cap'n Proto in my project, I need the capnp command in the command line which is available via installing these packages in ubuntu.
Please whitelist these packages so they can be installed.

capnproto, libcapnp, libcapnp-dev does not appear to a package name on which our automation process can handle.
APT packag request should be made for exactly one package, according to the form specified in
https://github.com/travis-ci/apt-package-whitelist#package-approval-process.
If the source package of your requested package contains other related packages, you do not
have to open another one for those.
(When in doubt, do.)

Ran tests and found setuid bits by purely textual search. Further analysis is required.
If these are found to be benign, add:
libcapnp-0.5.2 libcapnp-dev capnproto
See https://travis-ci.org/travis-ci/apt-whitelist-checker/builds/72553063.

BTW, hi @BanzaiMan , I think we met at PyCon last year. (I'm also the person who was using Travis-CI to do Debian package test builds last year.)
Anyway Cap'n Proto is one of the open source projects my company (sandstorm.io) makes, so I'm happy to speak up that it's benign. I'm also curious what benign means in this context, I admit! Let me or @kentonv (the main author of Cap'n Proto) know if you have any questions.
Cheerio,
Asheesh.

I guess the question here is -- what is the string setUid doing in the source code?
I presume you're concerned about the use of the setuid() system call and/or setuid-root binaries.
Anyway, in this case:

c++/src/capnp/compiler/grammar.capnp specifies the grammar of the cap'n proto language, and
./capnproto-0.5.2/src/capnp/compiler/grammar.capnp.h is part of the result of converting that file to C++, and
Declaration:id::UID is a name for the unique ID of a protocol in the cap'n proto language, and
inline void Declaration::Id::Builder::setUid is a function to parse the unique ID (aka UID) from a cap'n proto file into memory.

It has nothing to do with setuid(2), the system call.
Let me know if this addresses the concerns you might have about the string setuid appearing in the source tree. Cheers.

I'm going to re-run the test, so that we can create a PR.

Great, thanks!

+1 for this addition. Is there anything holding up #690?

+1

Ping on this. The setUid function is not related to setuid(2).


Heapless paper pdf?

Is it possible to get access to the associated paper? "Heapless: Dynamic Data Structures without Dynamic Heap Allocator for Rust" somewhere?

Hello @aep. Sorry for the late reply.
I believe the paper can only be accessed if you have access to IEEE publications (?). @perlindgren would know better.
That paper was written before heapless v0.5.0 was released so the implementation covered there (v0.4.x) looks rather different than the current implementation (iirc, the version in the paper used the CoerceUnsized traits and required nightly).
Is there any particular question you had about that paper?

well zetz is entirely heapless, so i'm interested in everything other people have written on the topic. In this case specifically i'm interested in anything you have learned that isn't obvious. Implementing stack based structures is pretty straight forward in zetz, but there are probably algos that fit better and some worse to being on the stack, when it comes to things like cache locality.

You can contact me personally, and I can share a copy of the paper (its behind a paywall).


MSVC:  can't use malloc() in string.c with WIN32_LEAN_AND_MEAN

https://github.com/kou/mruby/actions/runs/9278121120/job/25528601313#step:4:75
string.c
D:\a\mruby\mruby\src\string.c(859): error C4013: 'malloc' undefined; assuming extern returning int
D:\a\mruby\mruby\src\string.c(859): warning C4312: 'type cast': conversion from 'int' to 'wchar_t *' of greater size
D:\a\mruby\mruby\src\string.c(866): warning C4312: 'type cast': conversion from 'int' to 'char *' of greater size
D:\a\mruby\mruby\src\string.c(868): error C4013: 'free' undefined; assuming extern returning int
D:\a\mruby\mruby\src\string.c(889): warning C4312: 'type cast': conversion from 'int' to 'wchar_t *' of greater size
D:\a\mruby\mruby\src\string.c(895): warning C4312: 'type cast': conversion from 'int' to 'char *' of greater size

If WIN32_LEAN_AND_MEAN is defined, windows.h doesn't include additional headers.
See also: https://learn.microsoft.com/en-us/windows/win32/winprog/using-the-windows-headers#faster-builds-with-smaller-header-files
It seems that stdlib.h and malloc.h are also excluded with WIN32_LEAN_AND_MEAN. They are required to use malloc().
https://learn.microsoft.com/en-us/cpp/c-runtime-library/reference/malloc?view=msvc-170#requirements

Routine
Required header

malloc
<stdlib.h> and <malloc.h>

We can choose either of the following solutions:

Include <stdlib.h> and <malloc.h> in src/string.c
Use mrb_malloc()/mrb_free() instead of raw malloc()/free() for mrb_locale_from_utf8()/mrb_utf8_from_locale()

1. is easy because we can just add 2 lines. But 2. may be better to use our allocation functions in our code base. But 2. breaks backward compatibility.

#6278 uses the 2. approach.

#6279 uses the 1. approach.

I chose #6279


funcion causes sass-lint to hang during parsing

The following function causes sass-lint 1.7.0 to hang when run with the default rule-set:
@function closestEvenNumber($number)
  @if ($number % 2 == 0px)
    @return $number
  @else
    @return ($number + 1px)

If you write the above our to bad-function.sass then the following command invocation will hang and peg the node process at 100% CPU:
sass-lint ./bad-function.sass

It's actually a problem with the AST we use, gonzales-pe, I'll file an issue there.

Oops didn't mean to close it..

This is fixed in the newly released version v1.11.0. Please let me know if you still have issues. Thanks!


Messages not appearing in Flowdock thread

Hi!
This issue is a reincarnation of https://github.com/meetfranz/franz/issues/760 .
When you receive a new message in a thread or one-on-one that is currently in focus, you get a notification with the copy of that message, however, the main chat window doesn't show the copy of the message. You must refresh the Flowdock service to see it. Changing tabs back and forth does not help.
If you go to the list of all messages in a room, then you do see the missing message. Clicking on the missing message gets you back into the thread, and the clicked message is still missing.
In one-on-ones, however, there is no "room" (flow) to see "all messages". So if you missed the notification, you'll stay unaware that you have received a message.

This is likely a problem in Flowdock itself, because the integration is very basic, there is literally nothing that could directly interfere with messages.
Also, I remember seeing the same issue in the official Flowdock app for Android, in its early days.
Unfortunately, Flowdock support would not help with this because Ferdi/Franz is not among their supported platforms.
This is a huge bummer, because Flowdock is the only team chat with threaded conversation figured out. I have personally recommended it to my team and feel guilty for this issue. T_T
I'm a web dev myself, but I have no idea what can be causing this weird issue.

@lolmaus I don't use Flowdock myself, but thank you for bringing this to light 🙏


[CIVP-15320] Add max_file_size param to civis_to_multifile_csv

JIRA Ticket:
CIVP-15320
Summary:
Adding the max_file_size parameter to the civis.io.civis_to_multifile_csv
Testing:

[x] Updated specs
[x] Performed manual tests

Notes:
used the civis.io.civis_to_multifile_csv function to create files with different max file sizes and verified the file size
sql scripts are: 55697443 and 55697108
Additional Info:

@elsander is it okay that the build is failing due to the 3.4 error, I see that there is a PR to deprecate that so do I need to worry about that

We're supporting 3.4 until April, so it does need to pass on 3.4 for this upcoming release.

see Jackson's comment in his PR: https://github.com/civisanalytics/civis-python/pull/341#issuecomment-571342110, seems like the failure on 3.4 needs has to do with PyYAML's requirements and not something we should do within this PR, if we want it to pass we will have to fix the dependancies

@elsander see my comment above. I guess @uttercm can pin to a lower version


Telescope styling alternative

No need to add this, but I just wanted to share a quick setup that may help others.
You can style the prompt of telescope in your setup like this:
local nightfox = require('nightfox')
nightfox.setup({
    fox = 'nordfox',
    hlgroups = {
        TelescopeBorder = { fg = "${bg_popup}", bg = "${bg_popup}" },
        TelescopePromptBorder = { fg = "${bg_visual}", bg = "${bg_visual}" },
        TelescopePromptNormal = { fg = "${fg_sidebar}", bg = "${bg_visual}" },
        TelescopePromptPrefix = { fg = "${fg_sidebar}", bg = "${bg_visual}" },
        TelescopeNormal = { fg = "${fg_sidebar}", bg = "${bg_popup}" },
        TelescopePreviewTitle = { fg = "${bg_popup}", bg = "${green}" },
        TelescopePromptTitle = { fg = "${bg_popup}", bg = "${green}" },
        TelescopeResultsTitle = { fg = "${bg_popup}", bg = "${green}" },
        TelescopeMatching = { fg = "${error}", bg = "${NONE}" },
    }
})
nightfox.load()

It does not work on the fly if you change themes, but this setup works quite well with the 2 themes I use.

If not the above, can we add some default in this plugin, At present when we fuzzy find, here is the output

The matching characters are really hard to find. If we check the last but one line 'kittty/navigator.conf' its really difficult to understand which of the characters are matching(blue on blue).
I am using duskfox and not sure if I have do something like nightfox compile etc to get better colors for Telescope

That looks like an issue with duskfox itself. It is using the same colors as Search. There should be more contrast for the search color for duskfox.

@EdenEast thanks for the quick fix


Testing Revert 356 master

Closes #theRelatedIssueNumber

[] Running yarn lint does not trigger any linter errors
[] The test of the method you have fixed is passing
[] You have written a new skeleton method for someone else to work on!
[] You have written tests to accompany your skeleton method

@spdobest I think you have a bad merge here or something. I'm going to close this PR. If you need help please let me know and I can walk you through a few steps!


how export to csv？

my situation：
etl db data to greenplum（gp），gp use copy to load data，pandas’tosql is too slowly。
now i use petl to get csv，and then copy to gp。
petl is slowly，I want use connectorx to export data，and gp also support stringio’csv rather than csv file。
can cx support to split many dataframes？then I can copy many csv to gp，save server’s memory。
or has other much better solutions to etl data to gp？

Hi @wonb168 , I think it is related to #335 you opened as well. We focus on in-memory dataframes. If you want to dump the data to disk you can use APIs like to_csv provided by these dataframes.


Adding annotation new changes to v1.3

Similar to https://github.com/Azure/k8s-deploy/pull/78 for v1.2.
Additional changes:
Environment variables to handle multiple registries and images updated

@koushdey @ajinkya599  Could you please review this? I have added the review changes discussed with @ds-ms.


BLE Bonding and Whitelist

Hi all ive seen that security for BLE has been introduced, but i could not find a way to bond device and keep it in whitelist. Is this available in library?
Thanks!

After bonding device is stored in NVS by bluedroid stack. Recently has been added some API in esp-idf to retrieve info about whitelisted devices but i did not study it yet and isnt added to this library. In this library bonding is working and secure connection with PIN should work, and here is function to allow to connect only whitelisted devices:
https://github.com/nkolban/esp32-snippets/blob/17d31202823dfd23aa147cf86f6a76530c80d489/cpp_utils/BLEAdvertising.cpp#L110

Thanks on fast answer, so connetion seems to work i can debug server as well. But unfortunatly write to char is not working until i get this message:
E (125993) BT: l2cble_process_conn_update_evt: Error status: 59 only after this message i get successuful write to char. To get this message it may take few minutes.

Changing log didnt helped, for some reason it start to work after one of timeouts in l2cap of bluedroid. Im trying to get more info.


Make wct.conf.json a dotfile

What about making wct.conf.json a dotfile?
It's just a config ile, and in most of projects it's not a vital one.
It will fall gently into bower's default ignores, and require even less boilerplate for new custom/Polymer element.

Maybe if switching to .wct.json.conf in all projects is too much, we could just change var JSON_MATCHER   = '*wct.conf.json'; to support both?

I feel like I see just as many config files as non-dotfiles as dotfiles. bower.json itself isn't a dotfile, neither is package.json, mocha.opts, gulpfile.js, etc., etc. I personally don't want much hidden from me in the terminal. I kind of with .travis.yml wasn't a dotfile.
Besides bower ignoring by default, is there any big gain?

I rather have less hidden files than more. wct.conf.js(on) is something to be checked into the repository, and dot files are a lot easier to miss when searching for weird problems -- of which web-component-tester tends to have some :)

As WCT already supports wct.conf.js and wct.conf.json, what about accepting (.|)wct.conf.js(|on) - version with and without dot?

We are going to merge #388 when it's ready, which will let you specify a custom file name for wct.config. Please use this if you'd like to use a dotfile for your config file.

Great! Thanks :)


[build] Add '-data' flag to slc calls

This fixes concurrency issues in CI where multiple SLC instances may be running, where each may be using a different sdk

@lmnotran , build checks are failing. Is this expected?

@jwhui Can you take a look at the PR when you get a chance? I just fixed the build checks


poetry: command not found

After running poetry setup action, poetry is not getting accessed, and gives error poetry: command not found even for the action job also if you see the logs below.
can you help me on how to access poetry for installing depdencies, i followed the documentation for one of my job but it is failing, can you help me resolve the issue
Setting Poetry installation path as /home/runner/.local/

Installing Poetry 👷

Retrieving Poetry metadata

# Welcome to Poetry!

This will download and install the latest version of Poetry,
a dependency and package manager for Python.

It will add the `poetry` command to Poetry's bin directory, located at:

/home/runner/.local/bin

You can uninstall at any time by executing this script with the --uninstall option,
and these changes will be reverted.

Installing Poetry (1.2.2)
Installing Poetry (1.2.2): Creating environment
Installing Poetry (1.2.2): Installing Poetry
Installing Poetry (1.2.2): Creating script
Installing Poetry (1.2.2): Done

Poetry (1.2.2) is installed now. Great!

You can test that everything is set up by executing:

`poetry --version`

/home/runner/work/_actions/snok/install-poetry/v1.3.1/main.sh: line [33](https://github.com/corridor/sqlalchemy-history/actions/runs/3592706774/jobs/6048741773#step:5:35): poetry: command not found
/home/runner/work/_actions/snok/install-poetry/v1.3.1/main.sh: line [34](https://github.com/corridor/sqlalchemy-history/actions/runs/3592706774/jobs/6048741773#step:5:36): poetry: command not found
/home/runner/work/_actions/snok/install-poetry/v1.3.1/main.sh: line [35](https://github.com/corridor/sqlalchemy-history/actions/runs/3592706774/jobs/6048741773#step:5:37): poetry: command not found
/home/runner/work/_actions/snok/install-poetry/v1.3.1/main.sh: line [37](https://github.com/corridor/sqlalchemy-history/actions/runs/3592706774/jobs/6048741773#step:5:39): poetry: command not found

Installation completed. Configuring settings 🛠

Done ✅

If you are creating a venv in your project, you can activate it by running 'source .venv/bin/activate'. If you're running this in an OS matrix, you can use 'source $VENV' instead, as an OS agnostic option

Maybe your issue is related to my one:
The matrix testing has worked fine so far, but now I want to verify the correctly installed packages (specified in toml file) by executing a command (cf. last line in the snippet below).
jobs:
  test-run:
    strategy:
      matrix:
        os: [ubuntu-latest, windows-latest]
        python-version: [3.8, 3.9]
    defaults:
      run:
        shell: bash
    runs-on: ${{ matrix.os }}
    steps:
      - name: Check out repository code
        uses: actions/checkout@v3
      - name: Install python
        id: setup-python
        uses: actions/setup-python@v4
        with:
          python-version: ${{ matrix.python-version }}
          check-latest: true
      - name: Install poetry in virtual environment
        uses<EMAIL_ADDRESS>        with:
          version: 1.4.0
          virtualenvs-create: true
          virtualenvs-in-project: false
          installer-parallel: true
      - name: Install dependencies and execute minimum example
        run: |
          poetry install --no-interaction
          rllib train file tests/mwe_cartpole_ppo.yml

But the job quites with the following statement.

/home/runner/work/_temp/eaaed385-33c0-4b52-877f-1b9e95578378.sh: line 2: rllib: command not found
Error: Process completed with exit code 127.

I wonder why this is happening as it is working in another project with subsequent poetry-based commands, e.g.
poetry run pytest tests/

Did you get to the bottom of it @indiVar0508? Closing for now, but feel free to update the issue, and I'll take a look :+1:


Add PokeKotlin wrapper to v2 docs

Here's the project: https://github.com/sargunster/PokeKotlin

Today I Learned there is a programming language called Kotlin! Amazing!

Wonderful JVM language, created by Jetbrains, the people behind IntelliJ and Pycharm. :)
https://kotlinlang.org/

Nice! This will go out with the next deploy :)


Add vite as peerDependency

Some package managers require correct peerDependency configuration to appropriately hoist packages in a monorepo.
Because peerDependency is not set in package json I'm currently having to work around it by manually specifying it in the .yarnrc.yml file as so:
packageExtensions:
  "@laynezh/vite-plugin-lib-assets@*":
    peerDependencies:
      vite: "*"

Here's an example with correct configuration.

@vahnag Thank you for your feedback. I will add these configurations in the next version.

thank you!


The touch and mouse events should behave the same way across all platforms

At the moment, Android and iOS behave differently. When the app has registered both mouse and touch events, both the mouse down and touch start event gets fired in PlayCanvas.
Tapping on the either the sphere or cube on Android will trigger two animations, one 'pulse' for the initial touch (touchStart) and another when the finger has left the screen (mouseDown).
On iOS, only the touch events are triggered.
It's currently possible to get around this in the project by calling preventDefault() on the actual event within the callback for touchStart.
Edit: There is some concern on whether preventDefault() prevents any other desired events such as scrolling on a div.
Example project: https://playcanvas.com/project/439579/overview/mouse-and-touch-event-bug (look in shape-picker.js for the relevant code).

Read a little more into touchEvents it looks like the advice is to use preventDefault() to prevent the mouse events: https://developer.mozilla.org/en-US/docs/Web/API/Touch_events#Additional_tips
According to the W3C, the default action is to perform a series of the mouse events: https://www.w3.org/TR/touch-events/#touch-interface

I don't personally consider there to be a bug here. You should call preventDefault in your event handlers, as you point out. Should this be closed?

Yeah, we can close this. I think it makes more sense to move to pointer events instead


New Cask Xone

Thank you for the contribution. It needed some fixes, so they were made in dfe8b5833e2b9068e10f0f05e9d6f003147856e0. Your contribution is still included (and still credited to you), with the appropriate modifications. Please feel free to ask about any of the changes.

Thanks, for future reference was it how I formatted the code?

Yes, but there were also two commits (now squashed into one), and I added the appcast stanza.


Fix incorrect function argument in kmt.prepare task

What does this PR do?
Fix the kmt.prepare task that was passing the wrong arch argument to the _prepare function.
Motivation
Describe how to test/QA your changes
Possible Drawbacks / Trade-offs
Additional Notes

LGTM, thx for the fix! :D

/merge


fixes for test flakyness post 0.0.4 release

Description of changes:

there is a slight delay sometimes when tags are available on resource post creation
adopted_endpoint resource was missing deleting the cr which caused false positive error message clutter in logs
Job stopping sometimes takes a longer time than timeout
minor linting and clean up

Testing:
PR build
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

/retest

/retest

/lgtm


tracking ticket: paloma status update failed

https://github.com/palomachain/paloma/issues/1006

Fixed with https://github.com/palomachain/paloma/pull/1009


Avoid changing current directory in setup script

Changing current directory within setup.py causes the dist directory to be created in an unexpected location (inside src/ here). This makes life harder for any external packager that is used to find the dist/ folder at the root (I ran into the issue while attempting to package binwalk for nixpkgs).
I can see 2 ways to fix it:

prefix relevant paths with src/: this is what this pull-request is about
stop referring to os.path.dirname(os.path.realpath(__file__)) (currently done in IDAInstallCommand and IDAUnInstallCommand functions), and set package_dir = {'' : 'src'}; I believe this would be cleaner actually

I just checked in a code change that uses the package_dir = {'' : 'src'} fix, as I agree that seems to be the cleaner solution.


[QUESTION] Running multiple laravel in production

Hi,
I have 2 Laravel apps each app has its docker file, and I have this in my dockerfile
ENTRYPOINT ["php", "artisan", "octane:frankenphp"]
after building each image I push this to my docker hub and pull it to my server
in my server, I have this 1 docker-compose only
  php:
    container_name: frankenphp1
    image: myusername/mycustomimage1:latest

    ports:
        - "80:80" # HTTP
        - "443:443" # HTTPS
        - "443:443/udp" # HTTP/3

    volumes:
        - caddy_data:/data
        - caddy_config:/config

    entrypoint: php artisan octane:frankenphp --max-requests=1 --host=myapi.xyz.online --port=443  --admin-port=2019 --https
    environment:
        - SERVER_NAME=myapi.xyz.online

    php2:
    container_name: frankenphp2
    image: myusername/mycustomimage2:latest

    ports:
        - "80:80" # HTTP
        - "443:443" # HTTPS
        - "443:443/udp" # HTTP/3

    volumes:
        - caddy_data:/data
        - caddy_config:/config

    entrypoint: php artisan octane:frankenphp --max-requests=1 --host=xyz.online --port=443  --admin-port=2019 --https
    environment:
        - SERVER_NAME=xyz.online

when I  spin up my container, I get this error

Error response from daemon: driver failed programming external connectivity on endpoint frankenphp1 (a7a5d7168b11b5d684be4a41cda64fcbbda66ccabe20b19662ef3204d008ef0e): Bind for <IP_ADDRESS>:443 failed: port is already allocated

frankenphp2 = is my main laravel app
frankenphp1 = is another Laravel app which is API only, and I use the sub-domain ( myapi )
Thank you in advance

Yes, the error is correct because you just exposed the same port twice.
    php:
    container_name: frankenphp1
    ports:
        - "80:80" # HTTP <= 80
        - "443:443" # HTTPS
        - "443:443/udp" # HTTP/3

 php2:
    container_name: frankenphp2
    image: myusername/mycustomimage2:latest

    ports:
        - "80:80" # HTTP <= this
        - "443:443" # HTTPS
        - "443:443/udp" # HTTP/3

HI @aungmyatmoethegreat
I tried like this but had no luck, the error is still the same pointing to 443

Error response from daemon: driver failed programming external connectivity on endpoint condomain (85613b7fe9c08f8aa00d9f07e52463e7b4e50a06735a57144b7e77ed5a5e1b4d): Bind for <IP_ADDRESS>:443 failed: port is already allocated

 php2:
    container_name: frankenphp2
    image: myusername/mycustomimage2:latest

    ports:
        - "80:8081" # HTTP <= this
        - "443:443" # HTTPS
        - "443:443/udp" # HTTP/3
     ```

also, I tried this

    ports:
    - "8081:8081" # HTTP <= this
    - "443:443" # HTTPS
    - "443:443/udp" # HTTP/3

This has nothing to do with FrankenPHP, so I'm going to close this.
You cannot expose the same port more than once. In your second service, since you already bound 8080 and 443, you must choose different ports.

Please refer to the exposing port in the docker and docker compose file @ezekel

after I change the port
8081:80
444:443
444:443/udp
then I spin up the container
the main site cannot be accessed. maybe the
https://xyz.online:8081


react-apollo AllLinksSearchQuery does not work

When connected via react-apollo (see https://github.com/howtographql/graphql-ruby/issues/4) I can login and see links but search is broken, I see error: ApolloError.js:32 Uncaught (in promise) Error: GraphQL error: Variable searchText of type String! was provided invalid value
I was able to reproduce it in graphiql with:
query AllLinksSearchQuery($searchText: String!) {
  allLinks(filter: {
    OR: [
    	{url_contains: $searchText},
    	{description_contains: $searchText}
    ]
  }) {
    id
    url
    description
  }
}

and query variables:
{
  "$searchText": "Link"
}

I get error:
{
  "errors": [
    {
      "message": "Variable searchText of type String! was provided invalid value",
      "locations": [
        {
          "line": 1,
          "column": 27
        }
      ],
      "value": null,
      "problems": [
        {
          "path": [],
          "explanation": "Expected value to not be null"
        }
      ]
    }
  ]
}

Variables should not contain $:
{
  "searchText": "Link"
}

This gets converted to $searchText variable in the query.


Reflect the new logic to calculate delta values into the API

Initial logic to calculate recovered and deceased delta from the raw data failed as the number of cases increased and it was getting tough to assign the aggregate number to individual patients.
We revoked that calculation and made those values 0.
https://github.com/covid19india/api/issues/61
https://github.com/covid19india/api/issues/45
We made changes in the process and logic and the correct daily delta for recovered and deaths are now available in the StateWise sheet. This need to the updated in the delta dictionary as before.

This has been fixed and the delta values in data.json is correct for each statewise


fix(distributor): Datarace range variable is captured in goroutine

Fixes #8972
by passing range variable as gorutine argument.

Hi there, do you need some complementary information to proceed with the merge of this PR?

Hi there, do you need some complementary information to proceed with the merge of this PR?

Hello, thank you for the contribution! No complementary information needed, we can proceed with merging.


Call either gtmOnSucces or gtmOnFailure exactly once every time your template is run

When reviewing your template we've noticed that gtmOnSuccess or gtmOnFailure are called incorrectly. This is required so that users can sequence their tags correctly.
More specifically, consider calling gtmOnSuccess in the callback to injectScript.

Hi Rushabh,
Thank you for your help. Please let me know whether there is anything else
I should review and what the next steps are to get the template listed in
the GTM gallery.
Thank you
On Fri, Apr 26, 2024 at 5:47 PM Rushabh Shah @.***>
wrote:

Closed #2 https://github.com/FrantisekFr/klaviyo/issues/2 as completed.
—
Reply to this email directly, view it on GitHub
https://github.com/FrantisekFr/klaviyo/issues/2#event-12626227364, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AW4ZS2TGXQTPMDV5BDBIVJ3Y7KALJAVCNFSM6AAAAABGESNGHSVHI2DSMVQWIX3LMV45UABCJFZXG5LFIV3GK3TUJZXXI2LGNFRWC5DJN5XDWMJSGYZDMMRSG4ZTMNA
.
You are receiving this because you commented.Message ID:
@.***>

--
Frantisek Friedl
Sr. Solution Architect
klaviyo.com https://www.klaviyo.com
--
Any information contained in or attached to this e-mail is intended solely
for the use of the intended recipient(s) and may contain certain
information that is confidential, proprietary and/or legally privileged. If
you are not the intended recipient, you may not review, copy or distribute
this message. If you receive this in error, please notify the sender and
destroy all copies of this message and attachments.

Everything looks good, we'll get this listed as soon as feasible. Thanks.

Hi Rushbah,
Thank you. I appreciate you will have your own sprints and timelines to
work towards.
Please would you have a rough idea about the timeline for the template to
be published?
Thank you
On Wed, May 1, 2024 at 10:08 PM Rushabh Shah @.***>
wrote:

Everything looks good, we'll get this listed as soon as feasible. Thanks.
—
Reply to this email directly, view it on GitHub
https://github.com/FrantisekFr/klaviyo/issues/2#issuecomment-2089142563,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AW4ZS2VRAXIW2UZ5P5UEXV3ZAFKUXAVCNFSM6AAAAABGESNGHSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAOBZGE2DENJWGM
.
You are receiving this because you commented.Message ID:
@.***>

--
Frantisek Friedl
Sr. Solution Architect
klaviyo.com https://www.klaviyo.com
--
Any information contained in or attached to this e-mail is intended solely
for the use of the intended recipient(s) and may contain certain
information that is confidential, proprietary and/or legally privileged. If
you are not the intended recipient, you may not review, copy or distribute
this message. If you receive this in error, please notify the sender and
destroy all copies of this message and attachments.


Add support for raw blocks in jinja expression

Add support for raw blocks in jinja expression. Expressions and variables wrapped in raw blocks will not be evaluated.

Current coverage is 92.17% (diff: 100%)

Merging #5 into master will increase coverage by 0.08%

@@             master         #5   diff @@
==========================================
  Files            27         27
  Lines           884        894    +10
  Methods           0          0
  Messages          0          0
  Branches        166        169     +3
==========================================
+ Hits            814        824    +10
  Misses           35         35
  Partials         35         35

Powered by Codecov. Last update cf92728...021c464


Changing Priority of download-dataTask after it started

Hi,
since I prefetch a lot of images, but want to show a couple of images as fast as possible, I just looked into prioritization of Kingfisher. Looks quite good to me, besides one point: it's not possible to change the priority of a download, once it's started.
As an example: I start to download the images cat[1-100].png and dog[1-100].png. They are all priorized as low since its only prefetching. Now I open the cat view which has a tableView with cat images. So I want to set a couple of images (of the visible cells) via UIImageViews kf_setImageWithURL. Since there are 200 images currently downloading, I need a higher prioritization for the images cat1.png - cat5.png.
But since they are part of the batch download of the prefetching, their url is already in self.fetchLoads in ImageDownloader and hence the started-closure is not called again in line 214 and "task.priority" is not changed to default, although the options dictionary in the downloadImageWithURL-call does not contain the lowPriority option.
A solution could be to attach the downloadTask to the ImageFetchLoad. In this case, it would be also possible to provide auto-priorisation (the more callbacks are attached to the ImageFetchLoad, the higher the priority could be. Some rewrite of ImageDownloader would be needed.
What do you think?
Best regards,
Matt

This would be a huge improvement! :+1:

This would be a huge improvement! :+1:

Also is there a reason for just toggling between NSURLSessionTaskPriorityLow and NSURLSessionTaskPriorityDefault? The priority parameter is a float ranging from 0 to 1. This flexibility shouldn't be hidden.

Yes, I a agree. That feature would be very useful.

The original implementation hides the Float detail and tries to make things simpler. But I guess it is reasonable to give users more control on it by setting a value for the priority. However, changes on it might means API breaking. I will take a look to see if we could mark current lowPriority option as deprecated and introduce a new way to set initial priority for a download task soon.
And for changing the priority on air when downloading, the downloader APIs (as well as the image view extension APIs) are returning a image task. We could just expose the priority property of task object to support changing it after download task started. It will be implemented soon in next major version.

Really looking forward to this improvement!

Implemented in #194

Nice! Can't wait until it gets released!

It will be released later as a part of version 2.0.0.

Great!


update from upstream

chore(deps): update actions-rs-plus/clippy-check digest to b09a9c3
chore(deps): update returntocorp/semgrep docker digest to 93d798a
chore(deps): update returntocorp/semgrep docker digest to d7c4a86
fix: switch to editorconfig
chore(deps): update rust:1.67.0 docker digest to b23ec48
chore(deps): update rust:1.67.0 docker digest to 9b9706c
chore(deps): update rust:1.67.0 docker digest to a906d23
chore(deps): update docker/setup-buildx-action action to v2.4.1
chore(deps): update github/codeql-action action to v2.2.2
chore(deps): update actions-rs-plus/clippy-check digest to 11c2600
chore(deps): update mcr.microsoft.com/vscode/devcontainers/rust:1-bullseye docker digest to 2b1cc67
chore(deps): update actions-rs-plus/clippy-check digest to 377c478
chore(deps): update github/codeql-action action to v2.2.3
chore(deps): update actions-rs-plus/clippy-check digest to 24949b2
chore(deps): update returntocorp/semgrep docker digest to ffc6f35
chore(deps): update rust:1.67.0 docker digest to f17725f
chore(deps): update rust docker tag to v1.67.1
chore(deps): update rust:1.67.1 docker digest to 6f9c300
chore(deps): update actions/cache action to v3.2.5
chore(deps): update rust to v1.67.1
chore(deps): update enricomi/publish-unit-test-result-action action to v2.4.1
fix: allow uninlined format args
fix: make clippy more annoying
fix: add update script

:tada: This PR is included in version 1.2.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Fix missing tag warning error

Question
Answer

Bug fix?
yes

New feature?
no

BC breaks?
no

Deprecations?
no

Tests pass?
yes

Fixed tickets

License
MIT

Doc PR

Description
I'm using the Symfony bundle with this configuration:
cache_adapter:
  providers:
    api_redis1:
      factory: 'cache.factory.predis'
      options:
        dsn: "%redis_dsn%"
        pool_namespace: "%mall_reference%_website"
      aliases: ['cache.api_redis1']
    api_redis2:
      factory: 'cache.factory.predis'
      options:
        dsn: "%redis2_dsn%"
        pool_namespace: "%mall_reference%_website"
      aliases: ['cache.api_redis2']
    api_array:
      factory: "cache.factory.array"
      options:
        pool_namespace: "%mall_reference%_website"
      aliases: ["cache.api_array"]
    api:
      factory: "cache.factory.chain"
      options:
        services:
          -<EMAIL_ADDRESS>          -<EMAIL_ADDRESS>          -<EMAIL_ADDRESS>        skip_on_failure: true
      aliases: ["cache.api"]

When the redis cache is available, I get those errors
( ! ) Notice: Undefined index: tag!page in vendor/cache/array-adapter/ArrayCachePool.php on line 200
--
1 | 0.0002 | 250272 | {main}(  ) | .../app.php:0
2 | 0.0779 | 1756040 | Symfony\Component\HttpKernel\Kernel->handle(  ) | .../app.php:18
3 | 0.3354 | 5658032 | Symfony\Component\HttpKernel\DependencyInjection\ContainerAwareHttpKernel->handle(  ) | .../bootstrap.php.cache:1505
4 | 0.3355 | 5659288 | Symfony\Component\HttpKernel\HttpKernel->handle(  ) | .../ContainerAwareHttpKernel.php:69
5 | 0.3355 | 5660240 | Symfony\Component\HttpKernel\HttpKernel->handleRaw(  ) | .../HttpKernel.php:64
6 | 0.5733 | 8108848 | call_user_func_array:{vendor/symfony/symfony/src/Symfony/Component/HttpKernel/HttpKernel.php:144} (  ) | .../HttpKernel.php:144
7 | 0.5733 | 8109728 | AppBundle\Controller\DefaultController->indexAction(  ) | .../HttpKernel.php:144
8 | 0.7872 | 10893728 | AppBundle\Provider\ContentProvider->getStructBySlug(  ) | .../DefaultController.php:143
9 | 0.7872 | 10894512 | AppBundle\Provider\ContentProvider->getApiData(  ) | .../ContentProvider.php:176
10 | 0.7872 | 10894760 | Cache\Adapter\Chain\CachePoolChain->getItem(  ) | .../ContentProvider.php:219
11 | 0.8431 | 11034816 | Cache\Namespaced\NamespacedCachePool->save(  ) | .../CachePoolChain.php:89
12 | 0.8431 | 11035008 | Cache\Adapter\Common\AbstractCachePool->save(  ) | .../NamespacedCachePool.php:129
13 | 0.8431 | 11035088 | Cache\Adapter\Common\AbstractCachePool->removeTagEntries(  ) | .../AbstractCachePool.php:228
14 | 0.8431 | 11036072 | Cache\Adapter\PHPArray\ArrayCachePool->removeListItem(  ) | .../AbstractCachePool.php:409

( ! )  Warning: Invalid argument supplied for foreach() in vendor/cache/array-adapter/ArrayCachePool.php  on line 200
--
1 | 0.0002 | 250272 | {main}(  ) | .../app.php:0
2 | 0.0779 | 1756040 | Symfony\Component\HttpKernel\Kernel->handle(  ) | .../app.php:18
3 | 0.3354 | 5658032 | Symfony\Component\HttpKernel\DependencyInjection\ContainerAwareHttpKernel->handle(  ) | .../bootstrap.php.cache:1505
4 | 0.3355 | 5659288 | Symfony\Component\HttpKernel\HttpKernel->handle(  ) | .../ContainerAwareHttpKernel.php:69
5 | 0.3355 | 5660240 | Symfony\Component\HttpKernel\HttpKernel->handleRaw(  ) | .../HttpKernel.php:64
6 | 0.5733 | 8108848 | call_user_func_array:{vendor/symfony/symfony/src/Symfony/Component/HttpKernel/HttpKernel.php:144} (  ) | .../HttpKernel.php:144
7 | 0.5733 | 8109728 | AppBundle\Controller\DefaultController->indexAction(  ) | .../HttpKernel.php:144
8 | 0.7872 | 10893728 | AppBundle\Provider\ContentProvider->getStructBySlug(  ) | .../DefaultController.php:143
9 | 0.7872 | 10894512 | AppBundle\Provider\ContentProvider->getApiData(  ) | .../ContentProvider.php:176
10 | 0.7872 | 10894760 | Cache\Adapter\Chain\CachePoolChain->getItem(  ) | .../ContentProvider.php:219
11 | 0.8431 | 11034816 | Cache\Namespaced\NamespacedCachePool->save(  ) | .../CachePoolChain.php:89
12 | 0.8431 | 11035008 | Cache\Adapter\Common\AbstractCachePool->save(  ) | .../NamespacedCachePool.php:129
13 | 0.8431 | 11035088 | Cache\Adapter\Common\AbstractCachePool->removeTagEntries(  ) | .../AbstractCachePool.php:228
14 | 0.8431 | 11036072 | Cache\Adapter\PHPArray\ArrayCachePool->removeListItem(  ) | .../AbstractCachePool.php:409

Codecov Report

Merging #191 into master will increase coverage by 0.01%.
The diff coverage is 100%.

@@             Coverage Diff              @@
##             master     #191      +/-   ##
============================================
+ Coverage     82.11%   82.12%   +0.01%
- Complexity      541      542       +1
============================================
  Files            26       26
  Lines          1381     1382       +1
============================================
+ Hits           1134     1135       +1
  Misses          247      247

Impacted Files
Coverage Δ
Complexity Δ

src/Adapter/PHPArray/ArrayCachePool.php
90.47% <100%> (+0.15%)
23 <0> (+1)
:arrow_up:

Continue to review full report at Codecov.

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

Will this issue be the same for other adapters?

I'm actually using only a few adapters (chain, array, predis), but after a quick look at code, I don't think this issue can impact other adapters, because they either use TagSupportWithArray trait, either implements a getList method which return an empty array if nothing matches.
And while writing this comment, I just realize that array-adapter also has the getList method which do the exact same test and return an empty array ! So I will update my pull request.

@julien-maitan can you add a test for this?`
so that i can merge this

@prisis I tried but I don't know how to reproduce this behavior with ArrayCachePool only. And obviously, I don't know how to assert there is no Notice error.

Hey :), some infos how to do it https://stackoverflow.com/questions/5053914/how-to-catch-php-warning-in-phpunit

So you want me to write a test that can catch the notice error fixed with my pull request?

Yes :) if you can

You are kidding me,  right?

That's kinda the point of testing. If we have a test, we know it wont happen in the future for some unknown reason.

After a few googling, I found https://github.com/sebastianbergmann/phpunit-documentation/issues/171 and the final comment point me to the way, https://stackoverflow.com/questions/28661339/phpunit-how-to-test-if-method-does-nothing/45850982#45850982.

Thanks for your work :)

You're welcome. And sorry for misunderstanding your point on the exception.


Fix the "Rate Us" button in the footer

Good Afternoon
Kindly assign me this issue under Hacktoberfest 2024.
Thank You

Hello, can you assign me for this issue?

@anuragverma108  please assign me this issue


Adding objects to the plot automatically calls AxisAuto()

Bug Report
Issue:

When no plots are added, panning works as intended. When a plot is added, the XAxis scales as if we had called AxisAuto.
Reproducing:
Have a plot with points being added. On a timer, call Axis.Pan
// This is the code in the timer that pans every X milliseconds
  var now = DateTime.Now;
  var diff = now.AddMilliseconds(slidingMillisecondDelay).ToOADate() - now.ToOADate();
  Plots.AxisPan(diff);

 this.Plot_UserControl.Refresh(true, false);

System Details

ScottPlot Version: 4.1.47
Operating System: Windows 10
Application Type: WinForms
.NET Version: .Net 6

Hi @nassaleh, thanks for reporting this!

When a plottable is added, the plot scales as if we had called AxisAuto.

Actually, this is the intended behavior. To prevent people from always having to call AxisAuto() after adding things to the plot, the plot makes this call automatically. This behavior aims to satisfy the 99% use case, but I can see that in this instance it is not helpful for your application.
To prevent this behavior, save the axis limits and restore them after modifying the plot. Something like:
var originalLimits = plt.GetAxisLimits();
plt.AddPoint(x, y);
plt.SetAxisLimits(originalLimits);

In addition, to may find it useful to have your timer set axis limits with SetAxisLimits() rather than relying on AxisPan(). This will give you more control, and ensure your view does not drift unexpectedly over time.
If I misunderstood the problem or this advice does not help you reach a solution, feel free to re-open this issue!

Update: I was somewhat mistaken about what actually triggers the automatic AxisAuto(). It is called automatically the first time Render() is called, or if the previous render contained no objects.
The intent of this behavior is to automatically set axis limits when data is first added to an empty plot.


Add precompute batch argument in DPOTrainer for reference model

What does this PR do?

Fixes #2421
Before submitting

[ ] This PR fixes a typo or improves the docs (you can dismiss the other checks if that's the case).
[x] Did you read the contributor guideline,
Pull Request section?
[x] Was this discussed/approved via a GitHub issue? Please add a link
to it if that's the case.
[ ] Did you make sure to update the documentation with your changes? Here are the
documentation guidelines.
[ ] Did you write any new necessary tests?

Who can review?
@qgallouedec

also if you can kindly add this config to the tests where we test with pre_compute flag, then we can also have it tested

Good point @kashif
    def test_precompute_ref_batch_size(self):
        with tempfile.TemporaryDirectory() as tmp_dir:
            training_args = DPOConfig(
                output_dir=tmp_dir,
                per_device_train_batch_size=2,
                precompute_ref_log_probs=True,
                precompute_ref_batch_size=4,
                report_to="none",
            )

            dummy_dataset = load_dataset("trl-internal-testing/zen", "standard_preference")
            model = self.model
            ref_model = self.ref_model
            tokenizer = self.tokenizer

            trainer = DPOTrainer(
                model=model,
                ref_model=ref_model,
                args=training_args,
                processing_class=tokenizer,
                train_dataset=dummy_dataset["train"],
                eval_dataset=dummy_dataset["test"],
            )

            previous_trainable_params = {n: param.clone() for n, param in trainer.model.named_parameters()}

            trainer.train()

            self.assertIsNotNone(trainer.state.log_history[-1]["train_loss"])

            # check the params have changed
            for n, param in previous_trainable_params.items():
                new_param = trainer.model.get_parameter(n)
                # check the params have changed - ignore 0 biases
                if param.sum() != 0:
                    self.assertFalse(torch.allclose(param, new_param, rtol=1e-12, atol=1e-12))

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update.


add E5 as SBertBiEncoder

This adds support for the E5 biencoder model, which @fangjy6 has been using.

@fangjy6 will add more model variants, and check the score given by the model with his own setting

Looks great, thanks!
I suspect the normalization step isn't needed, at least for e5-base-v2 -- from what I can tell, sentence-transformers already does it: https://huggingface.co/intfloat/e5-base-v2/blob/main/modules.json#L15-L18

I suspect the normalization step isn't needed, at least for e5-base-v2 -- from what I can tell, sentence-transformers already does it for this model, based on its configuration: https://huggingface.co/intfloat/e5-base-v2/blob/main/modules.json#L15-L18tcol

I've checked empircally on colab

Interesting -- worth keeping it then! Thanks for checking it.

self = E5.base().doc_encoder(), texts = Series([], Name: text, dtype: object)
batch_size = None

    def encode(self, texts, batch_size=None) -> np.array:
>       return self.bi_encoder_model.encode_docs(texts, batch_size=batch_size or self.batch_size)
E       TypeError: _sbert_encode() missing 1 required positional argument: 'texts'

i dont follow whats gone wrong here.

Weird, yeah. Maybe it’s not binding self to the first argument when it’s a partial?

Does the other instance work?
In PyT, I had to use a function called bind:
https://github.com/terrier-org/pyterrier/blob/master/pyterrier/apply.py#L7-L18

https://stackoverflow.com/a/16626797
apparently functools.partialmethod() exists

So the test case /should/ now work - we'll refine the test case tomorrow;
@seanmacavaney I sketched documentation for sbert as part of this PR that you may wish to review.

I sketched documentation for sbert as part of this PR that you may wish to review.

Looks great, minor edit and added to the toc.


Fully document how to use ethereum-erc721 with Remix IDE

This works well with remixd (the newer version).
Perhaps we should explain, from scratch, how a user that is used to programming with Remix IDE would get this working.
Because we use multiple repositories, our product will always be harder to use than OpenZeppelin. (Can use OZ with a one-line import.) This is okay, but our documentation should be twice as good to compensate!

@xpepermint I think we should simplify this and not use multiple repos since we will not be using the utils repo anyway.. What do you think?

https://github.com/0xcert/ethereum-erc721/pull/154

Confirmed fixed in new branch


'npx playwright-cli open example.com' failed

I follow the examples to start.
The first one seems to work fine.(npx playwright-cli codegen wikipedia.org).
But the second start to fail.
Is there any compatibility issue with the new version of nodejs or osx 11?
version
osx: 11.0
npm: 7.0.10
playwright-cli: 0.161.0
node.js: 15.2.0
###############
trace:
test@tests ~ % npx playwright-cli open example.com
/Users/test/node_modules/playwright-cli/lib/cli.js:267
throw new Error(Invalid target: '${language}');
^
Error: Invalid target: 'undefined'
at open (/Users/test/node_modules/playwright-cli/lib/cli.js:267:19)
npm ERR! code 1
npm ERR! path /Users/test
npm ERR! command failed
npm ERR! command sh -c playwright-cli open example.com
npm ERR!      /Users/test/.npm/_logs/2020-11-15T11_20_00_338Z-debug.log
################
the log file:
0 verbose cli [
0 verbose cli   '/usr/local/Cellar/node/15.2.0/bin/node',
0 verbose cli   '/usr/local/lib/node_modules/npm/bin/npm-cli.js',
0 verbose cli   'exec',
0 verbose cli   '--',
0 verbose cli   'playwright-cli',
0 verbose cli   'open',
0 verbose cli   'example.com'
0 verbose cli ]
1 info using<EMAIL_ADDRESS>2 info using<EMAIL_ADDRESS>3 timing config:load:defaults Completed in 2ms
4 timing config:load:file:/usr/local/lib/node_modules/npm/npmrc Completed in 1ms
5 timing config:load:builtin Completed in 1ms
6 timing config:load:cli Completed in 1ms
7 timing config:load:env Completed in 1ms
8 timing config:load:project Completed in 0ms
9 timing config:load:file:/Users/test/.npmrc Completed in 0ms
10 timing config:load:user Completed in 0ms
11 timing config:load:file:/usr/local/Cellar/node/15.2.0/etc/npmrc Completed in 0ms
12 timing config:load:global Completed in 0ms
13 timing config:load:cafile Completed in 1ms
14 timing config:load:validate Completed in 0ms
15 timing config:load:setUserAgent Completed in 0ms
16 timing config:load:setEnvs Completed in 1ms
17 timing config:load Completed in 7ms
18 verbose npm-session 98f02c5ae5bc31b5
19 timing npm:load Completed in 14ms
20 timing command:exec Completed in 978ms
21 verbose stack Error: command failed
21 verbose stack     at ChildProcess. (/usr/local/lib/node_modules/npm/node_modules/@npmcli/promise-spawn/index.js:64:27)
21 verbose stack     at ChildProcess.emit (node:events:329:20)
21 verbose stack     at maybeClose (node:internal/child_process:1055:16)
21 verbose stack     at Process.ChildProcess._handle.onexit (node:internal/child_process:288:5)

Fix on the way @LSSCP

This is fixed and published.


iOS 7+ Compatible ?

I just wanted to know if this library can be used in iOS 7 devices, using Cocoapods as the method to install it.

Technically it is iOS 7 compatible. It it just no longer supported. https://github.com/reidmain/FDKeychain/commit/d00106de3e3a5debf62ed530218419c08c40a30c switched over to only supporting iOS 8 and up because I only plan on supporting the two latest iOS version and I wanted to make a dynamic framework.
However the latest version published to Cocoapods is 1.2.2 which still supports iOS 7 https://github.com/CocoaPods/Specs/blob/master/Specs/FDKeychain/1.2.2/FDKeychain.podspec.json so you should be fine if you pin yourself to 1.2.2


Question about max blocks in registry

Was there a reason for the 256 limit in the registry?
Seems extremely small :)

Hi, I think the limit is currently 512 but I could be wrong. The reason for it is that at runtime voxel data is packed into Uint16 arrays, with 9 bits being the voxel ID, 3 bits for flags (solidity, opacity, and whether it's an object block), and the rest reserved for future use.
The eventual plan for the extra bits is to indicate variations of a given voxel (I think minecraft does this with e.g. colors of wool blocks), but there isn't any code for that in the library yet.


Renaming a dataset from creates incosistent validation of queries

This has been observed occasionally when renaming a dataset from the editor, and usually the problem is self-corrected after some time. (but not always, see SB8115312)
After renaming the dataset, in the dataset view, the sql query has not been correctly changed with the new table name so it shows no results; if changed manually with the new table name it works, but it is detected as altered query and the message "No results rows for this query, clear this sql view" appears. If the sql is cleared it reverts to the incorrect state with the old table name.

Although I've not be able to reproduce this in a development environment I've traced the problem of SB8115312 to be that it had visualisations where the old table name had not been replaced in the options field of the visualizations table, wich provokes the problem when the table_name key retains the old table name.

@oriolbx you said "Our developers have solved the problem that was affecting your datasets." to the customer. What did "our developers" do? Maybe fix the table_name field?

@jgoizueta could you confirm that you just fixed table_name at layers table, please?

Added logging information, waiting for the bug to pop up again to debug

We have made a lot of improvements in this area and the error hasn't presented itself since the logging was added. Closing.