Cant get my headers to work with JWT

Hi guys I have tried allot of exmples and read through as much as I can, but I cant the the refresh headers to send. Can you please help me?
packages.json
....     "ember-simple-auth": "1.1.0",     "ember-simple-auth-token": "1.1.1", ....
adapters/application.js:
`
import DS from 'ember-data';
import ENV from '../config/environment';
import DataAdapterMixin from 'ember-simple-auth/mixins/data-adapter-mixin';
export default DS.JSONAPIAdapter.extend(DataAdapterMixin,{
namespace:'api',
authorizer: 'authorizer:jwt'
});
`
config/environment.js
`    ENV['ember-simple-auth'] = {
authorizer: 'authorizer:jwt',
};
ENV['ember-simple-auth-token'] = {
    identificationField: 'email',
    passwordField: 'password',
    authorizationPrefix: 'Bearer ',
    authorizationHeaderName: 'Authorization',
    refreshAccessTokens: true,
    refreshLeeway: 115,
    timeFactor: 1000,

    serverTokenEndpoint: ENV.apiBaseUrl + '/api/v1/user/auth/login',
    serverTokenRefreshEndpoint: ENV.apiBaseUrl + '/api/v1/user/auth/refresh',
};`

controllers/login.js
`import Ember from 'ember';
export default Ember.Controller.extend({
session: Ember.inject.service('session'),
actions: {
authenticate: function() {
var credentials = this.getProperties('identification', 'password'),
authenticator = 'authenticator:jwt';
  this.get('session').authenticate(authenticator, credentials)
  .then(() => {
    this.transitionToRoute('test');
  })
  .catch((message) => {
    this.set('errorMessage', message.error || message);
  });
}

}
});`

I am new to laravel. Maybe i have some config issue, but I finally got the Authorization headers to send. I had to update the node package, there must be a way to overwrite this function.
This is the change i made to jwt.js:
`  makeRequest(url, data, headers) {
const token = Ember.get(data, this.tokenPropertyName);
return Ember.$.ajax({
url: url,
method: 'POST',
data: JSON.stringify(data),
dataType: 'json',
contentType: 'application/json',
headers: this.headers,
beforeSend: (xhr, settings) => {
xhr.setRequestHeader('Accept', settings.accepts.json);
    if (!Ember.isEmpty(token)) {
      xhr.setRequestHeader('Authorization', 'Bearer '+ token);
    }

    if (headers) {
      Object.keys(headers).forEach(key => {
        xhr.setRequestHeader(key, headers[key]);
      });
    }
  }
});

},`

hi everyone, are you working with ember and laravel?
Can you help me please. I have an error in js "http://localhost:4200/api/token-auth/ 404 (Not Found)". Can you help me?


Example of ResizableContent

Do we have example for ResizableContent in addons?

I miss understand the meaning of resize , it is for detecting if window get resized.
I am trying to have FloatingPanel which allow user to change width and height.

Exactly, its for detecting if panel bounds get resized and not to allow the panel itself to be resizeable by mouse events.
... = React.createClass({
  ...

  handleResize: function (dimensions) {
    //console.dir(dimensions);
    this.refs.notifymeonresize.resize();
  },

  render: function () {
    ...
    return (
      ...
      <ResizableContent onResize={this.handleResize}>
        <SomeOtherComponent ref="notifymeonresize" />
      </ResizableContent>
      ...
    );
  }
});

Sorry for the delay.


empty_config_descriptor doesn't create an empty descriptor

The empty descriptor is described in the image manifest doc.
I suggest we change the new_empty_manifest function to return a manifest with an empty config and to change empty_config_descriptor to create an empty config.
It would look something like get_empty_manifest from PuzzleFS. One caveat is that we need to write the actual empty descriptor in the sha256/blobs directory, otherwise other tools complain about the OCI dir structure integrity (e.g. skopeo), since all the blobs referenced from the metadata must exist on the disk.

Well ideally we would use the typestate pattern and have new_empty_manifest return an ImageManifestBuilder<Incomplete> which would then build() an ImageManifest<Incomplete>. Then, insert_manifest_and_config would accept both an ImageManifest<Incomplete> and an ImageManifest<Complete>, but insert_manifest would only accept an ImageManifest<Complete>.
There would also be another function which would take an ImageManifest<Incomplete> and turn it into an ImageManifest<Complete>.
Of course, this is too convoluted and would require changes to the entire oci-spec-rs design. What I was hoping to address with this is the comment from empty_config_descriptor:

/// This digest should never actually be used for anything.

because the type system wouldn't allow you to forget to set an actual valid config.
Implementing my previous comment:

we need to write the actual empty descriptor in the sha256/blobs directory

would be counterproductive because we would then have to delete the empty descriptor when the user would replace the config with its own.
Maybe we can still change the dummy digest with the digest of the empty config (sha256("{}")), though I'm not sure if it brings any value.

Well ideally we would use the typestate pattern

I think that one snowballs in general to https://github.com/containers/oci-spec-rs/issues/242 right?

would be counterproductive because we would then have to delete the empty descriptor when the user would replace the config with its own.

Eh, if we "leak" an empty config descriptor by default that doesn't seem like a big deal. In the general case we need GC (which we don't implement here yet).

Ok, then short-term I will implement the solution which writes the empty config into blobs/sha256 and we live with the two bytes occupied by the {} blob. For the long-term we'll explore the type state builder idea.


JobRunner may see dangling references in jobProps post PR-2786

Post https://github.com/azkaban/azkaban/pull/2786, after JobRunner.createJobParams() is called, the JobRunner may have dangling references in jobProps that it passed in to createJobParams().
This is because in PR-2786, we added the cluster-specific properties to a new instance of Props, finalProps, while still adding properties that may reference cluster-specific ones to jobProps. The finalProps is passed to Job constructors, which is fine. But jobProps might be left with dangling references to cluster-specific properties that can never be resolved.
JobCallbackManager is one place where jobProps of the jobRunner is consumed after JobRunner.createJobParams(). When it tries to resolve jobProps, it fails and drops the callback on the floor.
In this change, we  reimplement PR-2786 by always writing to jobProps and only add cluster-specific properties if they are not already defined in 'jobProps' to main job properties' precedence.

Is Travis CI test disabled?

Pull Request Test Coverage Report for Build 6281

9 of 9 (100.0%)  changed or added relevant lines in 1 file are covered.
17 unchanged lines in 2 files lost coverage.
Overall coverage increased (+0.0008%) to 44.834%

Files with Coverage Reduction
New Missed Lines
%

azkaban-common/src/main/java/azkaban/jobExecutor/AbstractProcessJob.java
2
52.58%

azkaban-common/src/main/java/azkaban/metrics/ContainerizationMetricsImpl.java
15
10.53%

Totals

Change from base Build 6269:
0.0008%

Covered Lines:
17410

Relevant Lines:
38832

💛  - Coveralls


Info Tab Not Displaying

Go to machines, select a machine, pick a location where the machine is (info tab still works here), click the plus sign to add a machine, pick any machine and save, then click info tab.  Even though info is now selected it still shows the machines.

This isn't a NEW issue, so I'm deprioritizing it for the user release. I'll try to get to it if everything else comes together quickly.


[Core-2991] Update ReadMe for Sample Version 2

Update for ReadMe.md Documentation

Update on Features in Version 2
Update on how to get started with version 2

@james-a-rob Can you approve this pr?


Feature: format selection

I'm new to ReScript and I've been trying the VS Code extension with Format on Save enabled. However, I'd like to manually control formatting with the Format Selection command (more on my reasons here). But the extension's formatter only seems to support whole file formatting. Neither Format Selection, nor setting the Format on Save Mode to "modifications", seem to do anything.
This would be an important feature for me since I don't think I can carry on with Format on Save enabled (I don't like some of the formatter's behaviour) but I'd like to stick to standard formatting as much as possible so it would help a lot with that.
I don't know if this is an issue with the extension or with the formatter itself being unable to handle partial content, but I thought I'd create the issue for the component where I experience the problem.

Curious, how does formatting like this typically work? Is it typically resilient to selecting a syntactically invalid ranges?

Hmm, good question. I'd imagine so. In my experience, formatting tools simply tend to terminate (ie. return the remaining contents unchanged) at the point where they encounter a syntax error. Is that not how the ReScript formatter behaves? Would that be enough to make it resilient?
I suppose the other thing to consider is if it's provided a selection which isn't entirely linewise, but I'd perhaps count that as misuse and accept any weird formatting that results.


Run tests for internet explorer and/or microsoft edge on travis

Currently, travis is running tests for only chrome and firefox.
We want IE and MSEdge also.

seems like they both don't support headless mode. :confused:


Add Mike Reid (myself) to the Modernisation Platform Team

User Story
As a new member of the Modernisation Platform team I will need to access all of the core components of the service, including access to the landing zone, github group & the team page. This will be achieved by following the steps set out here - https://user-guide.modernisation-platform.service.justice.gov.uk/runbooks/adding-a-new-team-member.html
Value / Purpose
As a new team member I need to be able to undertake all of the required work & tasks that's required.
Useful Contacts
<EMAIL_ADDRESS>Additional Information
No response
Proposal / Unknowns
Hypothesis If we... [do a thing] Then... [this will happ]
Proposal A proposal that is something testable, don't worry whether it works or not, it's a place for ideas.
Unknowns Potential pitfalls that could cause the story to expand beyond its original scope. Ideally this section will remain blank.
Definition of Done
All steps as set out in https://user-guide.modernisation-platform.service.justice.gov.uk/runbooks/adding-a-new-team-member.html completed & confirmed as working.

Added entry to team page - https://github.com/ministryofjustice/modernisation-platform/pull/5874

Added entry to engineers list - https://github.com/ministryofjustice/modernisation-platform/pull/5876

Added entry to superadmins, created new release & updated IAM - https://github.com/ministryofjustice/modernisation-platform/pull/5887

That's all done.

Tested login via username & password - all working.


Years arrows

Hi,
Is it possible to add arrows to change years next to arrows to change months ?
Thanks !

This seems a bit too specific, there is no plan to add this feature, sorry!


Accessing Children in t.externalComponent.render and Passing Nested JSON Properties as Expressions

Hello,
Firstly, I'd like to thank you for the great library!
I've been facing a couple of challenges that I'd appreciate some guidance on:

Accessing Children in t.componentTemplate.children: I'm having trouble accessing the children that are passed through t.componentTemplate.children. When I attempt to read the values passed to t.externalComponent.render, I can only see properties. Here's a snippet illustrating my issue:

t.externalComponent({
  name: 'Text',
  render: (props: TextProps) => {
    // How can I access the children to render here?
    return <Text {...props} />;
  },
})

Passing JSON Properties as Expressions: I've encountered an issue when trying to pass nested JSON properties as expressions. Currently, I've had to work around this by stringifying these properties and then parsing them on render. Specifically, when I attempt to use t.arrayException or t.objectExpression as a property value on a t.componentTemplate, I'm greeted with a TypeError: Validatation<map> .... Here's a snippet that illustrates my predicament:

t.componentTemplate({
  component: t.identifier({
    name: 'ComponentName',
    external: true,
  }),
  props: {
    // TypeError when passing nested JSON properties
    jsonProp: t.objectExpression({ }),
  },
  children: [],
}),

I'd appreciate any advice on how I can overcome these issues. Moreover, if these are areas that the library could benefit from additional enhancements, I'd be more than willing to contribute.

Thanks for reporting!
Fixes should be released in v0.1.8! 🚀


Adding ESRI Ocean tile layers

Adding ESRI Ocean Base and Ocean Reference layers

This is great thanks!

@philippjfr or @jbednar These layers need to be tested and please check the attributions -- I wasn't quite sure how those worked.

I just tested and they work okay, but I'm still not sure about whether I did the attributions correctly.

Yes, that all looks correct to me.

The attributions code isn't great tbh, but it does the job so far.

I requested one small change otherwise happy to merge.

Thanks again!


feat: add cities of the province of Albacete

I did some progress with my crawler - it creates JSON file with names an flags/coat of arms quickly. But still has to be processed manually. I haven't figured automation out yet.
In the province of Albacete there are several cities without flags and even without coat of arms on Spanish Wiki, so those I left with null values for now.

