jsonlog package not found

when installing cri-tools, console reports error below:
cri-tools-0.2/cmd/crictl/logs.go:30:2: cannot find package "github.com/docker/docker/pkg/jsonlog" which already was not accessible.

@Davidrjx How did you install cri-tools? You could install it by simply go get, e.g.
go get github.com/kubernetes-incubator/cri-tools/cmd/crictl
go get github.com/kubernetes-incubator/cri-tools/cmd/critest

@feiskyer hi, paths above seems unavailable

@Davidrjx Yep, decencies in Go are all in vendors.

@feiskyer however, doing go install cri-tools source just outputs error above as logs.go failed to import jsonlog

actually, i am not very clear about why two instructions not unavailable , still reports can not find package.


2 recipient keys in privateFor - not working???

This is really interesting stuff, thanks a lot. But I keep on running into new problems:
several party privateFor = ???
setup:
start clean:
cd /opt/quorum/quorum-examples
vagrant destroy
vagrant up
vagrant status

start raft & deploy example contract
vagrant ssh

cd quorum-examples/7nodes
./raft-init.sh
./raft-start.sh

./runscript.sh script1.js

initialize several terminals, like this:
vagrant ssh
geth attach ipc:/home/vagrant/quorum-examples/7nodes/qdata/dd1/geth.ipc

var address=web3.eth.getTransactionReceipt(web3.eth.getBlock(1).transactions[0])["contractAddress"]
var abi = [{"constant":true,"inputs":[],"name":"storedData","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"x","type":"uint256"}],"name":"set","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"get","outputs":[{"name":"retVal","type":"uint256"}],"payable":false,"type":"function"},{"inputs":[{"name":"initVal","type":"uint256"}],"type":"constructor"}];
var private = eth.contract(abi).at(address)

private.get()

Let's call that ^ node 1 = "Alice".
Do the same 2 more times, for 2 more terminals:
"Bob" = node 7
vagrant ssh
geth attach ipc:/home/vagrant/quorum-examples/7nodes/qdata/dd7/geth.ipc
...

and
"Carol" = node 5
vagrant ssh
geth attach ipc:/home/vagrant/quorum-examples/7nodes/qdata/dd5/geth.ipc
...

My interpretation  - correct me if I am wrong please:
Initially, Alice and Bob can see the state (42) because Alice deployed the contract, and because Bob owns the PrivateFor PublicKey ROAZBWtSacxXQrOe3FGAqJDyJjFePR5ce4TSIzmJ0Bc= that was used in script1.js
BUT Carol cannot see that state, instead she sees (0).
All good, so far.
extending visibility to 3 parties.
This is how I found Bob's key:
find . | xargs grep "ROAZBWtSacxXQrOe3FGAqJDyJjFePR5ce4TSIzmJ0Bc=" * 2>/dev/null
cat ./examples/7nodes/keys/tm7.pub

So I assume that Carol's key is this one:
cat ./examples/7nodes/keys/tm5.pub

R56gy4dn24YOjwyesTczYa8m5xhP6hF2uTMCju/1xkY=

Now use Alice's terminal (geth attach ipc:.../dd1/geth.ipc see above), to:
set(13) from Alice (node 1)
I specify both Carol's and Bob's keys; and then do a set with those privateFor recipient keys:
PRIVATE_FOR=["R56gy4dn24YOjwyesTczYa8m5xhP6hF2uTMCju/1xkY=", "ROAZBWtSacxXQrOe3FGAqJDyJjFePR5ce4TSIzmJ0Bc="]
tx=private.set(13,{from:eth.coinbase,privateFor:PRIVATE_FOR});
private.get()

"0x2a3a0bd4e65a7b08e1d10fc5cb1cde8fc73ab28905cd2860250f6b598fec2a4b"
13

looks good.
(If we accept the fact that Alice can see the data ... even though she neither owns R56gy4dn2... nor ROAZBWtSa... ... but she set(13) the new data, and she issued the contract in script1.js - which of these two reasons is the real reason actually?)
get() from Bob (node 7)
private.get()

13

looks good.
get() from Carol (node 5)
private.get()

0

Nope.
Something's wrong.
Please replicate, and explain.
Please try out the above, and explain to me what I am doing wrong, or what is wrong in the  7nodes example.
Thanks a lot!

When you deploy the contract for the first time,

Let's call that "strategy 1" - in some cases I might already know everyone whom I will share the data with.

you should update the privateFor fields in script1.js to include both keys:

Thanks a lot. Will look into that when back in the office.

When you run private.get() on node 5,
since it never received a copy of the contract bytecode,
you are get the default nil value, 0.

Ah, now that explains it.  Thanks.
Where is the best place to read more about it the inner workings?
And ...
... what about strategy 2?
My example might be caused by having found out only later, that the data needs to be shared with Carol (node 5) too.
What are the steps to make node 5 part of the secret group later, after the contract is already deployed?
What do I have to do, to e.g. make node 5 "receive a copy of the contract bytecode"?
And what else?

@drandreaskrueger its not currently possible to add a new participant to an existing private contract. It's one of the enhancements that we have in our backlog.

Oh thanks @jpmsam - That is important for us to know.  I suggest you document that somewhere.
And: Do you have an intuition for a solution? Will that enhancement be very hard to implement - or is it just some rather simple additional code to be written?

Another thought ... for the subset of cases where the possible later viewers can be known ahead ...

When you deploy the contract for the first time, you should update the privateFor fields in script1.js to include both keys: [...]

might this workaround work then?

A deploys contract with privateFor: [B, C]
A calls set(13) with privateFor: [B] - but not C
A calls set(get()) with privateFor: [B,C]

(alternative probably identical result?:  --> 3. B calls set(get()) with privateFor: [A,C])
C could perhaps not be sure that the data 13 at step 3. is the same it was at step 2.
but
that way the data 13 could be temporarily hidden from some participants, until it is unlocked to them.
Correct thinking?

Nothing beats running an experiment ;-)
Start from scratch - approx 15 minutes to recreate VM
(TODO: what would be a shortcut to destroy just the chain & anything related - but not the whole virtualbox?)
cd /opt/quorum/quorum-examples
vagrant destroy

vagrant up
vagrant status
vagrant ssh

cd quorum-examples/7nodes
./raft-init.sh
./raft-start.sh

cp script1.js script2.js
sed -i.bak s/"ROAZBWtSacxXQrOe3FGAqJDyJjFePR5ce4TSIzmJ0Bc="/"R56gy4dn24YOjwyesTczYa8m5xhP6hF2uTMCju\/1xkY=\",\"ROAZBWtSacxXQrOe3FGAqJDyJjFePR5ce4TSIzmJ0Bc="/g script2.js
cat script2.js

./runscript.sh script2.js

now we have ^ a newly deployed contract in block 1 tx 1, which should have the correct access structure.
Get three terminals, for
node 1 Alice
vagrant ssh
geth attach ipc:/home/vagrant/quorum-examples/7nodes/qdata/dd1/geth.ipc

node 7 Bob
vagrant ssh
geth attach ipc:/home/vagrant/quorum-examples/7nodes/qdata/dd7/geth.ipc

node 5 Carol
vagrant ssh
geth attach ipc:/home/vagrant/quorum-examples/7nodes/qdata/dd5/geth.ipc

in each do the same:
(TODO: this could become a loadScript("init-private.js") script, perhaps using always the latest block eth.blockNumber ?)
var address=web3.eth.getTransactionReceipt(web3.eth.getBlock(1).transactions[0])["contractAddress"]
var abi = [{"constant":true,"inputs":[],"name":"storedData","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"x","type":"uint256"}],"name":"set","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"get","outputs":[{"name":"retVal","type":"uint256"}],"payable":false,"type":"function"},{"inputs":[{"name":"initVal","type":"uint256"}],"type":"constructor"}];
var private = eth.contract(abi).at(address)

private.get()

answers should be:
42 Alice
42 Bob
42 Carol

step 2.  Alice calls set(13) with privateFor: [Bob] - but not Carol
set from Alice (node 1)
private.set(13,{from:eth.coinbase,privateFor:["ROAZBWtSacxXQrOe3FGAqJDyJjFePR5ce4TSIzmJ0Bc="]});

wait a moment, until the block is sealed.
get() from Alice and Bob and Carol:
private.get()

answers should be:
13 Alice
13 Bob
42 Carol

step 3.  Alice calls set(get()) with privateFor: [Bob, Carol]
set(get()) from Alice (node 1)
BOBnCAROL=["R56gy4dn24YOjwyesTczYa8m5xhP6hF2uTMCju/1xkY=", "ROAZBWtSacxXQrOe3FGAqJDyJjFePR5ce4TSIzmJ0Bc="]
private.set(private.get(),{from:eth.coinbase, privateFor:BOBnCAROL});

wait a moment, until the block is sealed.
get() from Alice and Bob and Carol:
private.get()

answers should be:
13 Alice
13 Bob
13 Carol
Hooray. Workaround ... works.
N.B.: Only if possible later collaborateurs are known initially already (when contract is deployed).

@drandreaskrueger its not currently possible to add a new participant to an existing private contract. It's one of the enhancements that we have in our backlog.

Thanks @jpmsam - That is important for us to know.
I suggest you document that fact somewhere.
Where can I see the backlog, and possibly priorities?
And: Do you have an intuition for a solution already? Will that enhancement be very hard to implement - or is it just some rather simple additional code to be written?

@drandreaskrueger its not currently possible to add a new participant to an existing private contract. It's one of the enhancements that we have in our backlog.

Thanks @jpmsam - That is important for us to know.
I suggest you document that fact somewhere.
Where can I see the backlog, and possibly priorities?
And: Do you have an intuition for a solution already? Will that enhancement be very hard to implement - or is it just some rather simple additional code to be written?

@drandreaskrueger we have a design but it will take bit longer to implement. We'll be updating the wiki with this FAQ.
CC @tylobban


podman-remote archive's directory structure changed

+ curl -L https://github.com/containers/podman/releases/download/v4.4.4/podman-remote-static-linux_arm64.tar.gz
+ tar -zx -C podman-remote/linux podman-remote-static-linux_arm64
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0

100 18.8M  100 18.8M    0     0  32.3M      0 --:--:-- --:--:-- --:--:-- 32.3M
tar: podman-remote-static-linux_arm64: Not found in archive
tar: Exiting with failure status due to previous errors

the binary is inside a bin/ dir again now, it started with v4.4.1 it seems, then v4.4.2, v4.4.3 had it without the bin/ directory and now in v4.4.4 its again inside the bin/ dir
 % tar --list -f Downloads/podman-remote-static-linux_arm64.tar.gz
./bin/podman-remote-static-linux_arm64

This has occurred before, #663 #685

should be dup https://github.com/crc-org/snc/issues/662 .

I created a podman issue for this.

See https://github.com/containers/podman/issues/18215, going forward this should no longer change.

fixed in #708


Validate delta_count value against pull_batch_count

Validate the value of delta_count to be smaller than the pull_batch_count value to avoid situations where the replay ends after one cycle and the table is swapped too soon without the full replay completing.

Thank you!

Thank you for the great library and being so responsive!


cannot install in Windows 10 1803 in Atom 1.29.0

