Activities

A feed of all activities that were made by a user in #217 format.
#302 in progress.

Request description
getactivities
Parameters:

address # an address to search it's activities for
height # height to start search from (including). If not specified or null - current chain height
blocknum # tx's number to start search from at height block (excluding). For all other blocks in search range this  argument is ignored. If not specified or null - 999999
filters # an array of short form types to search for. If not specified or empty - search for all types.

Example:
{
    "method": "getactivities",
    "params": [
        "TG69Jioc81PiwMAJtRanfZqUmRY4TUG7nt",
        1000000,
        232
    ]
}

Response
Answer is a json array of ShortForms (#217) format.
Below will be the examples for each possible type of ShortForm.
address as well as account are ignored for all root data because the frontend should have been already known about the user it asks activities for.
Comment
Root data represents the comment from specified user.
Related content represents the post of where the comment was placed.
{
    "hash": "2b872925b786ebeaf4950fa48c43525de3f8c91882ae8261947872affcd29838",
    "txType": 204,
    "height": 1080096,
    "blockNum": 3,
    "description": "{\"message\":\"qwerewr\",\"url\":\"\",\"images\":[]}",
    "commentParentId": "c9a2d0054a9956dae54a8d57a3b01cd8cbdef6771ae0e9bee5b34decab8d1f92",
    "commentAnswerId": "c9a2d0054a9956dae54a8d57a3b01cd8cbdef6771ae0e9bee5b34decab8d1f92",
    "type": "comment",
    "relatedContent": {
        "hash": "a2e07d5feac01033e0defbc8a6a63934ee97180e05520db444d482462c9e717e",
        "txType": 200,
        "height": 1080061,
        "blockNum": 2,
        "address": "TXvNa2yQiSof3hdiAfkC4SnbWvaTqQzyRn",
        "account": {
            "name": "testdsfsdftets",
            "avatar": "",
            "badge": "",
            "reputation": 21
        }
    }
},

Answer
Root data represents user's answer.
Related content represents the comment user answered to.
{
    "hash": "1c2240cdfe84d23ad94955f0cbec9f02f50f921ff3d905ce74cd03bbc2c1320f",
    "txType": 204,
    "height": 1080096,
    "blockNum": 2,
    "description": "{\"message\":\"%40DMOMFBIRWPIMEQCG%20%20123123123\",\"url\":\"\",\"images\":[]}",
    "commentParentId": "889a279ff18a55f5367ee25fa3e90e891533d4ccbcc321104c09b97fd732db3a",
    "commentAnswerId": "889a279ff18a55f5367ee25fa3e90e891533d4ccbcc321104c09b97fd732db3a",
    "type": "answer",
    "relatedContent": {
        "hash": "889a279ff18a55f5367ee25fa3e90e891533d4ccbcc321104c09b97fd732db3a",
        "txType": 204,
        "height": 1053837,
        "blockNum": 3,
        "address": "TBknFE7we8YxY3g14UkKn93nZsraHCquHi",
        "account": {
            "name": "IUVEDWGNTUKIFJRJ",
            "avatar": "",
            "badge": "",
            "reputation": -2
        },
        "description": "{\"message\":\"%D0%BF%D1%80%D0%B0%D1%80\",\"url\":\"\",\"images\":[]}"
    }
}

Subscriber
Root data represents the user subscription.
Related content represents the account the user had subscribed to.
{
    "hash": "4c08af6784c3f84aa1861f0d225123a047186f5dcb99c35813c27963fd495584",
    "txType": 302,
    "height": 938813,
    "blockNum": 3,
    "type": "subscriber",
    "relatedContent": {
        "hash": "1c02c3e8abf44930703b8cab8d10d12f4b4a95d735c639ffbc03e4b29a33fad7",
        "txType": 100,
        "height": 249307,
        "blockNum": 2,
        "address": "TMW1NcowkYn7FMWHvXpsoDffocDXL2sZ2b",
        "account": {
            "name": "1",
            "avatar": "",
            "badge": "",
            "reputation": 0
        }
    }
}

ContentScore
Root data represents user's score of someones content.
Related content represents the content mentioned above.
{
    "hash": "4c08af6784c3f84aa1861f0d225123a047186f5dcb99c35813c27963fd495584",
    "txType": 302,
    "height": 938813,
    "blockNum": 3,
    "type": "subscriber",
    "relatedContent": {
        "hash": "1c02c3e8abf44930703b8cab8d10d12f4b4a95d735c639ffbc03e4b29a33fad7",
        "txType": 100,
        "height": 249307,
        "blockNum": 2,
        "address": "TMW1NcowkYn7FMWHvXpsoDffocDXL2sZ2b",
        "account": {
            "name": "1",
            "avatar": "",
            "badge": "",
            "reputation": 0
        }
    }
}

CommentScore
Root data represents the user's score to someones comment.
Related content represents the comment mentioned above.
{
    "hash": "7e8aec9d5b462b23baa54238fd9739d81ce267d80f260ac25bcae48eff23cb44",
    "txType": 301,
    "height": 1080079,
    "blockNum": 4,
    "val": 1,
    "type": "commentscore",
    "relatedContent": {
        "hash": "6c3295c160b984806ce772101cf273cbe7ea0ae46745381052e6bc49dbbe9cf0",
        "txType": 204,
        "height": 1080058,
        "blockNum": 2,
        "address": "TCSxT4ALAkbYSRQekmQU1h2DyFQi4Rmf2R",
        "account": {
            "name": "boommy_test4",
            "avatar": "",
            "badge": "",
            "reputation": 1
        },
        "description": "{\"message\":\"Wheeeeree\",\"url\":\"\",\"images\":[]}"
    }
}

Boost
Root data represents the boost action that user performed.
Related content represents the post that was boosted.
{
    "hash": "86d9e25e6d497e3c6a7702a2f31f1fe3632b7c5b813f53926e96905a4e7436a0",
    "txType": 208,
    "height": 1053838,
    "blockNum": 2,
    "val": 200000000,
    "type": "boost",
    "relatedContent": {
        "hash": "655532abd700b40a3863b875eca2fe59fa9116200dadb83f164f83289c66dd85",
        "txType": 201,
        "height": 1030822,
        "blockNum": 2,
        "address": "TQPBvaNUyEWoK9AfY7mUfx3BXZWE2fRXQd",
        "account": {
            "name": "Dev01",
            "avatar": "https://i.imgur.com/R7eWJPn.jpg",
            "badge": "",
            "reputation": 20
        },
        "description": "rex%20video"
    }
}

Repost
Root data represents the user's repost content.
Related content represents the post that was reposted.
{
    "hash": "b0f05230f539c1990ec75e7900b1a2f33a8eb05cd8a7636e2c2424d8700729ce",
    "txType": 200,
    "height": 975850,
    "blockNum": 2,
    "type": "repost",
    "relatedContent": {
        "hash": "08b4ae680a7d7a43dbd4642410a24ae61bbe5a7f633764f575615207f12de9d7",
        "txType": 200,
        "height": 964949,
        "blockNum": 2,
        "address": "TYvj3gSpVP742iVk4VgGDnqvkEPmSEZkgK",
        "account": {
            "name": "Network_Support",
            "avatar": "",
            "badge": "",
            "reputation": 0
        }
    }
}


GIF Image's only first frame is stored

I'm submitting a...

[ ] Regression (a behavior that used to work and stopped working in a new release)
[x] Bug report
[x] Feature request
[ ] Documentation issue or request

Current behavior
Steps:

Upload GIF
Rotate GIF to left/right
Export rotated GIF

Result:
As original GIF shows all frames, new GIF does not display all frames
Expected behavior
After rotating, the new GIF should display all frames with rotation effect.
Environment

Cropper version: v3.0.0-rc.3

Browser: All browsers supporting cropper plugin

The getCroppedCanvas method use the canvas.drawImage API to crop image in browser, canvas.drawImage only draw the first frame image into a canvas. So you may have to upload the GIF image to server and crop it by yourself.
In short, Cropper does not support this.

Thanks for the description :+1:


Issue 19/16/22

This PR brings a few changes to Authorize.Net.

Issue #19 - it moves the tested-in-the-field notify hash check from DPM to SIM. The SIM hash check was always wrong, but I did not want to break SIM by fixing it when introducing DPM. The way it is implemented is actually BC, so existing SIM implementations will work as before, but with a more secure notify handler hash check.
Issue #16 - now notifyUrl can be used to set the notify handler URL. This is more correct than the returnUrl that originally needed to be set. It is BC so will fall back to the returnUrl if the notifyUrl is not set.
Issue #22 - the complete messages for SIM and DPM now have redirect interfaces. The SIM and DPM messages handle the notify data sent by Authorize.Net and the handler needs to result in a "HTML redirect page", which the complete messages are now able to provide. Some notify handlers, such as SagePay, do not perform a redirect - they just return a URL as data. For SIM and DPM a redirect needs to be constructed. This "HTML page" redirect uses a different approach to both the GET and POST methods built into the Common AbstractResponse message. As before, it is BC, so existing sites can carry on generating their own redirect page as they do now, or make use of the redirect helper now built in (see issue #22 for an example of a notify handler).

Tests have been extended for the new functionality.

Also the SIMcompleteRequest() message now has a getTransactionId() method that will return the transaction ID that was sent by SIMauthorizeRequest() via a custom field. Before this, the merchant application needed to add this via a custom field for DPM, and it was actually sent via x_invoice_num for SIM (which really needs to not happen for the next release). The notify handler needed to know which POST variable to access to get this, i.e. $_POST['x_invoice_num'] or $_POST['my_custom_field_that_the_docs_does_not_mention_i_need'] which is kind of against the idea of bringing all the gateways into a single, unified interface.
As an aside - and I think this applies to other gateways - there is no way to access the card and address data sent by the gateway to the notify handler, except via the raw data. So I can capture $_POST['x_address1'] here, which will work for Authorize.Net SIM and DPM only, when I really am wanting to access $response->getAddress1(). Even better, $response->getCreditCard() or for V3.0 $response->getBillingAddress() so I have what the gateway sent in an OmniPay standard object, regardless of which gateway is being handled. Is it worth raising this as a separate ticket? I get the impression this is not an issue for many people, because they onlu run one or two gateways and so don't mind a bit of gateway-specific hacking to get it working. I run sites with many gateways, and each being handled to very differently is a real pain, feels so wrong, and could be vastly improved.

Issue 19 is important for us as SIM doesn't work at all without this fix


Improve testing patterns

Use [^\n] instead of . in stop-patterns so that more information is caught in messages like ERROR: ...\r\n

not relevant anymore


Add mdbook-i18n-normalize to convert existing PO files

The new binary will take an old PO file with existing translations as input. It runs extract_messages on every message, matches up the new messages, and outputs a normalized PO file. The normalized file maintains the old translations when possible.
How is this tested? I used the Korean translation of Comprehensive Rust as a starting point since it is the most complete translation at the moment. I ran the following commands
MDBOOK_OUTPUT='{"markdown": {}}' MDBOOK_BOOK__LANGUAGE=ko mdbook build -d markdown-ko

to generate Markdown using the current translation. I then ran
mdbook-i18n-normalize po/ko.po po/ko-norm.po
MDBOOK_OUTPUT='{"markdown": {}}' MDBOOK_BOOK__LANGUAGE=ko-norm mdbook build -d markdown-ko-norm

to generate Markdown using the normalized file. Before comparing the two directories, I made all links inline links in the old translation (comrak from https://github.com/kivikakk/comrak happens to do this) and I formatted all files as well:
for f in markdown-*/**/*.md; do
    comrak $f --to commonmark --gfm > $f.tmp && mv $f.tmp $f
    sed -i 's/<!-- end list -->//g' $f
done
dprint fmt 'markdown-ko-*/**/*.md'

After all this, diff markdown-ko markdown-ko-norm shows differences in 9 files. Some of the differences are changes were we now invalidate less of the file when the original English text changes. An example can be seen in “Running the Course” which has a large list. We now translate list items one-by-one:
diff --color --unified markdown-ko/running-the-course.md markdown-ko-norm/running-the-course.md
--- markdown-ko/running-the-course.md	2023-08-13 16:34:58.367680394 +0200
+++ markdown-ko-norm/running-the-course.md	2023-08-13 16:34:58.371680346 +0200
@@ -1,4 +1,4 @@
-# 강의 진행 방식
+# 강의 진행

 > 강사를 위한 안내 페이지입니다.

@@ -6,11 +6,10 @@

 강의를 실행하기 위한 준비:

-1. Make yourself familiar with the course material. We've included speaker notes
-   to help highlight the key points (please help us by contributing more speaker
-   notes\!). When presenting, you should make sure to open the speaker notes in
-   a popup (click the link with a little arrow next to "Speaker Notes"). This
-   way you have a clean screen to present to the class.
+1. 강의 자료를 숙지합니다. 주요 요점을 강조하기 위해 강의 참조 노트를
+   포함하였습니다. (추가적인 노트를 작성하여 제공해 주시면 감사하겠습니다.) 강의
+   참조 노트의 링크를 누르면 별도의 팝업으로 분리가 되며, 메인 화면에서는
+   사라집니다. 깔끔한 화면으로 강의를 진행할 수 있습니다.

 2. Decide on the dates. Since the course takes at least three full days, we
    recommend that you schedule the days over two weeks. Course participants have

This new fine-grained extraction technique allow us to use the translation for the first list item, even though something has changed for the later items.
The next steps is to make a new release of mdbook-i18n-helpers and then normalize all existing translations to the new more fine-grained format. This will make life easier for translators because it removes the direct dependency on the formatting of the Markdown (# foo and ## foo are both extracted into just "foo").
Fixes #33.

I didn't run this, but the code looks good and sensible. I can take a deeper look if you'd like, but it seems like your experimentation demonstrates that it's fit for purpose.

Thanks for skimming it — that's all I can ask for! :slightly_smiling_face:


Removing superuser role option on user details page

Description of changes:

Removing superuser role option on user details page

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of the met-public license (Apache 2.0).

Codecov Report

Merging #1736 (c248e3d) into main (133b246) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main    #1736   +/-   ##
=======================================
  Coverage   70.97%   70.97%
=======================================
  Files         374      374
  Lines       11144    11144
  Branches      865      865
=======================================
  Hits         7910     7910
  Misses       3100     3100
  Partials      134      134

Flag
Coverage Δ

metweb
64.40% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.


Jesse: Watch consumersleads.com

Jesse requests the watch of the watch_keyword consumersleads\.com. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

consumersleads\.com has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Approved by Jeff Schaller in Charcoal HQ


Upgrading follow-redirects to 1.14.7

Description

Upgrading follow-redirects to 1.14.7  to fix security vulnerability i.e. https://github.com/advisories/GHSA-74fj-2j2h-c42q

This PR has:

[ ] been self-reviewed.

[ ] using the concurrency checklist (Remove this item if the PR doesn't have any relation to concurrency.)

[ ] added documentation for new or modified features or behaviors.
[ ] added Javadocs for most classes and all non-trivial methods. Linked related entities via Javadoc links.
[ ] added or updated version, license, or notice information in licenses.yaml
[ ] added comments explaining the "why" and the intent of the code wherever would not be obvious for an unfamiliar reader.
[ ] added unit tests or modified existing tests to cover new code paths, ensuring the threshold for code coverage is met.
[ ] added integration tests.
[ ] been tested in a test Druid cluster.

The first phase of Travis has passed. The rest of the CI won't do anything as this PR has only web-console-related changes. Merging this PR now.


Fix formatting for Roslyn CA1000 - CA2260 rules

Summary

Correct tabs
Add title "Property" (same as all other IDE* rules)
Add title property
Add missed bold formatting for some rules

@gewarren, sorry for PR size. I can split it and send 4 PR.


Show risk assessment for addresses

If the addresses are in the dapp-address-mapping or in the ethereum-lists registry, they are likely safer than unknown addresses. If they appear in the evm-labels phishing / hacking registry they are certainly unsafe. We could try to communicate this (e.g. using colour codes: green for "known", yellow for "unknown" and red for "known scammers").

Hi team
The below is the address which is continuously withdrawing Cryptos from my trust wallet by scamming me.
Anybody can help as the address is of ethereum
0xf38A57Dda57deD61614f4e280E305A00c6045D9e
Please team get me out of this problem.

With our integrations with ScamSniffer and Webacy, as well as some of our own checks, we now have a start of risk assessments. This can be improved upon, but for now this feature is complete enough to close the issue.


Download link 404 - Broken

Noticed that download lib link are broken on website.

Thanks for the report @Giovancruz! I've removed the broken link from the instafeedjs.com website.


CLOUDSTACK-9146: Refactor Hypervisor KVM into default Maven directory structure.

Ping @wilderrodrigues @wido @remibergsma @miguelaferreira
Refactored the Apache CloudStack Plugin - Hypervisor KVM to the default Maven directory structure. Integration tests running now.
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 7:07.076s
[INFO] Finished at: Sat Dec 12 01:31:14 CET 2015
[INFO] Final Memory: 105M/814M
[INFO] ------------------------------------------------------------------------

Nice one, @borisroman !
LGTM :+1:
Waiting for the test results. :)

It works! Though please tests yourself for more confidence!
Environment

1 KVM host on CentOS 7.1
1 Management Server on CentOS 7.1
Agent + Common RPMs built from source

Integration test suite 1
nosetests --with-marvin --marvin-config=${marvinCfg} -s -a tags=advanced,required_hardware=true \
    component/test_password_server.py \
    smoke/test_vpc_redundant.py \
    smoke/test_routers_iptables_default_policy.py \
    smoke/test_routers_network_ops.py \
    smoke/test_vpc_router_nics.py \
    smoke/test_router_dhcphosts.py \
    smoke/test_loadbalance.py \
    smoke/test_internal_lb.py \
    smoke/test_ssvm.py \
    smoke/test_vpc_vpn.py \
    smoke/test_privategw_acl.py \
    smoke/test_network.py

Result test suite 1
Check the password file in the Router VM ... === TestName: test_isolate_network_password_server | Status : SUCCESS ===
ok
Create a redundant VPC with two networks with two VMs in each network ... === TestName: test_01_create_redundant_VPC_2tiers_4VMs_4IPs_4PF_ACL | Status : SUCCESS ===
ok
Create a redundant VPC with two networks with two VMs in each network and check default routes ... === TestName: test_02_redundant_VPC_default_routes | Status : SUCCESS ===
ok
Create a redundant VPC with two networks with two VMs in each network ... === TestName: test_03_create_redundant_VPC_1tier_2VMs_2IPs_2PF_ACL_reboot_routers | Status : SUCCESS ===
ok
Test iptables default INPUT/FORWARD policy on RouterVM ... === TestName: test_02_routervm_iptables_policies | Status : SUCCESS ===
ok
Test iptables default INPUT/FORWARD policies on VPC router ... === TestName: test_01_single_VPC_iptables_policies | Status : SUCCESS ===
ok
Test redundant router internals ... === TestName: test_01_isolate_network_FW_PF_default_routes_egress_true | Status : SUCCESS ===
ok
Test redundant router internals ... === TestName: test_02_isolate_network_FW_PF_default_routes_egress_false | Status : SUCCESS ===
ok
Test redundant router internals ... === TestName: test_01_RVR_Network_FW_PF_SSH_default_routes_egress_true | Status : SUCCESS ===
ok
Test redundant router internals ... === TestName: test_02_RVR_Network_FW_PF_SSH_default_routes_egress_false | Status : SUCCESS ===
ok
Test redundant router internals ... === TestName: test_03_RVR_Network_check_router_state | Status : SUCCESS ===
ok
Create a VPC with two networks with one VM in each network and test nics after destroy ... === TestName: test_01_VPC_nics_after_destroy | Status : SUCCESS ===
ok
Create a VPC with two networks with one VM in each network and test default routes ... === TestName: test_02_VPC_default_routes | Status : SUCCESS ===
ok
Check that the /etc/dhcphosts.txt doesn't contain duplicate IPs ... === TestName: test_router_dhcphosts | Status : SUCCESS ===
ok
Test to create Load balancing rule with source NAT ... === TestName: test_01_create_lb_rule_src_nat | Status : SUCCESS ===
ok
Test to create Load balancing rule with non source NAT ... === TestName: test_02_create_lb_rule_non_nat | Status : SUCCESS ===
ok
Test for assign & removing load balancing rule ... === TestName: test_assign_and_removal_lb | Status : SUCCESS ===
ok
Test to verify access to loadbalancer haproxy admin stats page ... === TestName: test02_internallb_haproxy_stats_on_all_interfaces | Status : SUCCESS ===
ok
Test create, assign, remove of an Internal LB with roundrobin http traffic to 3 vm's ... === TestName: test_01_internallb_roundrobin_1VPC_3VM_HTTP_port80 | Status : SUCCESS ===
ok
Test SSVM Internals ... === TestName: test_03_ssvm_internals | Status : SUCCESS ===
ok
Test CPVM Internals ... === TestName: test_04_cpvm_internals | Status : SUCCESS ===
ok
Test stop SSVM ... === TestName: test_05_stop_ssvm | Status : SUCCESS ===
ok
Test stop CPVM ... === TestName: test_06_stop_cpvm | Status : SUCCESS ===
ok
Test reboot SSVM ... === TestName: test_07_reboot_ssvm | Status : SUCCESS ===
ok
Test reboot CPVM ... === TestName: test_08_reboot_cpvm | Status : SUCCESS ===
ok
Test destroy SSVM ... === TestName: test_09_destroy_ssvm | Status : SUCCESS ===
ok
Test destroy CPVM ... === TestName: test_10_destroy_cpvm | Status : SUCCESS ===
ok
Test Remote Access VPN in VPC ... === TestName: test_vpc_remote_access_vpn | Status : SUCCESS ===
ok
Test VPN in VPC ... === TestName: test_vpc_site2site_vpn | Status : SUCCESS ===
ok
test_01_vpc_privategw_acl (integration.smoke.test_privategw_acl.TestPrivateGwACL) ... === TestName: test_01_vpc_privategw_acl | Status : SUCCESS ===
ok
test_02_vpc_privategw_static_routes (integration.smoke.test_privategw_acl.TestPrivateGwACL) ... === TestName: test_02_vpc_privategw_static_routes | Status : SUCCESS ===
ok
test_03_rvpc_privategw_static_routes (integration.smoke.test_privategw_acl.TestPrivateGwACL) ... === TestName: test_03_rvpc_privategw_static_routes | Status : SUCCESS ===
ok
Test for port forwarding on source NAT ... === TestName: test_01_port_fwd_on_src_nat | Status : SUCCESS ===
ok
Test for port forwarding on non source NAT ... === TestName: test_02_port_fwd_on_non_src_nat | Status : SUCCESS ===
ok
Test for reboot router ... === TestName: test_reboot_router | Status : SUCCESS ===
ok
Test for Router rules for network rules on acquired public IP ... === TestName: test_network_rules_acquired_public_ip_1_static_nat_rule | Status : SUCCESS ===
ok
Test for Router rules for network rules on acquired public IP ... === TestName: test_network_rules_acquired_public_ip_2_nat_rule | Status : SUCCESS ===
ok
Test for Router rules for network rules on acquired public IP ... === TestName: test_network_rules_acquired_public_ip_3_Load_Balancer_Rule | Status : SUCCESS ===
ok

----------------------------------------------------------------------
Ran 38 tests in 20639.962s

OK

Integration test suite 2
nosetests --with-marvin --marvin-config=${marvinCfg} -s -a tags=advanced,required_hardware=false \
    smoke/test_routers.py \
    smoke/test_network_acl.py \
    smoke/test_reset_vm_on_reboot.py \
    smoke/test_vm_life_cycle.py \
    smoke/test_service_offerings.py \
    smoke/test_network.py \
    component/test_vpc_offerings.py \
    component/test_vpc_routers.py

Result test suite 2
Test router internal advanced zone ... === TestName: test_02_router_internal_adv | Status : SUCCESS ===
ok
Test restart network ... === TestName: test_03_restart_network_cleanup | Status : SUCCESS ===
ok
Test router basic setup ... === TestName: test_05_router_basic | Status : SUCCESS ===
ok
Test router advanced setup ... === TestName: test_06_router_advanced | Status : SUCCESS ===
ok
Test stop router ... === TestName: test_07_stop_router | Status : SUCCESS ===
ok
Test start router ... === TestName: test_08_start_router | Status : SUCCESS ===
ok
Test reboot router ... === TestName: test_09_reboot_router | Status : SUCCESS ===
ok
Test reset virtual machine on reboot ... === TestName: test_01_reset_vm_on_reboot | Status : SUCCESS ===
ok
Test advanced zone virtual router ... === TestName: test_advZoneVirtualRouter | Status : SUCCESS ===
ok
Test Deploy Virtual Machine ... === TestName: test_deploy_vm | Status : SUCCESS ===
ok
Test Multiple Deploy Virtual Machine ... === TestName: test_deploy_vm_multiple | Status : SUCCESS ===
ok
Test Stop Virtual Machine ... === TestName: test_01_stop_vm | Status : SUCCESS ===
ok
Test Start Virtual Machine ... === TestName: test_02_start_vm | Status : SUCCESS ===
ok
Test Reboot Virtual Machine ... === TestName: test_03_reboot_vm | Status : SUCCESS ===
ok
Test destroy Virtual Machine ... === TestName: test_06_destroy_vm | Status : SUCCESS ===
ok
Test recover Virtual Machine ... === TestName: test_07_restore_vm | Status : SUCCESS ===
ok
Test migrate VM ... === TestName: test_08_migrate_vm | Status : SUCCESS ===
ok
Test destroy(expunge) Virtual Machine ... === TestName: test_09_expunge_vm | Status : SUCCESS ===
ok
Test to create service offering ... === TestName: test_01_create_service_offering | Status : SUCCESS ===
ok
Test to update existing service offering ... === TestName: test_02_edit_service_offering | Status : SUCCESS ===
ok
Test to delete service offering ... === TestName: test_03_delete_service_offering | Status : SUCCESS ===
ok
Test for delete account ... === TestName: test_delete_account | Status : SUCCESS ===
ok
Test for Associate/Disassociate public IP address for admin account ... === TestName: test_public_ip_admin_account | Status : SUCCESS ===
ok
Test for Associate/Disassociate public IP address for user account ... === TestName: test_public_ip_user_account | Status : SUCCESS ===
ok
Test for release public IP address ... === TestName: test_releaseIP | Status : SUCCESS ===
ok
Test create VPC offering ... === TestName: test_01_create_vpc_offering | Status : SUCCESS ===
ok
Test VPC offering without load balancing service ... === TestName: test_03_vpc_off_without_lb | Status : SUCCESS ===
ok
Test VPC offering without static NAT service ... === TestName: test_04_vpc_off_without_static_nat | Status : SUCCESS ===
ok
Test VPC offering without port forwarding service ... === TestName: test_05_vpc_off_without_pf | Status : SUCCESS ===
ok
Test VPC offering with invalid services ... === TestName: test_06_vpc_off_invalid_services | Status : SUCCESS ===
ok
Test update VPC offering ... === TestName: test_07_update_vpc_off | Status : SUCCESS ===
ok
Test list VPC offering ... === TestName: test_08_list_vpc_off | Status : SUCCESS ===
ok
test_09_create_redundant_vpc_offering (integration.component.test_vpc_offerings.TestVPCOffering) ... === TestName: test_09_create_redundant_vpc_offering | Status : SUCCESS ===
ok
Test start/stop of router after addition of one guest network ... === TestName: test_01_start_stop_router_after_addition_of_one_guest_network | Status : SUCCESS ===
ok
Test reboot of router after addition of one guest network ... === TestName: test_02_reboot_router_after_addition_of_one_guest_network | Status : SUCCESS ===
ok
Test to change service offering of router after addition of one guest network ... === TestName: test_04_chg_srv_off_router_after_addition_of_one_guest_network | Status : SUCCESS ===
ok
Test destroy of router after addition of one guest network ... === TestName: test_05_destroy_router_after_addition_of_one_guest_network | Status : SUCCESS ===
ok
Test to stop and start router after creation of VPC ... === TestName: test_01_stop_start_router_after_creating_vpc | Status : SUCCESS ===
ok
Test to reboot the router after creating a VPC ... === TestName: test_02_reboot_router_after_creating_vpc | Status : SUCCESS ===
ok
Tests to change service offering of the Router after ... === TestName: test_04_change_service_offerring_vpc | Status : SUCCESS ===
ok
Test to destroy the router after creating a VPC ... === TestName: test_05_destroy_router_after_creating_vpc | Status : SUCCESS ===
ok

----------------------------------------------------------------------
Ran 41 tests in 8952.549s

OK

This is codebase wide issue that we're not following the default maven directory structure for all the maven projects/modules. What is the motivation behind doing this only for KVM plugin, any benefit we would get out of this?

Since no one is making a PR to improve all modules, I would say that incremental improvement is better than no improvement at all. I have done the same to the NSX plugin and to the untold module.

And btw LGTM! Nice one @borisroman

@miguelaferreira I also think incremental is better. Keeps changed contained and documented. Else it would be a PR that changes "OVER 9999"  files...

@bhaisaab I think an incremental approach is better. I will also create issue for all other projects and move the each at a time. The plugin-hypervisor-kvm just happens to be the first. Once everything is moved we'll have benefits.

@borisroman what benefits we will have?

LGTM based on these tests (run on KVM):
nosetests --with-marvin --marvin-config=${marvinCfg} -s -a tags=advanced,required_hardware=true \
component/test_password_server.py \
smoke/test_vpc_redundant.py \
smoke/test_routers_iptables_default_policy.py \
smoke/test_routers_network_ops.py \
smoke/test_vpc_router_nics.py \
smoke/test_router_dhcphosts.py \
smoke/test_loadbalance.py \
smoke/test_internal_lb.py \
smoke/test_ssvm.py \
smoke/test_vpc_vpn.py \
smoke/test_privategw_acl.py \
smoke/test_network.py

Result:
Check the password file in the Router VM ... === TestName: test_isolate_network_password_server | Status : SUCCESS ===
ok
Create a redundant VPC with two networks with two VMs in each network ... === TestName: test_01_create_redundant_VPC_2tiers_4VMs_4IPs_4PF_ACL | Status : SUCCESS ===
ok
Create a redundant VPC with two networks with two VMs in each network and check default routes ... === TestName: test_02_redundant_VPC_default_routes | Status : SUCCESS ===
ok
Create a redundant VPC with two networks with two VMs in each network ... === TestName: test_03_create_redundant_VPC_1tier_2VMs_2IPs_2PF_ACL_reboot_routers | Status : SUCCESS ===
ok
Test iptables default INPUT/FORWARD policy on RouterVM ... === TestName: test_02_routervm_iptables_policies | Status : SUCCESS ===
ok
Test iptables default INPUT/FORWARD policies on VPC router ... === TestName: test_01_single_VPC_iptables_policies | Status : SUCCESS ===
ok
Test redundant router internals ... === TestName: test_01_isolate_network_FW_PF_default_routes_egress_true | Status : SUCCESS ===
ok
Test redundant router internals ... === TestName: test_02_isolate_network_FW_PF_default_routes_egress_false | Status : SUCCESS ===
ok
Test redundant router internals ... === TestName: test_01_RVR_Network_FW_PF_SSH_default_routes_egress_true | Status : SUCCESS ===
ok
Test redundant router internals ... === TestName: test_02_RVR_Network_FW_PF_SSH_default_routes_egress_false | Status : SUCCESS ===
ok
Test redundant router internals ... === TestName: test_03_RVR_Network_check_router_state | Status : SUCCESS ===
ok
Create a VPC with two networks with one VM in each network and test nics after destroy ... === TestName: test_01_VPC_nics_after_destroy | Status : SUCCESS ===
ok
Create a VPC with two networks with one VM in each network and test default routes ... === TestName: test_02_VPC_default_routes | Status : SUCCESS ===
ok
Check that the /etc/dhcphosts.txt doesn't contain duplicate IPs ... === TestName: test_router_dhcphosts | Status : SUCCESS ===
ok
Test to create Load balancing rule with source NAT ... === TestName: test_01_create_lb_rule_src_nat | Status : SUCCESS ===
ok
Test to create Load balancing rule with non source NAT ... === TestName: test_02_create_lb_rule_non_nat | Status : SUCCESS ===
ok
Test for assign & removing load balancing rule ... === TestName: test_assign_and_removal_lb | Status : SUCCESS ===
ok
Test to verify access to loadbalancer haproxy admin stats page ... === TestName: test02_internallb_haproxy_stats_on_all_interfaces | Status : SUCCESS ===
ok
Test create, assign, remove of an Internal LB with roundrobin http traffic to 3 vm's ... === TestName: test_01_internallb_roundrobin_1VPC_3VM_HTTP_port80 | Status : SUCCESS ===
ok
Test SSVM Internals ... === TestName: test_03_ssvm_internals | Status : SUCCESS ===
ok
Test CPVM Internals ... === TestName: test_04_cpvm_internals | Status : SUCCESS ===
ok
Test stop SSVM ... === TestName: test_05_stop_ssvm | Status : SUCCESS ===
ok
Test stop CPVM ... === TestName: test_06_stop_cpvm | Status : SUCCESS ===
ok
Test reboot SSVM ... === TestName: test_07_reboot_ssvm | Status : SUCCESS ===
ok
Test reboot CPVM ... === TestName: test_08_reboot_cpvm | Status : SUCCESS ===
ok
Test destroy SSVM ... === TestName: test_09_destroy_ssvm | Status : SUCCESS ===
ok
Test destroy CPVM ... === TestName: test_10_destroy_cpvm | Status : SUCCESS ===
ok
Test Remote Access VPN in VPC ... === TestName: test_vpc_remote_access_vpn | Status : SUCCESS ===
ok
Test VPN in VPC ... === TestName: test_vpc_site2site_vpn | Status : SUCCESS ===
ok
test_01_vpc_privategw_acl (integration.smoke.test_privategw_acl.TestPrivateGwACL) ... === TestName: test_01_vpc_privategw_acl | Status : SUCCESS ===
ok
test_02_vpc_privategw_static_routes (integration.smoke.test_privategw_acl.TestPrivateGwACL) ... === TestName: test_02_vpc_privategw_static_routes | Status : SUCCESS ===
ok
test_03_rvpc_privategw_static_routes (integration.smoke.test_privategw_acl.TestPrivateGwACL) ... === TestName: test_03_rvpc_privategw_static_routes | Status : SUCCESS ===
ok
Test for port forwarding on source NAT ... === TestName: test_01_port_fwd_on_src_nat | Status : SUCCESS ===
ok
Test for port forwarding on non source NAT ... === TestName: test_02_port_fwd_on_non_src_nat | Status : SUCCESS ===
ok
Test for reboot router ... === TestName: test_reboot_router | Status : SUCCESS ===
ok
Test for Router rules for network rules on acquired public IP ... === TestName: test_network_rules_acquired_public_ip_1_static_nat_rule | Status : SUCCESS ===
ok
Test for Router rules for network rules on acquired public IP ... === TestName: test_network_rules_acquired_public_ip_2_nat_rule | Status : SUCCESS ===
ok
Test for Router rules for network rules on acquired public IP ... === TestName: test_network_rules_acquired_public_ip_3_Load_Balancer_Rule | Status : SUCCESS ===
ok

----------------------------------------------------------------------
Ran 38 tests in 20402.881s

OK

And:
nosetests --with-marvin --marvin-config=${marvinCfg} -s -a tags=advanced,required_hardware=false \
smoke/test_routers.py \
smoke/test_network_acl.py \
smoke/test_reset_vm_on_reboot.py \
smoke/test_vm_life_cycle.py \
smoke/test_service_offerings.py \
smoke/test_network.py \
component/test_vpc_offerings.py \
component/test_vpc_routers.py

Result:
Test router internal advanced zone ... === TestName: test_02_router_internal_adv | Status : SUCCESS ===
ok
Test restart network ... === TestName: test_03_restart_network_cleanup | Status : SUCCESS ===
ok
Test router basic setup ... === TestName: test_05_router_basic | Status : SUCCESS ===
ok
Test router advanced setup ... === TestName: test_06_router_advanced | Status : SUCCESS ===
ok
Test stop router ... === TestName: test_07_stop_router | Status : SUCCESS ===
ok
Test start router ... === TestName: test_08_start_router | Status : SUCCESS ===
ok
Test reboot router ... === TestName: test_09_reboot_router | Status : SUCCESS ===
ok
Test reset virtual machine on reboot ... === TestName: test_01_reset_vm_on_reboot | Status : SUCCESS ===
ok
Test advanced zone virtual router ... === TestName: test_advZoneVirtualRouter | Status : SUCCESS ===
ok
Test Deploy Virtual Machine ... === TestName: test_deploy_vm | Status : SUCCESS ===
ok
Test Multiple Deploy Virtual Machine ... === TestName: test_deploy_vm_multiple | Status : SUCCESS ===
ok
Test Stop Virtual Machine ... === TestName: test_01_stop_vm | Status : SUCCESS ===
ok
Test Start Virtual Machine ... === TestName: test_02_start_vm | Status : SUCCESS ===
ok
Test Reboot Virtual Machine ... === TestName: test_03_reboot_vm | Status : SUCCESS ===
ok
Test destroy Virtual Machine ... === TestName: test_06_destroy_vm | Status : SUCCESS ===
ok
Test recover Virtual Machine ... === TestName: test_07_restore_vm | Status : SUCCESS ===
ok
Test migrate VM ... === TestName: test_08_migrate_vm | Status : SUCCESS ===
ok
Test destroy(expunge) Virtual Machine ... === TestName: test_09_expunge_vm | Status : SUCCESS ===
ok
Test to create service offering ... === TestName: test_01_create_service_offering | Status : SUCCESS ===
ok
Test to update existing service offering ... === TestName: test_02_edit_service_offering | Status : SUCCESS ===
ok
Test to delete service offering ... === TestName: test_03_delete_service_offering | Status : SUCCESS ===
ok
Test for delete account ... === TestName: test_delete_account | Status : SUCCESS ===
ok
Test for Associate/Disassociate public IP address for admin account ... === TestName: test_public_ip_admin_account | Status : SUCCESS ===
ok
Test for Associate/Disassociate public IP address for user account ... === TestName: test_public_ip_user_account | Status : SUCCESS ===
ok
Test for release public IP address ... === TestName: test_releaseIP | Status : SUCCESS ===
ok
Test create VPC offering ... === TestName: test_01_create_vpc_offering | Status : SUCCESS ===
ok
Test VPC offering without load balancing service ... === TestName: test_03_vpc_off_without_lb | Status : SUCCESS ===
ok
Test VPC offering without static NAT service ... === TestName: test_04_vpc_off_without_static_nat | Status : SUCCESS ===
ok
Test VPC offering without port forwarding service ... === TestName: test_05_vpc_off_without_pf | Status : SUCCESS ===
ok
Test VPC offering with invalid services ... === TestName: test_06_vpc_off_invalid_services | Status : SUCCESS ===
ok
Test update VPC offering ... === TestName: test_07_update_vpc_off | Status : SUCCESS ===
ok
Test list VPC offering ... === TestName: test_08_list_vpc_off | Status : SUCCESS ===
ok
test_09_create_redundant_vpc_offering (integration.component.test_vpc_offerings.TestVPCOffering) ... === TestName: test_09_create_redundant_vpc_offering | Status : SUCCESS ===
ok
Test start/stop of router after addition of one guest network ... === TestName: test_01_start_stop_router_after_addition_of_one_guest_network | Status : SUCCESS ===
ok
Test reboot of router after addition of one guest network ... === TestName: test_02_reboot_router_after_addition_of_one_guest_network | Status : SUCCESS ===
ok
Test to change service offering of router after addition of one guest network ... === TestName: test_04_chg_srv_off_router_after_addition_of_one_guest_network | Status : SUCCESS ===
ok
Test destroy of router after addition of one guest network ... === TestName: test_05_destroy_router_after_addition_of_one_guest_network | Status : SUCCESS ===
ok
Test to stop and start router after creation of VPC ... === TestName: test_01_stop_start_router_after_creating_vpc | Status : SUCCESS ===
ok
Test to reboot the router after creating a VPC ... === TestName: test_02_reboot_router_after_creating_vpc | Status : SUCCESS ===
ok
Tests to change service offering of the Router after ... === TestName: test_04_change_service_offerring_vpc | Status : SUCCESS ===
ok
Test to destroy the router after creating a VPC ... === TestName: test_05_destroy_router_after_creating_vpc | Status : SUCCESS ===
ok

----------------------------------------------------------------------
Ran 41 tests in 8459.729s

OK

LGTM, and I agree with @borisroman the incremental change is better as we had some initial problems with utils, After NSX and KVM I think we can accelerate. unless we do the wise thing and abandon maven and use make of course.

@DaanHoogland @borisroman - I sincerely don't grok the benefits of these changes, which is why I'm asking what are the benefits of the changes?
Some potential issues I can think of, wrt changing file names and paths are: (1) doing branch maintenance will become difficult, so cherry-picks and backporting bugfixes will become error prone, (2) while switching branches IDEs will be slow as they would need to re-index files/paths, (3) it becomes difficult to diff across branches (like git diff branch1..branch2 some/file/path/file.txt) as files/paths have changed (I for example run sanity checks in db related files to make sure we don't change older db paths etc).
While I understand, Maven users want to have convention over configuration, other than that argument I don't understand the pros. I would request that you please hold this PR for merging.

@bhaisaab I don't like maven but we are using it! cherry-picking is really not an argument and backporting is difficult for worse reasons then this one.
Using maven we better adhere to the conventions in the maven world as keeping our diversions from it correct will become increasingly difficult over time. I will meet you half way so we can abandon 4.5 first and continue to prove our fwd-merge schedule over several versions. We will face issues in this respect as well, btw, if at the time of 4.11 we will be fixing things in 4.6 ;)

@DaanHoogland I'm not opposed to the change it is just that I think it makes my life challenging with some of the things I do on day-to-day basis :) We do follow all the Maven conventions except for the directory structure (src and test paths) which I thought was not end of the world.
Nevertheless, I'm curious to know what are the pros or cons of not following the Maven convention (specifically the src/ and test/ directory structure) in the long.

@bhaisaab me too, and I am willing to put it on a long track but let's investigate and discuss more

@DaanHoogland @bhaisaab
The first thing is that using a standard is better than doing the way nobody else is doing. When one adopts a technology is essential to stick with what that technology has standardised. It help in the long run when other people, used to that technology, will join the project. In addition, ACS is not our only Maven project. So, sticking with the standard is great.
Nothing personal, but I'm not a fan of the only issue for me is that most users are not as agile as we want them to be. those kind or arguments. We have to improve, as much as we can, and it should not be stopped because other users cannot improve. What we do is to make our work better and also to help them see the better way of doing things. A bit philosophical, but I believe that we have to lead by example.
This code should have been merged before the 4.7 cut.
More on this: https://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html

@wilderrodrigues nice rant and I agree with most except for the part where it should have been merged. There were objections so this is a clear example of a thing that shouldn't have been merged!

@DaanHoogland, there was no strong argument about it. @bhaisaab doesn't as point that can stop a merge. He simply wants to make his daily tasks easier - probably because he has to keep old releases, like 4.4.x/4.5.x.
If we release 10 versions in an year, it will be a burden for certain business model - until they adapt. But that's what we want, because it will improve quality and many other things.
It should have been merged. It wasn't, but should have been. I'm not saying it has to. :)
I will let you guys decide about it.
Cheers,
Wilder

@wilderrodrigues ok, I see how you meant 'should' now, please convince Rohit, not me. I you want to convince me you have to argue why we should keep maven n favour of make;)

Conflicts, won't resolve them.


Goto context does not push to jumplist

Description
When using go_to_context and then we follow it up with Ctrl-o to go back to the location before the movement, it does not remember the starting position.
Neovim version
0.8.1
Expected behavior
Jumplist is updated
Actual behavior
Jumplist is not updated
Minimal config
local plugins = {
  ts         = 'https://github.com/nvim-treesitter/nvim-treesitter',
  ts_context = 'https://github.com/nvim-treesitter/nvim-treesitter-context',
  -- ADD ADDITIONAL PLUGINS THAT ARE _NECESSARY_ TO REPRODUCE THE ISSUE
}

for name, url in pairs(plugins) do
  local install_path = '/tmp/nvim/site/'..name
  if vim.fn.isdirectory(install_path) == 0 then
    vim.fn.system { 'git', 'clone', '--depth=1', url, install_path }
  end
  vim.o.runtimepath = install_path..','..vim.o.runtimepath
end

local config = {
                enable = true,
                max_lines = 1,
                throttle = true,
                patterns = {
                    default = {
                        "function",
                        "method",
                        "if",
                        "for",
                        "case",
                        "while",
                        "switch",
                    },
                },
}
require("treesitter-context").setup(config)

Steps to reproduce

Move within a context where the parent of that context is outside viewport
Invoke the go_to_cursor
Press Ctrl-o to jump back to prev jumplist entry
Cursor does not move to the starting position

Note patterns and throttle aren't config fields anymore.


Fine-tune sync.Once

Please answer these questions before submitting your issue. Thanks!
What version of Go are you using (go version)?
go version go1.7 darwin/amd64
What operating system and processor architecture are you using (go env)?
GOARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/wang/dev/"
GORACE=""
GOROOT="/usr/local/go"
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
CC="clang"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/cf/kfbz84t902x4ssxy84rw2m0w0000gn/T/go-build294559391=/tmp/go-build -gno-record-gcc-switches -fno-common"
CXX="clang++"
CGO_ENABLED="1"
What did you do?
If possible, provide a recipe for reproducing the error.
A complete runnable program is good.
A link on play.golang.org is best.
Fine-tune sync.Once so that it's faster. Modify Do method of sync.Once as following:
func (o *Once) Do(f func()) {
	if atomic.LoadInt32(&o.done) == 1 {
		return
	}
	o.m.Lock()
	if o.done == 0 {
		atomic.StoreInt32(&o.done, 1)
		o.m.Unlock()
		f()
		return
	}
	o.m.Unlock()
}

The result of bench testing:
Benchmark_StdOnce-4<PHONE_NUMBER>	         2.02 ns/op
Benchmark_MyOnce-4<PHONE_NUMBER>	         1.53 ns/op

The benchmark code as following:
func onceFunc() {
}

func Benchmark_StdOnce(b *testing.B) {
	once := new(sync.Once)
	b.RunParallel(func(pb *testing.PB) {
		for pb.Next() {
			once.Do(onceFunc)
		}
	})
}

func Benchmark_MyOnce(b *testing.B) {
	once := new(Once)
	b.RunParallel(func(pb *testing.PB) {
		for pb.Next() {
			once.Do(onceFunc)
		}
	})
}

And if f() costs a lot of time, current implemtation of once.Do would hold the mutex a long time.
What did you expect to see?
What did you see instead?

sync.Once currently guarantees that f is done (either returned or paniced) after a call to Do returns.
With your change Do can return before f is done or even before f is called (the goroutine calling f can be descheduled before the call, but after unlocking the mutex). The comment for Do even says

Because no call to Do returns until the one call to f returns if f causes Do to be called, it will deadlock.

So this would clearly be a breaking change and is outside the scope for Go 1.

Thanks!!


Showing commit messages

Is your feature request related to a problem?
No response
Describe the solution you'd like
Show the commit message in Artemis, where the Test results are shown.
It would help with identifying the commits, when they give different results.
It would also be an incentive to write somewhat decent commit messages.
Describe alternatives you've considered
Guessing which commit is which, depending on the commit times, how many commits have happened since.
Opening Bit-Bucket.
Additional context
No response

Good idea. @tobias-lippert is currently implementing a commit history view for instructors in the context of exams.
@tobias-lippert what is the status?
We could then also use this information in other places such as in the history for students.
We might want to save the commit message as part of the programming submission in the database. This would be faster than retrieving it from git each time.


prove that the "problem" in Figure 1 is true

Somehow I just realized that we never actually prove that the issue in Figure 1 is true of our data.
I think an easy way to do so would be to

for every entry that is missing in at least 1 sample
calculate the fraction of missingness (how many samples is it missing in)
calculate the median value from the samples where it is present
plot fraction of missingness vs median value?
histogram of median value?

Any other ideas @hunter-moseley ??

This actually came to my mind thanks to an interaction on twitter.
https://twitter.com/bioinformagic/status/1498413547616980993

This visualization approach may require normalization first, depending on
the dataset.
Thinking about the issues with FTMS metabolomics datasets.
On Mon, Feb 28, 2022 at 5:04 PM Robert M Flight @.***>
wrote:

Somehow I just realized that we never actually prove that the issue in
Figure 1 is true of our data.
I think an easy way to do so would be to

for every entry that is missing in at least 1 sample
calculate the fraction of missingness (how many samples is it
missing in)
calculate the median value from the samples where it is present
plot fraction of missingness vs median value?
histogram of median value?

Any other ideas @hunter-moseley https://github.com/hunter-moseley ??
—
Reply to this email directly, view it on GitHub
https://github.com/MoseleyBioinformaticsLab/manuscript.ICIKendallTau/issues/8,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADEP7B7MW6U7JND5572WITLU5PWOZANCNFSM5PSJMFOQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you were mentioned.Message ID:
@.***>

--
Hunter Moseley, Ph.D. -- Univ. of Kentucky
Associate Professor, Dept. of Molec. & Cell. Biochemistry / Markey Cancer
Center
/ Institute for Biomedical Informatics / UK Superfund Research Center
Not just a scientist, but a fencer as well.
My foil is sharp, but my mind sharper still.
Email: @.*** (work)   @.***
(personal)
Phone:<PHONE_NUMBER> (office)<PHONE_NUMBER> (lab)<PHONE_NUMBER> (fax)
Web: http://bioinformatics.cesb.uky.edu/
Address: CC434 Roach Building, 800 Rose Street, Lexington, KY 40536-0093

Right, yes. More than likely, we would need to normalize the data first. RNA-seq not as big a deal probably, but I would still think it prudent to normalize it first.

So I took a shot at this in 3c3bab900783d61fc162c6ec2b74453a303cba63. Yeast dataset looks perfect, but everything else is odd.
Next step is to remove TCGA adenocarcinoma data (and possible Brainson), and for NSCLC metabolomics, split by instrument (different sensitivities), and use the unassigned data and match peaks by overlapping PPM ranges.

Closed by adfac8df169c5307197334493dc9835037cfae40


[docker] switch to bash script

Motivation
run.sh in the validator-dynamic folder uses a for (( expr ; expr ; expr )) which is not available in sh.
https://github.com/libra/libra/issues/3224
Have you read the Contributing Guidelines on pull requests?
Yes
Test Plan
Just follow the ReadMe in the docker folder and run the run.sh script

Thanks!
@bors-libra r+

:pushpin: Commit 2a13bc7 has been approved by davidiw

:hourglass: Testing commit 2a13bc78a35979ba04a4d0784ae3efbe11507c54 with merge c649bac9b17e10af62adbc9b9c44c71d6800a125...

:sunny: Test successful - checks-actions_land_blocking_test, checks-circle_commit_workflow
Approved by: davidiw
Pushing c649bac9b17e10af62adbc9b9c44c71d6800a125 to master...


Suggest using pipx instead of regular pip

Gonna close this cuz I don't wanna confuse users more about the setup, but thanks for the suggestion!


Support environment variables in shortcuts

What feature or improvement do you think would benefit Files?
In Windows shortcuts I can use, for example, "%USERPROFILE%" in the shortcut fields "Target:" and "Start in:"

(The shortcut editor goes above and beyond, and even offers completion from the path specified. This feels like it goes too far. I am an advanced user by editing the shortcut and using environment variables in it, I can copy and paste a path just fine. No need to waste time with corner-case hyper-convenience like this.)
But when executing such a shortcut via double click in Files one can see that the process gets launched with the environment specification as is, instead of evaluated. From Process Explorer:

The top entry is when launched from File Explorer.
The bottom entry is when launched from Files. Note the command line, which for the bottom entry still contains the environment variable placeholder.
Requirements

This proposal will accomplish X
This proposal will accomplish Y
This proposal will accomplish Z

Files Version
3.1.1
Windows Version
Windows 11, 23H2
Comments
Unrelated, but the "Windows Version" entry in the Feature Request form mentions "[...] access it from Settings -> About -> Copy -> Windows version", but in Windows 11 it is "[...] access it from Settings -> System -> About -> Copy -> Windows version" instead.
And even then there is no such succinct information as implied by the microcopy in the field:

Instead I see this:

What to provide in such a case?

Thanks for the report, this definitely looks like a bug. Can you open a separate issue using the bug template? Worst case we can just edit this issue but a separate issue would be best.

And even then there is no such succinct information as implied by the microcopy in the field:

Settings refers to the settings in Files


Improved batch script

Not really an issue, just improved the batch script to search for 1v1.LOL\1v1_LOL.exe from the default Steam path (SteamLibrary\steamapps\common) in any of the users drives. Then it auto-launches the game and waits for 15 seconds before injecting the DLL (fixed the name to 1v1.lol.cheat.dll) and closes.
EDIT: Now it instantly proceeds to injecting if the game is already running.
@echo off
setlocal enabledelayedexpansion

set "game_exe_path="
set "game_folder=SteamLibrary\steamapps\common\1v1.LOL"

rem Set color attributes
set "color_yellow=0E"
set "color_green=0A"
set "color_reset=07"

echo Searching for the game...
color %color_yellow%

for %%d in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
    if exist "%%d:\%game_folder%\1v1_LOL.exe" (
        set "game_exe_path=%%d:\%game_folder%\1v1_LOL.exe"
        timeout /t 1 /NOBREAK >nul
        goto :GameFound
    )
)

