Use containerd in image preloader

What type of PR is this?

/kind bug
What this PR does / why we need it:
Details in https://github.com/kubernetes/perf-tests/issues/1619
Which issue(s) this PR fixes:

Part of https://github.com/kubernetes/perf-tests/issues/1619
Special notes for your reviewer:
Retained the docker volume mount but gating logic to fallback to docker is not implemented yet. Should be doable by updating framework / image preload.
Does this PR introduce a user-facing change?:

NONE

Additional documentation e.g., KEPs (Kubernetes Enhancement Proposals), usage docs, etc.:

Please rebase and then let's test it by making the changes in the run-e2e.sh like these - https://github.com/kubernetes/perf-tests/pull/1625

Please rebase and then let's test it by making the changes in the run-e2e.sh like these - https://github.com/kubernetes/perf-tests/pull/1625

@mm4tt done, i set it to latest tag. let me know if you want to pass an env var instead

@mm4tt done, i set it to latest tag. let me know if you want to pass an env var instead

/ok-to-test

/ok-to-test

@mm4tt do you have a way to check the logs on those nodes?

@mm4tt do you have a way to check the logs on those nodes?

Oh, right. Could you modify the command to also dump logs to var/logs as I did in the repro - https://github.com/kubernetes/perf-tests/pull/1625/files ?

Oh, right. Could you modify the command to also dump logs to var/logs as I did in the repro - https://github.com/kubernetes/perf-tests/pull/1625/files ?

It fails with - https://storage.googleapis.com/kubernetes-jenkins/pr-logs/pull/perf-tests/1654/pull-perf-tests-clusterloader2/1349722543606468608/artifacts/e2e-1654-62db2-minion-group-00ml/cl2-image-preload-0.log
ctr: failed to resolve reference "gcr.io/k8s-testimages/probes": object required

It fails with - https://storage.googleapis.com/kubernetes-jenkins/pr-logs/pull/perf-tests/1654/pull-perf-tests-clusterloader2/1349722543606468608/artifacts/e2e-1654-62db2-minion-group-00ml/cl2-image-preload-0.log
ctr: failed to resolve reference "gcr.io/k8s-testimages/probes": object required

It fails with - https://storage.googleapis.com/kubernetes-jenkins/pr-logs/pull/perf-tests/1654/pull-perf-tests-clusterloader2/1349722543606468608/artifacts/e2e-1654-62db2-minion-group-00ml/cl2-image-preload-0.log
ctr: failed to resolve reference "gcr.io/k8s-testimages/probes": object required

not sure if it's because it's a private registry? i'll try to set up a minimal repro on a VM

It fails with - https://storage.googleapis.com/kubernetes-jenkins/pr-logs/pull/perf-tests/1654/pull-perf-tests-clusterloader2/1349722543606468608/artifacts/e2e-1654-62db2-minion-group-00ml/cl2-image-preload-0.log
ctr: failed to resolve reference "gcr.io/k8s-testimages/probes": object required

not sure if it's because it's a private registry? i'll try to set up a minimal repro on a VM

It fails with - https://storage.googleapis.com/kubernetes-jenkins/pr-logs/pull/perf-tests/1654/pull-perf-tests-clusterloader2/1349722543606468608/artifacts/e2e-1654-62db2-minion-group-00ml/cl2-image-preload-0.log
ctr: failed to resolve reference "gcr.io/k8s-testimages/probes": object required

not sure if it's because it's a private registry? i'll try to set up a minimal repro on a VM

It looks like the ctr image pull requires both name of the image and tag. Repro:
mmatejczyk@gke-containerd-test-default-pool-181818c8-4bg6 ~ $ ctr image pull gcr.io/k8s-testimages/probes
ctr: failed to resolve reference "gcr.io/k8s-testimages/probes": object required
mmatejczyk@gke-containerd-test-default-pool-181818c8-4bg6 ~ $ ctr image pull gcr.io/k8s-testimages/probes:latest
gcr.io/k8s-testimages/probes:latest:                                              resolved       |++++++++++++++++++++++++++++++++++++++|
manifest-sha256:bf80b8c9bbf4fa986012b48dad0bde8252e10f87c412e0af2e89272d720f3ad6: done           |++++++++++++++++++++++++++++++++++++++|
layer-sha256:e2bc2b9f5790da665d3f19ab886da7b2def5ea19ce2ad228d7f33284155ef39b:    done           |++++++++++++++++++++++++++++++++++++++|
config-sha256:e49e62e89c2475a39c6dc40e96c14853f52dee1648237db663c2b598989caeb2:   done           |++++++++++++++++++++++++++++++++++++++|
layer-sha256:8e402f1a9c577ded051c1ef10e9fe4492890459522089959988a4852dee8ab2c:    done           |++++++++++++++++++++++++++++++++++++++|
layer-sha256:ce7779d8bfe3415e27ec3bf5950b2ab67a854c608595f0f2e49066fb5806fd12:    done           |++++++++++++++++++++++++++++++++++++++|
layer-sha256:de1a1e452942df2228b914d2ce9be43f18b137f4ebc3dce9491bc08c2630a2ea:    done           |++++++++++++++++++++++++++++++++++++++|
layer-sha256:a7ffcdf77d94827be5c9826e80d73ce8ddc9c6fa619e70abd99e6aebcd6551ab:    done           |++++++++++++++++++++++++++++++++++++++|
layer-sha256:e7348c6471e5ee4e6f419ee029a40c7352c65f64e76a7885380436d66149420e:    done           |++++++++++++++++++++++++++++++++++++++|
layer-sha256:69f2c21b6694e6080c1ee40d4aefd49461a5859c0c2f47924953249cdc23046c:    done           |++++++++++++++++++++++++++++++++++++++|
elapsed: 6.6 s                                                                    total:  128.3  (19.4 MiB/s)
unpacking linux/amd64 sha256:bf80b8c9bbf4fa986012b48dad0bde8252e10f87c412e0af2e89272d720f3ad6...
done

It fails with - https://storage.googleapis.com/kubernetes-jenkins/pr-logs/pull/perf-tests/1654/pull-perf-tests-clusterloader2/1349722543606468608/artifacts/e2e-1654-62db2-minion-group-00ml/cl2-image-preload-0.log
ctr: failed to resolve reference "gcr.io/k8s-testimages/probes": object required

not sure if it's because it's a private registry? i'll try to set up a minimal repro on a VM

It looks like the ctr image pull requires both name of the image and tag. Repro:
mmatejczyk@gke-containerd-test-default-pool-181818c8-4bg6 ~ $ ctr image pull gcr.io/k8s-testimages/probes
ctr: failed to resolve reference "gcr.io/k8s-testimages/probes": object required
mmatejczyk@gke-containerd-test-default-pool-181818c8-4bg6 ~ $ ctr image pull gcr.io/k8s-testimages/probes:latest
gcr.io/k8s-testimages/probes:latest:                                              resolved       |++++++++++++++++++++++++++++++++++++++|
manifest-sha256:bf80b8c9bbf4fa986012b48dad0bde8252e10f87c412e0af2e89272d720f3ad6: done           |++++++++++++++++++++++++++++++++++++++|
layer-sha256:e2bc2b9f5790da665d3f19ab886da7b2def5ea19ce2ad228d7f33284155ef39b:    done           |++++++++++++++++++++++++++++++++++++++|
config-sha256:e49e62e89c2475a39c6dc40e96c14853f52dee1648237db663c2b598989caeb2:   done           |++++++++++++++++++++++++++++++++++++++|
layer-sha256:8e402f1a9c577ded051c1ef10e9fe4492890459522089959988a4852dee8ab2c:    done           |++++++++++++++++++++++++++++++++++++++|
layer-sha256:ce7779d8bfe3415e27ec3bf5950b2ab67a854c608595f0f2e49066fb5806fd12:    done           |++++++++++++++++++++++++++++++++++++++|
layer-sha256:de1a1e452942df2228b914d2ce9be43f18b137f4ebc3dce9491bc08c2630a2ea:    done           |++++++++++++++++++++++++++++++++++++++|
layer-sha256:a7ffcdf77d94827be5c9826e80d73ce8ddc9c6fa619e70abd99e6aebcd6551ab:    done           |++++++++++++++++++++++++++++++++++++++|
layer-sha256:e7348c6471e5ee4e6f419ee029a40c7352c65f64e76a7885380436d66149420e:    done           |++++++++++++++++++++++++++++++++++++++|
layer-sha256:69f2c21b6694e6080c1ee40d4aefd49461a5859c0c2f47924953249cdc23046c:    done           |++++++++++++++++++++++++++++++++++++++|
elapsed: 6.6 s                                                                    total:  128.3  (19.4 MiB/s)
unpacking linux/amd64 sha256:bf80b8c9bbf4fa986012b48dad0bde8252e10f87c412e0af2e89272d720f3ad6...
done

ah 👍  let me slap on the latest tag then

ah 👍  let me slap on the latest tag then

This is great! Thank you so much!
/lgtm
/approve

This is great! Thank you so much!
/lgtm
/approve

This is great to see how simple code change that is in the end - thanks!

This is great to see how simple code change that is in the end - thanks!


Loose numeric format

Allow non canonic numerical forms like:

000 for 0
0010 for 10
10E3 for 10e3

This simplify the regexs a lot.

numbers starting with 0 are usually octal representations.


How to do base64 encoding

Hi,
I'm wondering if there is a recommended approach to doing base64 encoding. new Buffer("string").toString('base64') gives me a "cannot find variable Buffer" error. And I've also tried using btoa() https://developer.mozilla.org/en-US/docs/Web/API/WindowBase64/btoa but this only seems to work when I have the chrome dev tools open.
Thanks

Try grabbing the "buffer" module from npm which is built on typed arrays and provides a mostly compatible API.

That worked. Thanks!

@seanzarrin could you please paste complete example. I am facing same issue. Unable to find correct Buffer npm module.

could you please provide a code snippet?

@seanzarrin how do solve this. could please share code snippet or steps to slove ?


linter-flake8 crashes when used with teletype

The related issue in the teletype repo is here: atom/teletype#228.

I think the issue is caused by this line: https://github.com/AtomLinter/linter-flake8/blob/master/lib/main.js#L185
I have changed it to cwd: '', and it works well.
My question is: why do we pass the cwd to flake8? There can be situations, where it is important, I just can not think of any. Maybe checking relative imports or something like that?
Anyway, without it the linter works well (at least to me) with teletype.
Thanks.

Closing as a duplicate of https://github.com/atom/teletype/issues/228. It's likely that remote editors will be being blocked at the linter level for now.

It may only be needed for certain edge cases here. There are a few providers that don't need anything other than the file contents in order to return results, but as most of them need some sort of access to the file system the current plan is to simply disable them on remote editors.


Working with page #/page size vs index/offset

I'm wondering if anyone has been able to make this module work using page #/page size API calls? The API i'm plugging into requires these instead of index & offset. Calls when scrolling down are obvious & easy, but because of the way the buffer clears itself, I haven't found a way to make it work when scrolling up. Could the buffer functionality be changed to remove whole chunks instead of half?

would you share a repro?

I could give you the API source/doc but the specific endpoint that'll utilize endless scroll hasn't been finished yet. I can't share my project due to NDA.

My take on this was:

which items are actually being requested?

--index; // if using zero based records
endItem = index + count;
startItem = (index<0?0:index); // if it doesn't have negative items, otherwise just use index

retrieve pages (often, more than one) based on what index, count and page size i'm working.

pageStart = Math.floor(startItem/pageSize)
pageEnd = Math.ceil(endItem/pageSize)
check if pageEnd >= totalPages, if totalPages is available

