GRPC_ARG_KEEPALIVE_TIME_* on the C++ client does not work when streaming

Should this be an issue in the gRPC issue tracker?
yes
What version of gRPC and what language are you using?
grpc 1.10 with C++
What operating system (Linux, Windows, …) and version?
Ubuntu 16.04.3 LTS (Xenial Xerus)
What runtime / compiler are you using (e.g. python version or version of gcc)
gcc (Ubuntu 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
What did you do?

I start a grpc server and a client on different machines
Both server and client are started with
GRPC_ARG_KEEPALIVE_TIME_MS = 10000 and
GRPC_ARG_KEEPALIVE_TIMEOUT_MS = 10000

the client opens a bidirectional stream to the server (both sides write & read messages)

I pull the cable between server & client

What did you expect to see?
The Read and Write calls fail on both sides after 20 seconds.
What did you see instead?
The Read and Write calls fail on both sides after 15 minutes.
Anything else we should know about your project / environment?
When using plain RPC calls without streaming, the client does time out after 20 seconds.

Source code to reproduce the issue can be found here:
https://gist.github.com/forestphoenix/cd9d0ae24cbb5c6218b4299f4df5521b

Please try setting GRPC_ARG_KEEPALIVE_PERMIT_WITHOUT_CALLS to 1 at both client and server.
And set GRPC_ARG_HTTP2_MIN_RECV_PING_INTERVAL_WITHOUT_DATA_MS at server to a value smaller than 10000 and set GRPC_ARG_HTTP2_MIN_SENT_PING_INTERVAL_WITHOUT_DATA_MS at client to 10000.

Feel free to reopen the issue if you still see problems. Thanks.

I have added the arguments you suggested, but the both server and client still take 15 minutes to time out.

@yang-g Given that the problem still exists, can you reopen the issue?
I since you (as contributor) closed the issue, I cannot reopen it.

When I stop doing Write calls on the client, the client does time out after 20 seconds.
With Write calls, it takes 15 minutes.
Could that be a clue about what is going on here?

I looked at your source code and it seems you are doing a non-stop sequence of writes. In this case, the write should detect the failure of the connection (rather than the keepalive), and the fact that  Write failed to come back with an error is the key problem here.

@yashykt Could you take a look? Thanks.

@yang-g, why should write detect the failure of connection when TCP has not yet timed out (15 mins in this case)? May be the problem is that keepalive logic thinks the bytes are are being sent but they are just being buffered in TCP due to broken connection.

I also agree with Yang's observation that the keepalive timer has no affect here since the writes are being done continuously at both the server and the client.
I took a look at the code, and the non-stop writes are probably resetting the keepalive timer each time a write is attempted which is intended afaik. Also, a write might not return an error immediately because the writes are probably getting buffered.
If the timeout is a concern in this scenario, I would suggest disabling buffering in the WriteOptions, and waiting till the write is actually complete.

@yashykt, doesn't keepalive logic send a ping when no data frame has been received for GRPC_ARG_HTTP2_MIN_SENT_PING_INTERVAL_WITHOUT_DATA_MS duration?

@srini100 it would send a ping but if we are already writing then the ping is not really required right? The write buffering over here is causing the issue imo.

In my mind the purpose of keepalive feature is to check the health of the connection (RTT, breakage etc.) without relying on lower layers. While we are sending data but not receiving anything, a ping should be sent after some duration to confirm that the connection is still alive. The ping response will confirm that connection is fine. I am assuming that ping is sent with tcp_nodelay option.

That should be true. But the ping will only be sent if the timer expires
but if the timer is reset on a write then the ping will not be sent.
On Wed, Mar 21, 2018, 7:49 PM Srini Polavarapu<EMAIL_ADDRESS>wrote:

In my mind the purpose of keepalive feature is to check the health of the
connection (RTT, breakage etc.) without relying on lower layers. While we
are sending data but not receiving anything, a ping should be sent after
some duration to confirm that the connection is still alive. The ping
response will confirm that connection is fine. I am assuming that ping is
sent with tcp_nodelay option.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/grpc/grpc/issues/14717#issuecomment-375161786, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AD_MhHpCu7NVZ3Iw7TC-MXFrRPAPtn-rks5tgxFKgaJpZM4Sr8h1
.

@forestphoenix Also try setting GRPC_ARG_HTTP2_BDP_PROBE to 0

Reopening it. Based on reading the relevant keepalive timer code we are not resetting the timer on writes or reads, but we do reset it on a bdp ping.

@yashykt, from the design doc  "keepalive time is ideally measured from the time of the last byte read".

@yashykt I tried setting the GRPC_ARG_HTTP2_BDP_PROBE to 0.
Doing that changed nothing.
I also did some investigating on my side:
Normally, a timer that calls keepalive_watchdog_fired_locked is activated when the ping is processed from the ping_queue of the transport and started.
In the scenario where I pull the cable and the client does Write calls, the ping never gets processed from the queue (from what I can tell, maybe_initiate_ping does not get called).

@srini100 We don't seem to be following the ideal implementation.

@GupTk What does your scenario look like?

@GupTk What does your scenario look like?

Our Client (Windows) writes a stream of data to the server (an embedded Linux) and receives also streamed status information from the server.
We encountered the same problem when testing grpc’s failure modes for our application - e.g. when unplugging the network cable

Sorry for the delay. I finally got around to debugging this.
The issue comes up in the following scenario -

The client and server have an established channel between them.
The client sends a ping to the server. (This ping is not a keepalive ping.)
The network/connection goes down with the client still waiting to hear back the ACK on the ping.
The keepalive timer expires, but the keepalive ping is not sent, since there is already a ping in progress.
The keepalive ping would only be sent once we hear back the ACK which we aren't going to get. Also, the watchdog timer for the keepalive ping is only started once we send the keepalive ping. This leads to a hung state.

The fix would be to start the watchdog timer for the keepalive ping if there is a ping already in progress. This would use the ping in progress as a keepalive ping too. This should avoid the condition where the client and server hang up. I'll send out a pull request for this.

Thanks for the detailed comments Yash. This was very helpful in understanding how keepalive in grpc-core works!


Add metrics

Description

@dshulyak @countvonzero suggested adding new metrics to make investigating issues like https://github.com/spacemeshos/go-spacemesh/issues/2802 easier.
The list of metrics:

layer_distance_to_base_block - to see how far back a node needs to find a good block
avg_layer_block_size + avg_num_txs_in_block - to see abnormal size not caused by num of TXs
avg_base_block_exception_length - to see abnormal diff size
layer_num_blocks - to see how network disagree on layer content
block_build_duration

Also, we need to add a log for block_build_duration. If it goes above 2-5s, it should be raised to error to get reports from users.
cc @moshababo

to give some context:
devnet204 eventually had verified layer stuck after 5 days with many late joiners.
the theory is that late joiners of the network did not correctly sync the content of the layers (because their network can be flaky, compounded by bug https://github.com/spacemeshos/go-spacemesh/issues/2797).
excerpt from @dshulyak 's analysis
the first layer when we got late block is 844. before that all input vectors matched with blocks in the layer.
i suspect that all late blocks are coming from joiners. the exceptions in late blocks are completely off...
timely block will have exceptions for the blocks in the previous layer. late block will have a base block from
very old layer, and all exceptions will be anywhere between that base block and current layer. examples
that i've seen base block is 160 or 220, exceptions anywhere between 160 and 840.

also the late blocks doesn't have any exceptions on the block in the previous layer, this explains no opinion
on older block logs and negative votes.

those late blocks have a lot of exceptions, for instance block 59c39e5325 has 15239 exceptions in ForDiff.
this explains the allocation spike in blockSyntacticValidation, since we load all blocks specified in ForDirr
from db.

the reason why i don't think that late blocks is about blocking or concurrency issues is because all nodes
receive them at the same time, this time is 3-10 minutes late.

if it was concurrency it won't be that long, and receive time will be different across receivers.
the only thing that explains such long delays and consistent receive time to me is that takes long time to
build the block. if it was network issues receive time won't be consistent

i am almost 100% sure that it is because of the logic in BaseBlock.
those late blocks have very old base blocks (160 when last layer is 849), which implies that there was a
lot of looping to find good block and exceptions are calculated for the whole difference with base block
the exceptions length is also large, 2k - 15k items in forDiff
i don't imply that the logic is wrong, very likely that all of this because of the joiners state


IE8 - Date.now() not working

Line 51 gives error on IE8:
start = Date.now();

This should be fixed on v2.0.3 which was just pushed. There were some debug features that were left in but are no longer needed.


feat(*): update polkadot deps to match latest polymesh SDK versions

Description
Bumps polkadot dependency versions so they are the same as what the SDK uses
Breaking Changes

JIRA Link

Checklist

[ ] Updated the Readme.md (if required) ?

:tada: This PR is included in version<EMAIL_ADDRESS>:tada:
The release is available on:

npm package (@latest dist-tag) :package::rocket:
GitHub release :package::rocket:

:tada: This PR is included in version<EMAIL_ADDRESS>:tada:
The release is available on:

npm package (@latest dist-tag) :package::rocket:
GitHub release :package::rocket:

:tada: This PR is included in version<EMAIL_ADDRESS>:tada:
The release is available on:

npm package (@latest dist-tag) :package::rocket:
GitHub release :package::rocket:

:tada: This PR is included in version<EMAIL_ADDRESS>:tada:
The release is available on:

npm package (@latest dist-tag) :package::rocket:
GitHub release :package::rocket:

:tada: This PR is included in version<EMAIL_ADDRESS>:tada:
The release is available on:

npm package (@latest dist-tag) :package::rocket:
GitHub release :package::rocket:

:tada: This PR is included in version<EMAIL_ADDRESS>:tada:
The release is available on:

npm package (@latest dist-tag) :package::rocket:
GitHub release :package::rocket:


[eWeLink] An error was encountered while requesting a list of devices while interrogating power status. Verify your configuration options. Response was [{"error":400,"msg":"params incomplete"}]

Hi,
Today I started getting this error which causes homebridge to crash

Nov 28 20:42:50 raspberrypi homebridge[12796]: [11/28/2019, 8:42:50 PM] [eWeLink] An error was encountered while requesting a list of devices while interrogating power status. Verify your configuration options. Response was [{"error":400,"msg":"params incomplete"}] Nov 28 20:42:50 raspberrypi homebridge[12796]: [11/28/2019, 8:42:50 PM] TypeError: body.filter is not a function Nov 28 20:42:50 raspberrypi homebridge[12796]: at /usr/lib/node_modules/homebridge-ewelink/index.js:364:37 Nov 28 20:42:50 raspberrypi homebridge[12796]: at Object.parseBody (/usr/lib/node_modules/homebridge-ewelink/node_modules/request-json/main.js:74:12) Nov 28 20:42:50 raspberrypi homebridge[12796]: at Request._callback (/usr/lib/node_modules/homebridge-ewelink/node_modules/request-json/main.js:148:26) Nov 28 20:42:50 raspberrypi homebridge[12796]: at Request.self.callback (/usr/lib/node_modules/homebridge-ewelink/node_modules/request/request.js:187:22) Nov 28 20:42:50 raspberrypi homebridge[12796]: at Request.emit (events.js:193:13) Nov 28 20:42:50 raspberrypi homebridge[12796]: at Request.<anonymous> (/usr/lib/node_modules/homebridge-ewelink/node_modules/request/request.js:1044:10) Nov 28 20:42:50 raspberrypi homebridge[12796]: at Request.emit (events.js:193:13) Nov 28 20:42:50 raspberrypi homebridge[12796]: at IncomingMessage.<anonymous> (/usr/lib/node_modules/homebridge-ewelink/node_modules/request/request.js:965:12) Nov 28 20:42:50 raspberrypi homebridge[12796]: at IncomingMessage.emit (events.js:198:15) Nov 28 20:42:50 raspberrypi homebridge[12796]: at endReadableNT (_stream_readable.js:1139:12) Nov 28 20:42:50 raspberrypi homebridge[12796]: at processTicksAndRejections (internal/process/task_queues.js:81:17) Nov 28 20:42:50 raspberrypi homebridge[12796]: [11/28/2019, 8:42:50 PM] Got SIGTERM, shutting down Homebridge... Nov 28 20:42:55 raspberrypi systemd[1]: homebridge.service: main process exited, code=exited, status=143/n/a

Has the protocol changed on the server side?
Thanks,
Miguel

Hi, @migabc. I'm seeing the same error, however my homebridge does not crash but, I get No Response for all my accessories..

Same issue here :-(

Updating to the latest version worked for me...

Updating to the latest version fixed for me...

I'm on v0.1.17 and no luck...

Updating to the latest version fixed for me...

Tried that with no success.
What api server does your log say you are connecting to ?  (mine defaults to us no matter what I try to override it with)
thanks.

I found another ewelink api project that seemed to face the same issue and they fixed it a few weeks ago.
https://github.com/skydiver/ewelink-api/issues/21
I've tried to figure out what they did relative to how this project work, but had no luck.  @howanghk you may have more luck.
Also, since that project is so active, maybe it'd be worth making their API a dependancy to simplify homebridge-ewelink-max

Upgraded to lastest version.
Problem solved
Great plug-in
Thanks

Upgraded to lastest version.
Problem solved
Great plug-in
Thanks

Same here, has been working fine since yesterday.
Maybe it was someting on the ewelink services...

I found another ewelink api project that seemed to face the same issue and they fixed it a few weeks ago.
skydiver/ewelink-api#21
I've tried to figure out what they did relative to how this project work, but had no luck. @howanghk you may have more luck.
Also, since that project is so active, maybe it'd be worth making their API a dependancy to simplify homebridge-ewelink-max

Hi @rob0101, the changes on ewelink-api you've mentioned above is basically the same as the fix provided by maxmacstn in https://github.com/howanghk/homebridge-ewelink/pull/49 , which have been merged and released as of version 0.1.16.

same error here too. tried updating, it worked again, but then stopped working

Same here .. not working.

hi, have the exact same problem since this morning.
Dont have a clue how to fix this
@howanghk

This may be related to ewelink server now have a new api for resolving user region before login.
I am working on a new version that supports the new region resolving API. In the meantime, please try adding apiHost to config, with one of the following value and see if it works:
us-api.coolkit.cc:8080
eu-api.coolkit.cc:8080
as-api.coolkit.cc:8080
cn-api.coolkit.cc:8080

Like this:
        {
            "platform" : "eWeLink",
            "name" : "eWeLink",
            "apiHost": "eu-api.coolkit.cc:8080",
            "phoneNumber" : "+12345678901",
            "password" : "your-login-password",
            "imei" : "01234567-89AB-CDEF-0123-456789ABCDEF"
        }

getting the following error
[2019-12-22 15:44:07] [eWeLink] Requesting power state for [Eric]
[2019-12-22 15:44:08] [eWeLink] An error was encountered while requesting a list of devices while interrogating power status. Verify your configuration options. Response was [{"error":400,"msg":"params incomplete"}]
with this config
{
"platform" : "eWeLink",
"name" : "eWeLink",
"countryCode" : "61",
"email"<EMAIL_ADDRESS>"password" : "*****",
"imei" : "C00A2142-B245-4276-885F-5A21210DAEEA"
},

This should be a server-side stability problem of ewelink. We have not receive "params incomplete" reports for few months. I consider this issue is fixed for now. If it happen again please open another issue.


Less precise

Hi
Can you check on some other piece of text? After updating the module I get far less entities and less precise.
Thanks for the effort

Hi thank you for bringing this to my attention.


event API: atomic-like operations

Is your enhancement proposal related to a problem? Please describe.
The Event API can in some use cases be considered an enhanced version of the Atomic API that allows users to also block on the bits.
While the atomic API can be roughly implemented for events in tree with the existing API, the resulting code is not as clear as it could be.
atomic_test_bit(&var, 4) -> k_event_wait(&var, 1 << 4, false, K_NO_WAIT)
atomic_test_and_clear_bit(&var, 4) -> k_event_wait(&var, 1 << 4, true, K_NO_WAIT)
atomic_test_and_set_bit(&var, 4) -> if(k_event_wait(&var, 1 << 4, false, K_NO_WAIT) == 0) {k_event_post(&var, 1 << 4)}
atomic_clear_bit(&var, 4) -> k_event_clear(&var, 1 << 4)
atomic_set_bit(&var, 4) -> k_event_post(&var, 1 << 4)
atomic_set_bit_to(&var, 4, 0) -> k_event_set_masked(&var, 0, 1 << 4)

The biggest problems with this usage are:

Using k_event_wait is a hack around the other API's returning void
Two function calls required for atomic_test_and_set_bit

Describe the solution you'd like
If k_event_clear, k_event_post, k_event_set and k_event_set_masked returned the previous value of the provided events, this usage could be drastically simplified, together with the following helper:
static inline uint32_t k_event_check(struct k_event *event, uint32_t events) {
  return k_event_wait(state, events, false, K_NO_WAIT);
}

Would enable the following usage:
atomic_test_bit(&var, 4) -> !!k_event_check(&var, 1<< 4)
atomic_test_and_clear_bit(&var, 4) -> !!k_event_clear(&var, 1 << 4)
atomic_test_and_set_bit(&var, 4) -> !!k_event_post(&var, 1 << 4)
atomic_clear_bit(&var, 4) -> (void)k_event_clear(&var, 1 << 4)
atomic_set_bit(&var, 4) -> (void)k_event_post(&var, 1 << 4)
atomic_set_bit_to(&var, 4, 0) -> (void)k_event_set_masked(&var, 0, 1 << 4)

Complete in #57217


Two classes that implement request body caching use two different key.

I find something that I don't understand, and maybe it's not a bug, I just want to discuss this with you to figure out my puzzle.
There are two classes (AdaptCachedBodyGlobalFilter and ReadBodyPredicateFactory) implementing request body caching, but they use two diferent key (cachedRequestBody and cachedRequestBodyObject) to cache the request body in ServerWebExchange's attributes map. Even though they cache different object type, one is the object, the other is DataBuffer, but does it really need to cache both of them? Body caching is space consuming.

They are used for two different purposes. The predicate serializes the body to read it, the other to do things like retry, but without serialization

OK, I know now, thank you.


Rerendering and async workflow

Hi @jordangarcia
I'm currently learning React and the Flux architecture and came to your library when researching how to use Stores with Immutables. I've stumbled upon a couple of problems / questions though when applying it to my example, so let me explain a bit what I did.
In my example I want to fetch some data from an API when the component is rendered. In the ideal scenario with a Flux architecture it would look like this:

Component will render
Component asks state from Store
Store provides default state to component and triggers an Action to fetch data from an API
Component renders with initial state
Action creator execute async request using some util library
Action creator processes request and if successful will dispatch payload
Store handles dispatched payload and updates its (immutable) state
Store informs Component that it has a new state
Component rerender with new state

Now, when I implement this flow using the Reactor the last step is not executed, which could be the same problem @ArnoBuschmann is having https://github.com/optimizely/nuclear-js/issues/4

Wow thanks for the detailed answer @jordangarcia!

@jordangarcia thanks for the explanation :)

The question about using .toJS() this is fixed in React facebook/react#2376


Setup 2021-04-20 challenge

Created challenge setup for Potential Palindrome, for 2021-04-20 meetup

I can almost guarantee that XOR is not (necessarily) the answer here...

Fixed the typo @birenderjit  noted.


Replace dict by Mapping on HTTPException.headers

HTTP Headers cannot be represented by a dict, as they can have duplicate entries, as shown in the example: two set-cookie headers:
from pprint import pprint
import fastapi

response = fastapi.Response()
response.delete_cookie("cookie1")
response.delete_cookie("cookie2")

pprint(list(response.headers.items()))
# [('content-length', '0'),
#  ('set-cookie',
#   'cookie1=""; expires=Thu, 07 Nov 2024 08:26:12 GMT; Max-Age=0; Path=/; '
#   'SameSite=lax'),
#  ('set-cookie',
#   'cookie2=""; expires=Thu, 07 Nov 2024 08:26:12 GMT; Max-Age=0; Path=/; '
#   'SameSite=lax')]

headers = fastapi.datastructures.Headers(
    raw=[(b"set-cookie", x.encode()) for x in response.headers.getlist("set-cookie")]
)

exc = fastapi.HTTPException(400, headers=headers)
# Argument of type "Headers" cannot be assigned to parameter "headers" of type "Dict[str, str] | None" in function "__init__"
#   Type "Headers" is not assignable to type "Dict[str, str] | None"
#     "Headers" is not assignable to "Dict[str, str]"
#     "Headers" is not assignable to "None"PylancereportArgumentType

As such type of fastapi.HTTPException's headers field should be typing.Mapping instead of dict.
In the example I tried assigning fastapi.datastructures.Headers to the parameter headers. It worked at runtime, but pyright is screaming about wrong types in the editor and CLI.
fastapi.Request's headers field already has the type MutableHeaders, which is a distant descendant of typing.Mapping already.
A fix has also been submitted to starlette and released as part of 0.41.3, which is why its version is also bumped.
See also:

https://github.com/fastapi/fastapi/discussions/12786
https://github.com/encode/starlette/pull/2749

Does it need the starlette bump tho?

I have bumped starlette to >=0.41.3 in this PR (https://github.com/fastapi/fastapi/pull/12997/commits/fca6d2dbe80cae20cc8872accb8da5801254fd7d), if needed I can separate it into a different PR.

Yes, otherwise this typing error happens in fastapi source:


IMPORTANT! Join https://discord.gg/gruppe

Hey there!


Merging demo project from personal repo into elastic/demo as subfolder

This project is a simple PHP application that demonstrates basic usage of Elasticsearch. In the future there will be more applications (not necessarily in PHP, and of varying complexities) that will demonstrate different capabilities of Elasticsearch.

TODO: Need to fix references to ycombinator org in README.


Federation e2e tests must clean up dynamically provisioned PDs while tearing down the clusters.

 Issue by madhusudancs
Monday Aug 01, 2016 at 20:08 GMT
Originally opened as https://github.com/kubernetes/kubernetes/issues/29875

The federation-apiserver's etcd is backed by a PVC that dynamically provisions the underlying persistent disk for its PV. We are not cleaning this up when we tear down the federation control plane and the corresponding test clusters. This caused us to run out of quota and the tests started failing.
We should delete the dynamically provisioned persistent disks at the end of the e2e tests, while tearing the clusters down.
@colhom are you seeing this behavior in your test clusters in AWS too?
cc @kubernetes/sig-cluster-federation @mml

We are not using Dynamic PDs in the new federation jobs by default. So this issue does not exist currently federation CI jobs.
/close


Readme link to react native guide is broken

We have this in readme of this project
Read through our JS-React Native guide
If you novigate there you get Page Not Found
Also you have to understand that for the most part developers would most likely want to write web3 apps sot they are not interested to develop an wallet but to connect to 1. This is not reflected in the way intro and documentation is structured. It is very confusing and I actualy tok me cupple of hours to understand that you have no client example on how to connect to a wallet. from a daap react native app that neds to use walletconnect.

hey @bogdan-marian, i opened a PR to fix the link to our guides. Thanks for the feedback.
About the examples, check our guides and you'll see documentation and examples for:

Web3Modal -> use it to connect your dapp to wallets
Web3Wallet -> use it to connect your wallet to dapps

In your case, you should check the Web3Modal docs and examples. Our SDK is currently in alpha version, but you can try it


I test your tf-model metrics-error  and the result can not reach 81%

Hi, @iro-cp
I have test your result on nyu_label dataset (use test 654 images, tf-model is provided by you) ,
http://horatio.cs.nyu.edu/mit/silberman/nyu_depth_v2/nyu_depth_v2_labeled.mat

There is my error calculate method, (a1 corresponding your delta in paper):

    thresh = np.maximum((gt / pred), (pred / gt))
    a1 = (thresh < 1.25   ).mean()
    a2 = (thresh < 1.25 ** 2).mean()
    a3 = (thresh < 1.25 ** 3).mean()

    rmse = (gt - pred) ** 2
    rmse = np.sqrt(rmse.mean())

    rmse_log = (np.log(gt) - np.log(pred)) ** 2
    rmse_log = np.sqrt(rmse_log.mean())

    abs_rel = np.mean(np.abs(gt - pred) / gt)

    sq_rel = np.mean(((gt - pred)**2) / gt)

The result (77%) is not good when compare with your paper .
Did you test errors on tf-model ?
Maybe there are some difference with my evaluate scipt. (network image feeded code is the same with your realeased code)
img = Image.open(image_path)
img_resize = img.resize([width,height], Image.ANTIALIAS)
img_resize = np.array(img_resize).astype('float32')
 img_resize_expend = np.expand_dims(np.asarray(img_resize), axis = 0)

That's exactly what I've got when testing the tensorflow model. Did you find out what's wrong?

Hi,
page 7 of the original paper states:

Following [6], the original frames of size 640x480 pixels are down-sampled to 1/2 resolution and center-cropped to 304x228 pixels, as input to the network.

Did you realize that this part is missing in the provided TF code (probably because it's unrelated to the prediction of general images)?
The corresponding part of the TF code directly scales the input image to 304x228:
height = 228
width = 304

# [...]

img = Image.open(image_path)
img = img.resize([width,height], Image.ANTIALIAS)
img = np.array(img).astype('float32')

I would recommend replacing this with something like:
height = 228
width = 304

# [...]

img = Image.open(image_path)
img = img.resize([320, 240], Image.ANTIALIAS)
img = np.array(img).astype('float32')
img = img[6:-6,8:-8,:]

This is not a very nice implementation but I hope you get my point.
I didn't predict and quantitatively evaluated the full NYU test set using both versions yet. However, for some NYU images I tested this on, the results differed visibly!

I looked it up in our paper (see Table 5 in the supplementary material, page 14).
I was using the resize/crop procedure shown in my previous post, which yielded a final result of 0.8164 for the respective metric.
Note that while the prediction was done using the modified TensorFlow implementation, the errors were calculated in Matlab.
So there's still a chance your slightly differing results are caused by other Matlab/TF differences.
Hope this helps!


Run 24h/7 with replit and uptime bot ?

you can run it in replit with uptime bot

how? when i try it it doesnt work.

ok


Add unit tests for ./cmd

Adds testing for cmd package. Adds a setup and teardown main test with a cmd test db as well as testing for account.
Closes #19 (tests issue)

@RadhiFadlillah hope you're okay with these. You can merge & close #19. Will add other tests later, but these will help with setting up CI #22

Thank you very much


Add support FPGAs connected via VFIO platform drivers

Integration of platform based fpgas.

This is just a draft to track the progress. It's clear that it needs squashing, signing-off and formatting. I may also make sense to split it into multiple PRs.

Oh okay, sorry I did not see that this PR was a draft.

Oh okay, sorry I did not see that this PR was a draft.

I accidentally opened a PR at first and then changed to draft.
@n-eiling suggested i open a draft to track the progress and announce the feature.
Since this is work in progress, many of the changes requested are already outdated/fixed.
Please wait for the PR to comment on (smaller) issues, because many of them will be resolved till then.


User ID

I'm using this library in my code and find it very helpful.  I have a lot of users and am interested in starting to send the User or UserID optional parameter.  Do you have any plans to add this in the requests for images, chats, completions, or maybe an option in the client configuration?  Thank you.

Hi,
The property is already available to use on all those places mentioned. It is part of the request that can be set.
 var messages = new List<Message>
            {
                Message.Create(ChatRoleType.User, "Say this is a test")
            };

            var request = new ChatCompletionRequest(messages)
            {
                Model = model,
                User = "User1"
            };

Using extension methods
 var response = await OpenAIService.Chat.Get(messages,o => {
                o.MaxTokens = 1000;
                o.Model = model;
                o.User = "User1";
            });

Excellent, Thank you!


Fix incorrect coverage reporting using nosetests

Reference: https://github.com/django-nose/django-nose/issues/180
Currently, coverage is not accurately reported when running via nosetests as we do currently. Update and verify to run separately at this time.

migrated back to coverage.  fixed.


DbSession, flash messages not working when user is a guest

Configure your session component to use DbSession
In some action call Yii::$app->session->setFlash('key', 'value');
After redirect you won`t have this flash message
User should be not logged in

Q
A

Yii version
2.0.12-dev

PHP version
5.6.9

Operating system
Win 10 x64

I found problem, my session table has user_id field which can`t be NULL. That's A reason why session was not created in DB.


Revise share/embed for lbry.tv (stub)

Add a minimum, add embed logic to the share menu and consider re-labeling "share".

Using #2808


path type different than std::fs::File

std::fs::File uses AsRef<Path> as the type for passing paths while fs_err uses Into<PathBuf>
This makes fs_err not be a "drop in replacement": When I pass an AsRef<Path> to fs_err::File::open, it does not compile

This is true. Maybe we should qualify this statement with an asterisk and explain how we differ?
In many cases, our API is still a drop-in replacement. By using Into<PathBuf> instead of AsRef<Path>, we're able to take ownership of the existing PathBuf in error cases, which is a handy optimization.

I also hit this, and had to rework some code. I'm guessing the error types need to own the path and that's why this is done?

Is it really necessary that the error should own the path?  Can't it just store the reference to the path instead?

@TonalidadeHidrica The error must own the path, it cannot be a reference because that would make both the wrapper and the error non-'static. Requiring Into<PathBuf> rather than AsRef<Path> is basically an optimization, allowing fs_err to avoid an allocation when you pass an actual PathBuf.
This issue should probably be resolved by a PR that improves the docs to explain this, and show how to change the code that doesn't compile due to the difference. (The change is trivial, but can be perplexing to a newbie.)

Its worth noting that all uses of Into<PathBuf> are for constructing an fs_err::File, which owns a PathBuf even in the happy path. All the other functions were changed to AsRef<Path> and will allocate only in the failure path.
I'd be happy to accept a PR to improve docs around this


[BUG] CSV files unable to upload

Is there an existing issue for this?

[X] I have searched the existing issues

Description
Hi, am still testing the library! I was trying to upload a testing dataset in CSV. However, I kept getting errors, although am unsure what error I am hitting since there is no error message shown on the portal. I also tried with the datasets provided, but doesn't seem to be a go. Same issue with the models.
Current Behavior
Abortion of upload without a clear error message.
Expected Behavior
I thought that since .CSV is a comma delimited file, it should be able to upload. Minimally, an error message to troubleshoot this issue would be nice.
Steps To Reproduce
I was following the steps on uploading a model dataset. Ideally, there really shouldn't be any issue.
Environment
- Operating System and Version:
- AI Verify Version: 0.9
- Any other relevant information (e.g. version of related package dependencies installed):
As it was built from Docker, thought that this shouldn't be an issue.
Did you build using source code or from docker file?
- From Docker

Screenshots/ Code snippets
Error Message Shown

When I tried to see what the actual error was, so far was unable to get anything.

Additional Context
To note, facing the same issue with models as well since I tried uploading using the default models provided.
Possible Solution (Optional)
No response

Hi @yschan-ntu , we are unable to recreate this bug on our end. Are you able to share the validation error message with us? You can get it by clicking on the row (see screenshot). Meanwhile, perhaps you could try re-building the docker image with no-cache and see if the issue persists. Thank you!

Clicking on row does not return me any error message as well.

Anyways, I think I will try to rebuild it with no-cache. I will report back on whether this helps.

Have already rebuilt with no-cache. Issue seems to have been resolved after rebuilding with no-cache using the 17th June release.

Hi @yschan-ntu, can I clarify with you what you mean by "datasets and models that are valid were not able to upload without any valid error message"? Also, what are the specific steps that you took to reach the error?

Hi @yschan-ntu, can I clarify with you what you mean by "datasets and models that are valid were not able to upload without any valid error message"? Also, what are the specific steps that you took to reach the error?

As per the screenshot above (https://user-images.githubusercontent.com/133835535/255117197-84f2c22f-3ee2-4d41-97fb-18cfd9f55f60.png), when I uploaded a .CSV file that has previously uploaded without any issues (I tested with a number of file in case the files I tried uploading was corrupted), it gave me an error without any error message. Which is to say, I am unable to troubleshoot any errors with the file even if it has occurred.
The steps I have followed are as per the successful datasets standard upload, nothing out of the ordinary.
Note that this is an intermittent issue though.

Hi @yschan-ntu, thanks for providing more context on the issue, and apologies for the delay in response. After discussion with the team, we would like your help in providing screenshots of the logs in the Docker containers for the Test Engine App, API GW, and Portal when you encounter the issue again. This will inform us of what actually happens before and during the upload process.

Just happened today, please see attached for a copy and paste of the logs at 4.11pm.
2023-08-16 AiVerify-User-Portal-1.txt
2023-08-16 161103 aiverify-user-test-logs.txt
For reference, this is the screenshot of the failed dataset:

Hi @yschan-ntu , thanks for the logs they are helpful in scoping the issue. We are still trying to reproduce the bug on our end, will continue to monitor it and tag it as awaiting more evidence

Hi @yschan-ntu, I would like to check in to see if this issue still persist for you. If so, would you be able to provide the CSV that you used previously as showed in the screenshot?


Improve the UI of the navbar.

#127

Title: Improve the UI of the navbar.
Issue No.:  #127

Screenshots/Video (mandatory)
before:

after :

Checklist:

[x] I have mentioned the issue number in my Pull Request.
[x ] I have created a helpful and easy-to-understand README.md if it's a new page/tech stack.
[x ] I have gone through the contributing.md file before contributing.

Additional context (Mandatory):
Are you contributing under any Open-source programme?

[ x] I'm a GSSOC-EXT contributor
[ x] I'm a HACKTOBERFEST contributor

Well done @Himanshu-kumar025


Can't install Bend lang on Mac

Describe the bug
I'm trying to install Bend lang as given in docs, but during installation i'm getting error.
I have installed clang, llvm. I've downloaded specific version of nightly (nightly-2024-01-27) to be the same as inside rust-toolchain.
Stacktrace:
❯ cargo +nightly install bend-lang
    Updating crates.io index
  Installing bend-lang v0.2.9
    Updating crates.io index
     Locking 60 packages to latest compatible versions
      Adding TSPL v0.0.9 (latest: v0.0.12)
      Adding itertools v0.11.0 (latest: v0.13.0)
   Compiling proc-macro2 v1.0.82
   Compiling unicode-ident v1.0.12
   Compiling cc v1.0.98
   Compiling libc v0.2.155
   Compiling utf8parse v0.2.1
   Compiling autocfg v1.3.0
   Compiling cfg-if v1.0.0
   Compiling parking_lot_core v0.9.10
   Compiling anstyle-parse v0.2.4
   Compiling anstyle v1.0.7
   Compiling anstyle-query v1.0.3
   Compiling colorchoice v1.0.1
   Compiling is_terminal_polyfill v1.70.0
   Compiling thiserror v1.0.61
   Compiling scopeguard v1.2.0
   Compiling anstream v0.6.14
   Compiling lock_api v0.4.12
   Compiling clap_lex v0.7.0
   Compiling heck v0.5.0
   Compiling highlight_error v0.1.1
   Compiling smallvec v1.13.2
   Compiling strsim v0.11.1
   Compiling clap_builder v4.5.2
   Compiling TSPL v0.0.9
   Compiling arrayvec v0.7.4
   Compiling quote v1.0.36
   Compiling psm v0.1.21
   Compiling stacker v0.1.15
   Compiling nohash-hasher v0.2.0
   Compiling syn v2.0.64
   Compiling equivalent v1.0.1
   Compiling either v1.12.0
   Compiling hashbrown v0.14.5
   Compiling itertools v0.11.0
   Compiling parking_lot v0.12.2
   Compiling TSPL v0.0.12
   Compiling loaned v0.1.1
   Compiling interner v0.2.1
The following warnings were emitted during compilation:

warning<EMAIL_ADDRESS>Compiler family detection failed due to error: ToolNotFound: Failed to find tool. Is `/usr/local/opt/llvm/bin/clang` installed?
warning<EMAIL_ADDRESS>Compiler family detection failed due to error: ToolNotFound: Failed to find tool. Is `/usr/local/opt/llvm/bin/clang` installed?

error: failed to run custom build command for `psm v0.1.21`

Caused by:
  process didn't exit successfully: `/var/folders/ql/6g7sngkx3z36x7_9905f30_40000gp/T/cargo-installexBI5w/release/build/psm-7354c53ec1bd3d0e/build-script-build` (exit status: 1)
  --- stdout
  OPT_LEVEL = Some("3")
  TARGET = Some("aarch64-apple-darwin")
  HOST = Some("aarch64-apple-darwin")
  cargo:rerun-if-env-changed=CC_aarch64-apple-darwin
  CC_aarch64-apple-darwin = None
  cargo:rerun-if-env-changed=CC_aarch64_apple_darwin
  CC_aarch64_apple_darwin = None
  cargo:rerun-if-env-changed=HOST_CC
  HOST_CC = None
  cargo:rerun-if-env-changed=CC
  CC = Some("/usr/local/opt/llvm/bin/clang")
  cargo:rerun-if-env-changed=CC_ENABLE_DEBUG_OUTPUT
  cargo:warning=Compiler family detection failed due to error: ToolNotFound: Failed to find tool. Is `/usr/local/opt/llvm/bin/clang` installed?
  cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
  CRATE_CC_NO_DEFAULTS = None
  DEBUG = Some("false")
  cargo:rerun-if-env-changed=CFLAGS_aarch64-apple-darwin
  CFLAGS_aarch64-apple-darwin = None
  cargo:rerun-if-env-changed=CFLAGS_aarch64_apple_darwin
  CFLAGS_aarch64_apple_darwin = None
  cargo:rerun-if-env-changed=HOST_CFLAGS
  HOST_CFLAGS = None
  cargo:rerun-if-env-changed=CFLAGS
  CFLAGS = None
  cargo:rustc-cfg=asm
  cargo:rustc-cfg=switchable_stack
  cargo:warning=Compiler family detection failed due to error: ToolNotFound: Failed to find tool. Is `/usr/local/opt/llvm/bin/clang` installed?

  --- stderr

  error occurred: Failed to find tool. Is `clang` installed?

warning: build failed, waiting for other jobs to finish...
error: failed to compile `bend-lang v0.2.9`, intermediate artifacts can be found at `/var/folders/ql/6g7sngkx3z36x7_9905f30_40000gp/T/cargo-installexBI5w`.
To reuse those artifacts with a future compilation, set the environment variable `CARGO_TARGET_DIR` to that path.

To Reproduce
Steps to reproduce the behavior:

Running command: cargo +nightly install bend-lang
Error as in given stacktrace

Expected behavior
I can install Bend language on my computer without getting error.
Desktop (please complete the following information):

OS:   MacOS Sonoma 14.4.1 (23E224)
CPU: Apple M1 Pro
GPU: Integrated in Apple M1 Pro
Cuda Version  - none

Looks like it's not finding the binary for clang
What is the output of which clang?
Can you try running CC=$(which clang) cargo +nightly install bend-lang?

FWIW, clang is usually installed through the Xcode Command Line Tools (xcode-select --install).
Installation did work on my M2, 14.4.1, those tools installed.

CC=$(which clang) cargo +nightly install bend-lang

What worked fine :) Thanks!


Update links in Contribution Guidelines section in README

Description
What is the current behavior?
Within the README, both the links for Contribution Guideline and Contributor Code of Conduct docs led to 404 errors. The links were missing the development subdirectory in the path.

What is the new behavior?

Links to both Contribution Guidelines and Contributor Code of Conduct documents can be accessed from the repo's README.

Does this introduce a breaking change?
No.
Checklist

[ ] Created tests which fail without the change (if possible)
[x] Extended the README / documentation, if necessary

#528

Oh my fault. I should have looked more closely at the PRs in the repo. I didn't mean to steal any thunder @kaxil!

#528

Oh my fault. I should have looked more closely at the PRs in the repo. I didn't mean to steal any thunder @kaxil!

No, not your fault at all :) -- thank you for fixing this, each PR helps. I just linked to notify that hopefully we won't have any dead links anymore. We could use something like that in OSS Airflow too to identify dead links


ApplyResponseCoreAsync vs ApplyResponseCore

This is related to issue #76 but don't think this is same as that. ApplyResponseCoreAsync and ApplyResponseCore are named so that it gives an impression that one is async and the other is blocking version. That is true but then these two methods are called by the base class in response to different events. ApplyResponseCore is called when response headers are sent while ApplyResponseCoreAsync is called as part of tear down. First of all, the names of these methods do not reflect this fact. Second, I hope these two are not combined into one as part of issue #76. The requirement I have needs both the methods. I'm buffering the response (switching network stream to memory) on a case-by-case basis. When the response stream is not buffered, I need to run my code using ApplyResponseCore. On the other hand, if I buffer, ApplyResponseCore will not be called at all, until the time I write the content from memory back into the network stream. The code copying memory contents into network has to run during the response processing part of the middleware pipeline and hence I must use ApplyResponseCoreAsync for this reason. Now, when I do that ApplyResponseCore does get called as well, since headers get sent now. While ApplyResponseCoreAsync is guaranteed to run once, ApplyResponseCore is not. So, I'm setting a flag in the handler class to ensure the logic runs only once.
Long story short, the methods name do not convey what they do. It would be better to rename them and retain both the methods. Please do not eliminate one. Also, any help from the base class in ensuring ApplyResponseCore gets called once will be of great help.

All async now, please reopen if there's any more issues once this PR https://github.com/aspnet/Security/pull/283 is in


better error handling for InvalidArgs while initialising new PrismaClient

Problem
I was getting this error only while running through jest and it works fine running the API in development environment. I though there might have been some issue with my codebase setup, so I tried to reproduce the issue by setting same codebase with minimal code to make that specific part work and I didn't got error.
I was dealing with this issue for weeks trying to figuring out source of the issue.
Simply throwing this generic error
    PrismaClientKnownRequestError:
    Invalid `prisma.user.findMany()` invocation in
    /workspace/template-typescript-node/src/graphql/index.ts:10:41

       7 // @ts-ignore
       8 all: async () => {
       9   try {
    → 10     const data =  await prisma.user.findMany()
      invalid type: boolean `false`, expected a string
        at cb (/workspace/template-typescript-node/node_modules/.pnpm/@prisma+client@3.4.2_prisma@3.4.2/node_modules/@prisma/client/runtime/index.js:38502:17) {
      code: 'InvalidArg',
      clientVersion: '3.4.2',
      meta: undefined
    }

The important line is 👇
invalid type: boolean `false`, expected a string

In the end, I looked into prisma client initialisation code, and noticed the source of this issue.

Why it is a generic error? (just to share an example) The author of this issue had problem while getting similar error message.

Still happens on current main (4.4.0-dev.46)
Reproduction


Check for null instigator when receiving damage

Currently the editor crashes when the player is damaged by a bomb.  This happens because ASBombActor::OnExplode passes a null pointer as event instigator to UGameplayStatics::ApplyRadialDamage (which seems correct to me, since the bomb actor has no controller).  But ASCharacter::TakeDamage then calls GetPawn on this null pointer which causes the crash.  This patch simply checks whether EventInstigator is null and passes a null pointer as PawnInstigator to ASCharacter::PlayHit.

Thanks for the patch, I have a fix locally that I will submit today. The use of "auto" is actually quite interesting, I don't ever use it - although it is allowed per the Epic Code Convention.

In my opinion, best usage of 'auto' is with the new C++11 for range, with complex types.
Here is a real sample in Engine :
TSharedPtr<class ISourceControlRevision, ESPMode::ThreadSafe> FGitSourceControlState::FindHistoryRevision( int32 RevisionNumber ) const
{
	for(const auto& Revision : History)
	{
		if(Revision->GetRevisionNumber() == RevisionNumber)
		{
			return Revision;
		}
	}

	return nulptr;
}


WIP: Immutable DTO for hocon

Add immutable support library for materialized Hocon:

Class types are reduced to Object, Array, and Literal value type
Object value class emulates ImmutableDictionary, with a custom indexer that can directly take a Hocon path, with an ImmutableSortedDictionary as a backing data source
Array value class emulates ImmutableList, with an ImmutableArray as a backing data source.
Literal value is just a wrapper around a string to make it immutable.

Improved data access API for the immutable tree:

Objects can be accessed directly using string or HoconPath path inside the dictionary-like indexer. Eg. config["root.first-object.first-property"] will treat config as an object value and traverse to the "root.first-object.first-property" path.
The library is smart enough to deduce data access from indexer type, integer indexer will be automatically interpreted as array access, string indexer will be automatically interpreted as path traversal. Eg. config["root.my-array"][0] will treat the config instance as a Hocon object, traverse it to the "root.my-array" value, and then the [0] indexer will treat that value as an array. It will read array values directly, or if it is an object value, will try to convert it into an array using the "positively numeric keyed object to array convertion" rule. Accessing a literal value using any indexers will throw an exception.
Literal values are automatically converted/parsed when accessed. Eg. byte value = config["root.byte-value"], the value will be auto convert to byte and assigned to the variable. Auto convert will validate the conversion on the fly and throws an exception if the conversion is invalid.
Generic getter implementation. You can use the generic getter instead of relying on the auto type conversion. Eg. var myIntArray = config["root.int-array"].Get<int[]>() will return an array of ints from "root.int-array" path, or var myTimeSpan = config["root.time-span"].Get<TimeSpan>() will return a TimeSpan from "root.time-span" path.
Old style getters are still supported, you can still use myConfig.Value.GetInt(), myConfig.Value.GetInt("my-path") etc. but they will only work on the Literal class instance, you can not pass a Hocon path into them anymore.
Auto-casting and generic getter only works for primitive types, there are no POCO class converter support yet.
Supported auto-cast and generic types: bool, byte, sbyte, short, ushort, int, uint, long, ulong, BigInteger, float, double, decimal, TimeSpan, string, and their array variant (eg. bool[] and byte[])

I'm maintaining full backward compatibility with the old API. Should this be a separate library or should it be folded back into the core project? Ie, should config immutability be the default?

That's a good idea. It will be easier to do things right and easier to test.
I think backward compatibility is not a must-have.
You can make it HOCON 2.0 and keep maintain a HOCON 1.x branch for bug fixing.

The original HOCON API are all immutable, I'm just trying to see if we should stick to the original material, plus immutability does have its advantages. Programmatic HOCON building/materialization is also supported using a builder pattern, instead of using the fluent .With pattern, which I kind of hate, because it is so memory intensive.

Have this on my to-do list this Friday

Question though - why ship it as a separate project? Why not make it part of the whole?

That was what I asked earlier, should I fold this back into the main package or should I keep it separate into an opt-in package.
The main reason I split it up is to make a proof of concept that it works without having to touch the main code, to have flexibility, just in case it is better to make it an opt-in package; I was not planning on making these backward compatible, but it turns out that making it backward compatible was really trivial.

Got it - let’s keep it in its own project for now and do a POC while integrating it into Akka.NET


[FEATURE] - Allow for ordering of tests

Testdeck Version
0.2.0
Description
Express dependency between tests are helpful to better organize tests and get more fine granular results out of tests. I has hopping to be able to some something like this:
@suite
class TestSuite {
    @test(id="1")
    function test1() {}

    @test(after="1")
    function test2() {}
}

It should probably be possible to use the function key too and do something like @test({ after: this.test1 }) which would be more concise and possibly, refactory-friendly.

Hm, why don't you just move common preconditions and tests into a separate, non test annotated method of your test suite class or some other helper class?
This is reusable and none of your actual test cases will have dependencies towards other test cases, which is actually good test case design.

I for my part do not want to support such a feature as it introduces dependencies between test cases, that when run in parallel will lead to unwanted errors.


Chore all over the docs

Summary by CodeRabbit

Documentation

Updated links and corrected spelling for consistency across various documents.
Improved table formatting in the list of available integrations.
Corrected typographical and grammatical errors in several sections, including installation instructions, logging information, and plugin descriptions.
Updated terminology and clarified descriptions in the documentation for better understanding.

New Features

Introduced a new "Lock plugin" and enhancements to the "AMQP plugin" in the release notes.

Bug Fixes

Fixed a typo in the release notes related to a bug in the internal SDK concerning memory usage by workers.

Thanks @Kaspiman 👍


Feature: Add programming languages to 'Projects'

What
In https://portfolio.smakosh.com we have below:
Before

After

Why
I forked from this repo & added these changes and then figured this might be a cool thing to add here. If this is ok (or if it's not really needed) please let me know. Thanks!

Hey @benji011 this looks cool actually, worried how it would look like when there are many, could you think of a way to handle the UI on that case?

Hi @smakosh ! I thought about that so I set the condition to be languages: first 3. In the case it's none an empty string is returned.
I think setting just 1 may infact even be enough. Is this what you mean?

Hi @smakosh ! I thought about that so I set the condition to be languages: first 3. In the case it's none an empty string is returned.
I think setting just 1 may infact even be enough. Is this what you mean?

Yup, correct! Let me review your code real quick


Payment filtering throws an error.

Using master branch of silverstripe-omnipay and SilverStripe 3.2.1
[Warning] trim() expects parameter 1 to be string, array given

The problem seems to be the Created field which gets scaffolded into a form field with date and time component. This in turn results in the following query-string: [Created][date]=&q[Created][time]= which can't be handled by ModelAdmin.
Not sure what the best fix would be… ideally this would be fixed in ModelAdmin?

This is indeed a ModelAdmin issue and will most likely be fixed in the next SilverStripe release (since it was fixed with this PR: https://github.com/silverstripe/silverstripe-framework/pull/4619).

I tend to disable the payment admin anyway as I don't think it's very useful. I hate having it just be broken though, especially not know how soon we might expect SS 3.2.2 to roll out.

@markguinn We could fix it by overriding the method that errors in PaymentAdmin. Or even remove the Created field from the filter-fields altogether. I don't think it's that useful anyway, since it seems to only filter that given date. So you'd have to know the exact date and time you need a result for… a date-range would be much more useful here, but that would be a new feature altogether.

I'm fine with removing Created entirely.

@markguinn I just created a PR to remove Created. See: #92

Merged.


Added migration info to README.md

It looks like the new provider is not yet published to the terraform registry. Am I missing something?

@aslafy-z You are right. I wanted to do the release today but I am running into a permission problem because the permissions required by the Terraform registry are quite excessive. I fear we have to wait until Monday to sort this out.


[HOLD for checklist] [$1000] Web -  Pressing the Pin/Unpin option from the LHN context menu does not refocus the composer.

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Open App and go to any chat
On LHN, Right click on any user's chat to Open the context menu
Press Pin/Unpin option

Expected Result:
After pressing on the pin/unpin then composer should be refocused, as the same happens After pressing on the mark as read/unread option from the LHN context menu
Actual Result:
After Pressing the pin/unpin option, Composer is not refocused.
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[x] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: 1.3.33-4
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/93399543/ecea8b4f-585a-4984-8f5a-3e57c39946b8
https://github.com/Expensify/App/assets/93399543/a5631da0-d0cd-4975-b0ef-870d618dad1f
Expensify/Expensify Issue URL:
Issue reported by: @jayeshmangwani
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1687938349897719
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01fc6f96ae79d98073
Upwork Job ID:<PHONE_NUMBER>307795456
Last Price Increase: 2023-07-07

Proposal
from @jayeshmangwani
Please re-state the problem that we are trying to solve in this issue.
Pressing the Pin/Unpin option from the LHN context menu does not refocus the composer
What is the root cause of that problem?
On press of the Pin and Unpin buttons we only hide the Context Menu, we do not call the refocus of the Composer.
https://github.com/Expensify/App/blob/94e265653f83505e581e99ac0ec0d3ea30e23998/src/pages/home/report/ContextMenu/ContextMenuActions.js#L300-L302
https://github.com/Expensify/App/blob/94e265653f83505e581e99ac0ec0d3ea30e23998/src/pages/home/report/ContextMenu/ContextMenuActions.js#L313-L315
What changes do you think we should make in order to solve the problem?
When we press the Pin and Unpin buttons, then we need to call the ReportActionComposeFocusManager.focus, like same, we do for Mark As Read button
Need to update this code at these two places
    hideContextMenu(false); // OLD
    hideContextMenu(true, ReportActionComposeFocusManager.focus); // NEW

https://github.com/Expensify/App/blob/94e265653f83505e581e99ac0ec0d3ea30e23998/src/pages/home/report/ContextMenu/ContextMenuActions.js#L313-L315
https://github.com/Expensify/App/blob/94e265653f83505e581e99ac0ec0d3ea30e23998/src/pages/home/report/ContextMenu/ContextMenuActions.js#L300-L302

Proposal
Please re-state the problem that we are trying to solve in this issue.
Pressing the Pin/Unpin option from the LHN context menu does not refocus the composer
What is the root cause of that problem?
On press of the Pin and Unpin buttons we only hide the Context Menu, we do not call the refocus of the Composer.
https://github.com/Expensify/App/blob/94e265653f83505e581e99ac0ec0d3ea30e23998/src/pages/home/report/ContextMenu/ContextMenuActions.js#L300-L302
https://github.com/Expensify/App/blob/94e265653f83505e581e99ac0ec0d3ea30e23998/src/pages/home/report/ContextMenu/ContextMenuActions.js#L313-L315
What changes do you think we should make in order to solve the problem?
When we press the Pin and Unpin buttons, then we need to call the ReportActionComposeFocusManager.focus, like same, we do for Mark As Read button
Need to update this code at these two places
    hideContextMenu(false); // OLD
    hideContextMenu(true, ReportActionComposeFocusManager.focus); // NEW

https://github.com/Expensify/App/blob/94e265653f83505e581e99ac0ec0d3ea30e23998/src/pages/home/report/ContextMenu/ContextMenuActions.js#L313-L315
https://github.com/Expensify/App/blob/94e265653f83505e581e99ac0ec0d3ea30e23998/src/pages/home/report/ContextMenu/ContextMenuActions.js#L300-L302

Reproduced, seems like it should match the Read/Unread behavior to me

@greg-schroeder  I have doubts on the requirements. I agree we have to improve the experience with consistency here, but wanted to confirm on the expectation.
The current Mark as unread in LHN works like if we use it on any chat the current open is getting focused not the chat which we marked as unread.
So pin/unpin any LHN item should focus current composer? Is this what we want?

@abdulrahuman5196 Hmm. I mean I think it should, right? To me it feels more natural that the composer is focused after the LHN action is complete - when nothing is focused it doesn't feel right. And so I think it should be the currently selected chat, yes.
Do you not agree?

bump on the above

@greg-schroeder Agree on the above - https://github.com/Expensify/App/issues/21861#issuecomment-1620101062
Then as per the expectation @jayeshmangwani 's proposal here https://github.com/Expensify/App/issues/21861#issuecomment-1613003863 looks good and works well.
🎀 👀 🎀
C+ Reviewed
cc: @greg-schroeder

🎀 👀 🎀 C+ reviewed

Sorry. @cristipaval The c+ reviewed comment was pasted twice which assigned you as a reviewer.

@Beamanator  C+ approved comment is here https://github.com/Expensify/App/issues/21861#issuecomment-1625707231

I agree with the problem & solution 👍
@greg-schroeder can we make sure this gets into Test Rail or something? :D I keep seeing these types of issues pop up, which means we probably don't have this flow in test rail right?

PR is ready for review
cc: @abdulrahuman5196

I agree with the problem & solution 👍
@greg-schroeder can we make sure this gets into Test Rail or something? :D I keep seeing these types of issues pop up, which means we probably don't have this flow in test rail right?

Certainly. @abdulrahuman5196 let's make sure when completing the checklist for this issue that we definitely add a robust regression test in testrail

Payments complete. Just looking for the checklist to be completed cc @abdulrahuman5196
Let's keep https://github.com/Expensify/App/issues/21861#issuecomment-1628609690 in mind as well

@greg-schroeder Thank you for quickly processing the payment. Sorry for the delay. Completed checklist now.

The PR that introduced the bug has been identified. Link to the PR:
The offending PR has been commented on, pointing out the bug it caused and why, so the author and reviewers can learn from the mistake. Link to comment:
A discussion in #expensify-bugs has been started about whether any other steps should be taken (e.g. updating the PR review checklist) in order to catch this type of bug sooner. Link to discussion:

This was not present during initial implementation of PIn/Unpin option. Made the a comment on the same - https://github.com/Expensify/App/pull/16079#issuecomment-1646588413

Determine if we should create a regression test for this bug.

Yes

If we decide to create a regression test for the bug, please propose the regression test steps to ensure the same bug will not reach production again.

Open App and go to any chat
On LHN, Right click on any user's chat to Open the context menu
Press Pin/Unpin option
Verify that after pressing on the pin/unpin composer should be refocused

Thanks @abdulrahuman5196! Taking care of filing that and closing this out.


Fix the DisplayObject#cacheAsBitmap issue #5784

Description of change
This PR is to fix #5784. There are two problems in DisplayObject#_initCachedDisplayObject.

The first one is renderer._activeRenderTarget does not hold a current rendering target.

https://github.com/pixijs/pixi.js/blob/4d71fa06ea787d81651fc3e624610ccfc3c3f457/packages/mixin-cache-as-bitmap/src/index.js#L185-L189
I replaced it with const cachedRenderTarget = renderer.renderTexture.current;.

The second one is renderer.projection.transform is not restored after the line 213.
I changed the method so that the projection transform is restored.

https://github.com/pixijs/pixi.js/blob/4d71fa06ea787d81651fc3e624610ccfc3c3f457/packages/mixin-cache-as-bitmap/src/index.js#L210-L216
Working example is https://www.pixiplayground.com/#/edit/hk1gjmUM84Nl72GncOii~.
*Please note I could not find the way of writing this kind of feature :( *
Pre-Merge Checklist

[ ] Tests and/or benchmarks are included
[x] Lint process passed (npm run lint)
[x] Tests passed (npm run test)

Codecov Report

Merging #5841 into dev will decrease coverage by 0.01%.
The diff coverage is 0%.

@@            Coverage Diff             @@
##              dev    #5841      +/-   ##
==========================================
- Coverage   70.55%   70.54%   -0.02%
==========================================
  Files         205      205
  Lines       10400    10402       +2
==========================================
  Hits         7338     7338
- Misses       3062     3064       +2

Impacted Files
Coverage Δ

packages/mixin-cache-as-bitmap/src/index.js
53.04% <0%> (-0.66%)
: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 00fd9d9...fca3ab8. Read the comment docs.

OK, i know how to fix that, good catch! The idea is to store renderer.renderTexture.sourceFrame , not projection.transform. I'll do separate PR and use your example to test it.

Thank you very much for this, well done! :D


The Graphql For VSCode server crashed 5 times in the last 3 minutes. The server will not be restarted.

If I run watchman -v I get the response 4.7.0
Every time I open VSCode I got this error, with this output:
[Info  - 4:12:00 PM] NODE_PATH value is: /Users/user/Developer/app
[Info  - 4:12:05 PM] Module '@playlyfe/gql' loaded from<EMAIL_ADDRESS>Watchman:  Watchman was not found in PATH.  See https://facebook.github.io/watchman/docs/install.html for installation instructions
events.js:160
      throw er; // Unhandled 'error' event
      ^

Error: Watchman was not found in PATH.  See https://facebook.github.io/watchman/docs/install.html for installation instructions
    at exports._errnoException (util.js:1022:11)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:193:32)
    at onErrorNT (internal/child_process.js:359:16)
    at _combinedTickCallback (internal/process/next_tick.js:74:11)
    at process._tickCallback (internal/process/next_tick.js:98:9)
[Info  - 4:12:05 PM] Connection to server got closed. Server will restart.
[Info  - 4:12:05 PM] The graphql server has stopped running
[Info  - 4:12:06 PM] NODE_PATH value is: /Users/user/Developer/app
[Info  - 4:12:07 PM] Module '@playlyfe/gql' loaded from<EMAIL_ADDRESS>Watchman:  Watchman was not found in PATH.  See https://facebook.github.io/watchman/docs/install.html for installation instructions
events.js:160
      throw er; // Unhandled 'error' event
      ^

Error: Watchman was not found in PATH.  See https://facebook.github.io/watchman/docs/install.html for installation instructions
    at exports._errnoException (util.js:1022:11)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:193:32)
    at onErrorNT (internal/child_process.js:359:16)
    at _combinedTickCallback (internal/process/next_tick.js:74:11)
    at process._tickCallback (internal/process/next_tick.js:98:9)
[Info  - 4:12:07 PM] Connection to server got closed. Server will restart.
[Info  - 4:12:07 PM] The graphql server has stopped running
[Info  - 4:12:07 PM] NODE_PATH value is: /Users/user/Developer/app
[Info  - 4:12:08 PM] Module '@playlyfe/gql' loaded from<EMAIL_ADDRESS>Watchman:  Watchman was not found in PATH.  See https://facebook.github.io/watchman/docs/install.html for installation instructions
events.js:160
      throw er; // Unhandled 'error' event
      ^

Error: Watchman was not found in PATH.  See https://facebook.github.io/watchman/docs/install.html for installation instructions
    at exports._errnoException (util.js:1022:11)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:193:32)
    at onErrorNT (internal/child_process.js:359:16)
    at _combinedTickCallback (internal/process/next_tick.js:74:11)
    at process._tickCallback (internal/process/next_tick.js:98:9)
[Info  - 4:12:08 PM] Connection to server got closed. Server will restart.
[Info  - 4:12:08 PM] The graphql server has stopped running
[Info  - 4:12:08 PM] NODE_PATH value is: /Users/user/Developer/app
[Info  - 4:12:08 PM] Module '@playlyfe/gql' loaded from<EMAIL_ADDRESS>Watchman:  Watchman was not found in PATH.  See https://facebook.github.io/watchman/docs/install.html for installation instructions
events.js:160
      throw er; // Unhandled 'error' event
      ^

Error: Watchman was not found in PATH.  See https://facebook.github.io/watchman/docs/install.html for installation instructions
    at exports._errnoException (util.js:1022:11)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:193:32)
    at onErrorNT (internal/child_process.js:359:16)
    at _combinedTickCallback (internal/process/next_tick.js:74:11)
    at process._tickCallback (internal/process/next_tick.js:98:9)
[Info  - 4:12:08 PM] Connection to server got closed. Server will restart.
[Info  - 4:12:08 PM] The graphql server has stopped running
[Info  - 4:12:09 PM] NODE_PATH value is: /Users/user/Developer/app
[Info  - 4:12:09 PM] Module '@playlyfe/gql' loaded from<EMAIL_ADDRESS>Watchman:  Watchman was not found in PATH.  See https://facebook.github.io/watchman/docs/install.html for installation instructions
events.js:160
      throw er; // Unhandled 'error' event
      ^

Error: Watchman was not found in PATH.  See https://facebook.github.io/watchman/docs/install.html for installation instructions
    at exports._errnoException (util.js:1022:11)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:193:32)
    at onErrorNT (internal/child_process.js:359:16)
    at _combinedTickCallback (internal/process/next_tick.js:74:11)
    at process._tickCallback (internal/process/next_tick.js:98:9)
[Error - 4:12:09 PM] Connection to server got closed. Server will not be restarted.
[Info  - 4:12:09 PM] The graphql server has stopped running

After I reload VSCode the problem goes away.

Are you on Windows?

macOS Sierra 10.12.5

Okay. I asked because it also crashes sometimes for me, On Windows, it happens because watchman watches the whole directory (down to the last node_module), and if I'm running any other command which might lock-up the directories while watchman is initializing, it fails with a similar error. In that case, I run 'watchman shutdown-server' and start vscode again (or just reload the window).
I'm not exactly sure yet why it's happening for you. But giving a path error is weird - were you running some npm install or brew install while vscode was opening?

no, I start the computer and open VSCode and this error happens every time

If you start an app on OS X from the dock you get the system environment, including the system PATH (mostly set from config files in /etc/paths.d, AFAICT). If you start it from a command line (e.g. with "code .") you get the environment set in your shell.
A lot of weird OS X problems with VS Code seem to come from it being started with the wrong PATH; this looks like one of those.

Is there a way to solve this path problem?

@wttw thanks. @jvbianchi  yes, I also think this is related to the same problem - I remember there was a long issue on vscode repo relating to this, with the recommended fix for it. I'll update this when I find that issue.

@jvbianchi did you get this solved? I'm sure I remember the issue being discussed in the VSCode or Atom repos about the path problems being linked to where the editor was launched from, but haven't been able to find the exact issue, but here are some more discussions along those lines:
https://github.com/Microsoft/vscode/issues/17798
https://github.com/Microsoft/vscode/issues/14229
https://github.com/atom/atom/issues/6956
I'm closing this issue as it's out of scope for this plugin, and more of an editor issue. Please reopen if you feel otherwise.


Add tests for multiple files

Tests were written for the following files:
callbacks.js
carlosQuote.js
help.js
mv.js
partyParrot.js

@I3uckwheat Is it possible to get this one reviewed and merged when you get a chance? Thank you :)


[FIXED JENKINS-32489] "Prefix/Suffix Start Slave Command" does not add a space before/after the cmd

Add the suffix below into a ssh-slave.
2> >(tee -a slave-stderr.log 1>&2)

Then, the following happens:
[01/18/16 08:32:37] [SSH] Copied 478,051 bytes.
Expanded the channel window size to 4MB
[01/18/16 08:32:37] [SSH] Starting slave process: cd "/home/vagrant" && java  -jar slave.jar2> >(tee -a slave-stderr.log 1>&2)
Unable to access jarfile slave.jar2
hudson.util.IOException2: Slave JVM has terminated. Exit code=1
	at hudson.plugins.sshslaves.SSHLauncher.startSlave(SSHLauncher.java:953)
	at hudson.plugins.sshslaves.SSHLauncher.access$400(SSHLauncher.java:133)
	at hudson.plugins.sshslaves.SSHLauncher$2.call(SSHLauncher.java:711)
	at hudson.plugins.sshslaves.SSHLauncher$2.call(SSHLauncher.java:696)
	at java.util.concurrent.FutureTask.run(FutureTask.java:262)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at java.lang.Thread.run(Thread.java:745)
Caused by: java.io.EOFException: unexpected stream termination
	at hudson.remoting.ChannelBuilder.negotiate(ChannelBuilder.java:331)
	at hudson.remoting.ChannelBuilder.build(ChannelBuilder.java:280)
	at hudson.slaves.SlaveComputer.setChannel(SlaveComputer.java:371)
	at hudson.plugins.sshslaves.SSHLauncher.startSlave(SSHLauncher.java:945)
	... 7 more
[01/18/16 08:32:37] Launch failed - cleaning up connection

The same happens with the prefix.
@reviewbybees

This pull request originates from a CloudBees employee. At CloudBees, we require that all pull requests be reviewed by other CloudBees employees before we seek to have the change accepted. If you want to learn more about our process please see this explanation.

It breaks use-cases when prefix and suffix somehow contribute to the main command. IIRC we used it in order to arbitrary select slave.jar versions. E.g. suffix=".2.34" was leading to the "java -jar slave.jar.2.34"
So this is a breaking change. :bug: until this change is justified. Why don't you just add a space to the suffix?

IIRC we used it in order to arbitrary select slave.jar versions.

I didn't know this, although IIRC now we don't have now such a nomenclature in slave.jar

Why don't you just add a space to the suffix?

Yes, you can do this. But I saw that to need to add a space on the GUI before such kind of commands is very confusing for Jenkins users. When you hit this problem, from the user point of view it sounds more a bug than really something it is intended.

I didn't know this, although IIRC now we don't have now such a nomenclature in slave.jar

Actually we have. At my previous instance we had to maintain our own custom fork of remoting, hence multi-version support was critical to our test installations. The use-case can be implemented in a different way, but that's what we had on early testing stages.

@oleg-nenashev Should I close this pull request then and JENKINS-32489 accordingly?

@fbelzunc Maybe makes sense to wait for a feedback from others. If they find this change useful, we will be able to consider alternate fixes allowing to retain the original behavior somehow

Thank you for this pull request! Please check this document for how the Jenkins project handles pull requests.

@fbelzunc Seems there's no feedback. I propose to close it

Yes, I agree. I think current implementation is a bit confused for non-advanced used, but I understand this might break instances.


Feature request: way to be immune to this mod's blocks

While building with these blocks, it's annoying if you're constantly getting dragged by them yourself. Can we add some way to let you be immune to them? I know attractors and pushers can be turned off, but one-way blocks can't. My suggested proposal is glass boots, which would make the wearer unaffected by all 3 types of blocks.

Hmm nice idea

Implemented for next version

Implemented in next version


Replacement for data-turbolinks-permanent?

What is the best practice for upgrading from Turbolinks 5 regarding the turbolinks-permanent directive? In this particular case, I use this to keep a video or audio component running between page transitions, without having the media element restart. The new turbo-frame does not seem to do the same thing. Has this been removed from the new Turbo? What's the best practice here?

@danjac Turbo has data-turbo-permanent https://turbo.hotwire.dev/handbook/building#persisting-elements-across-page-loads

One thing I've noticed with data-turbo-permanent vs data-turbolinks-permanent: while the HTML itself is preserved, there appears to be an issue with  elements inside the data-turbo-permanent element (at least in Chromium browsers). Page transitions seem to cause a reset, reloading the element, so if for example the audio is playing it will restart. This was not an issue in Turbolinks 5.

Re audio: this appears to be similar to older Turbolinks issue here. Looks like workaround is to create the Audio element in Javascript rather than in the HTML (i.e. const audio = new Audio(...)) inside e.g. your Stimulus controller.

data-turbo-permanent has not been removed, it just doesn't (currently) work for frame or stream renders.

Is there an open issue for this?


Warnings on visual C++

Fixes warnings about hiding members / outer scope variables.

Thank you, and sorry for the late response. However, I would suggest you disable shadow (hiding variable) warnings on this library. See at the end of #45 on how to do this using CMake, and also feel free to read the comments there about shadow variables.


refactor(README.md):change components to component in README.md - iss…

issue #104
Signed-off-by: Parikshit Hooda<EMAIL_ADDRESS>Issue #104
changed the word 'components' to 'component' in README.md
Changes

changed the word 'components' to 'component' in README.md

Flags

Related Issues

Issue #104
Pull Request #

@irmerk this fixes the issue #104

@irmerk Please merge this PR.


healthcheck does not recognize ping configuration

Do you want to request a feature or report a bug?
Bug
Did you try using a 1.7.x configuration for the version 2.0?

[ ] Yes
[X] No

What did you do?
I tried adding a health check to my traefik docker setup. After learning that curl is not included in the alpine image my goal was to use the healthcheck cli command. Unfortunately the command always fails with the error message the i'm allegedly don't have the ping enabled.
My configuration can be reproduce/dumped down using...
$ docker run -d \
  --name traefik \
  --publish 80:80 \
  --publish 8080:8080 \
  --restart unless-stopped \
  traefik:v1.7.14-alpine \
    --ping \
    --api \
    --loglevel=DEBUG
$ docker exec -it traefik traefik healthcheck
Error calling healthcheck: please enable `ping` to use health check

Based on the debug log output and the fact that i can call /ping via curl i'm sure that ping is enabled.
$ curl http://localhost:8080/ping
OK

What did you expect to see?
A 0 exit code.
What did you see instead?
Error calling healthcheck: please enable ping to use health check with exit code 1.

All configuration is provided via docker run command arguments.
If applicable, please paste the log output in DEBUG level (--log.level=DEBUG switch)
$ docker logs traefik
time="2019-08-19T08:47:23Z" level=info msg="Traefik version v1.7.14 built on 2019-08-14_09:46:58AM"
time="2019-08-19T08:47:23Z" level=debug msg="Global configuration loaded {\"LifeCycle\":{\"RequestAcceptGraceTimeout\":0,\"GraceTimeOut\":10000000000},\"GraceTimeOut\":0,\"Debug\":false,\"CheckNewVersion\":true,\"SendAnonymousUsage\":false,\"AccessLogsFile\":\"\",\"AccessLog\":null,\"TraefikLogsFile\":\"\",\"TraefikLog\":null,\"Tracing\":null,\"LogLevel\":\"DEBUG\",\"EntryPoints\":{\"http\":{\"Address\":\":80\",\"TLS\":null,\"Redirect\":null,\"Auth\":null,\"WhitelistSourceRange\":null,\"WhiteList\":null,\"Compress\":false,\"ProxyProtocol\":null,\"ForwardedHeaders\":{\"Insecure\":true,\"TrustedIPs\":null}},\"traefik\":{\"Address\":\":8080\",\"TLS\":null,\"Redirect\":null,\"Auth\":null,\"WhitelistSourceRange\":null,\"WhiteList\":null,\"Compress\":false,\"ProxyProtocol\":null,\"ForwardedHeaders\":{\"Insecure\":true,\"TrustedIPs\":null}}},\"Cluster\":null,\"Constraints\":[],\"ACME\":null,\"DefaultEntryPoints\":[\"http\"],\"ProvidersThrottleDuration\":2000000000,\"MaxIdleConnsPerHost\":200,\"IdleTimeout\":0,\"InsecureSkipVerify\":false,\"RootCAs\":null,\"Retry\":null,\"HealthCheck\":{\"Interval\":30000000000},\"RespondingTimeouts\":null,\"ForwardingTimeouts\":null,\"AllowMinWeightZero\":false,\"KeepTrailingSlash\":false,\"Web\":null,\"Docker\":null,\"File\":null,\"Marathon\":null,\"Consul\":null,\"ConsulCatalog\":null,\"Etcd\":null,\"Zookeeper\":null,\"Boltdb\":null,\"Kubernetes\":null,\"Mesos\":null,\"Eureka\":null,\"ECS\":null,\"Rancher\":null,\"DynamoDB\":null,\"ServiceFabric\":null,\"Rest\":null,\"API\":{\"EntryPoint\":\"traefik\",\"Dashboard\":true,\"Debug\":false,\"CurrentConfigurations\":null,\"Statistics\":null},\"Metrics\":null,\"Ping\":{\"EntryPoint\":\"traefik\"},\"HostResolver\":null}"
time="2019-08-19T08:47:23Z" level=info msg="\nStats collection is disabled.\nHelp us improve Traefik by turning this feature on :)\nMore details on: https://docs.traefik.io/basics/#collected-data\n"
time="2019-08-19T08:47:23Z" level=info msg="Preparing server http &{Address::80 TLS:<nil> Redirect:<nil> Auth:<nil> WhitelistSourceRange:[] WhiteList:<nil> Compress:false ProxyProtocol:<nil> ForwardedHeaders:0xc00033c260} with readTimeout=0s writeTimeout=0s idleTimeout=3m0s"
time="2019-08-19T08:47:23Z" level=info msg="Preparing server traefik &{Address::8080 TLS:<nil> Redirect:<nil> Auth:<nil> WhitelistSourceRange:[] WhiteList:<nil> Compress:false ProxyProtocol:<nil> ForwardedHeaders:0xc00033c280} with readTimeout=0s writeTimeout=0s idleTimeout=3m0s"
time="2019-08-19T08:47:23Z" level=info msg="Starting provider configuration.ProviderAggregator {}"
time="2019-08-19T08:47:23Z" level=info msg="Starting server on :80"
time="2019-08-19T08:47:23Z" level=info msg="Starting server on :8080"

Hello,
you have to enable the ping on the healthcheck command.
docker exec -it traefik traefik healthcheck --api

@ldez thx for the tip. Haven't thought of that since the server itself has --ping enabled. But since the one-off cli command does not share any configuration with the server... 🤔
$ docker exec -it traefik traefik healthcheck --ping
OK: http://:8080/ping

Works 🍾🥳
Nevertheless the cli does not behave as documented. Based on the help message the command usage is as follows traefik [flags] <command> [<arguments>]. --ping is listed as flag but putting it in front of healthcheck command fails.
$ docker exec -it traefik traefik --ping healthcheck
FATA[2019-08-20T06:34:42Z] Error preparing server: error opening listener: listen tcp :80: bind: address already in use

Also the command description in the help message should be changed from
Calls traefik /ping to check health (web provider must be enabled)
to
Calls traefik /ping to check health (ping must be enabled).

Hey @jansauer,
good catch! Would you be willing to update the docs in a pr? :)

Apparently this was already done on master. The current text is
Usage: traefik [command] [flags] [arguments]

@SantoDE i'm not sure if and who to backport changes for 1.7 🤔

There is a 1.7 branch @jansauer, just let your PR point to that :)

