Fix #1322 [wip]

Write test for regression introduced by bf90ae0d and reported by #1322, partial fix.
@tjhance can you take a look to see if you can spot why the test is failing (after I allowed Consts as items that can be external_body)? You've recently worked on this code, so you're probably the most familiar.

This issue doesn't have to do with the external-refactor, i.e., I get this panic on 601e1e7211d58ca12fc70e23cc4bf21ea19731d2 (commit before bf90ae0d9664e36c6a40f1f60ed88d055d331257):
thread '<unnamed>' panicked at vir/src/poly.rs:405:66:
no entry found for key

(The key-not-found in question is VarIdent("%return", VirParam)). So I think we may have never supported this, or it was something else that broke it.

Thanks for checking! And sorry for the incorrect blame for the regression.
@matthias-brun can you confirm that this used to work? If so, we can bisect to find the culprit, or otherwise work on a solution.

Ah, it looks like combining external_body with a const ensures used to cause a panic but now generates the error.
My original example didn't have the ensures.
use vstd::prelude::verus; verus!{

#[verifier(external_body)]
const A: usize = unimplemented!();
}

This one works fine on Verus commit 2dbda4a6ad5f14135bf990fffad45d07085fc4c3 but generates the error on current main.


fix: support iPhone X series safe area

:tada: This issue has been resolved in version 1.5.3 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Typo in 04: PyTorch Custom Datasets

Hi!
"Crearte" is spelled wrong in: "# 3. Crearte a dictionary of index labels" in this page
Thanks!

Thank you for this!
Just fixed it :)


Remove jQuery class from the repository topic box

Switched from jQuery class functions to plain JavaScript classList
Tested the repository topic box functionality and it works as before
Various fixes by wxiaoguang

Made some more changes:

The old UI is broken (not by this PR, but a regression). Fix it.

Remove frontend validation, because the server side already does so.

See #29849 for the discussion about replacement of fomantic dropdowns and other fomantic components

For the UI layout bug, I created a quick fix PR for 1.22:  Fix home topic edit form layout #30213
So here are 2 choices for it:

Backport this PR
Apply that quick fix


⚠ Samsung has degraded performance

In f647bff, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 6099 ms

Resolved: Samsung performance has improved in ea618c9.


Update to latest

Not sure what's up with the CircleCI build, but it doesn't appear to have ever worked. (?)