join all the arrays for each page
slice  the resulting array to get the desired range.

diff = pageStart * pageSize
data.slice(startItem - diff, endItem - diff)

Be aware that ui-scroll's index is one based while the arrays are zero based. In my case it was just the case to decrement the index before anything as my pages are also zero based. #44

While I semi-understand what you did, it seems like a lot of fetching and fandangling for something that could be fixed easily with an option in ui-scroll for buffer clip size. Some sort of option that would allow ui-scrolls use of index/offset to keep index a multiple of count so that APIs using page # and page size can use this as well with minimal effort. And similarily, a toggle to not allow negative index would be nice. Flexibility is the key.
For now, we've decided to work around this by disabling the removeElement and prepend functions which should work ok considering the relatively small data-size we're working with. We're also considering adding a max scroll down limit at which the user will see a "Load more..." button on the bottom to click to see the next "page". If they're going to load down the DOM, they at least have to work for it this way.


Can I use audio message and photo message features without purchasing the license, If I am not using it's UI module?

I want to enable audio message feature without using its pre-developed UI. Planning to do that myself. Is it possible with the free license?

Yes, as long as you develop it yourself, you don't need to pay any license fee.

Yes, as long as you develop it yourself, you don't need to pay any license fee.


fix(restore CI health): avoid ticket get status on tests until SUNAT beta supports it

Released in v2.0.0-Beta7 -> https://github.com/project-openubl/xbuilder/releases/tag/v2.0.0-Beta7


[Consensus] Backup votes on timeout

Summary:
Upon timeout:

if has voted in this round already, repeat the same vote
pop the best backup proposal from the proposer election: if there is some, execute and vote for it
otherwise, execute and vote for NIL.
This diff extends the functionality of proposer election and touches the backup vote generation of event processor.
Future work: add counters and do performance analysis of the system with multi proposer.

Testing: extended MultiProposer unit tests and added an integration test that verifies a commit of the secondary proposal.
Issues: ref #371

Updated the process_proposal function to do early return instead of the ugly Option wrapper.

We keep HashMap of backup proposers, but in reality we can only use one at the end.
Should we just replace HashMap with with Option<(rank, proposal)>?

@andll right, since we're using pop_best_backup_proposal() only once it doesn't make sense to keep them all: let me change that map to an option and change the pop_best_backup_proposal() to take_backup_proposal().

Updated proposer election to keep just be best ranked backup proposal instead of a hashmap with all the options.


Ability to provide options to disable fields. Expose description for each field if exist

Q
A

Bug fix?
[ ]

New feature?
[X]

New sample?
[ ]

Related issues?
fixes #X, partially #Y, mentioned in #Z

What's in this Pull Request?
Please describe the changes in this PR. Sample description or details around bugs which are being fixed.
Not sure the followings would be useful for broader audience but in case they are:
In DynamicForm control

Add an additional property to provide options to disable fields.
Expose description for each field if defined.

Guidance

You can delete this section when you are submitting the pull request.
Please update this PR information accordingly. We'll use this as part of our release notes in monthly communications.
Please target your PR to dev branch.

Hi @jumpei-yamauchi!
Thank you for the PR!
Could you please resolve the conflicts?


Add more entry points to the workflow

Description of feature
It would be nice to have entry points for different parts of the pipeline ex. snv/sv annotation, mitochondrial analysis.

break this down into smaller issues

start from duplicate marked bam
start from variant called vcfs

I've made a draft version of this. This is just to have something concrete to look at - I don't think it's necessarily the right way, as I don't know the pipeline that well.

Add an input_type parameter to the workflow, which can either be reads for FASTQ (default) or alignments for BAM. In the future there could also be another value for VCF+BAM.
Add a column bam to the sample sheet. The CHECK_INPUT process is used to get the BAM and BAI files based on the sample sheet.
Add a test_bam config to test it

Incomplete:

Modify SAMPLESHEET_CHECK and its script
Test bam file and samplesheet are not uploaded to test data repository

Problem:

