LocalAddr and LocalIP matchers

What does this PR do?
Introduce LocalAddr and LocalIP matchers, which can be used for matching a specific local IP or IP:port combination to a specific backend.
Fixes #3399.
Motivation
I am working on larger, automated Traefik deployments which need the ability to pin specific IP addresses to specific backends.
More

[x] Added/updated tests
[x] Added/updated documentation

Closed via #3399


Doesn't work (on win32)

Hey @porsager I really like the look of this but can't seem to get it to work in any way shape or form.
I tried npm installing it (from github) as a dependency on a fresh project and writing my wright.js from scratch, but this yielded no results. I hacked about a bit, couldn't get anything to work. Later on I cloned the repo and installed all deps for the core package and the examples, and still nothing seems to happen beyond launching a chrome instance.
In each case a chrome instance is launched with 2 tabs: 1 at http://localhost:3000/ and 1 showing the dev tools at http://localhost:3001/devtools/inspector.html?ws=localhost:3002/devtools/page/{hash}.
No errors are reported (other than missing favicon, natch), and the loaded DOM is the same regardless of local files: an empty document with the title $ wright /{local_folder_name}. Changing local files doesn't produce any logs in the shell which originated the process, neither does the chrome runtime change at all. The only change I can produce is by reloading either chrome tab, which appends a style element to the head containing an embedded base64-encoded definition for a font-face assigned to wrightopensans.
I'm on a win32 windows machine which may account for something.
Video:

If I set debug to 2, I get the following logs. The oom_memory_details.cc(46) happen in slow succession and stop after a while but don't appear to be the result of any ostensible action on my part. 🤔
17:49:19.659 Starting wright...
17:49:20.760 Server started on http://localhost:3000
17:49:23.916 Debug: Waiting for chrome to launch
17:49:24.664 Chrome err: [7296:6632:0103/174924:WARNING:external_registry_loader_win.cc(211)] Error observing HKLM.

