mirror of
https://github.com/appium/appium.git
synced 2026-10-26 02:29:38 +08:00
Another handful of fixes. - remove second "extra" parameter from `Capabilities`, `NSCapabilities` `W3CCapabilities`. we were not using it anywhere to my knowledge. it was an escape hatch anyway. - never assign `BaseDriverCapConstraints` as the default constraints, because this is confusing as hell. instead, drivers should use the `*DriverCaps` types which automatically pulls the base constraints in. applied across several workspaces - renamed `DeviceSettings` => `IDeviceSettings` because `DeviceSettings` is a class. - the session ID param of `Core`'s `sessionExists()` is actually optional (per the implementation) - allow some modicum of type narrowing at the class level around settings and values returned by `ISessionHandler`'s methods. also, not all values in the raw settings object are of the same type `T`, so fix that - `server`, `serverHost`, `serverPort` and `serverPath` are not members of `Core` (using `AppiumDriver` as a litmus test--it interacts with `Driver` types but does not have these properties itself) - changed a few types to interfaces where possible - moved a lost comment - further dumbed-down the logdef stuff - `Driver.driverData` is _always_ defined, since `Core` makes it an empty array. - `DriverOpts` no longer contains "partial" caps; this it not quite right as the caps are not assigned until a session is created, but there's a conflict between some props which are _both_ server args and defined in constraints. anyway, this is what `initialOpts` is for - fix some type disagreements in basedriver's "capabilities" module