BWAMEM2_MEM_MT crashes '  [E::bwa_set_rg] the read group line is not started with @RG'. (I don't know yet if this is a serious problem with the approach, or a trivial fix)

See changes in my fork https://github.com/fa2k/raredisease/commit/ff789045c84b0ba4874f79a7635a2f07e5317de8

I've made it run with both the existing test and a new test for bam input (and cleaned up a bit).
The test outputs are not identical, but I've checked two vcf files:
annotate_snv/justhusky_rohann_vcfanno_filter_vep.vcf: Identical up to different timestamps in headers
annotate_sv/justhusky_svdbquery_vep.vcf: Unknown differences

check_samplesheet.py I made a polymorphic RowChecker - it's a bit strange and we can consider alternatives. Overall, here's the changes compared to the dev branch:
https://github.com/nf-core/raredisease/compare/master...fa2k:raredisease:multiple-entry-points
The test_bam profile requires an override sample sheet, and needs bam file to exist locally.

I have updated to integrate the upstream changes from dev. Will make a pull request.

Any updates on this feature? Starting from bam-files would be extremely useful.

Any updates on this feature? Starting from bam-files would be extremely useful.

Sorry for the late reply. As far as I know, there is no work that has been started. I'm even unlikely to start in the near future. I still need it and will start eventually if nobody else takes it.

I'd happily share the logic with have in Sarek for this, and really we should converge on more subworkflows and bits of code for this kind of things


unexpected message

I am getting this odd message when I make a call from this module in a script:
The tokenizer class you load from this checkpoint is not the same type as the class this function is called from. It may result in unexpected tokenization.
The tokenizer class you load from this checkpoint is 'BartTokenizer'.
The class this function is called from is 'PreTrainedTokenizerFast'.

I got the same thing.


Electron packager ignores src folders inside of node_modules modules

Preflight Checklist

[x] I have read the contribution documentation for this project.
[x] I agree to follow the code of conduct that this project follows, as appropriate.
[x] I have searched the issue tracker for a bug that matches the one I want to file, without success.

Issue Details

Electron Packager Version:

15.2.0

Electron Version:

10.4.2

Operating System:

Windows 10

Last Known Working Electron Packager version::

none

Expected Behavior
Electron packager should include the src folder inside of the node modules that have it
Actual Behavior
Electron packager ignores src folders inside node_modules modules
To Reproduce
Install a node package that has its code inside a folder named src like node-cron
Additional Information
It only ignores folders named src, I renamed the src folder to lib and it is being packaged within the app

Apparently I didn´t have my --ignore parameter configured correctly, sorry about the issue


Sabers no longer get colorized

Title says it all.  Sabers no longer are colorized, even the defaults.

https://github.com/Aeroluna/Chroma/pull/18 Fixes this


osx: no way to disable Zulip from starting on Login

After installing Zulip Desktop 0.5.2 on Mac OSX 10.13.1 (and prior versions), the application starts automatically on login.  A zulip icon appears as a menu in the top menu bar in OSX.  This menu offers no means to disable auto-start on login.  I'm having difficulty determining where this application launches and how I can disable it from doing so automatically.  No entry appears in the "LoginItems" tab under the "Users and Groups" preference pane.  In addition, there was no obviously named plist in any of the following directories:

/System/Library/LaunchDaemons/
/System/Library/LaunchAgents/
/Library/LaunchAgents/
/Library/LaunchAgents/
~/Library/LaunchAgents/

It should be easier to configure this autostart behavior.

@JoeJasinski are you sure that you're using v0.5.2? The current stable version is v1.5.0. In the latest release there is a setting option to disable/enable this feature.

Download it from - https://zulipchat.com/apps

@JoeJasinski how did you end up with 0.5.2?  That version is super old and actually a completely different app implementation.  Try uninstalling the old app and downloading 1.5.0 from https://zulipchat.com/apps/.
(I'm closing this issue since it doesn't apply to this project; it applies to the old zulip-desktop-legacy project, so there's nothing we can do to address it here)

Thank you @timabbott and @akashnimare. I'll try with a newer version.


Improvements to registry indexing to prevent hanging due to DB I/O operations

Description:
There is a possibility for registry indexing threads to be hanged due to the slowness of the underlying database calls. The main problem is most of the time this doesn't give any warning logs or anything, The indexing process silently becomes hanged and sometimes none of the APIs published from Publisher appears in Store (or take a lot of time to appear).
There are some probable improvements we can do such as:

Using API specific RXT indexer rather than using the generic one.
This can reduce a couple of DB calls during each indexing call.

Detect hanging threads and kill them with a warning etc.
We need to implement a mechanism to detect hanging threads and need to be bit careful when killing those as they might forever take the acquired locks and no one will be able to take them again.

Prevent hanging due to I/O operations. Currently, we are not using any timeouts for DB calls. It seems like, there are some options we can do, using JDBC driver setNetworkTimeout and datasource level socketTimeout (eg: for MSSQL). Once the timeout is hit, the DB operation will be aborted and an SQLException will be logged.

Affected Product Version:
All versions of API Manager based on Registry
(Current latest release: 2.6.0)

Closing Since the issue has been stale for a long time


Nil value error when loading plugin

Making a new issue since I am unable to load the plugin with default configuration.
Error Log:
Error detected while processing /home/user/.config/nvim/init.lua:
E5113: Error while calling lua chunk: ...ack/packer/start/nvim-cursorline/lua/nvim-cursorline.lua:55: attempt to call upvalue 'au' (a nil value)
stack traceback:
        ...ack/packer/start/nvim-cursorline/lua/nvim-cursorline.lua:55: in function 'setup'
        init.lua:6: in main chunk

Neovim spec:
NVIM v0.6.1
Build type: Release
LuaJIT 2.1.0-beta3

Any help would be appreciated. Thanks

Requires neovim version 0.7 or higher. What is the version?


hubble/peer: prevent pushing to buffer when it's closed

Pushing to the buffer when it's closed should not be possible as the buffer can't be drained.
This commit updates Pop() to ensure an error is returned when trying to call it when the buffer is closed.

test-me-please

Coverage increased (+0.0006%) to 37.168% when pulling 0c3a3c0c8c0cfd17c23d4702cd8cae026615d562 on pr/rolinh/hubble-peer-push-stop into dc2c1611ab4e69a58f280063526abeedec26c387 on master.


Label payments

Add labels to payments, so you can group and see total expense by label.

Duplicate of #118


refactor:  interaction for a mock first circuit handled inside the EccOpQueue

Closes https://github.com/AztecProtocol/barretenberg/issues/723.
Because of issues with handling zero-commitments, we need to populate the EccOpQueue with some mock ops from a first circuit in order for the first merge prover to work without problems. This was done client-side which required manually calling either GoblinMockCircuits::perform_op_queue_interactions_for_mock_first_circuit or op_queue->populate_with_mock_initital_data (two functions for the same purpose) everywhere goblin and the merge protocol is used/tested. We now handle this inside the EccOpQueue at initialisation and populate_with_mock_initital_data (a modified version) becomes a private function to the class. This approach seems the most fitting to the way we use Goblin (or Goblin as part of ClientIC), i.e. all circuits accumulated share the same EccOpQueue.

Benchmark results
Metrics with a significant change:

note_trial_decrypting_time_in_ms (32): 113 (+106%)

Detailed results
All benchmarks are run on txs on the Benchmarking contract on the repository. Each tx consists of a batch call  to create_note and increment_balance, which guarantees that each tx has a private call, a nested private call, a public call, and a nested public call, as well as an emitted private note, an unencrypted log, and public storage read and write.
This benchmark source data is available in JSON format on S3 here.
Values are compared against data from master at commit b9de0f52 and shown if the difference exceeds 1%.
L2 block published to L1
Each column represents the number of txs on an L2 block published to L1.

Metric
8 txs
32 txs
64 txs

l1_rollup_calldata_size_in_bytes
5,700
18,884
36,452

l1_rollup_calldata_gas
66,528
239,300
469,568

l1_rollup_execution_gas
673,991
980,121
1,388,342

l2_block_processing_time_in_ms
1,201 (+1%)
4,481
8,872 (-1%)

note_successful_decrypting_time_in_ms
209 (+3%)
607 (+13%)
985

note_trial_decrypting_time_in_ms
15.1 (+44%)
:warning: 113 (+106%)
118 (+3%)

l2_block_building_time_in_ms
12,097 (-3%)
47,631 (-1%)
96,035

l2_block_rollup_simulation_time_in_ms
7,319 (-5%)
29,008 (-2%)
58,498

l2_block_public_tx_process_time_in_ms
4,746 (+2%)
18,555
37,405

L2 chain processing
Each column represents the number of blocks on the L2 chain where each block has 16 txs.

Metric
5 blocks
10 blocks

node_history_sync_time_in_ms
14,284 (-1%)
27,115 (-1%)

note_history_successful_decrypting_time_in_ms
1,250
2,426

note_history_trial_decrypting_time_in_ms
93.3 (-11%)
140

node_database_size_in_bytes
18,792,528
35,348,560

pxe_database_size_in_bytes
29,923
59,478

Circuits stats
Stats on running time and I/O sizes collected for every circuit run across all benchmarks.

Circuit
circuit_simulation_time_in_ms
circuit_input_size_in_bytes
circuit_output_size_in_bytes

private-kernel-init
255
44,736
28,001

private-kernel-ordering
197 (+1%)
52,625
14,627

base-rollup
658
177,932
997

root-rollup
68.8
4,320
825

private-kernel-inner
321
73,715
28,001

public-kernel-app-logic
165 (-1%)
34,920
27,972

public-kernel-tail
82.4
34,507
27,972

merge-rollup
8.56 (+1%)
2,840
997

Tree insertion stats
The duration to insert a fixed batch of leaves into each tree type.

Metric
0 deployed contracts

tx_size_in_bytes
19,179

Transaction processing duration by data writes.

Metric
0 new note hashes
1 new note hashes

tx_pxe_processing_time_ms
2,700
1,385

Metric
0 public data writes
1 public data writes

tx_sequencer_processing_time_ms
5.84 (+6%)
577


Send transaction using xml when splitting payment.

Also add an example of boleto usage.

 Code Climate has analyzed this pull request.


Fix reference to cursor element

Reference to cursorEl is not correctly initialised before attempting to remove event listeners.

Thanks!


Why Maven repository says deprecated

https://mvnrepository.com/artifact/com.squareup.okhttp3/mockwebserver

We're renaming the artifact in 5.0. But you can continue to use the existing artifact, it's your best choice.

Thanks for the INFO.


Solution to: review threads are hard to follow

With review threads, often the last comment on the page is not actually the last comment.
How can this be solved?

I'm thinking that we could add a link at the bottom of the conversation pointing to the last review comment. Mockup:

This would be similar to highlight-highest-rated-comment, except it would appear at the very bottom of the page, which is where people expect the latest change.

I come up with another feature request relating to this solution:
Change the update informationupdated <time> ago/ on <date> to updated <time> ago/ on <date> by *** in issue lists if sorted by update date, and make it clickable, linking to "Latest comment" bubble you have mentioned above.
(Would it be a kind of duplicate feature of the open-issue-to-latest-comment🤔? Though I still hope this feature can be added.)

Makes sense, can you open a new issue? It would still be part of open-issue-to-latest-comment

Makes sense, it would still be part of open-issue-to-latest-comment
Actually this feature could be changed to point to the latest visible change on the page, instead of "the bottom-most comment" and would be a partial solution to this issue.

That’s great!

Actually this feature could be changed to point to the latest visible change on the page

I happen to be 👎 on this change. This would be a "breaking change" I really like the current behavior and I use it all the time to jump to the last comment.

Isn't the last comment possibly in a review that's not at the bottom though?

I happen to be 👎 on this change. This would be a "breaking change" I really like the current behavior and I use it all the time to jump to the last comment.

Or just pointing to "Latest comment" bubble which is at the bottom of the conversation would be more acceptable, just like what I have said?  In this case , jumping to the latest comment just need one more click on the bottom.

Isn't the last comment possibly in a review that's not at the bottom though?

thats if you are looking at a pull request. for issues many tines I am looking to see a solution and check the last 2 comments is what I am looking for.
The truth is that I still miss https://github.com/sindresorhus/refined-github/pull/1879

I usually end up on a PR review from notifications, which most of the times links directly to a specific comment (which is supposedly the "last edited comment"). In the linear flow, I don't this feature making any difference except for a fancy button that points to the "last edited comment".
IMO PRs are supposed to be non-linear, in terms of comments, but I think that there should be view of activities (updates) on PR in linear order somewhere.

@fregante So, how can I find the latest visible change on the page by using the conversation-activity-filter? TBH I don't get that😂.
Also, should I create a new separate issue for https://github.com/sindresorhus/refined-github/issues/3462#issuecomment-674944698?


Make debug information available for warnings

Currently, debug informations such as the frame, exception are considered to be attributes of tb_data which does not exist for warnings. They need to be made available.

This has been done.


Changing Redirect URL

Changing redirect URL

Changed Redirect URL at Spotify Dashboard so that after successful auth with Spotify, app moves on to home page


Fix a crash on ubuntu during wheel tests

Codecov Report

Merging #42 (ebca6d1) into main (8a7bc33) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #42   +/-   ##
=======================================
  Coverage   85.03%   85.03%
=======================================
  Files          10       10
  Lines        1671     1671
=======================================
  Hits         1421     1421
  Misses        250      250

Continue to review full report at Codecov.

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


Property in subset of branches of a union type should be accessible for checking against undefined and result in narrowing type of object

Suggestion
🔍 Search Terms
undefined, subset property, union, narrowing, type predicate, undefined test
✅ Viability Checklist
My suggestion meets these guidelines:

[X] This wouldn't be a breaking change in existing TypeScript/JavaScript code
[X] This wouldn't change the runtime behavior of existing JavaScript code
[X] This could be implemented without emitting different JS based on the types of the expressions
[X] This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, new syntax sugar for JS, etc.)
[X] This feature would agree with the rest of TypeScript's Design Goals.

⭐ Suggestion
TLDR: Type predicates are too much ceremony when a simple check against undefined will do
Details:
Currently, when you have a union of types such as ({ a: number } | { b: string }), TS prevents you from writing this natural code:
if (x.a !== undefined) { // <-- Compiler error here...
    x; // <-- ... but it should work so that compiler can see x as { a: number } here
}

It's annoying when you have just told the compiler that a property might exist, that you can't then test whether the property does exist.
It's also annoying that when you have told the compiler that a property only exists in one branch of a union, that testing the property doesn't let the compiler figure out that the object is in that branch of the union.
TS provides workarounds, but none of them are great.
You can provide a type assertion to get access to the member, but that doesn't allow the compiler to narrow the type of x.
Alternatively, you can use a type predicate to distinguish between parts of a union, but that means defining a separate function which interrupts your flow and still requires you to use unintuitive code.
Here's the type predicate example from the docs:
function isFish(pet: Fish | Bird): pet is Fish {
  return (pet as Fish).swim !== undefined;
}

You want to find out if something is a fish, so you, counterintuitively, have to declare that it is a fish before you can find out whether it is a fish.
Unfortunately type predicates are not very reusable. For example, this predicate does not tell us that pet is a fish in all cases. Instead, it allows us to distinguish between a fish and a bird. If we need to detect a fish when we might have a fish, a bird, and a dog, we need to create a new function or adjust the type of the existing one.
It would be a big usability win not to have to define type predicates for situations like this.
My suggestion is that code using the following pattern should compile without error and narrow the object:

In a conditional
Operation is a property access on a union type
Property name exists in at least one branch of the union
Property value is tested equal/not-equal to undefined

Note that the optional chain operator also fulfills these conditions, it's not just expressions of the form if (a.b === undefined).
This change would neither break existing code (such code currently does not compile) nor would it fail to detect probable errors.
There is an error that would no longer be detected: If the user intended to enter the name of a property available in all branches of the union, but typoed and instead provided the name of a property only valid in a subset of branches, they would previously get a compile error, but with the change, the property access and test would now compile. This is not one to be concerned about.
📃 Motivating Example
ANNOUNCEMENT:
Type predicates are needed in fewer cases, and more of your code will just work like you expect.
Checking a property against undefined is now allowed for union types even if the property is not present in all members of the union and the compiler will use that check to narrow the type of the object down to the appropriate member(s) of the union.
The following code will now compile successfully exactly as written:
type Fish = { swimming: boolean; };
type Cat = { purring: boolean; }

declare const pet: Fish | Cat;

if (pet.swimming !== undefined) {
    pet.swimming = true; // It's a fish
} else {
    pet.purring = true; // It's a cat
}

Previously, you would have had to introduce a type predicate to decide whether pet was a cat or a fish. Now you can just write code that checks the distinguishing property directly and TS will do the work of determining what types are appropriate.
💻 Use Cases
It's really quite common to want to distinguish between members of a union type (you're defining an overloaded function or consuming someone's API for example) and many times you do it by checking for the presence of a property that is only available in one of (or a subset of) the union's members. Currently, the obvious code to detect property presence fails the type check and TS produces an error, so you have to go through the faff of creating a type predicate that is only useful in this one situation. This change would fix that.
This current behavior is probably my least favorite thing about TypeScript.

Duplicate of #42775.
Your suggestion would be very unsound. TypeScript types are not sealed. it's possible there are additional properties not specified in the type definition.

Is it a duplicate? I'm not proposing that TS treat properties as optional. This code would continue to fail for example:
type Fish = { swimming: boolean; };
type Cat = { purring: boolean; }

declare const pet: Fish | Cat;

pet.swimming = true; // This produces an error even if suggestion is implemented

Your point about soundness also applies to checking properties against undefined when implementing a type predicate. Do you recommend that users not check properties against undefined in type predicates? I'm probably missing your point. I hope you have the time to clarify.

I'm not proposing that TS treat properties as optional.

You're suggesting that the type you access has these "fictional" properties, at least on read access.

Your point about soundness also applies to checking properties against undefined when implementing a type predicate.

In type predicates the user is responsible that the verification is correct. This is an intentional decision, your suggestion would be a global pitfall

Do you recommend that users not check properties against undefined in type predicates?

And depending on the code and the data I would recommend against simply checking for undefined and verify your data actually matches your type, as much as possible.

I am suggesting that names of properties that exist on a subset of a union's members are accessible only in situations where they are being compared equal or not equal to undefined.

So you're suggesting the type you're accessing a member on is changing depending on the used operator and the right (or left) side expression.

I'm not a member of the TypeScript team, of course. But I absolutely can't see this suggestion being a good fit for the language. Anyway, I said by bit, I'm out.

I appreciate the discussion, but I want to be clear what I'm proposing. I'm not suggesting that there should be read access to fictional properties. My suggestion is not to allow read access at all: it is to allow equal/not equal comparison to undefined only. (The result of that comparison then allows TS to narrow the type). The relevant properties of course aren't fictional, they are properties that are present on the members of the union.

So you're suggesting the type you're accessing a member on is changing depending on the used operator and the right (or left) side expression.

The type on which the member is accessed is the union. Yes, the context in which the member is accessed would determine what happens in the compiler.

You seem to be proposing this:
type Fish = { swimming: boolean; };
type Cat = { purring: boolean; }

const animal = { purring: true, swimming: "mercat" };
const pet: Fish | Cat = animal;
if (pet.swimming !== undefined) {
    pet;  // narrowed to Fish, but it's actually a Cat!
}

That's the unsoundness @MartinJohns is referring to.  It's worth noting that in checks have this problem too (and you can already check for "swimming" in pet to do the desired narrowing), but I wouldn't want to purposely introduce another manifestation of this same footgun.

Yes, that's what I'm proposing. I understand that TS allows assignment with excess properties. I'm also aware that TS allows type assertions and that objects often come from untyped JS code as any. There are numerous ways in which the runtime object and the types may not match.
But let's not lose sight of the fact that whereas users make mistakes, they also know more about their code than the compiler. The user wrote if (pet.swimming !== undefined) and expected something to happen. What do you think they meant? Non-goal 3 applies.

The user wrote if (pet.swimming !== undefined) and expected something to happen. What do you think they meant?

They clearly meant to ask "Is this a fish?"  If the type system answers "yes" (by narrowing the type to Fish) then it's potentially lying to them, which weakens the type system and makes it easier to easier to fall into a soundness trap without providing any additional benefits as a tradeoff.  Obviously perfect soundness isn't a design goal, but since you can already use an in check to achieve exactly this, I don't see how giving the user a second way to do the same unsound inference is an improvement.

whereas users make mistakes, they also know more about their code than the compiler

I don't mean this to be patronizing, so don't take it that way - but this is a slippery slope.  Taken to its logical conclusion, we could easily turn this into an argument to just ignore the type system entirely and write code in plain JavaScript. 😄 (Of course nobody writing in TS would actually suggest this... hopefully 😅)
Even putting soundness concerns aside, the compiler's job is to warn the user about potential mistakes, and IMO this is a potential mistake - the code doing the pet.swimming check could easily have ended up getting a Cat with extraneous properties without the developer who wrote the check knowing that was a possibility.  Sure, nobody's passing your function mercats now... but another developer may do so later under the rationale that, TS allows objects with extra properties, so any code that accepts objects of any type should be prepared to handle that properly.

No worries. I appreciate the discussion and agree about slippery slopes - I'm all for using the type system. The thing is that users have to be able to distinguish between types sometimes. Do you have a sound way of doing that?
I actually missed that in does the narrowing I'm after, so thanks much for pointing that out. I'll use that instead.

The sound way of doing this is to change the types to
type Fish = { swimming: boolean; purring?: never };
type Cat = { purring: boolean; swimming?: never };

which tells the compiler that a Fish does not have a defined purring property and that  Cat does not have a defined swimming property.  After that, your original check will work:
declare const pet: Fish | Cat;
if (pet.swimming !== undefined) {
    pet.swimming = true; // It's a fish
} else {
    pet.purring = true; // It's a cat
}

If you keep it the way it is now and use in operator narrowing, then the error goes away, but it has the same pitfalls as your proposal.
It's a bit frustrating for me to have to explain both

You can't use obj[key] !== undefined to narrow obj because that would be unsound.  Object types are not sealed or exact; what if you get some pathologically weird object from outer space that breaks your assumptions?  The world would descend into chaos!  Soundness forever!!!
Of course you can use key in obj to narrow obj, because it's very practical to do so.  Nobody would ever write such a check if it were remotely likely that it would fail to discriminate among union members.  Who cares if it's not sound? We've got code to write, and these seat belts are cramping our collective style!  Productivity above all!!!

without coming off as some combination of hypocritical, incompetent, and esoteric.  It would be so nice to pick one or the other philosophy here so that the explanations would at least be consistent with each other (a.k.a second-order soundness).

It would be so nice to pick one or the other philosophy here so that the explanations would at least be consistent with each other (a.k.a second-order soundness).

Fair point, though at least for me, the fact that obj[key] !== undefined doesn't work arises as a natural consequence of obj[key] not working in general because the type doesn't support the key in question.  So there's your second-order soundness.  It'd be a bit of a weird special case IMO to say you can access any arbitrary property only for the purpose of comparing its value against undefined, particularly when key in obj already 1) approximates that check well enough in most cases and 2) communicates intent better.
Basically, w.r.t. the aforementioned inconsistency, allowing this is just moving the goalposts: "Why can I do obj[key] !== undefined but not, e.g. obj[key] === "some sentinel value" even though both checks are potentially unsound?"