The fixes in here probably fix the error I got trying to build from the current release within a new nerves project. (Compile failed, and noob-me couldn't find the build.log :'D so I'm sorry not to be able to produce the error details.) I'm not sure how I can direct the deps to this branch - it insists on downloading a release package that, quite expectedly, doesn't exist (yet).


how can i Setting default home view?

I want Resium to display the initial rendering screen and the screen at the coordinates I want when I click the home button.
<Viewer style={{
position: "absolute",
top: 0,
left: 0,
right: 0,
bottom: 0,
borderRadius: "1vw",
backgroundColor: "#7D7D7D",
}} >
{isButtonClicked && (

)}

You can use the <CameraFlyTo> component.
https://resium.reearth.io/components/CameraFlyTo


Clean up

Remove Travis
Remove readme badges
Clean up requirements

Remove Sass 3.2 support
Add LibSass requirement

Mention Neat, not Bourbon in the About section

:shipit:


RFC : 3 new Regularizers

Hi @lindahua
In reference to issue #2
This PR proposes 3 new regularizers : NonNegReg() for non negative parameter,  SimplexReg(c) for the simplex constraint and L1BallReg(c) for the L1 Ball constraint.
All are "projection" regularizers in that they force the parameter to belong to the validity domain. This entails that :

They have no defined gradient (can only be used in proximal gradient kind of optimizations)
Their value method returns either 0 (valid) or Inf (not valid)
Their prox! method ignores the Lambda parameter as the proximal step projects the parameter to the closest valid point.

prox! for SimplexReg and  L1BallReg implement a fast algorithm that that does not require the sorting of the parameter values and runs in O(n) steps. It does however require an allocation of a vector of similar size as the parameter. Compared to other regularizers the run time is only a small multiple even for large parameter sizes.
I have also added updated tests (but left docs and README untouched).
As for propagating to optimization functions the fact that there is no gradient, it simply throws an error message in the present form, no traits or subtypes have been used.

Thanks. Looks really nice. Can you look into the Travis failure?

It seems to fail before reaching the regularizer testing. It's in risks.jl when testing line 149 (the error is raised at the @test_approx_eps line 55 ). The difference found 2.46e-16 is just a little above eps() at 1.36e-16, so it does not seem that important

Hi @lindahua
Unless I missed something the Travis failure doesn't seem related to the new regularizers.
Do you want me to propose a correction on that part of the code ?

Thanks

I will make that correction later.


no type named 'deduplicate' in namespace 'fc'

In file included from /Users/thbourlove/Develop/eos/libraries/abi_generator/abi_generator.cpp:1:                                                                  [227/47368]
In file included from /Users/thbourlove/Develop/eos/libraries/abi_generator/include/eosio/abi_generator/abi_generator.hpp:8:
In file included from /Users/thbourlove/Develop/eos/libraries/chain/include/eosio/chain/contracts/abi_serializer.hpp:6:
In file included from /Users/thbourlove/Develop/eos/libraries/chain/include/eosio/chain/contracts/types.hpp:3:
In file included from /Users/thbourlove/Develop/eos/libraries/chain/include/eosio/chain/authority.hpp:7:
In file included from /Users/thbourlove/Develop/eos/libraries/chain/include/eosio/chain/transaction.hpp:6:
In file included from /Users/thbourlove/Develop/eos/libraries/chain/include/eosio/chain/types.hpp:6:
/Users/thbourlove/Develop/eos/libraries/chain/include/eosio/chain/name.hpp:97:11: error: no type named 'deduplicate' in namespace 'fc'
      fc::deduplicate(names);
      ~~~~^
In file included from /Users/thbourlove/Develop/eos/libraries/abi_generator/abi_generator.cpp:1:
In file included from /Users/thbourlove/Develop/eos/libraries/abi_generator/include/eosio/abi_generator/abi_generator.hpp:8:
In file included from /Users/thbourlove/Develop/eos/libraries/chain/include/eosio/chain/contracts/abi_serializer.hpp:6:
In file included from /Users/thbourlove/Develop/eos/libraries/chain/include/eosio/chain/contracts/types.hpp:3:
In file included from /Users/thbourlove/Develop/eos/libraries/chain/include/eosio/chain/authority.hpp:7:
In file included from /Users/thbourlove/Develop/eos/libraries/chain/include/eosio/chain/transaction.hpp:6:
In file included from /Users/thbourlove/Develop/eos/libraries/chain/include/eosio/chain/types.hpp:24:
In file included from /Users/thbourlove/Develop/eos/libraries/fc/include/fc/crypto/private_key.hpp:3:
In file included from /Users/thbourlove/Develop/eos/libraries/fc/include/fc/crypto/elliptic_r1.hpp:3:
/Users/thbourlove/Develop/eos/libraries/fc/include/fc/crypto/common.hpp:21:35: error: use of undeclared identifier 'const_strlen'
            encoder.write(prefix, const_strlen(prefix));
                                  ^
/Users/thbourlove/Develop/eos/libraries/fc/include/fc/crypto/common.hpp:28:25: error: use of undeclared identifier 'const_strlen'
      auto prefix_len = const_strlen(prefix);
                        ^
/Users/thbourlove/Develop/eos/libraries/fc/include/fc/crypto/common.hpp:44:41: error: use of undeclared identifier 'const_strlen'
            auto str = base58str.substr(const_strlen(prefix));
                                        ^
In file included from /Users/thbourlove/Develop/eos/libraries/abi_generator/abi_generator.cpp:1:
In file included from /Users/thbourlove/Develop/eos/libraries/abi_generator/include/eosio/abi_generator/abi_generator.hpp:8:
In file included from /Users/thbourlove/Develop/eos/libraries/chain/include/eosio/chain/contracts/abi_serializer.hpp:6:
In file included from /Users/thbourlove/Develop/eos/libraries/chain/include/eosio/chain/contracts/types.hpp:3:
In file included from /Users/thbourlove/Develop/eos/libraries/chain/include/eosio/chain/authority.hpp:7:
In file included from /Users/thbourlove/Develop/eos/libraries/chain/include/eosio/chain/transaction.hpp:6:
In file included from /Users/thbourlove/Develop/eos/libraries/chain/include/eosio/chain/types.hpp:24:
In file included from /Users/thbourlove/Develop/eos/libraries/fc/include/fc/crypto/private_key.hpp:4:
In file included from /Users/thbourlove/Develop/eos/libraries/fc/include/fc/crypto/public_key.hpp:4:
/Users/thbourlove/Develop/eos/libraries/fc/include/fc/crypto/signature.hpp:20:51: error: no member named 'signature_shim' in namespace 'fc::ecc'
         using storage_type = static_variant<ecc::signature_shim, r1::signature_shim>;
                                             ~~~~~^

solved by myself.


Fixing typos and clarifying fork requirement

Sorry I missed this. Feel free to merge this repo. Open to EVERYONE


Avoid exposing transient errors to the R*Sync API

If the *-sync container is not ready, the hydration controller and the reconciler will fail because the source is not available yet. However, a source KNV2004 error is exposed to the user with a message: unable to check the error file...
This commit makes it a transient error and avoids exposing transient errors to the R*Sync API.

Any idea how we can test this?

Any idea how we can test this?

@karlkfi I added a unit test for the run function.

Looks like this is causing some e2e tests to fail by suppressing errors too aggressively.
I think you might need to make it only return if there's transient errors but not non-transient errors, otherwise filter out the transient errors and report the non-transient errors.

Looks like this is causing some e2e tests to fail by suppressing errors too aggressively.
I think you might need to make it only return if there's transient errors but not non-transient errors, otherwise filter out the transient errors and report the non-transient errors.

It is not suppressing errors too aggressively, but we should check the existence of the source root directory (/repo/source), instead of the source link directory (/repo/source/rev). The /repo/source/rev symlink is only created after *-sync successfully pulls the source configs.

/unhold


Unable to build Chapter3 code

Hello,
I was working on the Chapter 3, but the compilation doesn't work related to an error in the purescript-foldable-trasversal module :
Warning: Error at bower_components/purescript-foldable-traversable/src/Data/Foldable.purs line 6, column 1 - line 7, column 1:
Error in module Data.Foldable
Cannot import unknown module 'Data.Eq' Use --force to continue.

I guess it's related to this issue : https://github.com/purescript/purescript/issues/769
Do you have any solution to fix that ?

Can you git pull && bower update and try again please?

Awesome, it works perfectly, thanks a lot !


refactor(compose): Remove type definition of ComposeContext that was defined twice

Overview
There are two ComposeContexts with the same type definition.
One of them is unnecessary, so it has been deleted.
https://github.com/honojs/hono/blob/1da43aee3be0ed2a991ee7199a32ed3ad4ad8fe5/src/compose.ts#L5-L23
The author should do the following, if applicable

[ ] Add tests
[x] Run tests
[x] bun run format:fix && bun run lint:fix to format the code
[ ] Add TSDoc/JSDoc to document the code

@chimame Thank you for your first contribution to this project. Merging now!


.start() should be idempotent

Currently, GenericContainer doesn't check if it was already started inside .start()

It's idempotent now.


User reported issue: Add hint button applies to disk immediately

See @DanTup 's comment here, point 3.
It appears that one of the "Add hint" buttons (there are different kinds) is applying to disk immediately.

As of 1c7fe7196dd7a542f7f91cd6ea2ac81e1a13146c, the null safety migration tool has been removed from active development and retired. No further work on the tool is planned.
If you still need help, or you believe this issue has been closed in error, please feel free to reopen.


Any chance to get a collaborative function

AFIK tui.editor is based on ProseMirror and there is already a ProseMirror-plugin which integrates collaborative features via Yjs: https://docs.yjs.dev/ecosystem/editor-bindings/prosemirror
Any chance something like this will be available in tui.editor?
I already looked around in your code if there is an easy possibility to add the y-prosemirror plugin, but I fear I have too less knowledge of your code to do it myself.

@lukeIam
Thank you for the issue.
Yes. you are right. I can't tell you exactly when to introduce it, but we're going to add a collaborate function. But we also need time to research.


Refactor ETF saving function

I found digging into the venv's library files to get the JSON file a bit cumbersome, so I quickly did some minor changes and defined a new function that could be optionally imported into user's code.
When using terminal script, it should remain the same except the JSON file is now stored at pyetf/etfpy.
When imported, the location of the saved file can be specified by the file_path parameter. If no location is specified, the file will be saved to the project root directory.

Hey @larrysammii, thank you for your PR, it was something that I fortget to take care off.
One thing that I noticed, that the file  etfpy/data/etfs/etfs_list.json is empty.
I know that you added new functionality to specify where you want to store scraped etfs list, but this file etfpy/data/etfs/etfs_list.json is used internally by other code components.
The list of etfs changes very rearly, so I diceded to put this list in this folders, so this way if user want to investigate/analyze single etf first there is a check (if etf ticket exists in this file)
Probably I will add some scheduled job that once a month it scrapes all etfs list and redeployd the package.
So for now, I would suggest to just leave etfpy/data/etfs/etfs_list.json file with the data, and the rest should be okey

Apologies for the error @JakubPluta , I just restored the content within the etfs_list.json.


Implement a garbage collector to remove unreachable nodes

Remove unreachable Records
Remove expired Records

(Dangling references are also an issue but related to low level usages of remove(id), see https://github.com/apollographql/apollo-kotlin/issues/2507)

As a note from our team discussion today we talked about doing some more product discovery around the use cases of garbage collection to better understand it's intended use.  I'll work on an internal document that will help to define our approach to collecting that feedback from our users and customers. cc @martinbonnin @BoD

👋  I've pinned this issue to to repo, as we are looking for feedback on what type of use cases people may have around Garbage Collection and our Kotlin Client.

Closing in favor of https://github.com/apollographql/apollo-kotlin-normalized-cache-incubating/issues/83


How to get bytes bigger than 1024 from int httpd_req_recv(httpd_req_t *r, char *buf, size_t buf_len) (IDFGH-14202)

Answers checklist.

[X] I have read the documentation ESP-IDF Programming Guide and the issue is not addressed there.
[X] I have updated my IDF branch (master or release) to the latest version and checked that the issue is present there.
[X] I have searched the issue tracker for a similar issue and not found a similar issue.

General issue report
I tried to set buf_len to 5120 or 10240 but useless, the return value is limited up to 1024.
How to change it?

Hello @zzzh,
Where have you tried to change this value for buf_len? Could you please send the patch to reproduce the issue?
Do you want to change the maximum HTTP request size or anything else?

Hello @zzzh,
Could you kindly provide more details about what you aim to achieve by modifying buf_len? Additionally, it would be very helpful if you could share the patch file for the changes you've made related to this issue.
Please also share any relevant debug logs and examples of your modifications so that we can replicate and analyze the issue on our side.
Looking forward to your input!

Hello, @nileshkale123,
I think increase the size of each transfer may speed up the whole upload progress, that's why.
I did not change anything and it works well except slow (need 1 minute to transfer 1MB), by changing the transfer size from 1k to 10k, I hope it can have 10 times speed.

@zzzh
There is no limit to the size of data received by httpd_req_recv.
The return value of httpd_req_recv is the actual number of bytes received.
When using a 2048-byte buffer, processing is performed in 2048-byte units as shown below.
There may be a problem on your sending side.
W (36311) example: remaining=4576
W (36311) example: httpd_req_recv ret=2048
W (36311) example: httpd_req_recv ret=2048
W (36311) example: httpd_req_recv ret=480

@zzzh
There is no limit to the size of data received by httpd_req_recv.
The return value of httpd_req_recv is the actual number of bytes received.
When using a 2048-byte buffer, processing is performed in 2048-byte units as shown below.
W (36311) example: remaining=4576
W (36311) example: httpd_req_recv ret=2048
W (36311) example: httpd_req_recv ret=2048
W (36311) example: httpd_req_recv ret=480

When using a 4096-byte buffer, processing is performed in 4096-byte units as shown below.
W (13551) example: remaining=4576
W (13551) example: httpd_req_recv ret=4096
W (13551) example: httpd_req_recv ret=480

When using a 4096-byte buffer, a 1M byte transfer will complete in 1.5 second.
W (17061) example: received=1048576 elapsed time[ms]:1510

I used this to send.
curl -X POST --data-binary @1M.dummy  <IP_ADDRESS>/echo

There may be a problem on your sending side.

Hi, nopnop2002,
Good to know, what version of esp-idf did you test on?
I'm using v4.4.2, maybe too old.

what version of esp-idf did you test on?

$ git describe --tags
v5.3.2-1-g9a6aba7401

ok, I'll test it on the latest version.


Sonobuoy does not complete run on PKS cluster

What steps did you take and what happened:
I tested sonobuoy on both a gke cluster and pks cluster. On PKS the tests never complete even after several hours.
hev@Adams-MacBook-Pro-2 ~ $ sonobuoy status
PLUGIN		STATUS	COUNT
e2e		running	1
systemd_logs	running	3

Sonobuoy is still running. Runs can take up to 60 minutes.
hev@Adams-MacBook-Pro-2 ~ $ kubectl get pods -n heptio-sonobuoy
NAME       READY   STATUS    RESTARTS   AGE
sonobuoy   1/1     Running   0          16h
hev@Adams-MacBook-Pro-2 ~ $

What did you expect to happen:
On GKE after doing a sonobuoy run and waiting an hour so the e2e and systemd_logs tests were completed.
Anything else you would like to add:
This is likely a change required in PKS but I am not sure what that is. Logs fro sonobuoy below.
time="2018-11-20T23:14:29Z" level=info msg="Scanning plugins in ./plugins.d (pwd: /)"
time="2018-11-20T23:14:29Z" level=info msg="Scanning plugins in /etc/sonobuoy/plugins.d (pwd: /)"
time="2018-11-20T23:14:29Z" level=info msg="Directory (/etc/sonobuoy/plugins.d) does not exist"
time="2018-11-20T23:14:29Z" level=info msg="Scanning plugins in ~/sonobuoy/plugins.d (pwd: /)"
time="2018-11-20T23:14:29Z" level=info msg="Directory (~/sonobuoy/plugins.d) does not exist"
time="2018-11-20T23:14:29Z" level=info msg="Filtering namespaces based on the following regex:.*|heptio-sonobuoy"
time="2018-11-20T23:14:29Z" level=info msg="Namespace default Matched=true"
time="2018-11-20T23:14:29Z" level=info msg="Namespace heptio-sonobuoy Matched=true"
time="2018-11-20T23:14:29Z" level=info msg="Namespace kube-public Matched=true"
time="2018-11-20T23:14:29Z" level=info msg="Namespace kube-system Matched=true"
time="2018-11-20T23:14:29Z" level=info msg="Namespace pks-system Matched=true"
time="2018-11-20T23:14:29Z" level=info msg="Starting server Expected Results: [{ e2e} {vm-2e6f9853-0e41-423a-6202-73805abaace9 systemd_logs} {vm-a27b4c0f-3d8e-46c2-6779-88e3f409d5b4 systemd_logs} {vm-c7bbf82b-e45b-489b-5d79-d1eecad49e0c systemd_logs}]"
time="2018-11-20T23:14:29Z" level=info msg="Starting annotation update routine"
time="2018-11-20T23:14:29Z" level=info msg="Running plugin" plugin=e2e
time="2018-11-20T23:14:29Z" level=info msg="Starting aggregation server" address=<IP_ADDRESS> port=8080
time="2018-11-20T23:14:29Z" level=info msg="Running plugin" plugin=systemd-logs
time="2018-11-20T23:14:29Z" level=info msg="Last update to annotations on exit"
time="2018-11-20T23:14:29Z" level=error msg="error running plugins: error running plugin systemd-logs: could not create DaemonSet for daemonset plugin systemd-logs: DaemonSet.apps \"sonobuoy-systemd-logs-daemon-set-58f3dfbb6da94645\" is invalid: spec.template.spec.containers[0].securityContext.privileged: Forbidden: disallowed by cluster policy"
time="2018-11-20T23:14:29Z" level=info msg="Running non-ns query"
time="2018-11-20T23:14:29Z" level=error msg="error querying CustomResourceDefinitions: the server could not find the requested resource"
time="2018-11-20T23:14:29Z" level=info msg="Collecting Node Configuration and Health..."
time="2018-11-20T23:14:29Z" level=info msg="Creating host results for vm-2e6f9853-0e41-423a-6202-73805abaace9 under /tmp/sonobuoy/20346e1c-8383-4136-9591-f6acfed2a3df/hosts/vm-2e6f9853-0e41-423a-6202-73805abaace9\n"
time="2018-11-20T23:14:29Z" level=info msg="Creating host results for vm-a27b4c0f-3d8e-46c2-6779-88e3f409d5b4 under /tmp/sonobuoy/20346e1c-8383-4136-9591-f6acfed2a3df/hosts/vm-a27b4c0f-3d8e-46c2-6779-88e3f409d5b4\n"
time="2018-11-20T23:14:30Z" level=info msg="Creating host results for vm-c7bbf82b-e45b-489b-5d79-d1eecad49e0c under /tmp/sonobuoy/20346e1c-8383-4136-9591-f6acfed2a3df/hosts/vm-c7bbf82b-e45b-489b-5d79-d1eecad49e0c\n"
time="2018-11-20T23:14:31Z" level=info msg="Running ns query (default)"
time="2018-11-20T23:14:33Z" level=info msg="Running ns query (heptio-sonobuoy)"
time="2018-11-20T23:14:34Z" level=info msg="Collecting Pod Logs..."
time="2018-11-20T23:14:34Z" level=error msg="the server rejected our request for an unknown reason (get pods sonobuoy-e2e-job-f2f7a7acac314762)"
time="2018-11-20T23:14:35Z" level=info msg="Running ns query (kube-public)"
time="2018-11-20T23:14:37Z" level=info msg="Running ns query (kube-system)"
time="2018-11-20T23:14:40Z" level=info msg="Running ns query (pks-system)"
time="2018-11-20T23:14:42Z" level=info msg="Results available at /tmp/sonobuoy/201811202314_sonobuoy_20346e1c-8383-4136-9591-f6acfed2a3df.tar.gz"
time="2018-11-20T23:14:42Z" level=info msg="no-exit was specified, sonobuoy is now blocking"

Environment:

Sonobuoy version: 0.12.1
Kubernetes version: (use kubectl version): 1.12.2
Kubernetes installer & version: PKS 1.2.2-build.3
Cloud provider or hardware configuration: GCP
OS (e.g. from /etc/os-release):
Sonobuoy tarball (which contains * below)

@ahevenor - If you run sonobuoy logs -f on the PKS cluster you can detect where it is getting wedged.
If there is a long hang/delay the tests have gotten into a wedged state and will eventually hit the default timeout and hard exit.

Hmm. Surprisingly it didn't timeout and panic even over the long weekend. I assume it's getting tripped up here:
time="2018-11-20T23:14:34Z" level=error msg="the server rejected our request for an unknown reason (get pods sonobuoy-e2e-job-f2f7a7acac314762)"

Interestingly the pod name I see in my cluster doesn't have that GUID which is not something I have seen before.
kubectl get pods --all-namespaces
NAMESPACE         NAME                                    READY   STATUS    RESTARTS   AGE
heptio-sonobuoy   sonobuoy                                1/1     Running   0          5d
kube-system       heapster-6d5f964dbd-6kvj2               1/1     Running   0          5d
kube-system       kube-dns-6b697fcdbd-4h52x               3/3     Running   0          5d
kube-system       kubernetes-dashboard-785584f46b-s8qqj   1/1     Running   0          5d
kube-system       metrics-server-5f68584c5b-9lg5l         1/1     Running   0          5d
kube-system       monitoring-influxdb-54759946d4-xts57    1/1     Running   0          5d
kube-system       telemetry-agent-bc95dc6dc-gl86p         1/1     Running   0          5d
pks-system        fluent-bit-469sq                        1/1     Running   0          5d
pks-system        fluent-bit-4zgvk                        1/1     Running   0          5d
pks-system        fluent-bit-spgf6                        1/1     Running   0          5d
pks-system        sink-controller-7c85744bd6-rjnd5        1/1     Running   0          5d

Can you retrieve and post the tarball for inspection?

Yeah. Here it is as zip from a fresh deploy
201811061615_sonobuoy_bee1af96-bfb8-427c-a566-e76011ffcf7c.zip

@ahevenor - that tarball looks like a successful 1.10.7 scan of a gke cluster.
Not a tarball from pks.

Oops. You are correct. I was fooled by finder. This one should be the failed run from PKS.
201811261827_sonobuoy_bb01a8cf-43bc-43ee-9b02-1b21fec97412.zip

@chuckha do you have some cycles to look at this?

Peeking at the code it does seem like there is a problem in how we report issues when starting a plugin; it interrupts the aggregator logic in an unusual way that may be cutting off the expected path of marking the plugin as failed. Seeing as how these issues point to problems in the cluster setup (at least as far as running tests are concerned) this should be remedied. More investigation is needed to look at the code path/repro though.


Running the library client side without node server rendering

Helloo, another day another problem.
I am using the library with nextjs with static site generator and I get this error
Unhandled Runtime Error

TypeError: crypto__WEBPACK_IMPORTED_MODULE_2___default().generateKeyPairSync is not a function
Source

pages/transfer/[[...token]].tsx (94:34) @ createOffer

  92 | 		});
  93 |