You can, it should work just fine, try this via external terminal.
apm install platformio-ide-terminal
or reinstalling via UI.
If that doesn't work and same issue occurs , I would suggest you complain to https://github.com/atom/fuzzaldrin the errors shown in that screenshot are from https://github.com/atom/fuzzaldrin not platformio-ide-terminal
Also when you report that bug to fuzzaldrin include the file it asks you to submit at end of log in screenshot.
Feel free to close this report, its nothing to do with platformio-ide-terminal.
Thanks.

@ivankravets this ticket is unrelated to platformio-ide-terminal but intead to https://github.com/atom/fuzzaldrin
Please close.


Issue with numerical consistency of renderings

Hello, First thank you for this great piece of work.
We are working on some graphics pipeline and while testing the path tracer it seems like we found some inconsistencies in the renderings.
More specifically when rendering from inside a big sphere lit from the inside by a point light source located at (0,0,0) and the sphere centered at (0,0,0) with diffuse (1,1,1) material, we found that the intensity of the rendering is not decreasing with the square of the sphere radius.
We place a camera within the sphere and render an image, which as expected has constant values.
Here are the values found for a light source of intensity 100:

sphere radius 5: rendered value 22.95
sphere radius 10: rendered value 6.066
sphere radius 100: rendered value 0.0702

Of course, the mesh is not perfectly spherical, but I feel we should not observe such variations, the 0.0702 should be 100 times smaller than 6.066, meaning almost 15% error.
Thanks for your help,
Julien

Hi Julien,
Yes, light intensity is an ongoing challenge for us.
We do not use an exact r^2 falloff due to the singularity at r=0, which causes unwanted NaNs and Infinities. Instead, we clamp r to be at least 1, which loses energy for distances less than 1, but is numerically stable and more artist directable. See the relevant code here: https://github.com/owl-project/NVISII/blob/54bd3d61a176d8b531bdcecdd0c7757aed22c5fa/src/nvisii/devicecode/path_tracer.cu#L1302
Additionally, the size of a triangle normally effects the solid angle of the light source, but this behavior is disabled by default, as a user study we conducted internally suggested this makes scene randomization for training NNs prohibitively difficult. The current behavior is made to follow Renderman light sources, but with area normalization on. The feature to account for surface area can be turned on here though: https://nvisii.com/light.html#nvisii.light.use_surface_area
If you are able to, please look over the rest of the other tracer, and see if you can spot any errors in the logic employed there. Unfortunately I’m the only one who has looked at the code, and I could use an additional pair of eyes. The code for the path tracer should be relatively self contained, where we do a simple NEE + MIS strategy.

Also, if you can, would you be willing to share your code to reproduce this energy test? I’d imagine that would be quite useful for integration testing down the line.

I see, very interesting to get your feedback so quickly!
I looked at the code you mentioned and I get it, but in our test case, everything is at more than 1 of distance from the light source, which is a point light, so this should not affect the falloff isn't it?
Unfortunately, we cannot share our code at this stage, but will come back to you when we can!
Thanks again for helping!

I will try to take a look at the logic of the path tracer and see if I can spot any issues.

Yup, I think that logic holds.
I would not be surprised if we have some quirks still with energy that need to be worked out. Thank you for your efforts. 🙏


Invalid memory read crash in ParseDsdiffHeaderConfig()

Hello,
While testing the latest version of WavPack (commit 83995af47defd03f9bfbaf377aee6d96a797a138), we found an out-of-bound write bug in ParseDsdiffHeaderConfig().
The attached file raises a segmentation fault error as follow, and the pointer used in memory read can be controlled by the input file content.
I tried to further investigate the root cause of segfault with Address Sanitizer, but it failed to provide any further information.
jason@debian-amd64-stretch:~/report/source-latest/wavpack$ gdb ./wavpack-llvm/cli/wavpack -q
Reading symbols from ./wavpack-llvm/cli/wavpack...done.
(gdb) run -y ./poc-oob.wav
Starting program: /home/jason/report/source-latest/wavpack/wavpack-llvm/cli/wavpack -y ./poc-oob.wav

 WAVPACK  Hybrid Lossless Audio Compressor  Linux Version 5.1.0
 Copyright (c) 1998 - 2018 David Bryant.  All Rights Reserved.

creating ./poc-oob.wv,
Program received signal SIGSEGV, Segmentation fault.
ParseDsdiffHeaderConfig (infile=<optimized out>, infilename=<optimized out>, fourcc=<optimized out>, wpc=<optimized out>, config=<optimized out>) at dsdiff.c:187
187                         memcpy (&dff_chunk_header, cptr, sizeof (dff_chunk_header));
(gdb) x/i $rip
=> 0x40ff90 <ParseDsdiffHeaderConfig+1104>:     mov    0x8(%r15),%eax
(gdb) info reg r15
r15            0xafafafafb013a7cf       -5787213827039582257
(gdb) bt 10
#0  ParseDsdiffHeaderConfig (infile=<optimized out>, infilename=<optimized out>, fourcc=<optimized out>, wpc=<optimized out>, config=<optimized out>) at dsdiff.c:187
#1  0x00000000004075cb in pack_file (infilename=<optimized out>, outfilename=<optimized out>, out2filename=<optimized out>, config=<optimized out>) at wavpack.c:1777
#2  0x0000000000403cf0 in main (argc=<optimized out>, argv=<optimized out>) at wavpack.c:1273

poc-oob.zip
Thank you.

Thanks for find and posting this...should be fixed in master


Implementing CMC on CIFAR-10

Hi @HobbitLong, I am trying to implement CMC on CIFAR-10 with a shallow ResNet. However, the accuracy only reaches 60%~70%. I have tried to tune the batch size from 64 to 512 and learning rate from 0.01 to 0.12. In addition, I also tuned the nce_k from 8192 to 65536. Unfortunately, it is not improved yet. I am writing to ask do you have any suggestions on tuning parameters on small datasets like CIFAR-10? Thank you very much.

Update. I think this may be causes by #27. I find there seems no method to prevent an element in the enqueue come from the same sample as the query. As a result, the loss increases a lot at the beginning of each epoch.

This may not hurt performance when the dataset is large enough. However, for CIFAR-10, which only consists of 50,000 samples, this may hurts the performance a lot.

Update. I find you gave some hint on this problem, as shown in hint. Can I conclude that we should use softmax and less negative samples to implement CMC on small datasets?

@ShaoTengLiu ,
Sorry for the late reply, I have obtained ~70% on CIFAR100. I think using 2048 might suffice on CIFAR datasets (10 or 100). Also you could sample without replacement to solve the conflict issue you just pointed to.

@HobbitLong ,
Thanks for your reply. Yes, 2048 or 4096 is suffice on CIFAR. The problem has been solved. You can close this issue. Thank you very much.

Glad that you have figured it out. Feel free to reopen for future issues!

@HobbitLong ,
Thanks for your reply. Yes, 2048 or 4096 is suffice on CIFAR. The problem has been solved. You can close this issue. Thank you very much.

Hello， @ShaoTengLiu
Can you share the performance you reach when using cifar-10 dataset.


FR: Customizable HTML/formated copy

Description of the new feature/enhancement
Text copied in formated form, like HTML, should be customizable by settings, so in case you do a lot of copy-paste you don't have to re-format each piece to match your preferences.
All of them should be optional, with some default values. Once settings are categorized, they should go into single category.
Proposed technical implementation details (optional)
My propositions:

Property
Type
Default
Description

htmlWidth
String
"terminal"
- terminal - the width of the actual terminal.  - text  - up to the last printable character. Like terminal, but with stripped blank space on the right.   - infinite - Scratches to available space (current behaviour).  - Valid css value e.g. 500px

htmlBackground
String
background's value
Could anything that background can be or any valid css value that would be passed to background css property, like url. Theoretically we could support stripping the actual background (like image) and embed  it as base64. I'd like that feature, but I'm afraid it's too heavy for a while.

htmlOffsetFirstCharracter
Boolean
true
In situation like this:<PHONE_NUMBER>   ABCDEFGHIJ   KLMNOPQRST  where this means selected, true makes the paste as:         3456789   ABCDEFGHIJ   KLMNOPQ and false as:   3456789   ABCDEFGHIJ   KLMNOPQ

Other than these above, properties padding, fontFace, fontSize and colorTable should be duplicated for the html/formated text so they can be set separately. If not set, they would match the terminal's ones.

This sounds alright at first glance during our triage. Do you want to write an actual spec doc or go from here or what?


Regenerate lock file

What

Why

How Tested

Process & policy checklist

[ ] I have updated the project documentation to reflect my changes if necessary.
[ ] I have read the CONTRIBUTING documentation.

Is this a breaking change?

[ ] This change causes current functionality to break.

It looks like one of the updates causes jest tests to fail. We will need to find and  fix it before we can update all dependencies

Closing for now as this updates a number of dependencies and we need to find which one is causing the jest failure


clustermesh-apiserver deployment: support lifecycle and terminationGr…

clustermesh-apiserver deployment: support lifecycle and terminationGracePeriodSeconds
clustermesh-apiserver deployment support lifecycle and terminationGracePeriodSeconds, because we need a while time(by lifecycle.preStop hook) to wait AWS NLB draining target for prevent connection issue when clustermesh-apiserver pod terminating
Please note:  1.14 helm chart also need these settings.
Fixes: #26900
clustermesh-apiserver deployment support lifecycle and terminationGracePeriodSeconds.

This is my first PR to contribute this project, if any suggestion about this PR, please kindly let me know, thank you.

I will re-create PR which based on main branch, so close this PR.


[gh-actions] Make yamllint strict and other changes

Let's make yamllint strict
Get rid of the yamllint GH action that may be out of date eventually
Code linter warning fix into sec-scan.yml
Update actions/checkout GH action to latest version

Description

How Has This Been Tested?

Merge criteria:

[x] The commits are squashed in a cohesive manner and have meaningful messages.
[ ] Testing instructions have been added in the PR body (for PRs involving changes that are not immediately obvious).
[x] The developer has manually tested the changes and verified that the changes work

Thanks Jan, the changes /lgtm


No print output from within Spin app

Hi,
While testing the shims on the main branch I found that I can't see print from within the HTTP handler anymore.
Simple example:
use anyhow::Result;
use spin_sdk::{
    http::{Request, Response},
    http_component,
};

/// A simple Spin HTTP component.
#[http_component]
fn handle_hello_http(req: Request) -> Result<Response> {
    // #### This does not appear in log ####
    println!("{:?}", req.headers());
    // #############################
    Ok(http::Response::builder()
        .status(200)
        .header("foo", "bar")
        .body(Some("Hello, Fermyon".into()))?)
}

With v0.8.0 I can see the headers printed to the container log on every request. When using the shim from main there is no output. @Mossaka I guess it is related to the LibContainer change.
Btw. It's awesome that we have a Redis trigger now 😊

Umm it might be that we didn't pass in stdin, stdout, stderr for wiring up the std io.

I will take this as an action item to make our integration tests more robust on detecting HTTP headers.

Can you try it now? I think #121 resolved it

Serving http://<IP_ADDRESS>:80
Available Routes:
  spin-dapr: http://<IP_ADDRESS>:80 (wildcard)

Is this from kubectl logs <pod>?

With containerd-wasm-shims v0.9.0 when I daprized it, then I couldn't see any logs from spin app. See image below