I kind of wish we would get Exact Types already because it does seem like lots of people want to write code with the expectation of no extraneous properties (and who can blame them?) and not having a way to tell the compiler to enforce that invariant is frustrating.

Does the never code work? I would have thought that after TS has seen pet.swimming !== undefined, it would either know that pet.swimming is not undefined, so it's something, so it's not never, so it's a Fish. Or it would know that pet.swimming is undefined and since undefined is not never, it would conclude that it's a Fish.

without coming off as some combination of hypocritical, incompetent, and esoteric.

The reason that in gets special treatment is that if you're writing
if (x.length) {

it's really not clear if you're testing x to have a length property, or if you're testing x to have a nonzero length property. The corresponding construction "length" in x has no such ambiguity of intent - it's entirely clear that what's about to follow is going to be a type assertion based on that result.

@RyanCavanaugh The proposal here was to special-case x.foo !== undefined (and specifically only comparisons to undefined) as a type guard, not the truthiness-check form.

I'll close this as won't fix, so y'all don't spend too much time on it. Treat it as a data point. I'm satisfied with the alternative in test for my purposes. There is an opportunity for a better error message or quick fix here, but you've probably got higher pri stuff to deal with.


fix: DNS configuration exception

What type of PR is this?

/kind  bug
What does this PR do?

Which issue(s) does this PR fix?

Fixes #
Special notes for your reviewer:

Does this PR introduce a user-facing change?

NONE

/hold

/lgtm
/approve


VM has reported a failure when processing extension 'config-app'.

When I try to deploy from the template the controllerNode fails with the status code "Conflict" and the error, "VM has reported a failure when processing extension 'config-app'.".  This is the full error:
        "code": "Conflict",
        "message": "{\r\n  \"status\": \"Failed\",\r\n  \"error\": {\r\n    \"code\": \"ResourceDeploymentFailure\",\r\n    \"message\": \"The resource operation completed with terminal provisioning state 'Failed'.\",\r\n    \"details\": [\r\n      {\r\n        \"code\": \"DeploymentFailed\",\r\n        \"message\": \"At least one resource deployment operation failed. Please list deployment operations for details. Please see https://aka.ms/arm-debug for usage details.\",\r\n        \"details\": [\r\n          {\r\n            \"code\": \"Conflict\",\r\n            \"message\": \"{\\r\\n  \\\"status\\\": \\\"Failed\\\",\\r\\n  \\\"error\\\": {\\r\\n    \\\"code\\\": \\\"ResourceDeploymentFailure\\\",\\r\\n    \\\"message\\\": \\\"The resource operation completed with terminal provisioning state 'Failed'.\\\",\\r\\n    \\\"details\\\": [\\r\\n      {\\r\\n        \\\"code\\\": \\\"VMExtensionProvisioningError\\\",\\r\\n        \\\"message\\\": \\\"VM has reported a failure when processing extension 'config-app'. Error message: \\\\\\\"Enable failed: failed to execute command: command terminated with exit status=1\\\\n[stdout]\\\\nes currently installed.)\\\\r\\\\nPreparing to unpack .../libapr1_1.5.2-3_amd64.deb ...\\\\r\\\\nUnpacking libapr1:amd64 (1.5.2-3) ...\\\\r\\\\nSelecting previously unselected package libaprutil1:amd64.\\\\r\\\\nPreparing to unpack .../libaprutil1_1.5.4-1build1_amd64.deb ...\\\\r\\\\nUnpacking libaprutil1:amd64 (1.5.4-1build1) ...\\\\r\\\\nSelecting previously unselected package apache2-utils.\\\\r\\\\nPreparing to unpack .../apache2-utils_2.4.18-2ubuntu3.5_amd64.deb ...\\\\r\\\\nUnpacking apache2-utils (2.4.18-2ubuntu3.5) ...\\\\r\\\\nSelecting previously unselected package aufs-tools.\\\\r\\\\nPreparing to unpack .../aufs-tools_1%3a3.2+20130722-1.1ubuntu1_amd64.deb ...\\\\r\\\\nUnpacking aufs-tools (1:3.2+20130722-1.1ubuntu1) ...\\\\r\\\\nSelecting previously unselected package cgroupfs-mount.\\\\r\\\\nPreparing to unpack .../cgroupfs-mount_1.2_all.deb ...\\\\r\\\\nUnpacking cgroupfs-mount (1.2) ...\\\\r\\\\nSelecting previously unselected package libltdl7:amd64.\\\\r\\\\nPreparing to unpack .../libltdl7_2.4.6-0.1_amd64.deb ...\\\\r\\\\nUnpacking libltdl7:amd64 (2.4.6-0.1) ...\\\\r\\\\nSelecting previously unselected package docker-ce.\\\\r\\\\nPreparing to unpack .../docker-ce_17.12.0~ce-0~ubuntu_amd64.deb ...\\\\r\\\\nUnpacking docker-ce (17.12.0~ce-0~ubuntu) ...\\\\r\\\\nSelecting previously unselected package openresty-zlib.\\\\r\\\\nPreparing to unpack .../openresty-zlib_1.2.11-3~xenial1_amd64.deb ...\\\\r\\\\nUnpacking openresty-zlib (1.2.11-3~xenial1) ...\\\\r\\\\nSelecting previously unselected package openresty-openssl.\\\\r\\\\nPreparing to unpack .../openresty-openssl_1.0.2k-2~xenial1_amd64.deb ...\\\\r\\\\nUnpacking openresty-openssl (1.0.2k-2~xenial1) ...\\\\r\\\\nSelecting previously unselected package openresty-pcre.\\\\r\\\\nPreparing to unpack .../openresty-pcre_8.41-1~xenial1_amd64.deb ...\\\\r\\\\nUnpacking openresty-pcre (8.41-1~xenial1) ...\\\\r\\\\nSelecting previously unselected package openresty.\\\\r\\\\nPreparing to unpack .../openresty_<IP_ADDRESS>-1~xenial1_amd64.deb ...\\\\r\\\\nUnpacking openresty (<IP_ADDRESS>-1~xenial1) ...\\\\r\\\\nSelecting previously unselected package openresty-resty.\\\\r\\\\nPreparing to unpack .../openresty-resty_<IP_ADDRESS>-1~xenial1_all.deb ...\\\\r\\\\nUnpacking openresty-resty (<IP_ADDRESS>-1~xenial1) ...\\\\r\\\\nSelecting previously unselected package openresty-opm.\\\\r\\\\nPreparing to unpack .../openresty-opm_<IP_ADDRESS>-1~xenial1_amd64.deb ...\\\\r\\\\nUnpacking openresty-opm (<IP_ADDRESS>-1~xenial1) ...\\\\r\\\\nSelecting previously unselected package unzip.\\\\r\\\\nPreparing to unpack .../unzip_6.0-20ubuntu1_amd64.deb ...\\\\r\\\\nUnpacking unzip (6.0-20ubuntu1) ...\\\\r\\\\nSelecting previously unselected package azure-cli.\\\\r\\\\nPreparing to unpack .../azure-cli_2.0.23-1_all.deb ...\\\\r\\\\nUnpacking azure-cli (2.0.23-1) ...\\\\r\\\\nProcessing triggers for libc-bin (2.23-0ubuntu4) ...\\\\r\\\\nProcessing triggers for man-db (2.7.5-1) ...\\\\r\\\\nProcessing triggers for ureadahead (0.100.0-19) ...\\\\r\\\\nProcessing triggers for systemd (229-4ubuntu12) ...\\\\r\\\\nProcessing triggers for mime-support (3.59ubuntu1) ...\\\\r\\\\nSetting up libapr1:amd64 (1.5.2-3) ...\\\\r\\\\nSetting up libaprutil1:amd64 (1.5.4-1build1) ...\\\\r\\\\nSetting up apache2-utils (2.4.18-2ubuntu3.5) ...\\\\r\\\\nSetting up aufs-tools (1:3.2+20130722-1.1ubuntu1) ...\\\\r\\\\nSetting up cgroupfs-mount (1.2) ...\\\\r\\\\nSetting up libltdl7:amd64 (2.4.6-0.1) ...\\\\r\\\\nSetting up docker-ce (17.12.0~ce-0~ubuntu) ...\\\\r\\\\nsent invalidate(passwd) request, exiting\\\\r\\\\nsent invalidate(group) request, exiting\\\\r\\\\nsent invalidate(group) request, exiting\\\\r\\\\nSetting up openresty-zlib (1.2.11-3~xenial1) ...\\\\r\\\\nSetting up openresty-openssl (1.0.2k-2~xenial1) ...\\\\r\\\\nSetting up openresty-pcre (8.41-1~xenial1) ...\\\\r\\\\nSetting up openresty (<IP_ADDRESS>-1~xenial1) ...\\\\r\\\\nSetting up openresty-resty (<IP_ADDRESS>-1~xenial1) ...\\\\r\\\\nSetting up openresty-opm (<IP_ADDRESS>-1~xenial1) ...\\\\r\\\\nSetting up unzip (6.0-20ubuntu1) ...\\\\r\\\\nSetting up azure-cli (2.0.23-1) ...\\\\r\\\\nProcessing triggers for libc-bin (2.23-0ubuntu4) ...\\\\r\\\\nProcessing triggers for systemd (229-4ubuntu12) ...\\\\r\\\\nProcessing triggers for ureadahead (0.100.0-19) ...\\\\r\\\\nLogin Azure CLI\\\\n[\\\\n  {\\\\n    \\\\\\\"cloudName\\\\\\\": \\\\\\\"AzureCloud\\\\\\\",\\\\n    \\\\\\\"id\\\\\\\": \\\\\\\"c3b1cff0-ca62-4c69-b0ba-3a6b354e94f1\\\\\\\",\\\\n    \\\\\\\"isDefault\\\\\\\": true,\\\\n    \\\\\\\"name\\\\\\\": \\\\\\\"Microsoft Azure Internal Consumption\\\\\\\",\\\\n    \\\\\\\"state\\\\\\\": \\\\\\\"Enabled\\\\\\\",\\\\n    \\\\\\\"tenantId\\\\\\\": \\\\\\\"72f988bf-86f1-41af-91ab-2d7cd011db47\\\\\\\",\\\\n    \\\\\\\"user\\\\\\\": {\\\\n      \\\\\\\"name\\\\\\\": \\\\\\\"7459e9cc-d8e6-4034-814e-50477a47bb24\\\\\\\",\\\\n      \\\\\\\"type\\\\\\\": \\\\\\\"servicePrincipal\\\\\\\"\\\\n    }\\\\n  }\\\\n]\\\\n\\\\n[stderr]\\\\ngpg: requesting key 417A0893 from hkp server packages.microsoft.com\\\\ngpg: key 417A0893: public key \\\\\\\"MS Open Tech<EMAIL_ADDRESS>imported\\\\ngpg: Total number processed: 1\\\\ngpg:               imported: 1  (RSA: 1)\\\\ndebconf: unable to initialize frontend: Dialog\\\\ndebconf: (Dialog frontend will not work on a dumb terminal, an emacs shell buffer, or without a controlling terminal.)\\\\ndebconf: falling back to frontend: Readline\\\\ndebconf: unable to initialize frontend: Readline\\\\ndebconf: (This frontend requires a controlling tty.)\\\\ndebconf: falling back to frontend: Teletype\\\\ndpkg-preconfigure: unable to re-open stdin: \\\\n\\\\\\\".\\\"\\r\\n      }\\r\\n    ]\\r\\n  }\\r\\n}\"\r\n          }\r\n        ]\r\n      }\r\n    ]\r\n  }\r\n}"

@cwhd thanks for asking. Did you deploy the solution template from Azure marketplace? The error is likely due to invalid service principal or insufficient permission of the service principal you used to deploy azure resources. You can refer to the first few steps in our document for creating the right service principal to be used.
@yuczho

I double checked my principal and I followed the instructions and have one that has contributor rights to my account.  I just tried to create an ACS cluster for Kubernetes with that principal and that worked fine.  Any other ideas?

@yuwzho

I m looking into this issue, but I confirm that this is not the AAD issue, the ACS cluster should be created successfully, but something wrong happened when adding security rule to the new created ACS.
@cwhd Could you please share the log on the controllervm? You can find the log at /tmp/output.log. And check the security rule whose name starts with k8s-master-, has the rule 102?

output.log
Ok, here is the log and a screenshot of the rules from the k8-master NSG.  I don't see 102 in there.

@cwhd  we will take a look. Meanwhile if you didn't deploy thru Azure marketplace solution, could you please do so? Simply go to Azure marketplace and find "Elastic stack on Kubernetes" and create the solution. this reduces risks of supplying incorrect parameters to Azure resource manager.

I deleted the whole thing and started again. I did use the "Elastic stack on Kubernetes" from the marketplace and I went through the whole section of creating a principal and giving it the appropriate permissions.  After that I still get an error deploying the controllerNode,  in the end it's status is "Conflict" and in the error log I still see "VM has reported a failure when processing extension 'config-app'".

@cwhd just want to double check the new resource group you used for deployment was "kubtest_kubtest_westus2"? Could you upload the new output.log again please? We'll get back to you first thing Tuesday.

output.log
Here is the latest log.  In the last deployment I created a new resource group and named it elaskub.  The script created a new resource group named elaskub_containerservice-elaskub_westus2.  kubtest was a container registry I created just to make sure I could create a k8s container registry, so I did not use it in this deployment.


Force all views that have autorotate disabled to portrait orientation.

Lock has a bad user experience in landscape on most phones, and has autorotate disabled so users cannot reset the orientation.
On iPhone 4S this is particularly problematic as users cannot close out of the login flow due to layout issues.
This pull request forces all views where autorotate is disabled to the portrait orientation.

@basejumper9 will take a loot at it. What version of iOS are you supporting?

I have tested this on iPhone 4s running 8.0.2, an iPhone 6 running 8.4 and an iPad 2 running 8.3. I think I have a few other combinations around the office if you want.
I can also attach a video or gif of the before and after behavior if you like.

@basejumper9 not needed just wanted to know the version so that I can pinpoint the issue but I just reproduced it (I submitted #142 to track it).
I think it should be a better way of forcing portrait but I have to research it a little bit otherwise I'll just merge your PR.

@basejumper9 I think by replacing
- (BOOL)shouldAutorotate {
    return NO;
}

with
- (NSUInteger)supportedInterfaceOrientations {
    return UIInterfaceOrientationMaskPortrait | UIInterfaceOrientationMaskPortraitUpsideDown;
}

seems to be a better way to tell the supported orientations (not sure why I didn't use this). If you want to do this in this PR I'll merge it when its done or I can do it and close this one.

@hzalaz I'll test it on my devices really quick and update my pull request. Thanks for the quick response!

@basejumper9 let me know if it's ready to merge

@hzalaz Yep! Sorry for the delay. Looks good to me.

Problem with this is that now when in landscape error alerts crash the app.


fix #20 use ordinary main instead of extends App

see discussion in issue #20

provisionally closing for lack of activity


fix: only run validation on amount field if non empty, closes #3766

Try out this version of the Hiro Wallet - download extension builds.

This PR adds a check to the amount field validation to make sure the validation only runs if the amount is not empty.
I added it just for amount but this seems to be a problem affecting a lot of fields:
https://github.com/hirosystems/wallet/assets/2938440/7a200628-cbde-4a1e-b438-1538ff1b8947
If users:

focus and then unfocus on any field,
return and enter a value,
an incorrect validation error is shown before the user blurs again and validation reruns

I came up with a cleaner solution to this issue so opened a PR here:
https://github.com/hirosystems/wallet/pull/4032/files
I learnt a lot about Formik along the way. This issue of fields being marked as touched without being changed seems to be a common one. Here are some issues I found during my investigation:

https://github.com/jaredpalmer/formik/issues/1364
https://github.com/jaredpalmer/formik/issues/2909
https://github.com/jaredpalmer/formik/issues/1421


Linux Compilation Instructions

I built the CloakCoin v2.1.0 wallet on Ubuntu 16.04 this weekend. I had to fight some dependency issues for a bit, but ultimately got it working nicely :+1:. The Linux build instructions on the Wiki are out of date. I've written some updated instructions here if anyone finds them useful. With a bit more testing, it might be nice to include these build instructions somewhere here on the repo for others to find.

Followed your instructions and CloakCoinv2.1.0 compiled without issues on Ubuntu 16.04 and Xubuntu 16.04 Lts. Wiki updated with your contribution. Thanks @brannondorsey .


Quirrel dev server runtime error after running for several minutes

This has happened a few times when I leave the server running.
Bug Report
Current Behavior
Leaving Quirrel dev server running for several minutes
Input Code
concurrently 'next dev' 'quirrel'
Expected behavior/code
Server keeps running.
Environment

Quirrel version: 1.5.0
Node/npm version: Node 15.12.0/NPM 7.9.0

Additional context/Screenshots
[1] This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). The promise rejected with the reason:
[1] TypeError: Cannot read property 'split' of undefined
[1]     at StaleChecker.parseJobDescriptor (/Users/bsolvang/Documents/SandeFredin/clients/klinikk.no/node_modules/@quirrel/owl/dist/shared/stale-checker.js:98:29)
[1]     at Array.map ()
[1]     at StaleChecker. (/Users/bsolvang/Documents/SandeFredin/clients/klinikk.no/node_modules/@quirrel/owl/dist/shared/stale-checker.js:126:117)
[1]     at step (/Users/bsolvang/Documents/SandeFredin/clients/klinikk.no/node_modules/@quirrel/owl/dist/shared/stale-checker.js:33:23)
[1]     at Object.next (/Users/bsolvang/Documents/SandeFredin/clients/klinikk.no/node_modules/@quirrel/owl/dist/shared/stale-checker.js:14:53)
[1]     at fulfilled (/Users/bsolvang/Documents/SandeFredin/clients/klinikk.no/node_modules/@quirrel/owl/dist/shared/stale-checker.js:5:58)
[1]     at runNextTicks (node:internal/process/task_queues:59:5)
[1]     at listOnTimeout (node:internal/timers:526:9)
[1]     at processTimers (node:internal/timers:500:7)

Hi @bardsol! This is an interesting defect. Looking at the stacktrace, it orginates from Owl's stale-checker. I'll take a stab at fixing this later today.
My suspicion is that you have a long-running job that's deleted between start and end of execution. Is this the case? If not, could you briefly describe what kind of job this occurs with and how it's being executed? This is helpful for a regression test :)

Took a closer look now, and I fail reproducing this. Could you supply a reproduction repo? If it's okay for you, you can also reach out via email and send me a zip of your project.

Hey @Skn0tt! I actually just have the server running and I haven't enabled any quirrel jobs yet. So it's basically failing without me doing anything. But it takes some time - probably over 30 minutes before this happens.
I'm sorry I don't have any available repo to share to reproduce this.
Could the error lie within the fact that there are no jobs?

If you don't do nothing and there are no jobs (maybe auto-registered cron jobs?), it fails after roughly 30 minutes ... Well that's interesting behaviour 🤔 I'll look into it, but it can take a while. Is this a high-priority bug for you right now?

Same going on here
I just launched it as npx quirrel and had it idle for some time

This is a really interesting issue! ioredis-mock seems to have a bug where it returns undefined instead of a string. Pretty close to solving this one :)