:GameFound
if not defined game_exe_path (
    color %color_reset%
    echo Game not found on any drive.
    exit /b 1
)

color %color_yellow%
echo Checking if the game is already running...
timeout /t 1 /NOBREAK >nul

tasklist /FI "IMAGENAME eq 1v1_LOL.exe" 2>NUL | find /I /N "1v1_LOL.exe" >NUL
if "%ERRORLEVEL%"=="0" (
    color %color_green%
    echo Game is already running. Injecting...
    timeout /t 2 /NOBREAK >nul
    goto :Inject
) else (
    cls
    color %color_green%
    echo Launching game from: %game_exe_path%
    start "" "%game_exe_path%"
)

echo Sleeping for 15 seconds...
timeout /t 15 /NOBREAK >nul

:Inject
cls
color %color_green%
echo Injecting...
timeout /t 1 /NOBREAK >nul
smi.exe inject -p "1v1_LOL" -a "1v1.lol.cheat.dll" -n Loading -c Loader -m Load
echo Injected.

echo.
echo Closing in 5 seconds...
timeout /t 5 /NOBREAK >nul

color %color_reset%
exit /b 0

Wouldn't this be better as a pull req?

Fair


Custom id is not used with a has_one through association

With a has_one through association and a custom id set in the associated model's serializer, the custom id is respected in the included object, but not in the relationships object.
This may be related to #245
class Group < ApplicationRecord
  belongs_to :subscription, optional: true
  has_one :account, through: :subscription