> 94 | 		pc.setLocalDescription(await pc.createOffer());
     | 		                               ^
  95 | 		const sdp = JSON.stringify(pc.localDescription);
  96 |
  97 | 		const offerInfo = new OfferInfo();

and if I hunt down the problem it leads me to -> https://github.com/shinyoshiaki/werift-webrtc/blob/f63f2c661d866e8b054dc873e44c36614e4eb8e4/packages/webrtc/src/peerConnection.ts#L247 -> https://github.com/shinyoshiaki/werift-webrtc/blob/f63f2c661d866e8b054dc873e44c36614e4eb8e4/packages/webrtc/src/peerConnection.ts#L1311 -> https://github.com/shinyoshiaki/werift-webrtc/blob/f63f2c661d866e8b054dc873e44c36614e4eb8e4/packages/webrtc/src/transport/dtls.ts#L77 -> https://github.com/shinyoshiaki/werift-webrtc/blob/f63f2c661d866e8b054dc873e44c36614e4eb8e4/packages/dtls/src/context/cipher.ts#L109
where you make use of import nodeCrypto, { createSign } from "crypto"; node's crypto package.
Of course the crypto is used elsewhere so my question is more general.
Is there a way to not use node but instead make use of https://developer.mozilla.org/en-US/docs/Web/API/Web_Crypto_API? I am trying to use the library on the browser (client side) with no server side rendering at all.
I got this from https://stackoverflow.com/questions/62084998/typeerror-crypto-webpack-imported-module-5-generatekeypairsync-is-not-a-func

This library is not for browsers. Use browser RTCPeerConnection.

werift is a WebRTC Implementation for TypeScript (Node.js), includes ICE/DTLS/SCTP/RTP.


Add JetBot example

Linked to https://github.com/cyberbotics/webots/pull/2951

I have addressed all the comments on this repo.
I will modify the python controller on the webots repo.


Added the ability to set the connection timeout.

For some reason, recently,  the request to autodiscover.outlook.com over HTTPS has been timing out.  I would expect it to fail to connect immediately (and it used to).  I think it makes sense to be able to specify a desired connection timeout.  I left the default as is (which is 60 seconds for HttpClient).

Thanks @homerlex


Fix dropped request in http2 network client

We are getting NPE in TtlUpdateManager, where a correlation id would point to a null TtlUpdateOperation. The only possible explanation is that we received two responses with the same request. This could only happen when we dropped a request and return the response  and later the real response comes back.
This PR would close the channel right away after we drop requests.

Codecov Report

Merging #2125 (c1cea85) into master (dafdce5) will increase coverage by 46.22%.
The diff coverage is 33.33%.

@@              Coverage Diff              @@
##             master    #2125       +/-   ##
=============================================
+ Coverage          0   46.22%   +46.22%
- Complexity        0     5902     +5902
=============================================
  Files             0      722      +722
  Lines             0    54889    +54889
  Branches          0     6790     +6790
=============================================
+ Hits              0    25375    +25375
- Misses            0    27353    +27353
- Partials          0     2161     +2161

Impacted Files
Coverage Δ

...n/java/com/github/ambry/protocol/AdminRequest.java
75.86% <ø> (ø)

...a/com/github/ambry/protocol/RequestOrResponse.java
67.39% <0.00%> (ø)

...github/ambry/network/http2/Http2NetworkClient.java
65.62% <16.66%> (ø)

...java/com/github/ambry/router/TtlUpdateManager.java
71.42% <42.85%> (ø)

...mbry/network/http2/Http2ClientResponseHandler.java
81.48% <50.00%> (ø)

...m/github/ambry/network/CompositeNetworkClient.java
0.00% <0.00%> (ø)

...n/java/com/github/ambry/clustermap/DataNodeId.java
66.66% <0.00%> (ø)

...main/java/com/github/ambry/quota/QuotaMetrics.java
0.00% <0.00%> (ø)

...ud/azure/CosmosChangeFeedBasedReplicationFeed.java
0.00% <0.00%> (ø)

.../github/ambry/clustermap/HelixVcrPopulateTool.java
0.00% <0.00%> (ø)

... and 717 more

Continue to review full report at Codecov.

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


swift version not supported

Hi, trying to build a proj it always says in xcode 10 swift 5 not supported.
i download xcode 9.2
The “Swift Language Version” (SWIFT_VERSION) build setting must be set to a supported value for targets which use Swift. This setting can be set in the build settings editor.
i use cocoapods, so i go to pods general page -> build settings and set swift language 4.0 and then swift 3.2 version, but it not give anything, still same error.
in project general page in build settings i set same version of swift.
how make it work?

I’m unclear about the question. The current version of Xcode is 11.4.1, not 10. Are you having trouble building with the current Xcode?

I’m unclear about the question. The current version of Xcode is 11.4.1, not 10. Are you having trouble building with the current Xcode?

i have macos 10.13.6 and latest version of xcode 10.1 also i was test it on 9.2

The current version of macOS is 10.15.4. You generally should not build on old versions of Xcode, even if you're targeting older platforms. That said, if you have to build with an older version, you'll need to use an older release of RNCryptor, probably 5.0.3, which was the last version written in Swift 4.


Add order to Generic motion tool

(1) NOH and motion, fully filled (not the NOH part)
(2) Order, caption, title of motion, moving party, judge
(3) fee waiver, if needed
(4) Proof of service-- two copies, attached, caption filled the rest blank
(5) Notice to enter order without hearing, attached, caption filled the rest blank


Release Google.Cloud.Datastore.V1 version 4.0.0

Changes in this release:
This is the first version of this package to depend on GAX v4.
There are some breaking changes, both in GAX v4 and in the generated code. The changes that aren't specific to any given API are described in the Google Cloud documentation. We don't anticipate any changes to most customer code, but please file a GitHub issue if you run into problems.
The most important change in this release is the use of the Grpc.Net.Client package for gRPC communication, instead of Grpc.Core. When using .NET Core 3.1 or .NET 5.0+ this should lead to a smaller installation footprint and greater compatibility (e.g. with Apple M1 chips). Any significant change in a core component comes with the risk of incompatibility, however - so again, please let us know if you encounter any issues.
Documentation improvements

Document encoding of non-UTF-8 key strings in the Cloud Datastore API (commit ee61d4d)

Created release for Google.Cloud.Datastore.V1-4.0.0


Extremely slow performance ?

V100 1B 0.06it/s

We do not recommend training with this codebase, because it is written in pure PyTorch without any systems optimization, so training will be slow, especially when the per-device batch size is small. For faster training code, or to replicate results from our paper, please view our JAX codebase.


Failed to read image file while add_picture

when i add a picture to doc file, I get this error
File "/usr/local/lib/python3.5/dist-packages/python_docx-0.8.6-py3.5.egg/docx/image/helpers.py", line 71, in read_str
    unicode_str = chars.decode('UTF-8')
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xca in position 12: invalid continuation byte

so, I edit helpers.py, and change
unicode_str = chars.decode('UTF-8')
to
unicode_str = chars.decode('UTF-8', errors="ignore")
it works, does it any matter, if use the later code

@xanarry by using unicode_str = chars.decode('UTF-8', errors="ignore") you will not be notified if any errors occurs. If you are fine with that, it does not matter. When said; you should not have to add the errors="ignore" flag, but instead attempt to find out why reading the specific picture-/image file fails.


gevent has been updated to use libev instead of livevent, docs needs to be updated

Since gevent 1.0, it has switched from libevent to libev, please refer: http://www.gevent.org/ and http://blog.gevent.org/2010/02/27/why-gevent/.
I would like to submit a pull request for this doc page: http://flask.pocoo.org/docs/0.10/deploying/wsgi-standalone/, please confirm this update and I will prepare the pull request, thanks!

please do a PR, but the stable online docs will only be updated for a release. You will be able to see the changes if you select "dev" from the sidebar though.
On 14 July 2015 20:55:05 CEST, Wayne Ye<EMAIL_ADDRESS>wrote:

Since gevent 1.0, it has switched from libevent to libev, please refer:
http://www.gevent.org/ and
http://blog.gevent.org/2010/02/27/why-gevent/.
I would like to submit a pull request for this doc page:
http://flask.pocoo.org/docs/0.10/deploying/wsgi-standalone/, please
confirm this update and I will prepare the pull request, thanks!

Reply to this email directly or view it on GitHub:
https://github.com/mitsuhiko/flask/issues/1531

