JDBC - Add ConnectionProperties and IncludedFields support

This is PR 1 of 3 as replacement for https://github.com/youtube/vitess/pull/2455
I will submit followup PRs to add support for mysql metadata in VitessResultSet, and character encoding support.
This PR adds the foundational addition of ConnectionProperties. The idea here is to provide a lasting home for more explicit configuration options of the driver. I moved all non-host-related configs into here (leaving host, keyspace, password, etc in the VitessJdbcUrl class).
The bulk of the line changes here are passing the IncludedFields option down through all the various functions and tests.
@ashudeep-sharma

@ashudeep-sharma I have another PR ready but have not submitted it yet so we can focus on this one first. Let me know if you'd like me to submit it anyway, the diff will not be simplified much until this one is merged.

Overall the changes looks good. I have some minor comments , can you please incorporate those? I am assuming you have run the code coverage as well just to make sure that most of the scenarios have been covered.

Reviewed 24 of 24 files at r1.
Review status: all files reviewed at latest revision, 9 unresolved discussions.

java/client/src/test/java/com/youtube/vitess/client/RpcClientTest.java, line 149 at r1 (raw file):

    Assert.assertEquals(BIND_VARS_ECHO, echo.get("bindVars"));
    Assert.assertEquals(TABLET_TYPE_ECHO, echo.get("tabletType"));

Do we need to check for ALL_FIELDS values here in this test as well as other test-cases?

java/hadoop/src/main/java/com/youtube/vitess/hadoop/VitessConf.java, line 107 at r1 (raw file):
Previously, bbeaudreault (Bryan Beaudreault) wrote…
It will work as is, but any hadoop jobs launched in the meantime will use the default value for Includedfields. They can still call this setter directly, if they want.

Alright lets plan it in a different PR.

java/jdbc/src/main/java/com/flipkart/vitess/jdbc/ConnectionProperties.java, line 15 at r1 (raw file):

import java.util.Arrays;
import java.util.Properties;

Are com.flipkart.vitess.util.StringUtils and java.io.UnsupportedEncodingException being used anywhere in the code?

java/jdbc/src/main/java/com/flipkart/vitess/jdbc/ConnectionProperties.java, line 68 at r1 (raw file):

            try {
                ConnectionProperty propToSet = (ConnectionProperty) propertyField.get(this);

Remove NewLine here

java/jdbc/src/main/java/com/flipkart/vitess/jdbc/ConnectionProperties.java, line 319 at r1 (raw file):

        }
    }
}

There are some extra Newlines in this file. Can you please remove those?