released in v1.6.2


[Question] Evaluating the loss for Autoencoders

Tutorial: 9
Hi @phlippe
I am trying to implement a Variational Autoencoder and I was using this tutorial as a helper.
My question is regarding the calculation of the loss value. In Cell 6 from Tutorial 9 you calculate the reconstruction loss by summing over the input dimensions and averaging only over the batch. Using this approach I obtain very large values for the loss, and consequently for the gradients (grad_norm ~ 500) and I am not sure if that is ok. It still manages to reduce the loss and produces blurry but colorful images for cifar10, and somewhat good images of digits for mnist. But the gradient norm seems very large. I tried also using gradient clipping (clip value of 10.) but then the gradient is clipped at every single update step, and that does not seem like the way to go.
Could you please report the size of the grad norms during training the Autoencoder and what is your opinion on these values ? Is a value of grad norm ~ 500 too much or is it ok?
Maybe you could also add a plot showing the training loss per iteration (maybe just for latent_dim=256) ?
I also tried computing the loss by taking the mean over all dimensions, but then the grad norm is ~ 0.1 and now this seems to low and I am not sure in what order should the learning rate be (0.1?, 1e-2?).
Finally, the variational autoencoder models the loss as total_loss = recon_loss + KL_loss where the KL loss is the KL divergence between the encoder distribution and the prior: $KLLoss = KL(q(z|x) || p_Z(z))$. In this case the recon_loss has dimension equal to the original space (e.g. 3x32x32) while the KL_loss has dimension equal to the latent space (e.g. 128), and I think that computing the total loss as: total_loss = recon_loss.mean(dim=0).sum() + KL_loss.mean(dim=0).sum() is the only correct way. I think that computing it as total_loss = recon_loss.mean() + KL_loss.mean() would actually scale the two losses differently and one might dominate the other. Is that correct or am I missing something ?
Any info would be greatly appreciated. Thanks :)