@Mossaka @0xE282B0 Is it a bug?

I believe so. Will take a look today


Create database models using Objection ORM

Closes #32

@JamesMGreene ok to merge this for #49?

@manishapriya94 Yup! Allowing time for potential reviewers but looks like it's just time to move ahead. 👍🏻


Use multiple gpu for quantization?

It seems to only use 1 gpu for now, making quantizing large models very time-consuming, even if multiple gpus are present.
Is it possible to quantizing multiple layers at the same time, or is it must be done in sequence because latter layers depend on former layers (I don't know how GPTQ works)?
If parallel quantization is supported, I can put my 4 gpus to good work and experiment with more settings.

https://github.com/qwopqwop200/GPTQ-for-LLaMa/blob/triton/llama.py#L120
Looking at this line, we can see that it depends on the previous layer.


pass task context when dealing with Java Dynamic Proxy

Hi , create a new Task inside Dynamic Proxy invoke method could get  around the non-weaved problem , but if i put the execution logic inside the Task Body, then i will lost the previous Task's context .
`@override
public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
final Method mtd = method;
final Object[] ags = args;
if (!sppCmdMap.containsKey(method.getName())) {
    return null;
}
final RpcContext rpcContext = RpcContext.getContext(KilimTask.getCurrentTask().id);
Task t = new Task() {
    public void execute() throws Exception, Pausable {

        if (!sppCmdMap.containsKey(mtd.getName())) {
            return;
        }
        RpcCmdInfo cmd = sppCmdMap.get(mtd.getName());
        if (ags[0] instanceof List) {
            List<Message> reqs = (List<Message>) ags[0];
            exit(rpcInvokeBatch(reqs, cmd, rpcContext));
        } else {
            Message req = (Message) ags[0];
            exit(rpcInvoke(req, cmd, rpcContext));
        }
    }
};
t.start();
ExitMsg m = t.joinb();
return m.result;

}
`
here if i want get the previous Task's Context , i have to use KilimTask.getCurrentTask().id
but this is a Pausable method ...
is there any good idea to solve this ?
Tks advance ! : )
BTW , Kilim is really awesome ! our team is really enjoy with it .

