Remove Artifact Store Polling for Blocking Invocations

Description

Currently the controller polls the artifact store for activation responses for blocking invocations. It appears this functionality is covering up a bug in the controller/invoker/Kafka path. The Kafka completed topic is not configured to handle non-default action response sizes. As a result, all action responses that exceed the Kafka default message payload size are retrieved via DB polling. Given that the controller polls the database for a blocking invocation's response every ~15 seconds, actions that generate large responses may appear to be very slow to complete.
TODO:

send information to the dev list regarding this topic.
Differentiate between KAFKA_MESSAGE_MAX_BYTES and whisk.activation.payload.max.

KAFKA_MESSAGE_MAX_BYTES should be larger than whisk.activation.payload.max to account for data being added to the activation record when it is serialized by the Kafka producer.

Related issue and scope

[ ] I opened an issue to propose and discuss this change (#????)

My changes affect the following components

[ ] API
[x] Controller
[x] Message Bus (e.g., Kafka)
[ ] Loadbalancer
[x] Invoker
[ ] Intrinsic actions (e.g., sequences, conductors)
[x] Data stores (e.g., CouchDB)
[ ] Tests
[ ] Deployment
[ ] CLI
[ ] General tooling
[ ] Documentation

Types of changes

[x] Bug fix (generally a non-breaking change which closes an issue).
[ ] Enhancement or new feature (adds new functionality).
[ ] Breaking change (a bug fix or enhancement which changes existing behavior).

Checklist:

[x] I signed an Apache CLA.
[ ] I reviewed the style guides and followed the recommendations (Travis CI will check :).
[ ] I added tests to cover my changes.
[ ] My changes require further changes to the documentation.
[ ] I updated the documentation where necessary.

Here is an example of the performance impact we are talking about
Action that generates large payload:
    let str = new Array(args.size).join(args.char)
    return {
        msg : str
    }
}```

16 seconds to invoke the action:
```time ./wsk action invoke size -p size 1500000 -p char a -b >> test.txt