Hi @pi-tau, when you use Adam, the gradients are scaled back to a unit norm, such that multiplying the loss by a constant does not make a difference. This is the case here for either taking the mean or the sum.
For a VAE, you indeed have to sum the reconstruction loss over pixels to use the ELBO as objective.

Hi, thanks for the useful info. I didn't know that.
In this case, if training with SGD or SGD+Momentum, would you simply clip the grad norm to 1. ?

If you train with SGD, then you either have to adjust your learning rate and grad norm, or scale the loss back to typical values, e.g. by taking the mean instead of the sum.


Prowl

Hi ~
Prowl's paradigm should be Concatenative/Logic.
It's latest branch (redesign9) was committed to 5 days ago (!), so if this counts then it's active, too.

fixed!


Add an enum for Location ID's

Currently, each Location is defined with a unique ID that's used in places like the hint system and the YAML files. It would be nice to make an enum so all the ID's can be listed in the same place.
It would be great if the YAML files could optionally use the enum values, too, but it's fine if they can't.
Taking this on as an exploratory exercise. I'm not sure yet if it makes sense to do. The idea I'm kicking around is to eventually move away from declaring properties for every Location and refer to all of them by ID only. In theory, we could then progress to turning the existing Room ID's into another enum and removing the properties for them, too. I figure any eventual graph-based logic we make would be very cluttered if every Room had to have a class and a property defined for it.

I think enums would be great. I think biggest potential points of concern would be multiworld and tracker saves. But this sounds like a great idea to me.

Oh, good call. I'll have to make sure the enum values still serialize as ints.


Change doc tree

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.2 out of 3 committers have signed the CLA.:white_check_mark: MingMingShangTian:white_check_mark: WuHaobo:x: rootroot seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


SearchResult does not return scores

Please use the following questions as a guideline to help me answer
your issue/question without further inquiry. Thank you.
Which version of Elastic are you using?
[ ] elastic.v2 (for Elasticsearch 1.x)
[ ] elastic.v3 (for Elasticsearch 2.x)
[ ] elastic.v5 (for Elasticsearch 5.x)
[x] elastic.v6 (for Elasticsearch 6.x)(6.2.4)
Please describe the expected behavior
In kibana, this query sorts the results by their scores and shows scores
GET /places/doc/_search
{
  "query": {
    "bool": {
      "must": [
            {
              "simple_query_string": {
                "fields" : [ "name^3", "tags.name^2", "region_name"],
                "query" : "st*"
              }
           },
        {
          "term": {"region": "r1"}}
      ]
    }
  }
}

Please describe the actual behavior
In golang,

the hits returns scores as 0 and are not sorted like Kibana
bq := elastic.NewBoolQuery().Must().Filter(lq)
the hits returns scores as 1 and are not sorted like Kibana
bq := elastic.NewBoolQuery().Must(elastic.NewMatchAllQuery()).Filter(lq)

lq := elastic.NewRawStringQuery(fmt.Sprintf(`{"bool": {
      "must": [
            {
              "simple_query_string": {
                "fields" : [ "name^3", "tags.name^2", "region_name"],
                "query" : "st*"
              }
           },
        {
          "term": {"region": "r1"}}
      ]
    }}`))
bq := elastic.NewBoolQuery().Must().Filter(lq)
ss := ess.Search("places").Type("doc").Query(bq)
rr, err := ss.FetchSource(true).TrackScores(true).Do(ess.ctx)

for i, item := range rr.Each(reflect.TypeOf(res)) {
	fmt.Println(*rr.Hits.Hits[i].Score)
        ...
}

How can I achieve this?
Thanks.

From the docs:

The bool query that we introduced in the previous section also supports filter clauses which allow to use a query to restrict the documents that will be matched by other clauses, without changing how scores are computed.

Filters don't compute scores, only queries do. In other words, the Go code uses your query as a filter whereas your REST query doesn't. Something like this should do the job (not tested):
...
sq := elastic. NewSimpleQueryStringQuery("st*").
  FieldWithBoost("name", 3.0).
  FieldWithBoost("tags.name", 2.0).
  FieldWithBoost("region_name", 1.0)
tq := elastic.NewTermQuery("region", "r1")
bq := elastic.NewBoolQuery().Must(lq).Must(tq)
res, err := client.Search("places").Type("doc").Query(bq).Do(context.Background())
...


Always include file's dir in pylance search path.

Open empty folder in vscode
create folder scripts
create scripts/a.py with content of x = 0.
create scripts/b.py with below content:

from a import x

# pylance autocomplete not working, try uncomment below and `ctrl+tab`
# a.

Here pylance cannot recognize type of x in b.py, but python scripts/b.py runs with no problem!
I have lot of workspaces similar to this situation, so it's hard to set python.analysis.extraPaths per workspace.
It's useful when launch configuration set "cwd": "${fileDirname}".
What I need here is an option to auto include directory of these files in analyze search path:
python.analysis.fileDirAnalyze
Value can be boolean or list of glob patterns.

Current ugly solution to force pylance to analyze file is adding . to import statement.
Example:
from .a import x
do your work then remove ., if you forgot to remove it, python raises:
ImportError: attempted relative import with no known parent package

What's your version of Pylance? This works for me no matter what the subfolders are called:

But assuming it didn't work, the alternative here is to just put this in your global settings.json:
   "python.analysis.extraPaths": ['scripts']

That lets me reference any file from the 'scripts' folder in any project.

What's your version of Pylance? This works for me no matter what the subfolders are called:

Correct, I was not up to date.
I can confirm it works as expected in version 2023.8.51, Thanks!


don't calculate gravity force if there is no actual gravity

Very small tweak to avoid unnecessary calculations of force when there is no gravity to apply.

Merged, thanks.


CB-13495 Fix Azure public networks datalake and DE HA 7.2.10 creation

We can not mix Basic and Standard skus between PublicIPs and LBs in an availability set.
So choose Standard everywhere if there is atleast one group that needs Standard LB.
Unfortunately it is hard to catch these bugs unless each type of network configuration is tested end to end.
Even the ARM template validator could not catch these kinds of Azure network interface expectations.

See detailed description in the commit message.

This is filed as a separate ticket with immediate priority CB-13513

I am marking do not merge. Found something during end to end testing. Investigating,
Caused by: freemarker.core.ParseException: Syntax error in template \"templates/arm-v2.ftl\" in line 215, column 59:
Unknown built-in: \"filter\". Help (latest version): http://freemarker.org/docs/ref_builtins.html; you're using FreeMarker 2.3.26-incubating.
The alphabetical list of built-ins:
abs, ancestors, api,
boolean, byte,
c, cap_first, capitalize, ceiling, children, chop_linebreak, chunk, contains, counter,
date, date_if_unknown, datetime, datetime_if_unknown, default, double,
ends_with, ensure_ends_with, ensure_starts_with, esc, eval, exists,
first, float, floor,
groups,
has_api, has_content, has_next, html,
if_exists, index, index_of, int, interpret, is_boolean, is_collection, is_collection_ex, is_date, is_date_like, is_date_only, is_datetime, is_directive, is_enumerable, is_even_item, is_first, is_hash, is_hash_ex, is_indexable, is_infinite, is_last, is_macro, is_markup_output, is_method, is_nan, is_node, is_number, is_odd_item, is_sequence, is_string, is_time, is_transform, is_unknown_date_like, iso, iso_h, iso_h_nz, iso_local, iso_local_h, iso_local_h_nz, iso_local_m, iso_local_m_nz, iso_local_ms, iso_local_ms_nz, iso_local_nz, iso_m, iso_m_nz, iso_ms, iso_ms_nz, iso_nz, iso_utc, iso_utc_fz, iso_utc_h, iso_utc_h_nz, iso_utc_m, iso_utc_m_nz, iso_utc_ms, iso_utc_ms_nz, iso_utc_nz, item_cycle, item_parity, item_parity_cap,
j_string, join, js_string, json_string,
keep_after, keep_after_last, keep_before, keep_before_last, keys,
last, last_index_of, left_pad, length, long, lower_abc, lower_case,
markup_string, matches,
namespace, new, next_sibling, no_esc, node_name, node_namespace, node_type, number, number_to_date, number_to_datetime, number_to_time,
parent, previous_sibling,
remove_beginning, remove_ending, replace, reverse, right_pad, root, round, rtf,
seq_contains, seq_index_of, seq_last_index_of, short, size, sort, sort_by, split, starts_with, string, substring, switch,
then, time, time_if_unknown, trim,
uncap_first, upper_abc, upper_case, url, url_path,
values,
web_safe, word_list,
xhtml, XML