how can i get the Id of the outside Task inside the Task task = new Task(){ // codes }

i'm not familiar with the rpc library you're using, nor able to find it with google, so i'm not sure what you're trying to achieve by using the kilim id as a the key for getContext. what package is RpcContext in ?
are you calling invoke from inside a Pausable method ?
if so, you can work around the problem by wrapping the method with an inner class
but you're going to run into another problem because you're doing a blocking join with the new task (pausable methods shouldn't block)

i just saw https://github.com/kilim/kilim/issues/50 so i have a better understanding of what you're trying to do
wrap your invoke implementation in an inner class with the rpcContext as a field, and then return the task t and call t.join(), ie the pausable variant not the blocking one, from the pausable caller

tks for your reply , RpcContext is not part of the problem , but i'll explain the whole process .

the RpcContext is a customed context for store parameters which i can i get back when i wanna call rpc method , i preferred this way because i could use them later as Implicit argument . it was binded to a Kilim Task Id and i use ThreadLocal variables to keep the binding. so everytime i want the parameter related to the CurrentTask , first i need to get the Task Id which is what 'Task.getCurrentTask.id' do .

these works well if everything goes under common code  block. but now i'm using Java Dynamic Block , which the Proxy's invoke method can't be Pausable and i have to put pausable method inside the body of Task t = new Task(){ callPausableMethod(); } that means Task.getCurrentTask.id() also need to be inside the inner class block(because it is a pausabel method) . it it get the task id inside the inner class then the  task id belongs to the new Task i created , not the one i wanted (Outside Task). so the context related to the  previous task is lost .

your advice is to wrap my invoke implement in an inner class with a rpcContext as a field. the wrapping  is what i'm doing now , but the problem is i can't get the rpcContext .

RpcContext is not a public library , i wrote it myself .

i'm not familiar with java proxies but i just read a little about them. my understanding is that the closure will be serialized, sent to a remote machine and invoked there. if that's the case, just move the RpcContext to a field of the enclosing class. then it will get serialized and sent to the remote machine

the problem is i can't get the rpcContext

you can't get it outside of a Task, but just save a reference to one that you get inside a task, and then assign that to a field
if you can reduce your example to a file that will compile, i'll figure out what's going on. if you can't do that, then post a hunk of similar code that works without the proxy, ie if you were going to execute it locally

final long id = Task.getCurrentTask().id);
Task t = new Task() {
public void execute() throws Exception, Pausable {
// codes
}
};
i've removed the unrelated RpcContext codes cause it's not the related to the problem,
the bolded line is how i get the context related to the task , i can't get the TaskId by Task.getCurrentTask().id() outside the Inner Class of new Task because it is pausable , as https://github.com/kilim/kilim/issues/50 said .
can i get the parent TaskId inside the new Task ?  ie:
Task t = new Task() {     public void execute() throws Exception, Pausable {     long taskId = this.getParentTaskId();    // codes     } };

i don't see a parent task in any of your example code
Class Stuff extends Task {
  int parentId;
  public execute() {
    // do parent stuff
    parentId = Task.getCurrentTask.id();
  }
  public invoke() {
    RpcContext context = get(parentId);
    Task t = new Task() { execute {
      rpcInvoke(context);
    }
    t.start();
    ExitMsg m = t.joinb();
    return m.result;
  }
}

tks a lot for your patient . i can't provide a example file cause it mixed lots of bussiness logic , what's more i think it's better focus on this context or we get confused by unrelated part .

any codes that outside the new Task{} are executed by another kilim task , i call it a parent task because it is in it context we get a new instance of a new Task {}.  your code did provided a parent id , but i can't do any Binding anymore .

Java Dynamic Proxy applies Reflection  mechanism , the invoke method (i pasted the code at the beginning of the issue) is invoke by Proxy.invoke() , the  Proxy class is a jdk native class , i can't overwrite it . so i could only figure a way out inside this invoke method block , to my understanding i can't work around this .

`
public Object invoke(Object proxy, Method method, Object[] args) throws Throwable
{
    final Method mtd = method;
    final Object[] ags = args;
    // these codes should be running in the routine of a Kilim Task (i call this a parent task, and i
    //need the id of it),  i can't call Task.getCurrentTask.id() cause it is a Pausable method ,  unless i can get the task id in a NoPausable way .
     Task t = new Task() {
    // this i call it the children task , so how can i get the Task Id of the parent Task, if i call //Task.getCurrentTask.id() here, then i'm getting the id of the current task , not the Parent's
        public void execute() throws Exception, Pausable {
            Message req = (Message) ags[0];
            exit(rpcInvoke(req, cmd, null));
        }
    };
    t.start();
    ExitMsg m = t.joinb();
    return m.result;
}

`

Let us get back to basics and explore what it is you really want to do.
Is the following problem statement correct?
“How do I connect to a kilim task on a server from an RMI client”?
—sriram.

hi sriram ,
no ,  there's nothing to do with rpc , my problems is
"how to get the Task id without throw  a Pausable "

In your example, the “parent” invokeO method is not marked pausable. So it is not a kilim Task at all, therefore it does not have a task id. Which is why Seth and I are struggling a bit to understand the notion of parent task, or, the problem at a higher level.
Separately, have you seen the Task.invoke method()? I am quite sure it doesn’t apply to your case, but still ...  It is mean to invoke a task’s pausable method via reflection.

hi sriram ,
no , there's nothing to do with rpc , my problems is
"how to get the Task id without throw a Pausable "

i got it ...
yeah , i've read kilim Reflection example , but as you known , i'm under the case of Java Dynamic Proxy , the advice sriram gave is to new Task and joinb() to get the result , but this will block the thread . this will downgrade async to sync again .
do you have any other way to make kilim work with dynamic proxy ? i'm thinking about use cglib to change the bytecodes to apply kilim Reflection invoke .

if you can strip out your business logic and give me an example code that compiles and runs (without kilim) of a Proxy, i think i can make it work. replace the Pausable (business logic) stuff with a (blocking) Thread.sleep()
but i don't have any experience with Proxy, so i'm not able to guess at how you're trying to use it based on the snippets you've posted

hi nqzero , i'm working on kilim Dynamic weaving now , i downloaded the example under /kilim/test/TestDynamicWeaver.java , and i exchanged the sample file , but it didn't weave at all , and no exception was thrown.
DynamicWeaverExampleKilim.txt

i wrote a simple demo of Dynamic Proxy , which contains four file .

ProxyHandler  in this file is where kilim won't work properly , i've add some comments .

BTW , tons of thanks for your time ... really appreciated 👍

i don't think the dynamic weaver will help you (though it's a great feature and you should check out my fork, nominally kilim 2.0 which makes some improvements in the runtime weaver)

i wrote a simple demo of Dynamic Proxy , which contains four file

i don't see any files. best thing is probably to push them to a github repo so we can easily share changes

the invoke demo is working with java 7, 8, 9, 10 and 11 - closing this issue, feel free to reopen or create a new issue if this doesn't solve your issue (no additional comments since january)


Handle relative paths in --workDir (resolves #1110)

resolves #1110

Jenkins, test this please.

I'm just a little apprehensive about how we are glossing over the fact that the absolute path is derived (and its existence checked) on the leader while the work directory is actually used on the workers. IIRC, the work dir doesn't even need to exist on the leader and it is created dynamically on the worker but this code enforces its existence on the leader.

i believe workflowDir is created on the worker, not workDir and workDir needs to exist on the worker. We can alternatively enforce that workDir begins with a leading / and say that only absolute paths are supported?

I like that. But use os.path.isabs.

works for me! I'll push this asap

@hannes-ucsc i implemented the suggested changes. The failures seem to be unrelated to the changes.

The IT failures seem to be caused by a quay.io outage.
The regular tests failure is tracked here: https://github.com/BD2KGenomics/toil/issues/1116

Jenkins, test this please.

@arkal, I apologize but I've changed my mind again because we recently changed the job store location handling to automatically convert relative paths to absolute paths. In light of this, I think we should switch back to your original approach of converting relative paths to absolute ones, on the leader.

@hannes-ucsc i implemented the suggested changes

Will merge ASA tests pass.

@
Jenkins, test this please.

jenkins, test this please

@cket okay to merge?


Add sorting by LAST_MODIFIED_AT field to GraphQL schema

This PR adds option to sort Users/Orders/Sales/Products/Variants by LAST_MODIFIED_AT.
TODO:

Update sorting columns for ExportField and rest of schema to use LAST_MODIFIED_AT
Update graphql schema/fix linters/update changelog

Impact

[ ] New migrations
[ ] New/Updated API fields or mutations
[ ] Deprecated API fields or mutations
[ ] Removed API types, fields, or mutations
[ ] Documentation needs to be updated

Pull Request Checklist

[ ] Privileged queries and mutations are guarded by proper permission checks
[ ] Database queries are optimized and the number of queries is constant
[ ] Database migration files are up to date
[ ] The changes are tested
[ ] GraphQL schema and type definitions are up to date
[ ] Changes are mentioned in the changelog

Task linked: SALEOR-5830 Sort queried entities by modification date


Add MiniMime

https://github.com/discourse/mini_mime
Defines the types of APIs that are likely to be used.

/merge


WIP: signal dashboard

WIP PR for current state of signal-dashboard -> https://deploy-preview-849--cmu-delphi-covidcast.netlify.app/indicator-status

current state (with the given mock data):

current state (with the limited live data):

Hey @sgratzl - I guess you did have a tracking bug for this, adding the one i just created: https://github.com/cmu-delphi/www-covidcast/issues/859
Maybe we should merge them?

@tildechris  do we have a consensus on the final design?

What we have here in this PR looks good.  We can do a design review after we get some real data from the API.  In the meantime, I'll comment on the design in #859.


Populate [AppleBundleInfo].binary in framework_middleman

Summary:
Allow bazelisk coverage … to work with targets that come from framework_middleman since _coverage_files_aspect_impl accesses [AppleBundleInfo].binary when AppleBundleInfo exists. This plus https://github.com/bazelbuild/rules_apple/pull/1423 allow coverage to work when framework_middleman is involved.

Thanks for the fix @mattrobmattrob


InvalidOperation Exception

Hi Tony,
I have yet another problem. I'll try to describe the problem to you.
Lets say I have a class Customer. I want to update one of its object. Lets say I want to update 100 fields. Instead of updating all fields, I have a xml version of that class, i just deserialize the xml to object, which gives me another Customer object. Then I update its primary key value. So newly created object has same primary as that of one which was fetched from database. Now when I am trying to ApplyChanges on the newly created object, I am getting following exception :
Attaching an entity of type 'X’ failed because another entity of the same type already has the same primary key value. This can happen when using the 'Attach' method or setting the state of an entity to 'Unchanged' or 'Modified' if any entities in the graph have conflicting key values. This may be because some entities are new and have not yet received database-generated key values. In this case use the 'Add' method or the 'Added' entity state to track the graph and then set the state of non-new entities to 'Unchanged' or 'Modified' as appropriate.
I have identiified the line :
https://github.com/tonysneed/trackable-entities/blob/release-2.5.1/Source/TrackableEntities.EF.5/DbContextExtensions.cs#L167
I think its because EF is thinking its a detached object, but somehow it is not able to merge new changes.
When I tried below code, it works :
var trackedEntity = context.Customers.Find(customer.Id);
context.Entry(trackedEntity).CurrentValues.SetValues(customer);
contex.ApplyChanges();
This issue is creating a major show stopped for smooth migration. Any thoughts ?

Okay, when I detached old object and called ApplyChanges() on newly created object, it worked. I think the object fetched from database was being tracked and it was creating the problem. Strangely, this works in ef4.

Great.  As you saw, this is an EF-specific exception, stating that the context already has an object attached with the same primary key.  I thought it was the same behavior in EF4, but maybe they changed that for EF 5 or 6.

Tony,
Problem is we are migrating from ef4 to ef6 and that is creating lots of headaches :)

Can we somehow integrate the code in TrackableEntities itself so nothing needs to be changed in business logic ?
I mean if exception is thrown while changing the state, we fetch the entity from database and apply currentvalues and retry setting the state ?

Were you using DbContext in EF 4.x?  If so, that will help. There are a number of breaking changes.

No Tony, I was using ObjectContext with EF4.

ObjectContext is still there, as you know, but harder to get to.  Are you sticking with EDMX, or moving to code-based modeling?
PS, Here is a great intro video to using Git and GitHub with Visual Studio: http://channel9.msdn.com/Events/Build/2015/3-746

I just saw your question above regarding exception handling.  I think I might need a bit more context to answer your question well.  Is the primary key a database-generated value?

Thanks for the github video.
We are still using EDMX model as we have dedicated database custodian. He makes the changes and we generate edmx from it and then entities.
ObjectContext is useless now, we tried to use its methods but they make no sense now.
Yes we have database generated primary keys. I am still trying a sample to reload entities when exception occurs. Any thoughts are most welcomed.

Not sure if I completely grasp the scenario, but I'll take a stab at being helpful.  When you retrieve a Customer from the database, you'll have the primary key which has been set by the database.  Then you deserialize the cached Customer, and, after starting change tracking, update all the fields on the retrieved Customer, except for the primary key.  The TrackingState will be Modified, and all the updated properties will be included in ModifiedProperties.  When you call ApplyChanges and SaveChanges, there shouldn't be any exception.
The key to the solution here is not calling ApplyChanges on the deserialized Customer, but copying the changed from the deserialized Customer over to the retrieved Customer and calling ApplyChanges on that, which will result in an update when SaveChanges is called.
If you want a simple way of determining which properties have changed, you can probably just write a bit of reflection code that iterates over the entity properties, sees which ones are different, and updates the retrieved Customer.

The key to the solution here is not calling ApplyChanges on the deserialized Customer, but copying the changed from the deserialized Customer over to the retrieved Customer and calling ApplyChanges on that, which will result in an update when SaveChanges is called.
That's the thing I want to avoid, if I have the object that I want to update in database, why would I fetch it from database. I think your point is, it should be attach to context in order to be updated, right ?

Hmmm ... Calling ApplyChanges is what attached an entity to the DbContext.  But the exception you're getting implies that you already attached an entity with the same primary key to the context.  So I guess I'm unclear about exactly why you're getting the exception ... Sorry if I'm being dense here. :confused:

Lets say I have a class Customer. I want to update one of its object. Lets say I want to update 100 fields. Instead of updating all fields, I have a xml version of that class, i just deserialize the xml to object, which gives me another Customer object. Then I update its primary key value. So newly created object has same primary as that of one which was fetched from database. Now when I am trying to ApplyChanges on the newly created object, I am getting following exception ...

From this I inferred that you have two Customer entities, both with the same primary key, which is the cause of the exception.  Where did you get the first one?

PS. It might be easier if you were to create a small demo project in GitHub, which I could fork in order to see what you are trying to do. :grinning:

Exactly, thats my point, but shouldn't that be handled by TE itself ?

With TE, I'm trying to walk a very fine line.  I want to provide an easier way to apply change state in an object graph, but I don't want to handle exceptions which are thrown by EF because of a rule violation.
Can you explain to me more clearly how you end up with two entities?  Isn't one of them deserialized from XML and the other retrieved from the database?  Or am I missing something?

Ahh, I guess your first comment explains a lot. Its an ef exception, I was just trying to figure out whether TE should handle EF exceptions or not. Actually we are migrating so I was thinking to do minimum changes at business level.

Let me know if there are any lingering questions on this issue, and I'll re-open it.
Cheers,
Tony

Will handle EF related exceptions gracefully instead of TE catching them and solving by own.
Thanks.


added kaspresso integration

added kaspresso integration

Hi!
Thank you for your contribution!
Before we proceed further, please explain the purpose and intent of this PR to better understand the implementation and idea behind it.

I think that the better explaining is in this video (https://youtu.be/q_8UUhVDV7c?t=568, yep it's Russian video) now. Further, we are going to add detailed info about delegates into Kakao Readme when we will be releasing Kaspresso. The main detail - the current default behavior of Kakao will not change.
If you have any questions welcome =)

Will be great to enable Ensure line feed at file end on Save for A-Studio settings

@cdsap what do you think? The intent here is to be able to inject additional behavior on each actual espresso interactions invocation.

All these style check comments... Could you please add new line? IMHO it would be faster to configure CI to check project style with detekt then write so many comments :)

@Vacxe is already working on that
I mean, this is one of the few PR that has so many styling problems. Maybe they were introduced prior by the big refactor, I'm not 100% sure.

Do you have a xml with code style for import for this project? It may help to avoid lot of issues and make pr processing faster ;)

As @Unlimity suggested, it's needed more information about the changes. With the first PR, I thought you are going to detach the platform to apply interesting native features but again I'm still don't have clear what is the scope of the changes.
Said that, of course, thank you very much for the contribution @audkar @xanderblinov

Hi, @Unlimity thank you for response.
Inline:

Although I understand your intent, I don't understand the implementation approach. Why it is restricted to all or nothing principle? Why can't I provide delegate only for specific view interaction? I think this should be considered.

The intent is add ability to wrap view interaction with custom actions. For example, if you want to add detailed logging, or add multiple attempts for interaction with view.
It looks like there is no needs to add custom behavior for specific view in constructor. However users still may override property override val view: ViewInteractionDelegate for there needs.
If you have more flexible solution please suggest me how get this behaviour

Also, are you going to duplicate the PR to the master branch?

Of cause yes. We already prepared the same PR to master, but we will push after this PR merged with considered all the comments

And please introduce the documentation for the feature in README with this PR.

OK

As @Unlimity suggested, it's needed more information about the changes. With the first PR, I thought you are going to detach the platform to apply interesting native features but again I'm still don't have clear what is the scope of the changes.
Said that, of course, thank you very much for the contribution @audkar @xanderblinov

Sure, we will add detailed documentation. But now we can present some pictures describing the high-level concept from our speech at Mobius 2019.

ViewInteractionDelegate, DataIntercationDelegate, WebInteractionDelegate - are interfaces by them we can modify common logic of Kakao - Espresso.

@xanderblinov regarding the design of this feature:
I highly value the DSL capabilities of the library, and I prefer the configuration also be available through DSL:
kakao {
    onViewInteraction { vi ->
        ...
    }

    onDataInteraction { vi, di ->
        ...
    }

    onWebInteraction { wi ->
        ...
    }
}

The same can be applied on the Screen class.
For every KView and (or) it's ViewBuilder I suggest the following:
// Declaration site
val text = KTextView {
    withId(R.id.text)
    onInteraction { vi ->
        ...
    }
}

// Use site
screen {
    text {
        onInteraction { vi ->
            ...
        }

        hasText("sample")
    }
}

What happens with this approach is that you can have 3 layers of interceptors that add on top of each other:
Kakao level -> Screen level -> Individual view level
That way there is no need for any factories or whatsoever. The similar approach I used when designing Ninjato (also available on our GitHub) so you can take a look.
The idea is interesting to me, but current implementation and design is not the best that can be and I'm not sure that we want to push it in current state to the production.

@Vacxe @cdsap any thoughts on my design suggestion?

@Unlimity Sometimes for different companies they have different requirements. Disadvantage of your implementation is boilerplate and also for some reasons we should to implement common logic for many components such as logging strategy.
So what we finally have. Delegates logic isn't break base strategy and functionality but provide for us way to scale and make Kakao applicable for another big enterprises companies.
TBH I prefer to have both way for do that. Just why not?
I think that when we "Don't have enough functionality" is main reason why we move to another way

@xanderblinov And also I think that main reason of this PR not related with exactly Kaspresso integration for avoiding misleading. Thats way to make this possibility for 3rd party libraries.

@Vacxe didn't get your comment about boilerplate. I think regarding the amount of code you need to write from library's user's perspective it's pretty much the same.
My point is to have a generic/abstract solutions provided through the framework that will cover not only one specific need, but will be able to provide a variety of options.
So, this PR is targeted to provide the ability of intercepting each and every call that will be going through Kakao to Espresso. That is a valid case. But what if I, as user, want some logging only on specific screen? Can I proceed with current implementation? I think yes, but with some hacking in the delegate trying to determine where the view interaction is coming from.
My suggestion is to provide an API that will allow to aggregate and/or override interceptors on separate levels as well as ability to target only specific calls:
kakao {
    onViewInteraction {
        onAll { vi ->
            ...
        }

        onPerform { vi ->
            ...
        }

        onCheck { vi ->
            ...
        }
    }
}

class TestScreen : Screen<TestScreen> {
    init {
        onViewInteraction {
            onPerform(override = true) {
                ...
            }
        }
    }
}

@Vacxe didn't get your comment about boilerplate. I think regarding the amount of code you need to write from library's user's perspective it's pretty much the same.
My point is to have a generic/abstract solutions provided through the framework that will cover not only one specific need, but will be able to provide a variety of options.
So, this PR is targeted to provide the ability of intercepting each and every call that will be going through Kakao to Espresso. That is a valid case. But what if I, as user, want some logging only on specific screen? Can I proceed with current implementation? I think yes, but with some hacking in the delegate trying to determine where the view interaction is coming from.
My suggestion is to provide an API that will allow to aggregate and/or override interceptors on separate levels as well as ability to target only specific calls:
kakao {
    onViewInteraction {
        onAll { vi ->
            ...
        }

        onPerform { vi ->
            ...
        }

        onCheck { vi ->
            ...
        }
    }
}

class TestScreen : Screen<TestScreen> {
    init {
        onViewInteraction {
            onPerform(override = true) {
                ...
            }
        }
    }
}

Really good approach.
But we have introduced interceptors' conception in Kaspresso. @Vacxe could observe this project.
By Kaspresso you can set various interceptors for each test. Yes, you can't do it for concrete Screen, but is it so necessary?
So developers can see an example of how to use delegates in Kaspresso.
@Unlimity I can add you to our project.

@xanderblinov And also I think that main reason of this PR not related with exactly Kaspresso integration for avoiding misleading. Thats way to make this possibility for 3rd party libraries. Right?

Yes

Closing this PR due to another PRs with implementation are considered more suitable.


setData not displaying values

When I initialize an instance of a spreadsheet and use the data option to set the initial data, everything works fine.
When I call setData to update the spreadsheet no values are displayed, yet the number of rows match the length of the data.
If I try destroying the instance via jspreadsheet.destory(element, true) then re-initialize, I get the below error:
TypeError: Cannot set properties of null (setting 'current')
at obj.init

Further to the above. After calling setData when I call getJson on the instance, it has the correct number of rows an cells but all cell values are set to an empty string ('')
If I pass the exact same data on initialization, the values are displayed correctly, so I'm sure my data is not the issue.
Please advise


fix: correctly resolve duplicate struct names in json abi

Motivation
Closes https://github.com/alloy-rs/core/issues/660
Solution
I've added second abi preprocessing method JsonAbi::rename_internal_structs, which goes over ABI, resolves structs that have a same name but different components sets, and renames them into <struct name>0, <struct name>1, etc
It should be also possible to key them by contract instead, however, there are some edge cases related to aliases with such approach. E.g. import {Struct as Struct1} from "..."; import {Struct as Struct2} from "..."; will result in two different structs referenced as Struct in ABI. Same is possible with Lib.Struct if different Libs are aliased.
This edge case is kind of weird, so I am open to changing impl if we consider performance improvements worth it.
Also not sure if we want this to happen on the level of JsonAbi::to_sol instead of only for sol! used code
PR Checklist

[x] Added Tests
[x] Added Documentation
[ ] Breaking changes

I have a branch open where I make namespaced output work, but got stuck on weird compile errors https://github.com/alloy-rs/core/tree/dani/to-sol-contract-specifiers

yeah, such approach indeed is more flexible
current branch compiles fine for me, do you have more fixes for sol! as wip?
from diff and a quick test it seems that updated Type::Custom branch in rec_expand_type does most of the job on the sol! side? would be happy to finish this if you'll point out what's left/not working yet

It fails to compile in tests in crates/sol-types/tests/macros/sol/json.rs, but expanding the output and compiling it separately is fine
It only handles the ToSol side, expanding libraries, but namespaces are not handled in the sol! internal representation, so function signatures are wrong
Probably best to just continue that branch

It fails to compile in tests in crates/sol-types/tests/macros/sol/json.rs, but expanding the output and compiling it separately is fine

fyi moving sol! invocation out of the test function scope fixes compilation, will look into why it's happening

one of the issues seems to be a limitation of function-level modules
e.g. this code doesn't work
fn test_fn() {
    pub mod inner1 {
        pub struct InnerStruct {}
    }

    pub mod inner2 {
        use super::*;
        fn some_fn() {
            inner1::InnerStruct {};
        }
    }
}

and it seems that there's no way to reach other modules defined inside of a function from inside of another module

Superseded by https://github.com/alloy-rs/core/pull/693, #694


Lions Roar/LEO/New mods Weapon customization

Any ETA on when it might be coming? Sorry if this is the wrong place to ask this question i couldnt find a steam group or anything for my favorite misc mod.
EDIT: im a blind bat, just saw the contact info.

Putting issues directly on GitHub is the best way to get stuff fixed. Contact info is just there for other reasons if needed.
Lions Roar and LEO customization overrides were published a while ago, AK Mod Pack overrides will be uploaded once I've finished extracting the new files.
You can redownload them from here: Weapon Customizer Mod Overrides and I'll post again once the new ones are up.

Ok, overrides updated. Now contains the AK Mod Pack ones too.
Download: Weapon Customizer Mod Overrides

hmm,  I tried the mod override and it didn't work... still unable to buy leo mods with gage coins

Mod overrides are only for customizing how weapons look, not the mod shop.


Nested buttons in the step-by-step code

As spotted by this helpful Twitter user: https://twitter.com/hybrid_alex/status/1058349456297521152

Hi @timpaul @alexcarpenter,
Spotted this whilst I was working on https://github.com/alphagov/govuk-prototype-kit/pull/627, here's a pull request for you. All sorted 👍


Fix several coverity issues

coverity found some issues with the recently merged RCU implementation:
5191470
5191471
5191472
5191473
5191474
5191475
5191476
5191477
This PR contains fixes for all of them
There are two others  5191469 5191478 which are false positives and will require teaching coverity to accept them

CI is relevant.

ping for second review

ping, still need one more review here

This PR is in a state where it requires action by @openssl/committers but the last update was 30 days ago

Looks like this needs a rebase

This pull request is ready to merge

Merged to master.


Issues when Loading Main2.java in Level 2

Summary
Put a summary of the question
Description
Hello! I was attempting Level 2 of the Project and I was trying out the test cases and it passed successfully. However, when I downloaded the Main2.java and try to run in terminal, it pops up error like this. I submitted onto Codecrunch and there was no issue. So I am just curious what is causing this error.
Thank you!

Screenshots (if any):
Insert Images here if necessary

did you type in ^D cause i think youre just supposed to ctrl D

did you type in ^D cause i think youre just supposed to ctrl D
I typed in Crtl D and this error appears too.

I havent seen this before but did you package your Simulate2?

Try ^Z (ctrl + z) enter.

I havent seen this before but did you package your Simulate2?

Thank you for your help! I managed to find the error. I stored the file initially within the simulator folder together with Simulate2. I shifted the Main2.java to outside of the simulator folder.


export fails when trying to sign with different bundle id

New Issue Checklist

[x] Updated fastlane to the latest version
[x] I read the Contribution Guidelines
[x] I read docs.fastlane.tools
[x] I searched for existing GitHub issues

Issue Description
We need to sign an app with different bundle id for hockey app distribution for enterprise. The default in the project for Relese builds is appstore. Enterprise versions is used for testing and early beta distribution.
I have the following lane
lane :production_hockeyapp do

    # ensure_git_branch(branch: "master")

    scheme = "***REDACTED***"
    output_name = "***REDACTED***-hockeyapp-production.ipa"

    app_id = "com.***REDACTED***"
    signing_profile = "match InHouse #{app_id}"
    distribution_profile = "iPhone Distribution: *Redacted*"
    team_id = "***REDACTED***"

    match(type: "enterprise", app_identifier: app_id, readonly: true, git_branch: match_branch, team_id: team_id)
    gym(
      scheme: scheme,
      workspace: workspace_file,
      configuration: default_configuration,
      output_name: output_name,
      include_bitcode: false,
      include_symbols: true,
      export_method: "enterprise",
      xcargs: {
          :PRODUCT_BUNDLE_IDENTIFIER => app_id,
          :PROVISIONING_PROFILE_SPECIFIER => signing_profile,
          :DEVELOPMENT_TEAM => team_id
      },
      export_options: {
        provisioningProfiles: {
          app_id => distribution_profile
        },
      }
    )

    push_to_hockey_app(ipa: "#{output_directory}/#{output_name}", api_token: hockey_api_token)

  end

However the export fails when archive successes and still tries to use appstore for some reason, can you please help how to resolve the issue?
[13:28:11]: ▸ Archive Succeeded
[13:28:11]: Generated plist file with the following values:
[13:28:11]: ▸ -----------------------------------------
[13:28:11]: ▸ {
[13:28:11]: ▸   "provisioningProfiles": {
[13:28:11]: ▸     "com.***REDACTED***": "match InHouse ***REDACTED***",
[13:28:11]: ▸     "com.***REDACTED***": "match AppStore ***REDACTED***"
[13:28:11]: ▸   },
[13:28:11]: ▸   "method": "enterprise",
[13:28:11]: ▸   "signingStyle": "manual"
[13:28:11]: ▸ }
[13:28:11]: ▸ -----------------------------------------

Complete output when running fastlane, including the stack trace and command used

[13:28:11]: ▸ Archive Succeeded
[13:28:11]: Generated plist file with the following values:
[13:28:11]: ▸ -----------------------------------------
[13:28:11]: ▸ {
[13:28:11]: ▸   "provisioningProfiles": {
[13:28:11]: ▸     "com***READACTED****": "match InHouse com***READACTED****",
[13:28:11]: ▸     "com***REDACTED": "match AppStore com***REDACTED"
[13:28:11]: ▸   },
[13:28:11]: ▸   "method": "enterprise",
[13:28:11]: ▸   "signingStyle": "manual"
[13:28:11]: ▸ }
[13:28:11]: ▸ -----------------------------------------
[13:28:11]: $ /usr/bin/xcrun /Users/romk1n/.rvm/gems/ruby-2.4.1/gems/fastlane-2.96.1/gym/lib/assets/wrap_xcodebuild/xcbuild-safe.sh -exportArchive -exportOptionsPlist '/var/folders/pw/vqd3f_w557bgld1lvvv4x4300000gn/T/gym_config20180601-9129-yh92le.plist' -archivePath /Users/romk1n/Library/Developer/Xcode/Archives/2018-06-01/app-hockeyapp-production\ 2018-06-01\ 13.25.33.xcarchive -exportPath '/var/folders/pw/vqd3f_w557bgld1lvvv4x4300000gn/T/gym_output20180601-9129-17ss1ui' PRODUCT_BUNDLE_IDENTIFIER=com***READACTED**** PROVISIONING_PROFILE_SPECIFIER=match\ InHouse\ com***READACTED**** DEVELOPMENT_TEAM=**REDACTED**
RVM detected, forcing to use system ruby
Now using system ruby.
+ xcodebuild -exportArchive -exportOptionsPlist /var/folders/pw/vqd3f_w557bgld1lvvv4x4300000gn/T/gym_config20180601-9129-yh92le.plist -archivePath '/Users/romk1n/Library/Developer/Xcode/Archives/2018-06-01/app-hockeyapp-production 2018-06-01 13.25.33.xcarchive' -exportPath /var/folders/pw/vqd3f_w557bgld1lvvv4x4300000gn/T/gym_output20180601-9129-17ss1ui PRODUCT_BUNDLE_IDENTIFIER=com***READACTED**** 'PROVISIONING_PROFILE_SPECIFIER=match InHouse com***READACTED****' DEVELOPMENT_TEAM=**REDACTED**
2018-06-01 13:28:12.750 xcodebuild[13557:2251641] [MT] IDEDistribution: -[IDEDistributionLogging _createLoggingBundleAtPath:]: Created bundle at path '/var/folders/pw/vqd3f_w557bgld1lvvv4x4300000gn/T/app_2018-06-01_13-28-12.749.xcdistributionlogs'.
2018-06-01 13:28:13.749 xcodebuild[13557:2251641] [MT] IDEDistribution: Step failed: : Error Domain=IDEDistributionSigningAssetStepErrorDomain Code=0 "Locating signing assets failed." UserInfo={NSLocalizedDescription=Locating signing assets failed., IDEDistributionSigningAssetStepUnderlyingErrors=(
"Error Domain=IDEProvisioningErrorDomain Code=10 \"SwiftyJSON.framework does not support provisioning profiles.\" UserInfo={NSLocalizedDescription=SwiftyJSON.framework does not support provisioning profiles., NSLocalizedRecoverySuggestion=SwiftyJSON.framework does not support provisioning profiles, but provisioning profile match InHouse com***READACTED**** has been manually specified. Remove this item from the \"provisioningProfiles\" dictionary in your Export Options property list.}"
)}
error: exportArchive: SwiftyJSON.framework does not support provisioning profiles.
Error Domain=IDEProvisioningErrorDomain Code=10 "SwiftyJSON.framework does not support provisioning profiles." UserInfo={NSLocalizedDescription=SwiftyJSON.framework does not support provisioning profiles., NSLocalizedRecoverySuggestion=SwiftyJSON.framework does not support provisioning profiles, but provisioning profile match InHouse comREADACTED* has been manually specified. Remove this item from the "provisioningProfiles" dictionary in your Export Options property list.}
** EXPORT FAILED **
[13:28:13]: Exit status: 70

Environment

✅ fastlane environment ✅
Stack

Key
Value

OS
10.13.4

Ruby
2.4.1

Bundler?
false

Git
git version 2.15.1 (Apple Git-101)

Installation Source
~/.rvm/gems/ruby-2.4.1/bin/fastlane

Host
Mac OS X 10.13.4 (17E202)

Ruby Lib Dir
~/.rvm/rubies/ruby-2.4.1/lib

OpenSSL Version
OpenSSL 1.1.0g  2 Nov 2017

Is contained
false

Is homebrew
false

Is installed via Fabric.app
false

Xcode Path
/Applications/Xcode.app/Contents/Developer/

Xcode Version
9.4

System Locale

Variable
Value

LANG
en_GB.UTF-8
✅

LC_ALL

LANGUAGE

fastlane gems

Gem
Version
Update-Status

fastlane
2.96.1
✅ Up-To-Date

Loaded fastlane plugins:
No plugins Loaded
Loaded gems

Gem
Version

did_you_mean
1.1.0

executable-hooks
1.3.2

bundler-unload
1.0.2

rubygems-bundler
1.4.4

bundler
1.16.1

io-console
0.4.6

slack-notifier
2.3.2

rouge
2.0.7

xcpretty
0.2.8

terminal-notifier
1.8.0

terminal-table
1.8.0

plist
3.4.0

multipart-post
2.0.0

word_wrap
1.0.0

public_suffix
2.0.5

tty-screen
0.6.4

tty-cursor
0.5.0

tty-spinner
0.8.0

babosa
1.0.2

colored
1.2

highline
1.7.10

commander-fastlane
4.4.6

http-cookie
1.0.3

faraday-cookie_jar
0.0.6

mini_magick
4.5.1

multi_json
1.13.1

multi_xml
0.6.0

rubyzip
1.2.1

security
0.1.3

xcpretty-travis-formatter
1.0.0

faraday_middleware
0.12.2

naturally
2.1.0

simctl
1.6.4

uber
0.1.0

declarative
0.0.10

declarative-option
0.1.0

representable
3.0.4

retriable
3.1.1

addressable
2.5.2

mime-types-data
3.2016.0521

mime-types
3.1

little-plugger
1.1.4

logging
2.2.2

jwt
2.1.0

memoist
0.16.0

os
0.9.6

signet
0.8.1

googleauth
0.6.2

httpclient
2.8.3

google-api-client
0.21.2

emoji_regex
0.1.1

openssl
2.0.3

excon
0.62.0

CFPropertyList
3.0.0

atomos
0.1.2

claide
1.0.2

colored2
3.1.2

nanaimo
0.2.5

xcodeproj
1.5.9

faraday
0.15.1

unf
0.1.4

domain_name
0.5.20180417

fastimage
2.1.3

json
2.1.0

generated on: 2018-06-01

Hi @romk1n
When you need to switch between Appstore <-> Enterprise, you should change the bundle id of your app.
The best practice is create a new app target and scheme, so you can deal with it easily. But if you need to use the same target, so you'll need to create a combination for your specific case using these actions.

update_app_identifier
set_info_plist_value
update_app_group_identifiers
update_project_team
disable_automatic_code_signing


Import Passphrase doesn't overwrite watch-only

Importing watch only first, then importing a passphrase doesn't overwrite watch-only wallet

You can delete the watch-only wallet. Closed the app (actually close the app in the system memory) and restart the app and import the pass phrase

I know. I designed it (or thought I had) so that importing a passphrase would overwrite a watch-only

:joy:

I wonder if this is related to #1. It may not be updating the storage properly


Add ANSI colors to kubectl describe and other outputs

FEATURE REQUEST:
Currently kubectl outputs are pretty boring without a color:

Adding color to them will make them easier to read. Each key could be colored based on its indentation level. Each key/value pair in labels,annotations,taints etc could be colored differently as well.

Maybe a good idea

/kind feature
/sig cli
/area kubectl
/priority P2

Specifically I would expect colorization on get -o yaml and get -o json. At least for the latter, you can work around this by
kubectl get -o json $type $name | jq .

@jglick as a work around you can use something like https://www.npmjs.com/package/cli-highlight then run:
kubectl get -o json $type $name | highlight
That's what I do currently :)

This would be really helpful to see the difference between "Pending" and "Running" on describe pods. Right now they're hard to distinguish:
Pending
Running

It would be great to highlight pods in "kubectl get pods" where # of ready containers < total # of containers

/remove-lifecycle stale

This would be so helpful. Anyone working on a PR for this?

@geekofalltrades I use this:
GREP_COLOR='01;32' egrep --color=always 'Running|$' | GREP_COLOR='01;33' egrep --color=always 'ContainerCreating|$' | GREP_COLOR='01;33' egrep --color=always 'Terminating|$' | GREP_COLOR='01;31' egrep --color=always 'Error|$' | GREP_COLOR='01;31' egrep --color=always 'CrashLoopBackOff|$' | GREP_COLOR='01;31' egrep --color=always 'ImagePullBackOff|$' | GREP_COLOR='01;33' egrep --color=always 'Pending|$'
save it as a file lets say k8s_color
and then:
kubectl get pods | source k8s_color
I know its not elegant solution but it gets the job done

As a work around you can use bat then run:
$ kubectl get pods -o yaml | bat -l yaml

Another weird work around
kubectl get pods | ccze -A -o nolookups

It would be great if someone writes a "kubernetes plugin" for CCZE :)