end

class Account < ApplicationRecord
end

class Account::Serializer
  include FastJsonapi::ObjectSerializer
  set_id :account_number
  ...
end

class Group::Serializer
  include FastJsonapi::ObjectSerializer
  ...
  has_one :account, serializer: Account::Serializer
  ...
end

I can try to recreate with a test or provide more detail, but right now I've got to implement a workaround in the next 24 hours before our next release.

I beleive we have same problem. Did you found any workarounds?

@top4ek - My memory is a little rusty (this was about 15 months ago and I don't work at the same company now), but I think it was something like this:
class Group < ApplicationRecord
  belongs_to :subscription, optional: true
  has_one :account, through: :subscription

  def account_number
    @account_number ||= subscription&.account_number
  end
end

class Group::Serializer
  include FastJsonapi::ObjectSerializer
  # ...
  has_one :account, serializer: Account::Serializer, id_method_name: :account_number
  # ...
end

We've tried that. It doesn't work at least with STI and polymorphic relations. So decided to change architecture alittle :)

Yeah, polymorphic relations and STI are a whole different wrench thrown in.
FWIW, Bill Karwin convinced me not to use polymorphic associations (at least when backed by a relational database): https://www.slideshare.net/billkarwin/sql-antipatterns-strike-back/32-Polymorphic_Associations_Of_course_some
Also, check the community supported fork of this gem, it may have better support for what you are looking for.