java/jdbc/src/main/java/com/flipkart/vitess/jdbc/VitessDriver.java, line 54 at r1 (raw file):

    /**
     * @param url  - Connection Url

It would be great to give a sample example of what a Connection Url will look like with propertyInfo.

java/jdbc/src/test/java/com/flipkart/vitess/jdbc/BaseTest.java, line 10 at r1 (raw file):

public class BaseTest {
    String dbURL = "jdbc:vitess://locahost:9000/vt_shipment/shipment";

Can we be generic in this example? Most of the statements in doc refer to keyspace? so can we use jdbc:vitess://locahost:9000/vt_keyspace/keyspace ? I think the shipment example is used because of the sample use-case that we consider in Flipkart :) .

java/jdbc/src/test/java/com/flipkart/vitess/jdbc/BaseTest.java, line 14 at r1 (raw file):

    @BeforeClass
    public static void setUp() {
        // load Vitess driver

The comment is implicit and can be removed.

java/jdbc/src/test/java/com/flipkart/vitess/jdbc/VitessConnectionTest.java, line 197 at r1 (raw file):

    @Test public void testPropertiesFromJdbcUrl() throws SQLException {
        String url = "jdbc:vitess://locahost:9000/vt_shipment/shipment?TABLET_TYPE=replica&includedFields=type_and_name";

Please change shipment to keyspace or testDatabase.

Comments from Reviewable

@ashudeep-sharma thanks for the review! I've pushed a new commit with all comments addressed

I have ran test coverage and all the new code is well covered. ConnectionProperties is 88%, but will be 100% once we work on the next PR -- the discrepancy is due to no current usages of StringConnectionProperty, which will be added and tested when I add encodings in the followup PR.

Looks good overall, just one minor comment either make the connection URL as
jdbc:vitess://locahost:9000/vt_keyspace/keyspace or jdbc:vitess://locahost:9000/vt_testDatabase/testDatabase
After that we can merge it.

Reviewed 6 of 6 files at r2.
Review status: all files reviewed at latest revision, 10 unresolved discussions.

java/jdbc/src/test/java/com/flipkart/vitess/jdbc/BaseTest.java, line 10 at r2 (raw file):

public class BaseTest {
    String dbURL = "jdbc:vitess://locahost:9000/vt_keyspace/testDatabase";

It should be jdbc:vitess://locahost:9000/vt_keyspace/keyspace , Its an internal convention that vitess by default appends vt_ to the keyspace name so both of them should be similar.

Comments from Reviewable

@ashudeep-sharma alright, fixed! Thanks again. I'll post the other PR once this one merges.
@alainjobart @sougou can one of you merge when you get a chance?

Review status: 22 of 24 files reviewed at latest revision, 10 unresolved discussions.

Comments from Reviewable

Reviewed 2 of 2 files at r3.
Review status: all files reviewed at latest revision, 10 unresolved discussions.

Comments from Reviewable

LGTM


Add ability to make own class awaitable

It would be good to allow developers to make their own classes awaitable, kind of like C# does where you can add a GetAwaiter method. Something similar in Dart could be a useful addition. For example it could make the following code simpler by removing the need to call the execute method.
await page.enterText("#id","").click("#btn").verify((p)=>).execute();

It's an interesting idea.
Currently any class can implement Future, but that's not what you want here. What you want, if I understand it correctly, is more like the relation between Iterable and Iterator, where Future is the Iterator - a way to request an operation to start and return a future representing its result.
Type-wise it's harder to explain in Dart. An await e is already valid for any type (because you can await values, which makes FutureOr<int> result = ...; await result; meaningful.
It could either be static-type-based (only trigger when the static type is an awaitable class type that cannot be a future), or dynamic (each await checks the type the value - if it's a Future, it's awaited directly, if it's awaitable, it's started and the result future is awaited, otherwise it's just completed).
All in all, if it's not purely static-type based, I fear that it will just cause an extra overhead on all awaits.
I'm not sure it's a feature that carries its own weight. It makes the story around awaiting and futures more complicated without providing any actual expressive strength (you can always just do .awaiter yourself). If you are writing a DSL, the briefness is nice, but for most normal code, it's unlikely to make a big difference (most async operations just return a future).

This would be an implicit "convert to future" operation, which would be triggered by await.
It's probably more readable to just have a Future<void> run() method, and do await ...run().
It makes it clear where the asynchronous operation starts.


phpci:update command broken

During the upgrade process, when running the ./console phpci:update command the following error is triggered:
Column already exists: 1060 Duplicate column name 'ssh_private_key'
This is when upgrading from 1.5.x to 1.6.0, but I've also seen this command failing on all other upgrades I've done over the past 6 months. I cannot remember if the error is the same.

Looks like the migration files need some love, not same but related to #818


Specify behavior for records and sealed types

Records and sealed types are valid bean types, but they are unproxyable. Further, sealed classes are not managed beans; their permitted subclasses are, unless they are themselves also sealed.

This is a proposal for discussion, but I believe it's good enough.
I previously mentioned that we could make normal scoped records a definition error, but I figured it would be easier to just specify that they are unproxyable, which leads to a deployment problem. I didn't want to go through the same exercise with sealed types :-)

Writing TCK tests for this is problematic as long as the TCK is compiled for Java 11. I'm not sure how to solve that problem.
We can leave records and sealed types unspecified in CDI 4.1 and only specify them in CDI 5.0, where we could bump the Java version.

One open question: should non-abstract sealed classes be managed beans? I opted into no, because it felt like the right thing to do, but I don't think there's anything fundamental preventing that from working. It's just that trying to inject it would likely lead to unresolved ambiguity, because all permitted subclasses of that class would have it among their bean types.

It's just that trying to inject it would likely lead to unresolved ambiguity, because all permitted subclasses of that class would have it among their bean types.

Generally, I don't think there is much use for sealed classes as beans.
That being said, permitted subclasses can still use qualifiers to differentiate the impl, right?
Which then makes the use case equivalent to using interface as bean type and qualifiers on top to tell various impl apart and from that perspective, it would still be usable :shrug:

That is correct, yes.

I think I'd lean towards just reiterating how the existing rules apply to records and sealed classes, so that there aren't new rules to remember.

Records generally won't be managed beans because they don't have a no-arg constructor or a constructor annotated @Inject, but we don't need to explicitly say that they aren't
Records are final so they're unproxyable
Sealed classes can't be arbitrarily extended so they're unproxyable

While I can't see a use case for a non-abstract sealed class being a managed bean, I also don't see a reason to have a special case to make it not be a managed bean. It also won't be discovered unless it has a scope annotation or the discovery mode is all.

Good point, I agree that we shouldn't impose additional rules other than what already falls out from the existing rules and new JLS/JVMS rules. I amended the PR.

Removed references to records, because records are a restricted form of classes that are always final, so we technically don't have to call them out at all.


C# Language Grammar not recognizing value or default contextual keywords

Contextual keywords such as default (without type parameter) or value (in property setters) are not recognized as keywords by the grammar engine. I expected that they would get special grammar scopes such as this and base do, but currently they are just marked under the scope of "variable.other.readwrite.cs" which is not ideal for custom color themes. Visual Studio has special syntax highlighting for value but it currently isn't possible emulate this behavior in VS Code.  Here I am using the default dark+ color theme, bracket colorizer v2 and the OmniSharp extension.

 That should enable contextual keyword colorization based on actual usage.

Oh your right, thank you very much! I missed this option. It should really be on be default.

The vscode api itself is still in preview, so we don't want to turn it on by default until it's for sure finalized, but it's been solid for me for the past few months.

Yeah it seems like it works pretty well.


rio up not printing the created stack name to stdout [v0.6.0-alpha.4]

Describe the bug
Performing a rio up -f [path to Riofile] or rio up [github url with Riofile isn't printing the stack name created when completed successfully.
To Reproduce
Steps to reproduce the behavior:

rio up -f [path to Riofile]
wait until it completes applying the Riofile.
No output is shown

Expected behavior
rio should print the created stack name when successfully applying a Riofile.
rio stack ls should show the same.
Kubernetes version & type (GKE, on-prem): kubectl version
Client Version: version.Info{Major:"1", Minor:"14", GitVersion:"v1.14.6", GitCommit:"96fac5cd13a5dc064f7d9f4f23030a6aeface6cc", GitTreeState:"clean", BuildDate:"2019-08-19T11:13:49Z", GoVersion:"go1.12.9", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"16", GitVersion:"v1.16.2-k3s.1", GitCommit:"b8b17ba55f20e590df507fce333dfee13ab438c6", GitTreeState:"clean", BuildDate:"2019-10-16T05:17Z", GoVersion:"go1.12.12", Compiler:"gc", Platform:"linux/amd64"}

Type:
Rio version: rio info
Rio Version: v0.6.0-alpha.4 (969baf29)
Rio CLI Version: v0.6.0-alpha.4 (969baf29)
Cluster Domain: xxxxxx.on-rio.io
Cluster Domain IPs: x.x.x.x
System Namespace: rio-system
Wildcard certificates: true

Additional context
rio systemlogs
output:
No related systemlogs found.

available to test in v0.6.0-alpha5.

Confirmed working in rio v0.6.0-alpha5


Dynamic Tenant ID

Is there any to use an dynamic tenant ID? As far as i have seen in the code the tenant id will always be from the package.json config and cannot be set on init.
The problem:
Our app gets used by different companies, those can enable azure login where they provide the tenant id. So we dont know the tenant id before and therefore we need to set it in the code behind.
I modified the MsalPlugin to check for an tenant id in the authorities and use that if specified otherwise use the config tenant id (Which in my case would be common because its not specified).
If you see any added value in this feature, let me know and i will open an PR for it.

I would very well be interested as I need a dynamic tenant ID and client ID. Please open a PR and share your code. Thank you!

I have the same scenario - a PR would be great.

I also have the same issue

@bolivir I also have the same scenario. Can you please add a PR or provide changes done by you for this. Thank you in advance!

@bolivir I have the same scenario. Could you please provide the changes need to implement


target chain DOCKER always inserted instead of appended

Is there a particular reason the -A FORWARD -o docker0 -j DOCKER line is always inserted instead of appended to the filter table FORWARD chain? If we append to the FORWARD chain in the filter table, then folks would be able to do some more customization as the below paragraph states.
I would like to be able to have a rule of mine always exist in order to handle situations where a container is bound to a local loopback IP that is reached via an IPIP tunnel.  In essence, trying to ACL based off of client IP to "vip" which is a local loopback on a host machine reached via an IPIP tunnel.  I have successfully proved out granular ACL control this way using iptables when marking passed connections in the mangle table PREROUTING and filtering on this mark in the filter table FORWARD chain (when I'm able to insert my rules in the FORWARD chain first).  When Docker restarts, it always inserts itself as the first rule in the FORWARD chain (to target the DOCKER chain) and my granular rules no longer apply, resulting in no ACL's for this particular forward flow.
docker version:
Client:
 Version:      1.8.1
 API version:  1.20
 Go version:   go1.4.2
 Git commit:   d12ea79
 Built:        Thu Aug 13 02:19:43 UTC 2015
 OS/Arch:      linux/amd64

Server:
 Version:      1.8.1
 API version:  1.20
 Go version:   go1.4.2
 Git commit:   d12ea79
 Built:        Thu Aug 13 02:19:43 UTC 2015
 OS/Arch:      linux/amd64

docker info:
Containers: 45
Images: 110
Storage Driver: devicemapper
 Pool Name: docker-253:0-52561363-pool
 Pool Blocksize: 65.54 kB
 Backing Filesystem: extfs
 Data file: /dev/loop0
 Metadata file: /dev/loop1
 Data Space Used: 1.435 GB
 Data Space Total: 107.4 GB
 Data Space Available: 105.9 GB
 Metadata Space Used: 5.976 MB
 Metadata Space Total: 2.147 GB
 Metadata Space Available: 2.142 GB
 Udev Sync Supported: true
 Deferred Removal Enabled: false
 Data loop file: /var/lib/docker/devicemapper/devicemapper/data
 Metadata loop file: /var/lib/docker/devicemapper/devicemapper/metadata
 Library Version: 1.02.93-RHEL7 (2015-01-28)
Execution Driver: native-0.2
Logging Driver: json-file
Kernel Version: 3.10.0-229.7.2.el7.x86_64
Operating System: CentOS Linux 7 (Core)
CPUs: 24
Total Memory: 62.86 GiB

uname -a:
Linux SCRUBBED 3.10.0-229.7.2.el7.x86_64 #1 SMP Tue Jun 23 22:06:11 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

Hi!
Please read this important information about creating issues.
If you are reporting a new issue, make sure that we do not have any duplicates already open. You can ensure this by searching the issue list for this repository. If there is a duplicate, please close your issue and add a comment to the existing issue instead.
If you suspect your issue is a bug, please edit your issue description to include the BUG REPORT INFORMATION shown below. If you fail to provide this information within 7 days, we cannot debug your issue and will close it. We will, however, reopen it if you later provide the information.
This is an automated, informational response.
Thank you.
For more information about reporting issues, see https://github.com/docker/docker/blob/master/CONTRIBUTING.md#reporting-other-issues

BUG REPORT INFORMATION
Use the commands below to provide key information from your environment:
docker version:
docker info:
uname -a:
Provide additional environment details (AWS, VirtualBox, physical, etc.):
List the steps to reproduce the issue:
1.
2.
3.
Describe the results you received:
Describe the results you expected:
Provide additional info you think is important:
----------END REPORT ---------
#ENEEDMOREINFO

See also #7003; in this tool I wrote I always remove that rule on startup (and have a dedicated init command for that), it doesn't bother me more than that as I consider it an established Docker default

Yes this is something that I already faced when I first tried to set up something with Docker in production.
@gdm85 I don't believe that this should be solved by external tools especially not ones that are not part of the Docker package.
It is not just the jump rule but all the other rules are unfortunately perpended instead of being appended by Docker.
Anyway this behavior can create serious security issues by for example allowing traffic outside of the host by inserting those rules and perpending other rules that are there to prevent that.

You can get around this actually by manually adding the rules docker would add after your rules and this way it seams docker leaves the FORWARD table untouched, but I don't think this is the right way.

/cc @mavenugo - just checking if there are plans to change this in libnetwork

@dkiser @vpal @thaJeztah as we all know managing iptables and sharing them across applications isn't easy :

The reason we use the -I is to make sure the rules managed by docker are ordered appropriately.
But if am not wrong we do it only in the chains managed by docker such as DOCKER, DOCKER-ISOLATION, etc.
We can avoid this in FORWARD chain. but we have to be very careful. cc @aboch

@mavenugo the insertions in the DOCKER chain are okay.
If you create the chain and a rule in it manually docker appends the rules after the manually created rule, which is I think right.
The problem is with the FORWARD chain in the filter table where the rules (see below) are inserted at the beginning of the chain:
Chain FORWARD (policy DROP 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination
1       44 17675 DOCKER     all  --  *      docker0  <IP_ADDRESS>/0            <IP_ADDRESS>/0
2       40 17459 ACCEPT     all  --  *      docker0  <IP_ADDRESS>/0            <IP_ADDRESS>/0            ctstate RELATED,ESTABLISHED
3       54  4769 ACCEPT     all  --  docker0 !docker0  <IP_ADDRESS>/0            <IP_ADDRESS>/0
4        0     0 ACCEPT     all  --  docker0 docker0  <IP_ADDRESS>/0            <IP_ADDRESS>/0

If there are existing rules that do filtering those are not applied for traffic that comes from the docker interface because of these rules inserted at the beginning.
Maybe it would be enough to clarify in the documentation that if you create these rules (the four above rules and DOCKER chain) manually docker will not touch the FORWARD table.
Explicitly naming those rules and the described behavior would give some more confidence in this workaround and could maybe make sure that this will not break by docker inserting additional rules besides the listed four in future releases.
This would also make sure that current compatibility is not broken.

@vpal I am with you on that, docker-fw was created to provide some missing feature - possibly waiting for official support and at the same time showcasing a way to achieve this.

@dkiser @vpal @gdm85
FYI I have a PR open https://github.com/docker/libnetwork/pull/875 which reorganizes the docker rules. Mostly moving them away from the FORWARD chain.
In the FORWARD chain it only leaves independent jump rules (one for each bridge) which order does not matter, so we could change them to append now.
Being a delicate change, it would be great if you could take a look, give it a try and provide comments.
Thanks!

@aboch as I commented there, LGTM. It would break docker-fw but gladly so a better feature can be used.

@vpal @gdm85 @aboch
So in the PR setup the normal INPUT chain rules in a pre-docker world would now land in in the DOCKER-EXPOSED chain correct.  Looking at the code the input interface is now the bridge instead of the output interface so in theory it doesn't shunt the initial forwarding decision.
To confirm, if the DOCKER-EXPOSED chain is created in the filter table by the user (before docker startup) OR if custom rules are inserted during docker runtime) these will persist through docker restarts?  The use case would be "expose" acls for services are persisted. For now these would be managed by config mgmt or orchestration for example, but I could see a more native integration in the future where the expose acls travel with container runtime definitions as the containers move about cluster nodes. E.g. host expose compose, Rancher, Kube? Etc definitions tightly couple the exposed acl definitions.  Maybe a new docker firewall plugin?  I know there are vendor products now trying to manage host firewalls as well.
@mavenugo nice Peter pic 8-)

Client:
Version:       18.02.0-ce
API version:   1.36
Go version:    go1.9.3
Git commit:    fc4de44
Built: Wed Feb  7 21:14:12 2018
OS/Arch:       linux/amd64
Experimental:  false
Orchestrator:  swarm
Server:
Engine:
Version:      18.02.0-ce
API version:  1.36 (minimum version 1.12)
Go version:   go1.9.3
Git commit:   fc4de44
Built:        Wed Feb  7 21:17:42 2018
OS/Arch:      linux/amd64
Experimental: false

It appears dockers adds an second DOCKER chain in the PREROUTING table after a restart.
Steps to reproduce;
//Delete the standard DOCKER jump rule
iptables -t nat -D PREROUTING -m addrtype --dst-type LOCAL -j DOCKER
//Insert an modified DOCKER jump rule. In this case ext0 refers to my internet facing interface, since i don't want any internet traffic to enter docker, modify this rule.
iptables -t nat -A PREROUTING ! -i ext0 -m addrtype --dst-type LOCAL -j DOCKER
//restart docker
service docker restart
After that i've 2 DOCKER jumps in the PREROUTING TABLE:
Chain PREROUTING (policy ACCEPT 4954 packets, 299K bytes)
pkts bytes target     prot opt in     out     source               destination
1562K   94M DOCKER-INGRESS  all  --  *      *       <IP_ADDRESS>/0            <IP_ADDRESS>/0            ADDRTYPE match dst-type LOCAL
496K   30M DOCKER     all  --  !ext0  *       <IP_ADDRESS>/0            <IP_ADDRESS>/0            ADDRTYPE match dst-type LOCAL
1589 95180 DOCKER     all  --  *      *       <IP_ADDRESS>/0            <IP_ADDRESS>/0            ADDRTYPE match dst-type LOCAL
I would expect since the jump target for docker already exists, it would use that one instead. But apparently the interface filter causes the daemon to see this rule as not existing, and creates a new one.

We cannot change this as it will cause breakage for existing users.
Instead we have opted to add a DOCKER-USER chain where you can add your own jump rules.
I'm going to close this since it is effectively solved by the DOCKER-USER chain, even if it's not perfectly ideal for everyone... but feel free to discuss.
Thanks all 🙇 👼


integrated AA into unit tests

*Issue:*https://github.com/bcgov/entity/issues/18297
Description of changes:
wiki: https://github.com/bcgov/business-transparency-registry/wiki/Accessibility-Integration
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of the namex license (Apache 2.0).

/gcbrun

Temporary Url for review: https://bcregistry-btr-dev--pr-103-dminewym.web.app


ServiceProvider with lambda should not always dispose singleton instances

From @sebastienros on Friday, November 11, 2016 12:39:56 PM
Mostly the same as https://github.com/aspnet/DependencyInjection/issues/459 but in the case of lambda initialization.
The first idea of lambda initialization of services is to create custom instances that might use the current service provider:
services.AddSingleton(sp => { var s = sp.GetService<Foo>(); s.Bar = "baz"; return s; });

The current behavior is that the returned service will be disposed automatically. Now let's say I want to provide my own instance, shared across scopes, I don't want the container to dispose it for me. I could use the lambda to resolve other services (that would correctly be disposed by the container) but return my own instance using these external services.
The current implementation assumes it has to dispose it, but in some cases the assumption is wrong. I'd suggest we add an option to let users decide that the instance should not be disposed. It would not be a breaking change, but still a conformance issue. Autofac allows to set how the disposable behaves for each registration. I don't know for the other libraries.
Copied from original issue: aspnet/DependencyInjection#465

From @fangqifan on Sunday, November 13, 2016 10:05:45 PM
I agree!

From @Eilon on Thursday, January 5, 2017 4:26:26 PM
We'll look at adding this to 2.0.


Broken updates

When installing the latest KB4054530 language pack, you get asked to provide netfx_FullLP_x64.msi.
Path: C:\windows\Microsoft.NET\Framework64\v4.0.30319\SetupCache\v4.7.02053\DEU\
Unfortunately, there is no such file, nor such path.
Seems to be hardcoded?

@opensourcecompany , thanks for reporting the issue. It occurs when .NET 4.7 DEU Language package was pre-installed in the machine and a higher version ( .NET 4.7.2 ) in this case is attempted to install. When Language package MSI is removed from windows installer cache and Framework SetupCache folder is deleted, setup fails as it fails to find the pre-installed version msi in the machine. Please follow below steps to resolve the issue :

Repair .NET 4.7 DEU LP. Link : https://www.microsoft.com/de-DE/download/confirmation.aspx?id=55169
Re-attempt installing 4.7.2 LP

Hi @rakeshsinghranchi,
thanks for your advice, worked :+1:


Refresh list of peers.

Situation: The user starts planetary network for the first time, then doesn't use it for a month and comes back.
The application will try to connect to the same peers, but it's likely they no longer want to connect. There should be some logic that refreshes and updates the list of peers.

Re-opened.
Doesn't pass acceptance testing, no new peers are searched when no peers are found. Connection says "connected" even though nothing works. This isn't good UX, and requires a manual action that the user doesn't know about.
Can be fixed in next version though, since at least the option is there to manually fix itnow.
Expected behaviour: Connecting should work, if no or too little peers are found it should automatically refresh the config file and not make this a manual action.


Expected fix for LeaseID missing not present in v0.12.0

Which version of the SDK was used?
0.12.0
Which platform are you using? (ex: Windows, Linux, Debian)
Linux
What problem was encountered?
Incorrect version tagged upstream - expected fix #230 not implemented
How can we reproduce the problem in the simplest way?
go get v0.12.0 and inspect chunkwriting.go - expecetd fix from #230 not present in line 187
Have you found a mitigation/solution?
No
Some explanation
Thanks for the release - however the tagging has gone awry - I change my go.mod file to:
github.com/Azure/azure-storage-blob-go v0.12.0
and inspection of my go cache:
vi<EMAIL_ADDRESS>shows the change has not been applied.
187 _, err := c.to.StageBlock(c.ctx, chunk.id, bytes.NewReader(chunk.buffer), LeaseAccessConditions{}, nil, c.o.ClientProvidedKeyOptions)
If I pull repo directly using git clone and inspect that all looks good:
paul@paul-Precision-7530:~/git/azure-storage-blob-go$ git log
commit 6df5d9a (HEAD -> master, tag: v0.12.0, origin/master, origin/HEAD)
Merge: 456ab47 559b75b
Author: Mohit Sharma<EMAIL_ADDRESS>Date: Wed Dec 9 17:40:48 2020 +0530
Merge pull request #235 from Azure/dev
Release v0.12.0
commit 559b75b (origin/dev)
Author: Mohit Sharma<EMAIL_ADDRESS>Date: Wed Dec 9 12:49:08 2020 +0530
v0.12.0 Release change logs (#231)

v0.12.0 Release ChangeLogs & BreakingChanges

Updated changelogs

Added mmf changes in ChangeLog.md
commit 0c35e97
Author: Mohit Sharma<EMAIL_ADDRESS>Date: Fri Nov 20 23:41:19 2020 +0530

Fixed #230 (#232)
and the fix is in:
186 _, err := c.to.StageBlock(c.ctx, chunk.id, bytes.NewReader(chunk.buffer), c.o.AccessConditions.LeaseAccessConditions, nil, c.o.ClientProvidedKeyOptions)

Speculation: the merge for the addition of c.o.ClientProvidedKeyOptions overwrote the change for c.o.AccessConditions.LeaseAccessConditions

Hey @eccles ,
Thanks for reaching out!
I noticed the changes from #232 were overwritten by #235 in MMF changes.  I apologize for error on my side. Let me just fix it again and then you can sync the changes from dev branch by running go get github.com/Azure/azure-storage-blob-go@dev

Tried it but still no change

hey @eccles ,
The changes which you mentioned has already been merged. Can you explain what issue you are facing now?

To summaru=ise the state of the repo looks correct but when I do a go get I get a versuion without the #230 change which I need.
I have no explanation of why this is so
I have tried @dev which gives me the v0.10.1-0.20201209071908-559b75bbc31d which is no good.
I have tried @6df5d9af221d67aa1173ad090 which has the same problem..

go list -m -json<EMAIL_ADDRESS>{
"Path": "github.com/Azure/azure-storage-blob-go",
"Version": "v0.12.0",
"Time": "2020-11-21T18:08:49Z",
"Dir"<EMAIL_ADDRESS>"GoMod"<EMAIL_ADDRESS>"GoVersion": "1.15"
}
The time looks a little suspicious...

I was curious and had a look myself.
I checkout out the repo.
❯ git show
commit 6df5d9af221d67aa1173ad09073ef95c872beda0 (HEAD -> master, tag: v0.12.0, origin/master, origin/HEAD)
Merge: 456ab47 559b75b
Author: Mohit Sharma<EMAIL_ADDRESS>Date:   Wed Dec 9 17:40:48 2020 +0530

    Merge pull request #235 from Azure/dev

    Release v0.12.0

Then diffed the entire tree using Meld with my go mod cache.
Ended up with the following diff:
❯ diff<EMAIL_ADDRESS>/github.com/Azure/azure-storage-blob-go/azblob/chunkwriting.go
186,187c186
<
< 	_, err := c.to.StageBlock(c.ctx, chunk.id, bytes.NewReader(chunk.buffer), LeaseAccessConditions{}, nil, c.o.ClientProvidedKeyOptions)
---
> 	_, err := c.to.StageBlock(c.ctx, chunk.id, bytes.NewReader(chunk.buffer), c.o.AccessConditions.LeaseAccessConditions, nil, c.o.ClientProvidedKeyOptions)

So the bytes that gets downloaded by go is not what's in the repo.
Could this be the reason why I got the checksum mismatch in this issue that you closed: https://github.com/Azure/azure-storage-blob-go/issues/237

So to summarize, @eccles I experience the same as you.

It looks like the v0.12.0 tag was moved at some point:
$ GOPROXY=direct go get -d github.com/Azure/azure-storage-blob-go@6df5d9af221d67aa1173ad09073ef95c87
2beda0
go: downloading github.com/Azure/azure-storage-blob-go v0.12.0
go get github.com/Azure/azure-storage-blob-go@6df5d9af221d67aa1173ad09073ef95c872beda0: <EMAIL_ADDRESS>verifying module: checksum mismatch
        downloaded: h1:LEu0WO1uxAkeJFuNTZR+xxUpIoRUwOXgA2ipS798Ycc=
        sum.golang.org: h1:7bFXA1QB+lOK2/ASWHhp6/vnxjaeeZq6t8w1Jyp0Iaw=
SECURITY ERROR
This download does NOT match the one reported by the checksum server.
The bits may have been replaced on the origin server, or an attacker may
have intercepted the download attempt.
For more information, see 'go help module-auth'.

As a workaround, you can instead refer to that commit by the pseudo-version v0.11.1-0.20201209121048-6df5d9af221d, which is what it would have been called prior to the erroneous tag being applied:
$ go get -d<EMAIL_ADDRESS>go: downloading github.com/Azure/azure-storage-blob-go v0.11.1-0.20201209121048-6df5d9af221d

$

Probably the best fix going forward would be to retract v0.12.0 (see https://github.com/golang/go/issues/24031#issuecomment-597263309) and tag a new v0.12.1 at the desired commit.

@bcmills thanx - @mohsha-msft ?

@mohsha-msft any chance for a 12.1 tag soon?

This issue has become a matter of urgency for us - any chance of a 0.12.1 release which is properly tagged?

This issue has become a matter of urgency for us - any chance of a 0.12.1 release which is properly tagged?

I can confirm that using v0.11.1-0.20201209121048-6df5d9af221d as suggested by @bcmills does apparently work.

I can confirm that using v0.11.1-0.20201209121048-6df5d9af221d as suggested by @bcmills does apparently work.

The workaround works for me too. I would love to see 0.12.1 released though.

The workaround works for me too. I would love to see 0.12.1 released though.

That's quite a strange issue, we apologize for the inconvenience.
A new release just went out: https://github.com/Azure/azure-storage-blob-go/releases/tag/v0.13.0
Please let us know if you are still encountering problems.

That's quite a strange issue, we apologize for the inconvenience.
A new release just went out: https://github.com/Azure/azure-storage-blob-go/releases/tag/v0.13.0
Please let us know if you are still encountering problems.

HI - I can confirm that this is fixed by v0.13.0

HI - I can confirm that this is fixed by v0.13.0


Update AddCommand to add Patients

Updated Parser to understand PID.
Updated AddCommand to add Patients.
Updated UI to display PID.
Updated Storage to understand PID.
Original delete still on patients no need to update.
This will close #14 if merged

Unfortunately need to resolve checkstyle issues
Also, the Model interface is about to change quite drastically wrt to switching from person objects to wards/patients/staff etc so a lot of things are about to break everywhere, since the model section is going through changes

What changes are you making with model exactly? We should minimise the changes so that we don't need to do so much work.

What changes are you making with model exactly? We should minimise the changes so that we don't need to do so much work.

Changes to the API to support Patient and Staff objects with the relevant CRUD features for them, and containing them in Ward objects. Patientist will now hold a WardList object that contains 1..* Ward objects, and API supporting CRUD for this Wards feature will be included too.
Will open PR soon to show diffs in the API, but breaking changes are unavoidable if we are to implement wards/patients/staff classes

I see I'll close this pr until you make your pr then.


chore(e2e): bump protractor to 4.0.5

Fixes #1977
Protractor 4.0.3 has a critical bug, and will return a success code even if the tests are failing or if there is no ng serve running... (see the related https://github.com/angular/protractor/issues/3505)
4.0.5 fixes it, but it now relies on @types/node (as stated in the changelog https://github.com/angular/protractor/blob/master/CHANGELOG.md#405), which conflicts with the declarations in the typings.d.ts file. As they are now duplicated, removing them from the typings.d.ts file solves the problem.
declare var require: any;  has to be added to the test.ts file because this is not the same NodeRequire that @types/node declares, but a WebpackRequire with the context field.
There is probably a more elegant solution to solve this, but at least this one unblocked us.

Wow, okay.

LGTM. Thanks!


Fix Wordservice to be an App vs Service

I tried installing the original wordservice cask and I got this error:
Error: It seems the symlink source is not there:
'/opt/homebrew-cask/Caskroom/wordservice/2.8.1/WordService/WordService.service'
After unzipping the download manually I saw that it was no longer a
"service" extension, so I made the update to the formula.

Thanks @samtsai !

Sweet, thank you @rolandwalker for this awesome project!


Cannot access the browsable API for the given end-points

I see in the docs some screenshots of the browsable API, however when i try to access it, I get the following message:
Method \"GET\" not allowed

Also, in the generated docs, where it says Interact there is no form to interact with.
Where these removed?

Why did you use GET request?

@TorfinS To use the browsable API, you need to navigate to the end-point using a get request. Unless i am missing something?
Use this example:

# Urls
url(r"^account/password_change/", ChangePasswordView.as_view()),

# Views
class ChangePasswordView(generics.UpdateAPIView):
    """
        An endpoint for changing password.
        """

    serializer_class = ChangePasswordSerializer
    model = User
    permission_classes = (IsAuthenticated,)

If i navigate to /account/password_change/ I am able to use the browsable api even if the get method is not allowed. See screenshot.

You need to pass a POST request with your email as a key

Is it the same issue as with #26?
Did you install version 1.0.0a1 or newer? (if you just do pip install django-rest-passwordreset without a version, you get 0.9.7 which does not support this yet.

@rajath95 I shouldn't need to make a POST request to access the browsable API. See the example I have given.
@anx-abruckner That is indeed the issue, I have not noticed that. My apologies :)


Feature request: Grid slider

It would be great to be able to show a grid of slides.
e.g Rather than slidesToShow: 4, be able to show the current visible set as 2 x 2, etc.

I would like this too. As @mcummins says, it get's a bit tricky when you want a different number of items per slide on desktop/tablet/mobile. Solved it for now using breakpoints.js and some wrapping/unwrapping + slick/unslick in jquery.

+1


Output coefficients for glm

Hi,
Is there a way to output all of the estimated coefficients for a trained GLM model? I see there is a plot displaying the coefficients but is there a way to output them in a list or something that can be saved?
Thank you

Hi @xloffree,
The coefficients of a GLM model can be extracted using
exp.get_model("GLM").estimator.coef_


shred -u fails on windows

how to reproduce:

create a file temp.txt
try to shred it using the "delete"  optioncoreutils shred -u temp.txt

see error:thread 'main' panicked at 'Failed to sync renamed file: Os { code: 5, kind: PermissionDenied, message: "Zugriff verweigert" }', src\uu\shred\src/shred.rs:556:41
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

It can also be noted that temp.txt gets renamed to 00000000
system details
OS: Windows 10 x64, 22H2 (19045.2965)
coreutils version: 0.0.18

Zugriff verweigert means permission denied, correct?

@anastygnome yes

I just wanted to add that shreding the file works fine as well as rm'ing the file, so its probably not a generell permissions error

note: run with RUST_BACKTRACE=1 environment variable to display a backtrace

Thanks for the report! Could you follow this suggestion from the error message? That would make it easier for us to figure out what's going wrong.

Do I need a working Rust installation for that to work? or is it enough to just have the release binaries?

Should be possible with the release binary. Here's an example from stack overflow (just substitute cargo run with the executable)

I don't think its helpfull, but Backtrace produces this:
thread 'main' panicked at 'Failed to sync renamed file: Os { code: 5, kind: PermissionDenied, message: "Zugriff verweigert" }', src\uu\shred\src/shred.rs:556:41
stack backtrace:
   0:     0x7ff6175bfc85 - <unknown>
   1:     0x7ff6173b5c1a - <unknown>
   2:     0x7ff617589bb3 - <unknown>
   3:     0x7ff6175c1b29 - <unknown>
   4:     0x7ff6175c172c - <unknown>
   5:     0x7ff6175c2619 - <unknown>
   6:     0x7ff6175c235c - <unknown>
   7:     0x7ff6175c22c9 - <unknown>
   8:     0x7ff6175c2284 - <unknown>
   9:     0x7ff6173b3605 - <unknown>
  10:     0x7ff6173ba703 - <unknown>
  11:     0x7ff61742d1ee - <unknown>
  12:     0x7ff61731e02d - <unknown>
  13:     0x7ff6173c8546 - <unknown>
  14:     0x7ff61731f4a2 - <unknown>
  15:     0x7ff617301445 - <unknown>
  16:     0x7ff617301146 - <unknown>
  17:     0x7ffeaff57614 - <unknown>
  18:     0x7ffeb1aa26a1 - <unknown>

OK, so I recompiled from source (which was surprisingly easy, props!), which gives much more usefull results:
thread 'main' panicked at 'Failed to sync renamed file: Os { code: 5, kind: PermissionDenied, message: "Zugriff verweigert" }', src\uu\shred\src/shred.rs:557:41
stack backtrace:
   0:     0x7ff7c0279383 - std::backtrace_rs::backtrace::dbghelp::trace
                               at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library\std\src\..\..\backtrace\src\backtrace\dbghelp.rs:98
   1:     0x7ff7c0279383 - std::backtrace_rs::backtrace::trace_unsynchronized
                               at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library\std\src\..\..\backtrace\src\backtrace\mod.rs:66
   2:     0x7ff7c0279383 - std::sys_common::backtrace::_print_fmt
                               at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library\std\src\sys_common\backtrace.rs:65
   3:     0x7ff7c0279383 - std::sys_common::backtrace::_print::impl$0::fmt
                               at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library\std\src\sys_common\backtrace.rs:44
   4:     0x7ff7c004ec4b - core::fmt::write
                               at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library\core\src\fmt\mod.rs:1232
   5:     0x7ff7c0259121 - std::io::Write::write_fmt<std::sys::windows::stdio::Stderr>
                               at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library\std\src\io\mod.rs:1684
   6:     0x7ff7c027bddb - std::sys_common::backtrace::_print
                               at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library\std\src\sys_common\backtrace.rs:47
   7:     0x7ff7c027bddb - std::sys_common::backtrace::print
                               at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library\std\src\sys_common\backtrace.rs:34
   8:     0x7ff7c027b9b7 - std::panicking::default_hook::closure$1
                               at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library\std\src\panicking.rs:271
   9:     0x7ff7c027b5b5 - std::panicking::default_hook
                               at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library\std\src\panicking.rs:290
  10:     0x7ff7c027c630 - alloc::boxed::impl$47::call
                               at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library\alloc\src\boxed.rs:2001
  11:     0x7ff7c027c630 - std::panicking::rust_panic_with_hook
                               at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library\std\src\panicking.rs:696
  12:     0x7ff7c027c386 - std::panicking::begin_panic_handler::closure$0
                               at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library\std\src\panicking.rs:583
  13:     0x7ff7c027c2d9 - std::sys_common::backtrace::__rust_end_short_backtrace<std::panicking::begin_panic_handler::closure_env$0,never$>
                               at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library\std\src\sys_common\backtrace.rs:150
  14:     0x7ff7c027c2c4 - std::panicking::begin_panic_handler
                               at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library\std\src\panicking.rs:579
  15:     0x7ff7c04f8b05 - core::panicking::panic_fmt
                               at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library\core\src\panicking.rs:64
  16:     0x7ff7c04f8ed6 - core::result::unwrap_failed
                               at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library\core\src\result.rs:1750
  17:     0x7ff7c00e6a8b - onig_builtin_fail
  18:     0x7ff7bff92201 - __ImageBase
  19:     0x7ff7bff752a6 - __ImageBase
  20:     0x7ff7bff938b0 - main
  21:     0x7ff7c04f75dc - invoke_main
                               at D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:78
  22:     0x7ff7c04f75dc - __scrt_common_main_seh
                               at D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288
  23:     0x7ffeaff57614 - BaseThreadInitThunk
  24:     0x7ffeb1aa26a1 - RtlUserThreadStart

This solves the issue on my end as well. Thank you very much


Couldn't find method init reference

Hi, I'm using SwipeDeck2,
If I run your example works, in two phones devices Samsung S4 and Samsung mini S4. But if I use this SwipeDeck2 library in my project, the Samsung S4 (Samsung GT-I9500 Android 5.0.1 API 21) works so well, but not the Samsung mini S4 (Samsung GT-I9192 Android 4.4.2 API 19) , the swipe component doesn't show and I'm getting this in the logs:
I/dalvikvm: Could not find method android.widget.FrameLayout., referenced from method com.daprlabs.aaron.swipedeck.layouts.SwipeFrameLayout.
W/dalvikvm: VFY: unable to resolve direct method 20349: Landroid/widget/FrameLayout;. (Landroid/content/Context;Landroid/util/AttributeSet;II)V
D/dalvikvm: VFY: replacing opcode 0x70 at 0x0000
I/dalvikvm: Could not find method android.view.View.setTranslationZ, referenced from method com.daprlabs.aaron.swipedeck.SwipeDeck.setZTranslations
W/dalvikvm: VFY: unable to resolve virtual method 19598: Landroid/view/View;.setTranslationZ (F)V
D/dalvikvm: VFY: replacing opcode 0x6e at 0x0014
D/Dialog:  checkMirrorLinkEnabled returns : false
D/Dialog: showing allowed
Please let me understand how can I fix this great library, Thanks in advance

I would like to add something:
Trying to show info using the SwipeDeck2 after reaching the data from a web service takes at least 2 seconds, this library is not able to show the info.
I tried too with the SwipeDeck2 example putting this code to delay a little bit the load and I get the same result, this library is not able to show the info.
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
for (int i = 0; i < 10; i++) {
testData.add(String.valueOf(i));
}
            adapter = new SwipeDeckAdapter(testData, MainActivity.this);
            if(cardStack != null){
                cardStack.setAdapter(adapter);
            }
            cardStack.setCallback(new SwipeDeck.SwipeDeckCallback() {
                @Override
                public void cardSwipedLeft(long stableId) {
                    Log.i("MainActivity", "card was swiped left, position in adapter: " + stableId);
                }

                @Override
                public void cardSwipedRight(long stableId) {
                    Log.i("MainActivity", "card was swiped right, position in adapter: " + stableId);

                }

                @Override
                public boolean isDragEnabled(long itemId) {
                    return dragCheckbox.isChecked();
                }
            });

            cardStack.setLeftImage(R.id.tvright_image);
            cardStack.setRightImage(R.id.tvleft_image);
        }
    }, 2000);

Please let me know how to fix this problem. Thanks in advance


Page 2: set interval for connection check to 1s

fixes #6

@patriciagarcia that should fix it

Awesome! :-)


HTTP Error 500.31 - Failed to load ASP.NET Core runtime

PassCore Server

OS: [Windows ]
Provider: [Active Directory]

Describe the bug
Installed Passcore as provided in your documentation
Try to browse to the website the following error occured:
HTTP Error 500.31 - Failed to load ASP.NET Core runtime
Common solutions to this issue:
The specified version of Microsoft.NetCore.App or Microsoft.AspNetCore.App was not found.
Troubleshooting steps:
• Check the system event log for error messages
• Enable logging the application process' stdout messages
• Attach a debugger to the application process and inspect
For more information visit:  https://go.microsoft.com/fwlink/?LinkID=2028526
Additional context

UAC is active
Windows Server 2019
IIS Config

I had the same HTTP Error 500.31 error and found the solution in issue #615
https://github.com/unosquare/passcore/issues/615

Check the version of the hosting bundle, the version of the Windows Server Hosting and the Runtime should match:
Microsoft .NET 5.0.11 - Windows Server Hosting
Microsoft .NET SDK 5..
Microsoft .NET Runtime - 5.0.11
Refer to this post: https://jamilhallal.blogspot.com/2021/11/dotnet-core-deployment-iis-error-500-31-failed-to-load-aspnet-core-runtime.html


[Bug]: BluetoothLE method GetConnectedPeripherals()

Component
BluetoothLE Client
What platform(s) are effected?

[ ] iOS 12
[ ] iOS 13
[ ] iOS 14
[X] Android 8
[ ] Android 9
[ ] Android 10
[X] Android 11
[ ] UWP (Sponsors ONLY)

Steps To Reproduce
Version <IP_ADDRESS>36-preview.
1- Once connected, I search for bluetooth and it returns connected status.
2- If searching a second time, it returns connected, but the status is disconnected.

Expected Behavior
Always connected when searching
peripheral.Status == Shiny.BluetoothLE.ConnectionState.Connected
Actual Behavior
peripheral.Status == Shiny.BluetoothLE.ConnectionState.Disconnected
Exception or Log output
No response
Code Sample
var peripherals = await this.manager.GetConnectedPeripherals();
foreach (var peripheral in peripherals)
{
    //peripheral.Status == Shiny.BluetoothLE.ConnectionState.Disconnected
}

Code of Conduct

[X] I agree to follow this project's Code of Conduct

This is because you haven't connected to the device in YOUR app.  If the GATT is null, you can't perform any operations against the device.
https://github.com/shinyorg/shiny/blob/master/src/Shiny.BluetoothLE/Platforms/Android/Internals/PeripheralContext.cs#L36

Sorry, but I plugged in and read the sensor.
My sensor only connects when I read a feature
What I did was look again for the sensor connected to bluetooth.
That made everything work.
Do the search again this is where the problem occurs.(Bluetooth connected)

This is because you haven't connected to the device in YOUR app. If the GATT is null, you can't perform any operations against the device.
https://github.com/shinyorg/shiny/blob/master/src/Shiny.BluetoothLE/Platforms/Android/Internals/PeripheralContext.cs#L36

Sorry, but I plugged in and read Characteristics the sensor.
My sensor only connects when I read a Characteristics
What I did was look again for the sensor connected to bluetooth.
That made everything work.
Do the search again this is where the problem occurs.(Bluetooth connected)

What do you mean by search?  This is why I ask for very specific steps to reproduce with a sample.  I have no idea what you're talking about now.  Please be respectful of this in the future as it is a HUGE waste of time trying to figure what you are doing.
If by search, you mean - scan.  Scan completely destroys all instances it is tracking.  You have to be responsible for holding an instance you are connected to

Sorry my English, I use google translation. Forgive me if I'm wrong again.
Step by step.
1 - Connect the sensor to bluetooth and load the characteristics.
2 - Use the GetConnectedPeripherals method:
var peripherals = await this.manager.GetConnectedPeripherals();
foreach (var peripheral in peripherals)
{
//Only Connected
//peripheral.Status is ConnectionState.Connected - OK
}
3 - Use the GetConnectedPeripherals method again:
var peripherals = await this.manager.GetConnectedPeripherals();
foreach (var peripheral in peripherals)
{
//Only Connected
//peripheral.Status is ConnectionState.Disconnected
}


Determine what's causing large build sizes / other build issues

The Issue
All packaged installer are much larger than expected, especially for Windows.
Current build errors on keytar
System Configuration

LBRY Daemon version:
LBRY App version:
LBRY Installation ID:
Operating system:

Anything Else

Screenshots

This is fixed on master, thanks @skhameneh !!!


Windows testing capacity is too low (Windows pre-commit tests disabled on cirrus)

We currently have tests disabled on Windows because scheduling shards takes too long.

Is this the new normal? It's definitely happened more than once that the windows tools_test caught errors in my code.

My goal (see https://github.com/flutter/flutter/pull/41880) is to try to run most of the tests when they're relevant, though some shards on macos and windows, e.g. web_tests-windows, only run for rolls, changes to dev/, and post-commit.
It's not the new normal; once we can figure out how to increase our capacity we will turn all these back on.
The overarching goal is that a PR should be able to get a red/green result and be ready to land within 30 or so minutes of being uploaded, ideally a lot less. Doing this will require reducing the time to schedule the tasks, and rebalancing the shards so that no one shard takes much longer than the others.

All the windows tests are enabled and running on LUCI.


Cannot run on android

Hello,
i'm new to android. When trying your project with ionic run android i get the following gradle error:
ionic2-angularfire-login/platforms/android/src/nl/xservices/plugins/GooglePlus.java:11: error: package com.google.android.gms.auth does not exist

Since i'm new to ionic i'm not sure if i'm suppoused to add the dependency within the build.gradle file or something went wrong during my installation of your project.
Thanks :)

@vekexasia oh, i accepted a pull request that fixed some bugs with the google authentication and they used the google plugin but didn't save that in the package.json.
ionic plugin add https://github.com/EddyVerbruggen/cordova-plugin-googleplus --save --variable REVERSED_CLIENT_ID=myreversedclientid
i think that will fix the problem

Hello @rodrigoreal thanks for the tip.
I can now compile for android but both firebase and plugin aren't working.
Firebase shows location.protocol problem while plugin just does not do anything after me choosing the account.

Forgot to mention: "on android"

@vekexasia this problem is happening with fb, google and email or only with google?

I tried Google firebase .
Are you able to make it eworking?
Il 27 lug 2016 12:02 PM, "Rodrigo Real"<EMAIL_ADDRESS>ha
scritto:

@vekexasia https://github.com/vekexasia this problem is happening with
fb, google and email or only with google?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/rodrigoreal/ionic2-angularfire-login/issues/9#issuecomment-235542566,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAMPS8sKPJcFmaKbpgOn1duUwH2IlU9Lks5qZyy8gaJpZM4JVTF-
.

@vekexasia ill have a look on google authentication when i get back home, i'm having some problem with that, but facebook and user/pass is working flawless.

As soon as I get back to my pc ill try facebook and other methods
Il 27 lug 2016 1:45 PM, "Rodrigo Real"<EMAIL_ADDRESS>ha
scritto:

@vekexasia https://github.com/vekexasia ill have a look on google
authentication when i get back home, i'm having some problem with that, but
facebook and user/pass is working flawless.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/rodrigoreal/ionic2-angularfire-login/issues/9#issuecomment-235562026,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAMPS-uYOx5LSgOr9wGPv0hClc5kYP66ks5qZ0TxgaJpZM4JVTF-
.

Ok, facebook seems to be working just fine. Google popup or firebase dont
On Wed, Jul 27, 2016 at 2:17 PM, Andrea Baccega<EMAIL_ADDRESS>wrote:

As soon as I get back to my pc ill try facebook and other methods
Il 27 lug 2016 1:45 PM, "Rodrigo Real"<EMAIL_ADDRESS>ha
scritto:

@vekexasia https://github.com/vekexasia ill have a look on google
authentication when i get back home, i'm having some problem with that, but
facebook and user/pass is working flawless.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/rodrigoreal/ionic2-angularfire-login/issues/9#issuecomment-235562026,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAMPS-uYOx5LSgOr9wGPv0hClc5kYP66ks5qZ0TxgaJpZM4JVTF-
.

--
Andrea Baccega
[image<EMAIL_ADDRESS>[image<EMAIL_ADDRESS>[image: Personal site] http://www.andreabaccega.com/ [image: Linkedin
Profile] http://it.linkedin.com/in/andreabaccega [image: Facebook]
https://www.facebook.com/andrea.baccega [image: Google+]
https://plus.google.com/109217393200753135791 [image: Twitter]
http://twitter.com/veke87 [image: StackOverflow]
http://stackoverflow.com/users/314407/andrea-baccega [image: GitHub]
https://github.com/vekexasia

I've removed the google authentication for the moment, and the project has been updated to the rc0 version.


Speaker comments should not have a rating bar

There is a rating bar when we display a speaker comment. It should not be there.
We have to check if the API sends back information about wheter or not a comment is a speaker comment or not, or figure it out another way.

We can't. We need to check the comment userid agains the speaker claim list user id (there can be multiple id's that claimed the talk!)


Selection capture is not synchronized when a user joins the room

This causes the other user's selection to appear blank, which later leads to a host-client desynchronization after the other user deselects.

Fixed in 5076788.


Netlify changes to redirects behavior about forced rules and file shadowing

This is a Bug Report
According the netlify announcement, If you have a redirect rule that’s not explicitly marked as forced, and you also have a file under the same path, we will serve the file.
See details with netlify announcement: https://community.netlify.com/t/changed-behavior-in-redirects/10084 , netlify will change the redirects behavior about forced rules and file shadowing, and we need to check the affected redirect rules and correct them if needed.

Problem:
Some redirect rules may broken.
Proposed Solution:
Correct them if needed.
Page to Update:
this? or more? https://github.com/kubernetes/website/blob/master/static/_redirects

/kind bug
priority to this?
/priority important-soon

We think (without detailed checking so far) that this will need changes to fix it
/cc

@sftim Could you please paste the netlify mail content ( the checklist ) into this issue, just like kubeflow/website 1794 did, it could help us more effectively track the needed changes.

The redirect rules listed below are currently behaving as forced redirects (redirecting past existing content), even though you haven’t explicitly configured them to do so. You may want to check each redirect to be sure you want to continue this behavior, and if so, explicitly mark the rule as forced. In a _redirects file, you can do this by adding ! to the redirect status code. In a netlify.toml file, add the key and value force=true.

@Colstuwjx would you be willing to revise the issue description to match?

@sftim Sorry, I misread it. I have been updated the issue description, added the checklist.

@Colstuwjx Thanks for opening an issue with these changes.
We're receiving multiple emails for different production branches. (Each past release has its own production branch.) Because multiple branches are affected, I think it makes sense to:

Treat this issue as an umbrella issue. ☂
Open separate issue with redirects for each affected branch.
Change this issue's description to:
a. Remove redirects from the description
b. Add links to feature PRs under the umbrella

Thoughts?

As far as I know, the netlify redirects change would change the behavior to: if there is a redirect rule which the path matches the exist file, it would choose the file by default, and you need to set forced=true while you're very sure to do this redirect.
And I have scanned the redirect rules under the _redirects, it seems ONLY this line need to set forced=true, since it did have the specified file exists in our directory:
/docs/tasks/access-application-cluster/access-cluster.md     /docs/tasks/access-application-cluster/access-cluster/ 301!

and the others even don't have the directory or target file, so I think it's no need to change.
May I misunderstand ?

@Colstuwjx , Add a list of TODOs?

[X] Update redirects, branch:master, PR #19695
[ ] Update redirects, branch: 1.16
[ ] Update redirects, branch: 1.15
[ ] Update redirects, branch: 1.14
[ ] Update redirects, branch: 1.13

@kbhawkey Updated.

I think this is kind of done: Netlify have already made the changes, @kbhawkey and others put effort in beforehand to plan for it, and the site still looks OK.
Is there more to do?

@sftim Good call, I think we can close it.
Thank you, @Colstuwjx and @kbhawkey for your contributions here! ⭐
/close


BERT model working

I would like to know how BERT classifier decides between strong and weak models? Where can I see the working of bert_gpt4_augmented?

Hi there! Please refer to our paper the specific details. The short answer is that we trained the BERT classifier using preference data to teach it to predict which model is better for a given model.


Cache-control header

resp.cache_control = 'no-cache' splits the string into a list.
Falcon should support strings and lists for setting this header.

This is actually called "function overloading" which is commonly used in C and Java. But unlike C or Java, Python's approach of function overloading is a bit inefficient since you had to detect the value type in the function/method.
It's true function overloading is smart and friendly to programmers, but since falcon is dedicated to become a high-performance framework we can't bear with the inefficient comes with it. Also:

In the face of ambiguity, refuse the temptation to guess.

The Zen of Python

The framework can be performant and easy to use. Cecking if isinstance(v, basestring): .... is neither hard, bad, nor inefficient.

@philiptzou this reminds me of some methods of falcon. Personally I do not agree with that only lists accepted as iterables, tuples are faster to iterate that lists

def prepare_middleware(middleware=None):
    """Check middleware interface and prepare it to iterate.

    Args:
        middleware:  list (or object) of input middleware

    Returns:
        A middleware list
    """

    # PERF(kgriffs): do getattr calls once, in advance, so we don't
    # have to do them every time in the request path.
    prepared_middleware = []

    if middleware is None:
        middleware = []
    else:
        if not isinstance(middleware, list):
            middleware = [middleware]

    for component in middleware:
        process_request = util.get_bound_method(component,
                                                'process_request')
        process_resource = util.get_bound_method(component,
                                                 'process_resource')
        process_response = util.get_bound_method(component,
                                                 'process_response')

        if not (process_request or process_resource or process_response):
            msg = '{0} does not implement the middleware interface'
            raise TypeError(msg.format(component))

        prepared_middleware.append((process_request, process_resource,
                                    process_response))

    return prepared_middleware

@MackYoel True that tuples are faster than lists. but lists are mutable.

@philiptzou yes, but prepare_middleware is a pure function, it returns a new list, I think It should accept a iterable in this case. What do you think about it?

@MackYoel Yes I agree with you that the prepare_middleware is some kinda annoying... Personally I preferred to use def prepare_middleware(*middlewares) instead of detecting types in the function. Anyway, this discussion is not related to current subject of this page. So how about we start another new issue to discuss it further?

@ariscn But I think there're problems in the original design of header_property indeed. The main problem is, the __get__() should return the same type object which __set__() accepts. In the case of cache_control:
resp.cache_control = ['no-cache']
assert resp.cache_control == 'no-cache'

I don't like it either. I believe a better API design should like this (What You Set is What You Get):
resp.cache_control = ['no-cache']
assert resp.cache_control == ['no-cache']

Well this will be a breaking change.

@philiptzou I opened a very specific issue about it  but nobody gave importance. Maybe you could open a more general issue

@philiptzou I opened a very specific issue about it #630 but nobody gave importance, maybe you could open a more general theme.

@philiptzou Would you mind breaking out your last suggestion re "What You Set is What You Get" to another issue so we can discuss it separately?
As for whether these properties should support a single argument or a list of items, there are several interfaces in the framework that do this. So there would be some precedent for adding it in this case as well. However, I think that pattern may have been a mistake to follow, and overall it may be better to go modify all those places to just take an iterable, and only an iterable. Makes things more consistent, easier to reason about, etc.
I could still be persuaded either way, but I think we need to decide which design direction to take as a community before working on this particular case involving Response.cache_control.


Customizable Logger middleware output

It's not currently possible to customize the output of the Logger middleware at all.

Done! chi's middleware.Logger now supports quite well logging customization. Here is an example structured logger that can be adapted to any other backend: https://github.com/pressly/chi/blob/master/_examples/logging/main.go


📝 Update includes in docs/zh/docs/advanced/behind-a-proxy.md

Thanks for the effort! :cake:
This was handled in another PR, so I'll close this one now. :coffee:


AG-grid 25 causes cell rendering issues in some cases.

Specifically, in toolbox, the tree grid with checkboxes: clicking on a checkbox causes the entire column to flash. Data updates cause the same. We think something may have changed with the agApi.refreshCells() method.

 Some points:

It looks like ag-Grid is now remounting React components much more aggressively when a change is detected in the row or it is force refreshed.  Not sure if it is a bug, but certainly a change.  The refresh() framework method on our wrapping react component seems to be called less often.  This is causing the flashing
The checkbox renderer in the example Don mentions is a isComplexRenderer and an elementRenderer.  That is the bad combination for this new ag behavior, because it will cause a react remounting of all cells whenever any cell is edited.

I think we should consider the following
[a] Contacting ag-Grid, and making sure this is not a bug.
[b] If we can fully commit to using ag transactions (which we should -- we have had the experimental flag default on for many releases) then we can also be a little more selective on the forceUpdate that we are doing on columns with isComplexRenderer.  I think we should probably just do this and will put it in a PR.
[c] We should consider implementing the refresh() method on our wrapping framework component (which can now be either a function or a class)
[d]  A somewhat related thought to [b].  Intsead of the using the forceUpdate() approach we currently use for isComplexRenderer, we could have columns like this use the entire record as their default value, so that ag-Grid can use its native change management on the column.  This would require a little work on our part to get the sorting right, and might be a bit more confusing for developers, but ultimately might be more harmonious with the ag-Grid change management.  It might be too late to switch to this method for our implementation of isComplexRenderer, but thought worth mentioning.  It seems to work in my experimentation.

 Some points:

It looks like ag-Grid is now remounting React components much more aggressively when a change is detected in the row or it is force refreshed.  Not sure if it is a bug, but certainly a change.  The refresh() framework method on our wrapping react component seems to be called less often.  This is causing the flashing
The checkbox renderer in the example Don mentions is a isComplexRenderer and an elementRenderer.  That is the bad combination for this new ag behavior, because it will cause a react remounting of all cells whenever any cell is edited.

I think we should consider the following
[a] Contacting ag-Grid, and making sure this is not a bug.
[b] If we can fully commit to using ag transactions (which we should -- we have had the experimental flag default on for many releases) then we can also be a little more selective on the forceUpdate that we are doing on columns with isComplexRenderer.  I think we should probably just do this and will put it in a PR.
[c] We should consider implementing the refresh() method on our wrapping framework component (which can now be either a function or a class)
[d]  A somewhat related thought to [b].  Intsead of the using the forceUpdate() approach we currently use for isComplexRenderer, we could have columns like this use the entire record as their default value, so that ag-Grid can use its native change management on the column.  This would require a little work on our part to get the sorting right, and might be a bit more confusing for developers, but ultimately might be more harmonious with the ag-Grid change management.  It might be too late to switch to this method for our implementation of isComplexRenderer, but thought worth mentioning.  It seems to work in my experimentation.

NOTE:  Just discovered an issue with our absolute value sort regressing.  Also seeing a little (new) flicker in our group header rendering that may be a clue regarding the issue with the checkbox rendering!?

NOTE:  Just discovered an issue with our absolute value sort regressing.  Also seeing a little (new) flicker in our group header rendering that may be a clue regarding the issue with the checkbox rendering!?

I don't think the flickering with the element rendering is a show stopper at this point.  curious to hear other people's opinions.

I don't think the flickering with the element rendering is a show stopper at this point.  curious to hear other people's opinions.


Communication requirements

For travelers it is important to know what kind of communication would be required for the two-step verification, in some places the roaming costs, either cellular SMS and/or Data, are extremely high, therefore it would be nice to indicate the needed communication for each of the methods.
I would need a method which don't require communication at all, which seems to be the "verification from the Microsoft Authenticator app" but nowhere is mentioned, is it like that?
Thanks

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

ID: ac9e8541-82eb-c4c5-5ed1-ff135a27e5ea
Version Independent ID: 651b56dd-d7cb-1c25-2e4d-52bc6a513d78
Content: Sign-in using authentication with a work or school account - Azure AD
Content Source: articles/active-directory/user-help/multi-factor-authentication-end-user-signin.md
Service: active-directory
Sub-service: user-help
GitHub Login: @eross-msft
Microsoft Alias: lizross

@mflorezr-git Thank you for your query . We will check and update the thread.

@mflorezr-git We completely understand your concern and agree that roaming charges in many countries can accumulate to be huge when your MFA authentication relies on multiple SMS/call etc.  The article does provide information about using the Authenticator app method . To qupte a section of article.

To sign in using a verification code with the Microsoft Authenticator app
If you use the Microsoft Authenticator app to get verification codes, then when you open the app you see a number under your account name. This number changes every 30 seconds so that you don't use the same number twice. When you're asked for a verification code, open the app and use whatever number is currently displayed.
Sign in to an application or service such as Office 365 using your username and password.
Microsoft prompts you for a verification code.
Enter verification code

Open the Microsoft Authenticator app on your phone and enter the code in the box where you are signing in.

You can check more details on how to setup the Authenticator MFA method in case the global administrator on your tenant have defined them.
Hope this answers your query. We will now close this query. In case you still have any questions feel free to tag me or the author @eross-msft to your reply and we will be happy to help .
Thank you.


nixos/flannel: add kubernetes as storage backend (and fix test)

Motivation for this change
Flannel can now use the kubernetes api as storage backend, instead of etcd. This is useful especially when deploying flannel with kubernetes where you - otherwise - either need to allow multi-user access to a single etcd instance or setup a secondary etcd instance just to hold flannel config. When configuring flannel with kubernetes as storage backend, you can isolate the access to etcd by authorizing only kube-apiserver.
backward compatibility: The default behavior is unchanged. Etcd will be used as storage backend, unless the new option services.flannel.storageBackend is set to kubernetes.
furthermore: the flannel test case fails on master. etcd refuses to startup, because it requires ip-adresses configured as listening adresses in order to determine which interfaces to bind to. Fixed that as part of this PR.
Things done

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

[X] NixOS
[ ] macOS
[ ] other Linux distributions

[X] 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"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Assured whether relevant documentation is up to date
[X] Fits CONTRIBUTING.md.

@GrahamcOfBorg test flannel

@GrahamcOfBorg test flannel

Oh, it's not even exposed in the release set.

@srhb I added the test to the release set in this PR :)

Added an extra option nodeName to this PR, due to: https://github.com/coreos/flannel/issues/792#issuecomment-462797681
(https://github.com/NixOS/nixpkgs/pull/55649/commits/94136fdc1b6c0eb71d10b27a9a2cb597d73ca33e)
@GrahamcOfBorg test flannel

relates to #45670


Are functions app deployment slots supported with logic apps?

Is this statement true?
"Integration between Logic Apps and Azure Functions currently doesn't work with Slots enabled."
We have been using logic apps with functions using deployment slots successfully for some time but have run into a case where we occasionally get a 401 Unauthorized after a deployment when the logic app calls a function.

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

ID: 087366a1-80f9-fd3a-c736-d1275f0c4aca
Version Independent ID: c12d4e3b-aa27-aa3e-1ec2-82116599c01d
Content: Add and call functions from Azure Logic Apps - Azure Logic Apps
Content Source: articles/logic-apps/logic-apps-azure-functions.md
Service: logic-apps
GitHub Login: @ecfan
Microsoft Alias: estfan

Hello @simonvane,
Thank you for your feedback! We will review and update as appropriate.

@simonvane,
Our greatest apologies that so much time has passed since responding. However, the team confirms that deployment slots aren't officially supported. We'll update the language so that the statement is much clearer so there's less confusion. Thanks for raising this issue!

@simonvane & @ChaitanyaNaykodi-MSFT: The doc update should go live on June 21 after 11 AM Pacific Time.

@ecfan Thank you. I'll look forward to seeing the updates.
It'd be really good to understand what about slots makes it unsupported and why. As I mentioned, we have been using slots with them for quite a while now. We did start getting 401 errors but we are now using managed identities for authentication rather than function keys and we are no longer seeing the issue.
We now have to evaluate whether we make the significant investment if moving our functions to Kubernetes to keep the benefits of deployment slots by using rolling deployments instead. Any information you are able to give to help us make this decision would be very much appreciated.

#assign:@ecfan


evictor-pvc pod pending

Warning  FailedScheduling  65s (x8 over 10m)  default-scheduler  0/3 nodes are available: 1 node(s) were unschedulable, 2 Too many pods. preemption: 0/3 nodes are available: 1 Preemption is not helpful for scheduling, 2 No preemption victims found for incoming pod.

Need to modify the configuration of maxpod


Binance API issue

client = Client(config.API_KEY , config.API_SECRET,tld='us')
this is my code
and this is the error i am having
Exception has occurred: BinanceAPIException
APIError(code=0): Invalid JSON error message from Binance:

ERROR: The request could not be satisfied

403 ERROR
The request could not be satisfied.

The Amazon CloudFront distribution is configured to block access from your country.
We can't connect to the server for this app or website at this time. There might be too much traffic or a configuration error. Try again later, or contact the app or website owner.

If you provide content to customers through CloudFront, you can find steps to troubleshoot and help prevent this error by reviewing the CloudFront documentation.

Generated by cloudfront (CloudFront)
Request ID: BzptfXbqFbB8GHA_XxCvgDnfpyQ3NIyzMMqMsEyEMgPT7HVwTZbDnQ==

  File "C:\Users\shahe\RSIBOT\bot.py", line 17, in
    client = Client(config.API_KEY , config.API_SECRET,tld='us')
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
binance.exceptions.BinanceAPIException: APIError(code=0): Invalid JSON error message from Binance:

ERROR: The request could not be satisfied

403 ERROR
The request could not be satisfied.

The Amazon CloudFront distribution is configured to block access from your country.
We can't connect to the server for this app or website at this time. There might be too much traffic or a configuration error. Try again later, or contact the app or website owner.

If you provide content to customers through CloudFront, you can find steps to troubleshoot and help prevent this error by reviewing the CloudFront documentation.

Generated by cloudfront (CloudFront)
Request ID: BzptfXbqFbB8GHA_XxCvgDnfpyQ3NIyzMMqMsEyEMgPT7HVwTZbDnQ==

Hello @Shaheer78611, I think this is related to your location and not python-binance directly


Error invalid status:'0'

Error
Invalid status:'0'
After pressing the button to split the universe I get this error

Yesterday the The ANU Quantum Random Numbers Server was unavailable, probably that was the reason for this error message (the error message is not very user friendly).
Can you try it again, does it work for you now? Thanks.

Indeed it works now. Thanks!
Does your app also have a roadmap with past decisions to see where you are now compared to what could have been?

Not yet, but there was already a request about that. So maybe later I will add that feature.

Cool! I think it will add alot towards the app.


Failed to set strict mode on mysql db

version info

#docker-compose -v
Docker Compose version v2.17.2

#lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 18.04.5 LTS
Release:	18.04
Codename:	bionic

# docker -v
Docker version 20.10.24, build 297e128

download docker-compose.yml

wget https://raw.githubusercontent.com/sigstore/rekor/v1.3.0/docker-compose.yml

Failed to set strict mode on mysql db: dial tcp <IP_ADDRESS>:3306: connect: connection timed out

$ sudo  docker-compose ps -a
NAME                              IMAGE                                                                                COMMAND                  SERVICE               CREATED             STATUS                            PORTS
rekor-130-mysql-1                 gcr.io/trillian-opensource-ci/db_server:v1.4.0                                                                       "docker-entrypoint.s…"   mysql                 43 minutes ago      Up 43 minutes (healthy)           <IP_ADDRESS>:3306->3306/tcp, :::3306->3306/tcp
rekor-130-redis-server-1          docker.io/redis:6.2                                                                                "docker-entrypoint.s…"   redis-server          About an hour ago   Up About an hour (healthy)        <IP_ADDRESS>:6379->6379/tcp, :::6379->6379/tcp
rekor-130-rekor-server-1          rekor-130-rekor-server                                                                                "rekor-server serve …"   rekor-server          3 seconds ago       Up 2 seconds (health: starting)   <IP_ADDRESS>:2112->2112/tcp, :::2112->2112/tcp, <IP_ADDRESS>:3000->3000/tcp, :::3000->3000/tcp
rekor-130-trillian-log-server-1   gcr.io/projectsigstore/trillian_log_server@sha256:f850a0defd089ea844822030c67ae05bc93c91168a7dd4aceb0b6648c39f696b   "/ko-app/trillian_lo…"   trillian-log-server   3 seconds ago       Up 2 seconds                      <IP_ADDRESS>:8090-8091->8090-8091/tcp, :::8090-8091->8090-8091/tcp
rekor-130-trillian-log-signer-1   gcr.io/projectsigstore/trillian_log_signer@sha256:fe90d523f6617974f70878918e4b31d49b2b46a86024bb2d6b01d2bbfed8edbf   "/ko-app/trillian_lo…"   trillian-log-signer   43 minutes ago      Up About a minute                 <IP_ADDRESS>:8092->8091/tcp, :::8092->8091/tcp

$ sudo docker network ls
NETWORK ID     NAME                DRIVER    SCOPE
1e4274f75442   bridge              bridge    local
2292f7d90697   host                host      local
136d6155774f   none                null      local
646f8ae5c806   rekor-130_default   bridge    local

$ sudo docker network inspect -f '{{json .Containers}}' 646f8ae5c806 | jq '.[] | .Name + ":" + .IPv4Address'
"rekor-130-mysql-1:<IP_ADDRESS>/16"
"rekor-130-redis-server-1:<IP_ADDRESS>/16"
"rekor-130-trillian-log-server-1:<IP_ADDRESS>/16"
"rekor-130-trillian-log-signer-1:<IP_ADDRESS>/16"
"rekor-130-rekor-server-1:<IP_ADDRESS>/16"

$ sudo docker logs -f rekor-130-trillian-log-server-1
W0906 14:39:12.426910       1 tree_storage.go:81] Failed to set strict mode on mysql db: dial tcp <IP_ADDRESS>:3306: connect: connection timed out
F0906 14:39:12.427744       1 main.go:111] Failed to get storage provider: dial tcp <IP_ADDRESS>:3306: connect: connection timed out

But the test can connect to the MySQL service IP address and port 3306
$ telnet <IP_ADDRESS> 3306
Trying <IP_ADDRESS>...
Connected to <IP_ADDRESS>.
Escape character is '^]'.
J
5.7.34pwq("ÿ
Ue[
   6_Mmysql_native_passwordXshell

I need help, thank you all

this should just attempt to auto-restart trillian until it can successfully connect to the DB


Provide the SPI to plug Opensearch / Kafka configurators based on configuration

The connector supports a wide range of configuration settings but it is not extensible in a way to allow extending the configuration with additional proprerties it does not know about: for example, supporting alternative authentication means for Opensearch client based on cloud deployment environment.
More concrete examples include:

using AWS specific IAM for service accounts (https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html)
using AWS specific v4 signatures (https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html)

The suggested configurators SPI allows to dynamically discover available client configurators (based on provided configuration) and reconfigure the clients based on that.

CC @deepdatta

@gaustin sadly not for OpenSearch / Kafka, but there are examples how to use IAM/IRSA in OpenSearch plugins, for example repostiory-s3: https://github.com/opensearch-project/OpenSearch/blob/main/plugins/repository-s3/src/main/java/org/opensearch/repositories/s3/S3ClientSettings.java#L70 (we do not have that on our platform).


Test with whois.apnic.net

Test server: whois.apnic.net

looks like it uses a different query syntax

this server will have to be tested for each query method to determine if will support it.


feat: Added ability to pass different subnets for fargate and the cluster

PR o'clock
Description
Problem
Fargate profiles will fail to launch in public subnets. If using external load balancers the cluster may need public subnets.
Currently the module takes in one input, var.subnets, to populate both. I require the ability to have public subnets on the cluster but only the private subnets used for fargate profiles.
Changes
Added var.fargate_profiles as an list(string) value that is [] by default. Updated readme to reflect the change. If this is not set then the module behaves as it does now, not a breaking change. If it is set then this will be used for fargate profiles instead of var.subnets

I can add this option for node_groups as well if needed (or make is so that fargate_subnets is worker_subnets, then use that for either) if people want to, but currently there is no way to use this module with fargate profiles and an external load balanancer, which is why I focused this there.

I've added it to the example, just in case.

Any update on this? This is currently blocking us.

@DayneD89 Sorry, I forgot to shortlist it 10 days ago. I will finish this PR now.

v17.15.0 has been just released.


Basic Data Security

Acceptance Criteria

[ ] Restrict patient users to patient screen in the React app
[ ] Restrict queries to the API from patient users to only their own data

Tim had suggested that one route for this was to actually use a separate database connection with different credentials to protect these queries. We'll also need to restrict them based on the related test order

Tim had suggested that one route for this was to actually use a separate database connection with different credentials to protect these queries. We'll also need to restrict them based on the related test order

Note that in TestResultsList.tsx there is a GraphQL query that uses Facility ID and returns all previous patient results. We'll need to tighten that up in this ticket, bc Patient users shouldn't be able to see any patient results other than their own.

Note that in TestResultsList.tsx there is a GraphQL query that uses Facility ID and returns all previous patient results. We'll need to tighten that up in this ticket, bc Patient users shouldn't be able to see any patient results other than their own.


Can't bind to port - always reports it's 7000

Actual behavior (the bug)
When Javalin (Jetty) tries to bind to a port that's in use, it will always complain that it's port 7000 whatever port it's binding to.
Expected behavior
If it's trying to bind to port 443, then the error message should say that.
To Reproduce
Start up 2 Javalin server on the same port.
Additional context
Example stack trace (notice the IOException part):
java.lang.RuntimeException: Port already in use. Make sure no other process is using port 7000 and try again.
        at io.javalin.Javalin.start(Javalin.java:185)
        at com.github.ajalt.clikt.parsers.Parser.parse(Parser.kt:204)
        at com.github.ajalt.clikt.parsers.Parser.parse(Parser.kt:17)
        at com.github.ajalt.clikt.core.CliktCommand.parse(CliktCommand.kt:396)
        at com.github.ajalt.clikt.core.CliktCommand.parse$default(CliktCommand.kt:393)
        at com.github.ajalt.clikt.core.CliktCommand.main(CliktCommand.kt:411)
        at com.github.ajalt.clikt.core.CliktCommand.main(CliktCommand.kt:436)
        at XxxMainKt.main(XxxMain.kt:65)
Caused by: java.io.IOException: Failed to bind to xxx.yyy.com/<IP_ADDRESS>:443
        at org.eclipse.jetty.server.ServerConnector.openAcceptChannel(ServerConnector.java:349)
        at org.eclipse.jetty.server.ServerConnector.open(ServerConnector.java:310)
        at org.eclipse.jetty.server.AbstractNetworkConnector.doStart(AbstractNetworkConnector.java:80)
        at org.eclipse.jetty.server.ServerConnector.doStart(ServerConnector.java:234)
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
        at org.eclipse.jetty.server.Server.doStart(Server.java:401)
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
        at io.javalin.core.JavalinServer.start(JavalinServer.kt:63)
        at io.javalin.Javalin.start(Javalin.java:175)
        ... 10 more
Caused by: java.net.SocketException: Permission denied
        at java.base/sun.nio.ch.Net.bind0(Native Method)
        at java.base/sun.nio.ch.Net.bind(Net.java:455)
        at java.base/sun.nio.ch.Net.bind(Net.java:447)
        at java.base/sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:227)
        at java.base/sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:80)
        at org.eclipse.jetty.server.ServerConnector.openAcceptChannel(ServerConnector.java:344)
        ... 18 more

Javalin app = Javalin.create().start(12345);
Javalin app2 = Javalin.create().start(12345);

Gives Port already in use. Make sure no other process is using port 12345 and try again.
Do you have two config.server { ... } apps?

Can't reproduce with two config.server {} either.

Aha. If I do
Javalin.create().start(443);
Javalin.create(config -> {
    config.server(() -> {
        Server server = new Server();
        ServerConnector sslConnector = new ServerConnector(server, getSslContextFactory());
        sslConnector.setPort(443);

I get the incorrect error message.

Sorry if I made it seem that way, I was just debugging :)
The simplest and most robust fix I can think of is to extract the port from the exception, so instead of doing:
throw new RuntimeException("Port already in use. Make sure no other process is using port " + server.getServerPort() + " and try again.", e);

we do:
 throw new RuntimeException("Port already in use. Make sure no other process is using port " + Util.getPort(e) + " and try again.", e);

Would you like to submit a PR to fix this?

I would love to submit a fix @tipsy

That makes me look stupid :) our set up is a bit more complicated than that - I'll try a few things and let you know where the problem is.

No worries - I normally do a bit more investigation before submitting bugs, but was lazy this time.  Looks like it's getting confused with the SSL connector.

Would you like to submit a PR to fix this?

@Patil2099 is welcome to fix this one.

@tipsy we are on the v3.13.10 now, and I don't think we can use v4 until stable release. Can this fix be included into v3.13.11?

@IvanPizhenko The change is just a log message fix, what is the problem?

Yes, that's true, but without this fix our application prints out wrong error message, and that's what we'd like to fix and that's why @Jerbell posted this ticket.

I don't really understand how port collisions is part of your app design, but if you make a PR to backport this to 3x i can release it. I'm focusing on 4x now (we're currently in the release candidate stage).

That's good news. When are you expecting to publish a 4.x stable version?

The planned date is September 12th :)

ok, decided to post a PR #1257

Thanks, I'll release it now.

Should be out now @IvanPizhenko !

Thank you @tipsy !


Fix SHAs for quickstart v1.8.0

Changes
Fix SHA256 values for quickstart v1.8.0.
The current values match the v1.8.1 release.
/kind bug
Fixes #120

We should actually bump to v1.8.1 (the .0 was broken)

OK I can do that.

Closing in favor of #121


Merge pull request #1 from network-automation/master

Pull in from latest upstream

Ignore this -- wasnt paying attention


Icons off center and weirdly placed

Not sure when this first happened, but my icons seem to be like stuck in resizable mode and when i switch to fixed they just stay there and are off center and annoying. The inventory icons to be more clear.

Issues with Plugin Hub plugins should be made on the repo for that plugin

?


Investigating using "plug-ins" for additional parser support

fanyingfx has created a fork for a different parser (chinese) with extra dependencies.  Rather than forking, I feel extra parsers could be implemented with a "plug-in" approach -- but I have no idea of what's involved.
https://packaging.python.org/en/latest/guides/creating-and-discovering-plugins/ has notes on this approach, which sounds rather applicable.
To investigate:

how plugins would be found, and how parsers would be "registered" -- either they register themselves, or the main program finds them and pulls them in
change the current parser registry to do run time "registration" and "deregistration" of supported and not-supported parsers
proof-of-concept parser registration with a sample

I think the default parser can be taken off and become a plug-in.

Defaults would stay in the core release to simplify start up for new people -- but that's still a long way off.  This plug in stuff could be very tough.

Already done and in production! :tada:


Update TaskLibAnswers to have all supported commands

These are all the commands that are looked up in MockAnswers in mock-task and mock-toolrunner.
With this change, we should stop using type assertions to force the TaskLibAnswers type when we set up the mocks for our L0 tests.
This will allow test authors to catch commands they think are being mocked but are not.

Someone will have to merge this once it has sign off.  I don't have write permissions for this repo.

LGTM


How to record prizing won?

Right now only records placement/score, but not prizing information which can be points, cash, qualification, products, etc.

As of now this would be done using other in the event section.
If we were to standardize this, focusing on just prize money makes the most sense. We'd need to track currency type as well.


High level control without local planner

Hi,
Is it possible to command the robot with velocities without the need of having the local planner running on the side?

Hi, the local planner is an interface between the nonlinear mpc solver and the lower-level motor controller. It also contains a footstep planner block which figures out the foothold locations so it's indispensable either using higher-level global planner or the velocity command.

To be clear, the local planner is exactly what translates something like velocity commands into executable information. So if what you really want is high level control via velocity commands, the local planner is specifically designed to make that sort of API possible (see the examples of controlling the robot with a joystick).

Hi,
Thanks for the replies :).
One last question. Can the the controller work blindly then? Or does it always require a local planner that has access to some sort of height map to select a reference foothold?


Get this repo consistent with all other repos

[ ]  tests
[ ] structure
[ ] code coverage
[ ] readme
[ ] example

I think this has been done now.

More the readme still but meh. Totes good to close. I'll be digging into this a bit more over the coming weeks to really sort out file upload in a more Feathers-y way.


Introduce browser live-reload

This introduce live-reload in the browser:

auto-inject a script in the browser to watch for changes through sse
supersonic in-page replace for css/scss changes
supersonic refresh for javascript changes
watch other Quarkus files (unless there is an error in which case a new request is needed)

This is enabled by default. To disable:
quarkus.web-bundler.browser-live-reload=false

When browser-live-reload is enabled:

out entries will be fixed (no hashes)
minification is disabled

@edewit CI is passing :)

🎉


Mark mac_ios_platform_channels_benchmarks_ios not flaky

mac_ios_platform_channels_benchmarks_ios has passed in prod since #82359.

Don't land this until https://github.com/flutter/flutter/pull/82762 lands.  The test is in fact flakey until that lands.

Huh it doesn't look like mac_ios_platform_channels_benchmarks_ios has ever flaked in prod, unlike platform_channels_benchmarks.  Beating the await on that platform I guess.
Thanks, @gaaclarke will hold off, or I can close this and let you handle it.  I was doing a sweep of flaky prod tests that have been passing for awhile, since sometimes we forget to go back and mark them unflaky.

https://github.com/flutter/flutter/pull/82762 has merged.


Fixed typo and improved map visualization params.

LGTM! Thanks!!
Can you execute the notebook so the changes show up in the results?

I can't easily execute and save the full notebook without significantly altering the ipynb file. (I am using Python 2 on a non-Jupyter server.) If it is easy for you to update the notebook output, feel free to do so.

I can do that. Let's merge your commit then, so you can get the commit credits :wink:


docs: update chart to be more current

Both Chopper vehicles have been removed from the sandbox. Gravity Hammer REQ cost has changed from 4 to 6. Diminisher of Hope REQ cost has changed from 6 to 7. Rushdown Hammer REQ cost changed from 5 to 8

In the future lets add some more context to big changes like this. I know we both know the reasons why the changes were made, but might forget them later on when we want to look back at changes. Also Markdown formatting for formatting the comments. The first sentence in the paragraph acts as the main info and the rest is detailing that main info. The titles are ## Heading 2 Titles. So for example in this case:
Choppers Removed
Removal of the Chopper and Chopper Boss vehicles from the sandbox due to them being able to splatter high-tier AI as well as heavy, high-REQ vehicles too easily. Chopper REQ level increase attempted as a balancing act, but it didn't solve the core issue and just gatekept the vehicle behind a higher cost. Players would more likely opt in for a different sandbox item if the Chopper's REQ level is too high.
Gravity Hammer REQ Increase
Increasing the REQ cost of the Gravity Hammer -based weapons due to them dealing more damage to AI compared to the other weapons in their REQ tier.
REQ cost changes:

Gravity Hammer: 4 -> 6
Diminisher of Hope: 6 -> 7
Rushdown Hammer: 5 -> 8