Add getitem methods to sequence-like objects

Makes accessing them easier. I wasn't sure if it was a good idea to make them writable or not.

Thanks for opening the PR! I hate to close PR contributions, but I'm going to refer to my answer I gave in https://github.com/frewsxcv/python-geojson/issues/80. It seems simple enough just to access the coordinates property and then do the indexing. Also, if you have a Polygon(bbox = [...], coordinates=[...]), and you attempt to index, it's not super obvious if it would index coordinates or bbox. Sorry for closing, but thanks for the idea! 🙇

Totally fine with you closing it, thank you for the prompt response.
What other properties can a Point have aside from coordinates? It looked from my reading of the spec that it (along with the other geometry objects) were required to only have type and coordinates (and bbox, but that does not appear to be supported by this library, unless I'm missing something.)

@frewsxcv -- one last question. The previous discussion addressed making the coordinates property implicitly indexable, but this PR also does the same for the features and geometries properties. I do feel that the case for making those properties implicitly indexable is stronger, as their objects ( FeatureCollection and GeometryCollection) explicitly describe themselves as "Collections", and have no other functionality aside from containing those arrays.
Please reconsider accepting this more limited PR.

Whoops, it looks like I need to make a new PR to show this. I'll wait to hear if you'd be interested -- but you can review the code here: https://github.com/frewsxcv/python-geojson/compare/master...JesseWeinstein:add_getitem

Codecov Report

Merging #103 into master will decrease coverage by 0.23%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #103      +/-   ##
==========================================
- Coverage   78.61%   78.37%   -0.24%
==========================================
  Files          11       11
  Lines         318      333      +15
  Branches       54       54
==========================================
+ Hits          250      261      +11
- Misses         58       61       +3
- Partials       10       11       +1

Impacted Files
Coverage Δ

geojson/geometry.py
94.44% <100%> (-2.33%)
:arrow_down:

geojson/feature.py
86.36% <100%> (+4.01%)
:arrow_up:

geojson/base.py
75% <0%> (-3.34%)
:arrow_down:

Continue to review full report at Codecov.

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

after giving it some more thought, i think this is change is okay. if it's possible, could you add a couple tests for this? if not, i can add some when i get some free time

also fyi, added a merge commit to see how test coverage changes. feel free to get rid of the merge commit if you want

Tests added, rebased off master. Merge away!

thanks! bors r+

bors r+


Place the main frame in the middle of the screen when offscreen at startup (fix #228)

I think it is better to put things like (fix #228) to the body of the issue to make it actually linkable


Added a simple E2E test for sign up page

What

Added a simple signup page test. This spec file just ensures the basic field names are present in the sign up page.

Thanks  👍


add new lab for Kubernetes multi node cluster

sorry i've slacked on this @cantbewong. How confident are you that this is complete? I'll make a test run at it if you feel like it is. Thanks!

@cantbewong is this still worthy of our time pursuing? I know we have FlexRex and ScaleIO in K8 coming and seeing what's going to break "less"


Update text-analytics-how-to-call-api.md

@skandil : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Hi @skandil - This pull request was created in the public repository. Per the internal Microsoft Docs contributor guide, substantial updates should be made in the private repository to ensure quality via automated validations and quality checks. Would you submit this article update in a pull request in the private repo? If you need assistance, let me know and I'll send email with information. Thank you! We'll close this PR.


Autocomplete inside ' and commit on enclosing '

15.5 P2:

Expectation:

No autocompletion when inside of a ' and typing E

Whether or not it should complete is a different story.  Given this:
let value = 12
let value' = 13

It's valid to commit on '.  Though I don't think it really matters, because the ' is going to be at the end of the identifier anyways.

@cartermp I suppose that if anything it should offer the names of all generic type variables 'T

Agreed - though I think this sort of thing should be spec'd out (i.e., I need to turn #2432 into an RFC).  For the time being, just making sure it's quiet is better than the status quo.  Unless it's easy to restrict this to generic types we have symbols for and in the correct context.

I think my PR (fixed the @jdh30 problem with double dots etc.) has fixed this as well.

Just tried it in P3 in a script file.  Using this sln:  https://github.com//cartermp/15.x-e2e

No, sorry :)

This is on vanilla 15.5 pre 3

What if you type E after '?

Reproduced.

Updated repro steps - I can now see that they were a bit confusing 😄


fix client unsupport -runtimeMap param #1601

fix client unsupport -runtimeMap param
https://github.com/apache/incubator-linkis/issues/1601

fix client unsupport -runtimeMap param https://github.com/apache/incubator-linkis/issues/1601

Thanks!

OK


Hello, I can't open the google drive link you shared about ActivityNet 13. Pre-trained Model I don't know if there is a Baidu cloud link or other ways to open the link?

My problem has been solved!


This package should not "replace" zend/code

Bug Report

Q
A

Version(s)
3.4.1

Summary
This package is marked as replacing zendframework/zend-code:
https://github.com/laminas/laminas-code/blob/8499ce005b4c028af6c9e6145a27b6ea5d3c716b/composer.json#L67-L69
There seems to be a misunderstanding in what replace actually does: the package must be 100% compatible with the replaced one, which is obviously not the case here.
As it stands, this breaks composer installations and throws class not found errors.
Sure, you can install the laminas/laminas-zendframework-bridge, but composer doesn't do that automatically.
Current behavior

Class 'Zend\Code\Generator\ClassGenerator' not found

How to reproduce
Install ocramius/proxy-manager on PHP 7.3; try to use it.

I had the same problem. I suspect symfony flex to have messed with the dependencies.
IMO the bug should be open as I think you are right about the fact that this package is NOT a "replace"(ment) of zend-code.

@magnetik IDK, because it requires the bridge, it effectively replaces zend-code, with no modification required on code using the library.

@magnetik are you using latest composer version?

I'm running 1.9.2

Hum but maybe that's someone on my team that was using 1.8.6 that did the composer update. Could this be it?

Looks like I somehow ended up with a broken composer config. Here's how I fixed it:
rm -rf vendor
rm -f composer.lock
rm -f symfony.lock
composer update
composer install --no-dev

Tell me why, but laminas/laminas-code was now replaced with zendframework/zend-code, and the problem is gone for me.
I believe there's a bug somehow with composer, but I wasn't able to make a reproducible test case after more than one hour, so I'm giving up now.
Maybe the steps above will help someone with the same issue I encountered.

Thanks a bunch for this comment. This is exactly what I had to do.

There is some kind of issue here that looks more of a support kind rather than a bug.
Please take it to our discourse forums so we can figure it out and help you.

@Xerkus Indeed, I don't think there's any issue with laminas-code.
This is more likely a Composer bug. Closing.

Probably this one I've just discovered. If yes then temporary workaround is just not to use --no-dev key.
https://github.com/composer/composer/issues/8622


Base highlighting and code navigation on all parsed files

I am working in VS Code with clangd 10.0.1, VS Code extension version 0.1.5.
Let's say I have main.cpp with (for Eigen library see http://eigen.tuxfamily.org/index.php?title=Main_Page)
#include <Eigen/Dense>
using namespace Eigen;
auto a = Array<double, Dynamic, Dynamic>{10, 10};

I would assume clangd now should know all about Array, including all its ancestors, because the code above perfectly compiles. However, if I navigate to Array definition:
template<typename _Scalar, int _Rows, int _Cols, int _Options, int _MaxRows, int _MaxCols>
class Array
  : public PlainObjectBase<Array<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols> >

clangd complains No template named 'PlainObjectBase', which doesn't make sense for me. You just compiled main.cpp, there is certainly information about PlainObjectBase there.

it is because eigen3/Eigen/src/Core/Array.h is not self contained. i.e it doesn't contain any includes for PlainObjectBase.
we are able to compile that in main.cpp because Eigen/Dense includes all those headers in correct order.
closing as this is a duplicate of https://github.com/clangd/clangd/issues/45


[Feature]: Make collections non-required.

Is your feature request related to a problem? Please elaborate.
 I prefer letting Plex make its own collections or make them myself, I just want to literally tag cover posters with HDR or DV.
Is it at all possible to run this without collections? As it is I'm currently forced to have "IMDB-Top-250" because I had to have a collection. Unless I'm misreading the error that pops up when I try to run without a collection attribute.
Describe the solution you'd like
Allow me to simply do quality/resolution overlays without needing collections.
Additional Information
No response

Decided this wasn't the way I wanted to go.

I figured that out afterwards, that's why I closed this request - I just didn't elaborate further.
I may come back and visit this again later, but for the time being, the amount of time it'll take me to set this up the way I want will take more time than I'm willing to commit at the moment.

OK< the default overlay setup is pretty quick and easy; if you have some requirement beyond that there might be a quick way to do it.  Perhaps ask in the discord [or here] and someone can offer that simple method if there is one.
If this is the requirement:

I just want to literally tag cover posters with HDR or DV

The setup should take just a few minutes, unless you've got something unusual beyond that going on.

Essentially yes, I'm looking to have 4K, DV, HDR, Atmos, Special Editions.
The feature request came from when I would try to run the script, it would throw an error stating that without a collection
or metadata section added it wouldn't run. When I did add a collection, it would run but only put an overlay on a couple movies that were in the top 250 list, It would state that there was no overlay that matched the name of any of the resolutions I had in my yml file. I tried looking through some of the configs in the other repo but none were really what I was looking for without too much modification.
I could have reached out for help, but chose to close the request and spend my evening watching Plex instead of tinkering with it lol.
I'll pop in the Discord this week if I'm feeling ambitious, unless there is a really quick way to get what I'm looking for?

Make sure you are using the latest PMM, then for each Library, enter this in your config.yml:
libraries:
  LIBRARY NAME HERE:
    metadata_path:
    overlay_path:
    - remove_overlays: false
    - git: PMM/overlays/audio_codec
    - git: PMM/overlays/resolution
    - git: PMM/overlays/special_release

I think Atmos and the like is covered by 'audio_codec'.

Thank you for taking the time to do this for me, it's much appreciated.
I was definitely overcomplicating it!

Thank you again for the config above, I'm watching it go in cli now and appears to be only adding the overlays I wanted.

Excellent; glad to hear.


build: setup android builder with android-L devices

Some tests are not compatible with Android-L's security model.
Some tests (involving processing stderr/stdout of child processes) are confused.
Here is error messages after patching cl/12559 (for pie)

WARNING: linker: /data/local/tmp/syslog.test-50176/syslog.test-50176 has text relocations. This is wasting memory and prevents security hardening. Please fix.
2015/08/21 13:44:14 startServer failed: listen unix /data/local/tmp/syslog.test-50176/syslogtest840502310: bind: permission denied
exitcode=1go_android_exec: adb shell rm -rf /data/local/tmp/syslog.test-50176
FAIL	log/syslog	1.981s

--- FAIL: TestConnAndListener (0.00s)
	conn_test.go:29: listen unix /data/local/tmp/net.test-50439/go-nettest156564319: bind: permission denied
--- FAIL: TestCloseRead (0.00s)
	net_test.go:28: listen unix /data/local/tmp/net.test-50439/go-nettest558273769: bind: permission denied
--- FAIL: TestCloseWrite (0.00s)
	net_test.go:114: listen unix /data/local/tmp/net.test-50439/go-nettest743620916: bind: permission denied
--- FAIL: TestConnClose (0.00s)
	net_test.go:164: listen unix /data/local/tmp/net.test-50439/go-nettest612674819: bind: permission denied
--- FAIL: TestListenerClose (0.00s)
	net_test.go:205: listen unix /data/local/tmp/net.test-50439/go-nettest021369990: bind: permission denied
--- FAIL: TestPacketConnClose (0.00s)
	net_test.go:236: listen unixgram /data/local/tmp/net.test-50439/go-nettest185898029: bind: permission denied
--- FAIL: TestPacketConn (0.00s)
	packetconn_test.go:57: listen unixgram /data/local/tmp/net.test-50439/go-nettest041550039: bind: permission denied
--- FAIL: TestConnAndPacketConn (0.00s)
	packetconn_test.go:112: listen unixgram /data/local/tmp/net.test-50439/go-nettest041550039: bind: permission denied
--- FAIL: TestUnixListenerSpecificMethods (0.00s)
	protoconn_test.go:215: listen unix /data/local/tmp/net.test-50439/go-nettest385819048: bind: permission denied
--- FAIL: TestUnixConnSpecificMethods (0.00s)
	protoconn_test.go:257: dial unixgram /data/local/tmp/net.test-50439/go-nettest314342631: bind: permission denied
--- FAIL: TestUnixAndUnixpacketServer (0.00s)
	server_test.go:151: listen unix /data/local/tmp/net.test-50439/go-nettest512301857: bind: permission denied
--- FAIL: TestUnixgramServer (0.00s)
	server_test.go:341: listen unixgram /data/local/tmp/net.test-50439/go-nettest015628795: bind: permission denied
--- FAIL: TestReadUnixgramWithUnnamedSocket (0.00s)
	unix_test.go:31: listen unixgram /data/local/tmp/net.test-50439/go-nettest721342812: bind: permission denied
--- FAIL: TestUnixgramZeroBytePayload (0.00s)
	unix_test.go:77: listen unixgram /data/local/tmp/net.test-50439/go-nettest064747275: bind: permission denied
--- FAIL: TestUnixgramZeroByteBuffer (0.00s)
	unix_test.go:127: listen unixgram /data/local/tmp/net.test-50439/go-nettest691965678: bind: permission denied
--- FAIL: TestUnixgramWrite (0.00s)
	unix_test.go:225: listen unixgram /data/local/tmp/net.test-50439/go-nettest293440885: bind: permission denied
--- FAIL: TestUnixConnLocalAndRemoteNames (0.00s)
	unix_test.go:301: listen unix /data/local/tmp/net.test-50439/go-nettest721800559: bind: permission denied
--- FAIL: TestUnixgramConnLocalAndRemoteNames (0.00s)
	unix_test.go:363: listen unixgram /data/local/tmp/net.test-50439/go-nettest607627129: bind: permission denied
FAIL
exitcode=1go_android_exec: adb shell rm -rf /data/local/tmp/net.test-50439
FAIL	net	5.456s

--- FAIL: TestLongSymlink (0.00s)
	os_test.go:690: symlink "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef", "longsymlinktestfrom" failed: symlink<PHONE_NUMBER>abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef longsymlinktestfrom: permission denied
--- FAIL: TestGetppid (0.02s)
	os_test.go:1615: Child process reports parent process id 'WARNING: linker: /data/local/tmp/os.test-50530/os.test-50530 has text relocations. This is wasting memory and prevents security hardening. Please fix.
		13739', expected '13739'
--- FAIL: TestMkdirAllWithSymlink (0.00s)
	path_test.go:196: Symlink /data/local/tmp/os.test-50530/TestMkdirAllWithSymlink-447302546/link: symlink dir /data/local/tmp/os.test-50530/TestMkdirAllWithSymlink-447302546/link: permission denied
FAIL
exitcode=1go_android_exec: adb shell rm -rf /data/local/tmp/os.test-50530
FAIL	os	2.132s

       ....
	exec_test.go:543: iteration 9, process B got:
		WARNING: linker: /data/local/tmp/exec.test-50565/exec.test-50565 has text relocations. This is wasting memory and prevents security hardening. Please fix.
		fd3: listener <IP_ADDRESS>:33373

		want:
		fd3: listener <IP_ADDRESS>:33373

FAIL
exitcode=1go_android_exec: adb shell rm -rf /data/local/tmp/exec.test-50565
FAIL	os/exec	2.826s

--- FAIL: TestGlobSymlink (0.00s)
	match_test.go:197: symlink /data/local/tmp/filepath.test-50618/globsymlink620110739/test1 /data/local/tmp/filepath.test-50618/globsymlink620110739/link1: permission denied
--- FAIL: TestEvalSymlinks (0.00s)
	path_test.go:796: symlink ../../ /data/local/tmp/filepath.test-50618/evalsymlink112903032/test/dir/link3: permission denied
FAIL
exitcode=1go_android_exec: adb shell rm -rf /data/local/tmp/filepath.test-50618
FAIL	path/filepath	0.911s

--- FAIL: TestFcntlFlock (0.08s)
	syscall_unix_test.go:98: child process: "WARNING: linker: /data/local/tmp/syscall.test-50825/syscall.test-50825 has text relocations. This is wasting memory and prevents security hardening. Please fix.\n",
--- FAIL: TestPassFD (0.10s)
	syscall_unix_test.go:166: child process: "WARNING: linker: /data/local/tmp/syscall.test-50825/syscall.test-50825 has text relocations. This is wasting memory and prevents security hardening. Please fix.\n",
FAIL
exitcode=1go_android_exec: adb shell rm -rf /data/local/tmp/syscall.test-50825
FAIL	syscall	1.802s

/cc @crawshaw

This is a duplicate of #10807.
Those results don't look so bad. Unixgram will have to be disabled, but the other failures are just caused by the text relocations warning. Once the relocations are gone they should work.


Type name generation for complex spec is broken

I am running kopium against cluster-api CRDs and generated structs appear incorrect
Here is what Rust code for top-level object clusters.cluster.x-k8s.io
#[derive(CustomResource, Serialize, Deserialize, Clone, Debug)]
#[kube(group = "cluster.x-k8s.io", version = "v1beta1", kind = "Cluster", plural = "clusters")]
#[kube(namespaced)]
#[kube(schema = "disabled")]
pub struct ClusterSpec {
    pub clusterNetwork: Option<Cluster>,
    pub controlPlaneEndpoint: Option<Cluster>,
    pub controlPlaneRef: Option<Cluster>,
    pub infrastructureRef: Option<Cluster>,
    pub paused: Option<bool>,
    pub topology: Option<Cluster>,
}
...

This is definitely not correct as the struct cannot reference itself
Here is what I think it should be producing (ignore field names, types are important)
#[derive(Clone, Debug, Serialize, Deserialize, CustomResource)]
#[serde(rename_all = "camelCase")]
#[skip_serializing_none]
#[kube(
    group = "cluster.x-k8s.io",
    version = "v1beta1",
    kind = "Cluster",
    plural = "clusters",
)]
#[kube(namespaced)]
#[kube(schema = "disabled")]
pub struct ClusterSpec {
    pub cluster_network: Option<ClusterNetwork>,
    pub control_plane_endpoint: Option<ApiEndpoint>,
    pub control_plane_ref: Option<core::v1::ObjectReference>,
    pub infrastructure_ref: Option<core::v1::ObjectReference>,
    pub paused: Option<bool>,
    pub topology: Option<Topology>,
}
...

