Replace wallet balance and scan progress FFIs with a "wallet summary" FFI

While recovering from seed in the Zashi Android beta on a OnePlus 8 Pro, it appears to take around 2-3s per 100 blocks. From the rate of progression of debug log output, the time when no log output is being generated in that interval is split roughly equally across these four log lines (i.e. roughly half a second pause before the log line appears):

StartedLazily.emit(): Scan stage done with result: SyncStageResult(batch=BlockBatch(order=[..], range=[..], blocks=100), stageResult=SyncingResult$ScanSuccess)
CompactBlockProcessor.emit(): Progress from rust: [..]
CompactBlockProcessor.getBalanceInfo(): Found total balance: Zatoshi(value=[..])
CompactBlockProcessor.getBalanceInfo(): Found available balance: Zatoshi(value=[..])

All four of these correspond to FFI crossings, which turn out to be rather expensive (due to loading the SQLite WalletDb from disk each call and then closing it before returning).
However, three of these are fetching information that we now provide via a single Rust API: WalletRead::get_wallet_summary. We can therefore cut the number of slow FFI calls in the scanning cycle from 4 to 2 by merging three of them into a single "wallet summary" FFI call, which will likely double scan performance in the non-sandblasting regions of the chain.

Conveniently, the balance and scan progress FFI calls that are inline with the scanning cycle are all made adjacently:
https://github.com/zcash/zcash-android-wallet-sdk/blob/3d6e3161d5628d6285e1ee667a0d90c0685f1e33/sdk-lib/src/main/java/cash/z/ecc/android/sdk/block/processor/CompactBlockProcessor.kt#L463-L472
https://github.com/zcash/zcash-android-wallet-sdk/blob/3d6e3161d5628d6285e1ee667a0d90c0685f1e33/sdk-lib/src/main/java/cash/z/ecc/android/sdk/block/processor/CompactBlockProcessor.kt#L565-L574
So we can rework this to instead use a single FFI call and fill in the relevant data appropriately.


Tokens used as values result in an error

Consider the following code excerpt:
49F4A5871C583A25007C84A1 /* files */ = {
    isa = PBXGroup;
    children = (
    );
    name = files;
    sourceTree = "<group>";
};

Because files is a token it will cause the following error:
mismatched input 'files' expecting {QUOTED_STRING, NON_QUOTED_STRING}
It appears as though using any tokens for these values causes the same error.

Should be fixed in 2.1.2! 🎉


Microsoft.KeyVault/vaults access policies