--
Sent from my phone. Please excuse my brevity.

Thanks @untitaker for the quick reply, I will submit a PR by the end of today.


Can't load GLB files

Environment
Please provide the following information about your environment:

OS: Mac
Version: 2.17
Device(s): Samsung Galaxy S8

Description
Some GLB models load as expected. However, some others don't. I've double checked them here and here, and they all seem correct.
Based on the logs, I can see the following errors:

Failed to parse glTF manifest (for model-a.zip)
Attempted to parse an unknown geometry attribute: TEXCOORD_1 (for model-b.zip)

If it helps, I'm generating the GLB models using Khronos glTF Blender I/O v1.1.45.
Thanks!

Hey @federico-camonapp, unfortunately it looks like the GLTF Loader in Viro currently supports one texcoord as shown here.

Ok! Thanks @dthian for that quick reply, I guess nothing to do for now (maybe updating to the latest version of TinyGLTF in the future?).


Propagate location from destination alloca in salvageDebugInfo().

salvageDebugInfo is called during SIL Mem2Reg and could produce misleading debug info in the following case:
%a = alloc_stack $MyModel.TangentVector, var, name "self", argno 1, implicit, loc "debug2.swift":37:17 ...
...
store %b to %a : $*MyModel.TangentVector

Such SIL could be created as a result of inlining (where store comes from the inlined function).
Before this patch we'd end with debug_value instruction with variable information, but without location.
This caused LLVM IR debug info verifier assertions when there might be another instruction with complete debug info (including location) for the same argument.
After this patch, when store itself does not contain a valid location information, reuse it from destination alloca.
Also adding implementation of NonSingleValueInstruction::dump() while here (e.g. for DebugValueInst dumping / printing).
Fixes #58660

Tagging @BradLarson

@swift-ci Please test

After thinking more, I believe we need to always propagate location from alloca. And here is the rationale: consider there is source code location on the store which is not coincide with the source code location on alloca. Since we are propagating variable information, we'll end with something like this:
%a = alloc_stack $MyModel.TangentVector, var, name "self", argno 1, implicit, loc "debug2.swift":37:17 ...
...
debug_value %b : $*MyModel.TangentVector. var, name "self", argno 1, implicit, loc "debug2.swift":42:123

which is certainly wrong.
@adrian-prantl Am I missing something?

@adrian-prantl Yes, apparently it's only 1 letter change in the end ;)

@swift-ci please test

I think I agree. That would also simplify the patch.

@adrian-prantl And I was wrong :) The answer is SROA. It turns alloc_stack like this:
  %4 = alloc_stack $MyStruct, var, name "my_struct", loc "sroa.swift":8:9

into:
  %4 = alloc_stack $Int64, var, (name "my_struct", loc "sroa.swift":8:9, scope 2), type $*MyStruct, expr op_fragment:#MyStruct.x, loc "<compiler-generated>":0:0, scope 2 // users: %20, %17, %15
  %5 = alloc_stack $Int64, var, (name "my_struct", loc "sroa.swift":8:9, scope 2), type $*MyStruct, expr op_fragment:#MyStruct.y, loc "<compiler-generated>":0:0, scope 2 // users: %19, %18, %16

This logic is due to SILDebugVariable::createFromAllocation which moves source code location into VarInfo and create artificial "outer" source code loc. So, it seems we'd need to end with more complex logic. I'm leaning towards always propagating alloca source loc for arguments as these locations must be unique as well as when store source location is artificial

@swift-ci  Please test

@swift-ci please test

@swift-ci please test


⚠ Bofrost.at has degraded performance

In 5e226e4, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1155 ms

Resolved: Bofrost.at performance has improved in 2aae435.


Fixing syntax error in p5.js snippet

In the code snippet for p5.js was a syntax error (the variable 'classifier' was declared twice) which caused the snippet not to work.

@googlebot I signed it!

Thanks for catching that


watch prevents process from registering signal handlers

Describe The Bug
When running a process through a watch task, it somehow spawns the process in such a way that it prevents the process from registering its own signal handlers. The end effect of this is that for long running process that expect to be stopped by a signal (ie a webserver), will just continue running in the background until manually stopped with a SIGKILL.
To Reproduce
Makefile:
[tasks.serve-backend]
description = "Build, watch and run the Rust backend server"
command = "cargo"
args = [ "run" ]
watch = true

Run cargo make serve-backend
Press CTRL+C
Server process just keeps running and must be manually killed with kill -n SIGKILL <PID>

Expected Behavior
At a minimum, killing the top-level cargo-make task should send a SIGKILL to all child tasks
Ideally, I think, the watch task would be simply forward all signals to the child process and let the child process handle them as appropriate.

@scottbot95
can you please try adding:
[config]
unstable_features = ["CTRL_C_HANDLING"]

see https://github.com/sagiegurari/cargo-make#usage-unstable-features

Oh nice call! That totally makes it usable for my use-case! Although it seems like it's just killing the children instead of forwarding the SIGINT? It doesn't really matter in my case, but if that's an easy enough change it might be worth making to provide a better experience for programs that do need to gracefully handle their shutdown.
As far as I'm concerned this issue is solved though.


bloxstrap asking if i want to join a game while roblox is already running one

normally this would be a nice feature, but i play bee swarm simulator and use a macro for it and this interrupts the macro if it needs to rejoin the game. i want to know if there is an option to toggle this and if not, could you add it to the next update?

Duplicate of #gi

Duplicate of #gi

what does that mean? i dont use github much


[AutoScheduler] Bug fix for layout rewrite CI error in i386

Problem
Compute get wrong result after layout rewrite, and this only occurs in i386 CI.
Current Status
After trying many different tests, I guess I have finally found the reason.
Only i386 CI used llvm-4 to build the TVM.
i386 CI with llvm-4: https://ci.tlcpack.ai/blue/rest/organizations/jenkins/pipelines/tvm/branches/PR-6830/runs/4/nodes/253/steps/331/log/?start=0
i386 CI with llvm-8: https://ci.tlcpack.ai/blue/rest/organizations/jenkins/pipelines/tvm/branches/PR-6830/runs/7/nodes/253/steps/331/log/?start=0

This problem can be reproduced in my local runtime with ci-i386 docker.
I've tried more tests on different llvm versions, codegen results with higher llvm version can still encounter accuracy problem, but with lower possiblity.
Seems the float point operations under 32bit environment trends to be less accurate than 64bit? Currently a better way to fix this may still be setting a bigger atol and rtol value.

Thanks @jcf94 for timely fix and indepth analysis


Wrong error message while resetting the password fixed, changed from id to email

#637

Marking this PR invalid in favour of #911


Add dataplaneapi to haproxy image

Fixes: #308
Related:
Pre-review Checklist

[ ] IMPORTANT: 'image-request' tag has been applied if this PR is adding any images, including new versions or variants

For new image PRs only
If you have an apko.yaml file in this PR you need to follow this checklist, otherwise feel free to remove.

[ ] Image is marked experimental or stable as appropriate
[ ] The last two minor versions are available
[ ] The latest tag points to the newest stable version
[ ] There is a dev tag available that includes a shell and apk tools (by depending on 'wolfi-base')
[ ] The image runs as nonroot and GID/UID are set to 65532

[ ] Alternatively the username and GID/UID may be a commonly used one from the ecosystem e.g: postgres
[ ] See above for exceptions to nonroot rule

[ ] ENTRYPOINT

[ ] For applications/servers/utilities call main program with no arguments e.g. [redis-server]
[ ] For base images leave empty
[ ] For dev variants set to entrypoint script that falls back to system

[ ] CMD:

[ ] For server applications give arguments to start in daemon mode (may be empty)
[ ] For utilities/tooling bring up help e.g. –help
[ ] For base images with a shell, call it e.g. [/bin/sh]

[ ] Consider where and how the image deviates from popular alternatives. Is there a good reason and is it documented?
[ ] Add annotations e.g:

annotations:
  "org.opencontainers.image.authors": "Chainguard Team https://www.chainguard.dev/"
  "org.opencontainers.image.url": https://edu.chainguard.dev/chainguard/chainguard-images/reference/busybox/ # use the academy site here
  "org.opencontainers.image.source": https://github.com/chainguard-images/images/tree/main/images/bazel # use github here

[ ] Check if environment variables are needed e.g. to set data locations
[ ] Ensure the image responds to SIGTERM

[ ] docker kill $(docker run -d --rm cgr.dev/chainguard/nginx)

[ ] Documentation. Let's make this excellent. Include usage example.
[ ] Error logs write to stderr and normal logs to stdout. DO NOT write to file.
[ ] Include tests, at the very least a basic smoke test.

@tuananh I tried including a test for this and I've found it hard to get the image to run with a default config.   Have you been using this image by any chance?  Perhaps I've got the default config incorrect for the image.
I see this error with both a simple config and dataplaneapi enabled
➜  tests git:(add-dataplaneapi) ✗ docker run -it --rm --name my-running-haproxy --expose 5555 -p 8080:5555 -v "$(pwd)/configs/dataplaneapi-enabled:/etc/haproxy:rw" haproxy:dataplane-amd64 -f /etc/haproxy/haproxy.cfg
[NOTICE]   (1) : haproxy version is 2.6.9-3a3700a
[NOTICE]   (1) : path to executable is /usr/sbin/haproxy
[ALERT]    (1) : Binding [/etc/haproxy/haproxy.cfg:5] for frontend GLOBAL: cannot bind UNIX socket (No such file or directory) [/var/run/haproxy/admin.sock]
[ALERT]    (1) : [haproxy.main()] Some protocols failed to start their listeners! Exiting.

@patflynn let me pull and fix it to pass those tests.

@patflynn i got the same error when running that test with haproxytech/haproxy-alpine ?

interesting. :thinking: perhaps the config is the issue.  I just used the default generated when installing haproxy.


background download

Can you please add the background download facility

bump. This should be useful for downloading, thank you.


[DOCS] add/fix bpf config options

Description

Related issues/PRs

Todos

[ ] Tests
[ ] Documentation
[ ] Release note

Release Note

fixed felix docs for bpf config options

Reminder for the reviewer
Make sure that this PR has the correct labels and milestone set.
Every PR needs one docs-* label.

docs-pr-required: This change requires a change to the documentation that has not been completed yet.
docs-completed: This change has all necessary documentation completed.
docs-not-required: This change has no user-facing impact and requires no docs.

Every PR needs one release-note-* label.

release-note-required: This PR has user-facing changes. Most PRs should have this label.
release-note-not-required: This PR has no user-facing changes.

Other optional labels:

cherry-pick-candidate: This PR should be cherry-picked to an earlier release. For bug fixes only.
needs-operator-pr: This PR is related to install and requires a corresponding change to the operator.

/merge-when-ready delete-branch

OK, I will merge the pull request when it's ready, leave the commits as is when I merge it, and delete the branch after I've merged it.

I'm sorry but I failed delete the branch after merging the pull request.


punycode deprecated - still need?