Phinx user/machine global preferences

We need a way to store preferences for the user or globally on their machine.
At the moment it would be nice to open migrations in your favorite text edito, straight after creating them.

Closing this issue. Phinx should use the $EDITOR environment variable to open an editor.


⚠ Bofrost.at has degraded performance

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

HTTP code: 200
Response time: 965 ms

Resolved: Bofrost.at performance has improved in c9a1f11.


Improvements to the item data based on design review

[ ] Add a "note" field to the item model. We're not removing the note on the access condition, instead we're adding a new field.
[x] Why can't we populate status and method all the time? e.g. by appointment => manual request (https://github.com/wellcomecollection/catalogue-pipeline/pull/1711)
[ ] Do by appointment/donor permission always have terms associated?
[ ] Consider adding terms that explain what's happening for all statuses
[ ] Consider removing generic terms for a fixed status (e.g. a link to the access policy for restricted)
[ ] Distinguish between access terms/notes. e.g. "in copyright" = terms, "at digitisation/with a reader" = note
[x] Use the copy number if there's no item title – "Copy 1", "Copy 2", "Copy 3", … (https://github.com/wellcomecollection/catalogue-pipeline/pull/1707)

Part of: https://github.com/wellcomecollection/platform/issues/4643


Added "Display More Contests" Button