Describe the noise
When managing multiple key vaults from az devops pipeline, we have added a step to validate incoming changes prior to release to production. But we have noticed that we spend a lot of time to validate the "what-if" step, even for minor changes as adding/removing an access policy since the order(?) shifts.
Resource Type Microsoft.KeyVault/vaults
apiVersion 2016-10-01
Client (PowerShell, Azure CLI, or API) pwsh and az cli
Relevant ARM Template code (we only need the resource object for the above resourceType and apiVersion, but if it's easier you can include the entire template
Example:  properties.accessPolicies[1] is removed. This causes subsequent access policies to "reorder" and output as changes.
Expected response (i.e. "I expected no noise since the template has not been modified since the resources were deployed)
Expect to see that properties.accessPolicies[1] is deleted. Not that all other access policies have switched permissions and objectIds that in the end result in no change.
Current (noisy) response (either include a screenshot of the what-if output, or copy/paste the text)

Additional context
Add any other context about the problem here.

Will likely be solved with #62

I've searched the issues here and this looks to be closed I can find to my issue.
Any discussion so far around ignoring Array's such as Access Policies? I consider access policies to be data, rather than infrastructure, but I appreciate how people may disagree. I want to ignore access policies as part of the What-If, that I think I can do by looping through the changes and ignoring the changes.delta.path when it equals properties.accessPolicies, but I'm curious if others have also run into this.

Do you have any idea if #62 will be prioritized @alex-frankel?

We don't have any timeline for implementing #62


disallow most of /download/

/cc @johnkpaul - thanks for pointing this out, disallowing /dist/, which it already did, is effectively the same as disallowing /download/ that has been newly introduced since v4.

LGTM
Linking with #152


test_sparse_operator.py::test_elemwise_binary_ops

Description
Tests crashes affecting multiple PRs: https://github.com/apache/incubator-mxnet/pull/18711 https://github.com/apache/incubator-mxnet/pull/18694 https://github.com/apache/incubator-mxnet/pull/18722 https://github.com/apache/incubator-mxnet/pull/18733
[2020-07-15T23:41:55.453Z] Fatal Python error: Aborted
[2020-07-15T23:41:55.453Z]
[2020-07-15T23:41:55.453Z] Thread 0x00007f6de68a6700 (most recent call first):
[2020-07-15T23:41:55.453Z]   File "/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/execnet/gateway_base.py", line 400 in read
[2020-07-15T23:41:55.453Z]   File "/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/execnet/gateway_base.py", line 432 in from_io
[2020-07-15T23:41:55.453Z]   File "/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/execnet/gateway_base.py", line 967 in _thread_receiver
[2020-07-15T23:41:55.453Z]   File "/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/execnet/gateway_base.py", line 220 in run
[2020-07-15T23:41:55.453Z]   File "/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/execnet/gateway_base.py", line 285 in _perform_spawn
[2020-07-15T23:41:55.453Z]
[2020-07-15T23:41:55.453Z] Current thread 0x00007f6de857a740 (most recent call first):
[2020-07-15T23:41:55.453Z]   File "/work/mxnet/python/mxnet/_ctypes/ndarray.py", line 178 in __call__
[2020-07-15T23:41:55.453Z]   File "/work/mxnet/python/mxnet/executor.py", line 184 in forward
[2020-07-15T23:41:55.453Z]   File "/work/mxnet/python/mxnet/test_utils.py", line 937 in numeric_grad
[2020-07-15T23:41:55.453Z]   File "/work/mxnet/python/mxnet/test_utils.py", line 1088 in check_numeric_gradient
[2020-07-15T23:41:55.453Z]   File "/work/mxnet/tests/python/unittest/test_sparse_operator.py", line 312 in test_elemwise_binary_op
[2020-07-15T23:41:55.453Z]   File "/work/mxnet/tests/python/unittest/test_sparse_operator.py", line 417 in check_elemwise_binary_ops
[2020-07-15T23:41:55.453Z]   File "/work/mxnet/tests/python/unittest/test_sparse_operator.py", line 520 in test_elemwise_binary_ops
[2020-07-15T23:41:55.453Z]   File "/work/mxnet/tests/python/unittest/common.py", line 223 in test_new
[2020-07-15T23:41:55.453Z]   File "/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/_pytest/python.py", line 167 in pytest_pyfunc_call
[2020-07-15T23:41:55.453Z]   File "/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/pluggy/callers.py", line 187 in _multicall
[2020-07-15T23:41:55.453Z]   File "/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/pluggy/manager.py", line 87 in <lambda>
[2020-07-15T23:41:55.453Z]   File "/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/pluggy/manager.py", line 93 in _hookexec
[2020-07-15T23:41:55.453Z]   File "/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/pluggy/hooks.py", line 286 in __call__
[2020-07-15T23:41:55.453Z]   File "/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/_pytest/python.py", line 1445 in runtest
[2020-07-15T23:41:55.453Z]   File "/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/_pytest/runner.py", line 134 in pytest_runtest_call
[2020-07-15T23:41:55.453Z]   File "/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/pluggy/callers.py", line 187 in _multicall
[2020-07-15T23:41:55.453Z]   File "/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/pluggy/manager.py", line 87 in <lambda>
[2020-07-15T23:41:55.453Z]   File "/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/pluggy/manager.py", line 93 in _hookexec
[2020-07-15T23:41:55.453Z]   File "/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/pluggy/hooks.py", line 286 in __call__
[2020-07-15T23:41:55.453Z]   File "/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/_pytest/runner.py", line 210 in <lambda>
[2020-07-15T23:41:55.453Z]   File "/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/_pytest/runner.py", line 237 in from_call
[2020-07-15T23:41:55.453Z]   File "/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/_pytest/runner.py", line 210 in call_runtest_hook
[2020-07-15T23:41:55.453Z]   File "/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/flaky/flaky_pytest_plugin.py", line 129 in call_and_report
[2020-07-15T23:41:55.453Z]   File "/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/_pytest/runner.py", line 99 in runtestprotocol
[2020-07-15T23:41:55.453Z]   File "/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/_pytest/runner.py", line 84 in pytest_runtest_protocol
[2020-07-15T23:41:55.453Z]   File "/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/flaky/flaky_pytest_plugin.py", line 92 in pytest_runtest_protocol
[2020-07-15T23:41:55.453Z]   File "/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/pluggy/callers.py", line 187 in _multicall
[2020-07-15T23:41:55.453Z]   File "/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/pluggy/manager.py", line 87 in <lambda>
[2020-07-15T23:41:55.453Z]   File "/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/pluggy/manager.py", line 93 in _hookexec
[2020-07-15T23:41:55.453Z]   File "/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/pluggy/hooks.py", line 286 in __call__
[2020-07-15T23:41:55.453Z]   File "/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/xdist/remote.py", line 87 in run_one_test
[2020-07-15T23:41:55.453Z]   File "/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/xdist/remote.py", line 70 in pytest_runtestloop
[2020-07-15T23:41:55.453Z]   File "/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/pluggy/callers.py", line 187 in _multicall
[2020-07-15T23:41:55.453Z]   File "/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/pluggy/manager.py", line 87 in <lambda>
[2020-07-15T23:41:55.453Z]   File "/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/pluggy/manager.py", line 93 in _hookexec
[2020-07-15T23:41:55.453Z]   File "/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/pluggy/hooks.py", line 286 in __call__
[2020-07-15T23:41:55.453Z]   File "/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/_pytest/main.py", line 247 in _main
[2020-07-15T23:41:55.453Z]   File "/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/_pytest/main.py", line 197 in wrap_session
[2020-07-15T23:41:55.453Z]   File "/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/_pytest/main.py", line 240 in pytest_cmdline_main
[2020-07-15T23:41:55.453Z]   File "/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/pluggy/callers.py", line 187 in _multicall
[2020-07-15T23:41:55.453Z]   File "/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/pluggy/manager.py", line 87 in <lambda>
[2020-07-15T23:41:55.453Z]   File "/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/pluggy/manager.py", line 93 in _hookexec
[2020-07-15T23:41:55.453Z]   File "/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/pluggy/hooks.py", line 286 in __call__
[2020-07-15T23:41:55.453Z]   File "/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/xdist/remote.py", line 258 in <module>
[2020-07-15T23:41:55.453Z]   File "/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/execnet/gateway_base.py", line 1084 in executetask
[2020-07-15T23:41:55.453Z]   File "/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/execnet/gateway_base.py", line 220 in run
[2020-07-15T23:41:55.453Z]   File "/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/execnet/gateway_base.py", line 285 in _perform_spawn
[2020-07-15T23:41:55.453Z]   File "/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/execnet/gateway_base.py", line 267 in integrate_as_primary_thread
[2020-07-15T23:41:55.453Z]   File "/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/execnet/gateway_base.py", line 1060 in serve
[2020-07-15T23:41:55.453Z]   File "/opt/rh/rh-python36/root/usr/lib/python3.6/site-packages/execnet/gateway_base.py", line 1554 in serve
[2020-07-15T23:41:55.453Z]   File "<string>", line 8 in <module>
[2020-07-15T23:41:55.453Z]   File "<string>", line 1 in <module>
[2020-07-15T23:41:55.453Z] [gw0] [ 95%] PASSED tests/python/unittest/test_sparse_ndarray.py::test_sparse_getnnz
[2020-07-15T23:41:55.707Z] tests/python/unittest/test_sparse_operator.py::test_elemwise_binary_ops
[2020-07-15T23:41:55.707Z] [gw0] node down: Not properly terminated
[2020-07-15T23:41:55.707Z] [gw0] [ 95%] FAILED tests/python/unittest/test_sparse_operator.py::test_elemwise_binary_ops
[2020-07-15T23:41:55.707Z]
[2020-07-15T23:41:55.707Z] replacing crashed worker gw0
[2020-07-15T23:41:56.266Z]
[gw4] linux Python 3.6.9 cwd: /work/mxnet
[2020-07-15T23:41:58.149Z]

I had some success with marking this test with @pytest.mark.serial without understanding the underlying issue, or why this action fixed it.  Could someone enlighten me, what do the serial-marked tests do that force them to be run serially?  Are the pytest workers all in the same process?

The pytest workers are all in separate processes. I'm only aware of the difference that OMP_NUM_THREADS=$(expr $(nproc) / 4) is exported before running the parallel pytest processes for non-serial tests.


Add more documentation for traineddata target

Signed-off-by: Stefan Weil<EMAIL_ADDRESS>

https://github.com/stweil/tesstrain shows how the result looks like.


Upgrade GHC 8.6.3 to 8.6.4

related to #87

I just want to point out that now there is GHC 8.6.5.


Add localization of imu

Use spaces instead of tabs, and add imu transform

Kevin says location is somewhere else now, so this is not super helpful.


Add a method to run comparisons between different models from same/different hubs

model 		      | Hub | 	     |Test-name|
ner.dl                        jsl                      0.8            > Green/Red if it passed for fail
en_core_web_sm        spacy              0.7

If the test passes, format test column cell with green background. Otherwise red.


Autocomplete for channels should maybe only show channels for current server

Current behaviour:
Autocomplete shows the list of channels across all servers that I'm connected to when I type #
Is it possible that only the channels for the current server to be displayed (since referencing someone to a channel in another server is not usual I think).
How does this suggestion sound? I might also be able to help out if needed.

Am definitely a fan 👍

Is it reasonable/useful if I come up with a PR for this idea?

Hi @milindl! I would wait for @xPaw to give his opinion on this before jumping on it.
I admit that I often use this "feature" myself, but it's more of a development/testing purpose, so I don't want this to impact the decision. Whatever @xPaw recommends will be fine by me, but I'm pretty sure he'll agree with you.


Allow to override AWS Credentials

We have projects that use AWS for integration tests, so they set their AWS credentials and are not able to access the BuildCache S3 bucket.
I've just added the 2 properties to allow people to use any credentials they want.
What I haven't figured out yet is how to test it's working.

@myniva ?

Thanks for your pull request! Could you please elaborate on your use case a little more and explain why using the default credentials chain does not work for you?

We are injecting environment variables in our Travis instances but some projects are already using their own credentials ( for example for accessing other services on integration tests ), so they override the S3 ones.
I'll fix the comments later today.

Please bump version to 0.7.0 in https://github.com/myniva/gradle-s3-build-cache/blob/master/version.properties#L2

done, changing the previous is not needed?


Add xfsprogs and fix azure pkg key for 1.10

https://github.com/rancher/rancher/issues/15141

We'll be adding this into only the Kubernetes 1.11 image as we will release only that version with our next 1.6 release


Cleanup multus config file 00-multus.conf when deleting daemonset

When multus daemonset is deleted the auto generated config file
00-multus.conf is left, when new pod created and uses that conf
cni file, it will fail because multus roles are removed
This patch cleanup multus conf file 00-multus to allow using previous
primary cni config file
Fixes #592

Pull Request Test Coverage Report for Build 420208531

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 70.797%

Totals

Change from base Build 413236067:
0.0%

Covered Lines:
1137

Relevant Lines:
1606

💛  - Coveralls

I've got to think on this one, but... I think it might need to be parameterized.

Mmduh, currently we think that it might be a better route for these customizations to go into a custom build and/or a modified yaml file.

Mmduh, currently we think that it might be a better route for these customizations to go into a custom build and/or a modified yaml file.


Move defs to numpy.h

The files we keep in stdlib/src will eventually end up in the output
distribution system path under types/. A .h/.ty file in there is
effectively a module in Acton (and we expect the object file in
libActon.a). This means that the code for a module should either be
contained to that single file (well, .c & .h & .act) or that we somehow
include more files in some other location.
In this case stdlib/src/numpy.h previously included numpy/init.h.
Without qualification, init.h would look like a module called init.
Clearly we can't have that. The numpy internal files need to be hidden
away and preferably, we want to package it up in such a way that what we
do at development time with source file doesn't need to bleed through
to the operational environment (the Acton system path).
We now achieve that by:

placing the entire interface of the numpy module in stdlib/src/numpy.h
instead of including 6 other header files

including those header files meant that we had to propagate them
into the final installed Acton system and... it's just messy

partially linking the numpy.o module so that we don't have to resolve
its dependencies (for example on libbsd) at actonc run time

This PR is not ready. If we decide to move forward with this proposal, we need to clean away the numpy/.h files since they are effectively now in stdlib/src/numpy.h. We could also build stdlib/src/numpy.h by concatenating the numpy/.h files together + some hackity hack.
Fixes #278.

Closing in preference of #293.


allow for simple exporting of bundles

scopes can be great, but let's also do something more simple, like this:
export * as FactoryContract from "./contracts/Factory.client";
export * as GovecContract from "./contracts/Govec.client";
export * as ProxyContract from "./contracts/Proxy.client";

https://github.com/nymlab/vectis/blob/b5698087fe08dade8b4ba9492889b6577369e478/cli/types/index.ts

[ ] there also may be an issue with using const?  @j0nl1 mentioned here: https://github.com/nymlab/vectis/pull/83#issuecomment-1210906177

I would say there is two different issues:

It doesn't export the types.
It say that we are trying to use the class as a type when it is a value.

I think what happens behind the scene when you are using the express operator, you are cloning the govecClient but without its prototype. It gives the object prototype and for that reason you can't use the type of the class, it ask you to use typeof govecClient, usually you have to do that with objects.

I think this is what happens in each scenario.
In first scenario is that you can't do spread operator for types, they will be removed because types can't be exported as constant, it should be as a module.
In second scenario what happens behind the scene when you are using the spread operator, you are cloning the govecClient but without its prototype because you are actually creating a new object. It gives the object prototype and for that reason you can't use the type of the class, it ask you to use typeof govecClient, usually you have to do that with objects.

wow thank you for the incredible details! I will be looking into this more ;)


chore(golangci-lint): fix lint errors

:tada: This issue has been resolved in version 1.0.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Feature: Don't show checkboxes until any item is selected

What feature or improvement do you think would benefit Files?
I'm uncomfortable with the empty checkboxes that appear just by hovering over an item. Simply not displaying this should greatly reduce discomfort.

If checkboxes appear after an item is selected, no functionality is lost.
Requirements

Checkboxes should not appear until any item is selected
If any item is selected, checkboxes should appear as in 2.4.60.

Files Version
<IP_ADDRESS>
Windows Version
Windows 11 22H2
Comments
No response

No, I mean clicking on a thumbnail or row to select it.

Should I make this change to the grid layouts as well? I feel that we should keep the behavior consistent but maybe this is an exception.

I believe the same is true for grid layouts.
It does not make sense for an empty checkbox to appear if other items aren't selected.


More robust check for dirty git repos

This check will mark the repo as dirty if there are any staged or unstaged changes. Currently the check fails if there are untracked files in the repo

Hey @junkafarian thanks for submitting this! Sorry it took so long for someone to look at it. I agree with what you are going for in this pull request, but I don't think this is the right way to do it. It is possible to make this distinction without doing git diff. My concern is that git diff adds another subprocess and can also be slow.

no worries, I'm sure there's a more performant way of doing the same thing, This was just the hack I was using locally at the time.


Add Support for EventLoopFuture

Added support for futures so we don't block the thread. I also have a PR to implement the rest of these changes in the other repo.

@AAAstorga this is great. thanks for submitting this PR.
Not sure if you noticed there is an existing PR for this change #44
Please take a look. The change you made is pretty much the same as what's in #44, but the bigger difference in #44 is that in addition to the send methods there is an http call in the MetaDataService when credentials are retrieved via IAM on ec2 instances and ecs containers. So createNioRequest needs to be executed async .wait() will still get called on the main thread.
The code changes in #44 account for this.
There is a branch https://github.com/swift-aws/aws-sdk-swift/tree/return_futures that was generated and also includes updates to documentation. Considering this is a rather significant change it is planned for a 3.0 release.
Assuming the changes in this pr are working for you, that's great. But if you want to take a look at #44 and offer some feedback or testing that would be really helpful. Also it's been awhile since that branch (and the return_futures branch) were rebased off their respective masters if you want to take a stab at that.


Maybe add a .toObject() on astronomy documents?

I am trying to do something like this:
Accounts.onCreateUser(function(options, user) {
  var astroUser = new User(user);
  astroUser.set({
    profile: options.profile
  });

  return astroUser.toObject();
});

I tried .plain() as well, but still got an error that its not defined. Do we have such a function? If not i think this is pretty basic. I would have just passed the astroUser variable but it would only take a plain object.
I would recommend having this function called as plain() and then alias the same in .toObject().
@jagi maybe this is less than 2 minutes of your time haha.

So for now, this is what i am getting by:
Accounts.onCreateUser(function(options, user) {
  var astroUser = new User(user);
  astroUser.set({
    profile: options.profile
  });

  return astroUser.get()._original;
});

It works cause its a new object, but you need to get this in.

I'm trying to using naming convention that is compatible with W3C standards. Non of the names plain(), toObject(), raw() fits into this naming convention. It's not always possible to find good equivalent name. However, I was thinking about using the valueOf() method name. Which by definition is:
The valueOf() method returns the primitive value of the specified object.

And valueOf the plain JavaScript object is plain JavaScript object. And valueOf the String("asd") is the "asd" string.

I found .raw() to be quite clear on what it's doing. For me, it's really saying that with it, you're only gonna get the raw data, and nothing else, while toObject() can have multiple interpretations...

@shadowRR yes It think that too

@jagi, you raise a good point with valueOf.
@shadowRR I don't have any issues with using .raw() just couldn't find it directly in the docs, don't know which i found out about it. I think if the docs have a page of the methods you get on a document object it would be easier to find these sort of functions. I just thought we could have a few aliases so it would be more easier for people to adopt this package.
I understand .toObject() is a bit vague in the sense of, which Object are we referring to here, but generally its assumed to be a plain object.

@talha-asad What do you mean by not finding it directly in the docs ? There is pretty much every standard methods you get in a class in the docs... Or maybe you're not going to the same place as me :
Astronomy Docs

@talha-asad I've used to think that providing several aliases is a good idea but I've received feedback from users that they don't like it. It caused confusion. "Which method should I use?", "Oh that's alias...", "It would be better just to force using one method name" etc. So I understand your point but as I said it may cause confusion.
Another very important thing is polluting a document instance. Right now we have quite a lot methods in a document instance and adding more of them can influence somebody's code. I've recently read about the problem of W3C with the Array.prototype.contains method. They couldn't introduce this method because many website are using some library that adds such method to the Array prototype. And adding such method by W3C would cause many websites to stop working. And they decided to change the name to Array.prototype.includes.
Right now in a document with only Astronomy code package added we have the following properties/methods (41):
_modifiers, _original, _isNew, save, remove, reload, copy, typeName, toJSONValue, _executeModifier, _addModifier, _clearModifiers, _hasModifier, _getModifier, _getModifiers, _removeModifier, _setDefault, _setOne, _setMany, set, _getOne, _getMany, get, _rawOne, _rawMany, _rawAll, raw, _pushOne, _pushMany, push, _popOne, _popMany, pop, _pullOne, _pullMany, pull, _incOne, _incMany, inc, getModified, isModified

Quite a lot. I'm planning to reduce this number to 20 or less in Astronomy 2.0:
_isNew, save, remove, reload, copy, typeName, toJSONValue, _setOne, _setMany, set, _getOne, _getMany, _getAll, get, _rawOne, _rawMany, _rawAll, raw, getModified, isModified

Think that better documentation is something that we need more right now. I will be working on it after 2.0 release. There is a lot of work that have to be done :)