Thank you very much.


Crashing with MaLiLib

As title ^
Will hopefully fix within the following days.

fixed in v2.2.2


Restrict input to SemVer, unless version-type: strict

This:

bumps dependencies' versions to their latest, where appropriate
trims GitHub Actions' workflows, where appropriate
introduces a new restriction, as discussed below
trims package.json, where appropriate
tweaks getVersionFromSpec/2 in the context of the restriction
adapts test and CI as per the newer restriction

The new restriction (SemVer only for strict)
In cases where we detect the input is not a semantic version AND the version type is not set to strict, we error out, to force changes on the consumer. We already had an error in our flow, as discussed here. By forcing version-type: strict on input we're sure consumers know: 1. this is semver -oriented, 2. whatever they're choosing outside of semver will be respected as such.
It is my experience that it's rare the development community at large targets versions like <IP_ADDRESS>, preferring to stay at the 25.3.x level.
Breaking change?
This is arguably a breaking change (which could see us bumping to @v1) but it can be seen as an extension (thus a patch/feature bump) of recent thoughts and issue fixing.

It is my experience that it's rare the development community at large targets versions like <IP_ADDRESS>, preferring to stay at the 25.3.x level.

Yeah, I agree with that, but the fact remains still that even 25.3.1 is not semver in the case of OTP. However, I think it's fair to say it can be treated like that. I would agree this is a breaking change. So, we're thinking this would result in a new major version then, is that correct?

It'd probably result in a breaking change, yes, depending on:

whether we consider it to be a bug (which it is since we've not been handling it properly), or
we consider it to be a new feature we want the action to present.

I "think" I can try to fit the x.y.z.a versions in the mix (maybe?), but I tried the other day and the solution got so convoluted I rolled back some decisions: I also don't like that I'm forced to write <IP_ADDRESS>, strict, because my consumer's expectation is 25.3.2 is whatever is before 25.4.0, but... Now I got (merge) conflicts, I got solve those and we can continue discussing this to see what our common expectation is.

I rebased to resolve merge conflict and increased complexity for getVersionFromSpec/2 (hopefully not by much) so we can keep previous behaviour but make the code easier to maintain, also...

@starbelly?

Sure. We can merge and delay release. That'll give me a chance to update the other pull request I have opened.

Force-pushing to resolve merge conflicts. If no actions show issues I'm squash-merging.

Thank you @paulo-ferraz-oliveira! It seems this PR removed support for maint/master from OTP git, which Elixir relies on. Was it intentional?

It seems this PR removed support for maint/master from OTP git, which Elixir relies on. Was it intentional?

👋 It wasn't. I'll look at the pull request.


feat(ui): move to React 18 and base for using shadcn/ui

🚀 Move to React 18 and shadcn/ui
We're excited to announce that we're upgrading to React 18 and transitioning our UI components to shadcn/ui 🎉
Why React 18?

React 18 was released in March 2022 and brings new features like concurrent rendering and automatic batching
Most shadcn/ui components require React ^18, so this upgrade is necessary for our UI transition

Why shadcn/ui?
TLDR: Maintaining a customizable, responsive, and accessible component library is challenging and time consuming...
But the main question is basically why radix-ui, since shadcn/ui is basically radix + tailwindcss. radix-ui is a headless library that is highly customizable and accessible.

Maintaining our own component library has become tiresome and time-consuming, and Radix Primitives has proven to be a great alternative for streamlining the UI development process.
We still like Tailwind CSS (looking at you, StyleX...).
We're pushing for a more responsive and modern user interface.
We want to improve accessibility in our user interface.
We want to focus our resources on core features like rendering, segmentation, and processing.

What's Next?

We'll be gradually transitioning components to shadcn/ui over the coming months in a new platofmr/ui-next or @ohif/ui-next
Our design system will be applied to the new components to maintain a consistent look and feel

Migration Guide
It should not be a big deal.

In any of your custom extensions and modes, you need to change the version of react and react-dom to ^18.3.1.
There will be errors regarding the defaultProps, so you need to change how your custom components are defined.

before
const MyComponent = ({ prop1, prop2 }) => {
  return
{prop1} {prop2}

}

MyComponent.defaultProps = {
  prop1: 'default value',
  prop2: 'default value'
}

after
const MyComponent = ({ prop1 = 'default value', prop2 = 'default value' }) => {
  return
{prop1} {prop2}

}

Todos
Seems like the SVG import currently causes some warnings in the console. This is related to the babel-plugin-inline-react-svg from Airbnb, which needs to move away from defaultProps to spread props for React 18. It appears they are working on resolving this issue. See https://github.com/airbnb/babel-plugin-inline-react-svg/pull/86
For developers adding new shadcn/ui to the

Copy the code from shadcn/ui, and put it in the @ohif/ui-next under Components
Follow the export pattern (default vs named)

Great, Great Great !

We are making progress, there's only two issues left:

react-resize-detector should be updated to latest, current doesn't support this react
react-dates is outdated, and no solution for this one because the package is dead, but its fine since we'll replace the data picker soon anyway, I can't see any other warnings anywhere

The cypress is failing because its running out of memory in CircleCI, the server exits with process code 1, we might need to increase the memory for CircleCI or run the server in the background instead of the same job as the test.

Two issues remaining:

react-dates
cypress memory issue

Cypress has been fixed.
The only warnings in the console right now are two warnings from react-dates, otherwise everything works as expected.

The following is now resolved:

Migrated from babel-inline-svg to svgr
Replaced react-dates with a new component
Upgraded react-resize-detector
Fixed cypress in CI


[Concurrency] Check actor isolation in TapExprs

The actor isolation checker wasn't checking that tap expressions weren't
incorrectly using actor-isolated state. As a result, we could read actor
isolated state anywhere we wanted to. This was most prominent in string
interpolations.
I think it's okay if the ActorIsolationChecker checks the contents of a TapExpr.
I've only seen them in string interpolations, so if I'm missing test cases, definitely call them out please.
rdar://74397425

@swift-ci please smoke test


As a responsible FYP student, I can check my upcoming deadlines with an option to see yet-to-submit deliverables

... so that I will not miss any submission deadlines by accident.

Closed by #111


Pattgen lint enable

This commit is to be built on top of #3844.  The goal is to enable the linting subsystem for pattgen CI.
This initial pair of commits includes a number of RTL files, but those will vanish once #3844 is merged.

@imphil: Thanks to your corrections, the CI now works.  Thanks!


Add '--expand-features-to-instances' arg to fontmake UFO generation

UFOs can use relative include statements to import feature files, which is very helpful in the case of a family that has many UFO sources, but just one feature file required. Or, it’s helpful if there are many features, and several complex ones, so they are split into multiple files (example: a Recursive UFO source and its features directory).
Currently, the Builder just brings the include statement directly into the instance UFOs, but then the relative paths are broken, so the fonts don’t build.
fontmake: Error: Compiling UFO failed: <features>:1:8: The following feature file should be included but cannot be found: ./features/features.fea

However, it is very easy to support by adding the arg --expand-features-to-instances to the UFO instantiation step, as I have done in this PR.
I’ve tested this on a UFO-based family (with includes) and a Glyphs-based family (with normal Glyphs-based features), and it seems to work well in both cases. The features are built into the fonts, as expected.
I’m not aware of any downsides or hidden issues with adding this, but they might exist. If any are known, I would be very interested in learning about such cases.
Please let me know if you have any questions or suggestions here! Thanks so much.

Oh, I’ve also just realized that the current config option for this seems to activately prevent a build from working.
After I tested the above solution on a config that included expandFeaturesToInstances: true, the build failed with this:
[229/1410] buildTTF
FAILED: /var/folders/nb/mc9zt2n930vd_jkbg0kn2d680000gn/T/tmp8ertvdij
/Users/stephennixon/venv/bin/python -m gftools.builder.jobrunner fontmake --output-path /var/folders/nb/mc9zt2n930vd_jkbg0kn2d680000gn/T/tmp8ertvdij -o ttf -u sources/ufo/instance_ufos/FamilynameExtraCompressed-Hairline.ufo.json --filter ...  --filter FlattenComponentsFilter --filter DecomposeTransformedComponentsFilter --expand-features-to-instances

Command failed:
fontmake --output-path /var/folders/nb/mc9zt2n930vd_jkbg0kn2d680000gn/T/tmp8ertvdij -o ttf -u sources/ufo/instance_ufos/FamilynameExtraCompressed-Hairline.ufo.json --filter ... --filter FlattenComponentsFilter --filter DecomposeTransformedComponentsFilter --expand-features-to-instances

usage: fontmake [-h] [--version] [-g GLYPHS | -u UFO [UFO ...] | -m
                DESIGNSPACE] [--glyph-data GLYPHDATA] [-o FORMAT [FORMAT ...]]
                # etc etc etc

fontmake: error: "--expand-features-to-instances" option invalid for UFO source

Let me check if I can get it to work with that config option removed.

Thanks, @m4rc1e! I believe it’s now formatted as desired. It seems to need approval to run the workflow to verify that, though.

Okay, thanks for taking a look and for suggesting that update! Fair enough.  It’s also described in the docs. This PR merely makes it work as already described.
https://github.com/googlefonts/gftools/blob/d23ad2110b68b06327d6d8f81b4eb50f5912fa7e/Lib/gftools/builder/schema.py#L102-L104
https://github.com/googlefonts/gftools/blob/d23ad2110b68b06327d6d8f81b4eb50f5912fa7e/docs/gftools-builder/README.md#L170-L172

In the past, @anthrotype has suggested that this option should be the default:

We should make that the default...

The builder seems like a place it might make sense to do that, and that’s why I figured it was documented as such. Or, do you think it’s important to keep it non-default? I don’t think it would be a breaking chance to make it default, as I don’t think it blocks features that are already flattened into each source.


Host key signing?

I'm wondering if thought has been put into having ssh-cert-authority not only handle signing user keys, but also host keys? A similar challenge exists when one wants to sign host keys to allow for consistent known_hosts files. The CA's private key is needed to sign the public keys, and having the private key copied to the hosts is not desirable. The result is needing to copy public keys back and forth, which is part of what this project solves.

Thoughts, yes. In general I worry about authenticating systems on boot.
It's super simple to just auto-sign any host that boots. Unfortunately this is about as useful as simply typing "yes" when prompted by the ssh client.
In the old project, ssh-ca, there's a script I wrote to ease signing host certs: https://github.com/cloudtools/ssh-ca/blob/master/scripts/sign_host_key . On long-lived systems (there are very few of these) at my employer we've used this to sign the host certs.
To automate this we need authentication. We need something that can reliably know a host was supposed to boot, it actually booted, it booted the OS we wanted it to boot it has a key fingerprint of x and then when we generate and sign the host certificate against the host's actual private host key.
And that's a hard problem.
That said, that's getting a bit idealistic. Really what we should aim to do is improve, at least slightly, on current real world behavior of simply typing yes. If we could do simple things like parse EC2 console output to rip out the host key fingerprints and use that as our source of authentication that might be better than the current state of the world. The flow might be:

Instance boots
Instance asks ssh-cert-authority to sign its host cert
ssh-cert-authority gets the system console log for the instance id referenced by the IP that connected to us
If the fingerprints in the log match the fingerprints in the cert request then we sign it
The host polls for its signed cert, downloads it and installs it.

Those are some of the ideas I have so far. Any different thoughts for how it might work?

Hey @bobveznat, you raise some good points, and our intention was to perform some independent validation of the host and not blindly sign the certificates. In our case, we would have new cloud instances boot up, and in a cloud-init config perform the following:

Generate the host keys.
Call some HTTP service (such as ssh-cert-authority) and pass along the public key, along with the UUID of the instance, which can be fetched from cloud-init.
The HTTP service would independently verify the UUID of the instance with the cloud's API to ensure this is from a new server that is being built.
Sign the certificate and pass it back for the host to install.

Very similar to your thought process. Most clouds support the use of cloud-init, but not all allow direct programatic access to the console.
Thoughts?

@bobveznat now that #6 is out the door, I wonder if we can revisit this particular issue. Being able ti sign host keys would be a huge boost in security for most ephemeral cloud environments, as we've become all to used to simply typing yes when SSH asks us to verify the host. Would it be possible to leverage the capabilities of #6 to sign host keys, leaving the task of verification of the requests to the implementors?

Yeah, I'm still thinking about this. Kind of waiting to hope I come up with a simple solution.
One avenue of thinking is using the instance identity document which work well for EC2 instances but no other CSP that I'm aware of (Though I've formally requested similar functionality from GCE). Are you an Amazon shop?