17:49:29.731 Chrome err: [7296:6632:0103/174929:WARNING:oom_memory_details.cc(46)] Tab Discards Memory details (435 ms):
Tab [Developer Tools - http://localhost:3000/] 23 MB private, 23 MB shared
Browser 17 MB private, 32 MB shared
Extension [Chrome Media Router] 13 MB private, 18 MB shared
Tab [$ wright /mithril] 8 MB private, 18 MB shared
GPU [] 7 MB private, 18 MB shared

17:49:34.763 Chrome err: [7296:6632:0103/174934:WARNING:oom_memory_details.cc(46)] Tab Discards Memory details (467 ms):
Tab [Developer Tools - http://localhost:3000/] 21 MB private, 23 MB shared
Browser 18 MB private, 33 MB shared
Extension [Chrome Media Router] 13 MB private, 18 MB shared
Tab [$ wright /mithril] 8 MB private, 18 MB shared
GPU [] 7 MB private, 18 MB shared

17:49:39.715 Chrome err: [7296:6632:0103/174939:WARNING:oom_memory_details.cc(46)] Tab Discards Memory details (417 ms):
Tab [Developer Tools - http://localhost:3000/] 21 MB private, 22 MB shared
Browser 19 MB private, 33 MB shared
Extension [Chrome Media Router] 13 MB private, 18 MB shared
Tab [$ wright /mithril] 8 MB private, 18 MB shared
GPU [] 7 MB private, 18 MB shared

Hi Barney..
To start the mithril example could you try to do eg.
npm run rollup

Right — it's all working great now :)
Thanks!

Great :)
Would love to hear how it works out for you..


[easy] Option / Result clean-ups

Style lints, organized in distinct commits so that they are independently removable / selectable. Will stash before merging.

Looks like there's a bunch of ok_or that could be ok_or_else.

@sunshowers :) on it

:umbrella: The latest upstream changes (presumably f35a0406060e4af568426bc273a7a206bdbd36f3) made this pull request unmergeable. Please resolve the merge conflicts.


Main old

Related issue
[Okika Franklin](https://github.com/franklinscripts

Hey!,
I am closing this PR as this created from the old branch and have conflicts


[Automation] Adding new API spec for 2018-01-15 version

Added spec for new 2018-01 APIs. These mainly contain spec for the DSC APIs fixing the linting issues. Also added examples, and did some housekeeping for cleaning up the existing specs and better naming things.

This checklist is used to make sure that common issues in a pull request are addressed. This will expedite the process of getting your pull request merged and avoid extra work on your part to fix issues discovered during the review process.
PR information

[x] The title of the PR is clear and informative.
[x] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For information on cleaning up the commits in your pull request, see this page.
[x] Except for special cases involving multiple contributors, the PR is started from a fork of the main repository, not a branch.
[ ] If applicable, the PR references the bug/issue that it fixes.
[x] Swagger files are correctly named (e.g. the api-version in the path should match the api-version in the spec).

Quality of Swagger

[x] I have read the contribution guidelines.
[x] My spec meets the review criteria:

[x] The spec conforms to the Swagger 2.0 specification.
[x] The spec follows the guidelines described in the Swagger checklist document.
[x] Validation tools were run on swagger spec(s) and have all been fixed in this PR.

Automation for azure-sdk-for-node

Automation for azure-libraries-for-java

Automation for azure-sdk-for-python

Automation for azure-sdk-for-go

Depends on #2705. The refactoring is needed to go in, to fix the linting issue entirely.

Closing and reopening to trigger CI

@mcardosos Could you please take a look at the changes. Thanks.

@mcardosos @ravbhatnagar Could you please take a look at this PR and approve it. I've fixed all the issues related to model/examples and also addressed the review comments.

Have you already requested this suppressions? Could you please add me to the email thread if so?

Refers to: specification/automation/resource-manager/readme.md:137 in 8b68d37. [](commit_id = 8b68d3738a2b38e865aaa3c5daa34cedcb4ace5b, deletion_comment = False)

@mcardosos - The suppression PR #2749. I've also sent you the mail.

MIssing stuff to fix:

Interval type.
Extra slash.
Additional properties model.
Odata extension, dscNodeReport, refresh enum. Strongly recommended to include in this PR since those are changes on the stable folder.

There might still be extra stuff to fix (we will know once CI finishes)

@mcardosos Out of the above -

MIssing stuff to fix:
Interval type.

Will update this asap.

Extra slash.

Removed

Additional properties model.

As you said above, this is not a blocker currently. Also, when I remove the provisioningState from JobProvisioningStateProperty, the model issues start showing up. Also, with the current change, oav validate-example does not complain currently.

Odata extension, dscNodeReport, refresh enum. Strongly recommended to include in this PR since those are changes on the stable folder.

OData extension done. After talking to the team, the dscNodeReport enums is not in plan currently.

There might still be extra stuff to fix (we will know once CI finishes)

Will keep an eye.

Cool! So missing stuff to fix are linter errors and model validation errors.

For the model issues, I already made the fix (https://github.com/Azure/azure-rest-api-specs/pull/2690/commits/8b68d3738a2b38e865aaa3c5daa34cedcb4ace5b). Don't know why its now showing up. I'll make the commit again.
As for the linter issues. It is finding linting issues in 2015-10-31 folder, which I am fixing in 2018-01-15 resources. I am not changing previous stable version to fix it.

@mcardosos Fixed the model issues.

@ravbhatnagar Could you please take a look at this PR. Thanks.

@vrdmr - Some comments. Not sure if these are existing APis or new. Please ping me to close on this.

OK since these are all existing APis, signing off despite these issues.


PiVPN and Pihole | Connection times out intermittently

Hi all,
I have a random timing out issue with PiVPN that's making it a bit hard to google as it's conflating several unrelated issues.
The installation for Pihole and PiVPN went perfectly well with no issue;  I'm able to connect to PiVPN and Pihole worked perfectly fine.
However, once connected to PiVPN, at intermittent moments (possibly when network switching), I essentially lose connection (while still remaining connected to the VPN);  no apps work, can't ping any sites;  DNS essentially gets a bad probe / timeout error.
What resolves the issue are two things:

Switching from WiFi to Network or vice versa and waiting 5-10 minutes
Turn VPN off and on immediately resolves the issue

The key params I've changed in server.conf are:

DIsabled / commented out:   push "redirect-gateway def1" so I only route DNS traffic
Added "route <IP_ADDRESS> <IP_ADDRESS>"

Has anyone else encountered this issue before?
Thank you.

Anyone have any ideas why PiVPN would randomly stop routing DNS traffic and when reconnecting to the VPN or getting off the network would fix it?

Try to edit /etc/dnsmasq.conf
Add
listen-address=<IP_ADDRESS>
listen-address=<IP_ADDRESS>
Then, in /etc/openvpn/server.conf
Add push "dhcp-option DNS <IP_ADDRESS>"
Delete any other lines about "dhcp-option"
service dnsmasq restart
service openvpn restart

Try to edit /etc/dnsmasq.conf
Add
listen-address=<IP_ADDRESS>
listen-address=<IP_ADDRESS>
Then, in /etc/openvpn/server.conf
Add push "dhcp-option DNS <IP_ADDRESS>"
Delete any other lines about "dhcp-option"
service dnsmasq restart
service openvpn restart
For detail you can look out from this link https://github.com/BobNisco/adblocking-vpn/blob/master/README.md
I am not combine pivpn + pihole anymore since too many conflict. If you just want make adblock run in vpn client connect, you can follow step in link above. For me, it is more simple, the function totally same as you edit file /etc/hosts.

Thank you so much for your suggestion.
I tried exactly what you suggested, but it broke the internet entirely;  sites were timing out; nothing was loading.  I undid the changes and it started working again.
Any ideas and why that might have happened?
Thanks again

Try to edit /etc/dnsmasq.conf
Add
listen-address=<IP_ADDRESS>
listen-address=<IP_ADDRESS>
Then, in /etc/openvpn/server.conf
Add push "dhcp-option DNS <IP_ADDRESS>"
Delete any other lines about "dhcp-option"
service dnsmasq restart
service openvpn restart
For detail you can look out from this link https://github.com/BobNisco/adblocking-vpn/blob/master/README.md
I am not combine pivpn + pihole anymore since too many conflict. If you just want make adblock run in vpn client connect, you can follow step in link above. For me, it is more simple, the function totally same as you edit file /etc/hosts.

Thank you so much for your suggestion.
I tried exactly what you suggested, but it broke the internet entirely; sites were timing out; nothing was loading. I undid the changes and it started working again.
Any ideas and why that might have happened?
Thanks again

Are you keep using pihole + pivpn?
Like I said, I cant solve pivpn run both with pihole.
So, I try another way to block ads in client vpn. I just give an alternative, not to fix pihole + pivpn.
If you want to keep pivpn + pihole run together, try visit https://github.com/pi-hole/pi-hole/issues and describe your problem. Maybe someone out there can fix your issue.

Pipvn and pihole run just fine, usually you only need to change the push "dhcp-option DNS something" to push "dhcp-option DNS <IP_ADDRESS>" and allow local devices ("at most one hop away" as presented by the web interface).

However, once connected to PiVPN, at intermittent moments (possibly when network switching), I essentially lose connection (while still remaining connected to the VPN); no apps work, can't ping any sites; DNS essentially gets a bad probe / timeout error.

I don't think this depends on the fact that you only route dns and local devices through the vpn, maybe your client is just losing connection to the server, thus dns times out.
Perhaps you could post the raspberry pi log cat /var/log/openvpn.log, remember to censor the client ip that will show up. Do you experience this behaviour on all clients? On what networks? Can you post the client log too?

Thanks for your suggestion.
I updated my config to push "dhcp-option DNS <IP_ADDRESS>" instead of pointing to my Pi's local IP, however I'm still running into the issue.
I have two VPN clients (phones) that connect to my VPN;  it occurs on both, one of which is a brand new Pixel 3.  As soon as I pause or disconnect the VPN and resume/reconnect, all is well.  Happens on all networks.
I'll need to get the openvpn.log file for you though.

Pipvn and pihole run just fine, usually you only need to change the push "dhcp-option DNS something" to push "dhcp-option DNS <IP_ADDRESS>" and allow local devices ("at most one hop away" as presented by the web interface).

However, once connected to PiVPN, at intermittent moments (possibly when network switching), I essentially lose connection (while still remaining connected to the VPN); no apps work, can't ping any sites; DNS essentially gets a bad probe / timeout error.

I don't think this depends on the fact that you only route dns and local devices through the vpn, maybe your client is just losing connection to the server, thus dns times out.
Perhaps you could post the raspberry pi log cat /var/log/openvpn.log, remember to censor the client ip that will show up. Do you experience this behaviour on all clients? On what networks? Can you post the client log too?

Hey friend,
Apologies for the late response.
I've attached my openvpn.log.   Hopefully this reveals the problem.
Thank you!
Dec 16 14:00:16 pi ovpn-server[462]: TLS Error: cannot locate HMAC in incoming packet from [AF_INET][External IP]:46998
Dec 16 14:45:50 pi ovpn-server[462]: [External IP]:10031 TLS: Initial packet from [AF_INET][External IP]:10031, sid=2bd8370f af2d10c8
Dec 16 14:45:50 pi ovpn-server[462]: [External IP]:10031 VERIFY OK: depth=1, CN=ChangeMe
Dec 16 14:45:50 pi ovpn-server[462]: [External IP]:10031 Validating certificate key usage
Dec 16 14:45:50 pi ovpn-server[462]: [External IP]:10031 ++ Certificate has key usage  0080, expects 0080
Dec 16 14:45:50 pi ovpn-server[462]: [External IP]:10031 VERIFY KU OK
Dec 16 14:45:50 pi ovpn-server[462]: [External IP]:10031 Validating certificate extended key usage
Dec 16 14:45:50 pi ovpn-server[462]: [External IP]:10031 ++ Certificate has EKU (str) TLS Web Client Authentication, expects TLS Web Client Authentication
Dec 16 14:45:50 pi ovpn-server[462]: [External IP]:10031 VERIFY EKU OK
Dec 16 14:45:50 pi ovpn-server[462]: [External IP]:10031 VERIFY OK: depth=0, CN=my-dns
Dec 16 14:45:51 pi ovpn-server[462]: [External IP]:10031 peer info: IV_GUI_VER=OC30Android
Dec 16 14:45:51 pi ovpn-server[462]: [External IP]:10031 peer info: IV_VER=3.2
Dec 16 14:45:51 pi ovpn-server[462]: [External IP]:10031 peer info: IV_PLAT=android
Dec 16 14:45:51 pi ovpn-server[462]: [External IP]:10031 peer info: IV_NCP=2
Dec 16 14:45:51 pi ovpn-server[462]: [External IP]:10031 peer info: IV_TCPNL=1
Dec 16 14:45:51 pi ovpn-server[462]: [External IP]:10031 peer info: IV_PROTO=2
Dec 16 14:45:51 pi ovpn-server[462]: [External IP]:10031 peer info: IV_AUTO_SESS=1
Dec 16 14:45:51 pi ovpn-server[462]: [External IP]:10031 Control Channel: TLSv1.2, cipher TLSv1/SSLv3 D8AEF-RSA-AES256-GCM-SHA384, 2048 bit RSA
Dec 16 14:45:51 pi ovpn-server[462]: [External IP]:10031 [my-dns] Peer Connection Initiated with [AF_INET][External IP]:10031
Dec 16 14:45:51 pi ovpn-server[462]: my-dns/[External IP]:10031 MULTI_sva: pool returned IPv4=<IP_ADDRESS>, IPv6=(Not enabled)
Dec 16 14:45:51 pi ovpn-server[462]: my-dns/[External IP]:10031 MULTI: Learn: <IP_ADDRESS> -> my-dns/[External IP]:10031
Dec 16 14:45:51 pi ovpn-server[462]: my-dns/[External IP]:10031 MULTI: primary virtual IP for my-dns/[External IP]:10031: <IP_ADDRESS>
Dec 16 14:45:51 pi ovpn-server[462]: my-dns/[External IP]:10031 PUSH: Received control message: 'PUSH_REQUEST'
Dec 16 14:45:51 pi ovpn-server[462]: my-dns/[External IP]:10031 SENT CONTROL [my-dns]: 'PUSH_REPLY,dhcp-option DNS <IP_ADDRESS>,block-outside-dns,route <IP_ADDRESS> <IP_ADDRESS>,route-gateway <IP_ADDRESS>,topology subnet,ping 1800,ping-restart 3600,ifconfig <IP_ADDRESS> <IP_ADDRESS>,peer-id 0,cipher AES-256-GCM' (status=1)
Dec 16 14:45:51 pi ovpn-server[462]: my-dns/[External IP]:10031 Data Channel Encrypt: Cipher 'AES-256-GCM' initialized with 256 bit key
Dec 16 14:45:51 pi ovpn-server[462]: my-dns/[External IP]:10031 Data Channel Decrypt: Cipher 'AES-256-GCM' initialized with 256 bit key
Dec 16 15:45:51 pi ovpn-server[462]: my-dns/[External IP]:46668 TLS: soft reset sec=0 bytes=24906/-1 pkts=231/0
Dec 16 15:46:07 pi ovpn-server[462]: my-dns/[External IP]:2422 VERIFY OK: depth=1, CN=ChangeMe
Dec 16 15:46:07 pi ovpn-server[462]: my-dns/[External IP]:2422 Validating certificate key usage
Dec 16 15:46:07 pi ovpn-server[462]: my-dns/[External IP]:2422 ++ Certificate has key usage  0080, expects 0080
Dec 16 15:46:07 pi ovpn-server[462]: my-dns/[External IP]:2422 VERIFY KU OK
Dec 16 15:46:07 pi ovpn-server[462]: my-dns/[External IP]:2422 Validating certificate extended key usage
Dec 16 15:46:07 pi ovpn-server[462]: my-dns/[External IP]:2422 ++ Certificate has EKU (str) TLS Web Client Authentication, expects TLS Web Client Authentication
Dec 16 15:46:07 pi ovpn-server[462]: my-dns/[External IP]:2422 VERIFY EKU OK
Dec 16 15:46:07 pi ovpn-server[462]: my-dns/[External IP]:2422 VERIFY OK: depth=0, CN=my-dns
Dec 16 15:46:07 pi ovpn-server[462]: my-dns/[External IP]:2422 peer info: IV_GUI_VER=OC30Android
Dec 16 15:46:07 pi ovpn-server[462]: my-dns/[External IP]:2422 peer info: IV_VER=3.2
Dec 16 15:46:07 pi ovpn-server[462]: my-dns/[External IP]:2422 peer info: IV_PLAT=android
Dec 16 15:46:07 pi ovpn-server[462]: my-dns/[External IP]:2422 peer info: IV_NCP=2
Dec 16 15:46:07 pi ovpn-server[462]: my-dns/[External IP]:2422 peer info: IV_TCPNL=1
Dec 16 15:46:07 pi ovpn-server[462]: my-dns/[External IP]:2422 peer info: IV_PROTO=2
Dec 16 15:46:07 pi ovpn-server[462]: my-dns/[External IP]:2422 peer info: IV_AUTO_SESS=1
Dec 16 15:46:07 pi ovpn-server[462]: my-dns/[External IP]:2422 WARNING: 'link-mtu' is used inconsistently, local='link-mtu 1569', remote='link-mtu 1524'
Dec 16 15:46:07 pi ovpn-server[462]: my-dns/[External IP]:2422 WARNING: 'cipher' is used inconsistently, local='cipher AES-256-CBC', remote='cipher AES-256-GCM'
Dec 16 15:46:07 pi ovpn-server[462]: my-dns/[External IP]:2422 Data Channel Encrypt: Cipher 'AES-256-GCM' initialized with 256 bit key
Dec 16 15:46:07 pi ovpn-server[462]: my-dns/[External IP]:2422 Data Channel Decrypt: Cipher 'AES-256-GCM' initialized with 256 bit key
Dec 16 15:46:07 pi ovpn-server[462]: my-dns/[External IP]:2422 Control Channel: TLSv1.2, cipher TLSv1/SSLv3 D8AEF-RSA-AES256-GCM-SHA384, 2048 bit RSA
Dec 16 16:15:28 pi ovpn-server[462]: my-dns/[External IP]:25627 SIGTERM[soft,remote-exit] received, client-instance exiting
Dec 16 16:16:09 pi ovpn-server[462]: [External IP]:47248 TLS: Initial packet from [AF_INET][External IP]:47248, sid=a1807b07 7d656dc5
Dec 16 16:16:09 pi ovpn-server[462]: [External IP]:47248 Authenticate/Decrypt packet error: bad packet ID (may be a replay): [ #1 / time =<PHONE_NUMBER>) Sun Dec 16 16:16:06 2018 ] -- see the man page entry for --no-replay and --replay-window for more info or silence this warning with --mute-replay-warnings
Dec 16 16:16:09 pi ovpn-server[462]: [External IP]:47248 TLS Error: incoming packet authentication failed from [AF_INET][External IP]:47248
Dec 16 16:16:09 pi ovpn-server[462]: [External IP]:47248 VERIFY OK: depth=1, CN=ChangeMe
Dec 16 16:16:09 pi ovpn-server[462]: [External IP]:47248 Validating certificate key usage
Dec 16 16:16:09 pi ovpn-server[462]: [External IP]:47248 ++ Certificate has key usage  0080, expects 0080
Dec 16 16:16:09 pi ovpn-server[462]: [External IP]:47248 VERIFY KU OK
Dec 16 16:16:09 pi ovpn-server[462]: [External IP]:47248 Validating certificate extended key usage
Dec 16 16:16:09 pi ovpn-server[462]: [External IP]:47248 ++ Certificate has EKU (str) TLS Web Client Authentication, expects TLS Web Client Authentication
Dec 16 16:16:09 pi ovpn-server[462]: [External IP]:47248 VERIFY EKU OK
Dec 16 16:16:09 pi ovpn-server[462]: [External IP]:47248 VERIFY OK: depth=0, CN=my-dns
Dec 16 16:16:09 pi ovpn-server[462]: [External IP]:47248 peer info: IV_GUI_VER=OC30Android
Dec 16 16:16:09 pi ovpn-server[462]: [External IP]:47248 peer info: IV_VER=3.2
Dec 16 16:16:09 pi ovpn-server[462]: [External IP]:47248 peer info: IV_PLAT=android
Dec 16 16:16:09 pi ovpn-server[462]: [External IP]:47248 peer info: IV_NCP=2
Dec 16 16:16:09 pi ovpn-server[462]: [External IP]:47248 peer info: IV_TCPNL=1
Dec 16 16:16:09 pi ovpn-server[462]: [External IP]:47248 peer info: IV_PROTO=2
Dec 16 16:16:09 pi ovpn-server[462]: [External IP]:47248 peer info: IV_AUTO_SESS=1
Dec 16 16:16:10 pi ovpn-server[462]: [External IP]:47248 Control Channel: TLSv1.2, cipher TLSv1/SSLv3 D8AEF-RSA-AES256-GCM-SHA384, 2048 bit RSA
Dec 16 16:16:10 pi ovpn-server[462]: [External IP]:47248 [my-dns] Peer Connection Initiated with [AF_INET][External IP]:47248
Dec 16 16:16:10 pi ovpn-server[462]: my-dns/[External IP]:47248 MULTI_sva: pool returned IPv4=<IP_ADDRESS>, IPv6=(Not enabled)
Dec 16 16:16:10 pi ovpn-server[462]: my-dns/[External IP]:47248 MULTI: Learn: <IP_ADDRESS> -> my-dns/[External IP]:47248
Dec 16 16:16:10 pi ovpn-server[462]: my-dns/[External IP]:47248 MULTI: primary virtual IP for my-dns/[External IP]:47248: <IP_ADDRESS>
Dec 16 16:16:10 pi ovpn-server[462]: my-dns/[External IP]:47248 PUSH: Received control message: 'PUSH_REQUEST'
Dec 16 16:16:10 pi ovpn-server[462]: my-dns/[External IP]:47248 SENT CONTROL [my-dns]: 'PUSH_REPLY,dhcp-option DNS <IP_ADDRESS>,block-outside-dns,route <IP_ADDRESS> <IP_ADDRESS>,route-gateway <IP_ADDRESS>,topology subnet,ping 1800,ping-restart 3600,ifconfig <IP_ADDRESS> <IP_ADDRESS>,peer-id 0,cipher AES-256-GCM' (status=1)
Dec 16 16:16:10 pi ovpn-server[462]: my-dns/[External IP]:47248 Data Channel Encrypt: Cipher 'AES-256-GCM' initialized with 256 bit key
Dec 16 16:16:10 pi ovpn-server[462]: my-dns/[External IP]:47248 Data Channel Decrypt: Cipher 'AES-256-GCM' initialized with 256 bit key
Dec 16 17:02:17 pi ovpn-server[462]: [External IP]:58797 TLS: Initial packet from [AF_INET][External IP]:58797, sid=afa1e1e4 22389fa2
Dec 16 17:02:17 pi ovpn-server[462]: [External IP]:58797 VERIFY OK: depth=1, CN=ChangeMe
Dec 16 17:02:17 pi ovpn-server[462]: [External IP]:58797 Validating certificate key usage
Dec 16 17:02:17 pi ovpn-server[462]: [External IP]:58797 ++ Certificate has key usage  0080, expects 0080
Dec 16 17:02:17 pi ovpn-server[462]: [External IP]:58797 VERIFY KU OK
Dec 16 17:02:17 pi ovpn-server[462]: [External IP]:58797 Validating certificate extended key usage
Dec 16 17:02:17 pi ovpn-server[462]: [External IP]:58797 ++ Certificate has EKU (str) TLS Web Client Authentication, expects TLS Web Client Authentication
Dec 16 17:02:17 pi ovpn-server[462]: [External IP]:58797 VERIFY EKU OK
Dec 16 17:02:17 pi ovpn-server[462]: [External IP]:58797 VERIFY OK: depth=0, CN=my-dns
Dec 16 17:02:17 pi ovpn-server[462]: [External IP]:58797 peer info: IV_GUI_VER=OC30Android
Dec 16 17:02:17 pi ovpn-server[462]: [External IP]:58797 peer info: IV_VER=3.2
Dec 16 17:02:17 pi ovpn-server[462]: [External IP]:58797 peer info: IV_PLAT=android
Dec 16 17:02:17 pi ovpn-server[462]: [External IP]:58797 peer info: IV_NCP=2
Dec 16 17:02:17 pi ovpn-server[462]: [External IP]:58797 peer info: IV_TCPNL=1
Dec 16 17:02:17 pi ovpn-server[462]: [External IP]:58797 peer info: IV_PROTO=2
Dec 16 17:02:17 pi ovpn-server[462]: [External IP]:58797 peer info: IV_AUTO_SESS=1
Dec 16 17:02:17 pi ovpn-server[462]: [External IP]:58797 Control Channel: TLSv1.2, cipher TLSv1/SSLv3 D8AEF-RSA-AES256-GCM-SHA384, 2048 bit RSA
Dec 16 17:02:17 pi ovpn-server[462]: [External IP]:58797 [my-dns] Peer Connection Initiated with [AF_INET][External IP]:58797
Dec 16 17:02:17 pi ovpn-server[462]: MULTI: new connection by client 'my-dns' will cause previous active sessions by this client to be dropped.  Remember to use the --duplicate-cn option if you want multiple clients using the same certificate or username to concurrently connect.
Dec 16 17:02:17 pi ovpn-server[462]: MULTI_sva: pool returned IPv4=<IP_ADDRESS>, IPv6=(Not enabled)
Dec 16 17:02:17 pi ovpn-server[462]: MULTI: Learn: <IP_ADDRESS> -> my-dns/[External IP]:58797
Dec 16 17:02:17 pi ovpn-server[462]: MULTI: primary virtual IP for my-dns/[External IP]:58797: <IP_ADDRESS>
Dec 16 17:02:17 pi ovpn-server[462]: my-dns/[External IP]:58797 PUSH: Received control message: 'PUSH_REQUEST'
Dec 16 17:02:17 pi ovpn-server[462]: my-dns/[External IP]:58797 SENT CONTROL [my-dns]: 'PUSH_REPLY,dhcp-option DNS <IP_ADDRESS>,block-outside-dns,route <IP_ADDRESS> <IP_ADDRESS>,route-gateway <IP_ADDRESS>,topology subnet,ping 1800,ping-restart 3600,ifconfig <IP_ADDRESS> <IP_ADDRESS>,peer-id 1,cipher AES-256-GCM' (status=1)
Dec 16 17:02:17 pi ovpn-server[462]: my-dns/[External IP]:58797 Data Channel Encrypt: Cipher 'AES-256-GCM' initialized with 256 bit key
Dec 16 17:02:17 pi ovpn-server[462]: my-dns/[External IP]:58797 Data Channel Decrypt: Cipher 'AES-256-GCM' initialized with 256 bit key
Dec 16 17:56:55 pi ovpn-server[462]: [External IP]:64177 TLS: Initial packet from [AF_INET][External IP]:64177, sid=6cf568a7 b8c554ff
Dec 16 17:56:55 pi ovpn-server[462]: [External IP]:64177 Authenticate/Decrypt packet error: bad packet ID (may be a replay): [ #1 / time =<PHONE_NUMBER>) Sun Dec 16 17:56:50 2018 ] -- see the man page entry for --no-replay and --replay-window for more info or silence this warning with --mute-replay-warnings
Dec 16 17:56:55 pi ovpn-server[462]: [External IP]:64177 TLS Error: incoming packet authentication failed from [AF_INET][External IP]:64177
Dec 16 17:56:56 pi ovpn-server[462]: [External IP]:64177 VERIFY OK: depth=1, CN=ChangeMe
Dec 16 17:56:56 pi ovpn-server[462]: [External IP]:64177 Validating certificate key usage
Dec 16 17:56:56 pi ovpn-server[462]: [External IP]:64177 ++ Certificate has key usage  0080, expects 0080
Dec 16 17:56:56 pi ovpn-server[462]: [External IP]:64177 VERIFY KU OK
Dec 16 17:56:56 pi ovpn-server[462]: [External IP]:64177 Validating certificate extended key usage
Dec 16 17:56:56 pi ovpn-server[462]: [External IP]:64177 ++ Certificate has EKU (str) TLS Web Client Authentication, expects TLS Web Client Authentication
Dec 16 17:56:56 pi ovpn-server[462]: [External IP]:64177 VERIFY EKU OK
Dec 16 17:56:56 pi ovpn-server[462]: [External IP]:64177 VERIFY OK: depth=0, CN=my-dns
Dec 16 17:56:56 pi ovpn-server[462]: [External IP]:64177 peer info: IV_GUI_VER=OC30Android
Dec 16 17:56:56 pi ovpn-server[462]: [External IP]:64177 peer info: IV_VER=3.2
Dec 16 17:56:56 pi ovpn-server[462]: [External IP]:64177 peer info: IV_PLAT=android
Dec 16 17:56:56 pi ovpn-server[462]: [External IP]:64177 peer info: IV_NCP=2
Dec 16 17:56:56 pi ovpn-server[462]: [External IP]:64177 peer info: IV_TCPNL=1
Dec 16 17:56:56 pi ovpn-server[462]: [External IP]:64177 peer info: IV_PROTO=2
Dec 16 17:56:56 pi ovpn-server[462]: [External IP]:64177 peer info: IV_AUTO_SESS=1
Dec 16 17:56:56 pi ovpn-server[462]: [External IP]:64177 Control Channel: TLSv1.2, cipher TLSv1/SSLv3 D8AEF-RSA-AES256-GCM-SHA384, 2048 bit RSA
Dec 16 17:56:56 pi ovpn-server[462]: [External IP]:64177 [my-dns] Peer Connection Initiated with [AF_INET][External IP]:64177
Dec 16 17:56:56 pi ovpn-server[462]: MULTI: new connection by client 'my-dns' will cause previous active sessions by this client to be dropped.  Remember to use the --duplicate-cn option if you want multiple clients using the same certificate or username to concurrently connect.
Dec 16 17:56:56 pi ovpn-server[462]: MULTI_sva: pool returned IPv4=<IP_ADDRESS>, IPv6=(Not enabled)
Dec 16 17:56:56 pi ovpn-server[462]: MULTI: Learn: <IP_ADDRESS> -> my-dns/[External IP]:64177
Dec 16 17:56:56 pi ovpn-server[462]: MULTI: primary virtual IP for my-dns/[External IP]:64177: <IP_ADDRESS>
Dec 16 17:56:56 pi ovpn-server[462]: my-dns/[External IP]:64177 PUSH: Received control message: 'PUSH_REQUEST'
Dec 16 17:56:56 pi ovpn-server[462]: my-dns/[External IP]:64177 SENT CONTROL [my-dns]: 'PUSH_REPLY,dhcp-option DNS <IP_ADDRESS>,block-outside-dns,route <IP_ADDRESS> <IP_ADDRESS>,route-gateway <IP_ADDRESS>,topology subnet,ping 1800,ping-restart 3600,ifconfig <IP_ADDRESS> <IP_ADDRESS>,peer-id 0,cipher AES-256-GCM' (status=1)
Dec 16 17:56:56 pi ovpn-server[462]: my-dns/[External IP]:64177 Data Channel Encrypt: Cipher 'AES-256-GCM' initialized with 256 bit key
Dec 16 17:56:56 pi ovpn-server[462]: my-dns/[External IP]:64177 Data Channel Decrypt: Cipher 'AES-256-GCM' initialized with 256 bit key

Hi,
A me too comment I'm afraid, I can add some more flesh to it though.
I am not running PiHole, so maybe that eliminates some variables...
With regards to clients, I am connecting via an Android phone, the timeout almost exclusively happens when switching from a network connection to WiFi and vice versa. I have had the phone on WiFi all day with no issues, similarly with a network connection, switching seems to cause the problem.
I have found that OpenVPN for Android (0.7.5) by Arne Schwabe is less susceptible to this than the official OpenVPN Connect client, it still does happen though.
I think, the issue started when I updated to V1.10 earlier in the year, I cant be 100% sure of this though..
I have not tried the fixes above as they do not appear to have worked, I can do if need be though.
Let me know if / how I can help...

Can you post these files? cat /etc/openvpn/server.conf and 'cat /etc/openvpn/easy-rsa/pki/Default.txt'. In the OpenVPN Connect app do you have compression enabled in settings?

Hi,
Sorry for the late reply..
new 1.txt
new 2.txt
The app is not showing LZO compression as being enabled...

Maybe you can change the keepalive 1800 3600 to something shorter such that the peers will ping each other more often (every 10 seconds) and restart if unsuccessful (after 120 second): keepalive 10 120.
https://openvpn.net/community-resources/reference-manual-for-openvpn-2-4/

I'm trying to do this and it isn't working for me either. Does anyone have any suggestions or is there progress on this one?

is this still a thing? can this be closed? this has been without any activity for a while.

It's still happening unfortunately.
On Sun, May 26, 2019, 6:14 AM 4s3ti<EMAIL_ADDRESS>wrote:

is this still a thing? can this be closed? this has been without any
activity for a while.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/pivpn/pivpn/issues/646?email_source=notifications&email_token=AK3W3K5LR6PSUESYKATQY4DPXKEKVA5CNFSM4GH5RT72YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODWIFSBY#issuecomment-495999239,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AK3W3K6D42Y3YKWU3DI7DA3PXKEKVANCNFSM4GH5RT7Q
.

Ok thanks,
I will keep this open in case anyone knows how to help you out...
if i have time in the meanwhile i will try to pay a bit more attention to this and see if there is anything i can do to help out.
Kind Regards.

Really appreciate it.  It wasn't a problem before. Thinking of rewiping and
starting my pi build from scratch.
On Sun, May 26, 2019, 7:45 AM 4s3ti<EMAIL_ADDRESS>wrote:

Ok thanks,
I will keep this open in case anyone knows how to help you out...
if i have time in the meanwhile i will try to pay a bit more attention to
this and see if there is anything i can do to help out.
Kind Regards.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/pivpn/pivpn/issues/646?email_source=notifications&email_token=AK3W3K5RANLUMDPROPSKVLLPXKO7XA5CNFSM4GH5RT72YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODWIHHTQ#issuecomment-496006094,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AK3W3K5MB6SNWWLEPSD6JNLPXKO7XANCNFSM4GH5RT7Q
.

Finally got around to rebuilding my Pihole + pivpn set up last night.
Apart from setting it up it normally, I only made one modification and that was to tunnel DNS traffic only versus all traffic.
With the openvpn client, I've also made sure that battery saving optimizations are not turned on on my Android device.  I have a feeling that this may be the culprit but I have yet to test this theory; was battered optimization set to on for the app itself, it will drop connection or so I've read.  I'll report back once I know for sure!

I will close this then, but feel free to reopen or add updates to it anytime.


look at actual persistence length distribution before raising error

Raise error/warning looking at the actual subsampled distribution

@jan-stevens can you check if this branch also fixes #185 i.e. check that on your example the warning is printed


Add support for external files to load taps, casks and packages lists

Allow to optionally specify file lists of taps, casks and packages.
The list loaded from the files will be merged with the lists specified as variables. The merge will eliminate duplicates.
In the README file are specified the commands to generate the lists from a pre-configured machine
This is particularly helpful if you want to build a machine as a copy of your actual machine, or if you are exporting these list regularly it will help you to build a new machine with the latest set of apps and packages of your stolen or broken machine.

any idea about if/when this PR will be considered?
thanks a lot

Hello Jeff @geerlingguy , how are you doing?
In the past months, I have been working to create a tool called Splinter (like the ninja rat) that I wanted to introduce to you because I was originally inspired by your work on Mac Dev Playbook (https://github.com/geerlingguy/mac-dev-playbook), and possibly you might be interested in trying yourself this new tool of mine.
This is the GitHub home of Splinter: https://github.com/marcomc/splinter/
Splinter is a provisioning tool based on BASH and Ansible.

It takes about 15-20 minutes to create a reusable configuration (a profile).

Then it tales ~1h 15m for fully unattended provisioning.

The outcome is a Mac with (everything is modular and optional)

an admin account for the use of the support team

a new account that will request the user to change its password at the first login

Filevault encrypted filesystem

Sophos AV Endpoint installed

All the desired applications preinstalled (i.e. Chrome, Atom, MS Office, Virtualbox - you choose what)

a user's favourite system config and user preferences and dotfiles

a user's chose PIP, NPM, Ruby, Homebrew packages and formulas

.ssh_config already set to use proxy gateways

... and much much more
Among the many things it can do:

the automated installation of Sophos AV Endpoint installation

the automated activation of FileVault2 encryption with personal or institutional recovery keys

the installation of Homebrew packages and Cask formulas

setup of common settings to be set across the whole company or to keep separate configurations for your family Macs

setup of role-specific settings for each department, person or Mac

Splinter can be safely installed in your machine, it will not clutter your system because everything that it uses lives inside the project directory created during the installation (removing the project directory removes everything that has been installed). In fact, all the Python requirements for Ansible are prepacked in a Miniconda (or Pyenv) environment that lives within the Splinter project directory.
Once installed in your machines, you can configure and create a self-contained provisioning package to copy to the machine to provision.
Creating a provisioning package is not mandatory; you can run provisioning directly on your target machine on the fly if you store your custom profiles in a GitHub repository.
I have documented all its capabilities in here: https://github.com/marcomc/splinter/wiki
You will probably find most helpful the step-by-step guide I wrote to migrate to a new Mac: https://github.com/marcomc/splinter/wiki/Migrate-to-a-new-Mac
I would really appreciate if you could give it a look and send me your feedback and impressions.
Thank you for your excellent work on Ansible staff
Marco MC
PS
to make Splinter working I did extend some of your Ansible roles for Homebrew and MacAppStore, and these are the related PRs. Maybe you could give a look at them too:
https://github.com/geerlingguy/ansible-role-homebrew/pull/143
https://github.com/geerlingguy/ansible-role-mas/pull/26


Feature/add datetime validator

Requires aniso8601 lib and does reasonable, first-pass value validation for tzinfo strings

👍


Remove Vimeo.com from list

Hi,
Please remove Vimeo.com from your https://osint.digitalside.it/Threat-Intel/lists/latestdomains.txt blocklist.
It is an obvious false positive.
Thanks!

Done, sorry for the delay


x2dmaps - Better way to extract the maps

The 2d maps that are usually of interest are:

Continuum
Monochromatic
Velocity
Dispersion

Most of them can be pretty straightforward to obtain if there is only one line in the cube. The problem raises when we have more than one line in the data-cube. In that case, we will still have a single Continuum map but all the other three will have to be mapped for each line.
In order to identify if the data-cube has one or more lines, I will simply collapse (sum or average) it in x and y and look for the line positions. The window size that will be used to extract each of the maps will depend on the instrumental FWHM or the distance of the lines. This is a decision to be made or to be given as input.

Now x2dmap reads the data and collapsed it in X and Y when the fitter object is created. It also gets the position of the maximum peak but it still does not separate this peak from other possible existing ones.


BulkInsertOrUpdateAsync example needed?

I tried the below example but unfortunately, I could not achive my goal:

The job is done via Quartz (I used the [DisallowConcurrentExecution] attribute in order not to have conflicts)
the entity is

public class CallRecord: Entity
{
public override string Id { get; set; }
public virtual string CallId { get; set; }
public virtual int ServerId { get; set; }
public virtual string CallState { get; set; }
}

OnModelCreating I added the below line
modelBuilder.Entity(b =>
{
b.HasIndex(e => new { e.CallId,e.ServerId }).IsUnique();
});

On my Quartz Job every 30 seconds, I tried several versions but received error
PropertiesToIncludeOnCompare = new List
{
nameof(CallRecord.CallId),
nameof(CallRecord.ServerId)
}
// insert
await _activeCallRepository.BulkInsertOrUpdateActiveCallsAsync(records,bulkConfig);

I appreciate if you can supply a working example...
Exception:
Violation of PRIMARY KEY constraint 'PK_AppCallRecords'. Cannot insert duplicate key in object 'dbo.AppCallRecords'. The duplicate key value is (92822207-3825078396-743495910@TcomNextoneSBC3-DRC.mydomain.com-onnet_1).
The statement has been terminated.

You did not write entire code snippet for exception to be reproduced, but it is clear that you have PK conflict.
Did you change UpdateByProperties with bulkConfig, also tour PK is string which is not usual.

I chose PK as string to test direct bulkinsertorupdate since my key property is string. I tried several versions but could not achive what I wanted until now. I will try little bit more.
To clarify, my scenario is below:
The entity has two keys that which should be assumed unique together other then PK. So I would like to update in case my key values together already exists and insert otherwise.

Instead of PropertiesToIncludeOnCompare config you should use UpdateByProperties.
As said:

Did you set UpdateByProperties with bulkConfig

Example:
var bulkConfig = new BulkConfig
{
    UpdateByProperties = new List<string> { nameof(CallRecord.CallId), nameof(CallRecord.ServerId) }
};
await _activeCallRepository.BulkInsertOrUpdateActiveCallsAsync(records,bulkConfig);


is the verilog version 100% same as vhdl version?

hi. is the verilog version 100% same as vhdl version?
thanks

It should be. Particularly, using yosys + ghdl-yosys-plug-in should produce the same "optimised synthesis" (the same hardware circuit) result as executing ghdl synth and then running yosys on the verilog.
However, the verilog output of ghdl synth is not the same as the VHDL sources of this repo. That is because VHDL sources are "pre-elaboration" and the verilog output is "post-elaboration". All the generics are resolved and fixed after elaboraron, so they cannot be modified in the synthesis output (be it verilog or VHDL). In order to change their values, the design needs to be synthesized again.

@umarcor great explanation! 👍
I have tested the original VHDL version and the converted Verilog version on a FPGA. The Verilog version works just fine - so they're functional identical. However, the generated Verilog code requires slightly more resources than the original VHDL version (see Evaluation).


Swift 4 support

Description

Motivation and Context

How Has This Been Tested?

Checklist:

[ ] I have submitted a CLA form
[ ] If applicable, I have updated the documentation accordingly.
[ ] If applicable, I have added tests to cover my changes.

https://swift.org/blog/swift-package-manager-manifest-api-redesign/
The rename puts the source files in a folder called SSLService. This is the default folder path Swift 4 PM looks for when trying to find the target. Without this, it fails. A custom target path can be defined but I thought changing the package's layout to use the default layout Swift 4 PM looks for was a better solution. Thoughts?

This will not work on Linux, working on fix.

The latest push compile on Linux, but breaks looking for OpenSSL. OpenSSL will need to be updated for Swift 4 support first. I'll also add Swift 4 Travis builds when this happens.

IBM-Swift/Kitura#1121


[Fix #6393] Add AllowBracesOnProceduralOneLiners option to fine-tune behavior of Style/BlockDelimiters

This PR add the AllowBracesOnProceduralOneLiners option to the semantic style of Style/BlockDelimiters, in order to let the user specify that they want to allow braces on procedural one-line blocks but otherwise follow semantic block delimiters.

Thanks for working on this! I really appreciate it! 🙇And sorry for the (extremely) slow turnaround!


SSO usiing owin

How to expose individual acs url for respective idp in single sp using kentor.authservice

This project is not the relevant place to ask this question.


Stricter dependency/security review / Do not use AWS internal image(s)

Add new GH action for dependency review
Add new GH action for govulncheck
Use community distroless image
It's ok to use the golang image proxied via public ecr

/assign @nckturner @nnmin-aws

/lgtm

What's the difference between the eks-distro and the community image?

/approve


Do not crash on argument counter of zero

Check before calling xstrdup, which does not accept a NULL pointer,
whether argv[0] is actually set.

Merged. Thank you!


Release/v1.5 - Specifications

Redid the specifications.
Now specifications are always absolute URIs.
Some checks were removed because they don't make sense if specifications are HTTPS URLs instead of a custom scheme. The removed checks were:

allowed_project: we don't have the concept of project anymore, this can still be simulated with regex and the branch-pattern check;
branch-has-specification: we don't have a short form of the specification to compare with the branch name;

:thumbsup:


nsd system current error reporting

Correct error handling for system current command in the case that there is no currently deployed revision. Right now stack trace returned, replace with understandable error message!

Closing as this is not an issue anymore


dataset link in colab doesnt work

Hi,
This link is required access permission. Could you help with it?
https://drive.google.com/drive/folders/1iW9Darrars4xc9uHq2ZnRsWoJolCcyzg?usp=sharing

Same problem from my side as well.

https://github.com/hustvl/YOLOP
There are also dataset links. I think it is the same...

Download the annotations of detection from det_annotations.
Download the annotations of drivable area segmentation from da_seg_annotations.
Download the annotations of lane line segmentation from ll_seg_annotations.https://drive.google.com/file/d/1Ge-R8NTxG1eqd4zbryFo-1Uonuh0Nxyl/view

Yes, it is the same. Thank you, I will update it soon.

The links on the main page still are not working.


Need method to get DTO suffix name from DTOClassType

Need to have it provide correct suffix that can be used in generating DTOs

fixed in release-0.10.0-alpha


[WIP] Add verifySignature implementation

This uses the correct crypto signature.
The code in place is ready for review, but I want to add a golden test before doing anything more.

I'd like to see an evaluation test too.

Wanting an evaluation tests makes me realise that we should probably provide sign and genKeys for testing purposes too.

Alright, the test suite is a bit ugly but it should do. This is ready for review.


Ntfy URL 404

Row 28 of Notifer.php is prepending the Telegram URL to the start of the Ntfy URL resulting in a 404.
$this->client->post($this->ntfyUrl, ['body' => $message]);
Hacking the following change into row 13 fixed the issue for me:
From: $this->client = new Client(['base_uri' => 'https://api.telegram.org']);
To:  $this->client = new Client(['base_uri' => '']);
Cheers

@papajbeautiful thanks for the heads up! This should now be fixed in version 2.1:
Relevant portion fixed:
elseif ($notificationService == 'Ntfy') {
                $client = new Client(); // No base URI for Ntfy; use the full URL in the post request.
                $response = $client->post($this->ntfyUrl, [
                    'body' => $message,
                    'headers' => ['Content-Type' => 'text/plain'] // Ensure correct content type for Ntfy.
                ]);
            }


[ko] Localize application-programming-interface.md

Signed-off-by: Yunkon Kim<EMAIL_ADDRESS>Describe your changes
Localize application-programming-interface.md
Related issue number or link (ex: resolves #issue-number)
https://github.com/cncf/glossary/discussions/1116#discussioncomment-5483732
Checklist before opening this PR (put x in the checkboxes)

[x] This PR does not contain plagiarism

don’t copy other people’s work unless you are quoting and contributing it to them.

[x] I have signed off on all commits

signing off (ex: git commit -s) is to affirm that commits comply DCO. If you are working locally, you could add an alias to your gitconfig by running git config --global alias.ci "commit -s".

@jongwooo 리뷰 의견 감사드립니다.
모두 반영 하였습니다 ^^

@jihoon-seo PTAL :-)


⚠ Bofrost.de has degraded performance

In 14f01bd, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 977 ms

Resolved: Bofrost.de performance has improved in 297eadd.


Update fontconfig and freetype

Motivation for this change
Update packages. Okay, truth be told: to get color emojis!
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option build-use-sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

I'm not sure why don't we use gperf as a build input and instead resort to hacks. @vcunat?

Success on x86_64-linux (full log)
Partial log (click to expand)
strip is /nix/store/ki5nz16mh8h8qngsxi6wfr38ifzi064i-binutils-2.28.1/bin/strip
stripping (with command strip and flags -S) in /nix/store/2qjckflj6hbnvnsrss4hsmsyj9nfnc60-fontconfig-2.12.6-lib/lib
patching script interpreter paths in /nix/store/2qjckflj6hbnvnsrss4hsmsyj9nfnc60-fontconfig-2.12.6-lib
checking for references to /tmp/nix-build-fontconfig-2.12.6.drv-0 in /nix/store/2qjckflj6hbnvnsrss4hsmsyj9nfnc60-fontconfig-2.12.6-lib...
shrinking RPATHs of ELF executables and libraries in /nix/store/1qfq55n6mfphl6q7px1m5frm1s4x5nwc-fontconfig-2.12.6
strip is /nix/store/ki5nz16mh8h8qngsxi6wfr38ifzi064i-binutils-2.28.1/bin/strip
patching script interpreter paths in /nix/store/1qfq55n6mfphl6q7px1m5frm1s4x5nwc-fontconfig-2.12.6
checking for references to /tmp/nix-build-fontconfig-2.12.6.drv-0 in /nix/store/1qfq55n6mfphl6q7px1m5frm1s4x5nwc-fontconfig-2.12.6...
/nix/store/3hl5a1z7gbzz2k9wyypn8alzs1gpjjjx-fontconfig-2.12.6-bin
/nix/store/pxqjnlhr35hgwcs0hszblb466svxrxif-freetype-2.9

Success on aarch64-linux (full log)
Partial log (click to expand)
strip is /nix/store/3l67pallq6xda4rgygnpaj8rhcqvzh6d-binutils-2.28.1/bin/strip
stripping (with command strip and flags -S) in /nix/store/5cqkhinjrr43cx31wa26ysk58bgcw8wh-fontconfig-2.12.6-lib/lib
patching script interpreter paths in /nix/store/5cqkhinjrr43cx31wa26ysk58bgcw8wh-fontconfig-2.12.6-lib
checking for references to /build in /nix/store/5cqkhinjrr43cx31wa26ysk58bgcw8wh-fontconfig-2.12.6-lib...
shrinking RPATHs of ELF executables and libraries in /nix/store/3y4cc9fd93k1i8snn63ci33m98yjs6ms-fontconfig-2.12.6
strip is /nix/store/3l67pallq6xda4rgygnpaj8rhcqvzh6d-binutils-2.28.1/bin/strip
patching script interpreter paths in /nix/store/3y4cc9fd93k1i8snn63ci33m98yjs6ms-fontconfig-2.12.6
checking for references to /build in /nix/store/3y4cc9fd93k1i8snn63ci33m98yjs6ms-fontconfig-2.12.6...
/nix/store/1slfr2s78fhb274ns6rgs6fpjd3f8wcf-fontconfig-2.12.6-bin
/nix/store/gnawh6jy9m5darf30a6z3gr57dj7ylbh-freetype-2.9

See also https://github.com/NixOS/nixpkgs/pull/29704 and https://github.com/NixOS/nixpkgs/pull/33995

@jtojnar Thanks, it seems I need to use search better.

We could also close the other PRs since they are inactive and outdated.

At least freetype one is not actually outdated and the other one could be easily rebased -- I usually prefer "first one wins" in this case. Either way I'm now building Firefox to test #29704 -- let's see if the issue still stands.

Reopening because I have fontconfig 2.15.6 here.

Success on aarch64-linux (full log)
Partial log (click to expand)
/nix/store/1slfr2s78fhb274ns6rgs6fpjd3f8wcf-fontconfig-2.12.6-bin
/nix/store/gnawh6jy9m5darf30a6z3gr57dj7ylbh-freetype-2.9

Success on x86_64-linux (full log)
Partial log (click to expand)
strip is /nix/store/ki5nz16mh8h8qngsxi6wfr38ifzi064i-binutils-2.28.1/bin/strip
stripping (with command strip and flags -S) in /nix/store/2qjckflj6hbnvnsrss4hsmsyj9nfnc60-fontconfig-2.12.6-lib/lib
patching script interpreter paths in /nix/store/2qjckflj6hbnvnsrss4hsmsyj9nfnc60-fontconfig-2.12.6-lib
checking for references to /tmp/nix-build-fontconfig-2.12.6.drv-0 in /nix/store/2qjckflj6hbnvnsrss4hsmsyj9nfnc60-fontconfig-2.12.6-lib...
shrinking RPATHs of ELF executables and libraries in /nix/store/1qfq55n6mfphl6q7px1m5frm1s4x5nwc-fontconfig-2.12.6
strip is /nix/store/ki5nz16mh8h8qngsxi6wfr38ifzi064i-binutils-2.28.1/bin/strip
patching script interpreter paths in /nix/store/1qfq55n6mfphl6q7px1m5frm1s4x5nwc-fontconfig-2.12.6
checking for references to /tmp/nix-build-fontconfig-2.12.6.drv-0 in /nix/store/1qfq55n6mfphl6q7px1m5frm1s4x5nwc-fontconfig-2.12.6...
/nix/store/3hl5a1z7gbzz2k9wyypn8alzs1gpjjjx-fontconfig-2.12.6-bin
/nix/store/pxqjnlhr35hgwcs0hszblb466svxrxif-freetype-2.9

@volth (Responding here as I'd like to pursue merging this one -- it has newer fontconfig) I'd like to get response from @vcunat on gperf first -- I feel I miss something otherwise it's strange we used hacks for such a long time.

Ah, wait, @vcunat has already dropped this hack in his own PR.
We can proceed then I think -- I'll merge this in couple of days unless someone objects.

The reason was general avoidance of unnecessary build-time closure bloat.  Very many packages depend on fontconfig (transitively), so every addition might be noticeable on mass rebuilds – e.g. everything having to wait on some more packages before fontconfig build starts, and everything having to rebuild if gperf is updated.

@vcunat Ah, got it. It seems gperf is updated very rarely though -- the last update was in January 2017 and before that in February 2009. It also doesn't depend on anything so I'm inclined to just use it.

I'd also remove useEncumberedCode option. If you want to retain it, it would need some care - on (not merged to master) 2.7->2.8 upgrade the patch became void, nothing depended on the option)

@volth From reading https://www.freetype.org/patents.html and ft_option.h the patch for subpixel rendering is still applicable -- what am I missing?
We'd probably want to use those patches in Chromium too, yeah (but that's out of scope of this patchset).

Success on x86_64-linux (full log)
Attempted: fontconfig, freetype, grub2
Partial log (click to expand)
wrong ELF type
wrong ELF type
wrong ELF type
wrong ELF type
wrong ELF type
wrong ELF type
wrong ELF type
wrong ELF type
wrong ELF type
moving /nix/store/0qcvz9dqgs58f8nz59ip1gdvl1n21c3q-grub-2.02/sbin/* to /nix/store/0qcvz9dqgs58f8nz59ip1gdvl1n21c3q-grub-2.02/bin

Success on x86_64-darwin (full log)
Attempted: fontconfig, freetype
The following builds were skipped because they don't evaluate on x86_64-darwin: grub2
Partial log (click to expand)
strip is /nix/store/vb6mgjqgd9h11nbv60fvrp1ls9nxck2y-cctools-binutils-darwin/bin/strip
stripping (with command strip and flags -S) in /nix/store/pigg6m8xklgrxb0lml9hb2pl82ighl81-fontconfig-2.12.6-dev/lib
patching script interpreter paths in /nix/store/pigg6m8xklgrxb0lml9hb2pl82ighl81-fontconfig-2.12.6-dev
strip is /nix/store/vb6mgjqgd9h11nbv60fvrp1ls9nxck2y-cctools-binutils-darwin/bin/strip
stripping (with command strip and flags -S) in /nix/store/vzk89phi693as3j0wnssvi5qn4pw1k3n-fontconfig-2.12.6-lib/lib
patching script interpreter paths in /nix/store/vzk89phi693as3j0wnssvi5qn4pw1k3n-fontconfig-2.12.6-lib
strip is /nix/store/vb6mgjqgd9h11nbv60fvrp1ls9nxck2y-cctools-binutils-darwin/bin/strip
patching script interpreter paths in /nix/store/6ckaayx9giijqb2n32kdrl3prbvj0g3r-fontconfig-2.12.6
/nix/store/w3bcmg4k1fvbywxv5v7dj5zw8xf6dwx3-fontconfig-2.12.6-bin
/nix/store/5fxb0wnr1343k4xxig6barl8h73a1h75-freetype-2.9

Success on aarch64-linux (full log)
Attempted: fontconfig, freetype, grub2
Partial log (click to expand)
wrong ELF type
wrong ELF type
wrong ELF type
wrong ELF type
wrong ELF type
wrong ELF type
moving /nix/store/74g9ih8diskgjv9bs4qk9v71z08jwi3x-grub-2.02/sbin/* to /nix/store/74g9ih8diskgjv9bs4qk9v71z08jwi3x-grub-2.02/bin
/nix/store/fzcsd3q4lq7qrvbhfl5nz1bl5rpgmn4c-fontconfig-2.12.6-bin
/nix/store/8ash93v9z0ils3izmhrxmrvqkigiwwwr-freetype-2.9
/nix/store/74g9ih8diskgjv9bs4qk9v71z08jwi3x-grub-2.02

@volth From reading https://www.freetype.org/patents.html and ft_option.h the patch for subpixel rendering is still applicable -- what am I missing?

For freetype 2.8 a reverse patch was required, when !useEncumberedCode, not when useEncumberedCode: https://github.com/NixOS/nixpkgs/pull/27725

@volth Ah, I see. It's interesting they reverted their behaviour to the old one now. BTW, would you like me to take your (optional) patch for disabling hinting in too?

On the second thought let's merge this now to get it into staging sooner -- we can add optional patches painlessly after that.

BTW, would you like me to take your (optional) patch for disabling hinting in too?

that's useSubpixelHinting in #27725

Now I just do
find . -type f -name ftoption.h \
  -exec sed -r -i 's/^#define TT_CONFIG_OPTION_SUBPIXEL_HINTING.*$//'   {} \; \
  -exec sed -r -i 's/^#define FT_CONFIG_OPTION_SUBPIXEL_RENDERING.*$//' {} \;

in freetype and chromium to be sure, that also overrides useEncumberedCode independent on the default.
kitty might require the patch too (https://github.com/kovidgoyal/kitty/issues/367) if you plan to bring the option to disable hinting to nixpkgs

libreoffice includes freetype-2.8.1:
https://github.com/NixOS/nixpkgs/blob/f6de73b/pkgs/applications/office/libreoffice/libreoffice-srcs.nix#L304-L305
should we bump version there ?

Bumping versions in this files will not ever lead to any desirable consequences (the makefile references exact tarball names, for example).
Switching to --with-system-freetype (maybe also for fontconfig) might be or not be a good idea, needs testing.


Error: BrowserModule has already been loaded

When the wizard exists in a sub-component (not app.component) and when lazy loading from the routing module, the BrowswerModule gets loaded twice causing the following error:

Uncaught (in promise): Error: BrowserModule has already been loaded. If you need access to common directives such as NgIf and NgFor from a lazy loaded module, import CommonModule instead.

Fixed.


serviceconfig of apiservice use k8sassist - [closed]

In GitLab by @luotian-github on May 22, 2018, 08:29
Merges updatek8s18 -> updatek8s18
serviceconfig of apiservice use k8sassist

In GitLab by @wknet123 on Nov 13, 2019, 10:59
closed


Cannot compile without ouput filename

When header and source files are separated, build without ouput filename fails.
$ eosio-cpp con.cpp
Warning, empty ricardian clause file
Warning, empty ricardian clause file
Warning, action <act> does not have a ricardian contract
Warning, action <act> does not have a ricardian contract
/usr/opt/eosio.cdt/1.6.2/bin/wasm-ld: error: duplicate symbol: con::act()
>>> defined in /tmp/con.cpp.o
>>> defined in /tmp/con.cpp.o

con.hpp
#include <eosio/eosio.hpp>

class [[eosio::contract]] con : eosio::contract {
public:
   using contract::contract;

   [[eosio::action]] void act();
};

con.cpp
#include "con.hpp"

void con::act() {
   eosio::print("ok\n");
}

Fixed by #577


Enable full customization of custom resource "info" page

Describe the problem/challenge you have
We are writing a plugin to enhance the experience working with our project's custom resources.
We want to make an "info" page for an individual custom resource. The behavior we want is basically just a way to link directly to a page which contains the custom resource data.
Some options we have:

Create a totally new page via routing and make it totally dynamically

Risk: More overhead, must create our own routing

Modify the existing custom resource "summary" tab in the custom resource view

Risk: We aren't able to remove or move the "status" card that comes by default in the "summary" tab reducing the experience/flexibility of this page
This one isn't a terrible experience and is probably what we will go with

Create a new tab in the custom resource view

Risk: This tab would not get opened upon routing to the custom resource page

Describe the solution you'd like
I think the ideal solution is the ability to link directly to a completely custom tab for a custom resource page.
Anything else you would like to add:
Alternative solutions to our problem would be fine :)
Environment:

Octant version (use octant version):

0.17.0

Kubernetes version (use kubectl version):

1.17.15

OS (macOS 10.15, Windows 10, Ubuntu 19.10 etc):

OSX 10.14.6

related #1287 .. might end up merging these and closing one as dupe OR solving them both with the same solution.


use of double quotes in JSON output from SQL server

Is there a way to remove the double quotes from the field labels when out putting to JSON from SQL server?

Is there a way to change the double quotes to single quotes around the values when out putting to JSON from SQL Server?

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

ID: ffb5c17b-c567-303f-00b8-0c8a0ad15fb5
Version Independent ID: a4ccc766-4a61-5b7a-e5dd-692e3cebb503
Content: Format Query Results as JSON with FOR JSON (SQL Server) - SQL Server
Content Source: docs/relational-databases/json/format-query-results-as-json-with-for-json-sql-server.md
Product: sql
GitHub Login: @jovanpop-msft
Microsoft Alias: jovanpop

@jsnyderDH Hello John, This Issues webpage is only for Documentation shortcomings. We cannot provide Support here. However,.....
The following links to Docs articles may be relevant. I see no way to effect the changes to the output JSON that you described.

https://docs.microsoft.com/en-us/sql/relational-databases/json/format-query-results-as-json-with-for-json-sql-server

https://docs.microsoft.com/en-us/sql/relational-databases/json/how-for-json-converts-sql-server-data-types-to-json-data-types-sql-server

https://docs.microsoft.com/en-us/sql/relational-databases/json/how-for-json-escapes-special-characters-and-control-characters-sql-server

https://docs.microsoft.com/en-us/sql/relational-databases/json/use-for-json-output-in-sql-server-and-in-client-apps-sql-server

I am now Closing this Issue #2617 .  But I may forward this concern onward to someone who might work in this area.
Thank you for submitting this Issue. We hope to hear from you again.
CC: @jovanpop-msft

@jsnyderDH Also, as a workaround you may consider
DECLARE @j1 varchar(1024);
DECLARE @j2 varchar(1024);

SET @j1 = (SELECT '42' AS A FOR JSON PATH);
PRINT @j1;

SET @j2 = (SELECT REPLACE (@j1, '"', ''));

PRINT @j2;

with output
[{"A":"42"}]
[{A:42}]


method overhaul

I found #4686 is related to multiple design caveats. I originally tried to edit small enough to support the original PR, but found this way will reduce total cost of effort about them.

Split PRs to: #4886 #4898 #4899 #4900 #4901

@moreal  This is not fully done, but could you give it a look? This is also related to PyMember design, so maybe you will be interested in.

Finally all tests pass

@seungha-kim @moreal Could you review this PR?


Pretrain - No such file or directory: lit_config.json

I'm following redpajama tutorial, and prepare_redpajama.py fails with
No such file or directory: lit_config.json
Is the tutorial missing something, should I convert the checkpoint to lit format first?

Hello @melang982
Could you provide more details?
What commands did you use, what is the error stack trace.
I'm looking at the code of prepare_redpajama.py and don't see where lit_config.json is required. So I need your help here 😄.
The more info the better.

line 150 of prepare_redpajama.py: config = Config.from_json(checkpoint_dir / "lit_config.json")

I'm so blind 🤦. Sorry for that.
Apparently yes, you need to convert to Lit format the downloaded model first:
python scripts/convert_hf_checkpoint.py --checkpoint_dir ...

Could please you try this out and report here back?

After converting it works 👍
By the way, does it use multithreading when tokenizing to binaries? Just wanted to check before creating a suggestion. It seems slower than preparing dataset with llama2c (it uses multithreading)

From what I can see, yes, it's a single-threaded process. Plus checked it on a machine with 32 cores just to be on a safe side.


Invoke virtual method error

Hey, when I try to put in a Repeater inside the accordion, I get this error:
java.lang.NullPointerException: Attempt to invoke virtual method 'int android.view.View.getImportantForAccessibility()' on a null object reference
I get this on Android, haven't tested on iOS.
Heres the full error log: http://pastebin.com/80kjR0LM
The reason I am using a repeater is because the accordion is based upon a JavaScript array, but I'm not sure of the proper way to create accordion items from code.

Fixed in 3.0


chore(dep) Upgrade to Concerto 1.0.2

Signed-off-by: Jerome Simeon<EMAIL_ADDRESS>Changes

Upgrade to latest Concerto 1.0.2 including some security vulnerability fixes

Coverage remained the same at 95.616% when pulling 1adc050f61c6e455ebbf83ebe12b672198000d34 on jeromesimeon:js-upgrade-concerto into 6ec777e03ef6966eebea0cdabc9bc13221c2ade1 on accordproject:master.


Unable to install GOG games

Issue description
It's impossible to install GOG games that are in a mojosetup shell file, due to NixOS's structure.
Is it possible to create an expression to allow this use case, or even better, the ability to emulate a "normal" Linux distribution on top of NixOS?
Steps to reproduce
Try to install the .sh setup file from a game like Besiege that GOG provides.
./besiege_en_v0_6_17054.sh
Verifying archive integrity... All good.
Uncompressing Besiege (GOG.com)  100%
Collecting info for this system...
Operating system: linux
CPU Arch: x86_64
trying mojosetup in bin/linux/x86_64
USING en_US
./startmojo.sh: line 55: /tmp/selfgz2109529507/bin/linux/x86_64/mojosetup: No such file or directory
Error: Couldn't run mojosetup
./besiege_en_v0_6_17054.sh: line 517: /bin/rm: No such file or directory

The reason the mojosetup binary fails is because it's dynamically linked to /bin64/linux-whatever.so
Technical details

system: "x86_64-linux"
host os: Linux 4.14.46, NixOS, 18.03.132545.c40fdcd26c2 (Impala)
multi-user?: yes
sandbox: yes
version: nix-env (Nix) 2.0.2
channels(root): "nixos-18.03, nixos-unstable, nixpkgs"
nixpkgs: /nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs

Actually, would it be possible to do something crazy like put Arch Linux or some other distribution into a nix expression inside the nix store? Or would I end up having to use LXC or systemd-nspawn?

@Chiiruno Can you link to their documentation for Linux where they specify what the system requirements are for a technical audience (I didn't find it immediately)?
If they do not offer that, you could ask them to provide this data on their website.
Failing all of the above, you want to do something like http://sandervanderburg.blogspot.com/2013/09/composing-fhs-compatible-chroot.html.
Generalizing all of that, I too would find it a nice feature if the following would be a shell session that actually worked out of the box on NixOS:
archlinux ls
nixos nixos --version
centos75 ls var
archlinux --shell
> Welcome to ArchLinux
$ ls

With the right hardware it is even possible to make that work for Windows and Macs.

You can install steam-run-native or steam-run and run e.g. steam-run ./besiege_en_v0_6_17054.sh. You will probably have to use steam-run to launch the installed game anyway.

@coretemp This might interest you: https://github.com/systemd/mkosi
I attempted to package it but it needs quite a bit of patching to work on NixOS, and many of its dependencies (dnf, yum, arch-install-scripts) aren't packaged yet.

I had no idea about steam-run, thank you!
As far as I can tell, the fact that this works means coretemp's question is answered.
It seems like making a gog-run might be a good idea, but may be redundant if steam-run works.
Closing since this is fixed, thanks!

You can install steam-run-native or steam-run and run e.g. steam-run ./besiege_en_v0_6_17054.sh. You will probably have to use steam-run to launch the installed game anyway.

steam-run command not found... How can I install it?
Thanks in advance

@MohammadAlsayed49 https://search.nixos.org/packages?channel=22.05&show=steam-run&from=0&size=50&sort=relevance&type=packages&query=steam-run


Next release of Crusader?

I seem to be running out of things to complain about :-) Is it time to start thinking of another release?
Here are my outstanding questions. Do you want to address any of them?

Better error message when peer can speak to server #73

Changing order of the plots colors both in GUI and in the PNG https://github.com/Zoxc/crusader/issues/64#issue-2501082035 (You have not responded to this in the past. Perhaps you are not inclined to make this change...?)

I can live with #74 and #75 in the current state.

I noticed an odd commit hash in the GUI I built just now. The client log shows [2024-09-15 10:03:46] Client version 0.2.1-dev (commit 648f15b) running. But this obviously is the latest fd4c064 because the stats are there, and the button was "Latency only". This isn't anything to hold up a new release, just a curiosity...

Thanks!

@Zoxc PS I want to emphasize that I think Crusader is getting extremely good... Thanks again

Better error message when peer can speak to server

That can probably be done after a 0.3 version.

I noticed an odd commit hash in the GUI I built just now.

The build script that fetches the Git commit runs when crusader-lib changes which didn't happen here.

Changing order of the plots colors both in GUI and in the PNG

I'd need to change the egui_plot crate for that.

These are all great answers. Do you think we're looking at a  0.3 release soon? (That would delight me, and maybe also Dave Täht, who's giving a talk on Wednesday...)
As I see it, we'd need to do the following:

No code changes (unless you know of any burning issues)
Bump the version to 0.3 (or 1.0?)
Build the releases, push to the Releases page
Update screen shots in the README showing the new version number
Publish an UNDERSTANDING.md page, with the text similar to #78 (I'd welcome your comments)
Final editorial pass over all the documentation

I could do the last three items within 24 hours of getting the new release (so I can take screen shots) Thanks

Well you got yourself a release and some plot legend reordering.

Well you got yourself a release and some plot legend reordering.

Thanks! The 0.3 release is a thing of beauty! I'd like to get comments on the documentation PR. Thanks again

PS - Crusader was mentioned a couple times at today's Linux Plumbers conference session: https://lpc.events/event/18/contributions/1967/attachments/1491/3153/State of the Bloat.pdf
Congratulations!


[chip-test] chip_sw_entropy_src_ast_rng_req

Test point name
chip_sw_entropy_src_ast_rng_req
Host side component
None
OpenTitanTool infrastructure implemented
None
Silicon Validation (SiVal)
Yes
Emulation Targets

[ ] None
[X] CW310
[X] Hyperdebug + CW310

Contact person
@vogelpi @andreaskurth
Checklist
Please fill out this checklist as items are completed. Link to PRs and issues as appropriate.

[x] Check if existing test covers most or all of this testpoint (if so, either extend said test to cover all points, or skip the next 3 checkboxes)
[x] Device-side (C) component developed
[x] Bazel build rules developed
[x] Host-side component developed
[x] HJSON test plan updated with test name (so it shows up in the dashboard)
[x] Test added to dvsim nightly regression (and passing at time of checking)
[ ] For SiVal test cases, test is running relevant FPGA or silicon regression

We need to ensure the device side component of this test is indeed running on the FPGA. The SVA-based connectivity checks cannot be covered for SiVal.

estimate 1

@vogelpi / @h-filali - I believe that this test exists - just need to link it to Bazel test in the testplan and to check it still executes.


Please, can you release new version to pip?

The current version on PyPI is 0.8.2, now I also updated this repo.
https://pypi.python.org/pypi/form_designer

Thanks for the reminder!


[WIP] [hi] Localize application-architect glossary term

Fixes https://github.com/kubernetes/website/issues/35944

/hold
Waiting for a volunteer contributor to localize the content as described in https://github.com/kubernetes/website/issues/35941

Duplicated by https://github.com/kubernetes/website/pull/36084


RFC 0193: Change coin flip algorithm

To follow PR #193, which proposes the Coin Flip Protocol, this changes the used algorithm to save one round of communication.
Basically, the Recorder provides the Caller two hashed options. One is the hash of win<salt> the other one of lose<salt>. The caller has no idea which one belongs to what. After the Caller made a blind decision, the Recorder reveals the salt and both parties can verify the result.
This is easily extendable to provide more than the given two alternatives.
I'm not sure if Coin Flip is still a good name, since we actually don't flip anything. It's just a blind choice between n alternatives. On the other hand, it still has the same intention and effect of a coin flip.

Since this is a simple enhancement to a not-yet-implemented protocol at the PROPOSED state, I believe it can be merged immediately.

This was quick - thank you!


Setup wasm build in CI

https://github.com/oxc-project/playground/actions/runs/9243460714/job/25427588601

https://oxc-playground.netlify.app/


chore/community: adds pull request template

Coverage increased (+0.08%) to 96.488% when pulling 5eae5a4c1df4dd304ee2c259f4e3e6ba595eaf98 on hunterlester:344 into eb5fabd6e2f8a6055134b343579765b78e47b530 on maidsafe:master.


docs: ignore panel css to increase main content width

doc: ignore panel css to increase main content width
Otherwise the main content ends up being weirdly small
See:
https://github.com/executablebooks/sphinx-book-theme/blob/547cc95674623345124d9bbea9e15e5b5fa34d0e/docs/conf.py#L62
https://sphinx-panels.readthedocs.io/en/latest/index.html?highlight=panels_add_bootstrap_css#sphinx-configuration
Old:

New:

Hey, cool, thanks for looking into this :)
Actually I played around a bit with this after I saw your commit https://github.com/ianhi/mpl-interactions/pull/209/commits/2122a69d518a5e4caeae290f88960a6d2280ee0e. You spotted that well, I wasn't aware of that config from sphinx-panels!
https://sphinx-panels.readthedocs.io/en/latest/index.html?highlight=panels_add_bootstrap_css#sphinx-configuration
I still have to think about this a bit though. I noticed that the pages of EPB projects all have this wider view, but I personally prefer to have texts less wide. It's for the same reason that newspapers (and many journals) write in columns: it's more convenient for reading. And if you prefer a wider view, you can collapse the left sidebar. (At the same time though, you could say readers should just make their window smaller if they prefer...)

I've this discussed your suggestion a bit in my group. They are in favour of a wider page width, so I'll merge this one. Thanks again for noting this!
To summarize:

EPB uses this width as well.
If you want a smaller page width, just make narrow your window.
Many equations in AmpForm are quite wide, so a wider page width is more suitable.


Catch JSON error raised in JRuby

JRuby seems to raise a JSON::ParserError instead of one raised by MRI,
this just expands our middleware to catch both

yeah - that was me running an incorrectly recorded jmeter script via blazemeter. Nice to not have it 500.

Ah cool I wondered what that was coming from.

FYI - I'm trying to add comments to honeybadger errors.


Use mut ref device ref to save stack space

Remove type annotations no longer needed on states
Session state no longer depends on Device type
Shared state is stored in Device rather than on stack instead of as
part of session state

The advantages with this change is:

Device no longer need to be moved when processing events, while session state is replaced correctly. I find this more ergonomic, and it still allows user to move the type if desirable
Stack usage on a simple join example is reduced from 7.34kB to 4.69kB, static usage remains the same
Flash usage reduced by 3kB
This is a prereq for async support, where the size of the futures will include all owned state like Shared, which is avoided with this change.

Wow those are some serious memory improvements - well done!
I need to spend some time getting a feel for how this affects the API but had time for a quick glance right now. The  struct Device { .. state: Option<State> } concerns me a bit at first glance.

Wow those are some serious memory improvements - well done!
I need to spend some time getting a feel for how this affects the API but had time for a quick glance right now. The  struct Device { .. state: Option<State> } concerns me a bit at first glance.

Yeah, I was not able to avoid it. The main reason is to avoid making State derive Copy/Clone which could have even worse impact. I think using Option this way is necessary because the session and the states takes self instead of &mut self. I could change that as well, but I think there is merit to the current "consume self return different type" style to avoid accidental bugs in the implementation. For the Device itself though, I think not consuming self is fine: only a single point modifies the internal state.
The handle_event fn's now bear the parameterization and also is passed a &mut Shared within the state handling, and this is the primary reason for reduced stack usage.
I found that in my use, the code becomes simpler:

Wow, this is some really important improvement, indeed! Thank you a lot for this work! It looks good to me at first read. @lthiery , if you have any concerns, please let us know, otherwise I intend to check it again and merge it in a few days.

I think using Option this way is necessary because the session and the states takes self instead of &mut self.

This makes a lot of sense. I still wonder if there's a way for state to not take self instead of &mut self but I remember struggling with it quite a bit and not finding a better solution. It feels bad that that shortcoming now forces us to reach for Option, but I think that these improvements are significant enough that we can deal with it. Maybe sometime in the future, the self/&mut self issue can be resolved.
Of course, maybe it will not be resolved and we transition to Ulf's async efforts instead. As he mentions, the compiler builds the state machine for you so much of the current state machine design becomes obsolete in that case.
However, I have not been paying enough attention to Rusts's embedded async development to understand whether there will ever be reasonable reason to hold out against it (and thus whether we should envision maintaining a non-async version of the device stack alongside an async one). My gut tells me that for very resource constrained folks, a very lean embedded runtime will exist, because Rust, but time will tell on that.

I think using Option this way is necessary because the session and the states takes self instead of &mut self.

...
However, I have not been paying enough attention to Rusts's embedded async development to understand whether there will ever be reasonable reason to hold out against it (and thus whether we should envision maintaining a non-async version of the device stack alongside an async one). My gut tells me that for very resource constrained folks, a very lean embedded runtime will exist, because Rust, but time will tell on that.

We're using embassy, which is developed by collaborators across the Rust embedded community.
However, I don't see the async-await implementation replacing a non-async version, primarily because of the requirement of an async runtime, and there will be developers who prefer not using async-await, or simply have stricter requirements.
So my take would be that lorwawan-device can offer both options, and we can try to share as much code between these implementations as possible.

However, I don't see the async-await implementation replacing a non-async version, primarily because of the requirement of an async runtime, and there will be developers who prefer not using async-await, or simply have stricter requirements.

That sounds reasonable. It will be an interesting exercise then to maintain both and maximize code sharing. I wonder if there's a clever way to invert an async driven design into an sync one.

However, I don't see the async-await implementation replacing a non-async version, primarily because of the requirement of an async runtime, and there will be developers who prefer not using async-await, or simply have stricter requirements.

That sounds reasonable. It will be an interesting exercise then to maintain both and maximize code sharing. I wonder if there's a clever way to invert an async driven design into an sync one.

You can write an executor that just blocks/continously polls a future until completion  (I.e block_on macro from futures crate), but that would  be inefficient and not work if you need some other task to run in order to signal the future that data is ready  for instance, because the executor can only run one future to completion.
Another approach would be to write Future implementations manually, but that is a really hard programming model which I wouldn't really recommend.
I tried to see if I could use macros for this, but even that is really hard.
Agreed it's annoying to duplicate code, but I think the alternatives are worse right now.

Agreed it's annoying to duplicate code, but I think the alternatives are worse right now.

Yeah, I can see that... trying to be too clever might not work out and may become unwieldy. I think the simple next step is just to try do incremental refactoring to promote more code-sharing between the state-machine and async-await implementations.


Updated space complexity in comments

Updated space complexity to O(n) in thoughts section.

Discussed here #60


add fengfeng

Since the PR is not updated for too long, it is temporarily closed. If you want to continue to participate in Startrek, please apply again.


Play Button Not Shown on Android 10 emulator

When i create a VoiceMessage Widget with URL and try to play voice on tap nothing happens and play button is not shown on widget

Hello, sorry for the late response. I'll check it.

Hey, can you send more information about your code & use case of this package?


Documentation Inconsistent for Sparse Embedding symbol API

Note: Providing complete information in the most concise form is the best way to get help. This issue template serves as the checklist for essential information to most of the technical issues and bug reports. For non-technical issues and feature requests, feel free to present the information in what you believe is the best form.
For Q & A and discussion, please start a discussion thread at https://discuss.mxnet.io
Description
Hello, I am using the sparse Embedding symbol API. As per the documentation here

mx.sym.Embedding(data, weight, input_dim, output_dim, sparse_grad=True)

I get incorrect argument error for sparse_grad
The documentation on the contrib API mentions that contrib.SparseEmbedding has been deprecated and Embedding should be used instead - but it results in the above mentioned error
Environment info (Required)
----------Python Info----------
Version      : 3.6.2
Compiler     : GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.57)
Build        : ('default', 'Jul 20 2017 13:14:59')
Arch         : ('64bit', '')
------------Pip Info-----------
Version      : 10.0.1
Directory    : /anaconda2/envs/test/lib/python3.6/site-packages/pip
----------MXNet Info-----------
Version      : 1.2.1
Directory    : /anaconda2/envs/test/lib/python3.6/site-packages/mxnet
Commit Hash   : 106391a1f0ee012b1ea38764d711e76774ce77e1
----------System Info----------
Platform     : Darwin-16.7.0-x86_64-i386-64bit
system       : Darwin
node         : 186590d284e1.ant.amazon.com
release      : 16.7.0
version      : Darwin Kernel Version 16.7.0: Thu Jun 21 20:07:39 PDT 2018; root:xnu-3789.73.14~1/RELEASE_X86_64
----------Hardware Info----------
machine      : x86_64
processor    : i386
b'machdep.cpu.extfeatures: SYSCALL XD 1GBPAGE EM64T LAHF LZCNT PREFETCHW RDTSCP TSCI'
b'machdep.cpu.leaf7_features: SMEP ERMS RDWRFSGS TSC_THREAD_OFFSET BMI1 AVX2 BMI2 INVPCID SMAP RDSEED ADX IPT FPU_CSDS'
b'machdep.cpu.features: FPU VME DE PSE TSC MSR PAE MCE CX8 APIC SEP MTRR PGE MCA CMOV PAT PSE36 CLFSH DS ACPI MMX FXSR SSE SSE2 SS HTT TM PBE SSE3 PCLMULQDQ DTES64 MON DSCPL VMX EST TM2 SSSE3 FMA CX16 TPR PDCM SSE4.1 SSE4.2 x2APIC MOVBE POPCNT AES PCID XSAVE OSXSAVE SEGLIM64 TSCTMR AVX1.0 RDRAND F16C'
b'machdep.cpu.brand_string: Intel(R) Core(TM) i7-5557U CPU @ 3.10GHz'
----------Network Test----------
Setting timeout: 10
Timing for MXNet: https://github.com/apache/incubator-mxnet, DNS: 0.0165 sec, LOAD: 0.5148 sec.
Timing for Gluon Tutorial(en): http://gluon.mxnet.io, DNS: 0.0222 sec, LOAD: 0.2490 sec.
Timing for Gluon Tutorial(cn): https://zh.gluon.ai, DNS: 0.0266 sec, LOAD: 0.2472 sec.
Timing for FashionMNIST: https://apache-mxnet.s3-accelerate.dualstack.amazonaws.com/gluon/dataset/fashion-mnist/train-labels-idx1-ubyte.gz, DNS: 0.0222 sec, LOAD: 0.4398 sec.
Timing for PYPI: https://pypi.python.org/pypi/pip, DNS: 0.0122 sec, LOAD: 0.4293 sec.
Timing for Conda: https://repo.continuum.io/pkgs/free/, DNS: 0.0206 sec, LOAD: 0.1459 sec.

Package used (Python/R/Scala/Julia):
(I'm using ...)
For Scala user, please provide:

Java version: (java -version)
Maven version: (mvn -version)
Scala runtime if applicable: (scala -version)

For R user, please provide R sessionInfo():
Build info (Required if built from source)
Compiler (gcc/clang/mingw/visual studio):
MXNet commit hash:
(Paste the output of git rev-parse HEAD here.)
Build config:
(Paste the content of config.mk, or the build command.)
Error Message:
`
k_S = K.embedding(test_sparse_data, test_sparse_weight, 4, 5, sparse_grad=True)
tests/keras/backend/mxnet_sparse_test.py:137:

keras/backend/mxnet_backend.py:89: in func_wrapper
train_symbol = func(*args, **kwargs)
keras/backend/mxnet_backend.py:1213: in embedding
sym = mx.sym.contrib.SparseEmbedding(data, weight=weight, input_dim=input_dim, output_dim=output_dim, deterministic=True, sparse_grad=sparse_grad)
:105: in SparseEmbedding
???
/anaconda2/lib/python2.7/site-packages/mxnet/_ctypes/symbol.py:125: in _symbol_creator
ctypes.byref(sym_handle)))

ret = -1
def check_call(ret):
    """Check the return value of C API call.

    This function will raise an exception when an error occurs.
    Wrap every API call with this function.

    Parameters
    ----------
    ret : int
        return value from API calls.
    """
    if ret != 0:

      raise MXNetError(py_str(_LIB.MXGetLastError()))

       MXNetError: Cannot find argument 'sparse_grad', Possible Arguments:
       ----------------
       input_dim : int, required
           Vocabulary size of the input indices.
       output_dim : int, required
           Dimension of the embedding vectors.
       dtype : {'float16', 'float32', 'float64', 'int32', 'uint8'},optional, default='float32'
           Data type of weight.
       deterministic : boolean, optional, default=0
           Force the backward gradient calculation to be executed based on a deterministic order at the cost of slower speed.
      , in operator _contrib_SparseEmbedding(name="", output_dim="5", input_dim="4", deterministic="True", sparse_grad="True")

/anaconda2/lib/python2.7/site-packages/mxnet/base.py:149: MXNetError
`
Minimum reproducible example
(If you are using your own code, please provide a short script that reproduces the error. Otherwise, please provide link to the existing example.)
Error can be reproduced by doing something similar to this
What have you tried to solve it?

Using mxnet.contrib.SparseEmbedding() currently

Could you please let us know what is the right API definition and update the documentation accordingly?

I upgraded the mxnet version by running pip install mxnet --pre --upgrade and the above error still persists.
System Config -
----------Python Info----------
Version      : 3.6.2
Compiler     : GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.57)
Build        : ('default', 'Jul 20 2017 13:14:59')
Arch         : ('64bit', '')
------------Pip Info-----------
Version      : 10.0.1
Directory    : /anaconda2/envs/test/lib/python3.6/site-packages/pip
----------MXNet Info-----------
Version      : 1.3.0
Directory    : /anaconda2/envs/test/lib/python3.6/site-packages/mxnet
Commit Hash   : e290623f621ff0ca631b73b74c82956a83e77aea
----------System Info----------
Platform     : Darwin-16.7.0-x86_64-i386-64bit
system       : Darwin
node         : 186590d284e1.ant.amazon.com
release      : 16.7.0
version      : Darwin Kernel Version 16.7.0: Thu Jun 21 20:07:39 PDT 2018; root:xnu-3789.73.14~1/RELEASE_X86_64
----------Hardware Info----------
machine      : x86_64
processor    : i386
b'machdep.cpu.extfeatures: SYSCALL XD 1GBPAGE EM64T LAHF LZCNT PREFETCHW RDTSCP TSCI'
b'machdep.cpu.leaf7_features: SMEP ERMS RDWRFSGS TSC_THREAD_OFFSET BMI1 AVX2 BMI2 INVPCID SMAP RDSEED ADX IPT FPU_CSDS'
b'machdep.cpu.features: FPU VME DE PSE TSC MSR PAE MCE CX8 APIC SEP MTRR PGE MCA CMOV PAT PSE36 CLFSH DS ACPI MMX FXSR SSE SSE2 SS HTT TM PBE SSE3 PCLMULQDQ DTES64 MON DSCPL VMX EST TM2 SSSE3 FMA CX16 TPR PDCM SSE4.1 SSE4.2 x2APIC MOVBE POPCNT AES PCID XSAVE OSXSAVE SEGLIM64 TSCTMR AVX1.0 RDRAND F16C'
b'machdep.cpu.brand_string: Intel(R) Core(TM) i7-5557U CPU @ 3.10GHz'
----------Network Test----------
Setting timeout: 10
Timing for MXNet: https://github.com/apache/incubator-mxnet, DNS: 0.0133 sec, LOAD: 0.4970 sec.
Timing for Gluon Tutorial(en): http://gluon.mxnet.io, DNS: 0.0243 sec, LOAD: 0.3365 sec.
Timing for Gluon Tutorial(cn): https://zh.gluon.ai, DNS: 0.0398 sec, LOAD: 0.2375 sec.
Timing for FashionMNIST: https://apache-mxnet.s3-accelerate.dualstack.amazonaws.com/gluon/dataset/fashion-mnist/train-labels-idx1-ubyte.gz, DNS: 0.0398 sec, LOAD: 0.3687 sec.
Timing for PYPI: https://pypi.python.org/pypi/pip, DNS: 0.0119 sec, LOAD: 0.6777 sec.
Timing for Conda: https://repo.continuum.io/pkgs/free/, DNS: 0.0193 sec, LOAD: 0.1858 sec.

I noticed that changes were made to deprecate contrib.SparseEmbedding on May 7 - they are somehow not reflecting in the latest PIP package.

Hi I cannot reproduce it with the following code:
pip list | grep mxnet
mxnet (1.3.0b20180826)

Python 2.7.13 (default, Dec 18 2016, 07:03:39)
[GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-8<IP_ADDRESS>)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import mxnet as mx
>>> data = mx.sym.var('data')
>>> weight = mx.sym.var('weight')
>>> input_dim = 1
>>> output_dim = 1
>>> embed = mx.sym.Embedding(data, weight, input_dim, output_dim, sparse_grad=True)
>>> embed
<Symbol embedding0>
>>> embed = mx.sym.Embedding(data, weight, input_dim, output_dim, sparse_grad=False)
>>> embed
<Symbol embedding1>

Hi, as discussed offline this requires upgrading to the latest version of mxnet v1.3 which I installed using pip install mxnet --pre --upgrade for both python2 and python3. Closing this issue at the moment - will wait for the new PIP package to be released to use this API with Keras.


Update Performance Analyzer to support ElasticSearch version 7.3.2

Description of changes:

Updated the ES and OD versions in build.gradle
Updated the Gradle version
Modified WhoAmIAction to extend ActionType and CollectMetricsTests based on changes in ES

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

@ktkrg @palashhedau Please review.


Prepare for Awesome List submission

Every item needs to have the following things at a minimum.

Bootstrap Version
Name
Description
License

For themes they need to have screenshots.
Once this has been done we can resubmit to be included on the awesome-list master repo.

Good list of badges for licenses: https://gist.github.com/lukas-h/2a5d00690736b4c3a7ba

New commit 158d795f2e86cb20a3bc4c00cae98582c1e95485 shows new layout for themes.

finished with commit 9547022eb4f5c52d82249605f66923e88708562f


Error: Net::SMTPAuthenticationError (503 5.5.1 Error: authentication not enabled )

I have configured SMTP in /opt/postal/config/postal.yml to send tolocalhost on port 25 using a username and password  created from postal web admin interface. When I try to send email with postal test-app-smtp<EMAIL_ADDRESS>I get following error Error: Net::SMTPAuthenticationError (503 5.5.1 Error: authentication not enabled ). Can you point me to the right direction?

@willpower232 any idea why smtp is not running on port 2525? No other services are running such as postfix.

We run Postal primarily on port 25 and use iptables to allow access from 2525 to get around various blocks.
Have a look at https://github.com/atech/postal/issues/565
Have you tried using netstat -lnp to see which ports are being used on the server?


Provide a 'high confidence'/ 'fool-proof' GAF

Draft specs:

remove candidate functions
remove HTP
remove NOT
remove ‘contributes to'
remove ‘colocalizes with'

Can we also look into:

remove any regulation BP IMP where there is no MF annotation at all?
remove annotations under review

We also need a good name for that file ;)
We need to finalize the specs. Who would like to contribute ?
Thanks, Pascale

@cmungall
Right - I don't think we can already give specs for this. I think this will depend on the outcome of the individual MOD's ability to move to 'involved in'. If we loose all BPs that could be a problem.
@vanaukenk it may be time to survey all MODs for their strategy here?
Thanks, Pascale

I think we need to consider not only the MODs but also the users ability to
use the data files given their current scripts.
On Fri, Mar 30, 2018 at 4:59 AM, pgaudet<EMAIL_ADDRESS>wrote:

@cmungall https://github.com/cmungall
Right - I don't think we can already give specs for this. I think this
will depend on the outcome of the individual MOD's ability to move to
'involved in'. If we loose all BPs that could be a problem.
@vanaukenk https://github.com/vanaukenk it may be time to survey all
MODs for their strategy here?
Thanks, Pascale
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/geneontology/go-ontology/issues/15498#issuecomment-377482473,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AFE11-0Ter0xGdQAdqtE9JY8vlXH7JDPks5tjfP2gaJpZM4S_5TJ
.

--
Judy

While I can see your point @pgaudet for saying that most of the things you list might not belong in a high confidence GAF, I don't agree that "contributes to" annotations should be removed since this will end up in removing function annotations for gene products that are part of complexes where there is no single catalytic subunit such as the multisubunit RNA polymerase enzymes.

Hi @pgaudet,
I have a couple of questions:
What about annotations based on sequence similarity or mass-transfer pipelines, IEA and IBA evidenced?
What is the use-case for this file? Could be problematic in enrichment if these files are quite thin.

@pgaudet - do you want to move this ticket to the annotation tracker?
There is a lot to discuss here.
I think it would be informative to get some numbers on if/how annotations and subsequent analyses, e.g. enrichment, will be affected by the proposed changes.

This is probably better housed on the annotation tracker. I am a bit concerned about how we define 'fool proof'. What does that mean?

This issue was moved to geneontology/go-annotation#1932


Update and deploy demo application

Currently, the demo app is used for quick validation of changes to the component. I use Parcel during development to make running this application simple.
I should get a slightly more solid build process in place for the demo application, and deploy it so that potential users of the component can view a visual and interactive demonstration of the component's capabilities. The app as it current stands is pretty much complete for this purpose, but I would also really like to add a way that a user of the demo app could set the cf-theme CSS variables to demonstrate the customization features of the component and try out their own color schemes easily.

Might be worth looking at Storybook and Styleguidist for this purpose.


[ImpedanceGains] add non-const accessor for linear and angular components.

This PR adds non-const accessors for linear and angular components.
sva::ImpedanceVec has such non-const accessors and MotionVec and ForceVec also have them.
Although we can use dedicated methods for setting, I think it is better not to make the user aware of whether the variable type is sva::ImpedanceVec or mc_task::force::details::ImpedanceGains.
For example, I got errors for trying to do the followings:
https://github.com/mmurooka/lipm_walking_controller/commit/7a8077bec37c1c70d2759969008a3ffbe866ceef#diff-f4fbeea4b63e412bddd0f182371772659860606ffad8099358d6a92550982d65R446
https://github.com/mmurooka/lipm_walking_controller/commit/7a8077bec37c1c70d2759969008a3ffbe866ceef#diff-f4fbeea4b63e412bddd0f182371772659860606ffad8099358d6a92550982d65R458

Hi @mmurooka
I purposefully didn't add non-const accessors to make sure the gains values are positive (or strictly positive if required)
In your examples, you can change:
imp_tasks_.at(arm)->gains().M().linear().setConstant(v[0]);

with
imp_tasks_.at(arm)->gains().M().linear(v[0]);

As there is an API to set the linear and/or angular gains to a uniform value
And:
imp_tasks_.at(arm)->gains().M().linear()[2] = v[0];

with:
auto linear = imp_tasks_.at(arm)->gains().M().linear();
linear.z() = v[0];
imp_tasks_.at(arm)->gains().M().linear(linear);

Maybe we can introduce a simple API to set individual gains (with clamping) more easily, such that we could write:
imp_task_.at(arm)->gains().M().vz(v[0]);
// with similar api for wx/wy/wz and vx/vy

Hi @mmurooka
I purposefully didn't add non-const accessors to make sure the gains values are positive (or strictly positive if required)
In your examples, you can change:
imp_tasks_.at(arm)->gains().M().linear().setConstant(v[0]);

with
imp_tasks_.at(arm)->gains().M().linear(v[0]);

As there is an API to set the linear and/or angular gains to a uniform value
And:
imp_tasks_.at(arm)->gains().M().linear()[2] = v[0];

with:
auto linear = imp_tasks_.at(arm)->gains().M().linear();
linear.z() = v[0];
imp_tasks_.at(arm)->gains().M().linear(linear);

Maybe we can introduce a simple API to set individual gains (with clamping) more easily, such that we could write:
imp_task_.at(arm)->gains().M().vz(v[0]);
// with similar api for wx/wy/wz and vx/vy

to make sure the gains values are positive (or strictly positive if required)

@gergondet, thanks for reply. I had missed that point. Then, it is enough to modify my codes like your suggestion, so I close this Pull Request.

to make sure the gains values are positive (or strictly positive if required)

@gergondet, thanks for reply. I had missed that point. Then, it is enough to modify my codes like your suggestion, so I close this Pull Request.


The delegate should be weak otherwise the UITextView could not be rel…

…eased as there's someone holding reference to it

Can't believe I missed that.  Thanks for this.