real    0m16.368s
user    0m0.160s
sys    0m0.086s```

PG3 2799 🔵

PG1 3391 🔵
PG3 2806 🔵

Codecov Report

Merging #4033 into master will decrease coverage by 4.96%.
The diff coverage is 0%.

@@            Coverage Diff             @@
##           master    #4033      +/-   ##
==========================================
- Coverage   86.01%   81.04%   -4.97%
==========================================
  Files         147      147
  Lines        7178     7166      -12
  Branches      442      445       +3
==========================================
- Hits         6174     5808     -366
- Misses       1004     1358     +354

Impacted Files
Coverage Δ

...isk/core/controller/actions/PrimitiveActions.scala
86.36% <0%> (-0.45%)
:arrow_down:

...core/database/cosmosdb/RxObservableImplicits.scala
0% <0%> (-100%)
:arrow_down:

...core/database/cosmosdb/CosmosDBArtifactStore.scala
0% <0%> (-95.52%)
:arrow_down:

...sk/core/database/cosmosdb/CosmosDBViewMapper.scala
0% <0%> (-92.6%)
:arrow_down:

...whisk/core/database/cosmosdb/CosmosDBSupport.scala
0% <0%> (-83.34%)
:arrow_down:

...abase/cosmosdb/CosmosDBArtifactStoreProvider.scala
0% <0%> (-58.83%)
:arrow_down:

...la/whisk/core/database/cosmosdb/CosmosDBUtil.scala
92% <0%> (-4%)
:arrow_down:

...rc/main/scala/whisk/common/ForcibleSemaphore.scala
88.46% <0%> (-3.85%)
:arrow_down:

...ain/scala/whisk/core/entity/ActivationResult.scala
95.38% <0%> (-1.54%)
:arrow_down:

...src/main/scala/whisk/core/controller/Actions.scala
92.53% <0%> (-0.5%)
:arrow_down:

Continue to review full report at Codecov.

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

PG4 2241 🔵

Superseded by https://github.com/apache/incubator-openwhisk/pull/4088.


"Run operations" button crashes app

app.bundle.js:61 TypeError: Cannot read property 'name' of null
    at t.value (app.bundle.js:53)
    at app.bundle.js:53
    at Array.map (<anonymous>)
    at t.value (app.bundle.js:53)
    at Io (app.bundle.js:61)
    at No (app.bundle.js:61)
    at Lo (app.bundle.js:61)
    at Wa (app.bundle.js:61)
    at Ga (app.bundle.js:61)
    at Is (app.bundle.js:61)

Create a new SQLX file in a project connect to a warehouse
Write any query
Click the blue Run operations button in the RHS bar
App crashes

Will try and get a dev stack trace.

Moved from dataform-co/dataform-co#1753
/cc @lewish

was fixed in https://github.com/dataform-co/dataform-co/pull/1754


Search flow first page high fidelity

Overview
Created the first page of the search flow with high fidelity features.
Changes Made

I created the first page of the searching flow which links to two city pickers for the departure and arrival locations, as well as a button that will link to a calendar page in the future and a button that will search for trips in the future.
Test Coverage

I manually tested this feature and it seems to work smoothly as designed.
Next Steps

In the next steps, we aim to link the calendar page to this searching flow and have it update the date in the search data structure. Further on, we also aim to implement the actual "Find Trips" button to come up with a list of trips sorted by relevance.
Related PRs or Issues

Screenshots

Screen Shot Name

Crisis averted

Also just realized to help generalize the placements for like the green dashed line and black road lies you can give them weights instead of widths!


find with Regular expression. the result is wrong.

find with "\d*" in
<IP_ADDRESS>
<IP_ADDRESS>
<IP_ADDRESS>
<IP_ADDRESS>
<IP_ADDRESS>
<IP_ADDRESS>
<IP_ADDRESS>
<IP_ADDRESS>
<IP_ADDRESS>
<IP_ADDRESS>
<IP_ADDRESS>
<IP_ADDRESS>
<IP_ADDRESS>
<IP_ADDRESS>
<IP_ADDRESS>
<IP_ADDRESS>
<IP_ADDRESS>
<IP_ADDRESS>
<IP_ADDRESS>
<IP_ADDRESS>
<IP_ADDRESS>
<IP_ADDRESS>
<IP_ADDRESS>
<IP_ADDRESS>
the result is wrong。

Verifiers: we don't support displaying zero-length search result in the editor right now so even though \d* should match every boundary of non-digit characters, we don't show them as search results.

I still think this is incorrect，Beacause it can not display results that "\d+" can search.

@JunjieShii I already pushed a fix which can display all matched numbers, for example, searching in <IP_ADDRESS> will give you 10, 243, 30 and 10.


A potential risk in piraeus that could lead to takeover of the cluster

Dear Team Members:
Greetings! Our team is very interested in your project and we recently identified a potential RBAC security risk while doing a security assessment of your project. Therefore, we would like to report it to you and provide you with the relevant details so that you can fix and improve it accordingly. I couldn't find a way to report security issues, so I made the report here. I apologize if this is not the appropriate channel for reporting.
Details:
In this Kubernetes project, there exists a ClusterRole that has been granted list secrets high-risk permissions. These permissions allow the role to list confidential information across the cluster. An attacker could impersonate the ServiceAccount bound to this ClusterRole and use its high-risk permissions to list secrets information across the cluster. By combining the permissions of other roles, an attacker can elevate the privileges and further take over the entire cluster.
we constructed the following attack vectors.
First, you need to get a token for the ServiceAccount that has this high-risk privilege. If you are already in a Pod and have this override, you can directly run the following command to get the token: cat /var/run/secrets/kubernetes.io/serviceaccount/ token. If you are on a node other than a Pod, you can run the following command to get the kubectl describe secret .
Use the obtained token information to authenticate with the API server. By including the token in the request, you can be recognized as a legitimate user with a ServiceAccount and gain all privileges associated with the ServiceAccount. As a result, this ServiceAccount identity can be used to list all secrets in the cluster.
We give two ways to further utilize ServiceAccount Token with other privileges to take over the cluster:
Method 1: Elevation of Privilege by Utilizing ServiceAccount Token Bound to ClusterAdmin
Directly use a Token with the ClusterAdmin role permissions that has the authority to control the entire cluster. By authenticating with this token, you can gain full control of the cluster.
Method 2: Create Privileged Containers with ServiceAccount Token with create pods permission You can use this ServiceAccount Token to create a privileged container that mounts the root directory and schedules it to the master node in a taint-tolerant way, so that you can access and leak the master node's kubeconfig configuration file. In this way you can take over the entire cluster.
For the above attack chain we have developed exploit code and uploaded it to github: https://github.com/HouqiyuA/k8s-rbac-poc
Mitigation methods are explored:
Carefully evaluate the permissions required for each user or service account to ensure that it is following the principle of least privilege and to avoid over-authorization.
If list secrets is a required permission, consider using more granular RBAC rules. Role Binding can be used to grant list secrets permissions instead of ClusterRole, which restricts permissions to specific namespaces or resources rather than the entire cluster.
Isolate different applications into different namespaces and use namespace-level RBAC rules to restrict access. This reduces the risk of privilege leakage across namespaces
Looking forward to hearing from you and discussing this risk in more detail with us, thank you very much for your time and attention.
Best wishes.
HouqiyuA

Closing this as duplicate of https://github.com/piraeusdatastore/piraeus-operator/issues/449, see the discussion there


Allow relative paths in BNGL importer

Fixes: #430

Coverage decreased (-0.8%) to 78.162% when pulling c564473d381f6f519fdaa161af267e3d2fa6e5c1 on alubbock:bngl_import_relpath into 9d2d3bfc5d406a323b333be7b3fbf3363420911a on pysb:master.

Coverage decreased (-0.8%) to 78.162% when pulling c564473d381f6f519fdaa161af267e3d2fa6e5c1 on alubbock:bngl_import_relpath into 9d2d3bfc5d406a323b333be7b3fbf3363420911a on pysb:master.


Tracking RunV Support in cri-o/ocid

Tracking RunV Support in cri-o/ocid
Recently we tried a little bit to play with cri-o to run runV. For those who are not familar with runV, runV is a OCI compatible runtime which leverages hypervisor as isolation sandbox. It is portable (multi-arch, multi-hypervisor) and lightweight like Linux container while secure as normal VM.
Comparing to remote runtime, cri-o + runV is straightforward and efficient. On the other hand, both cri-o and runV are young projects so there still need a lot of work to do. Since we have some experience on OCI runtime, we can help both with RunC and RunV integration. Let's begin the first step from here.
Pod/container managment
Generally, we reached agreement that runV integration will try best to match the runC workflow including conmon. Thus, a light-weighted proxy will be needed to meet requirements from conmon side. Besides that, there are some features are expected to happen in runV side:

[ ] runV refratoring: the existing containerd dependency will be refactor out (but we will keep the old code for test usage) while using file-lock based management (no daemon required, follow runC style mgmt)

[ ] stream: the host-side light-weighted proxy will handle io between hyperstart and client ( the workaround we mentioned on github for --console-socket of runC)

[ ] Pod level cgroups. For hypervisor based runtime, it always requires cpu/mem set before start the sandbox, we will get these value from Pod level cgroups (https://github.com/kubernetes/kubernetes/pull/31546, and we have also implemented same thing in https://github.com/kubernetes/frakti/pull/46)

[ ] Infra container. RunV will try best to match cri-o's workflow, so a 'useless' infra container will be launched inside RunV sandbox, but please note most of infra container's responsibilities are actually done by RunV sandbox & hyperstart (the init process inside it), see: https://github.com/kubernetes-incubator/cri-o/issues/168#issuecomment-262866122. We are also open for discussion to eliminate this infra Container, if possible.

runV CLI API

Mainly reference: https://github.com/opencontainers/runtime-spec/pull/513

[ ] runV need to split start to create and start (@gnawux https://github.com/hyperhq/runv/pull/295)
[ ] Implement delete api

Others

[ ] Seprerate runV annotations from labels
[ ] Attach/exec/port-mapping in favor of k8s CRI streaming:

k8s CRI streaming issue & PR:
https://github.com/kubernetes/kubernetes/issues/29579
https://github.com/kubernetes/kubernetes/pull/35330

streaming design doc https://docs.google.com/document/d/1OE_QoInPlVCK9rMAx9aybRmgFiVjHpJCHI9LrfdNM_s/edit?usp=sharing

[ ] logging in favor of k8s CRI logging:

k8s CRI logging issue & proposal:
https://github.com/kubernetes/kubernetes/issues/30709
https://github.com/kubernetes/kubernetes/pull/33111

Network

[ ] CNI support for hypersior based runtime is under discussion: https://github.com/containernetworking/cni/issues/251, since it still need time (at least two releases later), we are working on support bridge-based networking such as flannel. (claimed by: @heartlock)

/cc the authors of runV: @laijs @gao-feng
and /cc hyper + k8s community members who will help (and already helped) this work: @feiskyer @resouer @Crazykev @YaoZengzeng @xlgao-zju

@resouer Make a simple todo list for easy tracking?

@feiskyer Yes, we are working out a list

The biggest thing I would ask is that you all make sure that you're fine with the state of opencontainers/runtime-spec#513. Conmon will follow that API once that is merged (and the corresponding runC PR -- opencontainers/runc#1018 -- is merged), because then we don't have to assume the runC API any more. Specifically, can you make sure that --console-socket will work for runV?

Also, I'm working on fixing up conmon to come into line with opencontainers/runtime-spec#513, but I'm going to hold off on making a PR until runC merges the --console-socket patchset (which the other maintainers have said will be the end of this month, hopefully).

@resouer Thanks for kicking off this issue. Looking forward to working with you all. As @cyphar suggested, keep an eye on 513 for any potential issues/workaround you may need in runv.

The way to get the exit code of container is not suitable for runv, right now the exit code is got by conmon running on host, this definitely doesn't work for runv.

For all, just updated the issue description with a TODO list to track the integration status.

@feiskyer @resouer How the sandbox/container creation will be solved for cri-o+runV? Creating infra-container for sandbox and adding N containers to it will result in N+1 VMs launched which is not expected I think.

Creating infra-container for sandbox and adding N containers to it will result in N+1 VMs launched which is not expected I think.

This is not true for runV. For runV, a sandbox is a VM, and all containers of same pod will be run in one VM.

@feiskyer I'm probably missing something, but how does runV know from the OCI config that a specific container is supposed to be a sandbox or not ?

+1 to @sameo's question.
Also implementation of RunPodSanbox in cri-o always creates infra-container so development is needed to provide this. Thus, shouldn't it be a part of the integration plan?
cc @pskrzyns

@jjlakis It probably will be necessary to add features to runV (and to the proposed VM section of the spec) similar to Linux's namespace paths. Otherwise we won't be able to generically tell a VM-based runtime to run a process inside a VM rather than start a new one.

@sameo runv always launches a sandbox(vm and hyperstart agent/spawner, namespace, sandbox-pidns-init process inside the vm) when the it launches the first container including the infra-container.
but the infra-container in the vm is useless, sandbox-pidns-init process owns the namespaces instead of the pause process of the infra-container, sandbox-pidns-init is also the subreaper of the non-entry-processes. (entry-processes = oci-container/oci-process 's first process).

Just updated the track list about infra container, as well as pod level cgroups.

@laijs I'm fully aware of hyperstart's behaviour as we're switching to it for Clear Containers as well :) I fully understand how the pause container itself is irrelevant for runV or Clear Containers.
What I don't understand is how runV will know when to start a VM and when to send a NewContainer command to hyperstart to actually add a container to the Pod. From an OCI compatible runtime perspective, this will look like 2 very similar commands. For example

<runtime> create -c podsandbox-1 -b pause_bundle_path -p pid_file to create (and then start) the infrastructure container
<runtime> create -c container1 -b container_bundle_path -p pid_file to create (and then start as well) a container to be running withint the pod namespaces.

with command 1 you need to create a VM that will start hyperstart and have it ready to take commands. With command 2 you must not create a VM but instead send an hyperstart NewContainer command to an already existing VM. From the command arguments and/or the OCI config file under the bundle path, how will runV make the distinction between case 1 and 2 ?
FYI, we're preparing a PR for Clear Containers support and as discussed with @mrunalp during LPC, we want to pass that information through ocid namespaced annotations. See this commit.

@laijs Or do you infer that a container must run on a pod by matching the networking and ipc namespaces of the container's namespace description with a pod's ones ?

@sameo, some changes are needed in the runtime-spec for these scenerios. Before any possible changes in the runtime-spec, cc-container can expose the (infro-)container's proxy's pid to the upper layer(cri-o or docker), when the upper layer uses the pid in the namespace path in the spec for creating the next container, the runtime(cc-container) will know the information and add the new container to the previous VM. runv may also have to follow this way and add proxy-processes.
This is just a workaround, and it would be broken in many ways. what do you think?

@laijs I agree only using the pid in the namespace path would be broken and really only a workaround.
With clear containers we have a proxy to arbitrate between all processes that want to access and on cc-shim for each container that we launch. As a matter of fact, when running ocid with PR #217, I can now start, stop and delete pods, and also start additional containers within that pod.
I'm using the additional annotations on the clear containers code in this branch:
https://github.com/01org/cc-oci-runtime/commits/sameo/topic/cri-o
I'd be really interested to get your feedback on PR #217 as this could also be helpful for the runV integration with CRI-O.

@laijs #217 is probably a much better fix for the issue.

Closing as I assume you aren't working on this actively.


Updates go version

Duplicates https://github.com/apache/brooklyn-client/pull/86

Hm! It didn't occur to me that 86 might imply the need for changes in here.
The error is libssl_conf.so: cannot open shared object file: No such file or directory - I presume this is because of the change to maven:3.6.3-jdk-8.
I'm not quite sure what to do about this! :-(   I don't like the thought of having to make changes in brooklyn-ui because of a change in brooklyn-client!


I got a problem when I use trtis client

Description
when i use infer_ctx.run to inference a tensorflow graphdef model, the client displayed errors like:
tensorrtserver.api.InferenceServerException: [inference:0 92] 2 root error(s) found.
(0) Invalid argument: input must be 4-dimensional[1,1,248,400,3]
[[{{node Preprocessor/map/while/ResizeToRange/resize_images/ResizeBilinear}}]]
[[SecondStagePostprocessor/BatchMultiClassNonMaxSuppression/map/while/MultiClassNonMaxSuppression/non_max_suppression_22/iou_threshold/_1489]]
(1) Invalid argument: input must be 4-dimensional[1,1,248,400,3]
[[{{node Preprocessor/map/while/ResizeToRange/resize_images/ResizeBilinear}}]]
my input tensor's shape is [1,248,400,3] instead of [1,1,248,400,3]. Why does it add an extra dimension？
Please help me to fix it :)
thanks a lot
TRTIS Information
I use docker to run trits and client. The versions are "nvcr.io/nvidia/tensorrtserver:19.09-py3" and "trtis_client:19.07.x "
To Reproduce
Run the client to inference the model.
Expected behavior
inference successfuly

The first dimension is the batch size. For instance:
# Run inference
ctx = InferContext(url, protocol, model_name)
results = ctx.run(
    {input_name: input_list},
    {output_name: InferContext.ResultFormat.RAW},
    batch_size)

In here, if input_list is a list of single input of [1,248,400,3] shape, this will become [1,1,248,400,3], if a list of 2 than [2,1,248,400,3]. What I understand from your input is that you are trying to send a single image with [248,400,3] dims. Try to get rid of first dim.
input_list = [np.squeeze(input_image)]

yeah, i really want to send a single picture but my model input shape is [-1, -1, -1, 3] which can be sent any number, height, width 3 channels picture. In fact, my code is :
image = Image.open(FLAGS.image_filename)
image_np = np.array(image).astype(np.uint8)
image_np = np.expand_dims(image_np, axis=0)
I use np.expand_dims to fit the first dimension of my model input, otherwise it will occur the error like:
"tensorrtserver.api.InferenceServerException: [inference:0 97] unexpected shape for input 'image_tensor' for model 'sign_detect'. Expected [-1,-1,-1,3], got [248,400,3]"
it looks like lacking batchsize dimension. But it is conflict for the error in front of.

Can you please share your config.pbtxt? and if possible code snippet of how you send inference request using InferContext?

my config.pbtxt is
name: "sign_detect"
platform: "tensorflow_graphdef"
max_batch_size: 8
input [
{
name: "image_tensor"
data_type: TYPE_UINT8
dims: [ -1, -1, -1, 3 ]
}
]
output [
{
name: "detection_boxes"
data_type: TYPE_FP32
dims: [ 1 ]
reshape: { shape: [] }
},
{
name: "detection_classes"
data_type: TYPE_FP32
dims: [ 1 ]
reshape: { shape: [] }
},
{
name: "detection_scores"
data_type: TYPE_FP32
dims: [ 1 ]
reshape: { shape: [] }
},
{
name: "num_detections"
data_type: TYPE_FP32
dims: [ 1 ]
reshape: { shape: [] }
}
]
and here is my client code:
model_name = FLAGS.model_name
model_version = -1
batch_size = 1

# Create a health context, get the ready and live state of server.
health_ctx = ServerHealthContext(FLAGS.url, protocol,
                                 http_headers=FLAGS.http_headers, verbose=FLAGS.verbose)
print("Health for model {}".format(model_name))
print("Live: {}".format(health_ctx.is_live()))
print("Ready: {}".format(health_ctx.is_ready()))

# Create a status context and get server status
status_ctx = ServerStatusContext(FLAGS.url, protocol, model_name,
                                 http_headers=FLAGS.http_headers, verbose=FLAGS.verbose)
print("Status for model {}".format(model_name))
print(status_ctx.get_server_status())

# Create the inference context for the model.
infer_ctx = InferContext(FLAGS.url, protocol, model_name, model_version,
                         http_headers=FLAGS.http_headers, verbose=FLAGS.verbose)

image = Image.open(FLAGS.image_filename)
image_np = np.array(image).astype(np.uint8)
image_np = np.expand_dims(image_np, axis=0)

# Send inference request to the inference server. Get results for
# both output tensors.
result = infer_ctx.run({ 'image_tensor' : ([image_np]) },
                       { 'detection_boxes' : InferContext.ResultFormat.RAW,
                         'detection_classes' : InferContext.ResultFormat.RAW,
                         'detection_scores' : InferContext.ResultFormat.RAW,
                         'num_detections' : InferContext.ResultFormat.RAW},
                       batch_size)

Here you can find an example of what you are trying to accomplish. From your code, in config change input dims to:
input [
{
name: "image_tensor"
data_type: TYPE_UINT8
dims: [ -1, -1, 3 ]
}
]

and in your client code remove this line: image_np = np.expand_dims(image_np, axis=0).
For output dims, you might get some errors too.

It works,thanks a lot.
But, could you tell me though my model input shapes is
{"shape":{"dim":[{"size":-1},{"size":-1},{"size":-1},{"size":3}]}}
in tensorboard, the shape writen in config.pbtxt is [ -1, -1, 3 ] and it can be started successfully?

@rithd in TRTIS if you set max_batch_size: 0 than you can set the exact dimension dims: [ 1,-1, -1, 3 ]. Here if you notice we set first dim to be 1, since in this case -1 is not allowed. However, this means that your deployed model will not be supporting batch inference. In your case, when you set max_batch_size: 8, it means that you can send up to 8 images at once and it is batched accordingly. For example you can send 4 requests:
result = infer_ctx.run({ 'image_tensor' : ([image_np, image_np, image_np, image_np]) },
                       { 'detection_boxes' : InferContext.ResultFormat.RAW,
                         'detection_classes' : InferContext.ResultFormat.RAW,
                         'detection_scores' : InferContext.ResultFormat.RAW,
                         'num_detections' : InferContext.ResultFormat.RAW},
                       4)

I think my model's input is 4 dimensions (and the first dimensions is actually batch size) but it should have nothing to do with trtis. Trtis should cannot mention the first dimension as batch size. Is that true?

Yes, your model is 4 dimensional and the first dimension is the batch size. It is important for TRTIS, as it determines whether your model supports batch inference or not. In your case, having batch size -1 means you can specify any max_batch_size and TRTIS will support all batch sizes up to that number. On the other hand, if your model did not suport any batch size, you should set max_batch_size to 0 and TRTIS will know that your model does not support batching. For example, let's say your model only supported batch size 3 and had dim dims: [ 3,-1, -1, 3 ] than you would have:
max_batch_size: 0
input [
{
name: "image_tensor"
data_type: TYPE_UINT8
dims: [ 3, -1, -1, 3 ]
}
]

So trtis will think the first dimension as batch size automatically. If model input has 4 dimensions, in config it should have 3.If it has 3, in config it has 2?

@rithd If your 1st dim is batch size than yes.

Alright~
And I have another model, it input is only one pic like [-1, -1, 3]. Then my config should like:
max_batch_size: 0
input [
{
name: "image_tensor"
data_type: TYPE_UINT8
dims: [ -1, -1, 3 ]
}
]
When max_batch_size=0, the first dimension will not be determined as batchsize, is it?

@rithd Yes, I think this config should work

thanks a lot :)

there is another error:
"tensorrtserver.api.InferenceServerException: [inference:0 22] unexpected shape for output 'num_detections', model configuration shape is [1], inference shape is [1]"
and my config is
{
name: "num_detections"
data_type: TYPE_FP32
dims: [ 1 ]
}
the dims is [1], why does it occure?

@bezero
could you help me, please

@rithd Unfortunately, I don't know why. Try to use dims: 1 instead of dims: [ 1 ].

The error message here is somewhat misleading. the model config shape reported is without batch dimension while the inference shape reported is the full shape, include batch dimension if allow batching.
So, the output "num_detections" of the model seems to have full shape [ batch_size ], and the model config for it in full shape is [ batch_size, 1]. You should try to specify the reshape field of the output in model config so that TRTIS will validate the output shape using the reshape value instead:
{
   name: "num_detections"
   data_type: TYPE_FP32
   dims: [ 1 ]
   reshape: { shape: [] }
}

@GuanLuo
that works
thx

"reshape: { shape: [] }"
Does this mean that the output can be any dims?

No, that means the full shape will be interpret as [ batch_size ] instead of [ batch_size, 1 ] when validating the output shape. See the documentation for detail.

Thanks.
Another question is that I found the result of a same detection model which ran on TRTIS is different from running directly.The score reduced from 9.99 to 5.51 so that the object couldn't be detected. The model is a tensorflow frozen pb model and I have shown you its config.

@bezero @GuanLuo
Please look at this, and happy new year~

Can you provide steps to reproduce it? And what is the script, and TF version, you used to run directly? It will also be helpful if you can share your model

The model is secret-involved so I can't provide for you, sorry for that :(
But the model is mostly like a tensorflow object detection model and the input/output has been displayed above.
And the code I run it directly is that:
def init(self, model_path=None):
if os.path.exists(model_path):
# Load a frozen TF model
detection_graph = tf.Graph()
with detection_graph.as_default():
od_graph_def = tf.GraphDef()
with tf.gfile.GFile(model_path, 'rb') as fid:
serialized_graph = fid.read()
od_graph_def.ParseFromString(serialized_graph)
tf.import_graph_def(od_graph_def, name='')
        tf_config = tf.ConfigProto()
        tf_config.gpu_options.per_process_gpu_memory_fraction = 0.1
        self.sess = tf.Session(graph=detection_graph, config=tf_config)
        self.image_tensor = detection_graph.get_tensor_by_name('image_tensor:0')
        self.boxes = detection_graph.get_tensor_by_name('detection_boxes:0')
        self.scores = detection_graph.get_tensor_by_name('detection_scores:0')
        self.classes = detection_graph.get_tensor_by_name('detection_classes:0')
        self.num_detections = detection_graph.get_tensor_by_name('num_detections:0')
        print('load weights from', model_path)

def predict(self, image):
image_np = np.array(image).astype(np.uint8)
image_np = np.expand_dims(image_np, axis=0)
    (boxes, scores, classes, num_detections) = self.sess.run(
        [self.boxes, self.scores, self.classes, self.num_detections],
        feed_dict={self.image_tensor: image_np})
    boxes = np.squeeze(boxes)
    classes = np.squeeze(classes).astype(np.int32)
    scores = np.squeeze(scores)
    cond = np.column_stack([classes == 4, scores > 0.9]).all(axis=1)

The code of trtis client I have writen above.
My TF version is 1.6.0.
Thanks.

Have you verified that the image tensor you are sending to TRTIS is the same as the one going to TF? Accuracy difference sometimes occur if the image channels or normalization are not as expected by the model.

The input image tensors are same in TRTIS client and my TF client. That is :
image = Image.open(FLAGS.image_filename)
image_np = np.array(image).astype(np.uint8)

And the result shapes are also same.The only different between those are scores decreasing.

It will be hard for us to help without being able to reproduce. One thing to keep in mind is that TF is usually, but not always backwards compatible. You said you are using TF 1.6 to build and run the model? That is a very old TF. You are using a more recent TF in the TRTIS version you are using. You can look here to see the TF used in each TRTIS: https://docs.nvidia.com/deeplearning/frameworks/support-matrix/index.html
Can you try building and running your model using a recent TF (ideally the one included in the version of TRTIS you are using, which for TRTIS 1.9.0 is TF  1.15.0 as shown here: https://docs.nvidia.com/deeplearning/sdk/inference-release-notes/rel_19-12.html#rel_19-12)


Trouble deselecting indates and outdates when calendar scrolls

When I select the last day of a month, then scroll to the next month, the correct day is shown as selected. However when I select another day, the previous cell appears to remain selected. I have traced this issue to the calendar's didDeselectCell function where the cast guard let validCell = cell as? DateCell else {return} appears to fail. If I remove the guard, I can fall through the function but the cell is optional and nil so it doesn't allow me to "deselect" it.
Is there any reason that the cast would fail? The indates and outdates should still be castable to my custom DateCell which implements JTAppleCell. The rest of the functionality works great, its only when I scroll to the future on a selected indate or scroll to the past on an outdate.
Maybe there is another way that I can hide that cell's view?
Any advice is appreciated, Thanks!

did you implement the willDisplayCell function as shown here? #553

That did indeed solve my problem. I do remember reading that now that you linked it, but I guess I forgot. I appreciate your help and your amazing response time!

cool. and thanks.


Add class MetadataEncoder.

For an explanation of how to fill out the fields, please see the relevant section
in PULL_REQUESTS.md
Description:MetadataEncoder is a class that creates and sends METADATA payload. The METADATA payload is a group of string key value pairs encoded in HTTP/2 header block.
Risk Level: Low
Testing: unit tests in metadata_encoder_test.cc
Docs Changes:
Release Notes:
[Optional Fixes #Issue]
[Optional Deprecated:]

@soya3129 can you fill in a more detailed description providing use cases/motivation and how this will be used? Ideally linking to an existing issue if it exists.

@soya3129 can you fill in a more detailed description providing use cases/motivation and how this will be used? Ideally linking to an existing issue if it exists.

@soya3129 can you fill in a more detailed description providing use cases/motivation and how this will be used? Ideally linking to an existing issue if it exists.

@alyssawilk Alyssa, would you mind take a look? Or is there anyone else I can add as a reviewer? Thanks!

Absolutely - as said offline I'll take a look tomorrow morning.
In the meantime you appear to have fallen afoul of the DCO bot - you're going to want to follow the instructions* for fixing that and maybe do the aliases described in the section above :-)

https://github.com/envoyproxy/envoy/blob/master/CONTRIBUTING.md#fixing-dco


Hacktober button in the Mobile and Tablet is not proper

What happened?
The NAVBAR in the mobile or tab section is not properly in the center the Hacktoberfest button have more space in the margin-left but not from the right side and it's not looking good.
How can we reproduce this bug?
I can fix the bug using the margin-right as per the responsive side of the tablet and the mobile.

sure @SyedImtiyaz-1

Hello @agamjotsingh18,
Check the PR  for this issue #144


Update FormsFX with local fixes

The documentation states that FormsFX had some bugs that had to be patched in the local fork. Have any of these changes be ported back to FormsFX? See https://github.com/dlemmermann/formsfx/issues/11 for cross-reference

Hi @aalmiray
You noted that correctly. There are two sides of the story to this:

We noticed some bugs which we fixed and backported to FormsFX. You can see them in the commit history of FormsFX between the 28 Nov 2017 and 4 Dec 2017.

Mid-project we noticed that some odd design decisions were made by the developers of FormsFX, which we weren't aware of. Long story short, instead of only using one GridPane per Form (which we expected) they used one GridPane per Field. This caused lots of strange resizing behavior (which was part of the "bugs" we mentioned in the documentation). This is why we decided to rewrite this part so there would only be one GridPane per Form. You can see those changes in the formsfx package inside of the preferencesfx package. We decided not to backport those, since it would also change the behavior of FormsFX itself in a way that could cause existing applications using it to not behave as they did before. It now has the correct behavior for our uses and what we need it for, but it may not be the right thing for someone else.

I hope that answers your question. If you need more details on the differences in behavior or anything else, feel free to write back!


⚠ Mobitopup has degraded performance

In c7ab3f8, Mobitopup (https://napcard.voz.tech) experienced degraded performance:

HTTP code: 200
Response time: 8032 ms

Resolved: Mobitopup performance has improved in e7d342d.


NegativeArraySizeException in RFC5649WrapEngine

When unwrapping invalid data, or unwrapping with the wrong key, the engine can throw a NegativeArraySizeException.
This occurs when the MLI (message length indicator) exceeds the actual number of message bytes so the calculated length of the padding is negative.

I have created a pull request with extended tests to catch this issue and a proposed fix.

Closed as pull request applied as of 1.68


Fix vae example latent probability

The third parameter of diag_gaussian_log_density is log_std — the log of the standard deviation. The prior p(z) should have standard deviation 1, the log of this is 0, not 1.

Good catch!  I just re-ran it and it works about the same (as expected) but it's nice to have the canonical example match what one would expect.


Agrego lanzamiento de exepcion a set nombre de jugador

Codecov Report

Merging #231 into master will decrease coverage by 0.04%.
The diff coverage is 33.33%.

@@             Coverage Diff              @@
##             master     #231      +/-   ##
============================================
- Coverage     35.09%   35.04%   -0.05%
  Complexity      222      222
============================================
  Files            73       73
  Lines          1439     1441       +2
  Branches         73       73
============================================
  Hits            505      505
- Misses          929      931       +2
  Partials          5        5

Impacted Files
Coverage Δ
Complexity Δ

src/main/java/edu/fiuba/algo3/modelo/Jugador.java
87.50% <33.33%> (-5.84%)
14.00 <0.00> (ø)

Continue to review full report at Codecov.

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


How to supervise two head branches using one loss function?

I added an iou prediction branch to the head of the detector, and then I calculated the loss of the output of the bbox and the iou prediction branch using one loss function. However, the following error occurs during training:
RuntimeError: CUDA error: device-side assert triggered
terminate called after throwing an instance of 'c10::Error'
what(): CUDA error: device-side assert triggered
How should I train two branches with one loss function? Thanks

Generally, it is similar to the problem of array access out of bounds


Two different ipywidgets packages.

Hi Jake,
I realized your package is called ipywidgets and the ipython widget package is also called ipywidgets:
https://github.com/ipython/ipywidgets
I suspect this will confuse people who do not know they are two different packages. So where you state:
'use IPython's built-in interactive tools',
could you add a line to explicitly state that the names are the same but the commands are different.

I did you one better: I renamed the package :smile: https://github.com/jakevdp/ipywidgets-unsupported


We need English support

Sorry, English documents are not supported at now.

Thank you for your attention, we have now provided the English document, hope it will be helpful to you.
https://github.com/alibaba/havenask/wiki/Home-en


Autotune filter direct not functioning

See implemented code below.
It seems like the example code is stuck in the 'stabilizing' fase  and as such keeps executing case _myPID.autoTune->AUTOTUNE:
Am i doing something wrong?
`/******************************************************************************
AutoTune Filter DIRECT Example
Circuit: https://github.com/Dlloydev/QuickPID/wiki/AutoTune_RC_Filter
******************************************************************************/
#include "QuickPID.h"
#include <EEPROM.h>
int motor_links = 3;
int motor_rechts = 5;
int motor_enable = 4;
int sensorpiny = A5;
// Tilt setting values
float Voutmin1;
float Voutplus1;
float Vout0G1;
float Voutmin2;
float Voutplus2;
float Vout0G2;
float sensitivityX;
float sensitivityY;
byte n = 4; // ADC OVERAMPLING SETTING ADC 10+4 bits
float sensorx_v = 0, sensory_v = 0;
float sensorx = 0.0, sensory = 0.0;
float filt = 0.3; // filter
const uint32_t sampleTimeUs = 100000; // 10ms
const byte inputPin = 0;
const byte outputPin = 3;
const int outputMax = 255;
const int outputMin = 0;
bool printOrPlotter = 1;  // on(1) monitor, off(0) plotter
float POn = 1.0;          // proportional on Error to Measurement ratio (0.0-1.0), default = 1.0
float DOn = 0.0;          // derivative on Error to Measurement ratio (0.0-1.0), default = 0.0
byte outputStep = 5;
byte hysteresis = 1;
int setpoint = 300;       // 1/3 of range for symetrical waveform
int output = 85;          // 1/3 of range for symetrical waveform
float Input, Output, Setpoint=220.0;
float Kp = 0, Ki = 0, Kd = 0;
bool pidLoop = false;
QuickPID _myPID = QuickPID(&Input, &Output, &Setpoint, Kp, Ki, Kd, POn, DOn, QuickPID::DIRECT);
void setup() {
Serial.begin(115200);
Serial.println("started");
pinMode(sensorpiny, INPUT);
pinMode (motor_links, OUTPUT);
pinMode (motor_rechts, OUTPUT);
pinMode (motor_enable, OUTPUT);
sensor_readsetup();
if (constrain(output, outputMin, outputMax - outputStep - 5) < output) {
Serial.println(F("AutoTune test exceeds outMax limit. Check output, hysteresis and outputStep values"));
while (1);
}
// Select one, reference: https://github.com/Dlloydev/QuickPID/wiki
//_myPID.AutoTune(tuningMethod::ZIEGLER_NICHOLS_PI);
_myPID.AutoTune(tuningMethod::ZIEGLER_NICHOLS_PID);
//_myPID.AutoTune(tuningMethod::TYREUS_LUYBEN_PI);
//_myPID.AutoTune(tuningMethod::TYREUS_LUYBEN_PID);
//_myPID.AutoTune(tuningMethod::CIANCONE_MARLIN_PI);
//_myPID.AutoTune(tuningMethod::CIANCONE_MARLIN_PID);
//_myPID.AutoTune(tuningMethod::AMIGOF_PID);
//_myPID.AutoTune(tuningMethod::PESSEN_INTEGRAL_PID);
//_myPID.AutoTune(tuningMethod::SOME_OVERSHOOT_PID);
//_myPID.AutoTune(tuningMethod::NO_OVERSHOOT_PID);
_myPID.autoTune->autoTuneConfig(outputStep, hysteresis, setpoint, output, QuickPID::DIRECT, printOrPlotter, sampleTimeUs);
}
void loop() {
if (_myPID.autoTune) // Avoid dereferencing nullptr after _myPID.clearAutoTune()
{
switch (_myPID.autoTune->autoTuneLoop()) {
case _myPID.autoTune->AUTOTUNE:
  float raw = sensor_read(sensorpiny);

sensory_v = (filt * raw) + ((1.0 - filt) * sensory_v);
//  sensory = ((sensory_v - Vout0G1) / sensitivityY) * 5;
Input = round (sensory_v*100.0);
//        Serial.print ("Setpoint=");
//         Serial.print (Setpoint);
//          Serial.print (" || Input =");
//           Serial.print (Input);
//           Serial.print (" || Output=");
//           Serial.println (Output);
if (Input < Setpoint) {
analogWrite(motor_rechts, Output);
analogWrite(motor_links, 0);
digitalWrite(motor_enable,HIGH);
}
else if (Input > Setpoint ) {
analogWrite(motor_rechts, 0);
analogWrite(motor_links, Output);
digitalWrite(motor_enable,HIGH);
}
else {   analogWrite(motor_rechts, 0);
analogWrite(motor_links, 0);
digitalWrite(motor_enable,LOW);}
break;
  case _myPID.autoTune->TUNINGS:
   Serial.println("TUNING");
    _myPID.autoTune->setAutoTuneConstants(&Kp, &Ki, &Kd); // set new tunings
    _myPID.SetMode(QuickPID::AUTOMATIC); // setup PID
    _myPID.SetSampleTimeUs(sampleTimeUs);
    _myPID.SetTunings(Kp, Ki, Kd, POn, DOn); // apply new tunings to PID
    Setpoint = 300.0;
    break;

  case _myPID.autoTune->CLR:
    if (!pidLoop) {
      _myPID.clearAutoTune(); // releases memory used by AutoTune object
      pidLoop = true;
    }
    break;
}

}
if (pidLoop) {
if (printOrPlotter == 0) { // plotter
Serial.print("Setpoint:");  Serial.print(Setpoint);  Serial.print(",");
Serial.print("Input:");     Serial.print(Input);     Serial.print(",");
Serial.print("Output:");    Serial.print(Output);    Serial.println(",");
}
      float raw = sensor_read(sensorpiny);

sensory_v = (filt * raw) + ((1.0 - filt) * sensory_v);
//  sensory = ((sensory_v - Vout0G1) / sensitivityY) * 5;
Input = sensory_v;
_myPID.Compute();

    if (Input < Setpoint) {
    analogWrite(motor_rechts, Output);
    analogWrite(motor_links, 0);
    digitalWrite(motor_enable,HIGH);
    }
    else if (Input > Setpoint ) {
     analogWrite(motor_rechts, 0);
     analogWrite(motor_links, Output);
     digitalWrite(motor_enable,HIGH);
    }
            else {   analogWrite(motor_rechts, 0);
     analogWrite(motor_links, 0);
     digitalWrite(motor_enable,LOW);}

}
}
float avg(int inputVal) {
static int arrDat[16];
static int pos;
static long sum;
pos++;
if (pos >= 16) pos = 0;
sum = sum - arrDat[pos] + inputVal;
arrDat[pos] = inputVal;
return (float)sum / 16.0;
}
// ===============================================  FUNCTIONS  ====================================================================
void loadsettings() { // load saved calibrate settings on start up
Voutmin1 = ( word(EEPROM.read(1), EEPROM.read(2))) / 1000.0;
Vout0G1 = ( word(EEPROM.read(3), EEPROM.read(4))) / 1000.0;
Voutplus1 = (  word(EEPROM.read(5), EEPROM.read(6))) / 1000.0;
Voutmin2 = (word(EEPROM.read(7), EEPROM.read(8))) / 1000.0;
Vout0G2 = (word(EEPROM.read(9), EEPROM.read(10))) / 1000.0;
Voutplus2 = (word(EEPROM.read(11), EEPROM.read(12))) / 1000.0;
// tilt sensor sensivity berekening.
sensitivityY = (Voutplus1 - Voutmin1) / 2;
sensitivityX = (Voutplus2 - Voutmin2) / 2;
}
float fSamples;
int samples;
void sensor_readsetup() { // ADc sensor setup
fSamples = pow(4, (float) n);
samples = (int)(fSamples + 0.5); // solves : when n = 3 get get pow(4,n) of 63
}
float sensor_read(byte input) { // Read sensor
// Decimation for Arduino ADC A0, averaged then decimated.
long dv = 0;
long derp = 0;
derp = millis();
for (byte avg = 0; avg < 2; avg++)
for (int j = 0; j < samples; j++) {
dv += analogRead(input); // analogRead(A0);
}
dv = (dv / 2); // average calc.
dv = dv >> n; // decimated
float Volt = dv * (5.0 / 16384.0); // conversion to voltage
return Volt;
}
`

Yes, the autoTune feature can get stuck in the stabilizing mode with different systems other than using a basic Arduino with 10-bit ADC input and 8-bit PWM output and RC filter. I'll be working on an update to autoTune to improve compatibility with other systems (see issue#13).
Currently, it's assumed the user knows what input value to expect for a given output value. The update to autoTune will attempt to simplify things by only requiring the setpoint and some other parameters to run.
Sorry I'm not familiar with your system, but for now I'd suggest trying to manually the PID values or using an online or other autotune tool to get the estimated values.

Thanks for making this PID library!
My own experience with is that even when using the 10bits ADC, 8 bit pwm and the filter with a diode and an LED and it still gets stuck in stabilize. The responses of diode and LED to input/output are very linear, but there is some noise of course. Or maybe the change in measured light is sometimes not detectable over the noise for a given change in PWM? Maybe the autotune is a bit overly sensitive?

Currently, it's assumed the user knows what input value to expect for a given output value.
I know this, but it is not clear to me how this knowledge could help me to run autoTune.

@ilikegitlab, If the LED is connected to the PWM output, then this will impose a load on the output pin. In this case, the output pin's voltage will get reduced to 4.8V (for example). Now the expected response (4 counts input per 1 count output) would get reduced by 4%, causing autotune to get stuck.
I'm working on a major update to autotune where the stringent input to output relationship is removed. The new autotune will use a step-test method similar to described here. However, instead of graphical fitting, autotune will analyze the actual "s" curve from test results by using a sliding tangent line. I'm getting good results with the TCLab hardware, but have further development and testing (and little time), so it could take a while before its ready.

I've Removed AutoTune in preparation for a new AutoTune library (sTune) compatible with QuickPID, PID_v1 and others. Should have this ready in the next few weeks ... more details to follow.
Closing the previous AutoTune issues as these will be successfully addressed by the new library.


Expected behaviour of RowRoots() and ColRoots() on an incomplete EDS is undefined

What is the current behavior now?

Wondering if there's any reason where it would make sense to return row roots for an incomplete EDS, but I can't think of any.

I think this might be relevant https://github.com/celestiaorg/rsmt2d/issues/214


fix REST API a little. (docs, indent, return value)

Context
fix REST API a little. (docs, indent, return value)
Choices
My implementation was inadequate.
Test instructions

unzip tests.zip
cd tests/rest-cli
./test-manualy.sh

palworld-server-docker/tests/rest-cli$ ./test-manualy.sh
[+] Building 1.7s (18/18) FINISHED                                                                       docker:default
 => [palworld internal] load build definition from Dockerfile                                                      0.1s
 => => transferring dockerfile: 7.14kB                                                                             0.0s
 => [palworld internal] load metadata for docker.io/library/golang:1.22.4-alpine                                   1.4s
 => [palworld internal] load metadata for docker.io/cm2network/steamcmd:root                                       1.4s
 => [palworld internal] load .dockerignore                                                                         0.1s
 => => transferring context: 2B                                                                                0.0s
 => [palworld rcon-cli_builder 1/3] FROM docker.io/library/golang:1.22.4-alpine@sha256:ace6cc3fe58d0c7b12303c57af  0.0s
 => [palworld internal] load build context                                                                         0.1s
 => => transferring context: 60.22kB                                                                               0.0s
 => [palworld base-amd64 1/1] FROM docker.io/cm2network/steamcmd:root@sha256:5dc2d16e090f53090b1671c4ebf3a73e4a63  0.0s
 => CACHED [palworld stage-3 1/8] RUN apt-get update && apt-get install -y --no-install-recommends     procps=2:4  0.0s
 => CACHED [palworld rcon-cli_builder 2/3] WORKDIR /build                                                          0.0s
 => CACHED [palworld rcon-cli_builder 3/3] RUN wget -q https://github.com/gorcon/rcon-cli/archive/refs/tags/v0.10  0.0s
 => CACHED [palworld stage-3 2/8] COPY --from=rcon-cli_builder /build/gorcon /usr/bin/rcon-cli                     0.0s
 => CACHED [palworld stage-3 3/8] RUN case amd64 in         "amd64") SUPERCRONIC_SHA1SUM=9f27ad28c5c57cd133325b2a  0.0s
 => CACHED [palworld stage-3 4/8] COPY ./scripts /home/steam/server/                                               0.0s
 => CACHED [palworld stage-3 5/8] RUN chmod +x /home/steam/server/*.sh &&     mv /home/steam/server/backup.sh /us  0.0s
 => CACHED [palworld stage-3 6/8] WORKDIR /home/steam/server                                                       0.0s
 => CACHED [palworld stage-3 7/8] RUN echo unspecified > GIT_VERSION_TAG                                           0.0s
 => CACHED [palworld stage-3 8/8] RUN touch rcon.yaml crontab &&     mkdir -p /home/steam/Steam/package &&     ch  0.0s
 => [palworld] exporting to image                                                                                0.0s
 => => exporting layers                                                                                0.0s
 => => writing image sha256:11eb5353b19de910b8e5c9d9451201f419a8886587cf8b720f761186cec713ac                       0.0s
 => => naming to docker.io/thijsvanloef/palworld-server-docker:debug                                               0.0s
[+] Running 2/2
 ✔ Network rest-cli_default   Created                                                                              0.1s
 ✔ Container palworld-server  Started                                                                              0.3s
wait healthy.............. done.
TEST ... docker exec -i palworld-server rest-cli
OK
TEST ... docker exec -i palworld-server rest-cli -h
OK
TEST ... docker exec -i palworld-server rest-cli announce -h
OK
TEST ... docker exec -i palworld-server rest-cli ban -h
OK
TEST ... docker exec -i palworld-server rest-cli unban -h
OK
TEST ... docker exec -i palworld-server rest-cli kick -h
OK
TEST ... docker exec -i palworld-server rest-cli shutdown -h
OK
TEST ... docker exec -i palworld-server rest-cli unknown foo bar
OK
TEST ... docker exec -i palworld-server rest-cli info
OK
TEST ... docker exec -i palworld-server rest-cli settings
OK
TEST ... docker exec -i palworld-server rest-cli metrics
OK
SERVER ADDRESS: <IP_ADDRESS>:8211
TEST ... docker exec -i palworld-server rest-cli players
wait login......OK
TEST ... docker exec -i palworld-server rest-cli announce "Hello PalWorld!"
OK
TEST ... docker exec -i palworld-server rest-cli announce '{"message":"Logout to continue tests."}'
OK
TEST ... cat json-file | docker exec -i palworld-server rest-cli announce -
OK
TEST ... docker exec -i palworld-server rest-cli shutdown 300
OK
wait logout....OK done.
TEST ... docker exec -i palworld-server rest-cli save
OK
TEST ... docker exec -i palworld-server rest-cli stop
OK
TEST ... docker exec -i palworld-server rest-cli info
OK
[+] Running 2/2
 ✔ Container palworld-server  Removed                                                                              5.2s
 ✔ Network rest-cli_default   Removed

Checklist before requesting a review

[x] I have performed a self-review/test of my code
[x] I've added documentation about this change to the docs.
[x] I've not introduced breaking changes.
[x] My changes do not violate linting rules.

Unit-test timeouts were caused by download time.

Hey! Just so you know, your PR is on my radar, but I simply had not had the time to review it properly


[BUG][Functional] NEW-ACCOUNTS does not always create VPCs

Bug reports which fail to provide the required information will be closed without action.
Required Basic Info

Accelerator Version:  1.5.0
Install Type: Clean
Upgrade from version: N/A

Describe the bug
New accounts are vended through ASEA by running the state machine with a scope of NEW-ACCOUNTS which first creates a new account and then the associated networking (e.g. VPCs). If, however, the State Machine fails after creating the account (e.g. due to incorrect networking parameters) then re-running the State Machine with NEW-ACCOUNTS does not create any networking constructs in the new account. This is because on the second run of the State Machine, the account is no longer "new" and thus, ASEA skips over that account.
Failure Info

What error messages have you identified, if any: None - Step Functions successfully complete execution but without creating any VPCs
What symptoms have you identified, if any: There are no VPCs in the new account

Required files
N/A - Works with the sample config files in the repo as well.
Steps To Reproduce

Update config.json but create wrong networking parameters (e.g. use dynamic allocation but omit the "cidr-src": "dynamic" from the vpc section
Run Step Functions with scope NEW-ACCOUNTS
Step Functions will fail
Fix the config.json by adding in "cidr-src": "dynamic" in the vpc section
Re-run Step Functions with scope NEW-ACCOUNTS
Step Functions will successfully complete
There will be no VPCs in the new account

Expected behavior
Until the whole account has been setup fully, NEW-ACCOUNTS scope should not skip setting up the newly created account.
Screenshots
None
Additional context
Given how ASEA works, an easier fix would be to update the documents to state that if the initial NEW-ACCOUNTS Step Functions fails, all subsequent runs should be with FULL scope.

Did not implement


$TIME label doesn't update

When leaving hyprlock running for a while, $TIME stops updating. It seems to stop a couple minutes after locking, and re-updates itself a bit after user input.
I noticed that a cmd label does update, so with the config below, the cmd date is on time while $TIME stops updating. So it seems to be $TIME specific (or maybe any label without cmd[update]).
I was hoping this would be resolved at the same time as #357, but I still have the issue even with 318c00d6d093d6d0da2687ad51880578a49899dd.
Just in case, I have dual screens and an AMD GPU.

config
label {
  monitor=DP-1
  font_family=monospace
  font_size=150
  text=$TIME
  text_align=center
}

label {
  monitor=DP-1
  font_family=monospace
  font_size=150
  halign=center
  text=cmd[update:1000] date
  text_align=center
  valign=center
}

Hmm can you check if Trying to update label, but resource {} is still pending! Skipping update. is in the logs when it happens?
I will see if I can reproduce it.

Does not happen on my side. Also AMD GPU and multi monitor. I think the fact that $TIME is used does not matter. To be honest i don't understand how that can happen after https://github.com/hyprwm/hyprlock/commit/318c00d6d093d6d0da2687ad51880578a49899dd

Indeed that log appears. Here's my service's log, with artificial paragraphs to highlight the pattern.
Note that this was generated from a slightly different config than posted above since it's from my actual setup.
Jul 03 18:09:00 Workstation hyprlock[1537280]: [LOG] Configuring surface for logical [Vector2D: x: 3840, y: 2160] and pixel [Vector2D: x: 3840, y: 2160]
Jul 03 18:09:00 Workstation hyprlock[1537280]: [ERR] Unknown prop in string format
Jul 03 18:09:00 Workstation hyprlock[1537280]: [LOG] got fractional 1
Jul 03 18:09:00 Workstation hyprlock[1537280]: [LOG] configure with serial 176420
Jul 03 18:09:00 Workstation hyprlock[1537280]: [LOG] Configuring surface for logical [Vector2D: x: 1920, y: 1080] and pixel [Vector2D: x: 1920, y: 1080]
Jul 03 18:09:00 Workstation hyprlock[1537280]: [LOG] Framebuffer created, status 36053
Jul 03 18:09:00 Workstation hyprlock[1537280]: [LOG] Framebuffer created, status 36053
Jul 03 18:09:00 Workstation hyprlock[1537280]: [WARN] Trying to update label, but resource label:18139536,time:1720042620984795395 is still pending! Skipping update.
Jul 03 18:09:00 Workstation hyprlock[1537280]: [WARN] Trying to update label, but resource label:18139536,time:1720042620984795395 is still pending! Skipping update.
Jul 03 18:09:00 Workstation hyprlock[1537280]: [WARN] Trying to update label, but resource label:18139536,time:1720042620984795395 is still pending! Skipping update.
Jul 03 18:09:00 Workstation hyprlock[1537280]: [WARN] Trying to update label, but resource label:18139536,time:1720042620984795395 is still pending! Skipping update.
Jul 03 18:09:00 Workstation hyprlock[1537280]: [WARN] Trying to update label, but resource label:18139536,time:1720042620984795395 is still pending! Skipping update.
Jul 03 18:09:00 Workstation hyprlock[1537280]: [WARN] Trying to update label, but resource label:18139536,time:1720042620984795395 is still pending! Skipping update.
Jul 03 18:09:00 Workstation hyprlock[1537280]: [WARN] Trying to update label, but resource label:18139536,time:1720042620984795395 is still pending! Skipping update.
Jul 03 18:09:00 Workstation hyprlock[1537280]: [WARN] Trying to update label, but resource label:18139536,time:1720042620984795395 is still pending! Skipping update.
Jul 03 18:09:00 Workstation hyprlock[1537280]: [WARN] Trying to update label, but resource label:18139536,time:1720042620984795395 is still pending! Skipping update.
Jul 03 18:09:00 Workstation hyprlock[1537280]: [WARN] Trying to update label, but resource label:18139536,time:1720042620984795395 is still pending! Skipping update.
Jul 03 18:09:00 Workstation hyprlock[1537280]: [WARN] Trying to update label, but resource label:18139536,time:1720042620984795395 is still pending! Skipping update.
Jul 03 18:09:00 Workstation hyprlock[1537280]: [WARN] Trying to update label, but resource label:18139536,time:1720042620984795395 is still pending! Skipping update.
Jul 03 18:09:00 Workstation hyprlock[1537280]: [WARN] Trying to update label, but resource label:18139536,time:1720042620984795395 is still pending! Skipping update.
Jul 03 18:09:00 Workstation hyprlock[1537280]: [WARN] Trying to update label, but resource label:18139536,time:1720042620984795395 is still pending! Skipping update.
Jul 03 18:09:00 Workstation hyprlock[1537280]: [WARN] Trying to update label, but resource label:18139536,time:1720042620984795395 is still pending! Skipping update.
Jul 03 18:09:00 Workstation hyprlock[1537280]: [WARN] Trying to update label, but resource label:18139536,time:1720042620984795395 is still pending! Skipping update.
Jul 03 18:09:00 Workstation hyprlock[1537280]: [WARN] Trying to update label, but resource label:18139536,time:1720042620984795395 is still pending! Skipping update.
Jul 03 18:09:00 Workstation hyprlock[1537280]: [WARN] Trying to update label, but resource label:18139536,time:1720042620984795395 is still pending! Skipping update.
Jul 03 18:09:00 Workstation hyprlock[1537280]: [WARN] Trying to update label, but resource label:18139536,time:1720042620984795395 is still pending! Skipping update.
Jul 03 18:09:00 Workstation hyprlock[1537280]: [WARN] Trying to update label, but resource label:18139536,time:1720042620984795395 is still pending! Skipping update.
Jul 03 18:09:00 Workstation hyprlock[1537280]: [WARN] Trying to update label, but resource label:18139536,time:1720042620984795395 is still pending! Skipping update.
Jul 03 18:09:00 Workstation hyprlock[1537280]: [WARN] Trying to update label, but resource label:18139536,time:1720042620984795395 is still pending! Skipping update.
Jul 03 18:09:00 Workstation hyprlock[1537280]: [WARN] Trying to update label, but resource label:18139536,time:1720042620984795395 is still pending! Skipping update.
Jul 03 18:09:00 Workstation hyprlock[1537280]: [WARN] Trying to update label, but resource label:18139536,time:1720042620984795395 is still pending! Skipping update.
Jul 03 18:09:00 Workstation hyprlock[1537280]: [WARN] Trying to update label, but resource label:18139536,time:1720042620984795395 is still pending! Skipping update.
Jul 03 18:09:00 Workstation hyprlock[1537280]: [WARN] Trying to update label, but resource label:18139536,time:1720042620984795395 is still pending! Skipping update.
Jul 03 18:09:00 Workstation hyprlock[1537280]: [WARN] Trying to update label, but resource label:18139536,time:1720042620984795395 is still pending! Skipping update.
Jul 03 18:09:00 Workstation hyprlock[1537280]: [WARN] Trying to update label, but resource label:18139536,time:1720042620984795395 is still pending! Skipping update.
Jul 03 18:09:00 Workstation hyprlock[1537280]: [WARN] Trying to update label, but resource label:18139536,time:1720042620984795395 is still pending! Skipping update.
Jul 03 18:09:00 Workstation hyprlock[1537280]: [WARN] Trying to update label, but resource label:18139536,time:1720042620984795395 is still pending! Skipping update.
Jul 03 18:09:00 Workstation hyprlock[1537280]: [WARN] Trying to update label, but resource label:18139536,time:1720042620984795395 is still pending! Skipping update.
Jul 03 18:43:00 Workstation hyprlock[1537280]: [WARN] Trying to update label, but resource label:18139536,time:1720042620984795395 is still pending! Skipping update.
Jul 03 18:43:00 Workstation hyprlock[1537280]: [WARN] Trying to update label, but resource label:18139536,time:1720042620984795395 is still pending! Skipping update.
Jul 03 18:43:00 Workstation hyprlock[1537280]: [WARN] Trying to update label, but resource label:18139536,time:1720042620984795395 is still pending! Skipping update.
Jul 03 18:43:00 Workstation hyprlock[1537280]: [WARN] Trying to update label, but resource label:18139536,time:1720042620984795395 is still pending! Skipping update.
Jul 03 18:43:00 Workstation hyprlock[1537280]: [WARN] Trying to update label, but resource label:18139536,time:1720042620984795395 is still pending! Skipping update.
Jul 03 18:43:00 Workstation hyprlock[1537280]: [WARN] Trying to update label, but resource label:18139536,time:1720042620984795395 is still pending! Skipping update.
Jul 03 18:43:00 Workstation hyprlock[1537280]: [WARN] Trying to update label, but resource label:18139536,time:1720042620984795395 is still pending! Skipping update.
Jul 03 18:43:00 Workstation hyprlock[1537280]: [WARN] Trying to update label, but resource label:18139536,time:1720042620984795395 is still pending! Skipping update.
Jul 03 18:43:00 Workstation hyprlock[1537280]: [WARN] Trying to update label, but resource label:18139536,time:1720042620984795395 is still pending! Skipping update.
Jul 03 18:43:00 Workstation hyprlock[1537280]: [WARN] Trying to update label, but resource label:18139536,time:1720042620984795395 is still pending! Skipping update.
Jul 03 18:43:00 Workstation hyprlock[1537280]: [WARN] Trying to update label, but resource label:18139536,time:1720042620984795395 is still pending! Skipping update.
Jul 03 18:43:00 Workstation hyprlock[1537280]: [WARN] Trying to update label, but resource label:18139536,time:1720042620984795395 is still pending! Skipping update.
Jul 03 18:43:00 Workstation hyprlock[1537280]: [WARN] Trying to update label, but resource label:18139536,time:1720042620984795395 is still pending! Skipping update.
Jul 03 18:43:00 Workstation hyprlock[1537280]: [WARN] Trying to update label, but resource label:18139536,time:1720042620984795395 is still pending! Skipping update.
Jul 03 18:43:00 Workstation hyprlock[1537280]: [WARN] Trying to update label, but resource label:18139536,time:1720042620984795395 is still pending! Skipping update.
Jul 03 18:43:00 Workstation hyprlock[1537280]: [WARN] Trying to update label, but resource label:18139536,time:1720042620984795395 is still pending! Skipping update.
Jul 03 18:43:00 Workstation hyprlock[1537280]: [WARN] Trying to update label, but resource label:18139536,time:1720042620984795395 is still pending! Skipping update.
Jul 03 18:43:00 Workstation hyprlock[1537280]: [WARN] Trying to update label, but resource label:18139536,time:1720042620984795395 is still pending! Skipping update.
Jul 03 18:43:00 Workstation hyprlock[1537280]: [WARN] Trying to update label, but resource label:18139536,time:1720042620984795395 is still pending! Skipping update.
Jul 03 18:43:00 Workstation hyprlock[1537280]: [WARN] Trying to update label, but resource label:18139536,time:1720042620984795395 is still pending! Skipping update.
Jul 03 18:43:00 Workstation hyprlock[1537280]: [WARN] Trying to update label, but resource label:18139536,time:1720042620984795395 is still pending! Skipping update.
Jul 03 18:43:00 Workstation hyprlock[1537280]: [WARN] Trying to update label, but resource label:18139536,time:1720042620984795395 is still pending! Skipping update.
Jul 03 18:43:00 Workstation hyprlock[1537280]: [WARN] Trying to update label, but resource label:18139536,time:1720042620984795395 is still pending! Skipping update.
Jul 03 18:43:00 Workstation hyprlock[1537280]: [WARN] Trying to update label, but resource label:18139536,time:1720042620984795395 is still pending! Skipping update.
Jul 03 18:43:00 Workstation hyprlock[1537280]: [WARN] Trying to update label, but resource label:18139536,time:1720042620984795395 is still pending! Skipping update.
Jul 03 18:43:00 Workstation hyprlock[1537280]: [WARN] Trying to update label, but resource label:18139536,time:1720042620984795395 is still pending! Skipping update.
Jul 03 18:43:00 Workstation hyprlock[1537280]: [WARN] Trying to update label, but resource label:18139536,time:1720042620984795395 is still pending! Skipping update.
Jul 03 18:43:00 Workstation hyprlock[1537280]: [ERR] Unknown prop in string format
Jul 03 18:43:00 Workstation hyprlock[1537280]: [WARN] Trying to update label, but resource label:18139536,time:1720042620984795395 is still pending! Skipping update.
Jul 03 18:43:00 Workstation hyprlock[1537280]: [WARN] Trying to update label, but resource label:18139536,time:1720042620984795395 is still pending! Skipping update.
Jul 03 18:43:00 Workstation hyprlock[1537280]: [WARN] Trying to update label, but resource label:18139536,time:1720042620984795395 is still pending! Skipping update.
Jul 03 18:43:00 Workstation hyprlock[1537280]: [WARN] Trying to update label, but resource label:18139536,time:1720042620984795395 is still pending! Skipping update.
Jul 03 18:43:00 Workstation hyprlock[1537280]: [WARN] Trying to update label, but resource label:18139536,time:1720042620984795395 is still pending! Skipping update.
Jul 03 18:43:00 Workstation hyprlock[1537280]: [WARN] Trying to update label, but resource label:18139536,time:1720042620984795395 is still pending! Skipping update.
Jul 03 18:43:00 Workstation hyprlock[1537280]: [WARN] Trying to update label, but resource label:18139536,time:1720042620984795395 is still pending! Skipping update.
Jul 03 19:18:00 Workstation hyprlock[1537280]: [WARN] Trying to update label, but resource label:18139536,time:1720042620984795395 is still pending! Skipping update.

Can you send the exact labels you are using?

Actually  318c00d didn't fix my issue

@ilolm I think you are on nvidia right? Sorry for closing your issue (#357) with the MR.
It should have actually been marked as a duplicate of #249.
@ThinkChaos because of the [ERR] Unknown prop in string format[ERR] Unknown prop in string format log, I kinda wonder about your specific label configuration.

@ThinkChaos I added some trace logs in e5f0b56d07f13db6a4542ff5fa5a3e31e61169bc.
It would be very helpful, if you could update and try to reproduce the problem with hyprlock --verbose.
That will produce quite a lot of logs, but they would help to fix this :)

Sorry I haven't been very responsive, I'm not able to spend much time on the computer for health reasons.
I ran that commit with the minimal config above in verbose mode. Just locked, waited a bit and unlocked. Let me know if you want the output of a longer run where I notice it's out of date.
Here's the output: hyprlock.service log (via attachment since there's to much data to post inline).
Here's my real config (I know some things are redundant with defaults, it's because it's generated via Nix where I have variables):
background {
  monitor=DP-1
  blur_passes=3
  blur_size=10
  path=screenshot
}

background {
  monitor=DP-2
  color=rgb(0, 0, 0)
}

general {
  hide_cursor=true
  ignore_empty_input=true
  no_fade_in=true
  no_fade_out=false
}

input-field {
  monitor=DP-1
  size=200, 25
  check_color=rgb(204, 136, 34)
  fade_on_empty=true
  fade_timeout=5000
  fail_color=rgb(204, 34, 34)
  fail_text=
  fail_transition=300
  font_color=rgb(200, 200, 200)
  halign=center
  inner_color=rgb(10, 10, 10)
  outer_color=rgb(15, 15, 15)
  outline_thickness=2
  placeholder_text=
  position=0, 0
  shadow_passes=3
  shadow_size=5
  valign=center
}

label {
  monitor=DP-1
  font_family=monospace
  font_size=150
  halign=center
  position=0, 540
  shadow_boost=2
  shadow_passes=3
  shadow_size=10
  text=$TIME
  text_align=center
  valign=center
}

label {
  monitor=DP-1
  color=rgb(204, 34, 34)
  font_size=15
  halign=center
  position=0, 405
  text=cmd[] if [ $ATTEMPTS -ne 0 ]; then echo '$FAIL ($ATTEMPTS)'; fi
  text_align=center
  valign=center
}

Maybe the unknown prop error is because of cmd[] (without update:)? Only guessing based on the message.

Hi @ThinkChaos. Hope you are well.
Can you check if this is resolved for you?
I am pretty sure that the last PR should ensure it updates, even if a label update was missed for some reason. Thanks!

Looks like it did the trick!
Thanks!


Can't access items by key

I like your class, but it's lacking a function to retrieve the item like the find function in a normal stl map:
This does not compile:
RandomAccessMap<int, int> m_mapRand;
RandomAccessMap<int, int>::iterator iterMap;
iterMap = m_mapRand.find(randValue);
There is a find function, but it's return value is a boolean... it only tells you that the key exists, but there is no way to retrieve the value

Thanks  for  this.
I can fix this by this week.
If you  are able to fix  it. feel  free to do that, and I can add it to git
hub
On Dec 3, 2016 2:41 PM, "lefty2"<EMAIL_ADDRESS>wrote:
I like your class, but it's lacking a function to retrieve the item like
the find function in a normal stl map:
This does not compile:
RandomAccessMap<int, int> m_mapRand;
RandomAccessMap<int, int>::iterator iterMap;
iterMap = m_mapRand.find(randValue);
There is a find function, but it's return value is a boolean... it only
tells you that the key exists, but there is no way to retrieve the value
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/mabdelazim/Random-Access-Map/issues/1, or mute the
thread
https://github.com/notifications/unsubscribe-auth/AM1SVJ1QQp-TAz8RMeJxVQZil3zw3OAfks5rEWOAgaJpZM4LDSK-
.

Unfortunately, I'm not any good at template code. I think I'll have to leave you do it, but there's no rush. I made a quick and dirty work around for myself.

Fix done, Now find returns iterator.
has_key no returns checks for the key


How to create an schema that validates every property of an object is of a certain schema?

Basically... I have something of the following type: record<string, User> (aka Map<String,User>). Basically, an object that can have any field, as long as it is an User.
How do I create an Schema that validates that?

One way: Object.values(users).forEach((user) => userSchema.validate(user))


fatal error: 'stddef.h' file not found

When I use it to parse a "helloworld" , it gives me a error:
fatal error: 'stddef.h' file not found
How to deal with it ?

It's not clear to me what you're asking here. Which specific sample is this referring to? Can you show the full command-line invocation? What does "helloworld" contain?


Updated Contributing.rst    Solves #543

Changed make html to sphinx-build -b html source build in line 34,as discussed over the EinsteinPy IRC.

@godslayer201 Is there any related issue open?

@godslayer201 Is there any related issue open?

No, I think not. Should I open a corresponding issue?

No, I think not. Should I open a corresponding issue?

@godslayer201 Please do so. Something like "make html does not work on Windows".

@godslayer201 Please do so. Something like "make html does not work on Windows".

Will do.
Will add relevant details here as well.

Will do.
Will add relevant details here as well.

Completed in #615.


B2B-2539 update rn sdk

Issue ticket number and link from Jira
Please add a link to the issue here:
fixes: https://front-finance.atlassian.net/browse/B2B-2539
If there isn't one just a short description of where this change came from.
Type of change
Please tick the relevant options (with an "x").

[X] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality not to work as expected)
[X] Refactor (none of the core functionality has changed)
[X] Chore (adding new tests, build processes, tooling, performance)
[ ] This change requires a documentation update

Checklist:
Please tick the options (with an "x") of the actions which you have done. For example, it may be that an issue doesn't require new tests to be written, so you would leave option 5 unchecked:

[X] I have performed a self-review of my code and it meets the criteria specified by the ticket/issue
[ ] I have commented on my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation if necessary
[X] I have added tests that prove my fix is effective or that my feature works
[X] I have not changed existing tests (if so please add a description in the PR)
[X] New and existing unit tests pass locally with my changes

LGTM. Please wait with the release until we hear back from the customer.


Keyboard broken after use

I found this project today and was really happy about it, but there is one bug that annoys me a lot and that is something that I think has been mentioned here and here.
When I've used the autotype feature my alt-key is messed up. It's like my alt-key is pressed down. To solve this I have to press alt one time and then everything becomes normal again.
The other issue said it might be some kind of weird character that is messing things up, but that is not the case for me. I have to autotype the password (it's not breaking if i just autotype username) for it to break, and it is breaking without any weird characters. It breaks with only numbers and/or the alphabet as well.
I don't know if this issue is a bug of rofi-rbw or xdotool, but since the other issues was kind of old and closed without a fix, I figured i should create another one.

From your description, it sound like you're hit with https://github.com/jordansissel/xdotool/issues/43 , and unfortunately, there's nothing I can do about that (it annoys me, too, sometimes).
However, you also linked #15, which is about the window not receiving any keystrokes. Is that true for you as well?

@fdw Thanks for the answer. I guess I misunderstood #15 then. It's not a major issue and I guess I'll just have to accept it if that issue been open 8 years.

Sorry, really :(
I'd love to fix this, but I don't think I can do this in rofi-rbw alone :/

would it be possible to run xdotool keyup Shift_L Shift_R Alt_L Alt_R after xdotool as suggested in the issue in the xdottool repo? (Shift is required for layouts where numbers are accessed with shift like azerty)

First, I've pushed at a branch at release-alt to test this out. Can you please report back if this is better?
Secondly, I'd really love the implementation from @scgtrp and would prefer that if it becomes available.

oh my understanding was that it must be run before, so I was trying https://github.com/symphorien/rofi-rbw/commit/f0dae81da9563f22c970364c64a78f006cda3aad (which has be working for 3 days, fwiw)

I think both ways should work (theoretically 😉), though slightly differently: Doing it first means that we don't have to do --clearmodifiers, which in turn means that the keys can't get stuck.
Doing it after still requires --clearmodifiers, but releases them afterwards, in case they got stuck.
If you've tested your way and it works, why don't you open a PR for it? I don't like to take credit for your idea and work 🙂

I'll test a few more days, and then open a PR

Awesome, thank you 🙂


ImageLinearGauge

Hi anastr
I found that your ImageLinearGauge does not match parent if I use a long narrow view.
For example in this use case.
I have a linear layout in horizontal orientation.
3 Vertical views with weights. ILG in the centre view. Your ILG width adjusted to the weighted width of view. BUT your height does not match parent. On larger screens it is smaller and on small screens it over shoots.

ImageLinearGauge always try to fill its size depending on your image size, relatively to the relationship between width and height "Aspect ratio
Anyway, this gauge will never scale image to fit parent's width/height...


InvalidParameterException Missing required parameter SRP_A

Hi,
I want to apply that statement for cpp:
I tried to adopt it cpp.  I could sign-up operation. When I tried to sign-in, I encountered that exception:
"InvalidParameterException :  Missing required parameter SRP_A"
This is part of my code:
    Aws::Map<Aws::String, Aws::String> authParameters;

   Aws::Map<Aws::String, Aws::String> authParameters;
    authParameters.insert(
        std::pair<Aws::String, Aws::String>("USERNAME", "xxxxx"));
    authParameters.insert(
        std::pair<Aws::String, Aws::String>("PASSWORD", "xxxxx"));

    InitiateAuthRequest initiateAuthRequest;
    initiateAuthRequest.SetAuthFlow(
        Aws::CognitoIdentityProvider::Model::AuthFlowType::USER_SRP_AUTH);
    initiateAuthRequest.SetClientId(TEST_APP_CLIENT_ID);
    initiateAuthRequest.SetAuthParameters(authParameters);

    InitiateAuthOutcome initiateAuthOutcome =
        client.InitiateAuth(initiateAuthRequest);
    if (initiateAuthOutcome.IsSuccess()) {
        qDebug() << "Initiate auth: " << initiateAuthOutcome.IsSuccess();
    } else {
        qDebug() << initiateAuthOutcome.GetError().GetExceptionName().c_str()
                 << ": " << initiateAuthOutcome.GetError().GetMessage().c_str();
    }

How can I add SRP_A attribute to InitiateAuthRequest? For other platforms (android, ios and js), their sdk has SRP_A generator like there.
How can I solve this problem. Thanks.

I don't know this API, but from what I can gather from the docs, you need to populate your authParameters map with key-value pairs that correspond to the requirements of the authentication type you are attempting.  See http://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_InitiateAuth.html#API_InitiateAuth_RequestSyntax

I have already filled key-value pairs, but a pair that is SRP_A is necessary.

We haven't added SRP support yet. We are currently researching cross-platform ways of handling it.

I am using PHP sdk for aws cognito. I am facing problem in suppressing mfa. How to remember device in aws cognito using php sdk. Thanks...


feat(ast_tools): Add #[estree(append_to)], remove some custom serialization code

Removed custom logic for ObjectPattern, ArrayPattern, etc. in favor of a custom attribute macro #[estree(append_to = "foo")] as part of #6347

#7149  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @ottomated and the rest of your teammates on  Graphite

Merge activity

Nov 6, 3:43 PM EST: The merge label '0-merge' was detected. This PR will be added to the Graphite merge queue once it meets the requirements.

@ottomated Just to let you know I'm away until next Tues, so have merged these 2 PRs and left notes for suggested follow-on changes, rather than requesting changes now and blocking your progress.
If you want to continue onwards in my absence, please just stack up the PRs, and I'll review them when I get back.
If you're able to fix the broken TS types for the rest fields, please ask Boshen to merge that one. If it's OK with you, I'd prefer to review any further PRs myself, as I think I'm more aware of the context.


Opensearch pods are going into Crashloopbackoff and not showing any logs

Description
Opensearch pods are going into Crashloopbackoff and not showing any logs
k -n oracle-monitoring describe po opensearch-cluster-master-0
Name:         opensearch-cluster-master-0
Namespace:    oracle-monitoring
Priority:     0
Node:
Start Time:   Mon, 18 Mar 2024 07:08:45 +0000
Labels:       app.kubernetes.io/component=opensearch-cluster-master
app.kubernetes.io/instance=opensearch
app.kubernetes.io/managed-by=Helm
app.kubernetes.io/name=opensearch-helm-chart
app.kubernetes.io/version=2.4.0
controller-revision-hash=opensearch-cluster-master-7cdfc59568
helm.sh/chart=opensearch-helm-chart-2.8.0
statefulset.kubernetes.io/pod-name=opensearch-cluster-master-0
Annotations:  configchecksum: e276d983c059baea23f2e003f99113d37fb87b49e9cd1c6c66b05e63d43495b
Status:       Running
IP:
IPs:
IP:
Controlled By:  StatefulSet/opensearch-cluster-master
Init Containers:
fsgroup-volume:
Container ID:  cri-o://5b4c96c31ce1598af4705618ebd83b2bee6354908094ee7c970fc6b23eb96e6b
Image:         tabxcnoper01.snlhrprshared1.gbucdsint02lhr.oraclevcn.com/patchset5/opensearch-busybox:2.4.0
Image ID:      occ-harbor.oraclecorp.com/samuthul/opensearch/busybox@sha256:51de9138b0cc394c813df84f334d638499333cac22edd05d0300b2c9a2dc80dd
Port:
Host Port:
Command:
sh
-c
Args:
chown -R 1000:1000 /usr/share/opensearch/data
State:          Terminated
Reason:       Completed
Exit Code:    0
Started:      Mon, 18 Mar 2024 07:08:46 +0000
Finished:     Mon, 18 Mar 2024 07:08:46 +0000
Ready:          True
Restart Count:  0
Environment:
Mounts:
/usr/share/opensearch/data from opensearch-cluster-master (rw)
/var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-5rxrx (ro)
sysctl:
Container ID:  cri-o://59b1a917cba7f4590e33c4c4b81afa38627492d55f412ee01d1f045735a5a3e0
Image:         tabxcnoper01.snlhrprshared1.gbucdsint02lhr.oraclevcn.com/patchset5/opensearch-busybox:2.4.0
Image ID:      occ-harbor.oraclecorp.com/samuthul/opensearch/busybox@sha256:51de9138b0cc394c813df84f334d638499333cac22edd05d0300b2c9a2dc80dd
Port:
Host Port:
Command:
sh
-c
set -xe
DESIRED="262144"
CURRENT=$(sysctl -n vm.max_map_count)
if [ "$DESIRED" -gt "$CURRENT" ]; then
sysctl -w vm.max_map_count=$DESIRED
fi
State:          Terminated
  Reason:       Completed
  Exit Code:    0
  Started:      Mon, 18 Mar 2024 07:08:47 +0000
  Finished:     Mon, 18 Mar 2024 07:08:47 +0000
Ready:          True
Restart Count:  0
Environment:    <none>
Mounts:
  /var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-5rxrx (ro)

Containers:
opensearch-helm-chart:
Container ID:   cri-o://debea1e04684b0d630b969502f00a660e82ed21c8222997f5daf409c8ebbac0c
Image:          tabxcnoper01.snlhrprshared1.gbucdsint02lhr.oraclevcn.com/patchset5/opensearch-busybox:2.4.0
Image ID:       occ-harbor.oraclecorp.com/samuthul/opensearch/busybox@sha256:51de9138b0cc394c813df84f334d638499333cac22edd05d0300b2c9a2dc80dd
Ports:          9200/TCP, 9300/TCP
Host Ports:     0/TCP, 0/TCP
State:          Waiting
Reason:       CrashLoopBackOff
Last State:     Terminated
Reason:       Completed
Exit Code:    0
Started:      Mon, 18 Mar 2024 07:35:08 +0000
Finished:     Mon, 18 Mar 2024 07:35:08 +0000
Ready:          False
Restart Count:  10
Readiness:      tcp-socket :9200 delay=0s timeout=3s period=5s #success=1 #failure=3
Startup:        tcp-socket :9200 delay=15s timeout=3s period=10s #success=1 #failure=30
Environment:
node.name:                     opensearch-cluster-master-0 (v1:metadata.name)
cluster.initial_master_nodes:  opensearch-cluster-master-0,opensearch-cluster-master-1,opensearch-cluster-master-2,
discovery.seed_hosts:          opensearch-cluster-master-headless
cluster.name:                  opensearch-cluster
network.host:                  <IP_ADDRESS>
OPENSEARCH_JAVA_OPTS:          -Xmx512M -Xms512M
node.roles:                    master,ingest,data,remote_cluster_client,
Mounts:
/usr/share/opensearch/config/opensearch.yml from config (rw,path="opensearch.yml")
/usr/share/opensearch/data from opensearch-cluster-master (rw)
/var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-5rxrx (ro)
Conditions:
Type              Status
Initialized       True
Ready             False
ContainersReady   False
PodScheduled      True
Volumes:
opensearch-cluster-master:
Type:       PersistentVolumeClaim (a reference to a PersistentVolumeClaim in the same namespace)
ClaimName:  opensearch-cluster-master-opensearch-cluster-master-0
ReadOnly:   false
config:
Type:      ConfigMap (a volume populated by a ConfigMap)
Name:      opensearch-cluster-master-config
Optional:  false
kube-api-access-5rxrx:
Type:                    Projected (a volume that contains injected data from multiple sources)
TokenExpirationSeconds:  3607
ConfigMapName:           kube-root-ca.crt
ConfigMapOptional:
DownwardAPI:             true
QoS Class:                   BestEffort
Node-Selectors:
Tolerations:                 node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:
Type     Reason            Age                  From               Message

Warning  FailedScheduling  31m                  default-scheduler  0/4 nodes are available: 4 pod has unbound immediate PersistentVolumeClaims. preemption: 0/4 nodes are available: 4 Preemption is not helpful for scheduling.
Normal   Scheduled         31m                  default-scheduler  Successfully assigned oracle-monitoring/opensearch-cluster-master-0 to lhr-410
Normal   Pulled            31m                  kubelet            Container image "tabxcnoper01.snlhrprshared1.gbucdsint02lhr.oraclevcn.com/patchset5/opensearch-busybox:2.4.0" already present on machine
Normal   Created           31m                  kubelet            Created container fsgroup-volume
Normal   Started           31m                  kubelet            Started container fsgroup-volume
Normal   Pulled            31m                  kubelet            Container image "tabxcnoper01.snlhrprshared1.gbucdsint02lhr.oraclevcn.com/patchset5/opensearch-busybox:2.4.0" already present on machine
Normal   Created           31m                  kubelet            Created container sysctl
Normal   Started           31m                  kubelet            Started container sysctl
Normal   Pulled            30m (x3 over 31m)    kubelet            Container image "tabxcnoper01.snlhrprshared1.gbucdsint02lhr.oraclevcn.com/patchset5/opensearch-busybox:2.4.0" already present on machine
Normal   Created           30m (x3 over 31m)    kubelet            Created container opensearch-helm-chart
Normal   Started           30m (x3 over 31m)    kubelet            Started container opensearch-helm-chart
Warning  BackOff           75s (x163 over 31m)  kubelet            Back-off restarting failed container
Chart Name
appVersion: 2.4.0
Screenshots
If applicable, add screenshots to help explain your problem.
Host/Environment (please complete the following information):

Helm Version: v3.7.1
Kubernetes Version: v1.24.8+1.el8

Additional context
Pods are going in crashloopbackoff state and container opensearch-helm-chart is not showing any logs.

@prudhvigodithi please take a look.


Minor Update

Just Update some Text and Grammer that makes it easier to understand

I don’t know how I do because I don’t have pc send me all information at Spanish it’s more better for me
Sent from Proton Mail for iOS
On Sat, Jul 20, 2024 at 5:25 AM, Darshil Ahlawat @.***(mailto:On Sat, Jul 20, 2024 at 5:25 AM, Darshil Ahlawat < wrote:

You can view, comment on, or merge this pull request online at:
https://github.com/trimstray/the-book-of-secret-knowledge/pull/438
Commit Summary

ea92360 Minor Fixes
01f7fde Update README.md

File Changes
(1 file)

M README.md (38)

Patch Links:

https://github.com/trimstray/the-book-of-secret-knowledge/pull/438.patch
https://github.com/trimstray/the-book-of-secret-knowledge/pull/438.diff

—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.Message ID: @.***>

ok

Ok hazme saver lo que está pasando porque esta gente no me deja en paz
Sent from Proton Mail for iOS
On Tue, Jul 23, 2024 at 8:16 AM, Darshil Ahlawat @.***(mailto:On Tue, Jul 23, 2024 at 8:16 AM, Darshil Ahlawat < wrote:

ok
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you commented.Message ID: @.***>

Mejoré el texto y la gramática para que sea más fácil de entender

Quiero saber que está pasando?
Sent from Proton Mail for iOS
On Tue, Jul 23, 2024 at 9:19 AM, Darshil Ahlawat @.***(mailto:On Tue, Jul 23, 2024 at 9:19 AM, Darshil Ahlawat < wrote:

Mejoré el texto y la gramática para que sea más fácil de entender
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you commented.Message ID: @.***>

Someone it's hacked my device that's people say this it's a GitHub protect let me know what gotta happened because i don't know tha reason?


ytsession error after i put the code

also the recommended for you tab disappears when i get in to the instance
i followed the instructions that were shown in the logs, but i still get the ytsession error

are you up to date? latest commit is https://github.com/ftde0/yt2009/commit/89a69c87d4dac3427c542ae937ae006c5223c151, you can use git log within your yt2009 dir to check.

assuming the account test goes correctly (you see the "account used: <name>" line when starting yt2009 - that means it's working)
can you edit yt2009html.js before those lines:
if(r.streamingData) {
    yt2009exports.extendWrite("players", id, r)
}
for(let i in r) {
    combinedResponse[i] = r[i]
}

(should be after }).then(r => {r.json().then(r => {)
to include this piece of code?
fs.writeFileSync("test.json", JSON.stringify(r));

should make something like this:
fs.writeFileSync("test.json", JSON.stringify(r));
if(r.streamingData) {
    yt2009exports.extendWrite("players", id, r)
}
for(let i in r) {
    combinedResponse[i] = r[i]
}

this should create a test.json file inside of back/ containing the response so we can further see what's going on. please remove your identifying data (datasyncIds, your IP if it could come up, stuff like that) and send the file here.

alternatively, you can include this instead instead of fs.writeFileSync...
console.log(r)

this will log the needed info to your console stdout. if you go this route, please send the screenshot of what it says.

alternatively, if you can't do any of those, use a proxy to get the /player request and send its response here.

like this?

like that. i've noticed the issue on my end as well though, so if you get a 'Request contains an invalid argument.', message, it's known by now. a fix should be out by next week.

thx

fixed in https://github.com/ftde0/yt2009/commit/70d5735ae6e1f3e3dda0ab4299ac06ccd01c719d

where do i put the token?
hosting this on render

sorry for taking longer than promised, i added a workaround in 17c4966a31ca2961b156860dd7662c9ac5486b5c
@SuperLuigiKillz04 can you test if it works so i can close the issue?

it works, but the recommended for you tab still disappears


fix(CSI-269): nfsmount mountPoint may be incorrect in certain cases

fix(CSI-269): nfsmount mountPoint may be incorrect in certain cases
fix(deps): handle errors in NodeGetVolumeStats() for sanity
refactor(CSI-269): change NFS mount refcount logic and add mount retries

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#340
#345  👈
#344
#343
#341
dev

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @sergeyberezansky and the rest of your teammates on  Graphite

Merge activity

Sep 27, 8:57 AM EDT: @sergeyberezansky started a stack merge that includes this pull request via Graphite.


Add warning suppression(rawtypes) to generated CustomType#javaType method

When using javac with warnings as errors, CustomTypes fail compilation with rawtypes error. This adds  a switch to the apollo plugin which can add the proper annotation (@SuppressWarning("rawtypes")) to the generated custom type file.

Summary is at issue #926, and sample code demonstrating the error is here: https://github.com/xrd/apollo_custom_types_error

Thanks for the PR. There is one failing test JavaTypeResolverTest . Plus I think that you should add tests for compiler, look at https://github.com/apollographql/apollo-android/tree/master/apollo-compiler/src/test/graphql/com/example
To create a new test for compiler you need to:
0. Install the code gen version npm install -g<EMAIL_ADDRESS>
Create a new folder under /apollo-compiler/src/test/graphql/com/example
Create TestOperation.graphql file with the query
Run ./gradlew :apollo-compiler:updateTestIRFiles
Run com.apollographql.apollo.compiler.CodeGenTest unit tests
Put generate java files from /apollo-compiler/build/generated/source/apollo/com/example/your-folder to /apollo-compiler/src/test/graphql/com/example/your-folder
Run again com.apollographql.apollo.compiler.CodeGenTest to verify all tests are green

@sav007 Great, thanks for the help. I believe I have fixed the failing test and added another which verifies my compiler output is correct when the useRawTypesWarningSuppression apollo plugin switch is provided.

@digitalbuddha and @sav007 do I need to do anything else? Not in a rush to get this merged, but let me know if there is anything needed on my end.

@hwillson I've pushed the changes to fix the formatting. Thanks!


fix(59769): remapped properties ObjectLiteralMethodSnippet completion

type ListenerTemplate<T, S extends string, I extends string = "${1}"> = {
   [K in keyof T as K extends string
       ? S extends `${infer F}${I}${infer R}` ? `${F}${K}${R}` : K : K]
       : (listener: (payload: T[K]) => void) => void;
};
type ListenActionable<E> = ListenerTemplate<E, "add*Listener" | "remove*Listener", "*">;
type ClickEventSupport = ListenActionable<{ Click: 'some-click-event-payload' }>;

const t = (): ClickEventSupport => {
    // Error
    return {
    }
}

Fixes #59769
Also there is issue with error message:
Type '{}' is missing the following properties from type 'ListenerTemplate<{ Click: "some-click-event-payload"; }, "add*Listener" | "remove*Listener", "*">': Click, Click
But I don't know how to fix it.

@zpix1 please read the following Contributor License Agreement(CLA). If you agree with the CLA, please reply with the following information.
@microsoft-github-policy-service agree [company="{your company}"]

Options:

(default - no company specified) I have sole ownership of intellectual property rights to my Submissions and I am not making Submissions in the course of work for my employer.

@microsoft-github-policy-service agree

(when company given) I am making Submissions in the course of work for my employer (or my employer has intellectual property rights in my Submissions by contract or applicable law). I have permission from my employer to make Submissions and enter into this Agreement on behalf of my employer. By signing below, the defined term “You” includes me and my employer.

@microsoft-github-policy-service agree company="Microsoft"

Contributor License Agreement

@microsoft-github-policy-service agree

@typescript-bot test tsserver top400

Bump


Expecto watch mode do not pick up on changes in referenced C# project

This may very well be by design, but I thought I'd mention it:
When using Expecto watch mode, any changes in referenced C# project under test is not picked up, IE does not trigger a new build / test.
This is different from running dotnet watch run The tool referenced in this tutorial, which when run on the same F# Expecto test project does pick up on changes in referenced C# projects.
Note: I have not tested if referenced F# project changes are picked up.

Expecto watch mode predates dotnet watch tool and is using our custom thing to detect changes - hence differences in behavior.
But not detecting changes in C# is rather by-design. Ionide has no knowledge about C# projects, and C# code at all. And I don't think it will change any time soon.

Thank you for taking the time to explain.


Add 'Group Based' Permissions Management

Implementing  a more advanced, "permissions management" model, very necessary in LOB apps with large numbers of users.

so can I authorize by groups?
[Authorize(Groups= "Administrators")]

Questions about authorization would be better asked in the Security repo https://github.com/aspnet/security as a separate issue, rather than tagging onto an issue which isn't about authorization.

Closing again, off topic now.