@bobveznat we're actually a multi-cloud user, but primary use CloudStack. CloudStack has the same mechanism's as AWS' instance identity document. cloud-init is supported by CloudStack as well and AWS, and the request process can be kicked off from this.
However, I assume the line of thinking is the server process would accept these unique IDs, and perform some sort of independent lookup using the CSP's native APIs to validate the system?
Perhaps to keep the scope in check, the server can call out to an external script that is user-maintained to verify the information passed by the requester?


[core] Add options for user-specified min field length

Allow user to specify the following parameters in CoreWorkload

the minimum field length for request generation via property  minfieldlength
the minimum number of records to scan via property minscanlength

The original value of both parameters ("1") is retained as their default values.

thanks!


[FLINK-14466][runtime] Let YarnJobClusterEntrypoint use user code class loader

What is the purpose of the change
This pull request will let YarnJobClusterEntrypoint use the user code class loader if setting the yarn.per-job-cluster.include-user-jar to "DISABLE".
Brief change log

YarnClusterDescriptor does not put the user jars to the system classpath and put the user jar to the "usrlib" dir if setting yarn.per-job-cluster.include-user-jar to "DISABLE".
FileJobGraphRetriever adds the user classpath to the JobGraph if it is not empty.

Verifying this change
This change added tests and can be verified as follows:

Added integration test for verifying that YarnJobClusterEntrypoint could use user code class loader
Added integration test for verifying that the user will get notified error if there is a ship dir, whose name is "usrlib" when setting yarn.per-job-cluster.include-user-jar to "DISABLE".

Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (no)
The public API, i.e., is any changed class annotated with @Public(Evolving): (no)
The serializers: (no)
The runtime per-record code paths (performance sensitive): (no)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Yarn/Mesos, ZooKeeper: (yes)
The S3 file system connector: (no)

Documentation

Does this pull request introduce a new feature? (yes)

18:38:05.875 [ERROR] Failures:
18:38:05.875 [ERROR]   ConfigOptionsDocsCompletenessITCase.testFullReferenceCompleteness:76->compareDocumentedAndExistingOptions:118 Documentation is outdated, please regenerate it according to the instructions in flink-docs/README.md.
	Problems:
		Documented description of yarn.per-job-cluster.include-user-jar in class org.apache.flink.yarn.configuration.YarnConfigOptions is outdated.

Thanks @GJL for your time. I address some review comments. Feel free to comment on it.
Thanks again.

as for document side, I think document in ops/deployment/yarn_setup.html#start-flink-session should be updated.

Documentation
Does this pull request introduce a new feature? (no)

we do add a new feature here.

as for document side, I think document in ops/deployment/yarn_setup.html#start-flink-session should be updated.

Do you mean https://ci.apache.org/projects/flink/flink-docs-master/ops/deployment/yarn_setup.html#user-jars--classpath ?

Merging. Documentation can be fixed later.

as for document side, I think document in ops/deployment/yarn_setup.html#start-flink-session should be updated.

Do you mean https://ci.apache.org/projects/flink/flink-docs-master/ops/deployment/yarn_setup.html#user-jars--classpath ?

yes.

as for document side, I think document in ops/deployment/yarn_setup.html#start-flink-session should be updated.

Do you mean https://ci.apache.org/projects/flink/flink-docs-master/ops/deployment/yarn_setup.html#user-jars--classpath ?

yes.

I think the document is no problem.

as for document side, I think document in ops/deployment/yarn_setup.html#start-flink-session should be updated.

Do you mean https://ci.apache.org/projects/flink/flink-docs-master/ops/deployment/yarn_setup.html#user-jars--classpath ?

yes.

I think the document is no problem.

Thanks for your reminder. I think I refer to 1.9 document then.
A bit nitpicking: we can list DISABLE along with other options instead of list it alone. It might be more for user-friendly purpose and a matter of opinion.


This browser or app may not be secure warning shown when connecting with Google

Summary
I'm shown a security error from Google when trying to open the app.
Steps taken

Install via snap
Run tusk
Connect with Google.

Device

Screenshots

For the record I just decoupled my account from Google, and logged in normally and it all works fine barring the dark theme.

Would it be alright to ask what do you mean by "decoupled"? I'm facing the same problem trying to install Tusk in my newly install Kubuntu 19.10. And I apologize, English is not my first language ^^;

Sure, not a problem. I went into the settings on Evernotes web app and unlinked my google account; it then asked me to enter a password since it was using Google for auth.
After that on Tusk I could log in without having to sign in with Google.
Lemme know if you need a hand and I'll take a few screenshots as on mobile at the moment.

That worked! Thank you for being my hero, @bhayward93! :D
And you're right, dark mode doesn't seem to work.
Thanks again! Hope you're safe and healthy in body and mind :D


Merge main to live 1/26/24

This pull request primarily updates the content in several markdown files within the community-content directory. The changes include the addition of new content, updates to existing content, and the inclusion of new resources.
Content updates:

community-content/content/AzTerraform-Deploy-Resource-Group-and-Azure-Blob-Storage.md: The introduction has been updated to clarify the purpose of the post, which is to demonstrate how to deploy Azure Blob Storage within an Azure Resource Group using Terraform language with the AzureRM module. The prerequisites have also been updated to specify an active Azure subscription and an Internet browser for using Azure Cloud Shell.

community-content/index.md: The section about learning from authors has been updated to encourage readers to provide feedback on articles using the Feedback button at the top of the page. A new section has also been added to guide readers on how to correct errors in content either in their browser or locally on their machine.

Resource additions:

community-content/learn-with/ryan-oconnell.yml: A new social link to a blog has been added under the componentType: social-link section. Additionally, a new resource for Microsoft Sentinel hands-on training for beginners has been added to the Resources grid card section. This new resource includes a title, summary, URL, and an icon.

#sign-off


Anima Patches show incorrectly