Hm. That's weird. I am testing it on fairly large crds, but I guess there must be something in these particular ones that we don't handle. Maybe something about references to foreign crds being inlined in the schema? Any chance of adding a link to the full schema / collapsible comment with it inlined?
(There's also a point in here about camelCase -> snake_case not being done, raising that separately.)

---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    cert-manager.io/inject-ca-from: capi-system/capi-serving-cert
    controller-gen.kubebuilder.io/version: v0.7.0
  creationTimestamp: "2021-11-18T15:55:11Z"
  generation: 2
  labels:
    cluster.x-k8s.io/provider: cluster-api
    clusterctl.cluster.x-k8s.io: ""
  name: clusters.cluster.x-k8s.io
  resourceVersion: "2210"
  uid: 5fcaf00c-19be-426c-a063-e08c81b803e2
spec:
  conversion:
    strategy: Webhook
    webhook:
      clientConfig:
        caBundle: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURXVENDQWtHZ0F3SUJBZ0lRQisyRnBsMjNFd3E4WmRndXNpa0wwVEFOQmdrcWhraUc5dzBCQVFzRkFEQWsKTVNJd0lBWURWUVFLRXhsck9ITXRjMmxuTFdOc2RYTjBaWEl0YkdsbVpXTjVZMnhsTUI0WERUSXhNVEV4T0RFMQpOVFV5TVZvWERUSXlNREl4TmpFMU5UVXlNVm93SkRFaU1DQUdBMVVFQ2hNWmF6aHpMWE5wWnkxamJIVnpkR1Z5CkxXeHBabVZqZVdOc1pUQ0NBU0l3RFFZSktvWklodmNOQVFFQkJRQURnZ0VQQURDQ0FRb0NnZ0VCQU5YZUU3bkUKZUJRL3RWendWTnNjOVVIRDZndHVSYzIwUTVDS0dlOTFPNHY5VUtMNUhkMjdCL1ErZlVCOGhSWXAxMlN2aEZFUgppTUZtR0d2VlBvZkQ4TDV1VVlUVlV3d01IVFVZN1l2dWVhS1RmUXZDMmYzNXdOaXJaN0syaWJPN2pSTTF0STNSCjRJZFVWT2U2REZYOWlaTFF6U0Q1bjdIbzhUWk1WSDB1WkQrSWNiMXhsbEFLL2g3dXE4MkptU0RtL0VMMlk3NlkKRzJWS3haVm5GTU9PdHluR0U0WWVzeGRjSDBCRHVuUkR3TXExQlZ5Z2FkOS9iQkgydEQ0QlV6Uzc3TFkydUJscQp6UkdsLzFxdTVRb3hhSDBPckFBQU94SVBZS1lrU0ZwYUU1V21vV3RIdHUxYWh2Y01EekV4SyswZDZmejNrYlF1CnFiN3ovbHphUEFQaFl0a0NBd0VBQWFPQmhqQ0JnekFPQmdOVkhROEJBZjhFQkFNQ0JhQXdEQVlEVlIwVEFRSC8KQkFJd0FEQmpCZ05WSFJFRVhEQmFnaVJqWVhCcExYZGxZbWh2YjJzdGMyVnlkbWxqWlM1allYQnBMWE41YzNSbApiUzV6ZG1PQ01tTmhjR2t0ZDJWaWFHOXZheTF6WlhKMmFXTmxMbU5oY0drdGMzbHpkR1Z0TG5OMll5NWpiSFZ6CmRHVnlMbXh2WTJGc01BMEdDU3FHU0liM0RRRUJDd1VBQTRJQkFRQnRGMzhHRVNXaEROcUhyZjBNWmVGbDA4bUoKTnNoVTlVQ0xlcytsRjJHNENFODBCRFNUYkxYakNvNmhqQ3FjQ3hjbkxHRlF4RjdQSy9nRUpNQXFmc3NtdE5XZgpORXZHR2s5bVBram1NVkFEY2FUczhmU1RqMy9RTGRONFJJRTJOS243UnlBa3pTdE9Kd3NkNGJqTHUwL0hpRGE3CkljYUR1ZUhkeU9ETkczZE96U1VLZ2EwbHQ5aTFONzNXNWNTdWRDSXJwOVcxekhsOFY1clI2djhrRzdpUjloRU8KKzVBOGJxblcwSWQwTUFHeS8yS0h3SW9LVWZSTHU0N0RBNlFxZXp3ZW1QRmtiVy9vdFRpZG9OazhoUHVMS1hYUwo5WW04c2ZjbTNqV0FwQks4ZHdEcGtDdGx1Q0d0djNRMWFmSHlJb3RFVVpkZlhzeHNsQUF2aWl6M1EwbXkKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
        service:
          name: capi-webhook-service
          namespace: capi-system
          path: /convert
          port: 443
      conversionReviewVersions:
      - v1
      - v1beta1
  group: cluster.x-k8s.io
  names:
    categories:
    - cluster-api
    kind: Cluster
    listKind: ClusterList
    plural: clusters
    shortNames:
    - cl
    singular: cluster
  scope: Namespaced
  versions:
  - additionalPrinterColumns:
    - description: Cluster status such as Pending/Provisioning/Provisioned/Deleting/Failed
      jsonPath: .status.phase
      name: Phase
      type: string
    name: v1alpha3
    schema:
      openAPIV3Schema:
        description: Cluster is the Schema for the clusters API.
        properties:
          apiVersion:
            description: 'APIVersion defines the versioned schema of this representation
              of an object. Servers should convert recognized schemas to the latest
              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
            type: string
          kind:
            description: 'Kind is a string value representing the REST resource this
              object represents. Servers may infer this from the endpoint the client
              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
            type: string
          metadata:
            type: object
          spec:
            description: ClusterSpec defines the desired state of Cluster.
            properties:
              clusterNetwork:
                description: Cluster network configuration.
                properties:
                  apiServerPort:
                    description: APIServerPort specifies the port the API Server should
                      bind to. Defaults to 6443.
                    format: int32
                    type: integer
                  pods:
                    description: The network ranges from which Pod networks are allocated.
                    properties:
                      cidrBlocks:
                        items:
                          type: string
                        type: array
                    required:
                    - cidrBlocks
                    type: object
                  serviceDomain:
                    description: Domain name for services.
                    type: string
                  services:
                    description: The network ranges from which service VIPs are allocated.
                    properties:
                      cidrBlocks:
                        items:
                          type: string
                        type: array
                    required:
                    - cidrBlocks
                    type: object
                type: object
              controlPlaneEndpoint:
                description: ControlPlaneEndpoint represents the endpoint used to
                  communicate with the control plane.
                properties:
                  host:
                    description: The hostname on which the API server is serving.
                    type: string
                  port:
                    description: The port on which the API server is serving.
                    format: int32
                    type: integer
                required:
                - host
                - port
                type: object
              controlPlaneRef:
                description: ControlPlaneRef is an optional reference to a provider-specific
                  resource that holds the details for provisioning the Control Plane
                  for a Cluster.
                properties:
                  apiVersion:
                    description: API version of the referent.
                    type: string
                  fieldPath:
                    description: 'If referring to a piece of an object instead of
                      an entire object, this string should contain a valid JSON/Go
                      field access statement, such as desiredState.manifest.containers[2].
                      For example, if the object reference is to a container within
                      a pod, this would take on a value like: "spec.containers{name}"
                      (where "name" refers to the name of the container that triggered
                      the event) or if no container name is specified "spec.containers[2]"
                      (container with index 2 in this pod). This syntax is chosen
                      only to have some well-defined way of referencing a part of
                      an object. TODO: this design is not final and this field is
                      subject to change in the future.'
                    type: string
                  kind:
                    description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
                    type: string
                  name:
                    description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
                    type: string
                  namespace:
                    description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
                    type: string
                  resourceVersion:
                    description: 'Specific resourceVersion to which this reference
                      is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency'
                    type: string
                  uid:
                    description: 'UID of the referent.
                      For example, if the object reference is to a container within
                      a pod, this would take on a value like: "spec.containers{name}"
                      (where "name" refers to the name of the container that triggered
                      the event) or if no container name is specified "spec.containers[2]"
                      (container with index 2 in this pod). This syntax is chosen
                      only to have some well-defined way of referencing a part of
                      an object. TODO: this design is not final and this field is
                      subject to change in the future.'
                    type: string
                  kind:
                    description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
                    type: string
                  name:
                    description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
                    type: string
                  namespace:
                    description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
                    type: string
                  resourceVersion:
                    description: 'Specific resourceVersion to which this reference
                      is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency'
                    type: string
                  uid:
                    description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
                    type: string
                type: object
              paused:
                description: Paused can be used to prevent controllers from processing
                  the Cluster and all its associated objects.
                type: boolean
            type: object
          status:
            description: ClusterStatus defines the observed state of Cluster.
            properties:
              conditions:
                description: Conditions defines current service state of the cluster.
                items:
                  description: Condition defines an observation of a Cluster API resource
                    operational state.
                  properties:
                    lastTransitionTime:
                      description: Last time the condition transitioned from one status
                        to another. This should be when the underlying condition changed.
                        If that is not known, then using the time when the API field
                        changed is acceptable.
                      format: date-time
                      type: string
                    message:
                      description: A human readable message indicating details about
                        the transition. This field may be empty.
                      type: string
                    reason:
                      description: The reason for the condition's last transition
                        in CamelCase. The specific API may choose whether or not this
                        field is considered a guaranteed API. This field may not be
                        empty.
                      type: string
                    severity:
                      description: Severity provides an explicit classification of
                        Reason code, so the users or machines can immediately understand
                        the current situation and act accordingly. The Severity field
                        MUST be set only when Status=False.
                      type: string
                    status:
                      description: Status of the condition, one of True, False, Unknown.
                      type: string
                    type:
                      description: Type of condition in CamelCase or in foo.example.com/CamelCase.
                        Many .condition.type values are consistent across resources
                        like Available, but because arbitrary conditions can be useful
                        (see .node.status.conditions), the ability to deconflict is
                        important.
                      type: string
                  required:
                  - status
                  - type
                  type: object
                type: array
              controlPlaneInitialized:
                description: ControlPlaneInitialized defines if the control plane
                  has been initialized.
                type: boolean
              controlPlaneReady:
                description: ControlPlaneReady defines if the control plane is ready.
                type: boolean
              failureDomains:
                additionalProperties:
                  description: FailureDomainSpec is the Schema for Cluster API failure
                    domains. It allows controllers to understand how many failure
                    domains a cluster can optionally span across.
                  properties:
                    attributes:
                      additionalProperties:
                        type: string
                      description: Attributes is a free form map of attributes an
                        infrastructure provider might use or require.
                      type: object
                    controlPlane:
                      description: ControlPlane determines if this failure domain
                        is suitable for use by control plane machines.
                      type: boolean
                  type: object
                description: FailureDomains is a slice of failure domain objects synced
                  from the infrastructure provider.
                type: object
              failureMessage:
                description: FailureMessage indicates that there is a fatal problem
                  reconciling the state, and will be set to a descriptive error message.
                type: string
              failureReason:
                description: FailureReason indicates that there is a fatal problem
                  reconciling the state, and will be set to a token value suitable
                  for programmatic interpretation.
                type: string
              infrastructureReady:
                description: InfrastructureReady is the state of the infrastructure
                  provider.
                type: boolean
              observedGeneration:
                description: ObservedGeneration is the latest generation observed
                  by the controller.
                format: int64
                type: integer
              phase:
                description: Phase represents the current phase of cluster actuation.
                  E.g. Pending, Running, Terminating, Failed etc.
                type: string
            type: object
        type: object
    served: true
    storage: false
    subresources:
      status: {}
  - additionalPrinterColumns:
    - description: Time duration since creation of Cluster
      jsonPath: .metadata.creationTimestamp
      name: Age
      type: date
    - description: Cluster status such as Pending/Provisioning/Provisioned/Deleting/Failed
      jsonPath: .status.phase
      name: Phase
      type: string
    name: v1alpha4
    schema:
      openAPIV3Schema:
        description: Cluster is the Schema for the clusters API.
        properties:
          apiVersion:
            description: 'APIVersion defines the versioned schema of this representation
              of an object. Servers should convert recognized schemas to the latest
              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
            type: string
          kind:
            description: 'Kind is a string value representing the REST resource this
              object represents. Servers may infer this from the endpoint the client
              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
            type: string
          metadata:
            type: object
          spec:
            description: ClusterSpec defines the desired state of Cluster.
            properties:
              clusterNetwork:
                description: Cluster network configuration.
                properties:
                  apiServerPort:
                    description: APIServerPort specifies the port the API Server should
                      bind to. Defaults to 6443.
                    format: int32
                    type: integer
                  pods:
                    description: The network ranges from which Pod networks are allocated.
                    properties:
                      cidrBlocks:
                        items:
                          type: string
                        type: array
                    required:
                    - cidrBlocks
                    type: object
                  serviceDomain:
                    description: Domain name for services.
                    type: string
                  services:
                    description: The network ranges from which service VIPs are allocated.
                    properties:
                      cidrBlocks:
                        items:
                          type: string
                        type: array
                    required:
                    - cidrBlocks
                    type: object
                type: object
              controlPlaneEndpoint:
                description: ControlPlaneEndpoint represents the endpoint used to
                  communicate with the control plane.
                properties:
                  host:
                    description: The hostname on which the API server is serving.
                    type: string
                  port:
                    description: The port on which the API server is serving.
                    format: int32
                    type: integer
                required:
                - host
                - port
                type: object
              controlPlaneRef:
                description: ControlPlaneRef is an optional reference to a provider-specific
                  resource that holds the details for provisioning the Control Plane
                  for a Cluster.
                properties:
                  apiVersion:
                    description: API version of the referent.
                    type: string
                  fieldPath:
                    description: 'If referring to a piece of an object instead of
                      an entire object, this string should contain a valid JSON/Go
                      field access statement, such as desiredState.manifest.containers[2].
                      For example, if the object reference is to a container within
                      a pod, this would take on a value like: "spec.containers{name}"
                      (where "name" refers to the name of the container that triggered
                      the event) or if no container name is specified "spec.containers[2]"
                      (container with index 2 in this pod). This syntax is chosen
                      only to have some well-defined way of referencing a part of
                      an object. TODO: this design is not final and this field is
                      subject to change in the future.'
                    type: string
                  kind:
                    description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
                    type: string
                  name:
                    description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
                    type: string
                  namespace:
                    description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
                    type: string
                  resourceVersion:
                    description: 'Specific resourceVersion to which this reference
                      is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency'
                    type: string
                  uid:
                    description: 'UID of the referent.
                      For example, if the object reference is to a container within
                      a pod, this would take on a value like: "spec.containers{name}"
                      (where "name" refers to the name of the container that triggered
                      the event) or if no container name is specified "spec.containers[2]"
                      (container with index 2 in this pod). This syntax is chosen
                      only to have some well-defined way of referencing a part of
                      an object. TODO: this design is not final and this field is
                      subject to change in the future.'
                    type: string
                  kind:
                    description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
                    type: string
                  name:
                    description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
                    type: string
                  namespace:
                    description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
                    type: string
                  resourceVersion:
                    description: 'Specific resourceVersion to which this reference
                      is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency'
                    type: string
                  uid:
                    description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
                    type: string
                type: object
              paused:
                description: Paused can be used to prevent controllers from processing
                  the Cluster and all its associated objects.
                type: boolean
              topology:
                description: 'This encapsulates the topology for the cluster. NOTE:
                  It is required to enable the ClusterTopology feature gate flag to
                  activate managed topologies support; this feature is highly experimental,
                  and parts of it might still be not implemented.'
                properties:
                  class:
                    description: The name of the ClusterClass object to create the
                      topology.
                    type: string
                  controlPlane:
                    description: ControlPlane describes the cluster control plane.
                    properties:
                      metadata:
                        description: "Metadata is the metadata applied to the machines
                          of the ControlPlane. At runtime this metadata is merged
                          with the corresponding metadata from the ClusterClass. \n
                          This field is supported if and only if the control plane
                          provider template referenced in the ClusterClass is Machine
                          based."
                        properties:
                          annotations:
                            additionalProperties:
                              type: string
                            description: 'Annotations is an unstructured key value
                              map stored with a resource that may be set by external
                              tools to store and retrieve arbitrary metadata. They
                              are not queryable and should be preserved when modifying
                              objects. More info: http://kubernetes.io/docs/user-guide/annotations'
                            type: object
                          labels:
                            additionalProperties:
                              type: string
                            description: 'Map of string keys and values that can be
                              used to organize and categorize (scope and select) objects.
                              May match selectors of replication controllers and services.
                              More info: http://kubernetes.io/docs/user-guide/labels'
                            type: object
                        type: object
                      replicas:
                        description: Replicas is the number of control plane nodes.
                          If the value is nil, the ControlPlane object is created
                          without the number of Replicas and it's assumed that the
                          control plane controller does not implement support for
                          this field. When specified against a control plane provider
                          that lacks support for this field, this value will be ignored.
                        format: int32
                        type: integer
                    type: object
                  rolloutAfter:
                    description: RolloutAfter performs a rollout of the entire cluster
                      one component at a time, control plane first and then machine
                      deployments.
                    format: date-time
                    type: string
                  version:
                    description: The Kubernetes version of the cluster.
                    type: string
                  workers:
                    description: Workers encapsulates the different constructs that
                      form the worker nodes for the cluster.
                    properties:
                      machineDeployments:
                        description: MachineDeployments is a list of machine deployments
                          in the cluster.
                        items:
                          description: MachineDeploymentTopology specifies the different
                            parameters for a set of worker nodes in the topology.
                            This set of nodes is managed by a MachineDeployment object
                            whose lifecycle is managed by the Cluster controller.
                          properties:
                            class:
                              description: Class is the name of the MachineDeploymentClass
                                used to create the set of worker nodes. This should
                                match one of the deployment classes defined in the
                                ClusterClass object mentioned in the `Cluster.Spec.Class`
                                field.
                              type: string
                            metadata:
                              description: Metadata is the metadata applied to the
                                machines of the MachineDeployment. At runtime this
                                metadata is merged with the corresponding metadata
                                from the ClusterClass.
                              properties:
                                annotations:
                                  additionalProperties:
                                    type: string
                                  description: 'Annotations is an unstructured key
                                    value map stored with a resource that may be set
                                    by external tools to store and retrieve arbitrary
                                    metadata. They are not queryable and should be
                                    preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations'
                                  type: object
                                labels:
                                  additionalProperties:
                                    type: string
                                  description: 'Map of string keys and values that
                                    can be used to organize and categorize (scope
                                    and select) objects. May match selectors of replication
                                    controllers and services. More info: http://kubernetes.io/docs/user-guide/labels'
                                  type: object
                              type: object
                            name:
                              description: Name is the unique identifier for this
                                MachineDeploymentTopology. The value is used with
                                other unique identifiers to create a MachineDeployment's
                                Name (e.g. cluster's name, etc). In case the name
                                is greater than the allowed maximum length, the values
                                are hashed together.
                              type: string
                            replicas:
                              description: Replicas is the number of worker nodes
                                belonging to this set. If the value is nil, the MachineDeployment
                                is created without the number of Replicas (defaulting
                                to zero) and it's assumed that an external entity
                                (like cluster autoscaler) is responsible for the management
                                of this value.
                              format: int32
                              type: integer
                          required:
                          - class
                          - name
                          type: object
                        type: array
                    type: object
                required:
                - class
                - version
                type: object
            type: object
          status:
            description: ClusterStatus defines the observed state of Cluster.
            properties:
              conditions:
                description: Conditions defines current service state of the cluster.
                items:
                  description: Condition defines an observation of a Cluster API resource
                    operational state.
                  properties:
                    lastTransitionTime:
                      description: Last time the condition transitioned from one status
                        to another. This should be when the underlying condition changed.
                        If that is not known, then using the time when the API field
                        changed is acceptable.
                      format: date-time
                      type: string
                    message:
                      description: A human readable message indicating details about
                        the transition. This field may be empty.
                      type: string
                    reason:
                      description: The reason for the condition's last transition
                        in CamelCase. The specific API may choose whether or not this
                        field is considered a guaranteed API. This field may not be
                        empty.
                      type: string
                    severity:
                      description: Severity provides an explicit classification of
                        Reason code, so the users or machines can immediately understand
                        the current situation and act accordingly. The Severity field
                        MUST be set only when Status=False.
                      type: string
                    status:
                      description: Status of the condition, one of True, False, Unknown.
                      type: string
                    type:
                      description: Type of condition in CamelCase or in foo.example.com/CamelCase.
                        Many .condition.type values are consistent across resources
                        like Available, but because arbitrary conditions can be useful
                        (see .node.status.conditions), the ability to deconflict is
                        important.
                      type: string
                  required:
                  - status
                  - type
                  type: object
                type: array
              controlPlaneReady:
                description: ControlPlaneReady defines if the control plane is ready.
                type: boolean
              failureDomains:
                additionalProperties:
                  description: FailureDomainSpec is the Schema for Cluster API failure
                    domains. It allows controllers to understand how many failure
                    domains a cluster can optionally span across.
                  properties:
                    attributes:
                      additionalProperties:
                        type: string
                      description: Attributes is a free form map of attributes an
                        infrastructure provider might use or require.
                      type: object
                    controlPlane:
                      description: ControlPlane determines if this failure domain
                        is suitable for use by control plane machines.
                      type: boolean
                  type: object
                description: FailureDomains is a slice of failure domain objects synced
                  from the infrastructure provider.
                type: object
              failureMessage:
                description: FailureMessage indicates that there is a fatal problem
                  reconciling the state, and will be set to a descriptive error message.
                type: string
              failureReason:
                description: FailureReason indicates that there is a fatal problem
                  reconciling the state, and will be set to a token value suitable
                  for programmatic interpretation.
                type: string
              infrastructureReady:
                description: InfrastructureReady is the state of the infrastructure
                  provider.
                type: boolean
              observedGeneration:
                description: ObservedGeneration is the latest generation observed
                  by the controller.
                format: int64
                type: integer
              phase:
                description: Phase represents the current phase of cluster actuation.
                  E.g. Pending, Running, Terminating, Failed etc.
                type: string
            type: object
        type: object
    served: true
    storage: false
    subresources:
      status: {}
  - additionalPrinterColumns:
    - description: Cluster status such as Pending/Provisioning/Provisioned/Deleting/Failed
      jsonPath: .status.phase
      name: Phase
      type: string
    - description: Time duration since creation of Cluster
      jsonPath: .metadata.creationTimestamp
      name: Age
      type: date
    - description: Kubernetes version associated with this Cluster
      jsonPath: .spec.topology.version
      name: Version
      type: string
    name: v1beta1
    schema:
      openAPIV3Schema:
        description: Cluster is the Schema for the clusters API.
        properties:
          apiVersion:
            description: 'APIVersion defines the versioned schema of this representation
              of an object. Servers should convert recognized schemas to the latest
              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
            type: string
          kind:
            description: 'Kind is a string value representing the REST resource this
              object represents. Servers may infer this from the endpoint the client
              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
            type: string
          metadata:
            type: object
          spec:
            description: ClusterSpec defines the desired state of Cluster.
            properties:
              clusterNetwork:
                description: Cluster network configuration.
                properties:
                  apiServerPort:
                    description: APIServerPort specifies the port the API Server should
                      bind to. Defaults to 6443.
                    format: int32
                    type: integer
                  pods:
                    description: The network ranges from which Pod networks are allocated.
                    properties:
                      cidrBlocks:
                        items:
                          type: string
                        type: array
                    required:
                    - cidrBlocks
                    type: object
                  serviceDomain:
                    description: Domain name for services.
                    type: string
                  services:
                    description: The network ranges from which service VIPs are allocated.
                    properties:
                      cidrBlocks:
                        items:
                          type: string
                        type: array
                    required:
                    - cidrBlocks
                    type: object
                type: object
              controlPlaneEndpoint:
                description: ControlPlaneEndpoint represents the endpoint used to
                  communicate with the control plane.
                properties:
                  host:
                    description: The hostname on which the API server is serving.
                    type: string
                  port:
                    description: The port on which the API server is serving.
                    format: int32
                    type: integer
                required:
                - host
                - port
                type: object
              controlPlaneRef:
                description: ControlPlaneRef is an optional reference to a provider-specific
                  resource that holds the details for provisioning the Control Plane
                  for a Cluster.
                properties:
                  apiVersion:
                    description: API version of the referent.
                    type: string
                  fieldPath:
                    description: 'If referring to a piece of an object instead of
                      an entire object, this string should contain a valid JSON/Go
                      field access statement, such as desiredState.manifest.containers[2].
                      For example, if the object reference is to a container within
                      a pod, this would take on a value like: "spec.containers{name}"
                      (where "name" refers to the name of the container that triggered
                      the event) or if no container name is specified "spec.containers[2]"
                      (container with index 2 in this pod). This syntax is chosen
                      only to have some well-defined way of referencing a part of
                      an object. TODO: this design is not final and this field is
                      subject to change in the future.'
                    type: string
                  kind:
                    description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
                    type: string
                  name:
                    description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
                    type: string
                  namespace:
                    description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
                    type: string
                  resourceVersion:
                    description: 'Specific resourceVersion to which this reference
                      is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency'
                    type: string
                  uid:
                    description: 'UID of the referent.
                      For example, if the object reference is to a container within
                      a pod, this would take on a value like: "spec.containers{name}"
                      (where "name" refers to the name of the container that triggered
                      the event) or if no container name is specified "spec.containers[2]"
                      (container with index 2 in this pod). This syntax is chosen
                      only to have some well-defined way of referencing a part of
                      an object. TODO: this design is not final and this field is
                      subject to change in the future.'
                    type: string
                  kind:
                    description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
                    type: string
                  name:
                    description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
                    type: string
                  namespace:
                    description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
                    type: string
                  resourceVersion:
                    description: 'Specific resourceVersion to which this reference
                      is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency'
                    type: string
                  uid:
                    description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
                    type: string
                type: object
              paused:
                description: Paused can be used to prevent controllers from processing
                  the Cluster and all its associated objects.
                type: boolean
              topology:
                description: 'This encapsulates the topology for the cluster. NOTE:
                  It is required to enable the ClusterTopology feature gate flag to
                  activate managed topologies support; this feature is highly experimental,
                  and parts of it might still be not implemented.'
                properties:
                  class:
                    description: The name of the ClusterClass object to create the
                      topology.
                    type: string
                  controlPlane:
                    description: ControlPlane describes the cluster control plane.
                    properties:
                      metadata:
                        description: "Metadata is the metadata applied to the machines
                          of the ControlPlane. At runtime this metadata is merged
                          with the corresponding metadata from the ClusterClass. \n
                          This field is supported if and only if the control plane
                          provider template referenced in the ClusterClass is Machine
                          based."
                        properties:
                          annotations:
                            additionalProperties:
                              type: string
                            description: 'Annotations is an unstructured key value
                              map stored with a resource that may be set by external
                              tools to store and retrieve arbitrary metadata. They
                              are not queryable and should be preserved when modifying
                              objects. More info: http://kubernetes.io/docs/user-guide/annotations'
                            type: object
                          labels:
                            additionalProperties:
                              type: string
                            description: 'Map of string keys and values that can be
                              used to organize and categorize (scope and select) objects.
                              May match selectors of replication controllers and services.
                              More info: http://kubernetes.io/docs/user-guide/labels'
                            type: object
                        type: object
                      replicas:
                        description: Replicas is the number of control plane nodes.
                          If the value is nil, the ControlPlane object is created
                          without the number of Replicas and it's assumed that the
                          control plane controller does not implement support for
                          this field. When specified against a control plane provider
                          that lacks support for this field, this value will be ignored.
                        format: int32
                        type: integer
                    type: object
                  rolloutAfter:
                    description: RolloutAfter performs a rollout of the entire cluster
                      one component at a time, control plane first and then machine
                      deployments.
                    format: date-time
                    type: string
                  version:
                    description: The Kubernetes version of the cluster.
                    type: string
                  workers:
                    description: Workers encapsulates the different constructs that
                      form the worker nodes for the cluster.
                    properties:
                      machineDeployments:
                        description: MachineDeployments is a list of machine deployments
                          in the cluster.
                        items:
                          description: MachineDeploymentTopology specifies the different
                            parameters for a set of worker nodes in the topology.
                            This set of nodes is managed by a MachineDeployment object
                            whose lifecycle is managed by the Cluster controller.
                          properties:
                            class:
                              description: Class is the name of the MachineDeploymentClass
                                used to create the set of worker nodes. This should
                                match one of the deployment classes defined in the
                                ClusterClass object mentioned in the `Cluster.Spec.Class`
                                field.
                              type: string
                            metadata:
                              description: Metadata is the metadata applied to the
                                machines of the MachineDeployment. At runtime this
                                metadata is merged with the corresponding metadata
                                from the ClusterClass.
                              properties:
                                annotations:
                                  additionalProperties:
                                    type: string
                                  description: 'Annotations is an unstructured key
                                    value map stored with a resource that may be set
                                    by external tools to store and retrieve arbitrary
                                    metadata. They are not queryable and should be
                                    preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations'
                                  type: object
                                labels:
                                  additionalProperties:
                                    type: string
                                  description: 'Map of string keys and values that
                                    can be used to organize and categorize (scope
                                    and select) objects. May match selectors of replication
                                    controllers and services. More info: http://kubernetes.io/docs/user-guide/labels'
                                  type: object
                              type: object
                            name:
                              description: Name is the unique identifier for this
                                MachineDeploymentTopology. The value is used with
                                other unique identifiers to create a MachineDeployment's
                                Name (e.g. cluster's name, etc). In case the name
                                is greater than the allowed maximum length, the values
                                are hashed together.
                              type: string
                            replicas:
                              description: Replicas is the number of worker nodes
                                belonging to this set. If the value is nil, the MachineDeployment
                                is created without the number of Replicas (defaulting
                                to zero) and it's assumed that an external entity
                                (like cluster autoscaler) is responsible for the management
                                of this value.
                              format: int32
                              type: integer
                          required:
                          - class
                          - name
                          type: object
                        type: array
                    type: object
                required:
                - class
                - version
                type: object
            type: object
          status:
            description: ClusterStatus defines the observed state of Cluster.
            properties:
              conditions:
                description: Conditions defines current service state of the cluster.
                items:
                  description: Condition defines an observation of a Cluster API resource
                    operational state.
                  properties:
                    lastTransitionTime:
                      description: Last time the condition transitioned from one status
                        to another. This should be when the underlying condition changed.
                        If that is not known, then using the time when the API field
                        changed is acceptable.
                      format: date-time
                      type: string
                    message:
                      description: A human readable message indicating details about
                        the transition. This field may be empty.
                      type: string
                    reason:
                      description: The reason for the condition's last transition
                        in CamelCase. The specific API may choose whether or not this
                        field is considered a guaranteed API. This field may not be
                        empty.
                      type: string
                    severity:
                      description: Severity provides an explicit classification of
                        Reason code, so the users or machines can immediately understand
                        the current situation and act accordingly. The Severity field
                        MUST be set only when Status=False.
                      type: string
                    status:
                      description: Status of the condition, one of True, False, Unknown.
                      type: string
                    type:
                      description: Type of condition in CamelCase or in foo.example.com/CamelCase.
                        Many .condition.type values are consistent across resources
                        like Available, but because arbitrary conditions can be useful
                        (see .node.status.conditions), the ability to deconflict is
                        important.
                      type: string
                  required:
                  - lastTransitionTime
                  - status
                  - type
                  type: object
                type: array
              controlPlaneReady:
                description: ControlPlaneReady defines if the control plane is ready.
                type: boolean
              failureDomains:
                additionalProperties:
                  description: FailureDomainSpec is the Schema for Cluster API failure
                    domains. It allows controllers to understand how many failure
                    domains a cluster can optionally span across.
                  properties:
                    attributes:
                      additionalProperties:
                        type: string
                      description: Attributes is a free form map of attributes an
                        infrastructure provider might use or require.
                      type: object
                    controlPlane:
                      description: ControlPlane determines if this failure domain
                        is suitable for use by control plane machines.
                      type: boolean
                  type: object
                description: FailureDomains is a slice of failure domain objects synced
                  from the infrastructure provider.
                type: object
              failureMessage:
                description: FailureMessage indicates that there is a fatal problem
                  reconciling the state, and will be set to a descriptive error message.
                type: string
              failureReason:
                description: FailureReason indicates that there is a fatal problem
                  reconciling the state, and will be set to a token value suitable
                  for programmatic interpretation.
                type: string
              infrastructureReady:
                description: InfrastructureReady is the state of the infrastructure
                  provider.
                type: boolean
              observedGeneration:
                description: ObservedGeneration is the latest generation observed
                  by the controller.
                format: int64
                type: integer
              phase:
                description: Phase represents the current phase of cluster actuation.
                  E.g. Pending, Running, Terminating, Failed etc.
                type: string
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}
status:
  acceptedNames:
    categories:
    - cluster-api
    kind: Cluster
    listKind: ClusterList
    plural: clusters
    shortNames:
    - cl
    singular: cluster
  conditions:
  - lastTransitionTime: "2021-11-18T15:55:11Z"
    message: no conflicts found
    reason: NoConflicts
    status: "True"
    type: NamesAccepted
  - lastTransitionTime: "2021-11-18T15:55:11Z"
    message: the initial names have been accepted
    reason: InitialNamesAccepted
    status: "True"
    type: Established
  storedVersions:
  - v1beta1

Ok, that does actually look pretty normal (apart from the multiple versions in there making it effectively 4 times the size). I'll try to play around and debug the analyzer later to see why it's spitting out that.

It is slightly better now with the fix in 0.6.0 (#28)
generated from your crd:
#[derive(CustomResource, Serialize, Deserialize, Clone, Debug)]
#[kube(group = "cluster.x-k8s.io", version = "v1beta1", kind = "Cluster", plural = "clusters")]
#[kube(namespaced)]
#[kube(schema = "disabled")]
pub struct ClusterSpec {
    pub clusterNetwork: Option<ClusterClusterNetwork>,
    pub controlPlaneEndpoint: Option<ClusterControlPlaneEndpoint>,
    pub controlPlaneRef: Option<ClusterControlPlaneRef>,
    pub infrastructureRef: Option<ClusterInfrastructureRef>,
    pub paused: Option<bool>,
    pub topology: Option<ClusterTopology>,
}

and those second level structs exist

however it is failing at failureDomains within that crd:
              failureDomains:
                additionalProperties:
                  description: FailureDomainSpec is the Schema for Cluster API failure
                    domains. It allows controllers to understand how many failure
                    domains a cluster can optionally span across.
                  properties:
                    attributes:
                      additionalProperties:
                        type: string
                      description: Attributes is a free form map of attributes an
                        infrastructure provider might use or require.
                      type: object
                    controlPlane:
                      description: ControlPlane determines if this failure domain
                        is suitable for use by control plane machines.
                      type: boolean
                  type: object
                description: FailureDomains is a slice of failure domain objects synced
                  from the infrastructure provider.

generates this member:
#[derive(Serialize, Deserialize, Clone, Debug)]
pub struct ClusterStatus {
    #[serde(default, skip_serializing_if = "Vec::is_empty")]
    pub conditions: Vec<ClusterStatusConditions>,
    pub controlPlaneReady: Option<bool>,
    #[serde(default, skip_serializing_if = "BTreeMap::is_empty")]
    pub failureDomains: BTreeMap<String, Object>,
    pub failureMessage: Option<String>,
    pub failureReason: Option<String>,
    pub infrastructureReady: Option<bool>,
    pub observedGeneration: Option<i64>,
    pub phase: Option<String>,
}

ok, i have identified one logic error inside https://github.com/kube-rs/kopium/blob/c74379de0b9763599fe276484f23d263b3301bb7/src/analyzer.rs#L30-L36
we end up in that case for failureDomains because of how the schema looks:
[2022-03-01T06:09:38Z WARN  kopium::analyzer] not generating type Annotations - using string map
[2022-03-01T06:09:38Z WARN  kopium::analyzer] not generating type Labels - using string map
[2022-03-01T06:09:38Z WARN  kopium::analyzer] not generating type Annotations - using string map
[2022-03-01T06:09:38Z WARN  kopium::analyzer] not generating type Labels - using string map
[2022-03-01T06:09:38Z WARN  kopium::analyzer] not generating type FailureDomains - using object map

and that's because it has its properties nested inside additionalProperties. this is not necessary, but will try to make a branch to see if we can handle it.

Several fixes has gone in since this was opened. The CRD case herein now at least builds - but i don't have a crd instance to fully test it. Please re-open if this is seen again. Definitely areas in the analyzer that i'm not sure about.


World of Warcraft: Battle for Azeroth Black Screen

I used to play World of Warcraft on the prepatch just fine through DXVK. However, since the launch of Battle for Azeroth I am facing a black screen. When I open WoW via Battle.net I am greeted with the login screen as expected, and immediately shows the "connecting" message as it automatically logs in. So far so good. When the character selection screen is supposed to open afterwards, instead of seeing anything, the screen is entirely black.
The World of Warcraft mouse is visible (The little hand), the GPU is rendering something (I can hear the fan spin up, so there seems to be GPU load) and I can actually login just fine, by clicking the spot where the "enter world" button is supposed to be and listening to the sound for feedback I clicked the actual button. I am then able to walk around (I can hear footsteps from my character, and can cast spells), however the black screen remains.
This issue does not happen when I play through Wine's DLLs, albeit with heavy graphical artifacting, see: https://bugs.winehq.org/show_bug.cgi?id=45478
Interestingly, I asked around and most people are able to play just fine with many different drivers/vendors/kernels/DXVK versions/wine versions combinations. But one guy (raist356) apparently has the same issue on his nVidia box: https://www.reddit.com/r/wine_gaming/comments/97825d/dxvk_world_of_warcraft_battle_for_azeroth/
I have tried a completely fresh wine prefix with fresh World of Warcraft installation, and the issue remains.
Software information
World of Warcraft: Battle for Azeroth
Graphics settings set to the preset of "7".
System information

GPU: Vega 64
Driver: Mesa 18.1.5 + 6.0.1 LLVM
Wine version: 3.13.1 staging
DXVK version: 0.65
Kernel: 4.17.14

Log files

d3d11.log:

info:  D3D11CoreCreateDevice: Probing D3D_FEATURE_LEVEL_11_0
info:  D3D11CoreCreateDevice: Using feature level D3D_FEATURE_LEVEL_11_0
info:  D3D11CoreCreateDevice: Probing D3D_FEATURE_LEVEL_11_0
info:  D3D11CoreCreateDevice: Using feature level D3D_FEATURE_LEVEL_11_0

dxgi.log:

info:  Game: Wow.exe
info:  DXVK: v0.65
warn:  OpenVR: Failed to locate module
info:  Enabled instance extensions:
info:    VK_KHR_get_physical_device_properties2
info:    VK_KHR_surface
info:    VK_KHR_win32_surface
info:  AMD RADV VEGA10 (LLVM 6.0.1):
info:    Driver: 18.1.5
info:    Vulkan: 1.1.70
info:    Memory Heap[0]:
info:      Size: 7920 MiB
info:      Flags: 0x1
info:      Memory Type[0]: Property Flags = 0x1
info:    Memory Heap[1]:
info:      Size: 256 MiB
info:      Flags: 0x1
info:      Memory Type[2]: Property Flags = 0x7
info:    Memory Heap[2]:
info:      Size: 8176 MiB
info:      Flags: 0x0
info:      Memory Type[1]: Property Flags = 0x6
info:      Memory Type[3]: Property Flags = 0xe
warn:  DXGI: VK_FORMAT_D24_UNORM_S8_UINT -> VK_FORMAT_D32_SFLOAT_S8_UINT
warn:  DXGI: CheckInterfaceSupport: No D3D10 support
info:  Enabled device extensions:
info:    VK_EXT_shader_viewport_index_layer
info:    VK_EXT_vertex_attribute_divisor
info:    VK_KHR_dedicated_allocation
info:    VK_KHR_descriptor_update_template
info:    VK_KHR_get_memory_requirements2
info:    VK_KHR_image_format_list
info:    VK_KHR_maintenance1
info:    VK_KHR_maintenance2
info:    VK_KHR_sampler_mirror_clamp_to_edge
info:    VK_KHR_shader_draw_parameters
info:    VK_KHR_swapchain
warn:  DXGI: CheckInterfaceSupport: No D3D10 support
warn:  DXGI: MakeWindowAssociation: Ignoring flags
info:  Game: Wow.exe
info:  DXVK: v0.65
warn:  OpenVR: Failed to locate module
info:  Enabled instance extensions:
info:    VK_KHR_get_physical_device_properties2
info:    VK_KHR_surface
info:    VK_KHR_win32_surface
info:  AMD RADV VEGA10 (LLVM 6.0.1):
info:    Driver: 18.1.5
info:    Vulkan: 1.1.70
info:    Memory Heap[0]:
info:      Size: 7920 MiB
info:      Flags: 0x1
info:      Memory Type[0]: Property Flags = 0x1
info:    Memory Heap[1]:
info:      Size: 256 MiB
info:      Flags: 0x1
info:      Memory Type[2]: Property Flags = 0x7
info:    Memory Heap[2]:
info:      Size: 8176 MiB
info:      Flags: 0x0
info:      Memory Type[1]: Property Flags = 0x6
info:      Memory Type[3]: Property Flags = 0xe
warn:  DXGI: VK_FORMAT_D24_UNORM_S8_UINT -> VK_FORMAT_D32_SFLOAT_S8_UINT
warn:  DXGI: CheckInterfaceSupport: No D3D10 support
info:  Game: Wow.exe
info:  DXVK: v0.65
warn:  OpenVR: Failed to locate module
info:  Enabled instance extensions:
info:    VK_KHR_get_physical_device_properties2
info:    VK_KHR_surface
info:    VK_KHR_win32_surface
info:  AMD RADV VEGA10 (LLVM 6.0.1):
info:    Driver: 18.1.5
info:    Vulkan: 1.1.70
info:    Memory Heap[0]:
info:      Size: 7920 MiB
info:      Flags: 0x1
info:      Memory Type[0]: Property Flags = 0x1
info:    Memory Heap[1]:
info:      Size: 256 MiB
info:      Flags: 0x1
info:      Memory Type[2]: Property Flags = 0x7
info:    Memory Heap[2]:
info:      Size: 8176 MiB
info:      Flags: 0x0
info:      Memory Type[1]: Property Flags = 0x6
info:      Memory Type[3]: Property Flags = 0xe
warn:  DXGI: VK_FORMAT_D24_UNORM_S8_UINT -> VK_FORMAT_D32_SFLOAT_S8_UINT
warn:  DXGI: CheckInterfaceSupport: No D3D10 support
info:  Game: Wow.exe
info:  DXVK: v0.65
warn:  OpenVR: Failed to locate module
info:  Enabled instance extensions:
info:    VK_KHR_get_physical_device_properties2
info:    VK_KHR_surface
info:    VK_KHR_win32_surface
info:  AMD RADV VEGA10 (LLVM 6.0.1):
info:    Driver: 18.1.5
info:    Vulkan: 1.1.70
info:    Memory Heap[0]:
info:      Size: 7920 MiB
info:      Flags: 0x1
info:      Memory Type[0]: Property Flags = 0x1
info:    Memory Heap[1]:
info:      Size: 256 MiB
info:      Flags: 0x1
info:      Memory Type[2]: Property Flags = 0x7
info:    Memory Heap[2]:
info:      Size: 8176 MiB
info:      Flags: 0x0
info:      Memory Type[1]: Property Flags = 0x6
info:      Memory Type[3]: Property Flags = 0xe
warn:  DXGI: VK_FORMAT_D24_UNORM_S8_UINT -> VK_FORMAT_D32_SFLOAT_S8_UINT
warn:  DXGI: CheckInterfaceSupport: No D3D10 support
info:  DxgiVkPresenter: Recreating swap chain:
  Format:       VK_FORMAT_B8G8R8A8_UNORM
  Present mode: VK_PRESENT_MODE_IMMEDIATE_KHR
  Buffer size:  2048x1152
info:  Game: Wow.exe
info:  DXVK: v0.65
warn:  OpenVR: Failed to locate module
info:  Enabled instance extensions:
info:    VK_KHR_get_physical_device_properties2
info:    VK_KHR_surface
info:    VK_KHR_win32_surface
info:  AMD RADV VEGA10 (LLVM 6.0.1):
info:    Driver: 18.1.5
info:    Vulkan: 1.1.70
info:    Memory Heap[0]:
info:      Size: 7920 MiB
info:      Flags: 0x1
info:      Memory Type[0]: Property Flags = 0x1
info:    Memory Heap[1]:
info:      Size: 256 MiB
info:      Flags: 0x1
info:      Memory Type[2]: Property Flags = 0x7
info:    Memory Heap[2]:
info:      Size: 8176 MiB
info:      Flags: 0x0
info:      Memory Type[1]: Property Flags = 0x6
info:      Memory Type[3]: Property Flags = 0xe
warn:  DXGI: VK_FORMAT_D24_UNORM_S8_UINT -> VK_FORMAT_D32_SFLOAT_S8_UINT
info:  Enabled device extensions:
info:    VK_EXT_shader_viewport_index_layer
info:    VK_EXT_vertex_attribute_divisor
info:    VK_KHR_dedicated_allocation
info:    VK_KHR_descriptor_update_template
info:    VK_KHR_get_memory_requirements2
info:    VK_KHR_image_format_list
info:    VK_KHR_maintenance1
info:    VK_KHR_maintenance2
info:    VK_KHR_sampler_mirror_clamp_to_edge
info:    VK_KHR_shader_draw_parameters
info:    VK_KHR_swapchain

This is really bizarre. I can repeatedly click the "play" button in battle.net to open multiple instances of the wow.exe process. Without fail, the first 4 will always show a black screen, while the 5th will render correctly. I can then login and play.
However, killing any of the other 4 wow.exe screens that show nothing but black, will instantly turn the working wow.exe black as well. Opening up yet another 5th wow.exe process will then render correctly, but the wow.exe process that's in-game will remain black.
I'm really stumped now.

Which wine version do you used ?
I have the issue too on a 3.13 ish staging build and a dxvk build some day's a from git.
Starting wow outside of the launcher works fine.
Am 15. August 2018 14:21:34 MESZ schrieb Jaap Buurman<EMAIL_ADDRESS>
Closed #562.
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/doitsujin/dxvk/issues/562#event-1789900351

Reopening the issue, since it doesn't seem to be an isolated issue with my setup. As for your question, I am using Wine-staging 3.13.1.

I guess you're right. Although it is weird that without dxvk it was working fine. Also, a new wineprefix did not fix it for me. I had to reinstall the wine package as well for some reason. I'm leaving the decision whether to open/close this issue up to you.

@doitsujin  thats the thing. I have a clean prefix and the occurs.
my system:
Name                     : mingw-w64-dxvk-git
Version                  : 20180812.294bdf5-2
Name                     : mingw-w64-gcc
Version                  : 8.2.0-1

@Thaodan which version of wine are you using and with what patches?
I don't have the game so I can't reproduce the issue, none of the logs so far have been helpful, and it seems to work for most people, so there must be something specific to your setup that makes it not work.

that one: https://github.com/Thaodan/thaopkgs/blob/master/wine-staging-git/PKGBUILD
Its wine-staging + pba patches.
log:
https://paste.kde.org/phqcreown
wow start script:
https://paste.kde.org/psp8gqosd

By the way, does the DXVK HUD show up?

Can you try turning PBA off with PBA_DISABLE=1?
I know it shouldn't affect eachother, but I have seen wierd interactions before.

I don't have the game so I can't reproduce the issue
@doitsujin World of Warcraft is a free-to-play game (but with subscription as option), so you can try it for free.

I have the same issue. However as mentionned by @Thaodan , launching the game outside the launcher ( Wow.exe ) makes it run perfectly. It's a nice workaround while the issue still exists.

Can someone please answer my question as to whether the DXVK HUD shows up in the game?
@Kerrung I tried, but I simply cannot get the setup to work even when using the Lutris installer.

@doitsujin I just reinstalled the Battle.Net client from scratch. It's installed for me and WoW works fine with DXVK without any black screens, etc.
Thank you.
You should download this.
Unfortunately, now because of yesterday's release of a new game content patch, the game servers are heavily overloaded so the installation can last a very long time.

You should download this.

Well, that's exactly the app that just doesn't work on my end, but this is not the right place to discuss my issue.

I have same issue.
When launch from battle.net app there is completly black screen, only cursor shows.
exported DXVK_HUD=1, and nothing changed when launching from battle.net, hud does not show
but when launching from  Wow.exe with DXVK_HUD=1 everything works fine, and hud shows
i don't know how to disable dxvk for launcher so i can't tell you if this would work

@kudlatyamroth Thanks. Can you test if creating a dxvk.conf next to the game exe with the following contents works:
dxgi.deferSurfaceCreation = True

Can you try to disable streaming in the battle net app, then start WoW as usual?

dxgi.deferSurfaceCreation = True
nothing changed
and disabling streaming works fine :)

For the people using Wine(-staging) 3.13 or older, could you try using Wine-staging 3.13.1? Apparently it contains a few Battle.net related fixes.

I have this issue with Wine-staging 3.13.1 without pba, launching WoW.exe on its own works fine. I've not tested it with 0.70 yet

I am using staging-3.13.1, and have (after BfA) issues with the Battle.net client.
Whenever there are patches, or other changes/updates, it usually just hangs with "checking for update" or other errors, amongst sometimes just a blank screen with no "PLAY" button or any menus.
Clearing out c:\users\Public\Application Data\Battle.net folder downloads a new "Agent.exe", and it usually works after that.
I also run wow.exe directly with only a 64-bit wine client, and this seems to block Agent.exe (as it is a 32-bit app i guess), and wow plays very well. Have had issues with launching wow from the PLAY button in the past, so i rather just do it with a script to avoid that battle.net client other than for patching :)
PS. nVidia GTX 970 w/396.24.10 driver.

If you have black screen after clicking play button in launcher, go to launcher options and disable streaming
for me, after disabling streaming i can click play and everything works, no more black screen :)