@jagi Well explained. Thank you for putting in the time to clear this up. Love the work you have been doing. I hope to contribute to it someday, hopefully when i dive into the code. :+1:


How to let title display two lines?

How to let title display two lines or can set the sub title

I have same problem! Anyone can help me


White/Dark UI

Each of the two modes, makes certain things unreadable or colors inverted. For example light UI makes any custom image you place on condition effects having inverted colors. While the Dark UI makes some of the modules text like invisible.

Hi,
Could you please send a list of the modules that you are using/are being affected by this? Thanks!


Fix inconsistent tenant/activity test

The test relied on accessing IHttpActivityFeature after the request completed in order to extract the Activity to assert against.
However, the runtime (HostingApplication) actually sets the value of HttpActivityFeature.Activity to null after each request so that the HttpActivityFeature can be recycled.
This commit works around this behavior by copying the Activity into a custom feature.

Nice!


[urgent] fix: relying on specific behavior for List::iter

Discovered by @kbvernon: We removed this behaviour in #761, but it is used in List::iter. Basically, a StrIter can be initiated without any strings.
This points to StrIter being overloaded already, but we have to fix this bug sooner rather than later.
Here's the fix.

Whats the scenario where this bug occurs. What I am seeing here is that if we call next on StrIter where the thing implementing is a NULL then we return None. Rather, we want to return a missing value.
What I'm not tracking is how StrIter is available for a NULL Robj

The new method may construct a vector of a certain size with NA Strings. This is used when iterating over lists with values, but no names.
See the test for the behavior expected of striter.

Whats the scenario where this bug occurs. What I am seeing here is that if we call next on StrIter where the thing implementing is a NULL then we return None. Rather, we want to return a missing value.
What I'm not tracking is how StrIter is available for a NULL Robj

Reading your reply, I've come up with a different change.

An iterator over a NULL should return None.
An iterator started with StrIter::new should contain NA, and it should produce those based on provided len.
An iterator of len = 0 ought to contain NULL instead of an NA.

The test and the code now reflects this. Hopefully this addresses your comments @JosiahParry

Ah, I think this makes sense. because when you iterate over a list the iterator is (Rstr, Robj) where the first tuple element is possibly the name of the element. In most cases this is actually NULL which is why when I iterate through a list its most often done via (_, Robj)

@JosiahParry I believe this is also ready for review.
When it rains it pours.

The other R-devel CI failure is due to warnings (which are promoted to errors in our CI) of non-API usage. This is being dealt with in #809. I ask that those failures be ignored for now, as short of disabling errors on warnings, that is the only thing I can do to make it green.


Upload cleanup

Allow user to delete unmentioned keys by using phraseapp-client.
@tobstarr Please review.

@sbruhns no "real" blockers (except maybe the --yes as are creating some kind of API contract)

@tobstarr Thanks for your feedback. Change the --yes to confirm and ordered the keys before confirm. Is there a reason why to use append instead create a correct sized array and use it?

@sbruhns no, but there is also no real performance benefit so I tend to not use make. Also: using the make([]string, 0, len(ids) syntax with append leads basically to the same thing (as the second parameter is the capacity so that the slice is never changed)

@tobstarr: true, ids := []string{} is more readable, and it doesn't noticeably affect performance here, so I really don't mind either way in this case.


Mismatch between #if/#endif and namespace scope brackets in this_thread_executers.hpp

https://github.com/STEllAR-GROUP/hpx/blob/master/hpx/runtime/threads/executors/this_thread_executors.hpp
Note that the namespaces are declared inside a #if/#endif construct but the closing brackets are outside any such preprocessor scope.

Thanks! Would you mind preparing a patch for this?

Sure :), I'll push the namespaces into #if/#endif scope.

Here's a (hastily put together and untested) patch.
issue_2442.zip

@brandon-kohn Thanks for this. Could you turn that into a 'real' pull request here on github, please? Also, I think it would be sufficient to move the #endif here to the end of the file.

Done and done, hopefully I got the pull request correct. This is my first time collaborating through github in this way; so please bear with me.

Yes, all is well. For the requested changes, just keep pushing commits to the same branch it will show up on the pull request. Thanks!

This has been fixed by merging #2443


Supporting PKCE?

Hi.
So, I aplogize in advance if this is already present in the documentation as in that case I have failed to locate it properly. I have been looking through the docs and I am wondering if play-pac4j (and pac4j) supports PKCE. If PKCE is indeed supported, would you be so kind to direct me to the doc/code related to this?
Thanks

Next time, please ask your questions on the mailing list: https://groups.google.com/forum/?fromgroups#!forum/pac4j-users
We don't support PKCE for OAuth.

Are there any plans to?

None that I'm aware of.


Medium.com &  problems

Given this Medium.com article, after executing the following code:
downloaded_article = Article('https://medium.com/anthropology-and-algorithms/on-reverse-engineering-d9f5bae87812', keep_article_html=True)
downloaded_article.download()
downloaded_article.parse()
print(downloaded_article.article_html)

I will see only the first few paragraphs in the output. Looking at the structure of the HTML (DOM), I can see that the extraction did only the first <section> and stopped at the second one or maybe even <hr/> element. Skulking through the code I found this line which seems to be culprit. However, messing around with it in my fork of newspaper, I couldn't still make it work.
Anyone else have any ideas?

You are wrong.
This is the code responsible for selecting top_node from which later text is extracted.
In the case of medium articles, it is selecting only the first paragraph.
The code is a bit complicated so it takes time to understand what's going on. I'll come back to this in my free time.
Have you found anything else?

You are wrong.

Most assuredly. :) The hacking around with the allowed list didn't work at all for me, IIRC.
I have been able to reproduce it after this issue on many Medium articles. I will try to use your quick and dirty solution to see if it works as well on other Medium articles and report back here.


Fix update admin profile missing custom tabs

// Internal dev / qa flow only.
Critical Changes
Changes
Issues Closed
New Metadata
Deleted Metadata
Definition of Done
Refer to Asteroids DoD document to see any additional details for the items below
Any net new LWC work has Sa11y tests & 50% or above lines JEST test coverage
CRUD/FLS is enforced in Apex
Permission sets are updated to account for CRUD|FLS|Tab|Classes
Field sets are updated to account for new fields
UX approval or UX not necessary