Description
Use of this package produces a warning that punycode is deprecated (see below for full message).
Is this package still needed? I don't see it being used anywhere. If it's not being used, can it be deleted from pnpm-lock.yaml?
Paste full error message
[DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.

This is a duplicate, and not caused by this package. It’s upstream in Redocly. See https://github.com/Redocly/redocly-cli/issues/1332#issuecomment-2393651000


Commands

Would be nice to have commands to generate theme folder structures along with any necessary files (theme.json)

+1 to the idea

I agree also. This would be great

Has been added in the latest master - will be included in the next major release.


[babel-plugin-fela] Extract CSS to separate file

As we're now able to precompile styles within rules, we are also technically able to extract those static styles into separate CSS files.
Problems

[ ] How to handle duplicate classes? 2 components might use the same static declaration (e.g.  paddingTop: '10px'). The plugin would extract the atomic class (e.g. .a{padding-top:10px}) in both CSS files as we cannot assume all styles are already rendered. (code splitting, etc.)
[ ] Naming?
[ ] Caching? If not added to the cache, Fela would rerender those atomic class names (without acknowledging the extracted CSS)

Why would you even want to extract styles if plain precompilation is just as fast, but comes with much less bundle size?

I am going to close this as from my eyes it doesn't really make sense. Using SSR to determine the minimum critical CSS is ways more stable and better than any extraction mode as we could have a lot of problems with duplication and so on as we don't know which components renders first and when others render => can't really do code-splitting here.


DocsArchive-<IP_ADDRESS>Auto archive content

Auto archive content from https://github.com/OPS-E2E-PPE/docs-archive-test

Docs Build status updates of commit d166d34:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

:x:Error

Details

[Error]

Cannot sync git repo to specified commit because branch Archive_master_2019-09-25-06-36-21 has been deleted or has been force pushed: fatal: Couldn't find remote ref Archive_master_2019-09-25-06-36-21

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Multiple Routers break routing

Version
5.0.0
Test Case
https://codesandbox.io/s/3v04q4prrq
Steps to reproduce
Have multiple Routers defined in order to utilize basenames.
There are cases when this is required especially in enterprise level setups, where multiple different servers reverse proxy onto a single frontend react dedicated server with different unique routes as : /finance/mobile/web, /order/mobile/web, /point/web. It's not exactly fun to append all those routes on to the routing config if there are 400+ unique urls.
Expected Behavior
<Router basename="/foo">

    <Switch>
        <Route exact path="/about" component={About} />
    </Switch>

</Router>
<Router basename="/bar">

    <Switch>
        <Route exact path="/about" component={About} />
        <Route component={NotFound} />
    </Switch>

</Router>

navigating to /foo/about should render a single About component only.
navigating to /foo/asdf/ shouldn't render anything(0 components).
navigating to /bar/about should render a single About component only.
navigating to /bar/asdf should render a single NotFound component only.

Actual Behavior

navigating to /foo/about renders the About component and also other components randomly(/bar/about, /bar/notfound) along with it below.
navigating to /foo/asdf also seemingly renders other components randomly.
navigating to /bar/about renders a single About component only as expected.
navigating to /bar/asdf renders a single NotFound component only as expected.

Last words

if react-router-dom doesn't support multiple routers, I strongly suggest reconsidering a new implementation. Most(if not all) sane routing schemes support this. From WAS such as Node.js express or Spring MVC to WS like Nginx or Apache, the following configuration should be supported no matter what.

#sample nginx config
location /foo/redirect/to/other/department/project {
...
}
location /bar/redirect/to/yet/another/department/project/ {
...
}
location / {
... # catch other unmatched locations
}

Thank you.

The basename prop is meant to emulate the <base> tag, of which, there can only be one on a page at a time.
What you're looking for here is a top level BrowserRouter to drive the interaction with the DOM history, and many MemoryRouters underneath that to handle several sections of your application.


Firefox support

Do you plan to make this extension firefox compatible?

Currently there are no plans to create Plugin for Firefox.

why no firefox ??

@pipflinx We have now changed our plans and are going to look into it this summer. There is a separate issue for that #360

for now I can not use two browsers at the same time so for now I will use tmetric that works fine even tmtreic has far fewer functions Toggl


Auto-renewal gets cancelled and doesn't finish if it takes too long

On some devices (such as my beloved galaxy gio), if the auto-renewal process takes too long, the android system appears to be killing the process before it has the chance to complete. A potential solution to this is to use a background service to handle the auto-renewal process instead of doing it directly in the broadcast receiver.

Logcat from device when Broadcast Receiver is destroyed:
02-19 01:36:13.519      173-188/system_process W/ActivityManager﹕ Timeout of broadcast BroadcastRecord{41630810 null} - receiver=android.os.BinderProxy@41168390, started 10001ms ago
02-19 01:36:13.529      173-188/system_process W/ActivityManager﹕ Receiver during timeout: ResolveInfo{4161cd20 ca.alexland.renewpass.utils.AlarmReceiver p=0 o=0 m=0x0}
02-19 01:36:13.539      173-188/system_process I/Process﹕ Sending signal. PID: 29658 SIG: 3
02-19 01:36:13.559      173-188/system_process I/Process﹕ Sending signal. PID: 173 SIG: 3
02-19 01:36:13.559      173-178/system_process I/dalvikvm﹕ threadid=3: reacting to signal 3
02-19 01:36:13.599      173-178/system_process I/dalvikvm﹕ Wrote stack traces to '/data/anr/traces.txt'
02-19 01:36:13.599      173-188/system_process I/Process﹕ Sending signal. PID: 285 SIG: 3
02-19 01:36:13.609      173-188/system_process I/Process﹕ Sending signal. PID: 244 SIG: 3
02-19 01:36:13.889      173-176/system_process D/dalvikvm﹕ GC_CONCURRENT freed 1734K, 24% free 10087K/13127K, paused 5ms+17ms
02-19 01:36:14.259      173-188/system_process D/dalvikvm﹕ GC_EXPLICIT freed 780K, 25% free 9958K/13127K, paused 5ms+8ms
02-19 01:36:14.829      173-188/system_process I/Process﹕ Sending signal.


[DATA-118] Add non-live (offline) ingestion loop

https://viam.atlassian.net/browse/DATA-118
More work will be needed on the ProcessDataOffline function, but it was for the most part already finished under a different name.

Yes, tested via RDK just now.


Faster TIS analysis

Just a few lines of code to provide a significant speed-up for TIS analysis.
Caching previous results of max_lambda, so we don't check it again if we have the same trajectory as before. For the toy model, this nearly doubles the speed (with 20k trajectories).
Before:

After:

Same results; we just get them faster.

Passes tests; ready for review and merge.
I'll be doing other stuff in other PRs to make this even faster (and when #662 is done, that will make it possible to do other tricks to speed it up.)
The speed-up from this PR will be better with more ensembles or with lower acceptance ratios.
Interestingly, profiling the rate matrix calculation now says that, for 20k steps in the toy MSTIS example, the main cost is in identifying which steps had minus moves (and therefore need to be included in the flux calculation.) I think I can find a way to fix that. (Currently, it compares the ensembles; ensemble equality is checked based on the string representation of the ensemble; making those strings actually takes 30% of the total analysis time!)

Looks good, neat trick. There is one line I think can be moved for probably unnoticeable additional improvement :)


updated to work with Python 3

Forget this pull request, I forgot to remove teh original import that was causing problems.

Ok, i have updated so it should work now.


SQLite generation fails due to implicit foreign key column

I was trying to set up bob in my existing project, when I ran into the following cryptic error:
unable to fetch table data: sql: Scan error on column index 4, name "to": converting NULL to string is unsupported
I found that this error was coming from the foreign key list unmarshaling here. It was caused by my tables having implicitly defined columns on my foreign keys; something like this:
CREATE TABLE instance(
  id INTEGER PRIMARY KEY
);
CREATE TABLE endpoint(
  id INTEGER PRIMARY KEY,
  instance_id REFERENCES instance
);

I know this isn't best practice to begin with and have since switched my schema to explicitly define the column, but perhaps a clearer error might help other users who run into a similar issue.
Thanks for this cool library!

Thanks for finding this bug.
I did not account for implicit foreign keys when creating the SQLite plugin so I would look into that and fix. I checked and this syntax is also valid for Postgres, so I would have to check that too.
Whether or not it is best practice, it is perfectly valid and not deprecated, so Bob should definitely support it.

I finally got some time to work on this. It should be fixed in #208
Postgres already reports the correct columns so there was no need to change anything in the psql driver.


Calling an exclusive command from a non-interactive command results in a NoSuchElementException

When running the following command:
def cleanClient(ev: Evaluator) = Task.Command {
  clean(ev, "appClient")()
}

Mill errors out with the following error:
> mill cleanClient
...
An unexpected error occurred
Exception in thread "MillServerActionRunner" java.util.NoSuchElementException: key not found: Labelled(clean,Segments(List(Label(clean))))

If the cleanClient command interactive = true, the error goes away.
def cleanClient(ev: Evaluator) = Task.Command(exclusive = true) {
  clean(ev, "appClient")()
}

> arturaz@razor:~/work/chqmate> ./mill cleanClient
[build.mill-57/61] compile
[build.mill-57] [info] compiling 1 Scala source to /home/arturaz/work/chqmate/out/mill-build/compile.dest/classes ...
[build.mill-57] [info] done compiling
[build.mill-57] [info] compiling 3 Scala sources to /home/arturaz/work/chqmate/out/mill-build/compile.dest/classes ...
[build.mill-57] [info] done compiling
[1/2] clean
[2/2] cleanClient
[2/2] =================================================================================== cleanClient ================================================================================= 7s

I guess this makes sense; the evaluator hardcodes the assumption that all exclusive commands run after the non-exclusive stuff, and so when the non-exclusive command tries to look up the exclusive upstream task in the list of non-exclusive upstream task it fails to find it.
It feels like the correct thing to do here is to raise a proper error when a non-exclusive task depends on an exclusive task

Another resolution could be to not necessarily run exclusive tasks at the end but only isolated (non-parallel to any other) but still before all its dependencies.

As a side note, in sbuild, I had two different ways to express concat task dependencies, a ~ b to have two dependencies that can resolve in parallel and a ~~ b which meant that aneeds to finish before b. This is only necessary in the context of commands, e.g. when I want to have a clean build in a single CLI invocation, I need to be able to express, that the clean command needs to be run before I even start to fulfill dependencies of the actual build.
If we could have isolated commands not only in the end but also anywhere in the middle of the execution plan we could also run clean builds in Mill with a single run. E.g. mill clean ++ __.compile which could guarantee that clean is run before any other dependency of __.compile.

Yeah having some way to order commands would be nice, so clean can run first rather than in some random order

Just add a nice error message for now, more involved changes like allowing exclusive commands to run earlier or adding syntax for explicit sequencing of tasks can come later

https://github.com/com-lihaoyi/mill/issues/3898


not recognized file created itself

when run:
cargo +nightly contract generate-metadata
error:
= note: /home/ubuntu/projects/ink/flipper/target/release/deps/flipper.flipper.8f0qzq8t-cgu.0.rcgu.o: file not recognized: file format not recognized
collect2: error: ld returned 1 exit status
error: aborting due to previous error
error: could not compile flipper.
file flipper.flipper.8f0qzq8t-cgu.0.rcgu.o is there that is created by "cargo +nightly contract build"

problem solved by run : cargo install cargo-contract --vers 0.6.1 --force
cargo install cargo-contract --vers 0.6.1 --force

problem solved by run : cargo install cargo-contract --vers 0.6.1 --force
cargo install cargo-contract --vers 0.6.1 --force


Improve update process

Summary
Goal of this PR is to accomplish two things:

Optional updates
Support for "startup" healthcheck probes