Or in alternative you could try yh
$ kubectl get pods -o yaml | yh

This issue is opened for almost 2 years. Is it on the roadmap?

I am currently using zsh instead of shell and antigen to manage zsh "plugins", one of them is "antigen bundle c-castillo/ccze" which resides in github.com/c-castillo/ccze
I think it would be nice to start from there since handy shortcuts can be made and kubectl can be added to a list of commands ccze can process, thought I haven't checked how it manages the rules for the coloring.
here's my current .zshrc :
source ~/antigen.zsh
antigen bundle zsh-users/zsh-syntax-highlighting
antigen bundle reegnz/jq-zsh-plugin
antigen bundle c-castillo/ccze
export PATH=/snap/bin:$PATH
set -g mouse on
powerline-daemon -q
#tmux new
source /usr/share/powerline/bindings/zsh/powerline.zsh
POWERLINE_CONFIG_COMMAND=powerline-config
#powerline-config tmux setup
# Set up the prompt
source /usr/share/powerlevel9k/powerlevel9k.zsh-theme
autoload -Uz promptinit
promptinit
prompt adam1
setopt histignorealldups sharehistory

# Use emacs keybindings even if our EDITOR is set to vi

bindkey "\033[1~" beginning-of-line
bindkey "\033[4~" end-of-line

