Closed KetanReddy closed 1 month ago
All modified and coverable lines are covered by tests :white_check_mark:
Project coverage is 91.88%. Comparing base (
a032d8c
) to head (8295816
). Report is 2 commits behind head on main.
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
Change Type (required)
Indicate the type of change your pull request is:
patch
minor
major
Does your PR have any documentation updates?
Version
Published prerelease version:
0.10.0-next.2
Changelog
### Release Notes #### Fix docs build visibility ([#531](https://github.com/player-ui/player/pull/531)) Fix visibility of docs build #### ios: enhance tapable logger to handle variadic args from the JS log ([#524](https://github.com/player-ui/player/pull/524)) Prefixing message with the format `[Player] [\(logLevel)]:` moved out of the Tapable logger and moved to PrintLoggerPlugin. Any consumers using their own LoggerPlugin will need to append the logLevel if they want to print it Before ```swift public class CustomLoggingPlugin: NativePlugin { public let pluginName = "CustomLoggingPlugin" public func apply(player: P) where P: HeadlessPlayer { guard let player = player as? SwiftUIPlayer else { return } player.logger.logLevel = .trace player.logger.hooks.trace.tap(name: pluginName, { print("Custom message")\(($0))" ) }) ... } ``` After ```swift public class CustomLoggingPlugin: NativePlugin { public let pluginName = "CustomLoggingPlugin" public func apply
(player: P) where P: HeadlessPlayer { guard let player = player as? SwiftUIPlayer else { return } player.logger.logLevel = .trace let prefixedMessage = "[Player] [trace]: " player.logger.hooks.trace.tap(name: pluginName, { print("\(prefixedMessage) Custom message \(($0))" ) }) ... } ``` ## Breaking Changes Any usage of the `player.logger.hooks` taps will have breaking changes in the callback because the calls have been changed to provide a `[Any]` type instead of `String` so it can be returned in the form of messages instead of a single message. Unless nothing is done in the callback to access the value but just to print it, there should be breaking changes Example: ```swift // this should be no breaking change player.logger.hooks.trace.tap(name: "log", { print("\(($0))" ) }) // if `values` should be accessed in anyway, i.e want the first value, or want to seperate the values player.logger.hooks.debug.tap(name: "log") { values in // values is of type [Any], if you want to print only the first value print("\((message as? [String])?.first))" ) } ``` --- #### 🚀 Enhancement - ios: enhance tapable logger to handle variadic args from the JS log [#524](https://github.com/player-ui/player/pull/524) ([@nancywu1](https://github.com/nancywu1)) #### 🐛 Bug Fix - Fix docs build visibility [#531](https://github.com/player-ui/player/pull/531) ([@KetanReddy](https://github.com/KetanReddy)) - Fix CJS support for React Player [#525](https://github.com/player-ui/player/pull/525) ([@KetanReddy](https://github.com/KetanReddy)) - iOS: Expand AnyType to handle deeply nested AnyType for beacon encoding [#519](https://github.com/player-ui/player/pull/519) ([@hborawski](https://github.com/hborawski)) - Updating Main Page Content [#508](https://github.com/player-ui/player/pull/508) ([@KetanReddy](https://github.com/KetanReddy) [@adierkens](https://github.com/adierkens)) #### 🏠 Internal - Fix circleci badge in README [#480](https://github.com/player-ui/player/pull/480) ([@adierkens](https://github.com/adierkens) [@KetanReddy](https://github.com/KetanReddy)) #### 📝 Documentation - Docs refresh with Astro [#506](https://github.com/player-ui/player/pull/506) ([@adierkens](https://github.com/adierkens) [@KetanReddy](https://github.com/KetanReddy)) #### Authors: 4 - [@nancywu1](https://github.com/nancywu1) - Adam Dierkens ([@adierkens](https://github.com/adierkens)) - Harris Borawski ([@hborawski](https://github.com/hborawski)) - Ketan Reddy ([@KetanReddy](https://github.com/KetanReddy))