I am unsure if this is related but I just tried to get crysis working with DX10 support on steam. When I first tried I had just a black screen and a mouse cursor but I could hear all of the game sounds in the same way as the OP.
I turns out that even though I had run the old script to remove the overrides before running the winetricks command I ended up with duplicate overrides specified for the DLL's.
I removed all of the duplicates so I just had the following:
*d3d10 (native)
*d3d10_1 (native)
*d3d10core (native)
*d3d11 (native)
*d3dcompiler_43 (native, builtin)
*dxgi (native)
After fixing that the game worked as expected and all graphics rendered properly

Disabling steaming worked for me
On Fri, 17 Aug 2018, 23:57 7oxicshadow<EMAIL_ADDRESS>wrote:

I am unsure if this is related but I just tried to get crysis working with
DX10 support on steam. When I first tried I had just a black screen and a
mouse cursor but I could hear all of the game sounds in the same way as the
OP.
I turns out that even though I had run the old script to remove the
overrides before running the winetricks command I ended up with duplicate
overrides specified for the DLL's.
I removed all of the duplicates so I just had the following:
*d3d10 (native)
*d3d10_1 (native)
*d3d10core (native)
*d3d11 (native)
*d3dcompiler_43 (native, builtin)
*dxgi (native)
After fixing that the game worked as expected and all graphics rendered
properly
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/doitsujin/dxvk/issues/562#issuecomment-414007744, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAFR88yBsBnGceWdnJPCjZ36Yiv1Za1Nks5uR0phgaJpZM4V9xv7
.