# Keep 1000 lines of history within the shell and save it to ~/.zsh_history:
HISTSIZE=1000
SAVEHIST=10000
HISTFILE=~/.zsh_history

# Use modern completion system
autoload -Uz compinit
compinit

zstyle ':completion:*' auto-description 'specify: %d'
zstyle ':completion:*' completer _expand _complete _correct _approximate
zstyle ':completion:*' format 'Completing %d'
zstyle ':completion:*' group-name ''
zstyle ':completion:*' menu select=2
eval "$(dircolors -b)"
zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS}
zstyle ':completion:*' list-colors ''
zstyle ':completion:*' list-prompt %SAt %p: Hit TAB for more, or the character to insert%s
zstyle ':completion:*' matcher-list '' 'm:{a-z}={A-Z}' 'm:{a-zA-Z}={A-Za-z}' 'r:|[._-]=* r:|=* l:|=*'
zstyle ':completion:*' menu select=long
zstyle ':completion:*' select-prompt %SScrolling active: current selection at %p%s
zstyle ':completion:*' use-compctl false
zstyle ':completion:*' verbose true

zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#)*=0=01;31'
zstyle ':completion:*:kill:*' command 'ps -u $USER -o pid,%cpu,tty,cputime,cmd'
antigen apply

/remove-lifecycle stale

Just FYI I've made a CLI tool to do this.
https://github.com/dty1er/kubecolor

Cheers @dty1er and thanks for sharing.
Would be good to have you join us for a future sig-cli meeting to talk potential for getting your work upstream.
https://github.com/kubernetes/community/tree/master/sig-cli#meetings

Hi @eddiezane .
Wow nice! I am willing to join the meeting and want to talk about kubecolor with you guys. When will you have a next one?

@dty1er next meeting will be November 4th. You'll get a calendar invite if you join the mailing list.

Will join the next one!

This was discussed today.
Take away is we'll need to create a KEP and then determine the challenge of implementation and maintainer burden. Is this supported server side or client side?
Recording if anyone is interested https://youtu.be/NtmbMqWCbOI?t=1322

Starting working on writing KEP

Any KEP in progress ? :-)

Any KEP in progress ? :-)