Closed by #5233.


Places365 dataset

Hi,
It is not clear (both from the paper and the repository) which part of the Places365 dataset (train/validation/test) is used for the OOD evaluation. I assume it is the test set but I wanted to make sure.
Thank you,
Omri

Please refer to this issue: https://github.com/hendrycks/outlier-exposure/issues/2


angular-help-overlay

I'm new to angular and trying to implement angular-help-overlay in my website. but unable to make it work. no errors in debug window. i request you to provide a github working sample link for better understanding for new angularjs members like me. Thank you

Hi @Chaitanya10 have you tried the example included in this repo?
https://github.com/jordanburke/angular-help-overlay/blob/master/example/index.html


Copy dll files instead of using symlinks

Fixes #347

This change simple uses a copy instead of symlink; if we we were also relying on the symlink to transparently update then we need to do more. But if that is the case we should probably also add some tests for that scenario?

Thanks Daniel!


qutebrowser: 1.4.2 -> 1.5.1

Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/qutebrowser/versions.
meta.description for qutebrowser is: '"Keyboard-focused browser with a minimal GUI"'.

Checks done (click to expand)

built on NixOS
/nix/store/icqx7sw9w9azwj3h5cfwz1iak8gk2h28-qutebrowser-1.5.1/bin/qutebrowser passed the binary check.
/nix/store/icqx7sw9w9azwj3h5cfwz1iak8gk2h28-qutebrowser-1.5.1/bin/..qutebrowser-wrapped-wrapped passed the binary check.
/nix/store/icqx7sw9w9azwj3h5cfwz1iak8gk2h28-qutebrowser-1.5.1/bin/.qutebrowser-wrapped passed the binary check.
3 of 3 passed binary check by having a zero exit code.
0 of 3 passed binary check by having the new version present in output.
found 1.5.1 with grep in /nix/store/icqx7sw9w9azwj3h5cfwz1iak8gk2h28-qutebrowser-1.5.1
directory tree listing: https://gist.github.com/9bd4135d90757d956c008c139fde9800
du listing: https://gist.github.com/2f155e4c14fdb1d8d578e66fde15ca59