This incorporates pull request #43 and adds a "Display More Contests" button to /Client/ so only 20 contests are added at a time. This cuts down on lag.

Why did you re-add the auth code into /admin/scripts/main.js? I have /admin/scripts/auth.js for that.

Awesome job! I merged this. One thing I did do, however, is I'm using CDNs instead of holding the files in our /Resources/ directory.
See https://github.com/Team-Delta-KA/KA-Contest-Judging-System/commit/cf0212865a8e8d20ea6f20c1cc314acc5904a775.

I didn't re-add it into main.js. I thought you did that! I got rid of the re-adding in the master branch.

I'll remove it, don't worry.


Redix with Elixir 1.5.1

I want a global connection to the redis db in my app Foo, which is part of an umbrella App. So I added a line to the children list:
defmodule Foo.Application do

use Application

  def start(_type, _args) do
    children = [
      {Redix, [[], [name: :redix]]}
    ]

    opts = [strategy: :one_for_one, name: Foo.Supervisor]
    Supervisor.start_link(children, opts)
  end
end

When I start the App, I get the error message:
Erlang/OTP 20 [erts-9.0.4] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:10] [hipe] [kernel-poll:false] [dtrace]

=INFO REPORT==== 3-Sep-2017::10:20:43 ===
    application: logger
    exited: stopped
    type: temporary