After fixing freemarker template dependency, the public networks work, and the private networks still fails with strange error,
{code:json}
Datalake creation failed. Data Lake creation failed: Stack provisioning failed, status code DeploymentFailed, error message: At least one resource deployment operation failed. Please list deployment operations for details. Please see https://aka.ms/DeployOperations for usage details., details: { "error": { "details": [], "code": "NetworkInterfacesInAvailabilitySetUseMultipleLoadBalancersOfSameType", "message": "Network interfaces /subscriptions/3ddda1c7-d1f5-4e7b-ac81-0523f483b3b3/resourceGroups/gk1prod/providers/Microsoft.Network/networkInterfaces/gkpub457m0,/subscriptions/3ddda1c7-d1f5-4e7b-ac81-0523f483b3b3/resourceGroups/gk1prod/providers/Microsoft.Network/networkInterfaces/gkpub499m0 in availability set /subscriptions/3ddda1c7-d1f5-4e7b-ac81-0523f483b3b3/resourceGroups/gk1prod/providers/Microsoft.Compute/availabilitySets/gkpub-master-as reference more than one load balancer of the same type (internal or public): /subscriptions/3ddda1c7-d1f5-4e7b-ac81-0523f483b3b3/resourceGroups/gk1prod/providers/Microsoft.Network/loadBalancers/LoadBalancergkpub457PUBLIC, /subscriptions/3ddda1c7-d1f5-4e7b-ac81-0523f483b3b3/resourceGroups/gk1prod/providers/Microsoft.Network/loadBalancers/LoadBalancergkpub499PUBLIC. Only one internal and one public load balancer are allowed per availability set." } }
{code}

Reran the private networks test with a new name, and it succeeded. The reason it failed was because I was reusing the name of the datalake where there was a force deletion before and the availability set was not deleted properly.

I removed a new test case that was added earlier as it was flaky. Will re-add the test case as part of CB-13495.


Frequency mismatch not handled well

As you can see in the below screenshots, this is a 915mhz version of the outdoor and had been asserted in the UK (order mistake) however the diagnostics page says "all ok":

I guess we should handle this better. At the very least not showing all ok at the top and green on the region and frequency sections.
However, this made me think perhaps we shouldn't let 915s assert with eu868 - not sure if this is possible with the current code from helium though

Doesn't appear to be a problem anymore.


train errors

Hello! I've got the same problem as this pickle problem
when I use vgg embeds:
_pickle.UnpicklingError: invalid load key, '\x0d'.
Also there are one more error when I tryed to use resnet embeds.
RuntimeError: size mismatch, m1: [16 x 2048], m2: [4096 x 1024] at /pytorch/aten/src/THC/generic/THCTensorMathBlas.cu:266
ps. running as python3 main.py
pss. embeddings downloaded by makefile in image_embeddings

I have just updated the image embeddings and uploaded them again. Can you please delete all the old ones and download the new ones? The same make resnet152 process should work.

Closing due to lack on response.


[SverigesRadio] Add new extractor

Before submitting a pull request make sure you have:

[x] At least skimmed through adding new extractor tutorial and youtube-dl coding conventions sections
[x] Searched the bugtracker for similar pull requests
[x] Checked the code with flake8

In order to be accepted and merged into youtube-dl each piece of code must be in public domain or released under Unlicense. Check one of the following options:

[x] I am the original author of this code and I am willing to release it under Unlicense
[ ] I am not the original author of this code but it is in public domain or released under Unlicense (provide reliable evidence)

What is the purpose of your pull request?

[ ] Bug fix
[ ] Improvement
[x] New extractor
[ ] New feature