/cc dougsland

/cc dougsland

Sorry for the delay of my work.
It is not forgotten but I'm just getting busy for my work :(

Sorry for the delay of my work.
It is not forgotten but I'm just getting busy for my work :(

@dty1er Any updates? 🙏

Great job so far, really looking forward to an update!

I would like to see the option of the terminal color scheme (background and foreground colors) changing based on a cluster-scoped object that is read when the context is changed. If the object does not exist, nothing happens, if it does exist, the terminal is changed (maybe only a PS1 that flashed the prompt for instance). This would ensure that the user is reminded when their context is set to a critical cluster.

Given that this whole output coloring is a generic problem not specific to kubectl only (since columnar data presentation is also present elsewhere) did anyone think about splitting out this problem and solving it for the generic case?
I did a quick PoC on how to colorize any columnar data, but it's still very basic: https://github.com/reegnz/column-bling
Things I'd like to explore with such a tool are:

being able to specify what color each column should be
being able to specify how the header looks like
specifying various regexes per column to vary the color (eg. if Status column value is 'Evicted', then color it red, else keep the default)

Im thinking developing such a generic tool would prove much more value than only embedding this colorizing feature into kubectl, and it shouldn't require all the KEP process and a year to wait until it lands in k8s.

If you're using the fish shell and bat, you can define a function like:
function kat
  command kubectl $argv -o yaml | bat -l yaml
end

You could also use yh mentioned above instead of bat, of course.

or
kubectl … | yq e -P

Possibly related, but there appears to be a Colors property on Config.Preferences
https://github.com/kubernetes/kubernetes/blob/cd83d89ac94c5b61fdd38840098e7223e5af0d34/staging/src/k8s.io/client-go/tools/clientcmd/api/types.go#L58-L60
I can't find anywhere this is actually used though.

/remove-lifecycle stale

/remove-lifecycle stale

A related PR: https://github.com/kubernetes/kubernetes/pull/108210

This generic colorizer is also a nice solution for adding some color to kubectl tabular output (and other cli tools as well): https://github.com/garabik/grc
It works with kubectl out of the box, eg. alias kubectl=grc kubectl
It then colors yaml, json and tabular output, and even the help output!
For colorization of json and yaml outputs I usually go straight into vim though:
kubectl get pod pod-name -o yaml | vim -c 'set ft=yaml' -

or
kubectl get pod pod-name -o json | vim -c 'set ft=json' -

I do prefer a more unix-y philosophy with piping and generic tools doing the majority of the work, and maybe most users needs are fully met with such solutions rather than bloating all tools with colorizing code.
Although I am totally in favour of built-in colorizing, don't get me wrong. :) But until then, there are some solutions out there.

/remove-lifecycle stale

/lifecycle active

is this feature is been included?

I'm currently using https://github.com/garabik/grc for lots of cli tools I use, including kubectl, another alternative, probably more performant could be to use pipecolor but you need to set up the pattern matching https://github.com/dalance/pipecolor/issues/2

remove-lifecycle rotten

/remove-lifecycle rotten

/remove-lifecycle rotten

when this feature is coming?

Any updates?

Now that kubecolor is archived, I believe this is more important than ever. :)

I agree completely with  @felipecrs that we need to add support to this, this also helps people who have special eyes 👀  , this will increase the accessibility to kubectl.

workaround so far:
https://github.com/itaysk/kubectl-neat
alias in my .zshrc file:
alias kneat="kubectl neat | yq"

kubectl get nodes -l gitlab=true -o yaml | kneat

workaround so far: https://github.com/itaysk/kubectl-neat
alias in my .zshrc file:
alias kneat="kubectl neat | yq"

Then i pipe my get commands to kneat.
kubectl get nodes -l gitlab=true -o yaml | kneat

Gold, thanks for sharing.

This feature should be built-in. but in any case, is a good hack, thanks  @WladyX
Best Regards,
H

/assign

/remove-lifecycle stale

Sharing trick based on @spuder comment earlier but using bat: A cat(1) clone with wings.
https://github.com/sharkdp/bat
kubectl get $type $name -oyaml | cat -l yaml --paging=never

Alias
function vml() {
  cat -l yaml --paging=never
}

kubectl get $type $name -oyaml | vml

Output

PS: this is using gruvbox-dark theme from bat.

Just FYI I've made a CLI tool to do this. https://github.com/dty1er/kubecolor

For reference, here's the new maintained one: https://github.com/kubecolor/kubecolor

Honestly, I think that's overengineering. kubectl itself could output colors based on whether it is running in a terminal with color support or not. Like bat itself, which automatically disables color when being executed in things like pipes.

kubectl itself could output colors based on whether it is running in a terminal with color support or not

Point taken, but one may want a completely different output for the same basic commands.

side wish,
kinda wished that* kubectl describe *allowed output format, so that it
can be piped to a any syntax highlighter
On Thu, Apr 18, 2024 at 1:33 PM Brian Topping @.***>
wrote:

kubectl itself could output colors based on whether it is running in a
terminal with color support or not
Point taken, but one may want a completely different output for the same
basic commands.
—
Reply to this email directly, view it on GitHub
https://github.com/kubernetes/kubectl/issues/524#issuecomment-2065269011,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AET32OXYPVUKJ7RW2I3A3HLY6AUZDAVCNFSM4FRPBD42U5DIOJSWCZC7NNSXTN2JONZXKZKDN5WW2ZLOOQ5TEMBWGUZDMOJQGEYQ
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

/remove-lifecycle rotten

/remove-lifecycle rotten


Polish Translation

Hello o/
You know, it's funny to me that this is like, the only other translation beyond English I could've made myself 😅 But I guess this also allows me to maintain this one going forward, so that's a plus.
First of all, the events have to be referred to as "it", not a "he". It's generally best to refer as "it" to things that have already happened (like "connected" or "linked").

Hello,
Thanks for the suggestions.
I've checked them all and made changes where the translation fit better.
I also added my suggestions and changed your suggestions or the words to fit better in the Polish version. I will be 100% sure when I see the translation in the GUI.
In this case, I was translating from German to Polish.
I focused on making the program address the user as BOT.
In Polish, many sentences specify gender.
E.g: Odebrany drop = Received drop or Odebrano drop = Received drop.
Note Odebrany and Odebrano - the difference is at the end of the word in O or Y and means the same thing: Received.
Both sentences indicate that the drop has already been received (past tense).
When translating in Polish, gender should not be specified so that the sentence fits any situation. In case you can't find an equivalent that doesn't specify gender you should use the male equivalent.
The male equivalent is used for Linked, since Linked means that the user has linked a Twitch account.
The word "połączony" is used correctly because it means that the user is connected. You can use the word "Połączona" (if a woman is connected) or "Połączony" (if a man is connected). You can use Połączono to not specify gender but the word does not always fit the situation.
Connected = Połączony, Połączona, Połączono (all are correct - depends on the case)

In case you can't find an equivalent that doesn't specify gender you should use the male equivalent.

That can be correct in some cases, but when you consider the tenses specifically, you'll realize that "Połączony" implies a "right now" state of the situation, while "Połączono" implies an "in the past" state of the situation. This isn't even about the gendering here, more about the reflection of the current state. If something happened already (the account got connected), then "Połączono" is more fitting. "Połączony" is also valid (since the account is still connected) as you said, but since everything else already uses past tense, it'd just stand out too much, I think.

Regarding the "and X more" translation, this is how it's used in the English version:

I'm not sure if German has it in the wrong order or not, but it only really makes sense as a direct translation of "i X więcej", as "X i więcej" would be simply a "specific number and more", which is a weird thing to find at the end of a list containing channel names. The number isn't a channel name, only means how many more of the channels the list contains.

In case you can't find an equivalent that doesn't specify gender you should use the male equivalent.

That can be correct in some cases, but when you consider the tenses specifically, you'll realize that "Połączony" implies a "right now" state of the situation, while "Połączono" implies an "in the past" state of the situation. This isn't even about the gendering here, more about the reflection of the current state. If something happened already (the account got connected), then "Połączono" is more fitting. "Połączony" is also valid (since the account is still connected) as you said, but since everything else already uses past tense, it'd just stand out too much, I think.

That's right. I have corrected it.

Regarding the "and X more" translation, this is how it's used in the English version:
I'm not sure if German has it in the wrong order or not, but it only really makes sense as a direct translation of "i X więcej", as "X i więcej" would be simply a "specific number and more", which is a weird thing to find at the end of a list containing channel names. The number isn't a channel name, only means how many more of the channels the list contains.

Yes, I checked it in the English version and it is already corrected.
I changed to i {amount} więcej.
Optionally, you can change więcej to jeszcze:
Alternatives:
i jeszcze {amount}
i {amount}
I imagine it as i jeszcze {amount} kanałów or i {amount} kanałów.
It is known that I will not add the word "kanalów = channels" there but wants to show here how I imagine it.

In case you can't find an equivalent that doesn't specify gender you should use the male equivalent.

That can be correct in some cases, but when you consider the tenses specifically, you'll realize that "Połączony" implies a "right now" state of the situation, while "Połączono" implies an "in the past" state of the situation. This isn't even about the gendering here, more about the reflection of the current state. If something happened already (the account got connected), then "Połączono" is more fitting. "Połączony" is also valid (since the account is still connected) as you said, but since everything else already uses past tense, it'd just stand out too much, I think.

That's right. I have corrected it.

Regarding the "and X more" translation, this is how it's used in the English version:
I'm not sure if German has it in the wrong order or not, but it only really makes sense as a direct translation of "i X więcej", as "X i więcej" would be simply a "specific number and more", which is a weird thing to find at the end of a list containing channel names. The number isn't a channel name, only means how many more of the channels the list contains.

Yes, I checked it in the English version and it is already corrected.
I changed to i {amount} więcej.
Optionally, you can change więcej to jeszcze:
Alternatives:
i jeszcze {amount}
i {amount}
I imagine it as i jeszcze {amount} kanałów or i {amount} kanałów.
It is known that I will not add the word "kanalów = channels" there but wants to show here how I imagine it.

Thank you for your contribution :slightly_smiling_face:


Cleanup Test Runners

Refs #1258
Overview
This is a collection of cleanup items that were related
to creating the Browser Test Runner in isolation, and
now unifying the codebase.
The test runners share two utilities:

createTestCases
evaluateTestCase

What is different about the two test runners?

The browser test runner has a nested mocha reporter
The node test runner has a simple reporter, diffed outputs, and can
generate test cases

This is a really big patch, what's actually changed?

Not much. I recommend looking at the diff with ?w=1 because evaluate-testcase looks like it changed but the UMD wrapper caused indentation
createTestCases was extracted from browser-tests
enumerateFixtures was deleted in unit-tests.js
evaluateTestCase was required in unit-tests.js and all of the shared code was dropped
With all that said, I apologize that this PR is a lot of code to follow.

I checked out the branch and played with it. This seems quite straight forward, albeit its rather big change. I think it's good to merge it as is, unless @jasonLaster you want to tweak it a bit more?

Just reviewed. I think it's ready to merge. If there are any tweaks or fixes, I'd be happy to do that if they come up.

:+1:  Thank you!