I have same symptom - when I launch Wow from Battle.net launcher, it gets a black screen [though it seems to be running fine, just nothing visible] - sometimes a few images are visible before blacking out, sometimes not. If I run Wow.exe directly, it usually works.
However, if I change the Battle.net setting "When I launch a game" to "Exit Battle.net completely" instead of "Keep the Battle.net window open", then it works fine - I can launch it from the launcher, and the display works. This is consistently reproducible.
I.e., it looks like the Battle.net runtime is vaguely interfering.
I've attached copies of d3d11.log and dxgi.log for both cases ("bad" being when I obtain a black screen, "good" when the display works). I don't know anything about dxvk logging, the only fishy thing I can see is that in the bad case, D3D11CoreCreateDevice happens twice, instance of once when it works:

info:  D3D11CoreCreateDevice: Probing D3D_FEATURE_LEVEL_11_0
info:  D3D11CoreCreateDevice: Using feature level D3D_FEATURE_LEVEL_11_0

wow-logs.tar.gz

Had the same problem: WoW ran fine with DXVK if launched via Wow.exe, but not if launched via the Battle.net app. Disabling streaming in Battle.net app settings fixed the problem.

Had same problem after a battle.net problem.
But this turned out to be related to Steaming options inside Battle.net app
@doitsujin Since you never got your answer about if the HUD appeared.
It does appear but the makes a blackscreen instantly, if you go windowed it will freeze the picture but the cursor will still animated.

