CLOUDSTACK-9029: Proper support to identify CentOS 7 version number

https://issues.apache.org/jira/browse/CLOUDSTACK-9029

Isn't it safer to execute lsb_release -r and parse that output?
[root@n01 ~]# lsb_release -r
Release:	7.1.1503
[root@n01 ~]#

LGTM, based on a set of tests that I run on this branch (which I rebased myself first):
nosetests --with-marvin --marvin-config=${marvinCfg} -s -a tags=advanced,required_hardware=true \
component/test_vpc_redundant.py \
component/test_routers_iptables_default_policy.py \
component/test_routers_network_ops.py \
component/test_vpc_router_nics.py \
smoke/test_loadbalance.py \
smoke/test_internal_lb.py \
smoke/test_ssvm.py \
smoke/test_network.py

Result:
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
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
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 the password file in the Router VM ... === TestName: test_isolate_network_password_server | 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 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 33 tests in 14255.168s

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_privategw_acl.py \
smoke/test_reset_vm_on_reboot.py \
smoke/test_vm_life_cycle.py \
smoke/test_vpc_vpn.py \
smoke/test_service_offerings.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_privategw_acl (integration.smoke.test_privategw_acl.TestPrivateGwACL) ... === TestName: test_privategw_acl | 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 42 tests in 7878.513s

OK

These test do not cover your change, all they do is show you didn't break them. Someone else needs to review the code.

@wido The problem with that is that lsb_release doesn't come preinstalled in base centos installs:
[cfiguerola@cent6 ~]$ lsb_release -r
-bash: lsb_release: command not found
[cfiguerola@cent7 ~]$ lsb_release -r
-bash: lsb_release: command not found
https://kenno.wordpress.com/2012/10/21/centos-lsb_release-command-not-found/

@Carles-Figuerola Understood. Don't mind my comment.
In that case, LGTM. Code seems good.

To double check, I also verified the bug fix itself.
List hosts in current master:
(local) 🐵 > list hosts

id = 989be22d-7a04-4261-a67d-4121c527724e
name = kvm1
<cut>
details:
Host.OS = CentOS
Host.OS.Kernel.Version = 3.10.0-229.7.2.el7.x86_64
Host.OS.Version = release
<cut>
resourcestate = Enabled
state = Up
type = Routing
version = 4.6.0-SNAPSHOT
zoneid = aad0d2c7-9bb5-4d83-a95f-df6a9a28eff0
zonename = MCCT-SHARED-1

List hosts based on this PR:
(local) 🐵 > list hosts
id = 2c02446d-f2ca-4deb-8fbf-b78283f62dc6
name = kvm1
<cut>
details:
Host.OS = CentOS
Host.OS.Kernel.Version = 3.10.0-229.14.1.el7.x86_64
Host.OS.Version = 7.1.1503
<cut>
resourcestate = Enabled
state = Up
type = Routing
version = 4.6.0-SNAPSHOT
zoneid = 56a38bc9-7001-4206-965d-36c05129ed84
zonename = MCCT-SHARED-1

Thanks for the fix @Carles-Figuerola !


Smoothly scale the Pesto logo as the app bar resizes.

Also update the assets version to pull in better quality logo images.
BUG=https://github.com/flutter/flutter/issues/4407

Travis' anger is because you have to update the version number of the gallery assets package in three places now. I recommend leaving a comment in each of those places pointing to the other two.


Change header

It changes website header from "WoTT is an automated, open-source public key infrastructure for connected hardware." to "Seamless security audit of linux systems for devops teams."
Issue: https://github.com/WoTTsecurity/wott-io/issues/170

Thanks for the fix @kavanpancholi!


component as type instead of string

in a application i'm working on, components are identified by type/type name
instead of passing them in as strings, i would like to use the type as key for consistency

im trying to use the python type of a application component instead of its name
the application is lined up that each plugin repressents a different part, and most plugins have some nested services they personally use
a small subset of plugins provide "global" services consumed by the larger "ecosystem"

Ok, sounds interesting. We'll think how can we weaken requirements for a componente type without taking to much responsibility from our side

Lookup by entry point, types, strings and enums come to mind
Keeping the baseline default limited to strings and requiring some extra work for fancy components seems fair


Cleanup extraneous print() statements in tests

Closes #589

Converted several debug-style print() statements into assertions
Enable live logging for pytest
Use logger with custom log level (>INFO && <WARNING) for TILED_DEBUG_LEAKED_THREADS counting

Too many INFO log entries from normal use of client and server
Default reporting level is WARNING to keep test messages clean/terse

@AbbyGi I fixed one last linter issue; could you please give this a look?


typeString() func it's not work with Electron in macOS

Expected Behavior
I register a global shortcut in electron, and in callback call robot.typeString() function. But it seems not work, nothing to be typed. If i call robot.keyTap() function first, and then call robot.typeString() function, that will type a truncate string at first time, and i press the global shortcut again, then it types normal string what i want.
Steps to Reproduce (for bugs)
Here is an example code
    globalShortcut.register('CommandOrControl+Alt+Shift+n', () => {
        console.log('CommandOrControl+Alt+Shift+n is pressed');
        robot.typeString('Hello World');
    });

Above code is not work when i press the shortcut
And if i call robot.keyTap() first
    globalShortcut.register('CommandOrControl+Alt+Shift+n', () => {
        console.log('CommandOrControl+Alt+Shift+n is pressed');
        robot.keyTap('enter');
        robot.typeString('Hello World');
    });

When i press shortcut first, it will type an enter without any string, and then i press shortcut again, it will work.
 It worked!! I found key combination with Command or Control will not work. Is there a conflict?

BTW, robot.keyTap() function is work as expect whatever key combination i use.


Still cannot zoom on the map and also getting error when trying to download alerts

I receive this error:
'DataFrame' object has no attribute 'longitude'
when trying to download any alerts (recent) for Mexico

I'm not sure yet, but SEPAL map is also having this issue when drawing mode: polygon is selected, this app by default loads "draw" mode as AOI selection method, we could get more clues if the problem there is sorted.


Update Composer dependencies (2021-12-30-00-10)

Visual regression test passed!
View the visual regression test report


[Idea] Automatic version selection and launch from CLI

Note this has some overlap with https://github.com/MakovWait/godots/issues/23.
Just looking to get the idea out in the wild. Obviously the big pain point Godots and other launchers attempt to remedy is the pain of managing so many godot versions and installations. This is being solved quite nicely on the UI side giving the user an easy way to launch projects with the correct version of godot for that project.
However when configuring other tools such as IDE run/debug settings etc those tools expect you to supply paths to the executable to launch (ie: c:\path\to\my\godot.exe myscene.tscn). Its good practice to shove those paths into environment variables so those configurations can be somewhat portable (ie: %GODOT4% myscene.tscn). The trouble comes when moving between projects it becomes messy trying to wrangle the correct path variables for different versions of godot for a project. For instance my %GODOT4% environment variable may be pointing to the correct version of godot for Project A, but not for Project B.
You could generate one global environment variable for each engine version, %GODOT411% %GODOT420% etc. but this tends to get messy.
Would be nice if Godots could be the central launcher/wrapper for invoking the correct engine version for a given project on the CLI:
# Detects required engine version dynamically from project config and launches godot
c:\path\to\godots.exe c:\path\to\project\myscene.tscn

I could then shove the Godots executable in my env and use it everywhere %GODOTS% -> c:\path\to\godots.exe -> %GODOTS% myscene.tscn
I did a bit of looking in the engine code I don't think godot gives scripts full control or access to program arguments, such a feature may require a separate wrapping script or program to call into godots to do the version selection and then invoke the godot engine and entrypoint scene/script.
Thanks for wonderful tool!