This is not a problem for me anymore, I have changed my proxy settings but your library does not support proxies which don't have username and password auth,
I mean, you can't requests like that:
proxy = "socks5://proxyip"
session.get(url=url,proxy=proxy)

it supports,
proxy = "socks5://username@password:proxyip"
session.get(url=url,proxy=proxy)

For guys, who use socks5 proxy for free from internet, this may cause problems. Because most of them doesn't have username and password auth.
I really appreciate if you solve this problem.
Thanks in advance.

What's the error raised?


Unable to create G streamer Pipeline.

I have wrote the code to in which a user will enter his name and his 3 pictures would be labeled to the name he enters and saved the existing directory structure of Pascal VOC dataset. It can beneficial for ssd model you have trained and after depolying you want to retrain it after taking some pictures during live stream using maybe button. I have written this for my final year project.
It works on the Windows just by giving the Video capture line of CV2 to 0 to access your webcam of your laptop or PC in Windows.
But I am unable do it in the Jetson it is unable to the Webcam feed from Camera, GStreamer Pipeline is also not created and also after if the GStreamer pipeline is created how to convert GStreamer Pipeline to OpenCV. I have attached the code and error screenshot.
kindly tell me the solution I have to submit my project till Tuesday.
https://github.com/saifurrehman4114/autolabeling/blob/main/autolabeling.py

@dusty-nv please can you help.

You may need to use a pipeline like this instead:  cv2.VideoCapture("v4l2src device=/dev/video0 ! appsink")
See the "Play Video" section of this page:  http://blog.skhawaja.com/2018/06/blog-post.html
I'm not very familiar with using OpenCV for video capture, instead I use videoSource from jetson-inference.


Geometry readback memory overflow

this works locally but i imagine that is because i havent pulled in a day or so
https://app.webaverse.com/?src=https%3A%2F%2Fplankatron.github.io%2Fdcl_remix%2Fdcl_remix.scn

Is the geometry too huge?

My first guess is it looks like the physics system cannot handle the size of the models being loaded.

https://github.com/webaverse/app/blob/dcd3bec5140109f1a8e922b2c9c347703cb7d3a2/physx.js#L873

https://cdn.discordapp.com/attachments/897887454839848981/904832714077798451/Screenshot_2021-11-01_at_21.40.30.png

We have increase buffer for position and indices so now this is no longer a problem
const positionsBuffer = allocator.alloc(Float32Array, 1024 * 1024 * 2);
const indicesBuffer = allocator.alloc(Uint32Array, 1024 * 1024 * 2);


Use cookiecutter variable for TF operations backend specification

Terraform does not appear to allow the use of variables within backend specifications. This issue highlights the need to fix https://github.com/CU-DBMI/gc-cloud-storage-bucket/blob/main/{{ cookiecutter.project_name }}/terraform/operations/backend.tf#L4 with a cookiecutter substitution to avoid issues during TF implementation.

Same applies to account specifications here https://github.com/CU-DBMI/gc-cloud-storage-bucket/blob/main/{{ cookiecutter.project_name }}/terraform/operations/accounts.tf#L4


Fix code highlighting #80

Fix padding first string in tag code
fixes problem #80
closes #80

@etf-yrm when you make visual changes, please make sure to post screenshots here with before/after so it can be easily reviewed.

@vpetersson i add img to first comment


Fix JSX - Conditional expression

What version of this package are you using?
14.3.3
What operating system, Node.js, and npm version?
Node 12.15.0 - NPM 6.13.4
What happened?
standard --fix not fix some problem:
Root.js:46:7: Expected indentation of 4 space characters but found 6
const PrivateRoute = ({ component: Component, ...rest }) => (
  <Route
    {...rest}
    render={props =>
      !isAuth() ? (
        <Redirect to={{ pathname: '/', state: { from: props.location } }} />
      ) : (
        <Component {...props} />
      )} {/* line 46 */}
  />
)

If I change the indentation to 4 spaces, I get the following error:
Root.js:46:1: Expected indentation of 6 spaces but found 4
The error is cyclical.

Thanks for the issue. This is fixed in standard 15.0.1

Scratch that – this is yet another case that we missed. Will fix it in standard v16!

This will be in the standard 16 release


Add Timers menu in menu, add timer with vibration

There are a lot of comments.
This PR should be reviewed.
Button to edit the timer count could be added.

Too many things and personal changes.

@realroot2185 This looks good, I just haven't had time to review it properly yet. I'd be happy to add it.

It would be nice to have a button when the timer is running, so when TimerState in watchful-ui/src/lib.rs is shown.
Vibrator name could be improved.
I added personal colors changes.
In Settings->Firmware the button should be lowered a little.

I think that something to handle submenus could be useful.
In main->timers pressing the button does not go back to main but draws again "timers".
Or it goes back to main.
I think that it should go back of one level for each press.
main->settings->firmware works fine because there is not state but timer needs one to update the value and then vibrate upon completion.
Not sure to how handle that.


Problem displaying the 'Detailed alert info'

The card displays the Alert2 alerts fine, but no amount of clicking on one of them results in anything, let alone showing its 'Detailed alert info'. It will let me 'Ack' the alert though ...

Hi Paul, I'm guessing this is due to a difference between browsers / OS that I didn't test.
Are you seeing this in the HA app or web browser?
If the app, can you tell me the app version and phone OS?
If the web, can you tell me what browser and version you're running on, and your OS?
I use Firefox 131.0.3 and Chrome 130.0.6723.58 on Ubuntu 24.04, and run the HomeAssistant app 2024.9.4-full on Android 14.

Hi Josh, sure thing. I have it on both the app (also 2024.9.4-full, but on Android 12) and Chrome (130.0.6723.59 on Win11)
Hope this helps ...

Thanks for the extra info. I found the problem - the current code depends on a package "card-tools", which isn't included. I'm recoding to remove the dependency.

I just released v1.1.2 which I believe will fix the issue. @Paul-Vdp , can you give it a try?
Note that after upgrading this package, you may need to clear cookies & site data, or just reload the web page a few times to get alert2.js to update.  The README and release notes have details on how to speed up the update on the Android HA companion app.

Hi Josh, I tested it on Chrome and all seems well. Couldn't test the app yet for lack of an active alert, but I'm confident it will work as well. Thanks a lot for a quick and perfect fix - as usual ;-)

Great, glad it worked. I'm closing this. Feel free to reopen or file anew if it doesn't work on your phone.
J


builtin buffer provider could be shadowed by lsp, thus ignoring words from comments in suggestions

Make sure you have done the following

[X] I have updated to the latest version of blink.cmp
[X] I have read the README

Bug Description
First off, I really appreciate the effort into this plugin. The performance is sooo impressive! Kudos!
I would like to report that the buffer provider has not included the words from the comments, is that intentional?
Way to reproduce this issue:

Run echo "# uuid is a library used by this module" >> a.py && nvim a.py.
enter uu, my expected behavior(also the behavior in cmp IIRC) is uuid will show up, but it is not.

Relevant configuration
{
    "saghen/blink.cmp",
    -- lazy loading handled internally
    lazy = false,
    -- use a release tag to download pre-built binaries
    version = "v0.*",

    opts = {
      -- 'enter' for mappings similar to 'super-tab' but with 'enter' to accept
      keymap = { preset = "enter" },

      -- experimental auto-brackets support
      accept = { auto_brackets = { enabled = true } },

      -- experimental signature help support
      trigger = { signature_help = { enabled = true } },
    },
  },

neovim version
v0.10.2
blink.cmp version: branch, tag, or commit
master

After some digging, it looks like removing the line here would force the use of buffer even when lsp is available and resolve the issue.

I've changed my config to be:
      sources = {
        -- list of enabled providers
        completion = {
          enabled_providers = { "lsp", "path", "snippets", "buffer" },
        },

        -- table of providers to configure
        providers = {
          buffer = {
            name = "Buffer",
            module = "blink.cmp.sources.buffer",
            score_offset = -3,
          },
        },
      },

And the completion looks good to me now. Thanks! Please feel free to close this issue. :)

Sounds good! I've created #311 which might make this a bit more intuitive.
Fyi, you can enable-disable the fallback_for behavior by passing a function in its place. You could check the current LSP and only disable the fallback_for for the misbehaving LSPs.
fallback_for = function()
  local clients = vim.lsp.get_clients({ bufnr = 0 })
  for _, client in pairs(clients) do
    if client.name == 'lua_ls' then return {} end
  end
  return { 'lsp' }
end


⚠ Bofrost.fr has degraded performance

In 0e03713, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 1209 ms

Resolved: Bofrost.fr performance has improved in 9a6d3af.


Bumped selenium-standalone version to 4.2.0

Feel free to use it as a base, I wanted to try out webdriver with phantomjs, and I couldn't get it to work with selenium 2.44, so I bumped selenium-standalone in order to be able to use 2.45.
--
Added the following options to the task:
- seleniumOptions: options to start selenium
- seleniumInstallOptions: install options
If the drivers are missing, the task will
call selenium.install.
Now using the callback option of selenium.start().

This looks good. Will add additional options to the grunt interface so the user can decide which selenium version should get used. Thanks. Will merge that PR once I get time

+1. Waiting to use Selenium 2.45 with Firefox 36.

+1 for this

+1 This will be great!

Thanks, sorry for the late response. Will upgrade to v4.4.0

Published to NPM .. thanks again @rcarton


Snapshot issue after restoring from backup

I restored a few volumes from backup and it's not able to take any snapshot. I get the following error from UI pop up:
fail to list snapshot: cannot get client for volume matomo-backup-1: cannot get engine client with image rancher/longhorn-engine:v0.4.1: engine image ei-6e2b0e32 (rancher/longhorn-engine:v0.4.1) is not ready, it's deploying
UI engine pods status is green.

Not sure if backup restoration is the problem. New volume also have this issue.

Is there anything recently changed with the cluster nodes? Image may become unready when something for the node changed. We've found a bug #489 recently.

I was restoring backup and loading apps. Not sure about the above issue. I flushed the manager and it fixed my problem.


No need to inherit Protocol?

See https://peps.python.org/pep-0544/#explicitly-declaring-implementation

explicit structural subtyping: inherit custom Protocol
implicit structural subtyping: do not inherit

Example

NiceColor: explicit
ImplicitColor: implicit

Detail (Japanese): https://scrapbox.io/nikkie-memos/Specification_(PEP_544)


Add release notes for first version

In new release notes page in docs

https://github.com/trinodb/trino-gateway/pull/57
and
https://github.com/trinodb/trino-gateway/pull/52


BigArrays.equals could use a more optimized loop using java.util.Arrays.equals

EDIT: Nevermind, I see you addressed this. From the Javadoc: This method uses a backward loop. It is significantly faster than the corresponding method in {@link java.util.Arrays}
While we would need to benchmark whether this is still true in OpenJDK 9 and up (where they introduced the vectorized loops), I can see it still being true in the OpenJDK 8 that we are targeting.
BigArrays.equals should use java.util.Arrays.equals for all sub arrays. This would allow us to take advantage of the hotspot intrinsics OpenJDK has for those (including vectorization in later JVM releases).
Except for the KEYS_USE_REFERENCE_EQUALITY case, in which case we will still need a handwritten loop to force the == comparison.

Well, let's keep this in mind for the Java 9-only release.

Well, let's keep this in mind for the Java 9-only release.