Closing, since this is apparently fixed by disabling the Streaming option in Battle.net. Not ideal, but ¯_(ツ)_/¯


Gracefully handle tokenType set as bearer for ADFS

The tokenType returned by ADFS may be "bearer", instead of "Bearer", which our caching logic does not gracefully handle. This PR ensures we treat any capitalization variations of "bearer" as the same.

Codecov Report

Merging #4318 (6f9c6b4) into dev (fe4f549) will decrease coverage by 0.01%.
The diff coverage is 66.66%.

:exclamation: Current head 6f9c6b4 differs from pull request most recent head a517a4f. Consider uploading reports for the commit a517a4f to get more accurate results
| Flag | Coverage Δ | | *Carryforward flag |
|---|---|---|---|
| msal-angular | 96.39% <ø> (ø) | | |
| msal-browser | 87.59% <ø> (ø) | | |
| msal-common | 85.39% <66.66%> (-0.04%) | :arrow_down: | |
| msal-core | 77.07% <ø> (ø) | | Carriedforward from fe4f549 |
| msal-node | 81.93% <ø> (ø) | | |
| msal-react | 94.27% <ø> (ø) | | |

*This pull request uses carry forward flags. Click here to find out more.

Impacted Files
Coverage Δ

...sal-common/src/cache/entities/AccessTokenEntity.ts
85.36% <0.00%> (-2.44%)
:arrow_down:

lib/msal-common/src/cache/CacheManager.ts
78.39% <100.00%> (ø)

...msal-common/src/cache/entities/CredentialEntity.ts
95.55% <100.00%> (ø)