Added (CLI)[https://github.com/MakovWait/godots/blob/main/.github/assets/FEATURES.md#cli].
Now it is possible to create editor process and pass args to it with:
godots exec -- c:\path\to\project\myscene.tscn

but sadly, I haven't found any possibilities to replace the process or set the ENV variable with Godots, so for your case the CLI may not be so useful.


TestEC2Instance Flake

What happened?
  aws-native:ec2:RouteTable (VPCasteriskSubnet1RouteTable23B73BA2):
    error: operation DELETE failed with "GeneralServiceException": The routeTable 'rtb-0ba73adad91a2a13c' has dependencies and cannot be deleted. (Service: Ec2, Status Code: 400, Request ID: 81d18542-71fa-426c-83db-fbba69c05756)

Resources:
    - 7 deleted

Duration: 4s

    command.go:103: Wrote output to /tmp/p-it-fv-az740-2-ec2-instan-91454ef5-2224009156/command-output/pulumi-destroy.20240904-072651.22b6d.log
    program.go:1256:
        	Error Trace:	/home/runner/go/pkg/mod/github.com/pulumi/pulumi/pkg/v3@v3.99.0/testing/integration/program.go:1256
        	            				/home/runner/go/pkg/mod/github.com/pulumi/pulumi/pkg/v3@v3.99.0/testing/integration/program.go:1267
        	Error:      	Received unexpected error:
        	            	[/usr/local/bin/pulumi destroy --non-interactive --yes --skip-preview] did not succeed after 1 tries
        	Test:       	TestEC2Instance
    program.go:841:
        	Error Trace:	/home/runner/go/pkg/mod/github.com/pulumi/pulumi/pkg/v3@v3.99.0/testing/integration/program.go:841
        	            				/home/runner/work/pulumi-cdk/pulumi-cdk/examples/examples_nodejs_test.go:102
        	Error:      	Received unexpected error:
        	            	running test preview, update, and edits: initial failure: [/usr/local/bin/pulumi up --non-interactive --yes --skip-preview --event-log /tmp/p-it-fv-az740-2-ec2-instan-91454ef5-events.json] did not succeed after 1 tries
        	Test:       	TestEC2Instance

Example
N/A
Output of pulumi about
N/A
Additional context
N/A
Contributing
Vote on this issue by adding a 👍 reaction.
To contribute a fix for this issue, leave a comment (and link to your pull request, if you've opened one already).

https://github.com/pulumi/pulumi-cdk/issues/162 another one


GitHub App sign up

https://developer.github.com/guides/basics-of-authentication/#registering-your-app
https://developer.github.com/v3/oauth/
https://developer.github.com/v3/oauth_authorizations/

https://www.npmjs.com/package/github-oauth looks good.


Fix for the Jira Issues : EMM-1020,EMM-1021

Do not use   to make text center. try to use text-align instead.

Noted.
And this can be found in all the buttons in EMM User Interface.This will be fixed in 2.0.1 patch and it currently in progress under the Jira[1].
[1]. https://wso2.org/jira/browse/EMM-1233

Above jira is resolved changes can be fund in PR[1].
[1].  #174


Chef Automate server not able to reach AWS api via proxy

Describe the bug
Chef Automate server when configured in a private cloud environment has outbound internet access via proxy. While setting up compliance scans for AWS, Automate is not able to connect to the AWS
Error:
Error details in compliance scan: Failed to open TCP connection to iam.amazonaws.com:443 (Connection refused - connect(2) for "iam.amazonaws.com" port 443).
Customer Bug Issue:
233
To Reproduce
Steps to reproduce the behavior:

Setup Automate in airgapped environment
Setup a proxy and configure
Try to setup compliance scan

Expected behavior
The compliance scan should run properly
Screenshots
Versions (please complete the following information):
Additional context
Aha! Link: https://chef.aha.io/epics/SH-E-267

https://github.com/chef/automate/pull/5905 resolved in this PR


[DATA-490] Remove file name field from CaptureMetadata.

I added this in this PR. While working on it, I realized CaptureMetadata's don't need a file name field. CaptureMetadata contains metadata describing some series of BinaryData being returned to a user on export.
For actual captures from binary methods, these don't have any inherit name or need for one. In the backend and on export, we just do FILE_ID.file_ext.
For arbitrary files, this will vary per file, so it's stored in the BinaryData message.

@mcvella could you merge this?

@AaronCasas fyi for both this and the other breaking change, we could add in the correct way (https://developers.google.com/protocol-buffers/docs/proto3#updating) and clean up the proto later.


Added oms-mailer

I will approve, but after postfix integration

OK seems I can not merge because I don't have write access.


chore: sync Algebra.Order.Hom.Ring

[ ] This seems to have a bug in wlog that should be addressed. (Zulip question). (is intended behaviour)

<EMAIL_ADDRESS>

bors r+


Document vulnerability CVE-2017-9608 and CVE-2013-0844

Update yml files for CVE-2017-9608 and CVE-2013-0844 with vulnerability information.

Make sure to add upvotes: 0 to your CVEs if they didn't receive any upvotes


Wikidata API Examination

Examine Wikidata (https://www.wikidata.org). Find an API and perform
some tests. Document what you learned on the research section of your Github
repository.

pip uninstall pycurl
pip install --compile --install-option="--with-openssl" pycurl
for ssl issue, pycurl was not working with when

import wptools

Used qwikidata API for fetching info.


Generated syntax with HTTP connection Options are not readable

 Issue by yasassri
Friday Oct 20, 2017 at 05:19 GMT
Originally opened as https://github.com/ballerina-lang/composer/issues/4055

If you add HTTP options for HTTP connector it generates the following syntax, Which is not readable.
http:ClientConnector __endpoint1 = create http:ClientConnector("loclhost",{port:2,endpointTimeout:0,followRedirects: {enabled:true,maxCount:2},ssl: {trustStoreFile:"adadsdsdad",trustStorePassword:"dsdada",keyStoreFile:"adadsdadad",keyStorePassword:"aas"}});

This issue is not reproducible in ballerina 0.981.2-SNAPSHOT so closing this issue.


sorted function

It returns a sorted array although, time complexity for this is n^2 so I'm pretty sure you won't merge this since there are other, faster sorting methods(I just couldn't get them working properly).

I just sent this cuz why not lmao

Why endure pain, when we have qsort from <stdlib.h>


Implement iterator & Change to stream & Utils

There is a lot of change here I will explain my reason:

while wanting to implement a build-in iterator in pcap, I hit GaTs (as always :p) I choice to follow the stream implementation
The stream implement use a codec to "map" Packet avoid lifetime issue, I changed this trait cause there is no reason a user of pcap to use our pcap Error. If the user want to return an Error it need to return a Result as Item
I moved public item cause stream was our only public module, (personally unless a crates is VERY BIG (like tokio, std...) all should be in root if possible)
I added utils like PacketOwned and a simple codec that 95% of user will likely use.

CI fail:

what is our official Rust minimal version ? (I suggest we jump to 2021 edition aka 1.56)
the PR compile on stable

TODO:

add example & test

+1 for The stream implement use a codec to "map" Packet avoid lifetime issue, I changed this trait cause there is no reason a user of pcap to use our pcap Error. If the user want to return an Error it need to return a Result as Item. When I implemented the trait I was like.. wtf?

what is our official Rust minimal version ? (I suggest we jump to 2021 edition aka 1.56)

A good rule of thumb would be to support all versions of rustc that are still supported on Debian. These versions are:

Debian 9: 1.41
Debian 10: 1.41
Debian 11: 1.48

In terms of how long these need to be supported:

Debian 9 LTS is supported until June 2022
Debian 10 is supported by Debian until June 2022 and then by the LTS team until June 2024
Debian 11 is supported by Debian until June 2024 and then by the LTS team until June 2026

Since Debian LTS is not an official Debian supported distro (https://wiki.debian.org/LTS) we could ignore it. But I would prefer not to ignore it without a very good reason as I like Debian a lot and I like the idea of LTS.

The stream implement use a codec to "map" Packet avoid lifetime issue, I changed this trait cause there is no reason a user of pcap to use our pcap Error. If the user want to return an Error it need to return a Result as Item

Good point. Agreed.

I moved public item cause stream was our only public module, (personally unless a crates is VERY BIG (like tokio, std...) all should be in root if possible)

I would actually prefer many smaller files for the code itself, but I agree about all of the functionality being available from just pcap::XXX. I was even intending on breaking lib.rs apart into smaller files, but keeping the import paths the same.

I would actually prefer many smaller files for the code itself, but I agree about all of the functionality being available from just pcap::XXX. I was even intending on breaking lib.rs apart into smaller files, but keeping the import paths the same.

yes I wanted to avoid add this to this PR, but I very much agree with need more file I added some in this PR ^^

I see the tests pass, is this PR ready to look at (it's marked as a draft ATM)

need to add more test but you can at least review the general idea

But generally, the changes look good. Besides the question above, I only have minor things like typos etc. to point out, but I'll wait with them until the PR is fully finished.

Wouldn't this be solved much better if we changed the fields of Packet to Cow pointers? It would also correctly represent the semantics of the struct itself whereby the memory where the data lies is not owned by the caller and if they want to keep the data they need to clone it.

I don't think I can do better, CoW is mostly only useful for 'static lifetime. I needed to get rid of lifetime to create a Iterator, CoW would bring back this lifetime so this wouldn't compile, plus CoW have a small cost that some user don't need to have.

It doesn't appear to me like a good design pattern to just copy the same definition, but make all fields owned rather than references.

It's not that common, but having "owned" version is not new to Rust String => &str, Vec<T> => &[T] etc. true that more often seen in application than in library but this exist only to make it easy for our user to use Iterator and Stream. Only std can do fat pointer so I can't really do better.

I'll wait with them until the PR is fully finished.

Will work on it late sunday.

It's not that common, but having "owned" version is not new to Rust String => &str, Vec => &[T] etc. true that more often seen in application than in library but this exist only to make it easy for our user to use Iterator and Stream. Only std can do fat pointer so I can't really do better.

Yes, I did start by thinking of those two examples, but there is no way we can implement them. Hence, I suggested Cow. I'll think about it a but more. I haven't tried getting it to compile with your iterator though.

Will work on it late sunday.

No rush, don't push yourself  :-)

don't think I can do better, CoW is mostly only useful for 'static lifetime. I needed to get rid of lifetime to create a Iterator, CoW would bring back this lifetime so this wouldn't compile, plus CoW have a small cost that some user don't need to have.

Yes, having thought about it, having that lifetime parameter on Cow is not very convenient since the data can be used in a form that outlives the source, but the lifetime parameter will be carried along.
Hmm, for now I agree, I also I don't see a better way

don't think I can do better, CoW is mostly only useful for 'static lifetime. I needed to get rid of lifetime to create a Iterator, CoW would bring back this lifetime so this wouldn't compile, plus CoW have a small cost that some user don't need to have.

Yes, having thought about it, having that lifetime parameter on Cow is not very convenient since the data can be used in a form that outlives the source, but the lifetime parameter will be carried along.
Hmm, for now I agree, I also I don't see a better way

I played around with the code on your branch, and Cow can be used provided that Packet's into_owned takes self (no reference) and returns Packet<'static> which would then be (logically) equivalent to your PacketOwned. If one interprets 'static as meaning "this struct contains no references with a lifetime shorter than 'static" rather than "this struct contains references with 'static lifetime" then this makes sense.
In terms of overhead, apart from some memory (as Cow is an enum), the only extra performance overhead should be when calling into_owned as that has to first check if the data is borrowed first. Since you only call that when you don't mind copying, that shouldn't be an issue.
I'm just thinking out loud here. You don't have to add this to your PR.

Finally I don't have any idea to add test, I'm think we should merge this. Sorry, for the delay.

Notable change:

rename next() to next_packet()
inner_mut() rename to capture_mut(), to mirror iterator impl, I keep capture_mut() because it's less general than inner_mut() more used in context of generic.
I limit to test only our own doc build not ours deps.

Brilliant! Thanks!


Load order seems completely random

Can anyone explain how load order works, and if its possible to customize?
@import "client/templates/initiative/card/initiativeCard.sass";
@import "client/templates/initiative/create/initiativeCreate.sass";
@import "client/templates/initiative/header/initiativeHeader.sass";
@import "client/templates/initiative/show/initiativeShow.sass";
@import "client/templates/initiatives/header/initiativesHeader.sass";
@import "client/templates/initiatives/mine/mine.sass";
@import "client/templates/initiatives/update/update.sass";
@import "client/templates/profile/self/self.sass";
@import "client/templates/filter/filter.sass";
@import "client/templates/footer/footer.sass";
@import "client/templates/initiative/initiative.sass";
@import "client/templates/initiatives/initiatives.sass";
@import "client/templates/login/login.sass";
@import "client/templates/nav/nav.sass";
@import "client/templates/search/search.sass";
@import "client/templates/signup/signup.sass";
this just seems random...
plus we need to call @import "cherish" before anything...

ok so load order goes by depth, it fixed the issue when putting the import.sass inside lib/


BotOrNot object doesn't have attribute 'check_accounts_in'

Dear botornot's authors,
I am sorry if my issue is too basic.
I tried to follow the quick guide to check a list of 180 twitter user accounts in Python. I got the message
AttributeError: 'BotOrNot' object has no attribute 'check_accounts_in'
I then switched to use 'check_account' using list comprehension, but when the list had more than 1 user, it gave the error
tweepy.error.TweepError: Not authorized.
I installed botornot from pip and its version is 0.2.
Thanks,
Hieu

Actually some users gave the exception tweepy.error.TweepError: Not authorized., not becase the list is more than one. I can use 'check_account' with a for loop at the moment.
Hieu

The version on pip is 0.2 where the version here is 0.3-alpha. Do you know how to install from Git? Could you help test the check_accounts_in method?

I installed botornot-0.3a0 from the git repo and the method check_accounts_in worked fine. Thank you for the help!

@tofunth FYI I released 0.3 on PyPI today, so it should be pip installable.


fix(RingTheory/Multiplicity): rename Finite.emultiplicity_ne_top to multiplicity.Finite.emultiplicity_ne_top

Moves:

Finite.emultiplicity_ne_top -> multiplicity.Finite.emultiplicity_ne_top

Please add the deprecated alias


Time comparison - Python VS Julia

Benchmarked (time) are different solver variants / toolboxes for python and Julia AND the interface for an RL application defined by the environment using that solver.
To define:

number of repeats: ?
number of loads: ?

For the comparison the following hyperparameters are evaluated:

Size of the power grid:

Number of sources = number of loads = number_of_nodes
local: [5,10,25,50,100] (pc2: [5:5:100, 100:100:1000, 1000:1000:10.000])

Connection:

predefine C-Martix
random connection generation x-times in loop

Number of simulation steps

[10, 100, 1000]

Solver:

solver type: LSODA (more maybe later)

tolerances:

absolute and relative: atol=1e-10, rtol=1e-6

For the environment and agent interaction
Environment:

state normalization
reward = 5.0
"sovler": discrete control.py/controlsystems.jl
x -> next state
y -> returned observation
done: is timeout reached
action-space [-1, 1] -> denormalize using Vdc
observation -> normalize before return

In the python file in case of scipy.integrate.ode is used and the solution is calculated in a loop like shown in the exmaples of the scipy docu, the ode_Solver has to be initilaized in the loop by hand in case of timeit.repeat is used.
odeint, solve_ivp and control.py do this internally because the initial state x0 is transfered to the function


Origin/feature/wd3816

Pull Request Considerations
Although some of these things can only be done after merged, please ensure all items have been considered when doing pull requests.

Updated README.md(s) for new functionality or changes.
Did you update .env / create a new environment variable?

Did you update/create an explanation in the appropriate README.md file for it?
Did you make/update an Openshift configmap/secret template for it?

Have you changed any Openshift configurations/templates?

Did you execute the appropriate oc process command on the template to put the configmap/secret in openshift?

Did changes trigger Openshift image rebuilds?

Check Openshift instance of application to ensure your changes are working.

Did you update the changelog CHANGELOG.md.

used to keep track of development changes including (env changes, docker changes, functionality changes)
help developers keep track of new/updating changes in code.

fixing linter errors

@ASpiteri-BCGov Can you let us know if you'll be keeping this PR in place and fixing the errors or submitting a new one? I may want to comment on it but I don't want them to get lost again.

@ASpiteri-BCGov @ShawnTurple @CR-gbc
Since the DoD/Acceptance criteria has no prescriptions for Typescript usage, the issues I flagged with Typescript wouldn't be ground to stop the PR. At least not until decisions are made about the acceptable usage of Typescript in our apps. My initial recommendations for acceptable usage would be:

Components are typed. For functional components that typing looks like: const Component: FC<PropsInterface> There is some discussion around whether using the FC type is recommended. See: https://github.com/facebook/create-react-app/pull/8177 I'd say for Components that are returning markup, use FC.
Function parameters are explicitly typed. We already do this with PHP.
useState hooks. Those that are passed an initial value are ok to use implicit typing, those without an initial value should be explicitly typed: i.e. useState<string|null>()
React Context is explicitly typed
useRef hook for HTML elements is explicitly typed with the intended HTML element type. i.e. const divRef = useRef<HTMLDivElement>(null);


feat: add JSON-LD to content parsing

Feature: Add JSON-LD to content parsing
#389

@mrlubos approving. Will let you merge once you approve


filter plugin path with nccopy

have a question about getting netcdf to find my filter plugin.
I am trying to use a self-installed hdf5 plugin with hdf5 and netcdf
installed on the NCAR system (casper).
For example, for zfp,  I installed H5Z-ZFP-1.1.1( with the HDF5_ROOT set to a system-installed
hdf5 (1.12.2).  I then sent HDF5_PLUGIN_PATH to the location of the
zfp plugin that I installed myself.

echo $HDF5_PLUGIN_PATH
/glade/work/abaker/compress-libs/zfp_plugin/plugin

But when I use the nccopy command with the zfp filter it can't find
it:

nccopy -F TS,32013,3,0,1202590843,1065646817 TS.nc TS_zfp_a1e-2.nc
NetCDF: Filter error: undefined filter encountered
Location: file nccopy.c; fcn copy_var_specials line 1175

And when I check nc-config for the plugin dir:

nc-config --plugindir
/glade/u/apps/casper/23.10/spack/opt/spack/netcdf/4.9.2/packages/netcdf-c/4.9.2/gcc/12.2.0/obej/plugins

But I can't copy my plugin to the system directory, so how can I
specify nccopy to use the $HDF5_PLUGIN_PATH?
Thanks!

I'm guessing that you are using netCDF 4.9.2.  I'm reviewing a PR, #3034 and I wonder if you might be able to either test using the his branch, or possibly even with netCDF-C 4.9.3-rc1.  @DennisHeimbigner, does any other solution for v4.9.2 leap out at you?

Lets start with some information. Can you do this command and send be the output as text?

ncdump -h TS.nc

Second, you should have  files called something like H5Zzfp.c  and (maybe) H5Zzfp.h.
Can you send me those files? You can mail them directly to me at<EMAIL_ADDRESS>

netcdf TS {
dimensions:
time = UNLIMITED ; // (60 currently)
lat = 192 ;
lon = 288 ;
chars = 8 ;
ilev = 31 ;
lev = 30 ;
slat = 191 ;
slon = 288 ;
nbnd = 2 ;
variables:
double P0 ;
P0:long_name = "reference pressure" ;
P0:units = "Pa" ;
float TS(time, lat, lon) ;
TS:units = "K" ;
TS:long_name = "Surface temperature (radiative)" ;
TS:cell_methods = "time: mean" ;
double ch4vmr(time) ;
ch4vmr:long_name = "ch4 volume mixing ratio" ;
double co2vmr(time) ;
co2vmr:long_name = "co2 volume mixing ratio" ;
int date(time) ;
date:long_name = "current date (YYYYMMDD)" ;
char date_written(time, chars) ;
int datesec(time) ;
datesec:long_name = "current seconds of current date" ;
double f11vmr(time) ;
f11vmr:long_name = "f11 volume mixing ratio" ;
double f12vmr(time) ;
f12vmr:long_name = "f12 volume mixing ratio" ;
double gw(lat) ;
gw:long_name = "gauss weights" ;
double hyai(ilev) ;
hyai:long_name = "hybrid A coefficient at layer interfaces" ;
double hyam(lev) ;
hyam:long_name = "hybrid A coefficient at layer midpoints" ;
double hybi(ilev) ;
hybi:long_name = "hybrid B coefficient at layer interfaces" ;
double hybm(lev) ;
hybm:long_name = "hybrid B coefficient at layer midpoints" ;
double ilev(ilev) ;
ilev:long_name = "hybrid level at interfaces (1000*(A+B))" ;
ilev:units = "level" ;
ilev:positive = "down" ;
ilev:standard_name = "atmosphere_hybrid_sigma_pressure_coordinate" ;
ilev:formula_terms = "a: hyai b: hybi p0: P0 ps: PS" ;
double lat(lat) ;
lat:long_name = "latitude" ;
lat:units = "degrees_north" ;
double lev(lev) ;
lev:long_name = "hybrid level at midpoints (1000*(A+B))" ;
lev:units = "level" ;
lev:positive = "down" ;
lev:standard_name = "atmosphere_hybrid_sigma_pressure_coordinate" ;
lev:formula_terms = "a: hyam b: hybm p0: P0 ps: PS" ;
double lon(lon) ;
lon:long_name = "longitude" ;
lon:units = "degrees_east" ;
int mdt ;
mdt:long_name = "timestep" ;
mdt:units = "s" ;
double n2ovmr(time) ;
n2ovmr:long_name = "n2o volume mixing ratio" ;
int nbdate ;
nbdate:long_name = "base date (YYYYMMDD)" ;
int nbsec ;
nbsec:long_name = "seconds of base date" ;
int ndbase ;
ndbase:long_name = "base day" ;
int ndcur(time) ;
ndcur:long_name = "current day (from base day)" ;
int nlon(lat) ;
nlon:long_name = "number of longitudes" ;
int nsbase ;
nsbase:long_name = "seconds of base day" ;
int nscur(time) ;
nscur:long_name = "current seconds of current day" ;
int nsteph(time) ;
nsteph:long_name = "current timestep" ;
int ntrk ;
ntrk:long_name = "spectral truncation parameter K" ;
int ntrm ;
ntrm:long_name = "spectral truncation parameter M" ;
int ntrn ;
ntrn:long_name = "spectral truncation parameter N" ;
double slat(slat) ;
slat:long_name = "staggered latitude" ;
slat:units = "degrees_north" ;
double slon(slon) ;
slon:long_name = "staggered longitude" ;
slon:units = "degrees_east" ;
double sol_tsi(time) ;
sol_tsi:long_name = "total solar irradiance" ;
sol_tsi:units = "W/m2" ;
double time(time) ;
time:long_name = "time" ;
time:units = "days since 2006-01-01 00:00:00" ;
time:calendar = "noleap" ;
time:bounds = "time_bnds" ;
double time_bnds(time, nbnd) ;
time_bnds:long_name = "time interval endpoints" ;
char time_written(time, chars) ;
double w_stag(slat) ;
w_stag:long_name = "staggered latitude weights" ;
int wnummax(lat) ;
wnummax:long_name = "cutoff Fourier wavenumber" ;
// global attributes:
:Conventions = "CF-1.0" ;
:source = "CAM" ;
:case = "b.e11.BRCP85C5CNBDRD.f09_g16.031" ;
:title = "UNSET" ;
:logname = "mickelso" ;
:host = "ys1023" ;
:Version = "$Name$" ;
:revision_Id = "$Id$" ;
:initial_file = "b.e11.B20TRC5CNBDRD.f09_g16.031.cam.i.2006-01-01-00000.nc" ;
:topography_file = "/glade/p/cesmdata/cseg/inputdata/atm/cam/topo/USGS-gtopo30_0.9x1.25_remap_c051027.
nc" ;
:history = "Mon May 10 15:27:00 2021: ncks -d time,0,59,1 b.e11.BRCP85C5CNBDRD.f09_g16.031.cam.h0.TS.2
00601-208012.nc b.e11.BRCP85C5CNBDRD.f09_g16.031.cam.h0.TS.200601-2007012.nc" ;
:NCO = "netCDF Operators version 4.9.5 (Homepage = http://nco.sf.net, Code = http://github.com/nco/nco
)" ;
}

Look into your HDF5_PLUGIN_PATH directory (i.e. /glade/work/abaker/compress-libs/zfp_plugin/plugin).
Look for all files matching the pattern 'zfp.so'
Please tell me what it shows.

Ok, it appears you are using the wrong value for HDF5_PLUGIN_PATH.
I suspect that you need to use "/glade/work/abaker/compress-libs/zfp_plugin/plugin/.libs".
You can verify by trying this command:
find /glade/work/abaker/compress-libs/zfp_plugin/plugin -name '*zfp*'

abaker@casper-login2:/glade/work/abaker/compress-libs/zfp_plugin/plugin> ls -a
./  ../  libh5z-sperr.so*  libh5zzfp.so*
abaker@casper-login2:/glade/work/abaker/compress-libs/zfp_plugin/plugin> find /glade/work/abaker/compress-libs/zfp_plugin/plugin -name 'zfp'
/glade/work/abaker/compress-libs/zfp_plugin/plugin/libh5zzfp.so

The naming is wrong: there should be a file named 'lib__nch5zfp.so' in the
'/glade/work/abaker/compress-libs/zfp_plugin/plugin/' directory
Can you tell where the 'libh5zzfp.so' is coming from?
Can you show the fragment of code in some Makefile.am or CMakeLists.txt?

Thanks for you help. I just followed the cmake instructions on https://h5z-zfp.readthedocs.io/en/latest/installation.html, which indicates that it will install the following:
$(PREFIX)/include/{H5Zzfp.h,H5Zzfp_plugin.h,H5Zzfp_props.h,H5Zzfp_lib.h}
$(PREFIX)/plugin/libh5zzfp.{so,dylib}
$(PREFIX)/lib/libh5zzfp.a
which is what I have. The documentation also says:
"To use the installed filter as an HDF5 plugin, you would specify, for example, setenv HDF5_PLUGIN_PATH $(PREFIX)/plugin"
Here is what I did:
abaker@casper-login2:/glade/work/abaker/H5Z-ZFP-1.1.1> mkdir build
export ZFP_DIR=/glade/work/abaker/zfp-1.0.1/build
export HDF5_DIR=/glade/u/apps/casper/23.10/spack/opt/spack/hdf5/1.12.2/gcc/12.2.0/hsod
(These below are already set:
CC=gcc
FC=gfortran
)
cd build
cmake -DBUILD_TESTING=ON -DCMAKE_INSTALL_PREFIX=/glade/work/abaker/compress-libs/zfp_plugin ..
make
make install
The only modification I made was to add the link for the math libraries in CMakeLIsts.txt:
target_link_libraries(test_write_plugin m h5z_zfp_shared)
(https://github.com/LLNL/H5Z-ZFP/blob/master/CMakeLists.txt)
Do you want my CMakeCache.txt in my build directory? (If you have access to glade, my files are readable).

Can you send me the file "H5Zzfp_props_private.h"`; I am trying to build.

I sent H5Zzfp_props.h and H5Zzfp_props_private.h


Indexeddb support in Safari 10.1+

Safari 10.1 has shipped with full and performant support for IndexedDB according to this PR over at pouchdb.
I think we should get this to localForage.

Agreed, sounds good 👍🏻

Thinking that this changes are the same as the ones we should do to utils/isIndexedDBValid.js#L19

I can merge nolanlawson's changes to localforage, it shouldn't be a big
deal. My only concern is that I won't be able to do any testing since I
currently don't have any iOS device available.

--
Thodoris Greasidis

I can test them, but if it's working for PouchDB I think it should work for us.

Have a PR here #651

Resolved by #651

I tested this jsfiddle on Safari 10.2. The main page uses localstorage but when I open the result frame in a new tab it uses asyncstorage. Feel free to create codepen or jsfiddle for me test, I will be more than happy to contribute.

@Narcwis asyncstorage stands for IndexedDB, so your results are indicate that #651 works and this is resolved.
It seems that the safari + iframe => localstorage issue is not something we can do something for.
Thanks for your feedback confirming that this works!


Liberation of mapping definition from the one mapping block

I'd like to have more flexibility in how I define mappings, rather than the current way of a single mapping block. It occurred to me that this might already be possible, but looking through the code it seems that you can't add to a mapping once it's been created.
My use case is that I've got a bunch of models, and I want several of them to be part of a workflow system. This involves some fields and some methods that I've extracted into a module. I'd like to have their mappings in the module too.

Hi Chris, do you have any example code as a "suggestion" so I understand better?
The mapping itself can be changed freely, just by calling the mapping method multiple times, but the problem is of course the create_elasticsearch_index call. I haven't found a better way how to do this.
Of course it would be trivial to support something like mapping :create => false do ... end so you can define the mapping and the call the create_elasticsearch_index method yourself.

I really need this too.
With solr, you can call searchable several times, to build what fields should be indexed. This way, it's easy to extract this stuff into modules.
For instance, I have a Geolocated module, and I would just have something like:
tire.mapping do
    indexes :location, type: 'string', analyzer: 'snowball
    indexes :lat_lon, type: 'geo_point'
end

And I would not need to repeat these lines in every geolocated model. It would be awesome if you could provide a way to do this.

Sorry for long delay! My suggestion is that indexes just works outside a block.
So, this code:
class Venue
  include Tire::Model::Search
  include Tire::Model::Callbacks
  index_name "some_index_name"
  #...
  mapping do
    indexes :location, type: 'string', analyzer: 'snowball
    indexes :lat_lon, type: 'geo_point'
  end
end

...can become:
module Geolocated
  included do
    indexes :location, type: 'string', analyzer: 'snowball
    indexes :lat_lon, type: 'geo_point'
  end
end

class Venue
  include Tire::Model::Search
  include Tire::Model::Callbacks
  index_name "some_index_name"
  #...
  include Geolocated
end

It could also stay wrapped in a block, as in @niuage's example. The important thing is just that you can extract parts of a class's mapping definition into a module.
I see the trouble in delaying the index check/creation until the end. @floere put me on to this technique:
END { code to be executed here }

http://ruby.runpaint.org/flow#begin-exit-handler
Which I believe could be used to make things happen after the whole of a class definition has been loaded up.


change name with monitoring prefix

Signed-off-by: dongdwdw<EMAIL_ADDRESS>

Code has been pushed and close this.


request for XiaomiBTLESens module

Hidey ho!
Any chance for the popular XiaomiBTLESens module support?
(it's like predestinated for pythonbinding of sorts)
Thanks!
Regards
Vince

Hi,
shouldn't be a problem to integrate it. I can do the integration of the plant sensor with miflora (https://pypi.org/project/miflora/) as that library exists already. There is also another python library for the temperature sensor.
Do you have a plant sensor to test with? Unfortunately my plant sensor doesn't work any more.

Yes, I do have a whole bunch of them, ready for testing... Just let me know I may be of service.

I just committed an absolutely untested version:
https://github.com/dominikkarall/fhem_pythonbinding/blob/master/FHEM/bindings/python/lib/miflora/README.md
Can you please test it and provide me logs if errors occure?

Errors occur as follows...
This is the FHEM list of the teseted device (/sensor):
Internals:
   CFGFN
   DEF        miflora C4:7C:8D:66:B0:EF
   FUUID      5fa7bcea-f33f-e5c5-3b29-c89314814ce43df0
   IODev      bndAPi
   NAME       miAloe
   NR         547
   PYTHONTYPE miflora
   STATE      Failed to load module miflora: Traceback (most recent call last):
  File "/home/pi/fhem_pythonbinding/FHEM/bindings/python/lib/fhem_pythonbinding.py", line 189, in _onMessage
    module_object = importlib.import_module(pymodule)
  File "/usr/lib/python3.7/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 953, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 965, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'lib.miflora'

   TYPE       PythonModule
   READINGS:
     2020-11-08 10:39:56   state           Failed to load module miflora: Traceback (most recent call last):
  File "/home/pi/fhem_pythonbinding/FHEM/bindings/python/lib/fhem_pythonbinding.py", line 189, in _onMessage
    module_object = importlib.import_module(pymodule)
  File "/usr/lib/python3.7/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 953, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 965, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'lib.miflora'

   args:
     miAloe
     PythonModule
     miflora
     C4:7C:8D:66:B0:EF
   argsh:
Attributes:
   IODev      bndAPi

The log file
./log/PythonBinding-%Y-%m-%d.log
repeatedly gets filled with this block of text:
SyntaxError: invalid syntax Traceback (most recent call last):   File "FHEM/bindings/python/pythonbinding.py", line 3, in <module>     import lib.fhem_pythonbinding as fpb   File "/opt/fhem/FHEM/bindings/python/lib/fhem_pythonbinding.py", line 200     errorMsg = f"Function execution >{fct_timeout}s, cancelled: {hash['NAME']} Define"
Side info:

IODev "bndAPi" (remote peer) binding is already working for some eq3bt thermostats and working flawlessly so far.

The
ModuleNotFoundError: No module named 'lib.miflora'
stated above looks like it's missing some library?

Ah, you didn't update the remote peer. Please do a git pull in the fhem_pythonbinding directory on the remote peer. After that restart it with sudo systemctl restart fhem_pythonbinding. You don't need to do anything in fhem.
...I need to implement a peer update functionality...

Right. After "git pull" and restarting the "fhem_pythonbinding" on remote peer we see an update process on the device within FHEM resulting in this device list, showing some fresh error:
Internals:
   CFGFN
   DEF        miflora C4:7C:8D:66:B0:EF
   FUUID      5fa7bcea-f33f-e5c5-3b29-c89314814ce43df0
   IODev      bndAPi
   NAME       miAloe
   NR         547
   PYTHONTYPE miflora
   STATE      Failed to execute function Define: Traceback (most recent call last):
  File "/home/pi/fhem_pythonbinding/FHEM/bindings/python/lib/fhem_pythonbinding.py", line 236, in _onMessage
    ret = await asyncio.wait_for(func(hash, hash['args'], hash['argsh']), fct_timeout)
  File "/usr/lib/python3.7/asyncio/tasks.py", line 416, in wait_for
    return fut.result()
  File "/home/pi/fhem_pythonbinding/FHEM/bindings/python/lib/miflora/miflora.py", line 35, in Define
    await utils.handle_define_attr(self._attr_list, self, hash)
  File "/home/pi/fhem_pythonbinding/FHEM/bindings/python/lib/utils.py", line 75, in handle_define_attr
    setattr(obj, "_attr_" + attr, convert2format(curr_val, attr_list[attr]['format']))
KeyError: 'format'

   TYPE       PythonModule
   READINGS:
     2020-11-08 12:41:22   state           Failed to execute function Define: Traceback (most recent call last):
  File "/home/pi/fhem_pythonbinding/FHEM/bindings/python/lib/fhem_pythonbinding.py", line 236, in _onMessage
    ret = await asyncio.wait_for(func(hash, hash['args'], hash['argsh']), fct_timeout)
  File "/usr/lib/python3.7/asyncio/tasks.py", line 416, in wait_for
    return fut.result()
  File "/home/pi/fhem_pythonbinding/FHEM/bindings/python/lib/miflora/miflora.py", line 35, in Define
    await utils.handle_define_attr(self._attr_list, self, hash)
  File "/home/pi/fhem_pythonbinding/FHEM/bindings/python/lib/utils.py", line 75, in handle_define_attr
    setattr(obj, "_attr_" + attr, convert2format(curr_val, attr_list[attr]['format']))
KeyError: 'format'

   args:
     miAloe
     PythonModule
     miflora
     C4:7C:8D:66:B0:EF
   argsh:
Attributes:
   IODev      bndAPi
   userattr   hci_device update_interval

Whereas log file...
./log/PythonBinding-%Y-%m-%d.log

...tells nothing new:
SyntaxError: invalid syntax
Traceback (most recent call last):
  File "FHEM/bindings/python/pythonbinding.py", line 3, in <module>
    import lib.fhem_pythonbinding as fpb
  File "/opt/fhem/FHEM/bindings/python/lib/fhem_pythonbinding.py", line 200
    errorMsg = f"Function execution >{fct_timeout}s, cancelled: {hash['NAME']} Define"

Thanks, please do one more test after git pull on remote peer.

As
git pull

came up with no news I just saw, that the FHEM instance found some new files, too. That's why I did a quick
update

shutdown restart

in FHEM, too (I guess that somehow makes sense).
And look what we have here:
Internals:
   DEF        miflora C4:7C:8D:66:B0:EF
   FUUID      5fa82801-f33f-e5c5-29e0-79a1cf54407afcba
   FVERSION   10_PythonModule.pm:0.182830/2019-01-16
   IODev      bndAPi
   MAC        C4:7C:8D:66:B0:EF
   NAME       miAloe
   NR         407
   PYTHONTYPE miflora
   STATE      online
   TYPE       PythonModule
   READINGS:
     2020-11-08 18:19:25   battery         100
     2020-11-08 18:19:25   conductivity    38
     2020-11-08 18:19:25   firmware        3.2.1
     2020-11-08 18:19:25   light           27
     2020-11-08 18:19:25   moisture        8
     2020-11-08 18:19:25   name            Flower care
     2020-11-08 18:19:25   presence        online
     2020-11-08 18:19:25   state           online
     2020-11-08 18:19:25   temperature     21.7
   args:
     miAloe
     PythonModule
     miflora
     C4:7C:8D:66:B0:EF
   argsh:
Attributes:
   IODev      bndAPi
   userattr   hci_device update_interval

So I'm curious:
As it does not update it's readings since device is online and there is this (yet unset) attribute:
attr miAloe userattr hci_device update_interval

Will that be the update interval in seconds, maybe minutes?
(it just does nothing, if I put some value here)

PS:
I had a quick glace at the corresponding, yet oldfashioned, currently disabled module "XiaomiBTLESens"....
Internals:
   BTMAC      C4:7C:8D:66:B0:EF
   DEF        C4:7C:8D:66:B0:EF
   FUUID      5d7c9840-f33f-e5c5-fa06-5c29987cef826e45
   FVERSION   74_XiaomiBTLESens.pm:v3.0.0-s22474/2020-07-26
   INTERVAL   7200
   NAME       plantAloe
   NOTIFYDEV  global,plantAloe
   NR         172
   NTFY_ORDER 50-plantAloe
   STATE      disabled
   TYPE       XiaomiBTLESens
   VERSION    v3.0.0
   loglevel   4
   READINGS:
     2020-11-08 14:33:34   batteryPercent  100
     2020-11-08 14:33:34   batteryState    ok
     2020-11-08 14:33:51   fertility       32
     2020-11-08 14:33:34   firmware        3.2.1
bash
     2020-11-08 14:33:51   lux             955
     2020-11-08 14:33:51   moisture        8
     2020-11-08 18:39:49   state           disabled
     2020-11-08 14:33:51   temperature     25.9
   helper:
     CallBattery 0
     CallSensDataCounter 0
     updateTimeCallBattery 0
Attributes:
   disable    1
   interval   7200
   maxFertility 1000
   maxLux     70000
   maxMoisture 50
   maxTemp    35
   minFertility 300
   minLux     3000
   minMoisture 7
   minTemp    8
   model      flowerSens
   room       XiaomiBTLESens
   sshHost    pi@api
   verbose    2

...where we find an internal called "INTERVAL" what currently comes with an value of "7200". As this interval just hit every 2 hours, I guess your interval would be in seconds, too?
PPS:
By the time of writing this, I just saw that your modules already updates...
Internals:
   DEF        miflora C4:7C:8D:66:B0:EF
   FUUID      5fa82801-f33f-e5c5-29e0-79a1cf54407afcba
   FVERSION   10_PythonModule.pm:0.182830/2019-01-16
   IODev      bndAPi
   MAC        C4:7C:8D:66:B0:EF
   NAME       miAloe
   NR         407
   PYTHONTYPE miflora
   STATE      online
   TYPE       PythonModule
   READINGS:
     2020-11-08 18:19:25   battery         100
     2020-11-08 18:39:35   conductivity    37
     2020-11-08 18:19:25   firmware        3.2.1
     2020-11-08 18:39:35   light           118
     2020-11-08 18:19:25   moisture        8
     2020-11-08 18:19:25   name            Flower care
     2020-11-08 18:19:25   presence        online
     2020-11-08 18:19:25   state           online
     2020-11-08 18:19:25   temperature     21.7
   args:
     miAloe
     PythonModule
     miflora
     C4:7C:8D:66:B0:EF
   argsh:
Attributes:
   IODev      bndAPi
   userattr   hci_device update_interval

[please see reading "conductivity" (fertility in the old module) and "light" (formerly know as lux)]
That's 20 minutes and 10 seconds away from last update... So there is an interval of about 1200 already?

Great!
conductivity and light are the names which are defined in the miflora library. I tend to keep the standard from the library.
Interval is indeed 1200s default. You can set the interval with update_interval attribute in seconds. I have no reading/internal yet where the change is visible.
hci_device can be used to set a bluetooth adapter other than hci0.
Let me know if you want some further functions included beside the interval internal.

I updated the module to include an update_interval reading.
Furthermore I added mitemp module as well. If you have temp/humidity BLE sensors, you might want to test that one as well.
I'm going to close this issue, please open a new one if you want further functionality to be included. Many thanks for your testing!


Use consistent import style / update init.py

I've become less convinced that dumping all the names into the top-level import for the package by having a bunch of from <module> import * lines in __init__.py is such a good idea as this package grows larger. On the other hand, it's nice to not have to have dozens of from track.<module> import <every name I want to use in this file> lines at the top of each source file. Rethink this and make consistent across the project.

Done.


PLT-6985: Add Elasticsearch to Mattermost Kubernetes.

Add Elasticsearch to Mattermost Kubernetes.
https://mattermost.atlassian.net/browse/PLT-6985
This more-or-less works, but has definite room for improvement.
Major Known Issues:

Elasticsearch does not use a Persistent Volume Claim, so no data is
stored persistently.
If the Elasticsearch pods come up after the App Server pods, the app
server has already failed to connect to them, so assumes Elasticsearch
is disabled.  Proper fix would be some kind of probe that checks they are
up similar to the one for the database.

@crspeller @coreyhulen tagging you here since I don't have any permissions on this repo (can't even request reviews).

Cool, @grundleborg you should have access now.

Pre-merge ToDo List:

Use an init container to delay launching the app containers until the elasticsearch cluster is ready.
Config value to make using Elasticsearch optional when deploying the chart.

Fixed both of the above items. This is now ready to merge, once you guys are happy with it @coreyhulen @crspeller

Bump. How do you guys feel about merging this soon?


[dif_sram_ctrl] Introduce API for chip_sram_scrambled_access testing

Introduction
This PR aims to implement all API required for the chip_sram_scrambled_access chip level test.
Future work
It is expected that the rest of the API described in the header will come in follow-up PRs, and will be prioritized for the chip level test use-cases.

Thanks guys for your reviews.
I have addressed your comments, however when I looked yesterday I thought there were more. Have you removed some of them, or am just confusing this PR with some other one? :)

Ah yes sorry, I deleted a message before I loaded the page and realized Sri had commented on it. Sorry about that! It was regarding the base_addr comment above. No need to take any action!
We were discussing in a different PR about whether the DIFs should know the base_addr of RAM itself for testing purposes (see: https://github.com/lowRISC/opentitan/pull/8443#discussion_r719054935) as was done in the OTP controller originally, but we decided this does not belong in a DIF, so nothing needs to change.

I wonder if a temporary measure could be something like dropping an #error in the auto-gen files or >even the header similar to:
#error "This file is a template, and not real code."

The auto-gen'd files are complete, they do not need to be hand edited once generated.
It's the sw/device/lib/dif/autogen/meson.build file I was referring to that is not auto-generated.


Scanning git but getting only last commit from file

Hi,
I am trying to scan some repo and getting too many leaks that are on the history of the git log but do not exist anymore.
when I am using --no-git I am getting the remaining leaks.
Something is discussed here:
https://github.com/zricethezav/gitleaks/issues/156
How to achieve this behavior right now with --log-opts?
cc @zricethezav

You can use --log-opts=-1
https://git-scm.com/docs/git-log#_commit_limiting
I recommend spending some time reading https://git-scm.com/docs/git-log and googling around if you want faster results. /

If you want to see exactly what gitleaks is scanning you can run git log -p {whatever log options you want here}. So for just most recent commit you can run git log -p -1

@zricethezav
This is not quite what I wanted...
--log-opts=-1 will scan the last commit.
It won't scan the current master branch.
So if I do --log-opts=-1 I get no leaks but if I do --no-git I am getting leaks.


laravel mix . export

Hi I am using laravel mix with my Laravel 5.5
I have my mix file like this:
/* Production settings */
if (mix.inProduction()) {
    mix.version();
    mix.disableNotifications();
}
/* Sass Processing */
mix.sass('resources/assets/sass/_bootstrap.scss', 'public/css/bootstrap.css');
mix.sass('resources/assets/sass/navigation.scss', 'public/css/navigation.css');
mix.sass('resources/assets/sass/global.scss', 'public/css/global.css').options({
    processCssUrls: false
});
mix.sass('resources/assets/sass/cards.scss', 'public/css/cards.css')
    .sass('resources/assets/sass/forms.scss', 'public/css/forms.css')
    .sass('resources/assets/sass/search.scss', 'public/css/search.css')
    .sass('resources/assets/sass/profile.scss', 'public/css/profile.css')
    .sass('resources/assets/sass/event.scss', 'public/css/event.css')
    .sass('resources/assets/sass/entity.scss', 'public/css/entity.css')
    .sass('resources/assets/sass/travel.scss', 'public/css/travel.css')
    .sass('resources/assets/sass/sliders.scss', 'public/css/sliders.css')
    .sass('resources/assets/sass/login.scss', 'public/css/login.css');

mix.styles([
    'resources/assets/css/bootstrap-social.css',
    'resources/assets/css/dropzone.css',
    'resources/assets/css/jquery-ui.css',
    'resources/assets/css/jquery-ui.structure.css',
    'resources/assets/css/jquery-ui.theme.css',
    'resources/assets/css/font-awesome.css',
    'resources/assets/css/animate.css',
], 'public/css/style.css');

/* Global JS */
mix.scripts([
    'resources/assets/js/pace.js',
    'resources/assets/js/jquery.js',
    'resources/assets/js/page-load.js',
    'resources/assets/js/bootstrap.js',
    'resources/assets/js/jquery-ui.js',
    'resources/assets/js/favourites.js',
], 'public/js/global.js');

mix.js('resources/assets/js/dropzone.js', 'public/js/dropzone.js');

mix.js('resources/assets/js/image-upload.js', 'public/js/image-upload.js');

mix.js('resources/assets/js/googlemap.js', 'public/js/googlemap.js');

mix.js('resources/assets/js/entity.js', 'public/js/entity.js');

mix.js('resources/assets/js/validation.js', 'public/js/validation.js');

mix.js('resources/assets/js/search.js');

mix.js('resources/assets/js/homesearch.js', 'public/js/homesearch.js');

mix.js('resources/assets/js/instantsearch.js', 'public/js/instantsearch.js');

mix.js('resources/assets/js/featured.js', 'public/js/featured.js');

mix.js('resources/assets/js/tram.js', 'public/js/tram.js');

mix.js('resources/assets/js/counter.js', 'public/js/counter.js');

What I wanted to do is use the extract method as mentioned in documentation:

Vendor Extraction One potential downside to bundling all application-specific JavaScript with your vendor libraries is that it
makes long-term caching more difficult. For example, a single update
to your application code will force the browser to re-download all of
your vendor libraries even if they haven't changed.

If you intend to make frequent updates to your application's
JavaScript, you should consider extracting all of your vendor
libraries into their own file. This way, a change to your application
code will not affect the caching of your large vendor.js file. Mix's
extract method makes this a breeze:

mix.js('resources/assets/js/app.js', 'public/js')    .extract(['vue'])

The extract method accepts an array of all libraries or modules that
you wish to extract into a  vendor.js file. Using the above snippet as
an example, Mix will generate the following files:
public/js/manifest.js: The Webpack manifest runtime
public/js/vendor.js: Your vendor libraries public/js/app.js: Your
application code To avoid JavaScript errors, be sure to load these
files in the proper order:

 <script src="/js/manifest.js"></script>
<scrip src="/js/vendor.js"></script>
<script src="/js/app.js"></script>

So I have created an empty file in: resources/aseets/js/app.js and in my webpack:
mix.js('resources/assets/js/app.js', 'public/js')
   .extract(['jquery', 'bootstrap', 'pace'])

Everything is being processed successfully, I attached all the files. app.js seems to have required content however when I get to the page apparently jquery is not being defined.
What could be the cause? I have installed bootstrap,jquery and pace throught npm

At first glance you probably need make jQuery global in webpack. To do that with laravel-mix you can do something like:
mix.autoload({
  jquery: ['$', 'jQuery', 'jquery'],
})

This is actually what I do in my Laravel application that uses jQuery.


allow HTTP version at the end of an HTTP 0.9 request line

similar to https://github.com/marten-seemann/quic-go-interop/pull/2
just a bit more hacky..

@lnicco Is this change correct?
My understanding is that a HTTP/0.9 request never includes an HTTP version; see RFC 1945; section 5.

@kazuho @janaiyengar it is debatable, and a gray area. I think there is no clear guideline in the RFC on this, and that's why my change makes it optional.
@janaiyengar according to this document https://www.w3.org/Protocols/HTTP/AsImplemented.html

The document address will consist of a single word (ie no spaces). If any further words are found on the request line, they MUST either be ignored, or else treated according to the full HTTP spec .

where the "full HTTP spec" describe the HTTP/ format. So I think adding the version should not impact us talking to an old server, if that is compliant.
Also, let's remember that the version here is a description of the HTTP message semantics and it is distinct from the wire format. It would be perfectly well formed HTTP/3 to send a request message that specifies HTTP/0.9 in the request line, which would mean there are no following headers in the request, and the response should have no headers.
So my change is just making your server more compliant with this. I think.
On our side it would be super easy to remove the version in the request, we just think this is the right thing to do. But we are happy to also stand corrected.
CC @afrind, @mjoras may also have opinions :)

hmmm. I guess this sort of rules it correctly, and I missed it.
https://tools.ietf.org/html/rfc1945#section-4.1
       HTTP-message   = Simple-Request           ; HTTP/0.9 messages
                      | Simple-Response
                      | Full-Request             ; HTTP/1.0 messages
                      | Full-Response


Bioconda Release

Hello!
You've pretty much done all the work to get this onto Bioconda, any interest in taking the next step and putting it on Bioconda?
I can handle the submission, would only need a proper release to build from.
Cheers,
Robert

Hi Robert,
We do intend to put el_gato on Bioconda. We have a few bug fixes and changes to finish and then will start the submission in the next week or so.
Thanks!

Feel free to loop me in when you do so!


Create github-workflow.md

Why:
Closes:

What's being changed (if available, include any code snippets, screenshots, or gifs):

Check off the following:

[☑] I have reviewed my changes in staging, available via the View deployment link in this PR's timeline.

For content changes, you will also see an automatically generated comment with links directly to pages you've modified. The comment won't appear if your PR only edits files in the data directory.

[☑] For content changes, I have completed the self-review checklist.

This seems to have been opened accidentally, I am going to close it now :yellow_heart:
Take a look at the contributing.md to learn how to contribute in this repo. You can open a discussion if you have any questions or check out issues with the help wanted label. :sparkles:


[Issue-1222] - tweaks to tables including fixing ordering of some columns and removi…

…ng ordering from other columns
fixes #1222

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/incubator-trafficcontrol-PR/604/
Test PASSed.

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/incubator-trafficcontrol-PR-trafficops-test/560/


updates

docs: add BOM information, note about Quarkus version
chore: add test to check variable expansion in namespaces
chore(deps): update to JOSDK 3.0.0.RC3 & Quarkus 2.8.1

The tests are currently failing because of https://github.com/java-operator-sdk/java-operator-sdk/issues/1179. Leaving the code as-is so that we can validate that the issue is indeed fixed in the next JOSDK release. See #326 for a workaround in the mean time. /cc @scrocquesel


refactor: adapt to 2.0 vision

Cookie cutter for Executors, for Jina 2.0

README
tests
basic code
Dockerfile

Closes https://github.com/jina-ai/jina/issues/2761

I suggest delivering a minimal working template in the cookie-cutter because the users are mainly community members. It is not necessary to include the following part,

setup.py
.github
tests

I suggest delivering a minimal working template in the cookie-cutter because the users are mainly community members. It is not necessary to include the following part,

setup.py
.github
tests

Got it.
What about the README?
We are showing some use cases that the users might not know how to use. The README doesn't say how to push to Hubble, for example. Do we have a cookbook for that, so I can include a part of it?
I also think tests are nice to add, since they verify that the MWU created by cookiecutter actually works.


Fixing an issue where we wouldn't return cancellation errors even whe…

Fixing an issue where we wouldn't return cancellation errors even when it made sense.
This would manifest as a user getting an empty array on a ReceiveMessages() call, even if the actual problem is that the cancellation timeout is being set too low.
Small cleanups on some comments as well.
Fixes #17412

/azp run go - azservicebus

/azp run go - azservicebus


Removes dagger, mvvm architecture from sample app

Don't merge yet, I am working on cleaning classes and dependencies that are no longer needed

Don't merge yet, I am working on cleaning classes and dependencies that are no longer needed

This is done


Support Postgres Geo types

Use case
Would like to be able to query by or at least return / send Geometry and Polygon types that already exist in:
R2dbc: https://github.com/pgjdbc/r2dbc-postgresql/blob/main/src/main/java/io/r2dbc/postgresql/codec/PostgisGeometryCodec.java
Describe the solution you'd like
An implementation or some pointers to what I should implement.
I think the hardest part is being actually be able to query using stuff like:
select * from MyTable  where
ST_DWithin(geo_fence, ST_SetSRID(ST_POINT( 4.1234, 51.1223),4326), 300.0)

But I guess we can work around it by creating the query from a string?
But as mentioned above I would already be happy if I can define aGeometry / Polygon on my model:
data class mymodel {
 val polygon : io.r2dbc.postgresql.codec.Polygon
 val geometry : io.r2dbc.postgresql.codec.PostgisGeometryCodec
}

Versions

Komapper:
Kotlin: 1.7
JVM: 17
JDBC Driver or R2DBC Driver: R2DBC
Database: Postgres
OS:

You should use the data type org.locationtech.jts.geom.Geometry instead of PostgisGeometryCodec.
So try the following code:
package example.basic.r2dbc

import io.r2dbc.spi.Row
import io.r2dbc.spi.Statement
import org.komapper.r2dbc.spi.R2dbcUserDefinedDataType
import org.locationtech.jts.geom.Geometry
import kotlin.reflect.KClass

class GeometryType: R2dbcUserDefinedDataType<Geometry> {
    override val name: String = "geometry"
    override val klass: KClass<Geometry> = Geometry::class
    override val r2dbcType: Class<Geometry> = Geometry::class.javaObjectType

    override fun getValue(row: Row, index: Int): Geometry? {
        return row.get(index, r2dbcType)
    }

    override fun getValue(row: Row, columnLabel: String): Geometry? {
        return row.get(columnLabel, r2dbcType)
    }

    override fun toString(value: Geometry): String {
        return value.toString()
    }

    override fun setValue(statement: Statement, name: String, value: Geometry) {
        statement.bind(name, value)
    }

    override fun setValue(statement: Statement, index: Int, value: Geometry) {
        statement.bind(index, value)
    }
}

You need to include the class name mentioned above into the META-INF/services/org.komapper.r2dbc.spi.R2dbcUserDefinedDataType file.

Error: The dataType is not found for the type "org.example.database.customtypes.GeometryType"
I cannot seem to generate the required files. Should META-INF be in the root of the jar ?
My layout is as follows:
└── META-INF
    └── org.komapper.r2dbc.spi.R2dbcUserDefinedDataType

Contents of  org.komapper.r2dbc.spi.R2dbcUserDefinedDataType:
org.example.database.customtypes.GeometryType

We use bazel to build everything so It could be related to : https://github.com/bazelbuild/rules_kotlin/pull/997/files

Should META-INF be in the root of the jar ?

Yes.
I don't know about bazel, but if you're using Gradle, I believe the layout you've mentioned should work without any issues as long as it's located under the src/main/resources directory.

Supported in version 1.15.0.
See https://www.komapper.org/docs/reference/dialect/#postgresql---r2dbc


Collapsable tree list for new modular pipeline led sidebar - Part 1

Description
related PRs: KED-2563 and KED-2564
This is the main work in building a new tree-nav style list for navigating the kedro-viz sidebar arranged by modular pipelines. ( see below).

All elements ( tasks, dataset and parameters) are now arranged according to its reference in the nested structure of the modular pipelines. Each modular pipeline includes its children modular pipelines, along with their nested nodes arranged in the order of task nodes, followed by data and parameter nodes.
Please note that this PR does not include the search UI for the tree nav structure which will come as a seperate PR ( part 2).
Development notes
I have made the following changes:

set up a new component for the nested tree nav structure (node-list-tree.js)
set up another component to represent each item under the tree nav structure
set up a series of selectors for the new nested modular pipeline structure
updates to node-list for the split panel
refactoring of all node-list tests to cater for the new tree list ( please note that the related tests for the search UI and filter panel controls have been skipped and will be updated in the next PR for the search UI feature)
deleted the 'modular pipeline' field on the filter panel given modular pipelines are now exposed on the tree-list.
related style changes to cater for the tree-list

QA notes
All UI related tests for the node-list are now updated as per the new tree list.
Checklist

[x] Read the contributing guidelines
[ ] Opened this PR as a 'Draft Pull Request' if it is work-in-progress
[ ] Updated the documentation to reflect the code changes
[ ] Added new entries to the RELEASE.md file
[x] Added tests to cover my changes

Legal notice

[x] I acknowledge and agree that, by checking this box and clicking "Submit Pull Request":

I submit this contribution under the Apache 2.0 license and represent that I am entitled to do so on behalf of myself, my employer, or relevant third parties, as applicable.

I certify that (a) this contribution is my original creation and / or (b) to the extent it is not my original creation, I am authorised to submit this contribution on behalf of the original creator(s) or their licensees.

I certify that the use of this contribution as authorised by the Apache 2.0 license does not violate the intellectual property rights of anyone else.

Currently the library import tests are failing on the CI, I am currently looking into the issue and will push a fix if needed

Given that the same work is incorporated in the new PR alongside the search UI work as a complete feature, hence closing this PR for simplicity of the review process. I will consolidated all requested changes and address them in the other PR. Thank you!


ss-path attribute

There is something interesting happening with the treepath prop being spread onto dropdown buttons. you can see this on all of the facet headers. its not the expected 'ss-path' attribute we are creating, but rather the treepath prop being spread on as an attribute. Even though the button component is pulling that prop out before spreading "additionalProps". I believe it has something to do with cloneWithProps, since we are passing the treepath into those props.


[Bug - Song Select] BGM will sometimes play with weird audio distortion

This appears to occur during/after song enumeration (mostly after). This never comes up again until the game is closed & re-opened. This has started happening after I began using Shared WASAPI. Running on 0.5.4 release.
https://user-images.githubusercontent.com/8828421/202419416-1abd560b-5313-48ad-b142-22f23c0bc540.mp4

Closing as this issue hasn't come up for me again in a long time. This was instead likely caused by some faulty hardware issues, which I had fixed.


Run container jobs from dockerized agent

We run several dockerized agents on our own server, using an image we built with microsoft/vsts-agent:ubuntu-16.04-docker-18.06.1-ce as a base image. I would like to start using container jobs in our new yaml build definitions - is there any way to do that if the agent itself is running in a container?
Right now when I try, I get this error
Error response from daemon: OCI runtime create failed: container_linux.go:348: starting container process caused "exec: \"/__a/externals/node/bin/node\": stat /__a/externals/node/bin/node: no such file or directory": unknown

I can see from the previous output lines that it tries to create a container with several mounted volumes, including /vsts/agent/externals - but as far as I understand with docker-in-docker you are just writing to the host's /var/run/docker.sock. Works for building images, but for mounted volumes it will look at the host's file system.
Is there any combination of volume mounts I can add to the agent container to get this to work? Or should I just go with installing the agent directly to the host and stop using the dockerized version?

@dferretti-fig we don't support running container job when the agent already inside a container.
what's your agent version? the agent should error out and tells you that you are inside a container.
Hey @TingluoHuang, Do I understand correctly, that there is no possibility to run containers jobs in agents on a kubernetes cluster?

@astlock not with the current implementation based on docker.  The only way to replicate what a container job does in combination with service containers in kubernetes is really a pod so we would need some other process to create Pods and PVC’s in order to get the same behavior.

@chrispat thank you for the answer. Do you guys have a plan to extend/develop some kubernetes native agent in the near future?

Friendly ping @chrispat  :)

Is running a container job from within a containerized agent going to be allowed in the future? I can't find anywhere as to why it's not allowed, but it would be very convenient to have this possibility. Microsoft's own Azure DevOps documentation also seems to point to this being an allowed feature.
To try and get around this issue, I tried running the agent through podman (as opposed to docker). I was able to bypass the /proc/1/cgroups` hueristic.

Is running a container job from within a containerized agent going to be allowed in the future? I can't find anywhere as to why it's not allowed, but it would be very convenient to have this possibility. Microsoft's own Azure DevOps documentation also seems to point to this being an allowed feature..

When a containerized build is started, Azure Devops makes a series of preparation to steps the make the provided container image compatible for Azure pipelines workloads. You can see those steps in Initialize containers build stage. When a build container is created (docker create ...), the command attaches a bunch of volumes into container to provide necessary toolset (node etc). The problem is when a volume is attached, docker engine uses host filesystem, so when attaching volumes to containers, one needs to make sure the directory path and necessary files exist on the host filesystem. However, since Azure Devops agent is running as a container,  docker command is executed from within Azure Devops container and the command attempts to attach directory which does not exist on the host filesystem. As a result, an empty directory is being attached into build container and when it starts (docker start), it fails to find the tools and the whole thing halts.

@vlad-m-r This problem can be largely overcome by using the docker --volumes-from option (see documtation here). As long the Azure Devops agent container has all the required destinations mounted as volumes, this option can be used by the agent to make those volumes are available in the job container at the same location.

@dferretti-fig we don't support running container job when the agent already inside a container.
what's your agent version? the agent should error out and tells you that you are inside a container.

Hey @TingluoHuang, Do I understand correctly, that there is no possibility to run containers jobs in agents on a kubernetes cluster?

I am running my agents on EKS

If you put your runner in a docker-in-docker container or maybe in a pod that has a docker-in-docker container that is part of it you should be able to use the container features of the agent.

Will this be supported in the future?
I think it's a quite useful feature, and gitlab runner already supported this.

I finally got a solution: docker-in-docker. Instead of mounting host docker.sock, I chose to run docker inside the docker containing azure-pipelines-agent.
For Dockerfile, see https://github.com/hez2010/docker-azure-pipelines-agent/tree/main/agent
To use it, you need to run the azure-pipelines-agent docker as privileged, and you also need to below set four environment variables:

AGENT_PAT: personal access token
AGENT_POOL: target agent pool name
AGENT_URL: URL
AGENT_DOCKER_MTU_VALUE: making sure it is less than the host docker MTU value, or you'll face networking issue

@hez2010 I'm looking over your solution but I don't see anywhere you using --volumes-from to pass host paths into the nested docker container. Would you explain the magic piece(s) that work around the docker-in-docker issue? Thanks.

Is that the piece that makes this work?

No. I run a dedicated docker daemon insider the container instead.

@hez2010 using your Dockerfile i wasn't able to run docker-in-docker. Also gave a try with the docker-image you linked.
Getting the same default error - "Container feature is not supported ..."

So what's the conclusion here? Do dockerized agents support container jobs or not really?

Keen to also see any updates on this

I would also like to know about progress on this feature. It would make an Azure DevOps project more portable, since it would have everything (including the agent) containerized.


Clear couch

Added a command line utility which is installed in the bin directory by buildout. The utility allows the user the clear all databases in couch matching a certain prefix such as 'ion_sci053mac001_local'.

A few possible things:

Can we have the ability to use this script to list all known databases?
Can we use the same defaults to construct the prefix/sysname as pyon does?
Can we get a "I'm going to delete ALL THESE DATABASES: continue?"

re: A few possible things:
• Can we have the ability to use this script to list all known databases?
•• I don't think we need list in the command line tool - this should not replace or augment the couch web interface
• Can we use the same defaults to construct the prefix/sysname as pyon does?
•• I am specifically not using sysname as the argument. This is a couch tool, not a pyon tool so it does not know about sysnames or how to construct the name scoping.
• Can we get a "I'm going to delete ALL THESE DATABASES: continue?"
•• We can make it interactive. Do you think it is worth adding it now?

My goal with the suggestions is to make it easier for the end user to accomplish the goal, which is to clear couch databases.  How does the user remember which couch databases to clear (aka which prefix)?  Would not the majority of things I want to clear be the automatic databases created on pycc startup, which by default is scoped to the default sysname prefix?

$ bin/clear_couch ion
Done...

heh, ok.

I would like to see this as one bit in the larger integration strategy. I don't want to rush in partial tools addressing symptoms. I will have a look at the overall strategy and discuss with Jamie and Tim about how to proceed.

This tool as a standalone tool is reasonable. I would like to see it as part of a system solution, not a standalone tool though. This just leads to tool sprawl and confusion, especially if replicated identically in coi-services etc.
I'm merging this to avoid possible blocks now, but we may change this soon.
If avoidable, do not add to coi-services. It's ok to run this from pyon. I will find a better solution for system runs, e.g. within rel files.
Don't push this issue too much anymore. However, let me know any suggestions.


🐛 BUG: wrangler dev crashes when working with large XML documents

Which Cloudflare product(s) does this pertain to?
Workers Runtime, Wrangler core, Miniflare
What version(s) of the tool(s) are you using?
3.63.1 [Wrangler]
What version of Node are you using?
?
What operating system and version are you using?
Arch Linux 6.9.7
Describe the Bug
Observed behavior
I'm using https://www.npmjs.com/package/fast-xml-parser to parse some XML documents from URLs, and it's not possible to test some locally because wrangler crashes.
Expected behavior
Wrangler shouldn't crash?
Steps to reproduce
import { XMLParser } from "fast-xml-parser";

const res = await fetch("https://kubernetes.io/feed.xml");

const { feed } = new XMLParser().parse(await res.text());

Please provide a link to a minimal reproduction
No response
Please provide any relevant error logs
✘ [ERROR] workerd/jsg/util.c++:278: error: e = kj/compat/http.c++:5754: failed: WebSocket protocol error; protocolError.statusCode = 1009; protocolError.description = Message is too large: 1180545 > 1048576

  stack: /usr/bin/workerd@17fd160 /usr/bin/workerd@17fd47f /usr/bin/workerd@2ee501c
  /usr/bin/workerd@cdb210 /usr/bin/workerd@1821610 /usr/bin/workerd@cdb210 /usr/bin/workerd@102b841;
  sentryErrorContext = jsgInternalError

This is most probably because in wrangler dev we send the response body in a message over to the "inspector" (i.e. for attaching a debugger) via a WebSocket, and that has a limit on message size. We have a PR on workerd that could allow us to set this to a larger value - see https://github.com/cloudflare/workerd/pull/2164.


Help typo

Fix typo in command help
radom -> random

Fixed it on local branch didnt wanna rosk git screwing things up will credit you


Fix CI

The biggest obstacle is having a compiled idris for whatever linux we're running on.  Travis just bails because it takes so long, so I have turned it off.

Need to revisit ejconlon/idr-distribution to get resonable images.

I think we can win a lot here by using a docker image that has most things preinstalled so that it would only have to build idream itself..
Container would contain mostly idris, ruby + rspec (for testing) and ghc + stack (for building idream)?

I want to revisit my idris deb packaging (https://github.com/ejconlon/idr-distribution) so we can get a base image with idris itself.  Then I want to do the same for idream so we have an idris/idream image.

I took a quick look at it, but couldn't figure out what it's for?
Is it for building a docker image?
I do this quite a bit (also for work), so I can help if you want to.
I'm still busy for a few days but then I got a week off for tinkering with some stuff :)

Frankly speaking, it's a mess now.  The main goal is to make binary deb releases for Idris.  I would like to expand it to make tgz releases or any other package manager formats.  (Though I will say I haven't done due diligence to relocatability...).  There is a nest of scripts there to support building with pluggable base images and scripts and a script to upload releases to github.  We can use the binary releases there to build images for CI here.  Building binary packages for idream would be the next step once all that is running smoothly.


SSMCache put is swallowing all the exceptions

If there is an exception of any sort, the method is swallowing it and only logging. This is very bad since the client will not know when a call failed and would need to be retried.
https://github.com/ragnor/simple-spring-memcached/blob/master/spring-cache/src/main/java/com/google/code/ssm/spring/SSMCache.java#L168
Was there any reason why it was done this way ?

It works in such way because caching layer should be transparent to rest of application. This is a main idea behind SSM. The app should work in the same way with disabled or enabled cache.
I've checked other implementations of org.springframework.cache.Cache and it seams that their don't mute exceptions but return them to client (caller).
What do you think? How it should work? Is it specified in Spring Cache?

We have a problem where a thread interrupt is being swallowed by SSMCache, which then simulates a cache miss and allows the AOP wrapped method to proceed.
I understand the rationale for swallowing cache errors, but it seems that InterruptedException should be allowed to propagate.

What do you think? How it should work? Is it specified in Spring Cache?

In standard Spring caching, the exception handling behaviour is configurable: https://docs.spring.io/spring/docs/current/spring-framework-reference/html/cache.html#cache-annotation-driven-settings

@ragnor
Hello.
Do you have any plan to modify SSM to register custom exception handler?

I'd like to add it to SSM but currently I'm lack of time. I don't know when
I find a time to implement it.
Do you consider creating a pull request?
On 5 July 2017 at 06:23, kinpa0a<EMAIL_ADDRESS>wrote:

@ragnor https://github.com/ragnor
Hello.
Do you have any plan to modify SSM to register custom exception handler?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/ragnor/simple-spring-memcached/issues/65#issuecomment-312993127,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAgF5YcbL8Ve13xYrJ_aoqvFSFZ97fFIks5sKw-9gaJpZM4KgAMm
.

A new settings in SSMCache muteExceptions allows to control if an exception should be muted or not. The default is true so it works as currently/


Onedrive personal Hash changed?

I find the hashes in File facet changed recently.
Now, OneDrive Personal start to provide SHA1 and QuickXorHash without CRC32.
OneDrive for Business is still SHA1 only.
Is it true?
Will I have to change my code for this?

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

ID: 40c044a7-71d2-b1b1-d2b3-9d014888a09e
Version Independent ID: 08abe874-0f62-dfc9-303d-8048d5fc9b65
Content: OneDrive API release notes - OneDrive dev center
Content Source: docs/rest-api/getting-started/release-notes.md
Product: onedrive
GitHub Login: @rgregg
Microsoft Alias: rgregg

ODB should have quickXorHash, not the other two, per that document
Could you please clarify for OneDrive Personal whether the CRC32 hash was previously always returned? Note that per the documentation here
https://docs.microsoft.com/en-us/graph/api/resources/hashes?view=graph-rest-1.0
hashes may not always be immediately available.

i have always seen crc32 before. but never seen quickxorhash for personal account.
is it a new feature for personal account?

Thanks, we'll follow up with a partner team about this issue.

Further Hint:
Most of files in my onedrive personal contains QuickXorHash, but a small part of them not contain QuickXorHash.

We'll re-ping the partner team about this.  Are the files without QuickXorHash files that have not changed recently?

We'll re-ping the partner team about this. Are the files without QuickXorHash files that have not changed recently?

yes but I have not checked all the files because it is too slow to list the whole file tree.

As part of a repository clean up effort we are closing older issues. If this issue remains, please: open a new issue, reference this issue, and provide any additional details that may help in resolution. Thank you for your understanding as we work to improve our responsiveness.


Use "nestedSamplingInternal" for a specific use

Hi  Sjoerd,
I was going through the package and frankly, am fascinated by it. I have been in the process of developing a package for specific use in my community and was implementing MCMC with Metropolis using brute force codes. The "StatisticsMCMCBuildMarkovChain" function really was a pleasant surprise.
I really want to implement the "nestedSamplingInternal" function in part of my code and future analyses. I will do the necessary adjustments for a seamless workflow in mine, but would it be okay if I do that with the proper citation? Please let me know as I could not find your email and there is no DM option here. my email<EMAIL_ADDRESS>Regards,
Sunando

Hi Sunando,
Thanks for your feedback! Please feel free to use whatever you need from my code. Just cite my name and the github link and that should be fine as far as I'm concerned. Of course it would be a good idea to mention Skilling's original paper about nested sampling as well, since that's basically my source.
I'm currently not developing it very actively, but if you find any problems or have any questions, you can always contact me through Github or on my private e-mail address (I'll send you an e-mail after this).
I wish you all the best with your project!
Sjoerd


2.23.x

in activemq plugin do client validate and it can not send MQTTReasonCodes.CLIENT_IDENTIFIER_NOT_VALID to mqtt client

in activemq plugin do client validate and it can not send MQTTReasonCodes.CLIENT_IDENTIFIER_NOT_VALID to mqtt client

There dont appear to be any useful changes in this PR, and it seems you have raised another on the same issue, please close this.