[ ] Link the pull request and work item by PR comment and Chatter post respectively, e.g. GUS: W-0000000: Work Name (https://github.com/SalesforceFoundation/PMM/pull/303)
[ ] All acceptance criteria have been met

[x] Developer
[ ] Code Reviewer
[ ] QA
PR contains draft release notes

[ ] QE story level testing completed

W-8720179

W-8720179


openlayers raster source

Sir
I am working on openlayers raster source, here i want to count the pixels inside each polygon feature but not able to do this task please suggest some solution.
Regards,
<EMAIL_ADDRESS>

you may ask or find some solution at https://stackoverflow.com/

Please ask usage questions on stackoverflow instead with the tag openlayers
https://stackoverflow.com/questions/tagged/openlayers


gossip: add strict range query option

Additional clarification to BOLT7 that have additional requirements for the handling of reply_channel_range.  At current, functionality is inconistent and requires a looser approach to validating reply messages when a query_channel_range message is performed.
In particular, there is inconsitency with the handling of the complete flag, the value provided in first blocknum, and the number_of_blocks.
LND:

replies with the first_blocknum and number_of_blocks that was provided in the query
replies with complete = 0 when there are more than one message being sent

Eclaire

replies with first_blocknum covering the values provided by the specific result as well as the number_of_blocks fitting in the reply
complete = 1 for each message block to indicate that the message has complete information.

The specifications state the completion flag should be used to indicate that an incomplete data set is being sent by the remote peer (instead of LNDs handling that is simply stating more messages are arriving).
In terms of a state machine, the ultimate result for a a query_channel_range(first_blocknum=0, number_of_blocks=4294967295) should

have first message with first_blocknum=0, contain information through blocks that fit within the payload size, have complete=1
have multiple messages sequentially aligned with the requested block heights.

This is defined in https://github.com/lightningnetwork/lightning-rfc/pull/730
Changes
This change should add a flag that is utilized by the GossipManager -> GossipFilter that modifies the state machine to enforce strict enforcement of the sequence of replies for reply_channel_range.
In the event of sequence failure, the state machine should indicate a failure and try querying the range from a different peer.

The following changes have been merged into BOLT 7:

query_channel_range complete flag is now full_information
sender must not send a query if it has not received ALL reply_channel_range matching a query

this is a change where it was required to wait for a reply_channel_range message, but did not cover the entire range

receiver must respond with one more reply_channel_range methods
replies with full_information=0 when it does not maintain up to date information, otherwise it should set full_information=1
The replied range must encompass that being queried, it does not need to strictly encompass it:

replies with first message that has first_blocknum <= requested first_blocknum and first_block + number_of_blocks >= requested first_blocknum
replies with subsequent messages where first_blocknum = previous first_blocknum + number_of_blocks
replies with final message where first_blocknum + number_of_blocks is >= queried first_blocknum + number_of_blocks

The strictly increasing enables us to know when a sequence is "complete".
Changes

GossipFilter should have a strict query mode, possibly as a separate state machine for handling these requests
Current query should be tracked and wait for full query range enclosure
When full query range enclosure happens, we should signal that we are complete and can move on to next query
There should be some timeout capability associated with this.


can't open hidden/system/special folders?

maybe I'm missing something but I was not able to open or see for example my profile AppData, also Ctrl+G - C:\Users\myusername\AppData or Ctrl+G -> %AppData% isn't working, would be great if you could fix this.
As I've read junctions should be shown as such, it would be great if redirected special folders like "Documents" or "Pictures" would be shown as redirected, respectively it would be desirable to follow them (as long as they are local) in an easy way, like clicking or ctrl/alt-clicking them.

I am not having a problem with Goto "c:\users\craigwi\appdata".  %appdata% is not expanded at present.
Regarding the Documents and Pictures folders, they aren't redirected (at least not on my system).
If you look at "C:\Documents and Settings", you will see "C:\Users    " on the right.  Same for the other reparse points such as "C:\Users\All Users" (which is a SYMLINKD).

the my pictures and my documents well folders are really shown as libraries witch is a new concept from vista or win 7. so they don't seem to act the same way as say %appdata%

"c:\users\craigwi\My Documents" does show up as a JUNCTION point.
At this point, I don't see anything to fix here.

AppData folder isn't showing up, tested on 3 different windows 10 machines, 32 and 64bit build compiled with vs2017:

regarding the "My Documents", whether they are junctions or libraries or both, their location can be changed by right-clicking them in explorer, shows up like this:

I think their location/redirection is stored in
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
since they are not junctions they appear empty if you change into the directory on the command line, but if you click them in explorer the redirection of the shell folder is transparent to the user, you just see the contents, regardless of the real folder location, it would be nice if this could be implemented in winfile.


Unable to change base color

Hi
I'm using this cool theme but I don't manage to change colors. I try to change from the blue color that is standard in the zero theme to something else by changing data/themes.json but nothing happens, even when I restart the server. Do you have any advice?
I hope this is the right repo to post this.
Best
Felix

It is the Hugo Paradigm template Im using, I should say.

It works now for some reason. Maybe my internet conection was the problem


.card-columns causes svg elements inside to not be visible upon resize in Chrome

We are seeing a problem rendering highcharts (svg) within .cards, within .card-columns, and I have isolated the exact cause. This worked fine in 4.0.0, but breaks in higher versions.
Here is a pen showing it working fine in 4.0.0, before the responsive .card-columns was in play. Look at the Capacity chart.
If you resize the html area (Drag the vertical to the right) when the cards reshuffle, the blue bar area is visible and works nicely.
https://codepen.io/anon/pen/LaLzZb
Here is a pen showing it not working in 4.3.3
https://codepen.io/vinjosh/pen/OqWRMZ
The culprit is the column-count property, that is applying to the svg element here:
`@media (min-width: 576px)
.card-columns {
    -webkit-column-count: 3;
    -moz-column-count: 3;
    column-count: 3;`

If you take out the column-count, the columns shuffle, and the blue is visible. I think the bleed effect of the column count is affecting the svg element.
The delta between 4.0 and 4.3 is the addition of the responsive .card-columns breakpoints. I would tend to think that this is a fairly common thing, not specific to highcharts, they are just svg within cards.

Looks like it happens with version 4.0.0 as well.
https://codepen.io/vinjosh/pen/NJgXbg
It's interesting that I'm seeing it only in Chrome.


board: arc: fix nsim_em7d_v22 identifier

Use correct identifier..
nsim_em_em7d_v22 -> nsim_em7d_v22

thanks - looks like we all overlooked that extra em


auto calculate showamount, fix #106

Some test cases, only list key options

scale_playlist_by_window=no showamount=auto style_ass_tags={} text_padding_y=10

scale_playlist_by_window=no showamount=auto style_ass_tags={\fs15} text_padding_y=10

scale_playlist_by_window=no showamount=auto style_ass_tags={\fs15} text_padding_y=30

scale_playlist_by_window=no showamount=auto style_ass_tags={\fs30} text_padding_y=10

Known bugs

If options like this, the font size of each line is different from the global style_ass_tags, auto calculate is based on style_ass_tags's font size, so it must have a bug, but I think nobody would set this strange configuration, this bug can be ignored

style_ass_tags={\fs15}
playlist_header={\fs20}Playlist [%cursor/%plen]
normal_file={\fs16}○ %name
hovered_file={\fs16}● %name
playing_hovered_file={\fs18}▶ %name
...

[fixed] If some long file names occupy more than one line, it will definitely overflow, I have no idea to get the number of filename occupied lines. It's better to use  showamount=auto  and slice_longfilenames=yes together.
[fixed] scale_playlist_by_window=no is required, at present, I don't know how scale_playlist_by_window=yes works

In scale_playlist_by_window=yes case,  there is still no progress.
https://github.com/jonniek/mpv-playlistmanager/blob/7b8292589212a5bac1f312a555ec20aa561f972a/playlistmanager.lua#L671-L672
mp.set_osd_ass(0, 0, ass.text), how does it work, I can't find it in the  Reference Manual, @jonniek do you have any documents aboutt it?   If not, may need to find the answer in mpv source code

Here is the source https://github.com/mpv-player/mpv/blob/e22a2f04833852ce825eb7c1235d9bdaaa9b2397/player/lua/defaults.lua#L688
I think it was deprecated by https://github.com/mpv-player/mpv/blob/e22a2f04833852ce825eb7c1235d9bdaaa9b2397/player/lua/defaults.lua#L688
The overlay looks like this
 {"res_x" = 0, "format" = "ass-events", "res_y" = 720, "id" = 1, "data" = ""}

So I guess it's possible to mutate the resolution and update:
local ov = mp.create_osd_overlay("ass-events")
ov.data = "Hello world"
ov.res_x = 720
ov.res_y = 0
ov:update()

But it doesn't seem to have the effect of scaling the text.
I think we can remove this setting and move to using the API that is documented. I think I tried to implement it before but there was some issue but I can't remember exactly.

see https://mpv.io/manual/stable/#command-interface-ass-events

If res_y is set to 0, PlayResY is initialized to an arbitrary default value (but note that the default for this command is 720, not 0). If res_x is set to 0, PlayResX is set based on res_y such that a virtual ASS pixel has a square pixel aspect ratio.

The key point is the arbitrary default value, and I finally found it in the source code.
https://github.com/mpv-player/mpv/blob/e22a2f04833852ce825eb7c1235d9bdaaa9b2397/sub/osd_libass.c#L111-L112
It's named MP_ASS_FONT_PLAYRESY, is a constant value 288.
https://github.com/mpv-player/mpv/blob/e22a2f04833852ce825eb7c1235d9bdaaa9b2397/sub/ass_mp.h#L33

For the issue of long filename, I think it's better to overflow to the right than to the bottom, we can use ASS Tag \q2 to make long filenames overflow to the right.

For the issue of long filename, I think it's better to overflow to the right than to the bottom, we can use ASS Tag \q2 to make long filenames overflow to the right.

Nice, that is probably a good default. I experimented a bit with a scrolling text, but it feels a bit jarring. I think overflowing the window makes more sense as a default.
I'll test the PR out a bit tomorrow and merge if I don't find any issues.

Thanks for the PR! This is a great feature.

You replaced mp.set_osd_ass(...) by mp.create_osd_overlay("ass-events"), but no value is assigned to it's res_y, the default value is 720,  so you need to change these two lines to local h = 720
https://github.com/jonniek/mpv-playlistmanager/blob/759b4076005f6df18d2717e8d695045709d55c05/playlistmanager.lua#L242
https://github.com/jonniek/mpv-playlistmanager/blob/759b4076005f6df18d2717e8d695045709d55c05/playlistmanager.lua#L651
and this comment need to modify, both them are based 720p
https://github.com/jonniek/mpv-playlistmanager/blob/759b4076005f6df18d2717e8d695045709d55c05/playlistmanager.lua#L253

Oh I see, I didn't notice any difference in rendering by setting the size, but I didn't test with the curtain.
I think it's fixed now, thanks!

you pushed your test  conf curtain_opacity=1.0 🤣


when running on server getting error: HTTP server ListenAndServe: listen tcp: lookup tcp/▒H▒▒▒: Servname not supported for ai_socktype

When I executed the script locally it is running fine. but once I tried to run it in Ubuntu server getting the following error:
ubuntu@python:~/automated_scripts/scripts/stock$ python3 test.py
HTTP server ListenAndServe: listen tcp: lookup tcp/▒H▒▒▒: Servname not supported for ai_socktype
Traceback (most recent call last):
  File "/home/ubuntu/.local/lib/python3.10/site-packages/geventhttpclient/connectionpool.py", line 158, in get_socket
    return self._socket_queue.get(block=False)
  File "src/gevent/queue.py", line 335, in gevent._gevent_cqueue.Queue.get
  File "src/gevent/queue.py", line 350, in gevent._gevent_cqueue.Queue.get
  File "src/gevent/queue.py", line 319, in gevent._gevent_cqueue.Queue._Queue__get_or_peek
_queue.Empty

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/ubuntu/.local/lib/python3.10/site-packages/botasaurus_requests/client.py", line 485, in execute_request
    resp = self.server.post(
  File "/home/ubuntu/.local/lib/python3.10/site-packages/geventhttpclient/client.py", line 277, in post
    return self.request(METHOD_POST, request_uri, body=body, headers=headers)
  File "/home/ubuntu/.local/lib/python3.10/site-packages/geventhttpclient/client.py", line 233, in request
    sock = self._connection_pool.get_socket()
  File "/home/ubuntu/.local/lib/python3.10/site-packages/geventhttpclient/connectionpool.py", line 161, in get_socket
    return self._create_socket()
  File "/home/ubuntu/.local/lib/python3.10/site-packages/geventhttpclient/connectionpool.py", line 126, in _create_socket
    raise first_error
  File "/home/ubuntu/.local/lib/python3.10/site-packages/geventhttpclient/connectionpool.py", line 113, in _create_socket
    sock = self._connect_socket(sock, sock_info[-1])
  File "/home/ubuntu/.local/lib/python3.10/site-packages/geventhttpclient/connectionpool.py", line 134, in _connect_socket
    sock.connect(address)
  File "/home/ubuntu/.local/lib/python3.10/site-packages/gevent/_socketcommon.py", line 590, in connect
    self._internal_connect(address)
  File "/home/ubuntu/.local/lib/python3.10/site-packages/gevent/_socketcommon.py", line 634, in _internal_connect
    raise _SocketError(err, strerror(err))
ConnectionRefusedError: [Errno 111] Connection refused

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/ubuntu/automated_scripts/scripts/stock/test.py", line 83, in <module>
    res = get('https://google.com')
  File "/home/ubuntu/automated_scripts/scripts/stock/test.py", line 80, in get
    response = req.get(url)
  File "/home/ubuntu/.local/lib/python3.10/site-packages/botasaurus_requests/request_class.py", line 61, in get
    return reqs.get(url, **kwargs)
  File "/home/ubuntu/.local/lib/python3.10/site-packages/botasaurus_requests/reqs.py", line 339, in get
    return _get(url, *args, **add_redirects(kwargs, True))
  File "/home/ubuntu/.local/lib/python3.10/site-packages/botasaurus_requests/reqs.py", line 248, in request
    req.send()
  File "/home/ubuntu/.local/lib/python3.10/site-packages/botasaurus_requests/reqs.py", line 135, in send
    raise e
  File "/home/ubuntu/.local/lib/python3.10/site-packages/botasaurus_requests/reqs.py", line 132, in send
    self.response = self.session.request(self.method, self.url, **merged_kwargs)
  File "/home/ubuntu/.local/lib/python3.10/site-packages/botasaurus_requests/session.py", line 192, in request
    proc.send()
  File "/home/ubuntu/.local/lib/python3.10/site-packages/botasaurus_requests/response.py", line 62, in send
    self.response = self.execute_request()
  File "/home/ubuntu/.local/lib/python3.10/site-packages/botasaurus_requests/response.py", line 74, in execute_request
    raise e
  File "/home/ubuntu/.local/lib/python3.10/site-packages/botasaurus_requests/response.py", line 67, in execute_request
    resp = self.session.execute_request(
  File "/home/ubuntu/.local/lib/python3.10/site-packages/botasaurus_requests/client.py", line 490, in execute_request
    raise ClientException('Request failed') from e
botasaurus_requests.exceptions.ClientException: Request failed
ubuntu@python:~/automated_scripts/scripts/stock$

could you please help to understand if it is problem in my usage if the framework or it is really issue?
I'm tried to use simple code:
from botasaurus.request import Request
def get(url):
    req = Request()
    response = req.get(url)
    return response

res = get('https://google.com')
print(res)

or
from botasaurus.request import request, Request
@request(output=None, close_on_crash=True, max_retry=5)
def get(request: Request, url):
    response = request.get(url)

res = get('https://google.com')
print(res)

the result is same error as mentioned above.
python version is 3.10
thanks in advance

I have the same problem in Ubuntu, so I had to work with other libraries.

Same issue for me too:
HTTP server ListenAndServe: listen tcp: lookup tcp/t cap: Servname not supported for ai_socktype
Ubuntu 20.04.6 LTS
Python 3.8.10


#1961 Ensure that clean-up behaviors are raised on close and prompts …

@rundis Nice to see this fixed without a global, race-conditioning var! I noticed the destroy documentation only recommends it for crashed scenarios. atom appears to only use destroy in crashes. Related, I see that we have an unbeforeunload defined which appears to have no effect (regardless of whether we destroy or not). We should delete it
We could bring back Mike's extra closeWindow channel and use a window boolean e.g. window.isLTDoneClosing instead. We can also stay with destroy but if so we should make the force? true branch not call .close after .destroy. While it doesn't happen b/c the window is destroyed, it's confusing to read. I leave the decision to you :)
As an aside, I noticed that if a tab is modified and a user accidentally closes the window LT doesn't prevent the user from closing which results in lost work for anyone not using Reminisce. Something to fix down the road I imagine.

@cldwalker changed and rebased. I opted for keeping the destroy function as opposed to (re-)introducing yet another global boolean
LightTable's "event" model and electron doesn't quite fit for these lifecycle cases, so there's a bit of event ping-pong and working around the mismatch. I'm sure there is a better solution waiting to reveal itself. I couldn't find any more docs on why destroy shouldn't be used and haven't been able to detect any obvious negative side-effects yet (other than the niggly feeling that electron might have had a really good reason for putting that disclaimer into the api doc).
btw this solution should also prompt users if they try to close with unsaved work (works on my machine ...)
If you are happy with the latest changes, perhaps it would be a good idea if @kenny-evitt gave it a quick go on windows machine before merging.

I opted for keeping the destroy function as opposed to (re-)introducing yet another global boolean

Just to clarify, the alternative to destroy didn't involve global vars. window.isLTDoneClosing would be a boolean on a BrowserWindow object. Setting booleans on objects is the same way atom deals with closing except that it subclasses BrowserWindow.

LightTable's "event" model and electron doesn't quite fit for these lifecycle cases, so there's a bit of event ping-pong and working around the mismatch.

I don't think LT's model is in conflict with window lifecycles. When we want to use OOP and access a window object in main.js we can and when we want to be functional in cljs we can as long as we pass the window number

btw this solution should also prompt users if they try to close with unsaved work (works on my machine ...)

Hmm. When I edit a file and then type Ctrl-Q, invoke close window from the command bar or select Close window from the menu, LT closes without prompting for the unsaved file. What are you modifying and how are you closing LT?

If you are happy with the latest changes, perhaps it would be a good idea if @kenny-evitt gave it a quick go on windows machine before merging.

I'm happy with it :) @kenny-evitt what say you?

@rundis @cldwalker It works for me – merge away!

@cldwalker opening a file, edit it, press x on the window or quit from the menu. So for you it closes the connections, but not giving you the prompt ? That's a worry.
https://github.com/LightTable/LightTable/blob/1d9dd0cc3154048834aedd554a056acb0a2df127/src/lt/objs/app.cljs#L100 Should trigger file save prompting right ?
@kenny-evitt did you get a prompt if you tried quitting light table with a modified file open ?

@rundis Yeah, I got a prompt for every means of closing or quitting LT (and closing the tab directly too) – clicking the red X button, Alt+F4, and File (menu) > Close window.

@rundis My bad on a false alarm. This was a behavior caused by the Reminisce plugin. I've filed https://github.com/one-more-minute/Reminisce/issues/8. Please merge this! :tada: :tangerine:

On Ubuntu 14, I can consistently produce the following error when I close LT with 3 or more tabs. I think this is related to the destroy we're using. I don't think this is an issue yet but if enough users are confused/concerned about this we may need to revisit
The error was 'BadWindow (invalid Window parameter)'.
  (Details: serial 1610 error_code 3 request_code 40 minor_code 0)
  (Note to programmers: normally, X errors are reported asynchronously;
   that is, you will receive the error a while after causing it.
   To debug your program, run it with the --sync command line
   option to change this behavior. You can then get a meaningful
   backtrace from your debugger if you break on the gdk_x_error() function.)
[9380:1023/000543:ERROR:channel.cc(300)] RawChannel read error (connection broken)

Maybe #2017 also is related to this too ?
I've seen once or twice some exceptions when closing a browser tab that I've gotten an exception that might have been related too. Unfortunately I didn't keep the stacktrace and try to reproduce.

I was able to reproduce the same error as @cldwalker also on Ubuntu 14.04.


Change the committee panel topic

Is your feature request related to a problem? Please describe.
Currently, the committee panel topic is not mentioning any year that the committee belongs to.
Describe the solution you'd like
Change the committee panel topic to Committee for the year 2023
Are you working on it?
Yes

@sathsarabandaraj @Hasthikagirihagama Pls assign me.


error syncing integritee-rococo parentchain

[2023-12-01T08:55:37Z ERROR itc_parentchain_block_importer::block_importer] [Integritee] Error executing relevant extrinsics: Other("Extrinsic Status and Extrinsic count not equal")
It is noteworthy that the verbose log usually says this for empty blocks:
xt_statuses:: [Success, Success]
although in this case, it's
xt_statuses:: [Success]

yes it was solved by that PR


Clicking on window without dragging causes a selection

Environment
Windows build number: 10.0.18362.295
Windows Terminal version (if applicable): 0.4.2382.0

Steps to reproduce
Click on the terminal window without dragging.
Expected behavior
This should clear any existing selection but not create a new one.  This is consistent with other Windows programs which only show a selection when the cursor is dragged.
Actual behavior
A character is selected.

Today, this is by design. We don't act like other Windows applications that emit text because they have a selection caret, and we don't. We've been talking about the right behavior here for a while, and we decided that in the "default" configuration we'd match the existing console, which does work like this.
We recently added copyOnSelect which, while it does add the eponymous copy-on-select, also suppresses single-character selection (you must click and drag to another cell before selection begins.)
I'm going to mark this one by-design for now. Thanks/sorry!

Thank you for your response.  I understand the current decision, but would like to add some additional details for consideration.

Not all application that emit text have a selection caret.  The most notable example is the web browser (excluding form fields).  If you click on text in a browser, no selection happens unless you also drag.  PuTTY is another example where a drag is required to select.
If anything, creating a block on click gives the false visual impression that the cursor has been moved.
The existing console has the ability to turn off QuickEdit mode.
While the behavior matches the existing console, it really offers no value.  If someone clicks the window to the front, their next move is extremely unlikely to be to copy the random character that is  now selected.

I will try the copy-on-select once released (I have the build from the Microsoft Store).

it really offers no value

I could not agree more with this observation. This needs to be an option. eg 'selectOnClick'?

For what it's worth, I agree. Selection is a charged topic, though, as we've well seen.
If you enable copyOnSelect, terminal disables single-character selection. If that's an acceptable compromise, we can leave it at that and evaluate more robust selection settings as we go forward. :smile:

This is such a terrible user experience.

Thanks for your feedback. It's a good thing we fixed it in #5096.

Awesome news!

This is great news, thanks so much.


[DOC][ci skip] Link to cuda-version docs

Checklist

[ ] Used a personal fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

Thanks, Bradley!


[yafti] nix install in yafti

Apparently @fenglengshun (discord) has set up a yafti page to install Nix. This approach wouldn't require just #4.

There is some progress in Bazzite for integrating their distrobox to yafti. Pretty sure that could also work with nix somehow
We could try developing something similar eventually

The Distrobox support in Yafti is a totally different feature from Nix, but it's true that they'd be implemented in a somewhat similar way. I'd try to go with just recipe's first.

Well, making it so nix gets installed through Yafti apparently isn't particularly hard! There's a page for arbitrary commands, on which we can use just nix-me-up to install it.
The actual thing now is just like, where would be put those files? Under something like /files/yafti? or /files/etc/ublue-os/firstboot/yafti.(examplefilename).yml? [...]

@xynydev Hello! Sorry for pinging you, but I'd like to update you on this issue. Making a Yafti page that installs nix now is as simple as declaring some lines with an associated justfile recipe. I wonder if this issue should be further thought out about or we should just close it

That's cool, there are a lot of things we can do with this. I'm wondering if we should, since it's already a one-liner, reduce the interdependency between the ublue-nix-install script, the just recipe, and the possible yafti option. I think adding more generally useful features to a default yafti config in bling is always justifiable, we'll just have to set that up.

Yafti is getting a refactor, Nix is no longer supported by Ublue, a lot has happened... I'll close this issue now, and once Yafti updates, we'll do a big refactor related to it, and then we can discuss whether to include a default config / what to include in it.


Fix base color of shape drawable is falling back to black on API 16

If <shape> does not provide child <solid>, it's base color fallbacks to black pre API 17.
Here's screenshot of Xperia SX (SO-05D) (4.1.2).
Before

After

Oh... I didn't know this :open_mouth:
Great thanks!!

LGTM!!

:+1: I noticed that but didn't know how to fix it. Great work!


Better Config Handling

Right now there is no proper config handling for the server and client.
The goal is to use a config library like https://github.com/lorenwest/node-config to have a single point where all the config options are stored.

See https://github.com/Vispercept/timeline/pull/20


Add variable for additional Docker run options

It can be necessary to pass additional options/arguments to the docker run command (i.e. --gpus all), and hence a DCKROPT variable defined in the Makefile could be useful.

Implemented with: 57c7df050d86a313add5095a85150aeff8fa2288


python312Packages.xml2rfc: 3.23.1 -> 3.23.2

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python312Packages.xml2rfc is: Tool generating IETF RFCs and drafts from XML sources
meta.homepage for python312Packages.xml2rfc is: https://github.com/ietf-tools/xml2rfc
meta.changelog for python312Packages.xml2rfc is: https://github.com/ietf-tools/xml2rfc/blob/v3.23.2/CHANGELOG.md
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 3.23.2 in filename of file in /nix/store/2hf2r3nvgm8692cfhhpgx8bj9nihhrkr-python3.12-xml2rfc-3.23.2

Rebuild report (if merged into master) (click to expand)

4 total rebuild path(s)

4 package rebuild(s)

First fifty rebuilds by attrpath

python311Packages.xml2rfc
python312Packages.xml2rfc
xml2rfc

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/2hf2r3nvgm8692cfhhpgx8bj9nihhrkr-python3.12-xml2rfc-3.23.2 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A python312Packages.xml2rfc https://github.com/r-ryantm/nixpkgs/archive/283870293fcbca04058bf3a92518db61bf17182d.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/283870293fcbca04058bf3a92518db61bf17182d#python312Packages.xml2rfc

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/2hf2r3nvgm8692cfhhpgx8bj9nihhrkr-python3.12-xml2rfc-3.23.2
ls -la /nix/store/2hf2r3nvgm8692cfhhpgx8bj9nihhrkr-python3.12-xml2rfc-3.23.2/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

4 packages built:

python311Packages.xml2rfc
python311Packages.xml2rfc.dist
xml2rfc (python312Packages.xml2rfc)
xml2rfc.dist (python312Packages.xml2rfc.dist)

Maintainer pings
cc @vcunat @yrashk for testing.

[!TIP]
As a maintainer, if your package is located under pkgs/by-name/*, you can comment @NixOS/nixpkgs-merge-bot merge to automatically merge this update using the nixpkgs-merge-bot.

Add a :+1: reaction to pull requests you find important.

Result of nixpkgs-review pr 346525 at 7c0d61b1 run on x86_64-linux 1

:white_check_mark: 2 packages built:

python311Packages.xml2rfc
xml2rfc (python312Packages.xml2rfc)


persist consent to key submission (EXPOSUREAPP-3734)

Creates new SubmissionSettings class which persists if the user has given consent for the submission of keys

Hi @chiljamgossow , welcome to our small universe, nice to have you onboard,
and
hi @ralfgehrer ,
may I ask shortly about your PR - I bet there will be questions on our slack channel...
What's the rationale of persisting user consent for TEK submission?
Is it just to have/use information about that user gave consent (e.g., logging/testing)?
Or is there any planning towards future automatic submission of TEKs? Afaik, for now ENF would require consent once every 24 hours - will there be a change from Google/Apple in future?
Kind regards, v.

Needed to move to a new PR as this one does not run the checks

see new PR https://github.com/corona-warn-app/cwa-app-android/pull/1633

Hi @chiljamgossow , welcome to our small universe, nice to have you onboard,
and
hi @ralfgehrer ,
may I ask shortly about your PR - I bet there will be questions on our slack channel...
What's the rationale of persisting user consent for TEK submission?
Is it just to have/use information about that user gave consent (e.g., logging/testing)?
Or is there any planning towards future automatic submission of TEKs? Afaik, for now ENF would require consent once every 24 hours - will there be a change from Google/Apple in future?
Kind regards, v.

Hi @vaubaehn, we are persisting the consent to be able to display to the user if consent has been given on a new screen. This is part of a redesign of the submission flow. There are no automatic submissions planned. Kind regards.

@chiljamgossow Thanks for your reply! Sounds like a good idea :+1: In case any questions arise on user side, I now can refer correct information. Have a good day!


No default set for ${args.input.dir}

Expected Behavior
The documentation for the args.input.dir parameter says:

The default value is the parent directory of the file specified by args.input.

(This explanation was added in 1.7 with 404821f9 for #1398, but the underlying behavior may have changed in later versions.)
This suggests other parameters may be set in .properties files in terms of ${args.input.dir}, which should expand to the absolute path of the parent of the input map file:
args.hdr = ${args.input.dir}/resources/header.xml

Actual Behavior
The dita command fails with Ant XSLT errors, as the value is apparently not resolved:
[ant:xslt] I/O error reported by XML parser processing
file:/${args.input.dir}/resources/header.xml: /${args.input.dir}/resources/header.xml
(No such file or directory)

(Note root slash in error message: /${args.input.dir}.
Possible Solution
A code comment suggests:

[this should] be resolved to current directory, not Ant script base directory

Workaround
A value can be explicitly set via --args.input.dir=$PWD to force it to resolve to the absolute path of the working directory on the CLI for example, but that shouldn’t be necessary if a default value were properly inferred from the parent directory of the input map file as suggested by the documentation and parameter names.

The docs are wrong in this case and IMO should be fixed.
The problem with using args.input.dir in properties file is that we have no idea what the default value is without reading the properties file and previously set properties. In order to have a default value for args.input.dir we'd first need to read the properties file to get the value for args.input and then re-read the properties file to correctly resolve references to args.input.dir.
While this is doable by changing how properties file is read, the value of args.input.dir is similar to args.input in the sense that is has no default value.

The project files do not have the limitations that properties files have, and my preference would be to move our efforts to project files.


Build container images from distroless

Is this a BUG REPORT or FEATURE REQUEST?:

Uncomment only one, leave it on its own line:
/kind bug
/kind feature

What happened:
The kubernetes project in general is moving towards distroless: https://github.com/kubernetes/enhancements/blob/master/keps/sig-release/20190316-rebase-images-to-distroless.md , explore the same to be supported in cpo
What you expected to happen:
How to reproduce it (as minimally and precisely as possible):
Anything else we need to know?:
Environment:

openstack-cloud-controller-manager version:
OS (e.g. from /etc/os-release):
Kernel (e.g. uname -a):
Install tools:
Others:

/assign

/kind feature

/remove-lifecycle stale

/remove-lifecycle stale

/remove-lifecycle stale


Restore How-To instructions

It was not obvious how to use this extension.  I restored this from the git history.

@sorenisanerd Can you merge this please?

thanks for that

https://github.com/sorenisanerd/vscode-go-coverage-viewer/pull/1#issue-1131055377, thanks for that


Create script to convert commit messages into FONTLOG style entries

(@n8willis started this issue but @davelab6 rewrote it)
Creating a user-friendly Fontlog at release time should be simple.
Version-control commit messages can be a great way to see what has changed.
Cutting out the minor and irrelevant messages is less time consuming than going back through the commit history and manually recopying the same info, and is less error- and forgetfulness-proned.
So a relatively simple AngularJS page should be made that makes it easy to update a FONTLOG by reviewing the git history... similar to our METADATA.json comparison page, with the existing FONTLOG on the left and a 2nd 50% wide column with all the commit messages. The commit messages would be fetched via the Github API when the user clicks a button, so the page loads instantly and the user triggers the action that can take a while. The commit messages should populate line by line as they are downloaded by the browser, similar to the dashboard table.

Migrating to https://github.com/googlefonts/tools/issues/17


Reduce RAM and persistent storage by deduplicating inlined dict type info

Closes #358 Updates epic #292
This PR deduplicates Cadence dictionary type and composite type info, resulting in reduced memory and persistent storage.
More specifically, this encodes inlined atree slab extra data section as two-element array:

array of deduplicated type info
array of deduplicated extra data with type info index

[ ] Targeted PR against main branch
[x] Linked to Github issue with discussion and accepted design OR link to spec that describes this work
[x] Code follows the standards mentioned here
[ ] Updated relevant documentation
[x] Re-reviewed Files changed in the Github PR explorer
[x] Added appropriate labels

Codecov Report
Attention: Patch coverage is 60.14493% with 55 lines in your changes are missing coverage. Please review.

Project coverage is 62.27%.  Consider uploading reports for the commit 6825950 to get more accurate results

Files
Patch %
Lines

typeinfo.go
59.29%
30 Missing and 16 partials :warning:

array_debug.go
30.76%
6 Missing and 3 partials :warning:

Additional details and impacted files
@@                      Coverage Diff                       @@
##           feature/array-map-inlining     #369      +/-   ##
==============================================================
- Coverage                       62.45%   62.27%   -0.19%
==============================================================
  Files                              15       15
  Lines                           10919    11024     +105
==============================================================
+ Hits                             6820     6865      +45
- Misses                           3119     3159      +40
- Partials                          980     1000      +20

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

I found some improvements to deduplication while migration + validation was running last night.

Yesterday, this passed atree inlining & deduplication migration with validation enabled (for all payloads for all accounts) using mainnet Jan 19, 2024 checkpoint as input.


chore(NODE-6055): implement OnDemandDocument

Description
What is changing?

Adds OnDemandDocument

getValue(), getNumber(), *valuesAs() toObject()

Adds StringFinder

caches strings as byte sequences

Add a new includes byte comparison method

Is there new documentation needed for these changes?
No
What is the motivation for this change?
OnDemandDocument will provide the foundation for doing less up front parsing work.
Double check the following

[x] Ran npm run check:lint script
[x] Self-review completed using the steps outlined here
[x] PR title follows the correct format: type(NODE-xxxx)[!]: description

Example: feat(NODE-1234)!: rewriting everything in coffeescript

[x] Changes are covered by tests
[x] New TODOs have a related JIRA ticket

https://github.com/mongodb/js-bson/pull/665 Has BSON clean-up changes needed to get this branch off a git hash.


Is the test application supposed to do anything?

So I'm trying to push my own notifications through OpenVR, and this is about the only project that actually has code for it in C#. Sadly the code does not seem to work with the latest versions of the C# wrapper, and building the test application in the repo gives me a form that seemingly does nothing but log mouse clicks... ?
Has this code been working before?
As it was nine months since the last update I'm guessing this is a dead project, but I figured I could leave a note here anyway as I've been trying to figure this out for many months now :P Cheers!

Thanks for replying :) Cross-referencing code all over the place I actually managed to get a wee bit forward this weekend, or at least that's what I think. I'll probably take it easy for a while but this is the last result. No idea how to fix it or what I've forgotten but yeah, at least something is happening.
I'll spend some time checking out your openvr_api.cs, had no idea you had actually modified it :) Cheers!

I pushed a commit with the new wrapper and I also generated a diff patch between Valve's version and the one used in the project. I don't know why they left those methods out.
The test application still has some issues with mouse event simulation but the notification api should be    good to go.

I do use the NuGet package, is that an involved process to update or can it be connected to GitHub? I see the release branch has 0..0.0.3 but from NuGet I still get <IP_ADDRESS> ?


(MAINT) Revert back to nc for Docker entrypoint

The current curl call doesn't seem to work and thus PuppetDB will never
start as this check never succeeds.
We do need the orthogonal USE_PUPPETSERVER change though, so we can't
just revert the commit that changed the netcat call to curl.
For now, revert back to using netcat while we figure out how to better
detect when Puppet Server is up.
The netcat call doesn't work when a load balancer is in place as it
just detects that the LB is up, but we don't actually need this
functionality yet.

I verified the curl call on master branch doesn't work, and verified that the nc call does still work even when moved into this function.
I targeted the PR at 5.1.x since that's what @austb targeted his PR at.

Test PASSed

Merge at 48f1ff52b4ba4ff7c7ccfb231ded71446719cc2a


Use Docker Image for CI

Awesome! Seems super cool for consistency/reproducibility, and it's also good forcing function to keep the container itself up to date.
I have one very dumb question to ask about how this works: I don't quite see how the container is getting updated. The actions now have container: ghcr.io/cucapra/calyx:latest, but who builds & pushes the ghcr.io/cucapra/calyx:latest container (to make sure the CI run reflects the code from the commit it's associated with)? As a corollary, how does this work for PRs and non-master branches—do they somehow fetch a container built from a different branch?
Apologies that I'm probably missing something obvious, but I couldn't quite see how this works from a brief read of the Actions docs…

Ah, perhaps I've answered my own question: is the idea that the ghcr.io container does not automatically get updated—it just serves as a reasonable guess about what dependencies we need to do the build? That is, I had incorrectly guessed the idea was that we're building a Docker container from the most recent source. But in fact, it contains some old Calyx code of unknown vintage that we don't actually need, and we just build our own Calyx from source anyway (ignoring the old Calyx stuff already built in the container). Is that right?

Yeah, I haven't set that up. This is because if a PR changes the dockerfile, we need to publish the updated dockerfile before we can merge the PR if the tests rely on that change. This is pretty fincky and I'd like to come up with a better way.
Otherwise, yes, the dockerfile just contains some old version of the Calyx and Dahlia repos that need to be updated. We should note this in the getting started docs.


fix: test teambition connection

Summary
fix teambition set the wrong code when test connection
Does this close any open issues?
Closes xx
Screenshots
Include any relevant screenshots here.
Other Information
Any other information that is important to this PR.

Hi, @coldgust , thank you for the fix.
Please describe why you think this is the right way, did you find it out on their document? if so, please attach a link to the document, thanks.
Please attach screenshots to show the new code is working correctly.

Hi, @coldgust . Thank you for the information, 👍
Seems like their API design is a little bit off.
However, there is no proof to show the code inside the response body is Http Status Code, we should hardcode our API status code to 400 unless it can be proven.

@klesh , thanks for the reminder.
I think errorMessage is helpful for users too.

#5066 have solved this issues.


Draft workaround for certificate rotation issue

Addressing in the main docs, the certificate rotation bug discovered prior to v1.14 release.

It's all in the next docs at the moment. When agreed on the content I'll create a copy in the 1.14 version as it's information that is immediately needed.

This can be merged if everybody is happy. The infor is in both the current 1.14 and the next docs.

Thanks @jhkrug. I'm going to merge it


A weird bug when using ByteData

Example code:
import 'dart:typed_data';

void main() {
  callAFunction();

  for (int v = -5000; v <= -32; v++) {
    if (v == -32) {
      final _buf = Uint8List(64);
      final _d = ByteData.view(_buf.buffer);
      final thisIsUnused = Int8List.view(_buf.buffer);
      _d.setInt8(0, v);

      final u = Unpacker(_buf);
      final r = u.unpackInt();

      print('result $r');
    } else {
      final _buf = Uint8List(64);
      var _d = ByteData.view(_buf.buffer, _buf.offsetInBytes);
      _d.setInt8(0, -46);

      final u = Unpacker(_buf);
      final r = u.unpackInt();
    }
  }
}

void callAFunction() {
  final bytes = Uint8List.fromList([0]);
  final d = ByteData.view(bytes.buffer, 0);
  final i = d.getInt8(0);
}

class Unpacker {
  Unpacker(Uint8List _list)
      : _d = ByteData.view(_list.buffer, _list.offsetInBytes);

  final ByteData _d;

  int? unpackInt() {
    final b = _d.getUint8(0);

    int? v;
    if (b <= 0x7f || b >= 0xe0) {
      v = _d.getInt8(0);
    } else if (b == 0xd0) {
      v = _d.getInt8(0);
    } else if (b == 0xd1) {
      v = _d.getInt16(0);
    } else if (b == 0xd3) {
      v = _d.getInt64(0);
    } else if (b == 0xc0) {
      v = null;
    }
    return v;
  }
}

Issues
Run this code, it will print result 224. But if you comment out the callAFunction(); in main. It will print result -32.
By right, the calling callAFunction(); or not shouldn't affect the result.
Pay attention
 I can only reproduce this bug on a dart project. Can't reproduce it on a flutter project.
This is my pubspec.yaml.
name: mytest
description: A new Flutter project.
version: 1.0.0+1

environment:
  sdk: ">=2.16.2 <3.0.0"

dev_dependencies:
  test: ^1.16.0

If I add this to the pubspec.yaml, The project will become a flutter project from a dart project. Then the bug will be gone.
dev_dependencies:
  flutter_test:
    sdk: flutter

Other weird cases
And if you do those things, The result will also be affected.

Change int v = -5000 to int v = -3000, Will printresult -32.
Comment out the unused code final thisIsUnused = Int8List.view(_buf.buffer);, In run mode, it will print result -32.  In debug mode, sometimes it prints result -32, sometimes it's result 224.
Comment out this code, Will printresult -32.

final _buf = Uint8List(64);
var _d = ByteData.view(_buf.buffer, _buf.offsetInBytes);
_d.setInt8(0, -46);

final u = Unpacker(_buf);
final r = u.unpackInt();

Comment out this code, Will printresult -32.

else if (b == 0xc0) {
  v = null;
}

Demo to reproduce this bug
https://github.com/623637646/dart_vm_bug_demo
My environment

Dart SDK Version: Dart SDK version: 2.16.2 (stable) (Tue Mar 22 13:15:13 2022 +0100) on "macos_x64"
MacOSX

It seems to be fixed, at least with Dart SDK version: 2.18.0-66.0.dev (dev) (Wed Apr 27 13:10:04 2022 -0700) on "windows_x64"

Thanks for the reply @asashour . I use 2.17.0-266.7.beta (beta) (Mon Apr 25 14:54:53 2022 +0000) on "macos_arm64" to verify. It's fixed.


pl.render_shapes do not support normal hex color

Hi,
An normal hex color is a string include seven chars, such as "#DD4958", but pl.render_shapes uses nine chars when using datashader, which is not compatible with palette in stored in sdata["table"].uns["leiden_colors"]:

This is my palette:
['#1f77b4', '#ff7f0e', '#2ca02c', '#d62728', '#9467bd', '#8c564b']
So ian error occurred when using customized palette:

Besides, I must run sdata.pl.render_shapes without groups and palette first , then run sdata.pl.render_shapes with groups and palette for the second time. If I run sdata.pl.render_shapes with groups and palette directly`, this error will occur:

Another question, we can set groups as one "string" or all the categories. Such as we have "0", "1", "2", "3", "4", "5" categories, we can only set groups="3" or groups=["0", "1","2","3","4","5"], we cannot set groups=["1","2"] and so on.


Bug fixes from staging

Pull Request Test Coverage Report for Build 2299

14 of 18 (77.78%)  changed or added relevant lines in 3 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.02%) to 69.66%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

util/location-linking.js
12
16
75.0%

Totals

Change from base Build 2294:
0.02%

Covered Lines:
7811

Relevant Lines:
10569

💛  - Coveralls


Validation not working on custom type

i have added new type. all working well. bt i hv one problem schema-validate directive is not working on my new custom type.
my htm with custom typel:

  {{form.title}}

<input
         type="text"
         class="form-control"
         schema-validate="form"
         ng-model="$$value$$"
         default-location
         name="{{form.key.slice(-1)[0]}}" />

You need to explain this better, and perhaps add a plunkr/gist for debugging.

@azadacme I updated your question to format it correctly, but I can't see anything obvious without the rest of the code, can you create a plunker if this is still an issue and re-open please?


support N tags in CIGAR

I just realized that spliced_example.vcf is missing @alshai

see https://github.com/alshai/levioSAM/pull/9


error on custom emitted event with the same default name

i'm using vue-tel-input
there is a custom event @input from the library that has argument @input (number: String, phoneObject: Object) based on the documentation. docs.
seem's like in the new version volar generalize the @input method with the default args.
i got this error when building my project

this also happen with different emitted event

The suggested solution from @johnsoncodehk is to downgrade to 0.32.0 to fix this issue. See his comment on #1001.

Duplicate of #1001


Can't write intermediate netCDF files in POD

This issue was identified by @willmayfield. It occurs when running the MDTF_Diagnostics/EOF_500hPa POD using the sample data from the CMEC tutorial.
The following error message is thrown by the POD:
fatal:Could not create (/glade/work/wmayfield/AMS_2023_CMEC_Tutorial/MDTF_output/MDTF_Diagnostics/EOF_500hPa/model/netCDF/QBOi.EXP1.AMIP.001.Z500.ANOMS.nc)
Will notes that:

Here's some progress: I edited compute_anomalies.ncl, removing 'netCDF/' from "addfile()" in line 137, and then did the same change where plot_natlantic.ncl and plot_npacific.ncl try to load from that path. It now succeeds!

A bug fix was applied in version 1.1.9. @willmayfield has tested version 1.1.9 and says the error is gone now.


HOTFIX for cedar-14 python builds

This temporarily hardcodes the libsqlite3 version check return value to a package version available at http://archive.ubuntu.com/ubuntu/pool/main/s/sqlite3/.
This may break again at any time for this stack or others.
Just a quick workaround for the next few days until we have the sqlite3 installation refactored to only use headers and link to them for pip install using the right env vars.

thanks @CaseyFaist !! <3


[FLINK-11533] [container] Add option parse JAR manifest for jobClassName

What is the purpose of the change
This PR allows users to point the StandaloneJobClusterEntryPoint to a JAR file instead of requiring a job class name of the job to execute.
Users can provide the argument as follows: --job-classname from-jar:/foo/bar.jar and let the entry point parse the JAR manifest for the entry class. The prefix is not a valid class name and should not conflict with existing usage of this option.
The original plan in the ticket was to add an additional command line argument like --job-jar but that seemed confusing as the JAR would only be used to parse the job class name. Also, an additional argument would have made the entry point argument validation slightly more complex (e.g. both --job-classname and --job-jar would be optional, but exactly one of the two required).
I think the current approach is a step into the right direction. Eventually, I think there is a case to be made for having a --job-jar argument that actually distributes the user JAR between the cluster components (with proper distribution of blobs, setup of the user class loader, etc.) instead of requiring it to be on the class path.
Brief change log

Add JarManifestParser utility
Check PackagedProgram.MANIFEST_ATTRIBUTE_ASSEMBLER_CLASS, PackagedProgram.MANIFEST_ATTRIBUTE_MAIN_CLASS manifest attributes if job-classname starts with from-jar:

Verifying this change

This change added unit tests
Additionally, a test JAR assembly step has been added to test the new functionality with a proper job jar

Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): no
The public API, i.e., is any changed class annotated with @Public(Evolving): yes (adds special case behavior of command line argument --job-classname)
The serializers: no
The runtime per-record code paths (performance sensitive): no
Anything that affects deployment or recovery: no
The S3 file system connector: no

Documentation

Updated command line argument help page
Added note to Kubernetes template README

@flinkbot approve description
@flinkbot attention @tillrohrmann

After an offline discussion with Chesnay and Till, we decided to make the job-classname argument optional and scan the class path for a JAR with an entry class manifest entry. I've updated the PR accordingly.
Note that currently the default Flink classpath will contain flink-python which will result in the user JAR not being picked up. In an independent discussion, we decided to make flink-python optional (#7843) which will resolve this issue.
The long-term plan is to let the entry point actually distribute the JARs as regular job submission does.
@zentol I rebased this PR on master and cleaned up the history and added the discussed change.

@zentol Thanks for the swift review. I updated everything except the assembly vs. shade plugin question and some docs comments.

Addressed the last comments and rebased on master. Will merge after Travis gives the green light.


'rewrite_polyfills= false' is not working when language_out is present and below ECMASCRIPT_2017

rewrite_polyfills= false still inject polyfills when language_out is below ECMASCRIPT_2017 for async function
step to reproduce

echo 'export async function test(){console.log('test');}'> my_program.js
npx google-closure-compiler --js=my_program.js --js_output_file=out.js --rewrite_polyfills=false --language_out=ECMASCRIPT_2015

async's polyfill is injected into the output.
Should polyfills not be injected under any circumstances when rewrite_polyfills= false ?

I agree that it should use the Promise implementation (hopefully) available.

We are experiencing the same problem, affecting our production users on version google-closure-compiler: 20240317.0.0..
May I ask why this flag is no longer working?


Improve the Solr script in example folder.

Issue Type

Feature Idea

Summary
In example folder, the solr script is the recommended way to configure solr in documentation. But this script only replace the conf folder of the default collection. My idea is that this script should create a new collection.
If someone wants to create multiple solr collection, it can be a starting point to customize in their environment.

This was merged in the above PR, thanks for your work @jimmyko!

Ah... keeping issue count below 25 :)


segfault encoding arrays as FLAC with odd sample rate above 2**16

I find this somewhat bewildering, but trying to compress a numpy array with a high sample rate, I encountered a segfault. If I encode as WAV instead of FLAC, I have no issue.
Unfortunately, gdb was not helpful in discovering the originating codepath, but I can reliably reproduce this segfault using any odd sample rate higher than 2**16.
import soundfile
import numpy as np
import sys
a = np.random.random(2**8)
for samplerate in range(44100, 88203):
    print(samplerate)
    soundfile.write("/tmp/test.flac", a, samplerate=samplerate)

running the above returns:
...
65533
65534
65535
65536
[1]    17751 segmentation fault  python min.py

Python 3.6.0 (default, Dec 31 2016, 21:20:16)
[GCC 4.9.2] on linux

Linux debian 3.4.113-sun8i #50 SMP PREEMPT Mon Nov 14 08:41:55 CET 2016 armv7l GNU/Linux

libsndfile1-dev / libsndfile1 from stretch, v 1.0.27-1

PySoundFile @ eff15c03174c496421ea65a587bd8529bcb56181

(edit: fix markdown, note issue is only on compression)

Just ran my test script on a Python2.7 amd64 setup with the same version of libsndfile1, same results. Whatever's going on, it's not an architecture or Python-version specific issue....

Interestingly, this error occurs at exactly 65536, aka 2**16 on my computer.
GDB says that the error occurs somewhere within libsndfile. I don't know if this is because we are sending malformed data, or because of an actual error in libsndfile. It might be best to include @erikd in this discussion, and see if he has an idea what might be causing this.

I've can confirm this happens from C as well. Definitely a problem with libsndfile.

Actually, the problem is that FLAC is returning an error and libsndfile continues as if nothing is wrong.

The error being reported from libFLAC is FLAC__STREAM_ENCODER_INIT_STATUS_NOT_STREAMABLE which means "The encoder is bound to the Subset but other settings violate it.". More on "the Subset" here.

Thank you very much, @erikd.
I will close this issue, as it is not fixable within PySoundFile (correct me if I'm wrong!).


Not Support Node attribute ContentEditable=true

when div set attribute "ContentEditable=true" when in Android 4.1 and chrome 44
FastClick not focus element.
I can add node class "needsfocus" solve one element. But not support parent class filter with it..MUST add (children) all element class name

@RelicOfTesla did you find any reasonable solutions?


patch to work with triton-2.0 on low mem devices

same as https://github.com/qwopqwop200/GPTQ-for-LLaMa/pull/144
but for the triton branch

Confirmed it works. I'll merge it.


Add COS event demo

@duglin See what you think with the latest commit.

LGTM just a couple of minor things - waiting on the new ibmcom image to be created....

@duglin Updated the README with COS plugin.


apply_func.apply_to_collection force updating its return type.

🐛 Bug

When I'm using torchmetrics, I'm implementing a custom metrics for classification with a nametuple return. before lightning_utilities 0.9.0 it works because the returned nametuple instance was not changed by the apply_func.apply_to_collection.  Since this behavior was updated after 0.10.0, I'd like to propose that if  apply_to_collection can be updated and still keep the same type.
To Reproduce
Steps to reproduce the behavior...
>>> from torchmetrics.utilities.data import _squeeze_scalar_element_tensor, _squeeze_if_scalar
>>> from collections import namedtuple
>>> import torch
>>> State = namedtuple("State",["gt", "tp", "fp", "tn", "fn"])
>>> state = State(torch.tensor(1), torch.tensor(1) ,torch.tensor(1), torch.tensor(1), torch.tensor(1))
>>> x = _squeeze_if_scalar(state)
>>> x
(tensor(1), tensor(1), tensor(1), tensor(1), tensor(1))

Code sample

Expected behavior

>>> x = _squeeze_if_scalar(state)
>>> x
State(gt=tensor(1), tp=tensor(1), fp=tensor(1), tn=tensor(1), fn=tensor(1))

Additional context

Environment details

lightning_utilitis: 0.10.0

Proposal
def apply_to_collection(
    data: Any,
    dtype: Union[type, Any, Tuple[Union[type, Any]]],
    function: Callable,
    *args: Any,
    wrong_dtype: Optional[Union[type, Tuple[type, ...]]] = None,
    include_none: bool = True,
    allow_frozen: bool = False,
    **kwargs: Any,
) -> Any:
    if include_none is False or wrong_dtype is not None or allow_frozen is True:
        # not worth implementing these on the fast path: go with the slower option
        return _apply_to_collection_slow(
            data,
            dtype,
            function,
            *args,
            wrong_dtype=wrong_dtype,
            include_none=include_none,
            allow_frozen=allow_frozen,
            **kwargs,
        )
    # fast path for the most common cases:
    if isinstance(data, dtype):  # single element
        return function(data, *args, **kwargs)
    ori_class = data.__class__
    if isinstance(data, list) and all(isinstance(x, dtype) for x in data):  # 1d homogeneous list
        return ori_class(function(x, *args, **kwargs) for x in data)
    if isinstance(data, tuple) and all(isinstance(x, dtype) for x in data):  # 1d homogeneous tuple
        return ori_class(*(function(x, *args, **kwargs) for x in data))
    if isinstance(data, dict) and all(isinstance(x, dtype) for x in data.values()):  # 1d homogeneous dict
        return ori_class(**{k: function(v, *args, **kwargs) for k, v in data.items()})

Hi, I am open to working on it. Is there any timeframe for this?

@shubhodeepMitra See my comment here about what I suggest: https://github.com/Lightning-AI/utilities/issues/199#issuecomment-1854860543

Hi @carmocca
Do you think that the proposal mentioned above is workable?
Cause I think the only thing that the modification in 0.10.0's  appy_to_collection lack of is keeping its original input type, other than that, everything looks pretty fine to me.

I made the change that caused this issue to try to have torch.compile graphbreak when it encounters this function for some simple datatypes.
If your proposal introduces a graphbreak, then it would defeat the point of the fast vs slow paths. I haven't tested if it would.
Since avoiding a graphbreak is not that important to me anymore I suggest that we revert to the old implementation before #160. This should be the simpler and safer option.
However, if you open a PR with your suggestion including a test for the namedtuple case and a script showing that apply_to_collection still doesn't graph break on the basic types, I will merge it without issues.