Instructions to test this update (click to expand)

One-time optional setup to skip building using Cachix:
nix-shell -p cachix --run 'cachix use r-ryantm'

Test this update by entering a nix shell, seeing what is inside the
result, and if applicable, running some binaries:
nix-shell --pure -I nixpkgs=https://github.com/r-ryantm/nixpkgs/archive/4fe4310bca6d0a447c97eef3c1c4d1015e1d9a46.tar.gz -p qutebrowser
ls -la /nix/store/icqx7sw9w9azwj3h5cfwz1iak8gk2h28-qutebrowser-1.5.1

cc @jagajaga @rnhmjoj for testing.

No attempt on x86_64-darwin (full log)
The following builds were skipped because they don't evaluate on x86_64-darwin: qutebrowser
Partial log (click to expand)

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnsupportedSystem = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnsupportedSystem = true; }
to ~/.config/nixpkgs/config.nix.

Success on x86_64-linux (full log)
Attempted: qutebrowser
Partial log (click to expand)
/nix/store/icqx7sw9w9azwj3h5cfwz1iak8gk2h28-qutebrowser-1.5.1/share/qutebrowser/scripts/testbrowser_webkit.py: interpreter directive changed from "/usr/bin/env python3" to "/nix/store/nrl0l79a48924xb0897ap572xf29ciir-python3-3.6.6/bin/python3"
/nix/store/icqx7sw9w9azwj3h5cfwz1iak8gk2h28-qutebrowser-1.5.1/share/qutebrowser/scripts/dictcli.py: interpreter directive changed from "/usr/bin/env python3" to "/nix/store/nrl0l79a48924xb0897ap572xf29ciir-python3-3.6.6/bin/python3"
/nix/store/icqx7sw9w9azwj3h5cfwz1iak8gk2h28-qutebrowser-1.5.1/share/qutebrowser/scripts/importer.py: interpreter directive changed from "/usr/bin/env python3" to "/nix/store/nrl0l79a48924xb0897ap572xf29ciir-python3-3.6.6/bin/python3"
/nix/store/icqx7sw9w9azwj3h5cfwz1iak8gk2h28-qutebrowser-1.5.1/share/qutebrowser/scripts/open_url_in_instance.sh: interpreter directive changed from "/bin/bash" to "/nix/store/r47p5pzx52m3n34vdgqpk5rvqgm0m24m-bash-4.4-p23/bin/bash"
/nix/store/icqx7sw9w9azwj3h5cfwz1iak8gk2h28-qutebrowser-1.5.1/share/qutebrowser/scripts/testbrowser_webengine.py: interpreter directive changed from "/usr/bin/env python3" to "/nix/store/nrl0l79a48924xb0897ap572xf29ciir-python3-3.6.6/bin/python3"
/nix/store/icqx7sw9w9azwj3h5cfwz1iak8gk2h28-qutebrowser-1.5.1/share/qutebrowser/scripts/link_pyqt.py: interpreter directive changed from "/usr/bin/env python3" to "/nix/store/nrl0l79a48924xb0897ap572xf29ciir-python3-3.6.6/bin/python3"
checking for references to /build in /nix/store/icqx7sw9w9azwj3h5cfwz1iak8gk2h28-qutebrowser-1.5.1...
wrapping `/nix/store/icqx7sw9w9azwj3h5cfwz1iak8gk2h28-qutebrowser-1.5.1/bin/.qutebrowser-wrapped'...
postPatchMkspecs
/nix/store/icqx7sw9w9azwj3h5cfwz1iak8gk2h28-qutebrowser-1.5.1

Success on aarch64-linux (full log)
Attempted: qutebrowser
Partial log (click to expand)
/nix/store/284xr3i6wcna4375k080269vrh0qp5ds-qutebrowser-1.5.1/share/qutebrowser/scripts/keytester.py: interpreter directive changed from "/usr/bin/env python3" to "/nix/store/bndavpczvnb9mmmg8by731a3mgcz3w9g-python3-3.6.6/bin/python3"
/nix/store/284xr3i6wcna4375k080269vrh0qp5ds-qutebrowser-1.5.1/share/qutebrowser/scripts/importer.py: interpreter directive changed from "/usr/bin/env python3" to "/nix/store/bndavpczvnb9mmmg8by731a3mgcz3w9g-python3-3.6.6/bin/python3"
/nix/store/284xr3i6wcna4375k080269vrh0qp5ds-qutebrowser-1.5.1/share/qutebrowser/scripts/hostblock_blame.py: interpreter directive changed from "/usr/bin/env python3" to "/nix/store/bndavpczvnb9mmmg8by731a3mgcz3w9g-python3-3.6.6/bin/python3"
/nix/store/284xr3i6wcna4375k080269vrh0qp5ds-qutebrowser-1.5.1/share/qutebrowser/scripts/hist_importer.py: interpreter directive changed from "/usr/bin/env python3" to "/nix/store/bndavpczvnb9mmmg8by731a3mgcz3w9g-python3-3.6.6/bin/python3"
/nix/store/284xr3i6wcna4375k080269vrh0qp5ds-qutebrowser-1.5.1/share/qutebrowser/scripts/dictcli.py: interpreter directive changed from "/usr/bin/env python3" to "/nix/store/bndavpczvnb9mmmg8by731a3mgcz3w9g-python3-3.6.6/bin/python3"
/nix/store/284xr3i6wcna4375k080269vrh0qp5ds-qutebrowser-1.5.1/share/qutebrowser/scripts/open_url_in_instance.sh: interpreter directive changed from "/bin/bash" to "/nix/store/dsyc1z7ck08ga7l0b1jcxx35wj69qcii-bash-4.4-p23/bin/bash"
checking for references to /build in /nix/store/284xr3i6wcna4375k080269vrh0qp5ds-qutebrowser-1.5.1...
wrapping `/nix/store/284xr3i6wcna4375k080269vrh0qp5ds-qutebrowser-1.5.1/bin/.qutebrowser-wrapped'...
postPatchMkspecs
/nix/store/284xr3i6wcna4375k080269vrh0qp5ds-qutebrowser-1.5.1