** (Mix) Could not start application rooms: Foo.Application.start(:normal, []) returned an error: an exception was raised:
    ** (ArgumentError) The module Redix was given as a child to a supervisor
but it does not implement child_spec/1.

If you own the given module, please define a child_spec/1 function
that receives an argument and returns a child specification as a map.
For example:

    def child_spec(opts) do
      %{
        id: __MODULE__,
        start: {__MODULE__, :start_link, [opts]},
        type: :worker,
        restart: :permanent,
        shutdown: 500
      }
    end

Note that "use Agent", "use GenServer" and so on automatically define
this function for you.

However, if you don't own the given module and it doesn't implement
child_spec/1, instead of passing the module name directly as a supervisor
child, you will have to pass a child specification as a map:

    %{
      id: Redix,
      start: {Redix, :start_link, [arg1, arg2]}
    }

See the Supervisor documentation for more information.

        (elixir) lib/supervisor.ex:594: Supervisor.init_child/1
        (elixir) lib/enum.ex:1255: Enum."-map/2-lists^map/1-0-"/2
        (elixir) lib/supervisor.ex:581: Supervisor.init/2
        (stdlib) supervisor.erl:294: :supervisor.init/1
        (stdlib) gen_server.erl:365: :gen_server.init_it/2
        (stdlib) gen_server.erl:333: :gen_server.init_it/6
        (stdlib) proc_lib.erl:247: :proc_lib.init_p_do_apply/3

I use elixir 1.5.1
What is my mistake? Should I prefer poolboy?

From the error you posted:

However, if you don't own the given module and it doesn't implement
child_spec/1, instead of passing the module name directly as a supervisor
child, you will have to pass a child specification as a map:

    %{
      id: Redix,
      start: {Redix, :start_link, [arg1, arg2]}
    }

Have you tried the above ^ ?

Redix.child_spec/1 is in master but not released yet, a new release is gonna have to wait a bit. What @edgurgel says is what you should do for now :). Thanks for the report!

@schaary I have the same problem, and tried the solution suggested by @edgurgel . This indeed started the child.
But now I have the problem of naming the connection, which does not seem possible when starting the module by providing the map.  So I don't know how to do Redix.command(??????, ["SET", "mykey", "foo"]).
Did you find a solution for this?

The start function looks like this:
 def start(_type, _args) do
    # List all child processes to be supervised
    children = [
      # Starts a worker by calling: Rooms.Worker.start_link(arg)
      # {Rooms.Worker, arg},
      %{
        id: Redix,
        start: {Redix, :start_link, [[], [name: :redix]]}
      }
    ]

    # See https://hexdocs.pm/elixir/Supervisor.html
    # for other strategies and supported options
    opts = [strategy: :one_for_one, name: Rooms.Supervisor]
    Supervisor.start_link(children, opts)
  end

Now you can call {:ok, new_foo_index} = Redix.command(:redix, ["incr", "foo"])

@whatyouhide I have two applications running under an umbrella app. Each of them need to start Redix worker with a unique URL. I get this error:
** (Mix) Could not start application my_app: MyApp.Application.start(:normal, []) returned an error: shutdown: failed to start child: Redix
    ** (EXIT) already started: #PID<0.470.0>

Is there a way to start multiple workers of Redix?

Even if I change the ids of workers and linked process name, and Umbrella projects start successfully, the code seems to always refer to Redix process: https://github.com/whatyouhide/redix/blob/v0.4.0/lib/redix/connection.ex#L53

@paveltyk we never refer to the process by anything the user didn't pass. If you pass a name, we call the process by name. If you pass a pid, we call it by pid. The error is that you're registering both connections with the same name (passed as the name: Redix option. Try making the names different and it should work.

@whatyouhide Thanks for a fast reply. This is a working example:
MyAppA
defmodule MyAppA.Application do
  use Application

  def start(_type, _args) do
    children = [
      %{
        id: MyAppA.Redix,
        start: {Redix, :start_link, [redis_opts, [name: MyAppA.Redix]]},
        restart: :permanent,
        shutdown: 5_000,
        type: :worker
      }
    ]

    opts = [strategy: :one_for_one, name: MyAppA.Supervisor]
    Supervisor.start_link(children, opts)
  end
end

MyAppB
defmodule MyAppB.Application do
  use Application

  def start(_type, _args) do
    children = [
      %{
        id: MyAppB.Redix,
        start: {Redix, :start_link, [redis_opts, [name: MyAppB.Redix]]},
        restart: :permanent,
        shutdown: 5_000,
        type: :worker
      }
    ]

    opts = [strategy: :one_for_one, name: MyAppB.Supervisor]
    Supervisor.start_link(children, opts)
  end
end

And then you do Redix.command(MyAppA.Redix, ["DEL", "FOO"])


bug(form-field outline, v15 mdc, RTL): Wrong outline color in RTL when form-field input is disabled

Is this a regression?

[X] Yes, this behavior used to work in v14

Description
Notice how the outline of a disabled datepicker with dir="rtl" isn't fully grayed out:

The issue also affects regular form-fields with disabled <input matInput> / <mat-select>.
Cause
In LTR, the disabled border-color is set after the border-left property, so it works fine, but in RTL, they are set in opposite order (perhaps due to higher specificity of the CSS rule), causing the border-right property to override border-color.

Suggested solution
Consider replacing border-right: 1px solid; with individual properties to avoid implicitly setting border-right-color as part of border-right. I.e., consider replacing:
[dir=rtl] .mdc-notched-outline__leading, .mdc-notched-outline__leading[dir=rtl] {
        border-right: 1px solid;  <--
}

With:
[dir=rtl] .mdc-notched-outline__leading, .mdc-notched-outline__leading[dir=rtl] {
    border-left: none;
    border-right-width: 1px;    <--
    border-right-style: solid;  <--
}

(and similarly for the left side)
Temporary workaround
Global CSS:
// Temporary workaround for bug https://github.com/angular/components/issues/26115.
.mdc-text-field--disabled .mdc-notched-outline__leading, .mdc-text-field--disabled .mdc-notched-outline__trailing {
  border-color: rgba(0, 0, 0, 0.06) !important;
}

Reproduction

Angular Material v15 (mdc components)
dir="rtl"
<mat-form-field appearance="outline">
disabled input/select/datepicker

<div dir="rtl">
  <mat-form-field appearance="outline">
    <input matInput [matDatepicker]="datepicker" disabled [(ngModel)]="date">
    <mat-datepicker-toggle matSuffix [for]="datepicker"></mat-datepicker-toggle>
    <mat-datepicker #datepicker [disabled]="false"></mat-datepicker>
  </mat-form-field>
</div>

Expected Behavior
Gray outline.
Actual Behavior
Partially gray and partially black outline.
Environment

Angular: 15.0.1
CDK/Material: 15.0.0

This is reproducible on https://material2-dev.firebaseapp.com/mdc-input
Switch to RTL, then scroll down and click the checkbox "Disable textarea form-fields".

A similar but different issue is observed when a form-field is focused (not disabled):
The side borders are 1px thick instead of 2px, again due to the order of which CSS rules are being applied.

https://material2-dev.firebaseapp.com/mdc-input -> toggle RTL -> scroll down to "Outline appearance" and focus on the field.
Suggested solution
Consider using border-inline-start & border-inline-end instead of border-left & border-right.
This way the RTL rules can be removed and won't cause the issue.
https://caniuse.com/mdn-css_properties_border-inline-start

Temporary workaround
.mdc-text-field--focused .mdc-notched-outline__leading, .mdc-text-field--focused .mdc-notched-outline__trailing {
  border-width: 2px !important;
}


README Filter test code

When I used the example code, using tty version 0.4.0, and adding: require 'tty'.
3.6 Filter
table.render do |renderer|
  renderer.filter = proc do |val, row_index, col_index|
    col_index % 2 == 1 ? TTY.color.set(val, :red, :on_green) : val
  end
end

I was getting it raising an error.
 undefined method 'color' for TTY:Module (NoMethodError)
Is this code correct? I have been using a work which gets me going:
 col_index % 2 == 1 ? Pastel.new.on_green(val) : val

Hi Richard,
Thanks for using the library and spotting the issue, I've updated the docs. If possible I would recommend using tty-table as standalone gem provided you don't need all the dependencies that come with tty.


update terraform version to latest for validate

Fixes #328
Signed-off-by: Yussuf Shaikh<EMAIL_ADDRESS>

/cc @mkumatag

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: yussufsh
The full list of commands accepted by this bot can be found here.
The pull request process is described here
Needs approval from an approver in each of these files:

How come this PR got an automatic approved label?

How come this PR got an automatic approved label?

https://github.com/ppc64le-cloud/test-infra/blob/master/config/jobs/ocp-automation/OWNERS

Do I really need to remove the Fixes message?

Do I really need to remove the Fixes message?

If I remember right, I usually include the Fixes message part of the PR comment message.

/lgtm


[Feature Request]: Clicking on the logo should redirect to home page

Is there an existing issue for this?

[X] I have searched the existing issues

Feature Description
Suppose the user is at some part of the page and if the ser clicks on the logo he will reach to the home page, like it happens in most of the sites
Use Case
It would be easier to navigate to home page
Benefits
No response
Add ScreenShots
No response
Priority
High
Record

[X] I have read the Contributing Guidelines
[X] I'm a GSSOC'24 contributor
[X] I have starred the repository

@manikumarreddyu Please assign me this issue

hi @jvkousthub can you please  complete it before 2pm..today..as it is a small isuue right..

hi @jvkousthub can you please complete it before 2pm..today..as it is a small isuue right..

I'll try, mostly it'll be done

hi @jvkousthub can you please complete it before 2pm..today..as it is a small isuue right..

Made a PR please review


Add 'appd.model' to the packages block in setup.py.

Added the appd.model module to the build. This was missing and causing issues when trying to use the library.

Merged. Thanks for the correction!


changed patch format to work on ubuntu

Ubuntu installs rejected the formatting of the patch. Remade patch. Tested on ubuntu and macos.

Are there any other OSes people are using that this should be tested on?

Pass, it matches the format of the other acpp patch now so hopefully it will be fine.


A live offer and its plans still have the suffix “-preview” in SaaS accelerator.

My offer passed certification today, was published and is now live in the commercial marketplace.
The offer and its plans still have the suffix “-preview” in SaaS accelerator.
I’ve clicked “Fetch all subscriptions” and nothing changes.
What do I have to do to get SaaS Accelerator to display the same up-to-date data as Partner Account and the Marketplace listing?

Hi @quartilesoftware Have has been any subscriptions on your offer after its live?
If Yes - Did they goto landing page?
If No, they nothing gets populated unless you have a subscription. Fetch will only help you pull in subscriptions (and its related plans/offers) info.

Hi @santhoshb-msft ,
Thanks.
No - the offer was published less than 12 hours ago. Getting paying customers in the first twelve hours of business would be pretty remarkable ;-)

Closing this as no other follow up questions


Add support for Erlang dialyzer

This PR adds support for the Erlang tool dialyzer which type check Erlang modules.

Cheers! :beers:


Add an option in the config to start in fullscreen

You can start in fullscreen if you use the string size = fullscreen in the configuration.
see https://github.com/werdeil/pibooth/commit/576d3982369e849e0661fc7a4ab4e824d637a092


Release incorporating var fix?

Any chance we could get a patch release that incorporates 27ea2fc27309f005aa1486127e215bee10b69a0a? The missing var causes an error in strict mode, preventing us from running our Ember-CLI tests.

Done .. v0.9.8  for bower and for gem

Thanks very much Daniel!


SP not quite right