Optional Updates
Adds an env so updates can be optionally performed. Good if servers need to lock to a specific version for some reason. This works great in a cluster because then only one server needs to manage the updates.
Support Startup Probes
Updates take an unknown amount of time. As a result, it can make doing healthchecks for the service very difficult. Too short of a time and the container will be killed before the update is completed. Too long and the container takes forever to become healthy (which for k8s, means no traffic is allowed to it).
k8s supports startup probes for this reason. The liveness/readiness probes will not kick in until the startup probe passes. Meaning updates will not affect them.
This adds a "flag" file that k8s can check for to see if the server has actually started yet. Which will allow the following probes for k8s. The flag file is also in the save folder for the map to prevent it from be detected/used by other servers in the cluster.
livenessProbe:
  tcpSocket:
    port: rcon
  initialDelaySeconds: 5 # how long it takes rcon port to start listening
  timeoutSeconds: 1
  periodSeconds: 5
  failureThreshold: 3
  successThreshold: 1
readinessProbe:
  exec:
    command:
    - sh
    - -c
    - rcon -a <IP_ADDRESS>:${RCON_PORT} -p ${SERVER_ADMIN_PASSWORD} listplayers
  initialDelaySeconds: 5 # how long after the rcon port starts listening the game server is "online"
  timeoutSeconds: 1
  periodSeconds: 5
  failureThreshold: 3
  successThreshold: 1
startupProbe:
  exec:
    command:
      - sh
      - -c
      - test ! -f "${ARK_PATH}/ShooterGame/Saved/SavedArks/${SERVER_MAP}/.pre-setup"
  initialDelaySeconds: 5

Remove the locking since it is not reliable enough in practice. AUTO_UPDATE can be used to disable updates on all but one of the servers.

Can you update MR with changes to deployment manifest template for the probes and I will merge.


Issue 56 reconcile reports

Summary
Concise description of changes proposed in this pull request
Fixes #
Changes Proposed

{Description of change 1}
{Description of change 2}

Blockers or Questions

[ ] {Concise description of blocker or question 1 that may prevent merge}
[ ] {Concise description of blocker or question 2 that may prevent merge}

Additional Context
Brief description of context
Instructions to Review

Checkout PR Locally
{Step 2}
{Step 3}

Replaced by: #140


trace overall sampling bugfix

Signed-off-by: Chris Xin<EMAIL_ADDRESS>Commit Message:
trace overall sampling support less than 1%
Example:
static_resources:
  listeners:
  - address:
      socket_address:
        address: <IP_ADDRESS>
        port_value: 9090
    filter_chains:
    - filters:
      - name: envoy.filters.network.http_connection_manager
        typed_config:
          "@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager
          tracing:
            overall_sampling:
              value: 0.1
            provider:
              name: envoy.tracers.zipkin
              typed_config:
                "@type": type.googleapis.com/envoy.config.trace.v3.ZipkinConfig
                collector_cluster: zipkin-cluster
                collector_endpoint: "/api/v2/spans"
                collector_endpoint_version: HTTP_JSON
          codec_type: auto
          stat_prefix: ingress_http
          route_config:
            name: service_route
            virtual_hosts:
            - name: backend
              domains:
              - "*"
              routes:
              - match:
                  prefix: "/"
                route:
                  cluster: test_cluster
          http_filters:
          - name: envoy.filters.http.router
            typed_config: {}

  clusters:
  - name: test_cluster
    connect_timeout: 0.250s
    type: strict_dns
    lb_policy: round_robin
    load_assignment:
      cluster_name: test_service
      endpoints:
      - lb_endpoints:
        - endpoint:
            address:
              socket_address:
               address: <IP_ADDRESS>
               port_value: 8000

  - name: zipkin-cluster
    connect_timeout: 1s
    type: strict_dns
    lb_policy: round_robin
    load_assignment:
      cluster_name: zipkin-service
      endpoints:
      - lb_endpoints:
        - endpoint:
            address:
              socket_address:
                address: <IP_ADDRESS>
                port_value: 9411

if set  overall_sampling=0.1(1/1000), i can not got any trace
Additional Description:
Risk Level:
Testing:
Docs Changes:
Release Notes:
Platform Specific Features:
[Optional Runtime guard:]
[Optional Fixes #Issue]
[Optional Deprecated:]
[Optional API Considerations:]

Beyond CI needing some checks can you add a regression test for the issue you're trying to fix?  thanks!
/wait

yeah,  i try to solve a precision issue

/retest

/retest


⚠ Bofrost.de has degraded performance

In 76c0c4a, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1223 ms

Resolved: Bofrost.de performance has improved in 84341fb.


Support for gpx file type.

As of now, this plugin is able to represent markers on the map but, I am wondering how to extend its functionality to support for displaying  GPX track, I found a very interesting project on this link, so can we expect to have the GPX tracks on grave via this plugin.

Hi Rai,
I've been very busy for a couple of years with other projects.
I don't see myself getting back to this plugin for a while.
If gpx is supported by leaflet, then it should be relatively easy to expose
the leaflet functionality in the plugin.
When I wrote the plugin, i did not have any knowledge of gpx so I didn't
investigate the matter.
Grav offers a way for another developer to take over a plugin. I'd be happy
for you to do this so long as you retain credits to contributors.
Regards
Richard
On Sat, Dec 11, 2021, 07:43 Rai @.***> wrote:

As of now, this plugin is able to represent markers on the map but, I am
wondering how to extend its functionality to support for displaying GPX
track, I found a very interesting project on this link
https://github.com/mpetazzoni/leaflet-gpx, so can we expect to have the
GPX tracks on grave via this plugin.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/finanalyst/grav-plugin-map-marker-leaflet/issues/31,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AACYZHG6W6DHK72IJUYHV4DUQL6IZANCNFSM5J2W375Q
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

Thanks, Richard for writing me, I'll really appreciate your effort and time in adding the map functionality to the Grave, I was expecting gpx files can be used in two different ways, first for drawing or constructing gpx path and secondly for constructing an enclosed area on leaflet, I hope to see both the functions in the near future.


create_ob_graph failure

Hello, I would like to ask your advice on creating a offset-based graph using the create_ob_graph.
I wonder if you could guide how to resolve the error below. The input json for the create_ob_graph is from a vg file that is converted from a gfa file created by minigraph.
2021-01-28 01:43:03,592, INFO: Setting sequences using vg json graph graph_p.json
Traceback (most recent call last):
  File "graph_peak_caller", line 8, in <module>
    sys.exit(main())
  File "graph_peak_caller/command_line_interface.py", line 36, in main
    run_argument_parser(sys.argv[1:])
  File "graph_peak_caller/command_line_interface.py", line 673, in run_argument_parser
    args.func(args)
  File "graph_peak_caller/preprocess_interface.py", line 67, in create_ob_graph
    sequence_graph.set_sequences_using_vg_json_graph(args.vg_json_file_name)
  File "offsetbasedgraph/sequencegraph.py", line 71, in set_sequences_using_vg_json_graph
    self.set_sequence(int(node_object["id"]), node_object["sequence"])
  File "offsetbasedgraph/sequencegraph.py", line 94, in set_sequence
    assert node_size == len(sequence), "Invalid sequence. Does not cover whole node"
AssertionError: Invalid sequence. Does not cover whole node

Hi!
It seems that it crashes because it thinks there is a node in the graph having a sequence that doesn't match the node size.
Would you be able to send med the vg graph your are using, and I could check whether there is an error in the code or something wrong with the graph?
Thanks!

Hi!
It seems that it crashes because it thinks there is a node in the graph having a sequence that doesn't match the node size.
Would you be able to send med the vg graph your are using, and I could check whether there is an error in the code or something wrong with the graph?
Thanks!

It is a bit tricky without having the graph, since it seems like there might be an error in the graph. Maybe you could explain the steps/pipeline you used to create the graph, and I can see if I can understand how you got the error from there?

It is a bit tricky without having the graph, since it seems like there might be an error in the graph. Maybe you could explain the steps/pipeline you used to create the graph, and I can see if I can understand how you got the error from there?

The steps to create graph is 1) de novo assembly, 2) build gfa using minigraph, 3) convert gfa to vg to json using vg.
The error occurs in a small subset of the graph here. Thanks!

The steps to create graph is 1) de novo assembly, 2) build gfa using minigraph, 3) convert gfa to vg to json using vg.
The error occurs in a small subset of the graph here. Thanks!


Add sub_camera_view, enabling sheared projection

Objective

This PR fixes #12488

Solution

This PR adds a new property to Camera that emulates the functionality of the setViewOffset() API in three.js.
When set, the perspective and orthographic projections will restrict the visible area of the camera to a part of the view frustum defined by offset and size.

Testing

In the new camera_sub_view example, a fixed, moving and control sub view is created for both perspective and orthographic projection
Run the example with cargo run --example camera_sub_view
The code can be tested by adding a SubCameraView to a camera

Showcase

Left Half: Perspective Projection
Right Half: Orthographic Projection
Small boxes in order:

Sub view of the left half of the full image
Sub view moving from the top left to the bottom right of the full image
Sub view of the full image (acting as a control)

Large box: No sub view

Shortened camera setup of `camera_sub_view` example
    // Main perspective Camera
    commands.spawn(Camera3dBundle {
        transform,
        ..default()
    });

    // Perspective camera left half
    commands.spawn(Camera3dBundle {
        camera: Camera {
            sub_camera_view: Some(SubCameraView {
                // Set the sub view camera to the left half of the full image
                full_size: uvec2(500, 500),
                offset: ivec2(0, 0),
                size: uvec2(250, 500),
            }),
            order: 1,
            ..default()
        },
        transform,
        ..default()
    });

    // Perspective camera moving
    commands.spawn((
        Camera3dBundle {
            camera: Camera {
                sub_camera_view: Some(SubCameraView {
                    // Set the sub view camera to a fifth of the full view and
                    // move it in another system
                    full_size: uvec2(500, 500),
                    offset: ivec2(0, 0),
                    size: uvec2(100, 100),
                }),
                order: 2,
                ..default()
            },
            transform,
            ..default()
        },
        MovingCameraMarker,
    ));

    // Perspective camera control
    commands.spawn(Camera3dBundle {
        camera: Camera {
            sub_camera_view: Some(SubCameraView {
                // Set the sub view to the full image, to ensure that it matches
                // the projection without sub view
                full_size: uvec2(450, 450),
                offset: ivec2(0, 0),
                size: uvec2(450, 450),
            }),
            order: 3,
            ..default()
        },
        transform,
        ..default()
    });

    // Main orthographic camera
    commands.spawn(Camera3dBundle {
        projection: OrthographicProjection {
          ...
        }
        .into(),
        camera: Camera {
            order: 4,
            ..default()
        },
        transform,
        ..default()
    });

    // Orthographic camera left half
    commands.spawn(Camera3dBundle {
        projection: OrthographicProjection {
          ...
        }
        .into(),
        camera: Camera {
            sub_camera_view: Some(SubCameraView {
                // Set the sub view camera to the left half of the full image
                full_size: uvec2(500, 500),
                offset: ivec2(0, 0),
                size: uvec2(250, 500),
            }),
            order: 5,
            ..default()
        },
        transform,
        ..default()
    });

    // Orthographic camera moving
    commands.spawn((
        Camera3dBundle {
            projection: OrthographicProjection {
              ...
            }
            .into(),
            camera: Camera {
                sub_camera_view: Some(SubCameraView {
                    // Set the sub view camera to a fifth of the full view and
                    // move it in another system
                    full_size: uvec2(500, 500),
                    offset: ivec2(0, 0),
                    size: uvec2(100, 100),
                }),
                order: 6,
                ..default()
            },
            transform,
            ..default()
        },
        MovingCameraMarker,
    ));

    // Orthographic camera control
    commands.spawn(Camera3dBundle {
        projection: OrthographicProjection {
          ...
        }
        .into(),
        camera: Camera {
            sub_camera_view: Some(SubCameraView {
                // Set the sub view to the full image, to ensure that it matches
                // the projection without sub view
                full_size: uvec2(450, 450),
                offset: ivec2(0, 0),
                size: uvec2(450, 450),
            }),
            order: 7,
            ..default()
        },
        transform,
        ..default()
    });