MiqExpression::Target.parse returns null object to simplify callers

redo of https://github.com/ManageIQ/manageiq/pull/22451
Main difference being that an MiqExpression::Invalid object is now used.
I had rebased that PR and it got away from me.
The goal is to drop get_col_info, get all column metadata operations out of MiqExpression and into MiqExpression::Target.
This is 11 commits. lots of 📖 commits

Have all Target subclasses respond to the same methods
remove special cases when dealing with #parse returned objects.
remove unchecked ArgumentError, especially when we don't need to handle them.
Use a Symbol/nil for column_type. Before it was typically a String or Symbol, but sometimes a nil)

@Fryguy this is a bit of a distraction.
Help me figure out how to cut this down to a smaller chunk.
I really like the concept of returning an Invalid object. gets us closer to dropping get_col_info.
Going from here, if we get the field into the MiqExpression tree, I think that buys us a lot across the board, and many of these column_type calls will go away (since we'll have the actual MiqExpression::Field. So I got stuck on the whole "do I change this to clean it up knowing it will go away or do I try and make it go away and not make a big PR like this"
So I punted but you saw that. If you have a suggestion on which commits in this PR are easy to include, then I can rebase / split and we can get it in without too much though

update:

fixed extra whitespace
renamed Invalid to InvalidTarget
fixed unused parameter rubocop (add underscore to options)

update:

added specs to test quote and quote_human passing in a string, integer, and nil.
fixed quote() for nil case.
dropped || :string in a few cases that were passing directly into quote()

codacity is hung. it says it is 🍏 over there

Backported to petrosian in commit 757e76d3a328449b933346b46b3f93317d664526.
commit 757e76d3a328449b933346b46b3f93317d664526
Author: Jason Frey<EMAIL_ADDRESS>Date:   Tue May 30 16:01:25 2023 -0400

    Merge pull request #22519 from kbrock/miq_expression_parse

    MiqExpression::Target.parse returns null object to simplify callers
    (cherry picked from commit 5fb8ce701dcdcfb071daa901d63b419dc73fc0c2)


CG bug fixes related to "follow-redirects: Batch 1

Task name: XcodeV5, UseRubyVersionV0, UsePythonVersionV0, UseNodeV1, NodeToolV0
Description:  CG fixes, WI: 2138189
Documentation changes required: (Y/N)
Added unit tests: (Y/N)
Attached related issue: (Y/N)
Checklist:

[x] Task version was bumped - please check instruction how to do it
[ ] Checked that applied changes work as expected

/azp run


Crash for sub folders woocommerce

I have woocommerce installed in the sub folder like http://example.com/store
now when I hit this url for get request, the http request causes the node server crash with following error

events.js:72
throw er; // Unhandled 'error' event
^
Error: getaddrinfo ENOTFOUND
at errnoException (dns.js:37:11)
at Object.onanswer [as oncomplete] (dns.js:124:16)

Code
var wooOptions = {
	url: 'example.com/store',
	consumerKey: 'ck_################################',
	secret: 'cs_################################'
};

var wooCommerce = new WooCommerce(wooOptions);

wooCommerce.get('/products', function(err, data, resp){
	if ( err ) {

		var message = JSON.parse(err.message)[0].message;
		logger.error(message);
		return;

	}
	console.log("Products", data);
});

Hi, Sorry only seeing this now. Let me have a look and see if I can fix this, it will most likely be a fix to gracefully handle the error. If the API can't be found at the path you suggest then I don't think there is anything we can do programmatically.

So it wont work for the URLs like url: 'example.com/store', ?

If you type in the url to your store and add '/wc-api/v2' (http://example.com/store/wc-api/v2) onto the end in a browser does it show the woocommerce api overview endpoint?
Also I suggest you try the url with the protocol at the start (http | https), as this uses node's built in http/https modules to do the call, and I don't know how well they react to leaving that off. Might not make a difference.

If you type in the url to your store and add '/wc-api/v2'. ....

yes it does.

also If I add http in the beginning it throws some error, I dont remember exactly what was the error,

Ok you will need to give me some time to set up a wordpress site in a folder to see if I can recreate the error, and in turn solve the problem.

We recently updated the module to use request which will follow redirects, this should fix the issue you were having. It has also had a small refactor to use es6.


Generates code in new root namespace

namespace My.Name.Space;

[HasStronglyTypedId(typeof(int))]
public class Dog
{
    [Key] public DogId Id { get; set; }
}

DogId gets put in a Dogs namespace, which I need to import first.  This doesn't seem appropriate, it's breaking out of the namespace I put it in.  It should be the My.Name.Space.Dogs namespace, or at least be user configurable.

Thanks for your comment.
Bug fixed. Please update to the lastest version.


My secure became broken

After upgrading to 0.5.13 I keep getting rejects on https calls with error «self signed certificate»

reverting to v0.5.9 fixed my three hour journey.

Same here! 0.5.9 works like a charm.

Hi,
Could you try setting http_proxy: false in ~/.hotel/conf.json?

@typicode That fixed it! Thank you so much!

Hi,
Published v0.7.0 and HTTP_PROXY proxy env is now disabled by default as it was causing side effects for some projects.
Adding HTTP_PROXY env should be done on a per-server basis with hotel add --http-proxy-env 'server-cmd'.


Updated runcard for qw5q_gold_qblox

The runcard qw5q_gold_qblox was updated to work with the new cluster setup.
This cluster has the new firmware v0.6.0 and it works with qblox-instruments v0.11.0.
In order to use this new version are needed the qibolab modifications apported in pull request Qblox driver update #580

Thanks for your feedback @andrea-pasquale , yes i think the runcard for tii1q_b4 might be useful.


Data Access Layer

Moved ICardService and Models to a Data Access Layer (out of the Presentation Layer). UI now interacts with ViewModels.
@rlayman87 and @dyohn commented on having data access in the UI layer. This is my first time refactoring architecture like this. Would this follow the MVC pattern more appropriately? If not, please leave your feedback.

Hey, @colewinfield
I noticed that all of your files you moved to the Repository still have a namespace of Mentat.UI instead of Mentat.Repository....
That kind of thing is easily missed, though. I've done it myself in the past. Other than that, I do believe that was what @dyohn  was wanting.
Did you have any thoughts on making the method names for the Service more descriptive? If not, that's fine. Just thought I would ask.
One other thing on your carousel code is, visually, I would suggest making the carousel wider to accommodate longer questions and answers. If you have time. If not, I think putting it as a bug in Trello would suffice.

Rachel

@rlayman87, thank you for reviewing. Totally forgot to change the namespaces. But I've updated those. Also, I've changed the Service's CRUD method names to better descriptors. As for the carousel, I'll make the card wider - but I'll also likely add a limit to the number of characters viewable in the next push. Thanks again for looking over the refactor.

@jonnywwright, I fixed the spacing issues you've mentioned and refactored the for-loops in the Razor HTML. I've also changed the method of randomly picking the cards with the LINQ query (that was very clever). And the cards that are Created hereafter use the Guid.NewGuid() method. I initially changed the properties to PascalCase, but it created conflicts with the databasing. I didn't set up the MongoDB, so I'm assuming the properties have to match the returned names of the elements from the database. I ran into issues when they weren't named similarly (I'm assuming they were named this way by @Freytes to correspond with the DB).
@rlayman87 I've changed the card-width and added a JS script to limit the number of words displayed per card. It probably should be the number of characters, but I'm beat.
The merge conflict in the appsettings.json is also resolved.