There seems to be a missing step as if I follow by rote the document on my aks test cluster the CA cannot scale with the following logs :
I0803 09:32:09.104373 1 azure_container_service_pool.go:241] Current size: 1, Target size requested: 4
E0803 09:32:09.235468 1 azure_container_service_pool.go:262] containerservice.ManagedClustersClient#CreateOrUpdate: Failure sending request: StatusCode=400 -- Original Error: Code='' Message=''
W0803 09:32:09.235703 1 clusterstate.go:223] Disabling scale-up for node group nodepool1 until 2018-08-03 09:37:09.235697049 +0000 UTC m=+332.407663323
400 is bad request but I can only assume that in this case it's a 401 masquerading as a 400

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

ID: 301b44e3-4be7-6364-01b4-c2a55ff9b14a
Version Independent ID: 62569967-65c6-ece6-2d1e-689a73dd59ca
Content: Kubernetes on Azure - Cluster Autoscaler
Content Source: articles/aks/autoscaler.md
Service: container-service
GitHub Login: @sakthivetrivel
Microsoft Alias: sakthivetrivel

Hi! Can I see the output of the cluster-autoscaler-status? kubectl -n kube-system describe configmap cluster-autoscaler-status

@iMartyn As asked in the comment above, Can you please provide the output of the cluster-autoscaler-status?
kubectl -n kube-system describe configmap cluster-autoscaler-status

Name:         cluster-autoscaler-status
Namespace:    kube-system
Labels:       <none>
Annotations:  cluster-autoscaler.kubernetes.io/last-updated=2018-08-06 07:39:34.418039742 +0000 UTC

Data
====
status:
----
Cluster-autoscaler status at 2018-08-06 07:39:34.418039742 +0000 UTC:
Cluster-wide:
  Health:      Healthy (ready=1 unready=1 notStarted=0 longNotStarted=0 registered=2 longUnregistered=0)
               LastProbeTime:      2018-08-06 07:39:34.060802095 +0000 UTC m=+29181.611522549
               LastTransitionTime: 2018-08-05 23:33:27.001469702 +0000 UTC m=+14.552190056
  ScaleUp:     NoActivity (ready=1 registered=2)
               LastProbeTime:      2018-08-06 07:39:34.060802095 +0000 UTC m=+29181.611522549
               LastTransitionTime: 2018-08-05 23:33:27.001469702 +0000 UTC m=+14.552190056
  ScaleDown:   NoCandidates (candidates=0)
               LastProbeTime:      2018-08-06 07:39:34.060802095 +0000 UTC m=+29181.611522549
               LastTransitionTime: 0001-01-01 00:00:00 +0000 UTC

NodeGroups:
  Name:        nodepool1
  Health:      Healthy (ready=1 unready=1 notStarted=0 longNotStarted=0 registered=2 longUnregistered=0 cloudProviderTarget=2 (minSize=1, maxSize=10))
               LastProbeTime:      2018-08-06 07:39:34.060802095 +0000 UTC m=+29181.611522549
               LastTransitionTime: 2018-08-05 23:33:27.001469702 +0000 UTC m=+14.552190056
  ScaleUp:     Backoff (ready=1 cloudProviderTarget=2)
               LastProbeTime:      2018-08-06 07:39:34.060802095 +0000 UTC m=+29181.611522549
               LastTransitionTime: 2018-08-05 23:33:27.001469702 +0000 UTC m=+14.552190056
  ScaleDown:   NoCandidates (candidates=0)
               LastProbeTime:      2018-08-06 07:39:34.060802095 +0000 UTC m=+29181.611522549
               LastTransitionTime: 0001-01-01 00:00:00 +0000 UTC

Events:
  Type     Reason                Age                From                Message
  ----     ------                ----               ----                -------
  Warning  FailedToScaleUpGroup  29m (x18 over 8h)  cluster-autoscaler  Scale-up failed for group nodepool1: containerservice.ManagedClustersClient#CreateOrUpdate: Failure sending request: StatusCode=400 -- Original Error: Code="" Message=""

In case anyone else sees this, apparently it's a known bug : https://github.com/kubernetes/autoscaler/issues/1105#issuecomment-410578049

@iMartyn
Thanks for bringing this to our attention. As you pointed out, this bug is being worked on and fix will be released soon. You will get updates here. We will now close this issue. If there are further questions regarding this matter, please reopen it and we will gladly continue the discussion.


Add PyUnicode_EqualToUTF8() function

Wait until the API is added upstream: https://github.com/python/cpython/pull/110297

You need to at least save and restore the exception as in PyDict_GetItem().

Right, done. I added a test for that.


create pip config

Pull Request Test Coverage Report for Build 155

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

Totals

Change from base Build 154:
0.0%

Covered Lines:
382

Relevant Lines:
389

💛  - Coveralls

Pull Request Test Coverage Report for Build 155

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

Totals

Change from base Build 154:
0.0%

Covered Lines:
382

Relevant Lines:
389

💛  - Coveralls

Pull Request Test Coverage Report for Build 155

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

Totals

Change from base Build 154:
0.0%

Covered Lines:
382

Relevant Lines:
389

💛  - Coveralls

Pull Request Test Coverage Report for Build 155

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

Totals

Change from base Build 154:
0.0%

Covered Lines:
382

Relevant Lines:
389

💛  - Coveralls

pypi cannot be update if pushing into a PR. Pushing directly.


Work around pdlibbuilder overflowing the command line in datafiles_install

As discussed previously. The problem is with datafiles_install in Makefile.pdlibbuilder, which uses GNU make's $(foreach). This expands the command line in-place, overflowing the shell command line if the datafiles list is very large (as it is in ELSE).
Instead, we use the existing installplus target to install the auxiliary datafiles (renamed to extrafiles) using a proper shell command which is much more efficient. So you can now add as many help patches as you want, and it won't break make install any time soon. ;-)

I should maybe add that the problem only manifests itself if (1) datafiles has lots of items, and (2) the install paths are unusually long (as often happens in staged installs, e.g., in CI or package builds). I ran into it, in particular, while building else as part of purr-data, see the /bin/sh: Argument list too long error near the bottom of the buildlog.
The current ubuntu build using this PR succeeded now, so that is proof that the way I'm doing the installation here is better able to cope with such situations, and might be adopted upstream in Makefile.pdlibbuilder's datafile_target.

@porres: An experimental build of Purr Data 2.19.2 with ELSE included is now available here: https://github.com/agraef/purr-data/releases/tag/2.19.2+ELSE


backup-operator/README: minor change

[skip ci]

The goal should be made that both README in backup/restore operator should be consistent though.

@hongchaodeng at the cleanup section.
"Delete the etcd-backup-operator deployment and the EtcdBackup CR. Deleting the EtcdBackup CR won't delete the backup in S3."
prefer use Note for latter caution.

Note: Deleting the EtcdBackup CR won't delete the backup in S3.

at the cleanup section....

Good catch. fixed

lgtm defer @hasbro17

LGTM


TypeError: unorderable types: NoneType() > int()

Crash Report
This crash report was reported through the automatic crash reporting system 🤖
Traceback
  File "_ctypes/callbacks.c", line 234, in 'calling callback function'
  File "/var/containers/Bundle/Application/869B1B5A-06EF-4994-8542-CD1094C490FA/Electron-Cash.app/Library/Application Support/com.c3-soft.ElectronCash/app_packages/rubicon/objc/runtime.py", line 1065, in _objc_method
    result = f(py_self, *args)
  File "/private/var/containers/Bundle/Application/869B1B5A-06EF-4994-8542-CD1094C490FA/Electron-Cash.app/Library/Application Support/com.c3-soft.ElectronCash/app/ElectronCash/electroncash_gui/ios_native/history.py", line 173, in tableView_numberOfRowsInSection_
    h = _GetTxs(self)
  File "/private/var/containers/Bundle/Application/869B1B5A-06EF-4994-8542-CD1094C490FA/Electron-Cash.app/Library/Application Support/com.c3-soft.ElectronCash/app/ElectronCash/electroncash_gui/ios_native/history.py", line 370, in _GetTxs
    h = gui.ElectrumGui.gui.sigHistory.get(_GetDomain(txsHelper))
  File "/private/var/containers/Bundle/Application/869B1B5A-06EF-4994-8542-CD1094C490FA/Electron-Cash.app/Library/Application Support/com.c3-soft.ElectronCash/app/ElectronCash/electroncash_gui/ios_native/utils.py", line 1259, in get
    self.datas[key] = self.doReloadForKey(realkey)
  File "/private/var/containers/Bundle/Application/869B1B5A-06EF-4994-8542-CD1094C490FA/Electron-Cash.app/Library/Application Support/com.c3-soft.ElectronCash/app/ElectronCash/electroncash_gui/ios_native/history.py", line 110, in doReloadForKey
    hist = get_history(domain = key)
  File "/private/var/containers/Bundle/Application/869B1B5A-06EF-4994-8542-CD1094C490FA/Electron-Cash.app/Library/Application Support/com.c3-soft.ElectronCash/app/ElectronCash/electroncash_gui/ios_native/history.py", line 52, in get_history
    h = wallet.get_history(domain)
  File "/private/var/containers/Bundle/Application/869B1B5A-06EF-4994-8542-CD1094C490FA/Electron-Cash.app/Library/Application Support/com.c3-soft.ElectronCash/app/ElectronCash/electroncash/wallet.py", line 818, in get_history
    history.sort(key = lambda x: self.get_txpos(x[0]))
  File "/private/var/containers/Bundle/Application/869B1B5A-06EF-4994-8542-CD1094C490FA/Electron-Cash.app/Library/Application Support/com.c3-soft.ElectronCash/app/ElectronCash/electroncash/wallet.py", line 818, in <lambda>
    history.sort(key = lambda x: self.get_txpos(x[0]))
  File "/private/var/containers/Bundle/Application/869B1B5A-06EF-4994-8542-CD1094C490FA/Electron-Cash.app/Library/Application Support/com.c3-soft.ElectronCash/app/ElectronCash/electroncash/wallet.py", line 466, in get_txpos
    elif y > 0:

TypeError: unorderable types: NoneType() > int()

Reporter
This issue was reported by 1 user(s):

Electrum Version
Operating System
Wallet Type
Locale

3.3 (iOS Build: 301)
Darwin-17.5.0-iPhone9,1-64bit iOS 11.3.1 iPhone (31FA3991-B48D-4D0B-A5B8-923DA13455B5)
imported_addr
en_UK

Additional Information
The reporting user(s) did not provide additional information.

This is due to a bug in the corelib, I'm pretty sure.
From wallet.py, starting at line 458:
   def get_txpos(self, tx_hash):
        "return position, even if the tx is unverified"
        with self.lock:
            x = self.verified_tx.get(tx_hash)
            y = self.unverified_tx.get(tx_hash)
            if x:
                height, timestamp, pos = x
                return height, pos
            elif y > 0:
                return y, 0
            else:
                return 1e12 - y, 0

Note that self.unverified_tx is a 'defaultdict', yet this tx is neither in the verified or unverified dictionary. I think the person that wrote this function assumed defaultdict.get() would return the 'default factory' type but it doesn't for .get().  It does so only for subscript operations on a defaultdict eg [].
This code should be changed to:
            y = self.unverified_tx.get(tx_hash, 0)

Thoughts?

Ok, I merged the fix.  This shouldn't happen again after we push out an update (maybe later in the week or next week..).


[Snyk] Security upgrade fireblocks-sdk from 5.20.0 to 5.33.0

Snyk has created this PR to fix 5 vulnerabilities in the npm dependencies of this project.
Snyk changed the following file(s):

package.json
package-lock.json

Vulnerabilities that will be fixed with an upgrade:

Issue
Score

Improper Verification of Cryptographic Signature SNYK-JS-ELLIPTIC-7577916
  224

Improper Verification of Cryptographic Signature SNYK-JS-ELLIPTIC-7577917
  224

Improper Verification of Cryptographic Signature SNYK-JS-ELLIPTIC-7577918
  224

Improper Verification of Cryptographic Signature SNYK-JS-ELLIPTIC-8187303
  169