I like the feature and the code is good, but I think we need to do a better job explaining why users might care :)

@tychedelia

Seems like the code isn't taking into account scaling factor.
I'm not quite sure what you did to get this effect. I tried with_scale_factor_override but I could not reproduce the issue. Regarding the fixed sizes of the viewports and the window, there is an error when the viewport extends over the edges of the actual window. So to avoid this, and to avoid adding code for automatically scaling the viewports (so as not to distract from the core of the example), I chose to make the values fixed.

If you want, I can expand the example to include automatic scaling of the viewports.

Also, we can bikeshed this more later, but I don't like "sub view" naming. I'm not sure what the prior art is here, but I would minimally prefer something spelled out like "ViewSubset" or even just the offset terminology used in the linked api by three.js.

I would not like to use "ViewSubset", since subset implies a countable number of possible views and that the current view is one or more of them. I'd be happy to use the offset naming analogous to three.js though :)

Thanks for the careful documentation and patient responses to reviewers :) I'm happy with the state of this now: merging.


Why is this template better than the original one?

Just asking

I agree it makes sense to mention this in the documentation. I'll add a summary and/or a full feature comparison table to the docs.
Thanks for filing the issue.

I have now added a feature comparison page to the documentation: https://eiskis.gitbooks.io/vue-webpack-docs/overview/comparison.html
The project is not very mature yet so whether or not this template is "better" depends on what your needs are, and I tried to bring this up in the docs as well.
@ellipticaldoor If you feel something is missing or incorrect, feel free to reopen this issue.


signed webhooks + automatically assign to activejobs

add an option in the generator to automatically sign and verify webhooks in the lib
webhook controller has only one method which calls a job following a convention :
'conversations.user.replied' webhook calls ConversationUserRepliedJob.perform

@choran

Naming is odd, but feel free to 🚢 after fixing that.


Image Resize via Reference

Parsedown provides a way to reference images:
![sometext][image]

[image]: /sample.jpg

If you wanna extend Parsedown to also resize the image, you can just append the following snippet at the end of the main code:
class MyParsedown extends Parsedown
{
    protected function inlineImage($Excerpt)
    {
        $Inline = parent::inlineImage($Excerpt);

        if (!isset($Inline['element']['attributes']['title'])) { return $Inline; }

        $size = $Inline['element']['attributes']['title'];

        if (preg_match('/^\d+x\d+$/', $size)) {
            list($width, $height) = explode('x', $size);

            if($width > 0) $Inline['element']['attributes']['width'] = $width;
            if($height > 0) $Inline['element']['attributes']['height'] = $height;

            unset ($Inline['element']['attributes']['title']);
        }

        return $Inline;
    }
}

Then you can resize images like that:
![sometext][image]

[image]: /sample.jpg '100x100'

Question
There are some situations which would also be helpful the following syntax:
![sometext][image '100x100']

[image]: /sample.jpg

Any idea how to include such feature into Parsedown?

I would do the query string method instead. And use that queries to update the URL path before it is being removed.
// [.path/to/image.jpg, width=72&height=72]
$data = $Inline['element']['attributes']['src'];
$a = explode('?', $data, 2);
if (isset($a[1])) {
    parse_str($a[1], $attr);
    $Inline['element']['attributes'] = array_replace($Inline['element']['attributes'], $attr]);
    $Inline['element']['attributes']['src'] = $a[0];
}
return $Inline;

Or use literal attribute syntax using my extension like this:
![image](./path/to/image.jpg) {width=72 height=72}

// [.path/to/image.jpg, width=72&height=72]

Currently, I'm using a modified version of Parsedown (as explained in the OP) that accepts resizing images according the following syntaxes:
1. Inline Image
![Markdown Logo](/md.png "100x100")

2. Reference Image
![Markdown Logo][image]
[image]: /md.png "100x100"

I'm looking for ways to extend such syntax of reference image, to something like:
3. Reference Image Alternative
![Markdown Logo][image "100x100"]
[image]: /md.png

However, if I understood properly, the method you've posted would create an additional syntax for inline images instead for reference images:
![Markdown Logo][/md.png, width=100&height=100]

If this is indeed the case, unfortunately it doesn't address the issue of the OP.

Do you agree?

No. My code utilize the URL query from the image itself. So, no need to invent new syntax:
1. Inline Image
![Markdown Logo](/md.png?width=100&height=100 "You can still add title here")

2. Reference Image
![Markdown Logo][image]
[image]: /md.png?width=100&height=100 "You can still add title here too"