Description of your pull request and other information
Adds rudimentary support for Swedish public radio website SverigesRadio.se (see #9572). This extractor emulates the behavior of the website by fetching the file URL from the same JSON API (https://sverigesradio.se/sida/playerajax/getaudiourl) as the website does, when the user presses the play button. In order to do that, it extracts both the show ID and the type of content from the URL.
There seem to be two different types of content:

Recordings of news articles (e.g. https://sverigesradio.se/sida/artikel.aspx?programid=83&artikel=7038546, type: publication)
Episodes of recurring shows (e.g. https://sverigesradio.se/sida/avsnitt/1140948?programid=4772, type: episode)

The API returns a JSON object e.g. looking like this for https://sverigesradio.se/sida/playerajax/getaudiourl?id=7038548&type=publication&quality=high&format=iis:
{
    "audioUrl": "https://lyssna-cdn.sr.se/isidor/ereg/ekot_nyheter_sthlm/2018/09/6_paverkan_de_app_3a222d3_a192.m4a",
    "codingFormat": 11,
    "duration": 184,
    "isGeoblockEnabled": false,
    "state": 0
}

So far, this extractor does not support anything else than returning the audioUrl for these two types of content. There might be more of these types, but I haven't encountered them so far. In a next step, offering all different quality settings and formats would be great, but I'm not sure how to find out which ones are available.

@wader I'm not, please go ahead!


Create Article “the-setting-urroth”

Automatically generated by Netlify CMS

👷 Deploy Preview for dynamic-cheesecake-5fbd8b processing.

Name
Link

🔨 Latest commit
7d5ba7a332744a5738cd4061da1c7b925ddbe3c5

🔍 Latest deploy log
https://app.netlify.com/sites/dynamic-cheesecake-5fbd8b/deploys/62ffdccebb4c9d0008541526


Notify user when disabling a post or comment

Feature: Notify user when disabling a post or comment
  As a moderator
  I'd like notify the author of a post or comment when I disable it
  For transparency and to make the user aware of a community guideline violation

@datenbrei updated


Slider component not calling onChange

The Slider component doesn't call the onChange prop when its value is changed.
Other minor issues are:

setState() not being used correctly. More info
Arrow functions shouldn't be used in JSX props. More info

Bluemix toolchain: Delivery Pipeline deployed carbon-components-react to Bluemix Design System, including commit fd48c293c4d1bdeb6d787731ea49428334dcd4de


Error Site Improve Events

Problem Description:
There are SI events missing on errors.
Expected Behavior/Solution:
Add or update SI events on errors.
Requirements:

[x] User is shown an error boundary

Category: Error
Action: Triggered
Label: Error Boundary

[x] User is shown a page 404

Category: Error
Action: Triggered
Label: Page Not Found 404

Needed for promotion:
If an item on the list is not needed, it should be crossed off but not removed.

[ ] ~Wireframe/Mockup - Mike~
[ ] ~Committee discussions - Sarah~
[ ] ~Feasibility/Team discussion - Sarah~
[ ] ~Backend requirements - TBD~
[ ] Frontend requirements - Kam
[ ] Questions

UAT/LUX Examples:
View Error Boundary and Error Page 404 report:
https://my2.siteimprove.com/Analytics/375000/Custom/EventTracking/Index/1?SearchField=&Query=error
Verify Category, Action, and Labels appear correctly.

~Page 404 should come up when going to a malformed url~
Testing an error boundary may be harder to detect.
NOTE: This works properly. However, when changing the time frame in SI it affects all other links. Please look at documentation for an image of Error Boundary or change time frame till after all SI issues have been reviewed.

Dependencies/Blocks:
N/A
Related Github Issues:

#90
#91

Related links:
For more information on SI Events please view the documentation here:
https://docs.google.com/document/d/1jsH4ckYOW7ykXlKACctZOP1IpxYnGaRIRPGDiuUbGMQ/edit
Wireframe/Mockup:
N/A

@prowns @roamye Right now you can see the Error Boundary event by going to the people and group advanced search and selecting the single field "People or Group". Right now ML support is pushed to DEV so I can test #141 but I haven't yet deployed that change. But that will trigger the Error Boundary error at this moment.
Page 404 can be seen by going to a malformed url as mentioned in the original issue description.
Example in Site Improve of both error types being recorded:

Approved per UAT

prod event looks good. good to close.
Note: we currently do not have an error boundary to test as what we previously used to test is now in PROD. We hope that someone would never come across that error because that would mean there is an issue in the Typescript or React code.


CASSANDRA-17427 Unit test improvements

CI ci-cassandra: https://ci-cassandra.apache.org/job/Cassandra-devbranch/1834/

In general there's a lot of whitespace removal in various files; I'm not sure why we have so many files w/trailing whitespace and we don't have anything in our style guide about it that I can see (link). So is without or with the way to go?

@josh-mckenzie I've applied your review comments, please have a look before I rebase and overwrite the branch


more deprecations

@ianfleeton , hello , detected more warnings when testing sdk.
when updating billing agreement , response may include payee info
they are not handled in the moment.
.......................W, [2017-03-20T17:41:24.002210 #44937]  WARN -- Paypal::Express: Ignored Parameter (Paypal::Express::Response): PAYEEEMAIL=********
W, [2017-03-20T17:41:24.002263 #44937]  WARN -- Paypal::Express: Ignored Parameter (Paypal::Express::Response): PAYEREID=*****

References
https://github.com/ianfleeton/paypal-express/blob/master/lib/paypal/express/request.rb#L157
https://developer.paypal.com/docs/classic/api/merchant/BAUpdate_API_Operation_NVP/#payeeinfotype-fields
Second one is
RefundTransaction method, that returns REFUNDSTATUS
 WARN -- Paypal::Express: Ignored Parameter (Paypal::Exception::APIError::Response): REFUNDSTATUS=None

Thanks, I'll take a look at these next week.

@fivell I'm looking into the PayeeInfo response. Please can you give me a sample request (e.g., in code) for updating the billing agreement so I can get the tests in a realistic context.

@ianfleeton , example for token revoke response
BILLINGAGREEMENTID=AGREEMENT_ID&BILLINGAGREEMENTDESCRIPTION=some%20desc%202&BILLINGAGREEMENTSTATUS=Canceled&TIMESTAMP=2017%2d03%2d05T09%3a31%3a13Z&CORRELATIONID=bd8b116082611&ACK=Success&VERSION=204%2e0&BUILD=30029726&EMAIL=developers%40didww%2ecom&PAYERID=URXM7BK7RWB52&PAYERSTATUS=verified&BUSINESS=DIDWW&FIRSTNAME=didww&LASTNAME=didww&COUNTRYCODE=US&ADDRESSID=PayPal&PAYEEEMAIL=seller_1305369137_biz%40matake%2ejp&PAYEEID=YU5ZSGSMQB2WE

Thanks, please can you also provide some request code (in Ruby using this API) that might give a billing agreement response like that.
I'm asking as I haven't used this part of the API and need to set up a realistic request to go with it for testing.

@ianfleeton , here it is
::Paypal::Express::Request.new(CONFIG[:paypal][:express]).revoke!('AGREEMENT_ID')

Aha yes, thanks!

@ianfleeton , sorry for noise here, but there is one more.
when calling GetExpressCheckoutDetails method , response can also include ADDRESSNORMALIZATIONSTATUS
like
ADDRESSNORMALIZATIONSTATUS=None

@ianfleeton , looks good, last thing is
RefundTransaction method, that returns REFUNDSTATUS
[2017-04-13T16:06:46.499893 #22736]  WARN -- Paypal::Express: Ignored Parameter (Paypal::Exception::APIError::Response): REFUNDSTATUS=None

@fivell looks like this was also fixed in #9 and you're missing the commit in your fork
https://github.com/ianfleeton/paypal-express/commit/c74ea22b314eb9b75e6b72aa400752203d8d7ae5
I'll close this for now, let me know if I'm missing anything.

@ianfleeton , it fixed only for successful case
There is a failing case also.
take a look at this line https://github.com/ianfleeton/paypal-express/blob/master/lib/paypal/nvp/request.rb#L59
we have
Exception::APIError.new(response)

response example
{:TIMESTAMP=>"2017-03-01T16:17:13Z", :CORRELATIONID=>"ec17e6541628a", :ACK=>"Failure", :VERSION=>"204.0", :BUILD=>"30763207", :L_ERRORCODE0=>"10009", :L_SHORTMESSAGE0=>"Transaction refused", :L_LONGMESSAGE0=>"This transaction has already been fully refunded", :L_SEVERITYCODE0=>"Error", :REFUNDSTATUS=>"None", :PENDINGREASON=>"None"}

and it doesn't handle REFUNDSTATUS

Hmm, I'll have a think at how to weave it into the error response. Thanks for the response example.

@fivell thanks for your patience, please can you now check master works correctly for you. The refund status should now be on the response object of the raised API error.

@ianfleeton, no warnings now while my test  suite. 👍 , thanks


Input placeholder disappears when reactive form is rebinded

Bug, feature request, or proposal:
Input placeholder disappears when reactive form is rebinded
What is the expected behavior?
Placeholder should be in input
What is the current behavior?
Placeholder dissapears and there is empty textbox
What are the steps to reproduce?
http://plnkr.co/edit/xXZukO0HPsGQTc1K0F3C?p=preview

type some text to Firstname textbox
click to send form
placeholder is missing

AFAIK there's no way for Material to know whether the form was swapped out. That being said, I don't think that swapping out the entire form is the easiest way to reset it. Why don't you use the reset method @MichalK6677? Here's an example.

Reset is not an option for my user case. If I disable label floating (set to always) then labels do not disappear.
My application has left menu with items and complex form on the right side. The form is filled with data when an item from left menu is selected. The form contains formarrays, formgroups, etc. Reset metod just clears values but it does not reset from arrays.
This code is fired with every change of selected menu item:

You can see initialization of form with values and filling of form arrays with values.
If I selected first items form is filled ok but if I selected next item then the form does lose all placeholders from elements without value.
I could use patchValue or setValue but it would be the same code what is on the picture but with empty values + many new lines of code for settings values.

Hey did you find solution for this? As i can see issue is still open but maybe you found solution for yourself.

no solution so far. I changed use case of my form to avoid need for form rebinding.

.mat-form-field-placeholder {
display:block !important;
}
In my case this helped

@anitorosyan1994 thanks! this worked for me, been looking for a simple solution for a while.
I should mention that in my case I was not rebinding the reactive form but resetting it with a new model, but I was still getting the bug.

@anitorosyan1994
Could you explain your solution??


docs: documentation for account compression program

I've added documentation for the account compression program. Here's a summary of the changes.
I've added 3 pages:

overview
usage
core concepts

Overview contains brief on the program, motivation, background, packages and guide to run the tests.
Usage contains examples to use the TS SDK
Core concepts contains a concise explanation of the core technology used in account compression and how it ties into compressing NFTs with easy to understand examples.

TS usage / examples look good. Explanation of algorithm is excellent, but a little bit off. Will highlight particular lines
Can you explain what the package.json changes are for?

Docusaurus wasn't serving the page for me on localhost 3000 without specifying the host and port on the start command, after that it did serve the page but gave an error saying switchConfig is undefined which was fixed after updating the packages

Please undo your package json changes

Otherwise, this looks good. Will need some touch up after merging, but looks good to me. Great work!
Can you remove the digital asset examples? Those are bound to be out of date soon

Otherwise, this looks good. Will need some touch up after merging, but looks good to me. Great work!
Can you remove the digital asset examples? Those are bound to be out of date soon

Thanks! Made both the changes, glad I could contribute and thanks for coordinating, looking forward to doing more contributions

Looks good to me. cc @joncinque for help with reviewing changes to Docusaurus


Chromedriver version doesn't support chrome

Have you already searched for your ISSUE among the resolved ones?

[1] Yes, new issue
[ ] Yes, but the solution not work for me
[x] No

What version of Python do you have?

[ ] Last, Python > 3.11
[x] Python >= 3.8
[ ] PIs you have Python<3.8 pease install last version of python

What version of operating system do you have?

[x] Windows
[ ] Linux/Ububtu
[ ] Mac/OSX

What type of installation did you perform?

[x] pip3 install -r requirements.txt
[x] python3 -m pip install -r requirements.txt
[x] Anaconda
[x] Container on VS

Desktop (please complete the following information):

Browser [e.g. chrome] :
Version [e.g. 112] :

Python\Python310\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 229, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: unknown error: cannot connect to chrome at <IP_ADDRESS>:58769
from session not created:
This version of ChromeDriver only supports Chrome version 116
Current browser version is 118.0.5993.89

I fixed it the
gpt4-openai-api
was outdated and it set the version to chromedriver 116 but the undetected chromedriver no longer works!
it is detected as a bot!
raise ValueError('Cloudflare challenge failed')
ValueError: Cloudflare challenge failed


Hyundai safety: unify bus definition

Prerequisite of https://github.com/commaai/openpilot/issues/28046
Requires https://github.com/commaai/panda/pull/1518

Closing this since there's no openpilot diff.


Deadlock when running alongside a dask client: Cannot run the event loop while another loop is running

Running into a problem when using GCSFileSystem along with a dask client. The dask client starts an IO loop, fsspec attempts to start another loop and that causes a runtime error in a thread:
Traceback (most recent call last): File "/usr/local/lib/python3.7/threading.py", line 926, in _bootstrap_inner self.run()
    File "/usr/local/lib/python3.7/threading.py", line 870, in run self._target(*self._args, **self._kwargs)
    File "/usr/local/lib/python3.7/asyncio/base_events.py", line 528, in run_forever 'Cannot run the event loop while another loop is running')
    RuntimeError: Cannot run the event loop while another loop is running

The error in fsspec then causes the dask client to block forever.
I believe the exception is coming from trying to start this thread.
There are more details here: https://github.com/dask/distributed/issues/4124

Closing in favour of discussion on the distributed issue


⚠ Bofrost.hr has degraded performance

In f171d3c, Bofrost.hr (https://www.bofrost.hr) experienced degraded performance:

HTTP code: 200
Response time: 3596 ms

Resolved: Bofrost.hr performance has improved in 218c7f0.


JVM crash on sconv2d, deconv2d_bp custom ops; broadcast mul op

Crashes on both Windows and Linux. Fresh libnd4j/nd4j builds today.
To reproduce: run this test on native backend:
https://github.com/deeplearning4j/deeplearning4j/blob/ff4d5192f33b2c96cdc2212749e023321b0f4e67/deeplearning4j-core/src/test/java/org/deeplearning4j/gradientcheck/CNNGradientCheckTest.java#L887
Was definitely passing last week on both CPU and CUDA.
I've been unable to isolate it - see my attempts in the gist (same shape/order inputs as the crash), along with the JVM crash log from Linux:
https://gist.github.com/AlexDBlack/a899917b99597b50361d84f32bd3bc02
I suspect it may be due to the recent changes to sconv2d in libnd4j, but have no idea why:
https://github.com/deeplearning4j/libnd4j/commits/5dea2d228c61cdec7535d1c0c6aa093a15fef9fa/include/ops/declarable/generic/convo/sconv2d.cpp

EDIT: This also occurs with deconv2d_bp
Windows crash log: https://gist.github.com/AlexDBlack/1646e199b75500f4e020ecd5e51ada29
Reproduce with https://github.com/deeplearning4j/deeplearning4j/blob/ff4d5192f33b2c96cdc2212749e023321b0f4e67/deeplearning4j-core/src/test/java/org/deeplearning4j/gradientcheck/CNNGradientCheckTest.java#L820

EDIT 2: And also broadcast mul op?
Windows crash log: https://gist.github.com/AlexDBlack/19c56ed937ec17b0edffce0c3ec5e860
Reproduce with: https://github.com/deeplearning4j/deeplearning4j/blob/422a1becd2515a15d2a8a794919b63e59c965ef6/deeplearning4j-core/src/test/java/org/deeplearning4j/gradientcheck/YoloGradientCheckTests.java#L140

Looks like this is fixed - I've run the afore-mentioned gradient checks a few times, looks like they are all passing (no more JVM crashes). Will re-open if I run into this issue again.


You are missing the step to enable the developer key for the Teams LTI Tool

Before you can add the Teams LTI tool using the Client ID as an admin you need to go to the Developer Key listing in the main account, switch to the inherited keys, load all the keys and then enable the Teams one.
Otherwise when adding the App you get a message about the Client ID being disabled.

Document details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: b696e622-361b-0be8-0b1f-b2ad9708c877
Version Independent ID: 18403e7b-adb6-2828-54c6-ddd410eacadd
Content: Use Microsoft Teams classes with Canvas
Content Source: microsoft-365/lti/teams-classes-with-canvas.md
Service: o365-administration
GitHub Login: @cichur
Microsoft Alias: v-cichur

@buckett Thank you for your feedback. We have made changes to the document via PR#https://github.com/MicrosoftDocs/microsoft-365-docs/pull/5765
Once the author approves the PR, document will be live.
Thanks
Sri

@msbemba Thank you very much for the contribution and updating the documentation with PR. @buckett Hope this update is helpful for you. Thanks for taking out some time to open the issue. Appreciate and encourage you to do the same in future also.


Empty limbs when uninitialized

Consider the following:
var
    a: BigInt
    b: BigInt = 12.initBigInt

echo a*b

This results in the following stack trace:
[...]/scratch.nim(7) scratch
[...].nimble/pkgs/bigints-0.4.3/bigints.nim(484) *
[...].nimble/pkgs/bigints-0.4.3/bigints.nim(394) multiplication
[...].choosenim/toolchains/nim-#devel/lib/system/fatal.nim(39) sysFatal
Error: unhandled exception: index out of bounds, the container is empty [IndexError]

This is because a.limbs is @[]. Would it be possible for an uninitialized BigInt to default to limbs = @[0], to be consistent with nim integers? Otherwise, maybe there could be a flag initialized that is checked before trying to operate on a BigInt, so we get slightly more readable errors. I'm not super proud about it, but tbh this took me a while to debug. To be fair, my actual code was slightly more complex and resulted in a zero BigInt not being initialized in a corner case.

Sounds good but would require https://github.com/nim-lang/RFCs/issues/126

Yeah, I wasn't sure if/how it could be implemented in Nim. Good to know there's an RFC about it!


Persistent undo is broken

Need to remove ! from line 52 of vimrc.

Can confirm that this worked for me.

This has been broken for months, removing the ! Does fix it.

Hey @daxgames I believe the lines might have moved in the mean while... Could you just submit a PR fixing the issue?

Done #758


[CI] Fix lint and PMD errors breaking build

Note that Android Studio keeps updating Project.xml, so it was accidentally committed. Maybe we should allow this commit so it will become stable?


System test e2e

Purpose

Add an end to end test to test applicaiton packaging, execution, and data availability.

Testing

created an environment config based on env.cfg for the test envionrment
Ran multiple tests from end-to-end

I've added a number of you to be cognizent over this work. i'll be doing a demo on Tuesday at 11.
@edwinsarkissian and @mcduffie  - the packaging feature is called through an openapi built client. this is the contract between clients and the APGS. it's built to reflect what exists today. Going forward, changes to the API need to be reflected there.
@LucaCinquini and @drewm-jpl - we aren't going through the OGC endpoints just yet for the test, we call airflow directly. this isn't ideal, but it shows that it works and can run a generated package.
@ngachung - the output of the process creates a file that has a timestamp added to it. we add it to the same collection, and that's how we can tell the new file is being generated. i simply query the U-DS for the existence of the file to mark this as true.
All- These tests take a while. maybe that's ok, but app-pack-gen takes ~6 minutes for it all to work and showup. The big bottleneck here is the docker build portion which takes awhile. The processing and checks for data take ~10 minutes. That's allowing for spot instance spin up, execution, and then pinging for data. The runs give times for each step (scroll right to see the timing if it's not on your screen).
    And I wait for the apgs build to complete             # features/steps/apgs/steps.py:63 364.968s

And the workflow successfully completes               # features/steps/sps/steps.py:107 454.330s
    And the workflow data shows up in the data catalog            # features/steps/sps/steps.py:124 162.527s