Improper Verification of Cryptographic Signature SNYK-JS-ELLIPTIC-8172694
  130

[!IMPORTANT]

Check the changes in this PR to ensure they won't cause issues with your project.
Max score is 1000. Note that the real score may have changed since the PR was raised.
This PR was automatically created by Snyk using the credentials of a real user.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.
For more information:
🧐 View latest project report
📜 Customise PR templates
🛠 Adjust project settings
📚 Read about Snyk's upgrade logic

Learn how to fix vulnerabilities with free interactive lessons:
🦉 Learn about vulnerability in an interactive lesson of Snyk Learn.

Resolved in release v1.3.12


What logic is 3.1.0.M1 transaction?

Question
What logic is 3.1.0.M1 transaction? If xa dependencies are configured,
	<dependency>
	    <groupId>io.shardingsphere</groupId>
	    <artifactId>sharding-transaction-2pc-xa</artifactId>
	    <version>${sharding-sphere.version}</version>
	</dependency>

Is xa open for all transactions? How do I know what type of transaction is currently?

Do you have a look at the example?

If no response more than 7 days and we cannot reproduce it on current information, we will close it.


Improvements to parsing @bodyParam

Codecov Report

Merging #366 into master will increase coverage by 1.14%.
The diff coverage is 96.77%.

@@             Coverage Diff              @@
##             master     #366      +/-   ##
============================================
+ Coverage     77.59%   78.74%   +1.14%
+ Complexity      135      114      -21
============================================
  Files             7        7
  Lines           366      381      +15
============================================
+ Hits            284      300      +16
+ Misses           82       81       -1

Impacted Files
Coverage Δ
Complexity Δ

src/Generators/AbstractGenerator.php
75.58% <96.77%> (+3.39%)
56 <2> (-6)
:arrow_down:

src/Postman/CollectionWriter.php
87.5% <0%> (-0.97%)
6% <0%> (-6%)

src/Commands/GenerateDocumentation.php
97.19% <0%> (-0.08%)
26% <0%> (-8%)

src/Generators/DingoGenerator.php
0% <0%> (ø)
2% <0%> (-1%)
:arrow_down:

Continue to review full report at Codecov.

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


arrows are scaled up on large entities

When shooting at a large entity like a ghast, the arrows are much larger, and it looks off.

This happens due to the scaling of the entity. If you can figure out how to circumvent it, feel free to submit a pull request!


Add ws as a new dependency

Describe the bug
The JS file emitted by emscripten falco.js depends on a websockets

How to reproduce it
npm run dev

Expected behaviour
No errors
Screenshots

I'd like to take up this issue!

@Rohith-Raju I've created a pull request. But I failed the last check, It's originating from this file during the pull request:
https://github.com/falcosecurity/falco-playground/blob/main/cypress/e2e/home.cy.ts
The test for "check for the presence of Buttons and Terminal" fails.
I updated the version of Cypress from "12.17.3" to  "13.3.0"
Not sure why the last check failed. How can I fix it?

@Rohith-Raju Got it working!!

@Rohith-Raju I've created a pull request. But I failed the last check, It's originating from this file during the pull request: https://github.com/falcosecurity/falco-playground/blob/main/cypress/e2e/home.cy.ts
The test for "check for the presence of Buttons and Terminal" fails. I updated the version of Cypress from "12.17.3" to "13.3.0"
Not sure why the last check failed. How can I fix it?

@anniepauline The tests are flaky aka dosen't work everytime. (In our case works when pushed to main and not when a PR is opened). This is bad because we can't trust the system and may introduce bugs. We need to break down some tests and add assertions frequently rather than chaining a bunch of methods or rewrite some tests. I'll look  into this!!

Makes sense !! It worked after I updated the cypress version!


[Bug Report]: OnStarted is not aggregating handlers

Prerequisites

[X] I have searched issues to ensure it has not already been reported

Description
IClusterConfigurationBuilder.OnStarted accepts an delegate to execute after the cluster manager loaded all consumers and their workers are starting.
It is a public API so it is available for use for both user customization and external libraries.
For example, KafkaFlow.Admin is using it to start the ITelemetryScheduler to periodically send telemetry to the admin.
This will not work if the user opted-in to the startup as well, or if 2 extensions require this hook. Only 1 will work.
Expected behavior
I belive this should behave like an event as it's misleading and hard to reason about.
As a side not, we should also consider:

Making it asyncable (via ValueTask ?)
Add resolution by introducing OnStarted in the builder for consumer creation so in the consumer builder we can handle the consumer creation and get the IConsumer.

KafkaFlow version
3.0.8
Thank you!

Please check the following PR with the fix: https://github.com/Farfetch/kafkaflow/pull/573/
Regarding the other 2 points:

Making the call async would cause a breaking change, we can evaluate this for version 4.0. Nevertheless, the invocation in these events should be brief, do you have any particular use case to make async calls here?
The Action already has a reference to the DependencyResolver, but the IConsumer instance is not available here, can you give an example why you need IConsumer here?


Update Laravel Scout and its dependencies

refs #92

There are phpstan errors still. Could you fix them? Please let me know if you have any trouble fixing any of them.

I couldn't find the solution for the following error:
https://travis-ci.com/matchish/laravel-scout-elasticsearch/jobs/296449158#L700

The last phpstan error
  Line   Jobs/Stages/PullFromSource.php
 ------ -----------------------------------------------------------------------
  29     Cannot access property $filter on
         array<Illuminate\Database\Eloquent\Builder>|Illuminate\Database\Eloqu
         ent\Collection.

I think we should to add return type Illuminate\Database\Eloquent\Collection here
https://github.com/matchish/laravel-scout-elasticsearch/blob/3d835ff941dc4dc274f9262dfae1a17e28a14bb5/src/Searchable/ImportSource.php#L15

Could you update PHP to 7.3 here?
https://github.com/matchish/laravel-scout-elasticsearch/blob/3d835ff941dc4dc274f9262dfae1a17e28a14bb5/.scrutinizer.yml#L13

The last phpstan error
  Line   Jobs/Stages/PullFromSource.php
 ------ -----------------------------------------------------------------------
  29     Cannot access property $filter on
         array<Illuminate\Database\Eloquent\Builder>|Illuminate\Database\Eloqu
         ent\Collection.

I think we should to add return type Illuminate\Database\Eloquent\Collection here
https://github.com/matchish/laravel-scout-elasticsearch/blob/3d835ff941dc4dc274f9262dfae1a17e28a14bb5/src/Searchable/ImportSource.php#L15

Yes, you're right but If I add it, the new error occurs:
Line   Searchable/DefaultImportSource.php
 ------ --------------------------------------------------------------------------------------------------------------------------------
  94     Method Matchish\ScoutElasticSearch\Searchable\DefaultImportSource::get() should return Illuminate\Database\Eloquent\Collection
         but returns array<Illuminate\Database\Eloquent\Builder>|Illuminate\Database\Eloquent\Collection.
 ------ --------------------------------------------------------------------------------------------------------------------------------

I think we should ignore it?

I think we can fix it
Illuminate\Database\Eloquent\Builder return type here
https://github.com/matchish/laravel-scout-elasticsearch/blob/3d835ff941dc4dc274f9262dfae1a17e28a14bb5/src/Searchable/DefaultImportSource.php#L66
/** @var Illuminate\Database\Eloquent\Collection $models */
$models = $this->newQuery()->get();
return $models;

Cool! Great contribution! Could you bump version to 4.0.0 in composer.json, update README.md and CHANGELOG.md?

Don't forget to update requirements in README.md plz

It's already updated?:
https://github.com/matchish/laravel-scout-elasticsearch/pull/93/files#diff-04c6e90faac2675aa89e2176d2eec7d8R41-R42

You right. Sorry

There is two almost finished PR I want to merge them first before we bump to the new major version.

@matchish keep up good work! Waiting for new version. 👍


increased scan time limit

further unit-testing yielded a need for increased scan time limit, deleted unused code and added exit statement to reclaim memory

Please disregard this pull request as I made a mistake, the request after this one has the same fixes along with the correction.


When compiling ros2 with rmw_coredx as default rmw_implementation, it errors out

This may be related to https://github.com/tocinc/rmw_coredx/issues/6
I set the RMW_IMPLEMENTATION env var to rmw_coredx_cpp before building ros2 so that it will build rmw_implemenation with coredx set as the default. I am also building fast_rtps because of related issue cited above (issue 6). When it gets to build rmw_implementation, it fails to build with these errors:
+++ Building 'rmw_implementation'
Running cmake because arguments have changed.
==> '. /home/platform/coredx/ros2_ws/build/rmw_implementation/cmake__build.sh && /usr/bin/cmake /home/platform/coredx/ros2_ws/src/ros2/rmw_implementation/rmw_implementation -DBUILD_TESTING=0 -DCMAKE_INSTALL_PREFIX=/home/platform/coredx/ros2_ws/install' in '/home/platform/coredx/ros2_ws/build/rmw_implementation'
-- The C compiler identification is GNU 5.4.0
-- The CXX compiler identification is GNU 5.4.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found ament_cmake: 0.0.0 (/home/platform/coredx/ros2_ws/install/share/ament_cmake/cmake)
-- Found PythonInterp: /usr/bin/python3 (found suitable version "3.5.2", minimum required is "3")
-- Using PYTHON_EXECUTABLE: /usr/bin/python3
-- Found rcutils: 0.0.0 (/home/platform/coredx/ros2_ws/install/share/rcutils/cmake)
-- Found poco_vendor: 1.0.0 (/home/platform/coredx/ros2_ws/install/share/poco_vendor/cmake)
-- Searching for Poco library...
--   Found Poco!
-- components found: Foundation.
-- Found rmw_implementation_cmake: 0.0.0 (/home/platform/coredx/ros2_ws/install/share/rmw_implementation_cmake/cmake)
CMake Error at /home/platform/coredx/ros2_ws/install/share/rmw_implementation_cmake/cmake/get_default_rmw_implementation.cmake:62 (message):
Could not find ROS middleware implementation 'rmw_coredx_cpp'.  Choose one
of the following: rmw_fastrtps_cpp
Call Stack (most recent call first):
CMakeLists.txt:23 (get_default_rmw_implementation)
-- Configuring incomplete, errors occurred!
See also "/home/platform/coredx/ros2_ws/build/rmw_implementation/CMakeFiles/CMakeOutput.log".
<== Command '. /home/platform/coredx/ros2_ws/build/rmw_implementation/cmake__build.sh && /usr/bin/cmake /home/platform/coredx/ros2_ws/src/ros2/rmw_implementation/rmw_implementation -DBUILD_TESTING=0 -DCMAKE_INSTALL_PREFIX=/home/platform/coredx/ros2_ws/install' failed in '/home/platform/coredx/ros2_ws/build/rmw_implementation' with exit code '1'
<== Command '. /home/platform/coredx/ros2_ws/build/rmw_implementation/cmake__build.sh && /usr/bin/cmake /home/platform/coredx/ros2_ws/src/ros2/rmw_implementation/rmw_implementation -DBUILD_TESTING=0 -DCMAKE_INSTALL_PREFIX=/home/platform/coredx/ros2_ws/install' failed in '/home/platform/coredx/ros2_ws/build/rmw_implementation' with exit code '1'
Perhaps there is some config file that I need to change that will allow this rmw_coredx_cpp to be recognized by the build as a possible rmw implementation to be provided as default?

I got past this error. I forgot to source the needed env vars before building. This can be closed, I think the resolution of issue 6 will fix the rest of the issues I'm seeing here.


Add greenkeeper.

AS A repo maintainer
I WANT TO keep my dependencies up-to-date
SO THAT I can focus on features.

Duplicates #3


App not working when setting targetSdkVersion to 31 in build.gradle

App not working when setting targetSdkVersion to 31 in build.gradle

targetSdkVersion is higher than compileSdkVersion is one of the reason of your app does'nt work properly change targetSdkversion to 30.0.2

set compileSdkversion and targetSdkVersion