Anima patches show in infobox as  "Dead" "Yo ur anima patch is ready for replacement" however nothing has ever been planted in it (I don't even have the level to get to it).
Time tracker normal runelite pluin has it being empty and saying "Done".
I'm currently on the setting "Only show harvestable" -> but clicking the box both shows the anima patch as "Dead" no matter what.

This is currently intentional - if it's empty it assumes you have to do something to fix it. You can disable it until you have the level for it :)


Support VpcEndpoint

This is the proposed API:
ec2_vpc_endpoint 'TestVpcEndpoint' do
  service 's3'
  vpc 'vpc-foo'
  route_tables %w(table1 table2)

  allow do
    s3_resource 'bucket-bar', '*'
    action 's3:GetObject'
  end
end

How will this work in razor-convection to pull out the route table id from a particular subnet on a vpc,  to feed it in the api?

@alee-r7 the vpc template would need to integrate this change.  I'm not sure if we want all, or a subset of, subnets to use a VPC Endpoint.  Furthermore, does it mean we have to add a policy for EVERY bucket to the VPC Endpoint?  I haven't fully read the docs, admittedly.
I'm not even sure if the razor-prod-1 vpc stack is still managed by convection.

@simonirwin-r7: Yeah so 2 options we have. Create a universal vpc endpoint within the vpc for all subnets to use the endpoint. This will probably mean the endpoint policy will allow everything.
An alternative is to create a specific vpc endpoint for just one or two subnets that have a more restrictive policy. This approach would can be more focused on the particular feature and thus can be defined in a non vpc stack like assetui for example. Of course, this would mean assetui would have to ask the vpc stack for the route table id for subnet veyron.

:ship:
I think we should give it a try.


chore: adding component governance to build

Description
Adding Component governance to the build to enable failure on error and deleting all package manager files before it is run.
Specific Changes

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage remained the same at 84.548%

Files with Coverage Reduction
New Missed Lines
%

libraries/botbuilder-lg/src/templateExtensions.ts
1
84.48%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
19667

Relevant Lines:
22035

💛  - Coveralls


Unbound fails to resolve certain domains when going from 1.11 to 1.12

I'm experiencing failure to resolve certain domains after upgrading from unbound 1.11 to 1.12. I have confirmed that switching between these versions has direct impact on the issue. Also disabling DNSSEC validation, by commenting out the trust-anchor-file will resolve the problem (at the cost of disabling DNSSEC of course) which makes be believe that this is an DNSSEC issue.
I'm running unbound 1.12 on Arch Linux using the exact config below for both tests on 1.11 and 1.12. The build script used by Arch Linux is available here: https://github.com/archlinux/svntogit-community/blob/packages/unbound/trunk/PKGBUILD
server:
        do-daemonize: no

        # logging
        verbosity: 9
        use-syslog: yes
        log-queries: no

        # logs why dnssec validation failed
        val-log-level: 2

        # process chroots itself in /etc/unbound
        #logfile: dnslog.txt

        # root dns config
        root-hints: "/etc/unbound/named.cache"

        # this file will be copied from /etc/trusted-key by the unbound.server
        trust-anchor-file: /etc/unbound/trusted-key.key
        #auto-trust-anchor-file: /etc/unbound/trusted-key.key

        # bind to localhost for dnsmasq to redirect
        do-tcp: no
        do-ip6: no
        access-control: <IP_ADDRESS>/8 allow
        interface: <IP_ADDRESS>
        port: 10053

        # caching
        msg-cache-size: 4m
        msg-cache-slabs: 4

        # security
        hide-identity: no
        hide-version: no
        use-caps-for-id: no
        unwanted-reply-threshold: 10000000

        # misc
        do-not-query-localhost: yes
        prefetch: yes

        # disables mozilla (and google?) dns over https
        local-zone: "use-application-dns.net" static

Multiple domains are affected by this issue:

fedoraproject.org
unitymedia.de
a few other that I have no record of (took me a while to realize it's an dns issue)

Below is the log output of unbound 1.12 while trying to resolve the A record of fedoraproject.org
info: sending query: fedoraproject.org. DNSKEY IN
debug: sending to target: <fedoraproject.org.> <IP_ADDRESS>#53
debug: dnssec status: expected
debug: EDNS lookup known=1 vs=0
debug: serviced query UDP timeout=477 msec
debug: inserted new pending reply id=3ab3
debug: opened UDP if=0 port=21121
debug: comm point start listening 10 (-1 msec)
debug: mesh_run: iterator module exit state is module_wait_reply
info: mesh_run: end 10 recursion states (9 with reply, 0 detached), 9 waiting replies, 0 recursion replies sent, 0 replies dropped, 0 states jostled out
info: 0vRDCD mod2  fedoraproject.org. DNSKEY IN
info: 1RDdc mod1 rep fedoraproject.org. A IN
info: 2RDdc mod1 rep fedoraproject.org. A IN
info: 3RDdc mod1 rep fedoraproject.org. A IN
info: 4RDdc mod1 rep fedoraproject.org. A IN
info: 5RDdc mod1 rep fedoraproject.org. A IN
info: 6RDdc mod1 rep fedoraproject.org. A IN
info: 7RDdc mod1 rep fedoraproject.org. A IN
info: 8RDdc mod1 rep fedoraproject.org. A IN
info: 9RDdc mod1 rep fedoraproject.org. A IN
debug: cache memory msg=67956 rrset=84388 infra=10260 val=68606 subnet=74504
debug: svcd callbacks end
debug: answer cb
debug: Incoming reply id = 3ab3
debug: Incoming reply addr = ip4 <IP_ADDRESS> port 53 (len 16)
debug: lookup size is 1 entries
debug: received udp reply.
debug: udp message[46:0] 3AB3861000010000000000010D6665646F726170726F6A656374036F726700003000010000291000000080000000
debug: outnet handle udp reply
debug: measured roundtrip at 134 msec
debug: initiate TCP query EDNS
debug: close of port 21121
debug: close fd 10
debug: tcp error for address ip4 <IP_ADDRESS> port 53 (len 16)
debug: svcd callbacks start
debug: worker svcd callback for qstate 0x55c28f1745a0
debug: mesh_run: start
debug: iterator[module 2] operate: extstate:module_wait_reply event:module_event_noreply
info: iterator operate: query fedoraproject.org. DNSKEY IN
debug: process_response: new external response event
debug: iter_handle processing q with state QUERY RESPONSE STATE
debug: query response was timeout
debug: iter_handle processing q with state QUERY TARGETS STATE
info: processQueryTargets: fedoraproject.org. DNSKEY IN
debug: processQueryTargets: targetqueries 0, currentqueries 0 sentcount 7
info: DelegationPoint<fedoraproject.org.>: 4 names (0 missing), 6 addrs (6 result, 0 avail) cacheNS
info:   ns05.fedoraproject.org. * A AAAA
info:   ns-iad01.fedoraproject.org. * A
info:   ns02.fedoraproject.org. * A AAAA
info:   ns-iad02.fedoraproject.org. * A
debug:    ip4 <IP_ADDRESS> port 53 (len 16)
debug:    ip6 2610:28:3090:3001:dead:beef:cafe:fed5 port 53 (len 28)
debug:    ip4 <IP_ADDRESS> port 53 (len 16)
debug:    ip4 <IP_ADDRESS> port 53 (len 16)
debug:    ip6 2001:4178:2:1269:dead:beef:cafe:fed5 port 53 (len 28)
debug:    ip4 <IP_ADDRESS> port 53 (len 16)
debug: servselect ip4 <IP_ADDRESS> port 53 (len 16)
debug:    rtt=481
debug: servselect ip4 <IP_ADDRESS> port 53 (len 16)
debug:    rtt=436
debug: servselect ip4 <IP_ADDRESS> port 53 (len 16)
debug:    rtt=459
debug: servselect ip4 <IP_ADDRESS> port 53 (len 16)
debug:    rtt=306
debug: selrtt 306
info: sending query: fedoraproject.org. DNSKEY IN
debug: sending to target: <fedoraproject.org.> <IP_ADDRESS>#53
debug: dnssec status: expected
debug: EDNS lookup known=1 vs=0
debug: serviced query UDP timeout=306 msec
debug: inserted new pending reply id=f118
debug: opened UDP if=0 port=35132
debug: comm point start listening 10 (-1 msec)
debug: mesh_run: iterator module exit state is module_wait_reply
info: mesh_run: end 10 recursion states (9 with reply, 0 detached), 9 waiting replies, 0 recursion replies sent, 0 replies dropped, 0 states jostled out
info: 0vRDCD mod2  fedoraproject.org. DNSKEY IN
info: 1RDdc mod1 rep fedoraproject.org. A IN
info: 2RDdc mod1 rep fedoraproject.org. A IN
info: 3RDdc mod1 rep fedoraproject.org. A IN
info: 4RDdc mod1 rep fedoraproject.org. A IN
info: 5RDdc mod1 rep fedoraproject.org. A IN
info: 6RDdc mod1 rep fedoraproject.org. A IN
info: 7RDdc mod1 rep fedoraproject.org. A IN
info: 8RDdc mod1 rep fedoraproject.org. A IN
info: 9RDdc mod1 rep fedoraproject.org. A IN
debug: cache memory msg=67956 rrset=84388 infra=10260 val=68606 subnet=74504
debug: svcd callbacks end
debug: answer cb
debug: Incoming reply id = f118
debug: Incoming reply addr = ip4 <IP_ADDRESS> port 53 (len 16)
debug: lookup size is 1 entries
debug: received udp reply.
debug: udp message[46:0] F118861000010000000000010D6665646F726170726F6A656374036F726700003000010000291000000080000000
debug: outnet handle udp reply
debug: measured roundtrip at 22 msec
debug: initiate TCP query EDNS
debug: close of port 35132
debug: close fd 10
debug: tcp error for address ip4 <IP_ADDRESS> port 53 (len 16)
debug: svcd callbacks start
debug: worker svcd callback for qstate 0x55c28f1745a0
debug: mesh_run: start
debug: iterator[module 2] operate: extstate:module_wait_reply event:module_event_noreply
info: iterator operate: query fedoraproject.org. DNSKEY IN
debug: process_response: new external response event
debug: iter_handle processing q with state QUERY RESPONSE STATE
debug: query response was timeout
debug: iter_handle processing q with state QUERY TARGETS STATE
info: processQueryTargets: fedoraproject.org. DNSKEY IN
debug: processQueryTargets: targetqueries 0, currentqueries 0 sentcount 8
info: DelegationPoint<fedoraproject.org.>: 4 names (0 missing), 6 addrs (6 result, 0 avail) cacheNS
info:   ns05.fedoraproject.org. * A AAAA
info:   ns-iad01.fedoraproject.org. * A
info:   ns02.fedoraproject.org. * A AAAA
info:   ns-iad02.fedoraproject.org. * A
debug:    ip4 <IP_ADDRESS> port 53 (len 16)
debug:    ip6 2610:28:3090:3001:dead:beef:cafe:fed5 port 53 (len 28)
debug:    ip4 <IP_ADDRESS> port 53 (len 16)
debug:    ip4 <IP_ADDRESS> port 53 (len 16)
debug:    ip6 2001:4178:2:1269:dead:beef:cafe:fed5 port 53 (len 28)
debug:    ip4 <IP_ADDRESS> port 53 (len 16)
debug: servselect ip4 <IP_ADDRESS> port 53 (len 16)
debug:    rtt=252
debug: servselect ip4 <IP_ADDRESS> port 53 (len 16)
debug:    rtt=459
debug: servselect ip4 <IP_ADDRESS> port 53 (len 16)
debug:    rtt=436
debug: servselect ip4 <IP_ADDRESS> port 53 (len 16)
debug:    rtt=481
debug: selrtt 252
info: sending query: fedoraproject.org. DNSKEY IN
debug: sending to target: <fedoraproject.org.> <IP_ADDRESS>#53
debug: dnssec status: expected
debug: EDNS lookup known=1 vs=0
debug: serviced query UDP timeout=252 msec
debug: inserted new pending reply id=cc8f
debug: opened UDP if=0 port=14758
debug: comm point start listening 10 (-1 msec)
debug: mesh_run: iterator module exit state is module_wait_reply
info: mesh_run: end 10 recursion states (9 with reply, 0 detached), 9 waiting replies, 0 recursion replies sent, 0 replies dropped, 0 states jostled out
info: 0vRDCD mod2  fedoraproject.org. DNSKEY IN
info: 1RDdc mod1 rep fedoraproject.org. A IN
info: 2RDdc mod1 rep fedoraproject.org. A IN
info: 3RDdc mod1 rep fedoraproject.org. A IN
info: 4RDdc mod1 rep fedoraproject.org. A IN
info: 5RDdc mod1 rep fedoraproject.org. A IN
info: 6RDdc mod1 rep fedoraproject.org. A IN
info: 7RDdc mod1 rep fedoraproject.org. A IN
info: 8RDdc mod1 rep fedoraproject.org. A IN
info: 9RDdc mod1 rep fedoraproject.org. A IN
debug: cache memory msg=67956 rrset=84388 infra=10260 val=68606 subnet=74504
debug: svcd callbacks end
debug: answer cb
debug: Incoming reply id = cc8f
debug: Incoming reply addr = ip4 <IP_ADDRESS> port 53 (len 16)
debug: lookup size is 1 entries
debug: received udp reply.
debug: udp message[46:0] CC8F861000010000000000010D6665646F726170726F6A656374036F726700003000010000291000000080000000
debug: outnet handle udp reply
debug: measured roundtrip at 22 msec
debug: initiate TCP query EDNS
debug: close of port 14758
debug: close fd 10

(The log output seems to repeat a few times in an attempt by unbound to reattempt validation before failing)
Ignore the fact that unbound is running behind an dnsmasq. All testing was done directly on unbound with dnsmasq stopped. I've cross-checked my configuration with multiple sources and have no idea what I am doing wrong, which makes me believe that maybe there is an issue with unbound. Even though I couldn't find any related issue.
Please tell me if I need to provide additional information.

The issue seems to be this line debug: tcp error for address ip4 <IP_ADDRESS> port 53 (len 16).  It is happening because DNSSEC is enabled, and thus larger answers need to be retrieved, just before that the UDP query returns +TC for tcp backoff.  But then the tcp connection fails.
Could it be that in the new version tcp fast open is enabled and this causes all tcp connections to fail?  And then domains where the DNSSEC information is a bit larger then one packet need TCP but they fail because lookups are not possible.  Or maybe something else related to TCP, for example a firewall, I am guessing closer to you not the fedoraproject.org site, is rejecting TCP traffic.
If I attempt to resolve the fedoraproject.org name with the latest version (1.13.0rc4) it works just fine, but then the TCP succeeds for me.  From the output I can see the site is in DNSSEC algorithm rollover, and because of that there is a double set of keys, and this causes a larger output than usual.  That makes it not fit in one packet, and thus it falls back to TCP.  This is for the fedoraproject.org query of type DNSKEY.

Unbound 1.13.0rc4 build on Linux Kernel 4.19.16 with --enable-tfo-client & --enable-tfo-server, error:
unbound: message repeated 95 times: [ [6702:1] error: read (in tcp s): Transport endpoint is not connected for xxx.xxx.xxx.xxx port 53
without tfo, no more errors.

Thank you very much for your time and for the hint with the TCP error. As you can see I had do-tcp: no set. I tried changing it to yes and can confirm that this is causing the TCP error. No other external factors involed.
Running the above config on unbound 1.12 and do-tcp: yes works without problems.

Thanks for the do-tcp issue fix, that closes the issue.  For the tfo fix, there is nothing I can really do for you, but give hints to disable tfo in that case.  I'll see if I can add a error printout text, and this is committed and may help others figure out their TCP Fast Open settings too.

unbound upgraded to 1.13 last night on our Fedora 33 server and DNS stopped resolving, many instances of the following with the different IPs associated with unbound:
unbound[3169826]: [3169826:0] error: read (in tcp s): Connection refused for <IP_ADDRESS> port 53
Using the default configuration.

Perhaps this is a firewall issue?  It means unbound makes a tcp connection to that IP address at port 53 but the tcp result was connection refused.  It is not possible to perform tcp traffic to that place, it seems.

Perhaps this is a firewall issue? It means unbound makes a tcp connection to that IP address at port 53 but the tcp result was connection refused. It is not possible to perform tcp traffic to that place, it seems.

No changes were made to firewalld. We do use Fail2ban. I increased the logging verbosity to 2 and set val-log-level: 1
Feb 22 10:30:02 storm unbound[3180577]: [3180577:0] error: tcp connect: Connection refused for <IP_ADDRESS> port 53
Feb 22 10:30:02 storm unbound[3180577]: [3180577:0] error: tcp connect: Connection refused for <IP_ADDRESS> port 53
Feb 22 10:30:02 storm unbound[3180577]: [3180577:0] error: tcp connect: Connection refused for <IP_ADDRESS> port 53
Feb 22 10:30:10 storm unbound[3180577]: [3180577:0] info: resolving <IP_ADDRESS>.in-addr.arpa. PTR IN
Feb 22 10:30:10 storm unbound[3180577]: [3180577:0] info: resolving <IP_ADDRESS>.in-addr.arpa. PTR IN
Feb 22 10:30:10 storm unbound[3180577]: [3180577:0] info: priming . IN NS
Feb 22 10:30:10 storm unbound[3180577]: [3180577:0] info: resolving . DNSKEY IN
Feb 22 10:30:10 storm unbound[3180577]: [3180577:0] info: resolving . DNSKEY IN
Feb 22 10:30:10 storm unbound[3180577]: [3180577:0] info: priming . IN NS
Feb 22 10:30:10 storm unbound[3180577]: [3180577:0] info: response for . NS IN
Feb 22 10:30:10 storm unbound[3180577]: [3180577:0] info: reply from <.> <IP_ADDRESS>#53
Feb 22 10:30:10 storm unbound[3180577]: [3180577:0] info: query response was ANSWER
Feb 22 10:30:10 storm unbound[3180577]: [3180577:0] info: priming successful for . NS IN
Feb 22 10:30:10 storm unbound[3180577]: [3180577:0] info: priming successful for . NS IN
Feb 22 10:30:10 storm unbound[3180577]: [3180577:0] info: resolving . NS IN
Feb 22 10:30:10 storm unbound[3180577]: [3180577:0] info: prime trust anchor
Feb 22 10:30:10 storm unbound[3180577]: [3180577:0] info: error sending query to auth server 2001:500:2f::f port 53
Feb 22 10:30:10 storm unbound[3180577]: [3180577:0] info: error sending query to auth server 2001:7fe::53 port 53
Feb 22 10:30:10 storm unbound[3180577]: [3180577:0] info: resolving a.root-servers.net. AAAA IN
Feb 22 10:30:10 storm unbound[3180577]: [3180577:0] info: resolving a.root-servers.net. AAAA IN
Feb 22 10:30:10 storm unbound[3180577]: [3180577:0] info: resolving b.root-servers.net. AAAA IN
Feb 22 10:30:10 storm unbound[3180577]: [3180577:0] info: resolving b.root-servers.net. AAAA IN
Feb 22 10:30:10 storm unbound[3180577]: [3180577:0] info: error sending query to auth server 2001:503:ba3e::2:30 port 53
Feb 22 10:30:10 storm unbound[3180577]: [3180577:0] info: error sending query to auth server 2001:7fd::1 port 53
Feb 22 10:30:10 storm unbound[3180577]: [3180577:0] info: resolving c.root-servers.net. AAAA IN
Feb 22 10:30:10 storm unbound[3180577]: [3180577:0] info: resolving c.root-servers.net. AAAA IN
Feb 22 10:30:10 storm unbound[3180577]: [3180577:0] info: error sending query to auth server 2001:500:9f::42 port 53
Feb 22 10:30:10 storm unbound[3180577]: [3180577:0] info: error sending query to auth server 2001:503:ba3e::2:30 port 53
Feb 22 10:30:10 storm unbound[3180577]: [3180577:0] info: error sending query to auth server 2001:500:a8::e port 53
Feb 22 10:30:10 storm unbound[3180577]: [3180577:0] info: error sending query to auth server 2001:500:2f::f port 53
Feb 22 10:30:10 storm unbound[3180577]: [3180577:0] info: error sending query to auth server 2001:500:200::b port 53
Feb 22 10:30:10 storm unbound[3180577]: [3180577:0] info: error sending query to auth server 2001:500:200::b port 53
Feb 22 10:30:10 storm unbound[3180577]: [3180577:0] info: error sending query to auth server 2001:500:200::b port 53
Feb 22 10:30:10 storm unbound[3180577]: [3180577:0] info: resolving d.root-servers.net. AAAA IN
Feb 22 10:30:10 storm unbound[3180577]: [3180577:0] info: resolving d.root-servers.net. AAAA IN
Feb 22 10:30:10 storm unbound[3180577]: [3180577:0] info: error sending query to auth server 2001:500:12::d0d port 53
Feb 22 10:30:10 storm unbound[3180577]: [3180577:0] info: error sending query to auth server 2001:503:c27::2:30 port 53
Feb 22 10:30:10 storm unbound[3180577]: [3180577:0] info: error sending query to auth server 2001:500:a8::e port 53
Feb 22 10:30:10 storm unbound[3180577]: [3180577:0] info: error sending query to auth server 2001:500:2d::d port 53
Feb 22 10:30:10 storm unbound[3180577]: [3180577:0] info: resolving e.root-servers.net. AAAA IN
Feb 22 10:30:10 storm unbound[3180577]: [3180577:0] info: resolving e.root-servers.net. AAAA IN
Feb 22 10:30:10 storm unbound[3180577]: [3180577:0] info: error sending query to auth server 2001:503:c27::2:30 port 53
Feb 22 10:30:10 storm unbound[3180577]: [3180577:0] info: error sending query to auth server 2001:500:9f::42 port 53
Feb 22 10:30:10 storm unbound[3180577]: [3180577:0] info: error sending query to auth server 2001:503:ba3e::2:30 port 53
Feb 22 10:30:10 storm unbound[3180577]: [3180577:0] info: resolving f.root-servers.net. AAAA IN
Feb 22 10:30:10 storm unbound[3180577]: [3180577:0] info: resolving f.root-servers.net. AAAA IN
Feb 22 10:30:10 storm unbound[3180577]: [3180577:0] info: resolving g.root-servers.net. AAAA IN
Feb 22 10:30:10 storm unbound[3180577]: [3180577:0] info: resolving g.root-servers.net. AAAA IN
Feb 22 10:30:10 storm unbound[3180577]: [3180577:0] info: error sending query to auth server 2001:503:ba3e::2:30 port 53
Feb 22 10:30:10 storm unbound[3180577]: [3180577:0] info: error sending query to auth server 2001:500:200::b port 53
Feb 22 10:30:10 storm unbound[3180577]: [3180577:0] info: error sending query to auth server 2001:7fe::53 port 53
Feb 22 10:30:10 storm unbound[3180577]: [3180577:0] info: error sending query to auth server 2001:500:12::d0d port 53
Feb 22 10:30:10 storm unbound[3180577]: [3180577:0] info: error sending query to auth server 2001:500:2d::d port 53
Feb 22 10:30:10 storm unbound[3180577]: [3180577:0] info: error sending query to auth server 2001:dc3::35 port 53
Feb 22 10:30:10 storm unbound[3180577]: [3180577:0] info: error sending query to auth server 2001:500:200::b port 53
Feb 22 10:30:10 storm unbound[3180577]: [3180577:0] info: resolving h.root-servers.net. AAAA IN
Feb 22 10:30:10 storm unbound[3180577]: [3180577:0] info: resolving h.root-servers.net. AAAA IN

So it looks like things are working?  Ipv6 is down, so it logs the attempts for IPv6 but perhaps you simply do not have that.  The IPv4 failures at the start seem to go away quickly, perhaps like another device that is a firewall.   Apart from the IPv4 failures at the start, there seems to be some work going on resolving queries.
Not sure what causes the IPv4 failures, but I do not see a hint what causes it from these logs; unbound is logging that the TCP connection was not successful.  Likely also dig +tcp @ipaddress to those addresses fail.  The IPv4 is like the one for b.root-servers.net, so I think nothing is wrong to connect to there at the server, since it works for others, so there must be some sort of network device interfering with connectivity close, or closer, to you.  Like the firewall disallowing connections.

So it looks like things are working?

Mostly yes, email is flowing again. We use Unbound for SpamAssassin since some DNSBlockLists have limits on free usage

Ipv6 is down, so it logs the attempts for IPv6 but perhaps you simply do not have that.

Right is there a way to disable this? I see:
        # Enable IPv6, "yes" or "no".
        do-ip6: no

The IPv4 failures at the start seem to go away quickly, perhaps like another device that is a firewall. Apart from the IPv4 failures at the start, there seems to be some work going on resolving queries.

As I mentioned only firewalld is running.

Not sure what causes the IPv4 failures, but I do not see a hint what causes it from these logs; unbound is logging that the TCP connection was not successful. Likely also dig +tcp @ipaddress to those addresses fail. The IPv4 is like the one for b.root-servers.net, so I think nothing is wrong to connect to there at the server, since it works for others, so there must be some sort of network device interfering with connectivity close, or closer, to you. Like the firewall disallowing connections.

dig appears to resolve. FWIW this started happening after the upgrade to unbound-1.13.1-1.fc33.x86_64. Downgrading fixes this as well.
Feb 22 02:33:19 dsm unbound[2324728]: [2324728:2] error: read (in tcp s): Connection refused for <IP_ADDRESS> port 53
Feb 22 02:33:19 dsm unbound[2324728]: [2324728:2] error: read (in tcp s): Connection refused for <IP_ADDRESS> port 53
Feb 22 02:33:19 dsm unbound[2324728]: [2324728:2] error: read (in tcp s): Connection refused for <IP_ADDRESS> port 53
Feb 22 02:33:19 dsm unbound[2324728]: [2324728:2] error: read (in tcp s): Connection refused for <IP_ADDRESS> port 53

dig +tcp <IP_ADDRESS>

; <<>> DiG 9.11.27-RedHat-9.11.27-1.fc33 <<>> +tcp <IP_ADDRESS>
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 16844
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
;; QUESTION SECTION:
;<IP_ADDRESS>.                  IN      A

;; AUTHORITY SECTION:
.                       3600    IN      SOA     a.root-servers.net. nstld.verisign-grs.com.<PHONE_NUMBER> 1800 900<PHONE_NUMBER>0

;; Query time: 95 msec
;; SERVER: <IP_ADDRESS>#53(<IP_ADDRESS>)
;; WHEN: Mon Feb 22 11:48:49 EST 2021
;; MSG SIZE  rcvd: 116

Is it perhaps TCP fast open?  Something related to the kernel version, and complicated TCP setups.  Unbound has a configure time option that would be different depending on the package options, and that could be enabled.  If that has hiccups for TCP that could explain it.  There may be kernel settings to disable it, with like sysctl.

Is it perhaps TCP fast open?

Looks like it is:
cat /proc/sys/net/ipv4/tcp_fastopen
1
sysctl net.ipv4.tcp_fastopen
net.ipv4.tcp_fastopen = 1

Something related to the kernel version, and complicated TCP setups.

5.9.16-200.fc33.x86_64

Unbound has a configure time option that would be different depending on the package options, and that could be enabled. If that has hiccups for TCP that could explain it. There may be kernel settings to disable it, with like sysctl.

I ran echo 0 >  /proc/sys/net/ipv4/tcp_fastopen
The log continues to be peppered with these errors. Also seeing:
Feb 23 09:35:02 storm unbound[3229864]: [3229864:3] error: read (in tcp s): Connection refused for <IP_ADDRESS> port 53
Feb 23 09:35:02 storm unbound[3229864]: [3229864:3] info: Missing DNSKEY RRset in response to DNSKEY query.
Feb 23 09:35:02 storm unbound[3229864]: [3229864:3] info: Missing DNSKEY RRset in response to DNSKEY query.
Feb 23 09:35:02 storm unbound[3229864]: [3229864:3] info: resolving top. DNSKEY IN

From strace:
socket(AF_INET, SOCK_DGRAM, IPPROTO_IP) = 33
setsockopt(33, SOL_IP, IP_MTU_DISCOVER, [5], 4) = 0
bind(33, {sa_family=AF_INET, sin_port=htons(44924), sin_addr=inet_addr("<IP_ADDRESS>")}, 16) = 0
fcntl(33, F_GETFL)                      = 0x2 (flags O_RDWR)
fcntl(33, F_SETFL, O_RDWR|O_NONBLOCK)   = 0
epoll_ctl(21, EPOLL_CTL_ADD, 33, {EPOLLIN, {u32=33, u64=33}}) = 0
sendto(33, "\375\10\0\0\0\1\0\0\0\0\0\0\0\0\6\0\1", 17, 0, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("<IP_ADDRESS>")}, 16) = 17
epoll_wait(21, [{EPOLLIN, {u32=33, u64=33}}], 32, 100) = 1
recvfrom(33, "\375\10\204\0\0\1\0\1\0\r\0\r\0\0\6\0\1\0\0\6\0\1\0\1Q\200\0@\1a\froot-servers\3net\0\5nstld\fverisign-grs\3com\0xvZ\\\0\0\7\10\0\0\3\204\0\t:\200\0\1Q\200\0\0\2\0\1\0\7\351\0\0\2\300\34\0\0\2\0\1\0\7\351\0\0\4\1b\300\36\0\0\2\0\1\0\7\351\0\0\4\1c\300\36\0\0\2\0\1\0\7\351\0\0\4\1d\300\36\0\0\2\0\1\0\7\351\0\0\4\1e\300\36\0\0\2\0\1\0\7\351\0\0\4\1f\300\36\0\0\2\0\1\0\7\351\0\0\4\1g\300\36\0\0\2\0\1\0\7\351\0\0\4\1h\300\36\0\0\2\0\1\0\7\351\0\0\4\1i\300\36\0\0\2\0\1\0\7\351\0\0\4\1j\300\36\0\0\2\0\1\0\7\351\0\0\4\1k\300\36\0\0\2\0\1\0\7\351\0\0\4\1l\300\36\0\0\2\0\1\0\7\351\0\0\4\1m\300\36\300\34\0\1\0\1\0\7\351\0\0\4\306)\0\4\300t\0\1\0\1\0\7\351\0\0\4\307\t\16\311\300\203\0\1\0\1\0\7\351\0\0\4\300!\4\f\300\222\0\1\0\1\0\7\351\0\0\4\307\7[\r\300\241\0\1\0\1\0\7\351\0\0\4\300\313\346\n\300\260\0\1\0\1\0\7\351\0\0\4\300\5\5\361\300\277\0\1\0\1\0\7\351\0\0\4\300p$\4\300\316\0\1\0\1\0\7\351\0\0\4\306a\2765\300\335\0\1\0\1\0\7\351\0\0\4\300$\224\21\300\354\0\1\0\1\0\7\351\0\0\4\300:\200\36\300\373\0\1\0\1\0\7\351\0\0\4\301\0\16\201\301\n\0\1\0\1\0\7\351\0\0\4\307\7S*\301\31\0\1\0\1\0\7\351\0\0\4\312\f\33!", 65552, 0, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("<IP_ADDRESS>")}, [128->16]) = 493
epoll_ctl(21, EPOLL_CTL_DEL, 33, 0x7fff16c6a8dc) = 0
close(33)                               = 0
getpid()                                = 3570006
socket(AF_INET, SOCK_STREAM, IPPROTO_TCP) = 33
setsockopt(33, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0
fcntl(33, F_GETFL)                      = 0x2 (flags O_RDWR)
fcntl(33, F_SETFL, O_RDWR|O_NONBLOCK)   = 0
connect(33, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("<IP_ADDRESS>")}, 16) = -1 EINPROGRESS (Operation now in progress)
epoll_ctl(21, EPOLL_CTL_ADD, 33, {EPOLLOUT, {u32=33, u64=33}}) = 0
epoll_wait(21, [{EPOLLOUT|EPOLLERR|EPOLLHUP, {u32=33, u64=33}}], 32, 10000) = 1
getsockopt(33, SOL_SOCKET, SO_ERROR, [ECONNREFUSED], [4]) = 0
getpid()                                = 3570006
sendto(12, "<27>Feb 23 09:49:52 unbound: [3570006:0] error: tcp connect: Connection refused for <IP_ADDRESS> port 53", 104, MSG_NOSIGNAL, NULL, 0) = 104
epoll_ctl(21, EPOLL_CTL_DEL, 33, 0x7fff16c6ab4c) = 0
close(33)                               = 0
getpid()                                = 3570006
socket(AF_INET6, SOCK_STREAM, IPPROTO_TCP) = 33
setsockopt(33, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0
fcntl(33, F_GETFL)                      = 0x2 (flags O_RDWR)
fcntl(33, F_SETFL, O_RDWR|O_NONBLOCK)   = 0
connect(33, {sa_family=AF_INET6, sin6_port=htons(53), sin6_flowinfo=htonl(0), inet_pton(AF_INET6, "2620:0:2d0:202::132", &sin6_addr), sin6_scope_id=0}, 28) = -1 ENETUNREACH (Network is unreachable)
close(33)                               = 0

I'm also seeing a different issue as dnf update is failing with:
dnf update
Fedora Modular 33 - x86_64 - Updates                                                                     0.0  B/s |   0  B     00:00
Errors during downloading metadata for repository 'updates-modular':
  - Curl error (6): Couldn't resolve host name for https://mirrors.fedoraproject.org/metalink?repo=updates-released-modular-f33&arch=x86_64 [Could not resolve host: mirrors.fedoraproject.org]

There was a discussion on the Fedora users mailing list in Jan 2021,:

I don't know if this will have any effect, but since you're not
running/using systemd-resolved then it may be
a good idea to remove "resolve" from nsswitch.conf.

Noted.  Many thanks.  Next thing to test.  Good to know.

Could these issues be related?

Disabling tcp fastopen did not solve things? I guess it is not a problem, or not the only one.  I see from your strace that connect(<IP_ADDRESS>) is fine, and then returns an error ECONNREFUSED.  This must be coming from the network stack.  It must have got that from config, an error, or upstream refusal from some middlebox (because the ordinary DNS server are not denying access to others).  So, checking middlebox interference is still the thing, that I already noted straight at the start, find things along the network path from this machine to that IP address, and check how this TCP refusal is made.  Typically routers, firewall config (perhaps it is wrong?), perhaps ISP related.
The dnf failure means your DNS is not working, that seems reasonable.  The fedora discussion, do not see what that has to do with it.  The top. failure, that could be related to packet size for UDP, top dnskey is a big response, and it may fall back to TCP, and this is not working.  You may also have UDP size problems, eg. it does not allow large size UDP responses.

Disabling tcp fastopen did not solve things? I guess it is not a problem, or not the only one. I see from your strace that connect(<IP_ADDRESS>) is fine, and then returns an error ECONNREFUSED. This must be coming from the network stack. It must have got that from config, an error, or upstream refusal from some middlebox (because the ordinary DNS server are not denying access to others). So, checking middlebox interference is still the thing, that I already noted straight at the start, find things along the network path from this machine to that IP address, and check how this TCP refusal is made. Typically routers, firewall config (perhaps it is wrong?), perhaps ISP related.

Well a simple work around was to insert an IP address of either our University's DNS or something like <IP_ADDRESS>. So I don't think it'd be a middlebox firewall. Our IT team did disable ping to outside university addresses, if that means anything.

I guess maybe they blocked other DNS servers from TCP access?
Your command above dig +tcp <IP_ADDRESS> gave the wrong output you need dig +tcp @<IP_ADDRESS> because now you looked up the name 200... instead of a tcp connection to that IP address of a root server.

I guess maybe they blocked other DNS servers from TCP access?

I'm starting to think this might be the issue. I'll have to confirm with out IT group.

Your command above dig +tcp <IP_ADDRESS> gave the wrong output you need dig +tcp @<IP_ADDRESS> because now you looked up the name 200... instead of a tcp connection to that IP address of a root server.

Here are the results of dig with and without the +tcp:
dig +tcp @<IP_ADDRESS>
;; Connection to <IP_ADDRESS>#53(<IP_ADDRESS>) for . failed: connection refused.

dig  @<IP_ADDRESS>

; <<>> DiG 9.11.27-RedHat-9.11.27-1.fc33 <<>> @<IP_ADDRESS>
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: REFUSED, id: 9707
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
; COOKIE: ebeaf577972d7e3f010000006039038ac0a47209adc3203c (good)
;; QUESTION SECTION:
;.                              IN      NS

;; Query time: 157 msec
;; SERVER: <IP_ADDRESS>#53(<IP_ADDRESS>)
;; WHEN: Fri Feb 26 09:19:54 EST 2021
;; MSG SIZE  rcvd: 56

Alas the logs keep getting filled with the following. Is there a way to disable or suppress these?
Feb 26 09:20:06 storm unbound[3570006]: [3570006:1] reply: <IP_ADDRESS> mxb-0019cd01.gslb.pphosted.com. A IN NOERROR 0.068721 0 64
Feb 26 09:20:06 storm unbound[3570006]: [3570006:1] error: read (in tcp s): Connection refused for <IP_ADDRESS> port 53
Feb 26 09:20:06 storm unbound[3570006]: [3570006:1] error: read (in tcp s): Connection refused for <IP_ADDRESS> port 53
Feb 26 09:20:06 storm unbound[3570006]: [3570006:0] error: read (in tcp s): Connection refused for <IP_ADDRESS> port 53
Feb 26 09:20:06 storm unbound[3570006]: [3570006:0] error: read (in tcp s): Connection refused for <IP_ADDRESS> port 53
Feb 26 09:20:06 storm unbound[3570006]: [3570006:3] error: read (in tcp s): Connection refused for <IP_ADDRESS> port 53
Feb 26 09:20:06 storm unbound[3570006]: [3570006:3] error: read (in tcp s): Connection refused for <IP_ADDRESS> port 53
Feb 26 09:20:07 storm unbound[3570006]: [3570006:3] error: read (in tcp s): Connection refused for <IP_ADDRESS> port 53
Feb 26 09:20:07 storm unbound[3570006]: [3570006:3] error: read (in tcp s): Connection refused for <IP_ADDRESS> port 53
Feb 26 09:20:07 storm unbound[3570006]: [3570006:1] error: read (in tcp s): Connection refused for <IP_ADDRESS> port 53
Feb 26 09:20:07 storm unbound[3570006]: [3570006:1] error: read (in tcp s): Connection refused for <IP_ADDRESS> port 53
Feb 26 09:20:07 storm unbound[3570006]: [3570006:1] error: read (in tcp s): Connection refused for <IP_ADDRESS> port 53
Feb 26 09:20:07 storm unbound[3570006]: [3570006:1] error: read (in tcp s): Connection refused for <IP_ADDRESS> port 53
Feb 26 09:20:07 storm unbound[3570006]: [3570006:1] error: read (in tcp s): Connection refused for <IP_ADDRESS> port 53
Feb 26 09:20:07 storm unbound[3570006]: [3570006:1] error: read (in tcp s): Connection refused for <IP_ADDRESS> port 53
Feb 26 09:20:07 storm unbound[3570006]: [3570006:0] error: read (in tcp s): Connection refused for <IP_ADDRESS> port 53
Feb 26 09:20:07 storm unbound[3570006]: [3570006:0] error: read (in tcp s): Connection refused for <IP_ADDRESS> port 53
Feb 26 09:20:07 storm unbound[3570006]: [3570006:0] error: read (in tcp s): Connection refused for <IP_ADDRESS> port 53
Feb 26 09:20:07 storm unbound[3570006]: [3570006:0] error: read (in tcp s): Connection refused for <IP_ADDRESS> port 53
Feb 26 09:20:07 storm unbound[3570006]: [3570006:1] error: read (in tcp s): Connection refused for <IP_ADDRESS> port 53
Feb 26 09:20:07 storm unbound[3570006]: [3570006:1] error: read (in tcp s): Connection refused for <IP_ADDRESS> port 53
Feb 26 09:20:07 storm unbound[3570006]: [3570006:0] error: read (in tcp s): Connection refused for <IP_ADDRESS> port 53
Feb 26 09:20:07 storm unbound[3570006]: [3570006:0] error: read (in tcp s): Connection refused for <IP_ADDRESS> port 53
Feb 26 09:20:07 storm unbound[3570006]: [3570006:3] error: read (in tcp s): Connection refused for <IP_ADDRESS> port 53
Feb 26 09:20:07 storm unbound[3570006]: [3570006:3] error: read (in tcp s): Connection refused for <IP_ADDRESS> port 53
Feb 26 09:20:07 storm unbound[3570006]: [3570006:3] error: read (in tcp s): Connection refused for <IP_ADDRESS> port 53
Feb 26 09:20:07 storm unbound[3570006]: [3570006:3] error: read (in tcp s): Connection refused for <IP_ADDRESS> port 53
Feb 26 09:20:07 storm unbound[3570006]: [3570006:3] error: read (in tcp s): Connection refused for <IP_ADDRESS> port 53
Feb 26 09:20:07 storm unbound[3570006]: [3570006:3] error: read (in tcp s): Connection refused for <IP_ADDRESS> port 53
Feb 26 09:20:07 storm unbound[3570006]: [3570006:0] error: read (in tcp s): Connection refused for <IP_ADDRESS> port 53
Feb 26 09:20:07 storm unbound[3570006]: [3570006:0] error: read (in tcp s): Connection refused for <IP_ADDRESS> port 53
Feb 26 09:20:07 storm unbound[3570006]: [3570006:1] error: read (in tcp s): Connection refused for <IP_ADDRESS> port 53
Feb 26 09:20:07 storm unbound[3570006]: [3570006:1] error: read (in tcp s): Connection refused for <IP_ADDRESS> port 53

The dig command prints the same error that unbound has, but from the commandline.  The error is not with unbound, or unbound's settings, but because there is an issue with your network connectivity.
The dig without tcp shows you are not connecting to the actual root server, but instead get a reply from another server.
There is no way to suppress the error log of this message.  Also, that would not be a good feature to add it; it shows that the network is malfunctioning.

The dig command prints the same error that unbound has, but from the commandline. The error is not with unbound, or unbound's settings, but because there is an issue with your network connectivity.

So what changed from version 1.12 to 1.13 that caused this, as it didn't happen in version 1.12?

The unbound version does not matter.  The error happens when you do the dig command from the commandline, so the unbound program is not involved.


Discussion: VisualStateManager should provide more feedback when not placed in the right place

Discussion: Discussion: VisualStateManager should provide more feedback when not placed in the right place
Was trying to debug why our re-template of a control wasn't working, and only realized later after spending a couple of hours debugging and digging into the VSM states that the VSM wasn't defined in the root Grid of the template (the most likely cause).
The fact the VSM needs to be at the top/bottom of the top-level element of the control, isn't well documented, confusing, and easy to miss. If a VSM is initialized as part of a place where it's not going to work well, it should provide some warning or error to the app developer.
Related Links

#5575
#3289

This would make WinUI a lot easier to get into since this detail (give or take) can easily overlooked (also happened too often to me) and can be frustrating, especially since the VisualStateManager seems like it should be able to tell developers that something is off.

@RealTommyKlein is this something that we could enforce in the xaml compiler?
@chrisglein  FYI for the VSM aspect, raising an error here seems appropriate.

Agreed. Since it's not going to work elsewhere generating an error would be much more helpful.

For the VisualStateManager case, that sounds reasonable - the Xaml compiler should be able to verify that named elements referenced by Setters really do exist.  I think it doesn't currently verify Setters today because the Xaml compiler evaluates each .xaml file independently, and there are more general cases for Setters where that isn't sufficient (e.g. Setters in a Style in a ResourceDictionary that is in its own separate .xaml file or App.xaml - then the Xaml compiler would need to be able to look up that Style when it's used in other files and evaluate it in the context of that file).


Note options for disowning server process on Linux / RT

It was brought up by a support engineer that it'd be nice to have a snippet explaining some of the options for disowning the ni_grpc_device_server process on Linux / RT in the section of the README about running the server.
AB#2277488

@harsha-bhushan , do you think something like this would make sense for the https://github.com/ni/grpc-device#running-the-grpc-server section of the README?
And if so, we could link to or summarize some of the options in the article the support engineer mentioned here: https://www.makeuseof.com/run-linux-commands-in-background/

Adding a line in the note & linking it to the article seems good enough.


Fix OnClick logic for MusicGame

Zeroing enterCount when no hands are detected is needed, but it also prevents clicking from acting like a hold grabbed.

Double clicking works fine, so not worth fixing now. Let's call it a feature.


[BUG] EMR 6.2 with Rapids Accelerator not enabling DPP

Describe the bug
TPC-DS Q38 reads 3x files (1823 vs 366) when using Rapids Acceleratos
Steps/Code to reproduce bug
Use EMR 6.2 setup instructions for RAPIDS Accelerator
If we disable DPP for CPU like below
spark.conf.set('spark.sql.optimizer.dynamicPartitionPruning.enabled','false')
start = time.time(); spark.sql(q38).collect(); end = time.time(); print(end-start)
we see the same number of files for GPU and CPU being scanned (read)
Expected behavior
We need GPU reader to read the same number of files as CPU reader
Environment details (please complete the following information)

Environment location: EMR 6.2 on AWS with g4dn.2xlarge instance
Spark configuration settings related to the issue
"Classification":"spark-defaults",
"Properties":{
"spark.plugins":"com.nvidia.spark.SQLPlugin",
"spark.sql.sources.useV1SourceList":"",
"spark.executor.extraJavaOptions":"-Dai.rapids.cudf.prefer-pinned=true",
"spark.executor.resource.gpu.discoveryScript":"/usr/lib/spark/scripts/gpu/getGpusResources.sh",
"spark.submit.pyFiles":"/usr/lib/spark/jars/xgboost4j-spark_3.0-1.0.0-0.2.0.jar",
"spark.executor.extraLibraryPath":"/usr/local/cuda/targets/x86_64-linux/lib:/usr/local/cuda/extras/CUPTI/lib64:/usr/local/cuda/compat/lib:/usr/local/cuda/lib:/usr/local/cuda/lib64:/usr/lib/hadoop/lib/native:/usr/lib/hadoop-lzo/lib/native:/docker/usr/lib/hadoop/lib/native:/docker/usr/lib/hadoop-lzo/lib/native",
"spark.rapids.sql.concurrentGpuTasks":"4",
"spark.executor.resource.gpu.amount":"1",
"spark.executor.cores":"8",
"spark.task.cpus ":"1",
"spark.task.resource.gpu.amount":"0.125",
"spark.rapids.memory.pinnedPool.size":"2G",
"spark.executor.memoryOverhead":"2G",
"spark.locality.wait":"0s",
"spark.sql.shuffle.partitions":"200",
"spark.sql.files.maxPartitionBytes":"256m",
"spark.sql.adaptive.enabled":"false"

note that running this with Apache Spark 3.0.1 on yarn the DPP works just fine there, the number of files is way less with it configured to true then if you turn it off

note that running this with Apache Spark 3.0.1 on yarn the DPP works just fine there, the number of files is way less with it configured to true then if you turn it off

reported to EMR team and they are looking at it.

reported to EMR team and they are looking at it.

After discussing with the EMR team, we decided to not do anything with this right now. This only occurs with AQE is off and on EMR AQE is on by default, we generally expect most people to be running with AQE on so they wouldn't hit this issue.
The underlying issue is a check was added with AQE disabled that runs after the Rapids columnar rule which ends up thinking it can't reuse the result from the broadcast exchange. To get around the issue we would require changes to the plugin and potentially Spark itself.  We should investigate it more if we think its important.


Log events are not displayed on RUM Explorer page

Describe what happened
Only logger.e() logs are displayed online
I am trying to log some data with logger.d() or logger.i() calls but still can't see them anywhere in the UX Monitoring/RUM Applcations page.
Documentation shows that those things should be reported
Steps to reproduce the issue:
        //DataDog Initialization
        Configuration configuration = new Configuration.Builder(
                true,
                true,
                true,
                true)
                .useViewTrackingStrategy(new ActivityViewTrackingStrategy(true))
                .trackLongTasks(2000)
                .build();

        Credentials credentials = new Credentials(
                "XXXXXXXXXXXXXXXXXX",
                BuildConfig.BUILD_TYPE,
                "Default",
                "XXXXXXXXXXXXXX",
                null
        );
        Datadog.setVerbosity(Log.VERBOSE);

        Datadog.initialize(this, credentials, configuration, TrackingConsent.GRANTED);

        GlobalRum.registerIfAbsent(new RumMonitor.Builder().build());

        DataLogger.Init();

logger = new Logger.Builder()
            .setNetworkInfoEnabled(true)
            .setLogcatLogsEnabled(true)
            .setDatadogLogsEnabled(true)
            .setBundleWithTraceEnabled(true)
            .setLoggerName("DDLogger")
            .build();

Testing:
logger.e(new Exception("THIS WILL BE REPORTED!"));
logger.i("THIS WILL NOT BE REPORTED");

Describe what you expected:
Expect all log messages to show online
Additional context

Android OS version: 8.1.0
Device Model: LG LM-X510WM
Datadog SDK version: 1.9.0-rc1
Versions of any other relevant dependencies (OkHttp, …):
Proguard configuration:
Gradle Plugins:
'dd-sdk-android-gradle-plugin'
'com.onesignal.androidsdk.onesignal-gradle-plugin'
'com.android.application'

Never mind. Turns out log events other than logger.e() get reported in Logs page


Unable to send BLE commands to device

Hello,
I'm facing some issue for which I didn't find a solution yet. On my project I'm supposed to connect to a device through BLE connection and read/write data including from CBOR files.
I don't have any trouble to do so, but the issue is that all my BLE commands seem to don't work anymore after I read a CBOR file.
In the log below, I tried two operations after reading a CBOR file (which is normally correctly closed) :

setup a characteristic notification (00010012-cad9-46c6-a2ea-2ca16d57b4a5) -> Got an BleCannotSetCharacteristicNotificationException after few seconds
write a data throught a characteristic (00010011-cad9-46c6-a2ea-2ca16d57b4a5) -> Got a status 4 (GATT_INVALID_PDU)

Setup notification : 00010012-cad9-46c6-a2ea-2ca16d57b4a5
Write on 00010011-cad9-46c6-a2ea-2ca16d57b4a5 | Data : 01 MAC ADDRESS : E8:31:CD:7B:3A:59
Device connection state : RxBleConnectionState{CONNECTED} | Connection is null : false
setCharacteristicNotification() - uuid: 00010012-cad9-46c6-a2ea-2ca16d57b4a5 enable: false
com.polidea.rxandroidble2.exceptions.BleCannotSetCharacteristicNotificationException: Cannot write client characteristic config descriptor (code 3) with characteristic UUID 00010012-cad9-46c6-a2ea-2ca16d57b4a5
  	at com.polidea.rxandroidble2.internal.connection.NotificationAndIndicationManager.lambda$writeClientCharacteristicConfig$9(NotificationAndIndicationManager.java:194)
  	at com.polidea.rxandroidble2.internal.connection.NotificationAndIndicationManager$$ExternalSyntheticLambda4.apply(Unknown Source:4)
  	at io.reactivex.internal.operators.completable.CompletableResumeNext$ResumeNextObserver.onError(CompletableResumeNext.java:82)
 	at io.reactivex.internal.operators.observable.ObservableIgnoreElementsCompletable$IgnoreObservable.onError(ObservableIgnoreElementsCompletable.java:61)
  	at io.reactivex.internal.operators.observable.ObservableCreate$CreateEmitter.tryOnError(ObservableCreate.java:84)
  	at com.polidea.rxandroidble2.internal.serialization.FIFORunnableEntry$1$1.onError(FIFORunnableEntry.java:73)
  	at io.reactivex.internal.operators.observable.ObservableUnsubscribeOn$UnsubscribeObserver.onError(ObservableUnsubscribeOn.java:70)
  	at io.reactivex.internal.operators.observable.ObservableCreate$CreateEmitter.tryOnError(ObservableCreate.java:84)
 	at com.polidea.rxandroidble2.internal.util.QueueReleasingEmitterWrapper.onError(QueueReleasingEmitterWrapper.java:47)
 	at io.reactivex.internal.observers.DeferredScalarDisposable.error(DeferredScalarDisposable.java:100)
  	at io.reactivex.internal.operators.single.SingleToObservable$SingleToObservableObserver.onError(SingleToObservable.java:77)
  	at io.reactivex.internal.disposables.EmptyDisposable.error(EmptyDisposable.java:78)
  Caused by: com.polidea.rxandroidble2.exceptions.BleGattCallbackTimeoutException: GATT exception from MAC address E8:31:CD:7B:3A:59, with type BleGattOperation{description='DESCRIPTOR_WRITE'}
  	at com.polidea.rxandroidble2.internal.SingleResponseOperation.timeoutFallbackProcedure(SingleResponseOperation.java:92)
  	at com.polidea.rxandroidble2.internal.SingleResponseOperation.protectedRun(SingleResponseOperation.java:54)
  	at com.polidea.rxandroidble2.internal.QueueOperation$1.subscribe(QueueOperation.java:41)
  	at io.reactivex.internal.operators.observable.ObservableCreate.subscribeActual(ObservableCreate.java:40)
  	at io.reactivex.Observable.subscribe(Observable.java:12284)
 	at io.reactivex.internal.operators.observable.ObservableUnsubscribeOn.subscribeActual(ObservableUnsubscribeOn.java:32)
  	at io.reactivex.Observable.subscribe(Observable.java:12284)
  	at com.polidea.rxandroidble2.internal.serialization.FIFORunnableEntry$1.run(FIFORunnableEntry.java:56)
  Error writing 00010011-cad9-46c6-a2ea-2ca16d57b4a5
  Error writing GATT exception from MAC='E8:31:CD:7B:3A:59', status 4 (GATT_INVALID_PDU), type BleGattOperation{description='CHARACTERISTIC_WRITE'}. (Look up status 0x04 here https://cs.android.com/android/platform/superproject/+/master:packages/modules/Bluetooth/system/stack/include/gatt_api.h)

Any idea ?
Thanks in advance :)

Device: Xiaomi Mi 9T
OS: Android 10
Library version: 1.17.0

Can you setup the notification before reading the CBOR file?

Thanks for the reply. Unfortunately in my scenario it's not possible. The steps are that I'm supposed to read a specific CBOR file first while displaying to user a loading screen, and then setup the notification on this characteristic.

Can you confirm that this flow works using a different setup? Different phone vendor/OS/app?
Given the maturity of the BLE I am inclined to think that either the peripheral has an implementation bug or there is a missing step in the usage procedure i.e. the peripheral expects something more to happen before the notification can be setup.

T tried with a Huawei P20 on Android 8 too, same issue. I might have miss a step indeed. What's strange is that anything that's not CBOR-related doesn't work after reading a CBOR file. Which means that I can't setup a notification or send any BLE command, except to read or write a CBOR files.
I'll try to investigate deeper on my side.

Any news?

Sorry for the delay. Unfortunately no, I had to focus on other features to deliver for my deadline, I'm planning to work deeply on this issue on the next few days. But after a first investigation with others dev on my team, the problem is more related to the BLE module I implemented in my app and how I use it (we don't face the same problem in others projects in which the same module is implemented)

Hello @dariuszseweryn,
Sorry for the late update. Yes we solved the issue on our side. The problem was the method we used to read the CBOR file. Some resources were not correctly disposed after reading, making the BLE connection always "busy", that's why we weren't able to send any BLE commands after that.
We can close this issue.

Thank you for the info! Closing


Doesn't get any date casts with Nova

Describe the bug
When using Laravel Nova it doesn't get any of the casts and on Date fields is always returning an error because of that (must always cast to dates to work).
Eloquent Query
Nothing (Nova's internal)...
Stack Trace
Environment

PHP: 7.2
OS: Debian 9
Laravel: 5.8
Model Caching: 0.4.11

Additional context
I don't include much information because I think is simple, don't know if is any solution to this

Ok, only works with accessors :/ it will be fantastic if we've casts available for this

@d8vjork Can you elaborate a bit more? Is there a stack trace? I don't think I understand what the problem is. Can you provide specific steps to reproduce?

@mikebronner Of course, now with the edit I got more stuff to show, let's explain this:
One of the issues is using casts to arrays (using fourstacks/nova-repeatable-fields package with Nova and Telescope) and trying to save the model I've got an Undefined offset: 0, so this is related with #226 (Stacktrace: https://gist.github.com/d8vjork/14f721e327b30041fa49356c90d02c77)
I know this one is not related to Model caching, but this other yes:
Date field must cast to 'date' in Eloquent model. (Stacktrace & details: https://gist.github.com/d8vjork/411a7cdb9a5bad79e6d85a0448b84a9e)
Temporary fixed with this (but still don't get anything from casts even cleaning all the cache)
    protected $casts = [
        ...
        // 'released' => 'date',
    ];

    public function getReleasedAttribute($value)
    {
        return new Carbon($value);
    }

@d8vjork Could you post the code for your model, as well as the Nova resource class for the model? That might help me figure out what's going on. Thanks!

Closing due to inactivity. Please re-open when you get a chance to post additional info. Thanks :)


temporary fix

This doesn’t fix anything. I tried to replace our UserGuide.html by a dummy HTML page.


feat:🎁 testrunner tree structure

Description
Previously the testrunner had the test hieararchy represented as a flat list internally, this was suboptimal making the feature request #173 hard to implement, amongst other things. In this PR I will convert this into a recursive tree structure which will hopefully improve maintainability, readability and making features easier to develop.
Feature parity

[x] Make tree
[x] Render tree
[x] Keymaps

[x] Close
[x] Refresh
[x] Debug test
[x] Go to file
[x] Expand all
[x] Collapse all
[x] Filter failed tests
[x] Expand
[x] Peek stacktrace
[x] Run all tests
[x] Run test

[x] Highlights
[x] Run test from buffer
[x] Debug test from buffer
[x] Status aggregation in tree
[x] Virtual text
[x] Filter
[x] Status in gutter
[x] Gutter sign lookup

Stacktrace propagating to ancestor? (is this used?)
New features/improvements

Test counting #173
Expanded/collapsed nodes remember their state when being hidden/shown by a parent
Keybind for expanding node recursively
Deterministic sorting
ignore test projects with 0 children
add cursorline to buffer

@molostovvs Would you be interested in testing this branch?
I rewrote the entire thing to use a tree structure so I very well might have broken some existing functionality, hopefully not though. PR is not 100% finished but everything except filtering failed tests should work. Including the new feature of test counting as mentioned in #173
Any feedback would be greatly appreciated

@AjayKMehta Feel free to test it aswell, any feedback is good feedback

@AjayKMehta Feel free to test it aswell, any feedback is good feedback

I will try my best. I have been swamped lately which is why I have not been as involved like I was ~ 2 months ago. I only recently got around to installing this plugin (and roslyn.nvim) and must say, you did an amazing job, @Gustav-Eikaas! 👏

Ah no worries man, only test if you have time to spare no pressure! :D


gRPC Server logs an error when the client is canceled in streaming on C#

Grpc's logger will show an exception if the client cancels during streaming and the server successfully handles it.
Environment:Windows, C#, Grpc.Core 1.0.1
repro code of use sample's route_guide.proto
// Server Startup
GrpcEnvironment.SetLogger(new ConsoleLogger()); // show inner log

var server = new global::Grpc.Core.Server
{
    Services = { Routeguide.RouteGuide.BindService(new RouteGuideImpl()) },
    Ports = { new ServerPort("localhost", 12345, ServerCredentials.Insecure) }
};

server.Start();
Console.ReadKey();

// Server Impl
public class RouteGuideImpl : Routeguide.RouteGuide.RouteGuideBase
{
    public override async Task ListFeatures(Rectangle request, IServerStreamWriter<Feature> responseStream, ServerCallContext context)
    {
        Console.WriteLine("Cancelled?" + context.CancellationToken.IsCancellationRequested); // false

        await responseStream.WriteAsync(new Feature());
        await Task.Delay(TimeSpan.FromMilliseconds(500)); // wait for client calls cancel
        Console.WriteLine("Cancelled?" + context.CancellationToken.IsCancellationRequested); // true

        // complete...
    }
}

// Client Impl
try
{
    var cts = new CancellationTokenSource();

    var channel = new Channel("<IP_ADDRESS>:12345", ChannelCredentials.Insecure);
    var client = new Routeguide.RouteGuide.RouteGuideClient(channel);
    var feature = client.ListFeatures(new Routeguide.Rectangle(), cancellationToken: cts.Token);

    while (await feature.ResponseStream.MoveNext())
    {
        cts.Cancel(); // cancel when first response.
    }
}
catch (RpcException ex)
{
    Console.WriteLine(ex.Status);// canceled
}

Console log is here.
Cancelled?False
Cancelled?True
W0118 12:37:47.380258 Grpc.Core.Server Exception while handling RPC. System.InvalidOperationException
   Grpc.Core.Internal.AsyncCallServer`2.SendStatusFromServerAsync(Status status, Metadata trailers, Tuple`2 optionalWrite)
   Grpc.Core.Internal.ServerStreamingServerCallHandler`2.<HandleCall>d__4.MoveNext()
   System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   Grpc.Core.Server.<HandleCallAsync>d__34.MoveNext()

This error is come from SendStatusFromServerAsync. https://github.com/grpc/grpc/blob/44e907af0/src/csharp/Grpc.Core/Internal/ServerCallHandler.cs#L156
This call always fail when canceled.
How about changes to this?
if (!asyncCall.CancellationToken.IsCancellationRequested)
{
    await asyncCall.SendStatusFromServerAsync(status, context.ResponseTrailers, null).ConfigureAwait(false);
}

How about this?
To throw an Exception as well as a log, perhaps it causes performance spikes when disconnecting many clients.
(In my application, many clients start games at the same time and end at the same time like a real sports match)

I'm also seeing this log appear for handled exceptions:
Exception thrown: 'Grpc.Core.RpcException' in mscorlib.dll
2017-10-19 19:11:21.7720|DEBUG|AppService| Application stream was disconnected by the client: Grpc.Core.RpcException: Status(StatusCode=Cancelled, Detail="Cancelled"

Is there any way to supress this log line?

ugly fix within my logger
  public void Warning(Exception exception, string message)
        {
            // https://github.com/grpc/grpc/issues/9377
            // happens when client side cancelled the rpc
            if (message == "Exception while handling RPC." && exception is InvalidOperationException)
            {
                return;
            }
            ...
       }

@tg123 How did you set this logger? I have my own implementation of Grpc.Core.Logging.ILogger that I have set using GrpcEnvironment.SetLogger(new GrpcNLogger());, however this is still bypassed by the RpcException line:
First line is gRPC logging via my GrpcNLogger, second is the RpcException.
2017/10/26 14:08:33.014|1|Debug|GRPC|gRPC native library loaded successfully.
Exception thrown: 'Grpc.Core.RpcException' in mscorlib.dll

I think this is still an issue

Since Grpc.Core is now in maintenance mode (see https://grpc.io/blog/grpc-csharp-future/), we don't plan to make any more enhancements.


Resnet fpn backbone does not work for resnet18 and resnet34

Hello, I have a bug with
torchvision==0.3.0
This code works fine
import torch
from torchvision.models.detection.backbone_utils import resnet_fpn_backbone

resnet152_fpn = resnet_fpn_backbone(backbone_name='resnet152', pretrained=False).eval()
x = torch.rand(1, 3, 800, 800)
resnet152_fpn(x)

resnet101_fpn = resnet_fpn_backbone(backbone_name='resnet101', pretrained=False).eval()
x = torch.rand(1, 3, 800, 800)
resnet101_fpn(x)

resnet50_fpn = resnet_fpn_backbone(backbone_name='resnet50', pretrained=False).eval()
x = torch.rand(1, 3, 800, 800)
resnet50_fpn(x)

But
resnet34_fpn = resnet_fpn_backbone(backbone_name='resnet34', pretrained=False).eval()
x = torch.rand(1, 3, 800, 800)
resnet34_fpn(x)

resnet18_fpn = resnet_fpn_backbone(backbone_name='resnet18', pretrained=False).eval()
x = torch.rand(1, 3, 800, 800)
resnet18_fpn(x)

fails with
Traceback (most recent call last):
  File "issue_reproduce.py", line 20, in <module>
    resnet34_fpn(x)
  File "/Users/kyryl/vn/common/lib/python3.6/site-packages/torch/nn/modules/module.py", line 493, in __call__
    result = self.forward(*input, **kwargs)
  File "/Users/kyryl/vn/common/lib/python3.6/site-packages/torch/nn/modules/container.py", line 92, in forward
    input = module(input)
  File "/Users/kyryl/vn/common/lib/python3.6/site-packages/torch/nn/modules/module.py", line 493, in __call__
    result = self.forward(*input, **kwargs)
  File "/Users/kyryl/vn/common/lib/python3.6/site-packages/torchvision/ops/feature_pyramid_network.py", line 83, in forward
    last_inner = self.inner_blocks[-1](x[-1])
  File "/Users/kyryl/vn/common/lib/python3.6/site-packages/torch/nn/modules/module.py", line 493, in __call__
    result = self.forward(*input, **kwargs)
  File "/Users/kyryl/vn/common/lib/python3.6/site-packages/torch/nn/modules/conv.py", line 338, in forward
    self.padding, self.dilation, self.groups)
RuntimeError: Given groups=1, weight of size 256 2048 1 1, expected input[1, 512, 25, 25] to have 2048 channels, but got 512 channels instead

The reason is that this line
https://github.com/pytorch/vision/blob/master/torchvision/models/detection/backbone_utils.py#L54
produces in_channels_list as list [256, 512, 1024, 2048]
but for resnet18 and resnet34 in_channels_list should be [64, 128, 256, 512].
I have fixed this internally and would be happy to sent PR with tests to torchvision repo
cc: @fmassa

Fixed via #1147


Grading interface should show name of Avenger

Currently any Instructor needs to look up the student in IVLE in order to find the Avenger who has done the grading. (This is for QA of grading.)

@indocomsoft Is this something that can be passed in the request? I can definitely add it in. There's going to be issues though, such as what happens where multiple people grade a submission