It also backward-compatible to other parser. So, if you decided to use another markdown parser, the automatic width and height attribute created by the code snippet above will disappear, and the URL query will still there, in the image URL. But it will not break the image because after all it just a query string. You could use URL hash as well:
[Test Image](./path/to/image.png#100x100)

And get the image dimension from explode('#', $Inline['element']['attributes']['src'], 2)[1] ?? "";

1. Inline Image
![Markdown Logo](/md.png?width=100&height=100 "You can still add title here")

2. Reference Image
![Markdown Logo][image]
[image]: /md.png?width=100&height=100 "You can still add title here too"

Ok, this syntax is fine for me too. Moreover, I agree with you that there are several advantages using it instead of the one I posted in the OP.
The only thing still not clear to me is what would be your proposal for the alternative reference image? Are you considering something like:
3. Reference Image Alternative
![Markdown Logo][image#100x100]
[image]: /md.png "You can still add title here too"

Correct?

The only thing still not clear to me is what would be your proposal for the alternative reference image?

I don’t know. Your style is better IMO. It just that I feel a bit wrong in adding new syntax to the existing markdown syntax. It would be better to create another syntax as a whole, something like defining new prefix for different media:
+[foo][bar "100x100"]
-[foo][bar "100x100"]
@[foo][bar "100x100"]
$[foo][bar "100x100"]
&[foo][bar "100x100"]
%[foo][bar "100x100"]
#[foo][bar "100x100"]
~[foo][bar "100x100"]
>[foo][bar "100x100"]
=[foo][bar "100x100"]

@tovic

Your style is better IMO.

Note: This is not my style. I just copy&paste other's idea.
Ok, in that case I'm gonna propose the following syntaxes:
1. Inline Image
![Markdown Logo](/md.png "100x100")

2. Reference Image
![Markdown Logo][image]
[image]: /md.png "100x100"

3. Reference Image Alternative
![Markdown Logo][image "100x100"]
[image]: /md.png

In my opinion, the main advantages of this proposal are:

syntaxes 1 and 2 are already implemented (see OP)
additional coding would have to focus only in syntax 3
these 3 syntaxes are pretty consistent among each other and still simple enough (no additional verbose)

Question
Any idea how to code that?

@tovic
The part of the code that seems to be related with this issue is (L1434 IF statement):
if (preg_match('/^\s*\[(.*?)\]/', $remainder, $matches))
{
    $definition = strlen($matches[1]) ? $matches[1] : $Element['handler']['argument'];
    $definition = strtolower($definition);
    $extent += strlen($matches[0]);
}
else
{
    $definition = strtolower($Element['handler']['argument']);
}

According to Regex Online Tester, ^\s*\[(.*?)\] matches expressions that begins with [] like:
[image]
     [image]

Therefore, the focus should be in trying to make this part also recognize patterns like [alt][name "w x h"].

So far, do you agree?

So you really want to rollup your language syntax then. Let me give you a clue. The first results to the regex above (the (.*?) part) is anything match between the square bracket. So, in the code above, $matches[1] would match name "w x h". So you could do something like this:
list($id, $sizes) = explode(' ', $matches[1], 2); // First part is the reference ID, second part is for the sizes
$sizes = trim(trim($sizes), '\'"'); // Remove quotes

list($width, $height) = explode('x', $sizes); // Get width and height

// Then you need to put that `$id` somewhere to maps the data to the corresponding placement. Example:
$definition = strtolower($id);

@tovic

So you really want to rollup your language syntax then.

If you have another syntax proposal, please let me know. As long as is simple and consistent, for me is just fine. I could easily go on with something like:
1. Inline Image
![Markdown Logo]md.png?width=100&height=100 "You can still add title here")

2. Reference Image
![Markdown Logo][image]
[image]: /md.png?width=100&height=100 "You can still add title here too"

3. Reference Image Alternative
![Markdown Logo][image#100x100]
[image]: /md.png "You can still add title here too"

However, as you mentioned: "Your style is better IMO". Therefore, I just followed your advice.

@tovic
I've just replaced the following lines:
if (preg_match('/^\s*\[(.*?)\]/', $remainder, $matches))
{
	$definition = strlen($matches[1]) ? $matches[1] : $Element['text'];
	$definition = strtolower($definition);

	$extent += strlen($matches[0]);
}
else
{
	$definition = strtolower($Element['text']);
}

With:
if (preg_match('/^\s*\[(.*?)\]/', $remainder, $matches))
{
	if(preg_match('/(.*?) \"\d+x\d+\"$/', $matches[1]))
	{
		$xmatches = explode(' "', $matches[1], 2);
		if(isset($xmatches[1]))
		{
			list($id, $size) = $xmatches;
			$size = trim(trim($size), '\'"');

			if (preg_match('/^\d+x\d+$/', $size))
			{
				list($width, $height) = explode('x', $size);

				if($width > 0) $Element['attributes']['width'] = $width;
				if($height > 0) $Element['attributes']['height'] = $height;
			}

			$definition = strtolower($id);

		}
	}
	else
	{
		$definition = strlen($matches[1]) ? $matches[1] : $Element['text'];
		$definition = strtolower($definition);
	}

	$extent += strlen($matches[0]);
}
else
{
	$definition = strtolower($Element['text']);
}

This way, the following syntaxes are now working:
![Markdown Logo][shortname "100x100"]
[shorname]: /md.png

![Markdown Logo][long image name "100x100"]
[long image name]: /md.png

Although the code seems to be working fine, it also seems to be overly complicated.
Let me know what you think.

[...] It also seems to be overly complicated.

No it is’t. It is good. Just maybe you can remove this line as it has been checked in the second if.
if (preg_match('/^\d+x\d+$/', $size)) { ... }

Was this implemented in https://github.com/erusev/parsedown?


GNU GRUB can't load

So I created a parody OS and tested it in Virtual x86 and it can't boot. The specs that I set were:

256 MB RAM
16 MB vRAM

And it does not boot. It just stays saying Booting from CD/DVD... I don't know if this is an issue of the vRAM or something!
In QEMU it works lovely.
A screenshot of the Virtual x86 VM:

A screenshot of the QEMU VM:

(Yes, I use Comic Sans on my Host.)

Should be fixed now.

Should be fixed now.


EoT is not accounting for transformations in backward pass

Describe the bug
Currently, the loss and class gradient calculations for EoT account for transformations only in the forward pass. This is inconsistent with the definition e.g. in https://arxiv.org/pdf/1802.00420.pdf, Section 4.2.
To Reproduce
This is revealed by a static code analysis: l.90 and l.108 in https://github.com/IBM/adversarial-robustness-toolbox/blob/master/art/wrappers/expectation.py
Expected behavior
Transformations ought to be accounted for in the backward pass.
Screenshots
N/A
System information (please complete the following information):
This is a system-independent bug in the implementation of EoT

Hi @mathsinn Thank you very much for opening this issue!

hi @beat-buesser @mathsinn are you still considering this a bug?
I don't see any related commits to the code since this issue was opened.
I admit it's not clear to me why the implementation wouldn't work as is.
Why would you need to change anything about the backward pass?
The transformations are already accounted for, in the sense that eager mode includes those computations in the graph.
It is true that BPDA as defined in section 4.1.2 of the paper @mathsinn cites propose to replace a layer f(x) with another layer on the backward pass. Is that what you're referring to?
But I don't think that's related to EOT, which as I understand it is just math justifying why you can still generate adversarial examples using gradient descent, even if the defender applies random transforms. Happy to hear what I'm getting wrong tho

I did just try a Carlini-Wagner L2 attack against a classifier wrapped in EoT, and none of the attacks were successful ...
but it's really not clear to me if I'm defining the iterator the right way.
I'm trying to follow the example from the tests that uses FGSM

Hi @Embeddave
If you look e.g. at this line in the loss gradient function: https://github.com/Trusted-AI/adversarial-robustness-toolbox/blob/main/art/wrappers/expectation.py#L98
What the issue refers to is that we aren't explicitly taking into account the gradients of the transformation function. Instead, implicitly, we apply BPDA with the straight-through estimator. This will work reasonably well in cases where the transformation functions can be approximated by the identity function; also it supports taking expectations over classifiers' inherent randomness, e.g. if drop-out is used at inference time. In general however this approximation may be too coarse and is a deficiency that we shall address in a future release of ART.
Re your specific use case where EoT attacks weren't successful: could you share more details on how you are using the iterator?

thank you @mathsinn that helps.
I think I see now why EOT needs to account for the transformation in the backward pass: in practice we take the expectation of the gradient, so we need a transform that's differentiable (or an approximation like in BPDA).
It's clearer to me from the Athalye 2081 notation (like in section 4.2) than from "Synthezing Robust Adversarial Examples"
Here's a code snippet of how I'm using it -- please let me know if I'm not setting things up right
Copied from this test
https://github.com/Trusted-AI/adversarial-robustness-toolbox/blob/307f7c9ec255c9c3594a9e57c82a2b9064c69843/tests/wrappers/test_expectation.py#L68
Sorry this is so verbose, trying to give you any info about set-up that I might be getting wrong -- mainly not sure if I define the iterator correctly
from collections import defaultdict
import functools

from art.attacks.evasion.carlini import CarliniL2Method
from art.estimators.classification import PyTorchClassifier
from art.wrappers.expectation import ExpectationOverTransformations
import numpy as np
from torch import nn
from torch.optim import SGD
from tqdm import tqdm

resnet = resnet50()  # pre-trained from Madry lab `robustness` library
test_loader = get_loader()  # from `robustness`
normalizer = get_normalizer()  # again from `robustness`

optimizer = SGD(resnet.parameters())
criterion = nn.CrossEntropyLoss()
mean = np.asarray(CIFAR10_MEAN).reshape((3, 1, 1))
std = np.asarray(CIFAR10_STD).reshape((3, 1, 1))
clf_art = PyTorchClassifier(
    model=resnet,
    clip_values=(0., 1.),
    loss=criterion,
    optimizer=optimizer,
    input_shape=(3, 32, 32),
    nb_classes=10,
    preprocessing=(mean, std)
)

BATCH_SIZE = 4
cw_attack = CarliniL2Method(classifier=clf_art, batch_size=BATCH_SIZE)

PARAM = 0.25
# pre-processing defense transform is a distant cousin of total variance minimization
# we wrap it in functools.partial so we can set params
_tv_like = functools.partial(our_package.tv_like, param=PARAM)

def transformation():
    yield _tv_like

eot = ExpectationOverTransformations(classifier=clf_art, sample_size=1, transformation=transformation)
cw_eot = CarliniL2Method(classifier=eot, batch_size=BATCH_SIZE)

DEVICE = 'cuda'
correct = defaultdict(list)
for batch_num, batch in enumerate(tqdm(test_loader)):
    if batch_num > N_TEST_BATCHES:
        break

    # measure unattacked accuracy
    x, y = batch[0].to(DEVICE), batch[1].to(DEVICE)
    with torch.no_grad():
        y_pred = resnet(normalizer(x)).argmax(dim=1)
    correct['x'].extend(
        (y_pred == y).cpu().numpy().tolist()
    )

    # attack tv_like with Carlini Wagner using Expectation over Transformation
    x_cw_eot = cw_eot.generate(x)
    x_cw_eot_tensor = torch.from_numpy(x_cw_eot).to(DEVICE)
    with torch.no_grad():
        y_pred = resnet(normalizer(x_cw_eot_tensor)).argmax(dim=1)
    correct['x_cw_eot'].extend(
        (y_pred == y).cpu().numpy().tolist()
    )

which gives me
for k, v in correct.items():
    print(f'{k} : num correct: {sum(v)}, percent: {(sum(v) / len(v)) * 100}')

x : num correct: 16, percent: 100.0
x_cw_eot : num correct: 16, percent: 100.0

... which is surprising since I know CW attack does have some success rate on our defense when I am not using the EOT wrapper

@Embeddave Thank you for sharing! Can you say a bit more about the type of transformations in our_package.tv_like? In particular:

are those transformations stochastic? I.e. will the iterator always return the same function, or is there some inherent randomness?
I suppose those transformations will map inputs onto the same domain (3x32x32)? Do they roughly act like the identity (e.g. like JPEG compression preprocessing they slightly alter the input, but the identify function is a good approximation)?

are those transformations stochastic? I.e. will the iterator always return the same function, or is there some inherent randomness?

the function is the same but it performs a reconstruction in a stochastic manner

Do they roughly act like the identity (e.g. like JPEG compression preprocessing they slightly alter the input, but the identify function is a good approximation)?

whether or not g(x) ~ x is debatable, but I think it's fair to say in our case the identity function is a less good approximation than it is to TVM
so, an attacker would need to approximate our defense w/something differentiable.
The problem is that even for something where g(x)~x holds, like TVM, I don't find any implementations, e.g. in the obfuscated-gradients repo, where they meaningfully perform EOT. Instead it appears to be the case that people just take a "mean with a sample size of 1", i.e. they just apply gradient descent to a single image that's transformed once for every step. Would love to find out I'm wrong so I can better understand how their attack works. An exception is patch attack but of course there we've given up on staying within some epsilon ball.

Ok, since your function has a stochastic element, a sample_size>1 may be needed to generate adversarial examples that transfer across the different reconstructions. The minimum appropriate value for sample_size depends on the distribution of the reconstructions. Maybe start with a sample_size as large as you can computationally afford on a small batch, see whether it works, and if yes then you could try reducing it.

will do, thank you @mathsinn

Expectation over Transformation operations accounting for transformations/gradients in backward passes should now be supported with art.preprocessing.expectation_over_transformation starting from ART 1.5.0.


Fix improper grammar in Dutch i18n file

Grammar is incorrect when maximum is 1, 'kunnen' should be 'kan' in that case.

Line too long, closing/fixing/rerequesting.


Add modal fade option

Added the fade option in modal, default is set to true to not break the current behaviour.

You want to add true/false to the class?

I wanted to add the ability to remove the "fade" class on the

 by changing newOverlay[setAttribute]('class',modalBackdropString+' fade'); to newOverlay[setAttribute]('class', modalBackdropString + (self[animation] ? ' fade' : ''));.

I think an "auto" mode would suffice much better. Think about this:
if (hasClass(modal,'fade')) // also add fade class to the backdrop

We don't change the original plugin options while adding a simple fail safe mechanism.
What do you think?

I don't understand the "auto mode". How / where do you set or remove the fade ?

Basically we change this
this[animation] = options[animation] === false || modal[getAttribute](animation) === 'false' ? false : true;

to this
this[animation] = hasClass(modal,'fade') ? true : false;

Okay, now I understand !
Yeah, I think your solution is better : keeping it out of options and managed by class ! I'll update my PR 👍 .

This will require additional tinkering for the case when opening another modal from a currently opened modal. The first example of our demo shows that the
 with/without the fade class will hide the backdrop.

Done. Please download latest master and give it a try, I'm interested in the modal original events and opening modal from another modal.


Bug: Right click menu mouse pointer error

Description
When clicking on the right-click menu, the pointer will show a scaled pointer. Moving the mouse once will restore the default mouse pointer
There is one more small question When starting the computer, the software does not display on the screen and runs in the background. it will display on the screen, which is a bit uncomfortable. If I don't turn it on, it will start up slowly every time I turn it on for the first time
Steps To Reproduce
Right click
Requirements
repair
Files Version
<IP_ADDRESS>
Windows Version
10.0.22631.2861
Log File
debug.log

@hishitetsu fyi

@daishanrenL can you upload a screenshot/screen recording showing what you mean?

@daishanrenL can you upload a screenshot/screen recording showing what you mean?

Forgot to upload, sorry

Are you by any chance using a custom cursor? It might have something to do with that as I haven't been able to repro this behavior and the cursor doesn't look familiar.

@daishanrenL


Fix --selective-upgrade compatibility with Python 2

list.copy() is equivalent to list[:], but the former is only available in Python 3.

Whoops, just reported this as #1559
Reviewing the code, actually copying the list seems redundant - just enumerate(package_list) should be fine.

The loop changes itself at line 1851. It does not matter here, but in general it is always recommended you loop through a copy if you ever do that, just to be safe. This looks good to me and I’ll merge as-is.


Produce Actions warnings for HASS configuration check warnings

Subject of the feature
It would be really helpful if warnings produced by the HASS configuration check were reflected as GitHub Actions warnings.
Problem
It's easy to miss non-fatal warnings in action runs if you don't investigate manually. For instance:
WARNING:homeassistant.components.pi_hole:The 'pi_hole' option is deprecated, please remove it from your configuration
WARNING:homeassistant.components.speedtestdotnet:The 'speedtestdotnet' option is deprecated, please remove it from your configuration

Expected behavior
An example from an unrelated repository which outputs Actions warnings from PSScriptAnalyzer:

Alternatives
Checking each action run manually. This can be time consuming and mildly frustrating, especially when running checks against multiple versions.
No biggy, just a cool idea I had.

Not stale.


Assess adding inland and coastal flooding

Source - https://www.epa.gov/cira/technical-appendices-and-data
Add to Climate Change

Awaiting CIRA meeting

Followed up with first street foundation

data is here: https://fsf-external.s3.us-east-1.amazonaws.com/epa/fsf_tract_cejst.zip?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIATP7OWESRUZDWJNX3%2F20220725%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20220725T211444Z&X-Amz-Expires=604800&X-Amz-SignedHeaders=host&X-Amz-Signature=b8d153418a234bfdb86f0b7b51f665a289cc81bc32c4b8ddc3862e88d79cc4ab

Extremely preliminary analysis complete -- waiting to refine.