The Swift Package Index logo.Swift Package Index

Build Information

Successful build of StreamUI, reference master (a83f11), with Swift 6.2 for macOS (SPM) on 23 Jun 2025 18:08:16 UTC.

Swift 6 data race errors: 0

Build Command

env DEVELOPER_DIR=/Applications/Xcode-26.0.0-Beta.app xcrun swift build --arch arm64

Build Log

========================================
RunAll
========================================
Builder version: 4.64.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/StreamUI/StreamUI.swift.git
Reference: master
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/StreamUI/StreamUI.swift
 * branch            master     -> FETCH_HEAD
 * [new branch]      master     -> origin/master
HEAD is now at a83f117 Update README.md
Cloned https://github.com/StreamUI/StreamUI.swift.git
Revision (git rev-parse @):
a83f117fd247b503acb233eb92a8d9ce9b55962f
SUCCESS checkout https://github.com/StreamUI/StreamUI.swift.git at master
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.2
Building package at path:  $PWD
https://github.com/StreamUI/StreamUI.swift.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-26.0.0-Beta.app xcrun swift build --arch arm64
[1/1] Compiling plugin GenerateManual
Building for debugging...
[1/37] Copying github.png
[1/37] Write sources
[1/37] Copying Package.swift.stencil
[1/37] Write sources
[5/37] Copying discord.png
[5/37] Copying main.swift.stencil
[5/37] Copying x.png
[7/37] Write sources
[21/37] Write GenerateTemplate-entitlement.plist
[22/37] Write sources
[25/37] Write CLIExample-entitlement.plist
[26/37] Write sources
[27/37] Write swift-version-1EA4D86E10B52AF.txt
[29/136] Compiling ArgumentParserToolInfo ToolInfo.swift
[30/136] Emitting module ArgumentParserToolInfo
[31/175] Emitting module Logging
[32/175] Compiling Logging MetadataProvider.swift
[33/175] Compiling Logging Locks.swift
[34/175] Compiling Logging LogHandler.swift
[35/175] Compiling Logging Logging.swift
[35/175] Compiling c-nioatomics.c
[36/175] Compiling SwiftPMSupport dummy.m
[37/175] Compiling c-atomics.c
[39/181] Compiling NIOConcurrencyHelpers NIOLockedValueBox.swift
[40/181] Emitting module ConcurrencyExtras
[41/182] Compiling NIOConcurrencyHelpers NIOLock.swift
[42/182] Compiling ArgumentParser ParsableCommand.swift
[43/182] Compiling ArgumentParser ArgumentDecoder.swift
[44/184] Compiling NIOConcurrencyHelpers lock.swift
[45/184] Compiling NIOConcurrencyHelpers atomics.swift
[46/184] Compiling ConcurrencyExtras UncheckedSendable.swift
[47/184] Compiling NIOConcurrencyHelpers NIOAtomic.swift
[48/184] Emitting module NIOConcurrencyHelpers
[49/211] Compiling ConsoleKitTerminal Console+Ask.swift
[50/211] Compiling ConsoleKitTerminal Console+Choose.swift
[51/211] Emitting module ConsoleKitTerminal
[52/213] Compiling ConsoleKitTerminal ConsoleClear.swift
[55/213] Compiling ConsoleKitTerminal ActivityIndicatorState.swift
[56/213] Compiling ConsoleKitTerminal CustomActivity.swift
[57/213] Compiling ConsoleKitTerminal LoadingBar.swift
[58/213] Compiling ConsoleKitTerminal ProgressBar.swift
[59/213] Compiling ConsoleKitTerminal Console+Clear.swift
[60/213] Compiling ConsoleKitTerminal Console+Ephemeral.swift
[61/213] Compiling ConsoleKitTerminal Console+Confirm.swift
[62/213] Compiling ConsoleKitTerminal Console+Input.swift
[63/213] Emitting module IssueReporting
[64/213] Compiling ConsoleKitTerminal Console+Center.swift
[65/213] Compiling ConsoleKitTerminal ActivityBar.swift
[66/213] Compiling ConcurrencyExtras Locking.swift
[67/213] Compiling ConsoleKitTerminal AnySendableHashable.swift
[68/213] Compiling ConsoleKitTerminal Console+Output.swift
[69/213] Compiling ConsoleKitTerminal ConsoleTextFragment.swift
[70/213] Compiling ConsoleKitTerminal readpassphrase_linux.swift
[71/213] Compiling ConsoleKitTerminal ActivityIndicator.swift
[72/213] Compiling ConsoleKitTerminal ActivityIndicatorRenderer.swift
[73/213] Compiling ConsoleKitTerminal ConsoleStyle.swift
[74/213] Compiling ConsoleKitTerminal ConsoleText.swift
[77/213] Compiling ConcurrencyExtras UncheckedBox.swift
[78/213] Compiling ConcurrencyExtras LockIsolated.swift
[79/213] Compiling ConcurrencyExtras MainSerialExecutor.swift
[80/213] Compiling ConcurrencyExtras Task.swift
[81/213] Compiling ConcurrencyExtras Result.swift
[82/213] Compiling ConsoleKitTerminal ANSI.swift
[83/213] Compiling ConsoleKitTerminal Console.swift
[84/213] Compiling ConsoleKitTerminal Console+Wait.swift
[85/213] Compiling ConsoleKitTerminal ConsoleColor.swift
[86/213] Compiling ConcurrencyExtras AsyncStream.swift
[87/213] Compiling ConcurrencyExtras AsyncThrowingStream.swift
[88/213] Compiling Logboard LBLogger.swift
[89/213] Emitting module Logboard
[90/213] Compiling Logboard SocketAppender.swift
[91/213] Compiling Logboard LBLogger.Data.swift
[92/213] Compiling Logboard ConsoleAppender.swift
[93/213] Compiling Logboard NullAppender.swift
[94/213] Compiling Logboard MultiAppender.swift
[95/213] Compiling Logboard LBLoggerAppender.swift
[96/213] Compiling Logboard OSLoggerAppender.swift
[102/213] Emitting module ArgumentParser
[116/217] Compiling ConsoleKitTerminal Terminal.swift
[120/226] Compiling ArgumentParser InputOrigin.swift
[121/226] Compiling ArgumentParser Name.swift
[122/226] Compiling ArgumentParser Parsed.swift
[123/226] Compiling ArgumentParser ParsedValues.swift
[124/226] Compiling ArgumentParser HelpGenerator.swift
[125/226] Compiling ArgumentParser MessageInfo.swift
[126/226] Compiling ArgumentParser UsageGenerator.swift
[127/226] Compiling ArgumentParser CollectionExtensions.swift
[128/226] Compiling ConsoleKitTerminal ConsoleLogger.swift
[129/226] Compiling ConsoleKitTerminal LoggerFragment.swift
[130/226] Compiling ArgumentParser DumpHelpGenerator.swift
[131/226] Compiling ArgumentParser HelpCommand.swift
[137/342] Compiling HaishinKit IOUnit.swift
[138/342] Compiling HaishinKit IOVideoCaptureUnit.swift
[139/342] Compiling HaishinKit IOVideoMixer.swift
[140/342] Compiling HaishinKit IOVideoMixerSettings.swift
[141/342] Compiling HaishinKit IOStreamObserver.swift
[142/342] Compiling HaishinKit IOStreamRecorder.swift
[143/342] Compiling HaishinKit IOStreamView.swift
[144/342] Compiling HaishinKit IOTellyUnit.swift
[145/342] Compiling HaishinKit AVAudioPCMBuffer+Extension.swift
[146/342] Compiling HaishinKit AVAudioTime+Extension.swift
[147/342] Compiling HaishinKit AVCaptureDevice+Extension.swift
[148/342] Compiling HaishinKit IOStreamBitRateStrategyConvertible.swift
[149/342] Compiling HaishinKit IOVideoUnit.swift
[150/342] Compiling HaishinKit MTHKView.swift
[151/342] Compiling HaishinKit MediaLink.swift
[152/342] Compiling HaishinKit PiPHKView.swift
[153/342] Compiling HaishinKit TSPacket.swift
[154/342] Compiling HaishinKit TSProgram.swift
[155/342] Emitting module PathKit
[156/342] Compiling PathKit PathKit.swift
[157/386] Compiling HaishinKit RTMPChunk.swift
[158/386] Compiling HaishinKit AVCaptureDevice.Format+Extension.swift
[159/386] Compiling HaishinKit AVCaptureSession+Extension.swift
[160/386] Compiling HaishinKit AVCaptureSession.Preset+Extension.swift
[161/386] Compiling Stencil Parser.swift
[162/386] Compiling Stencil FilterTag.swift
[163/388] Compiling ConsoleKitCommands String+LevenshteinDistance.swift
[164/388] Compiling ConsoleKitCommands Utilities.swift
[165/388] Compiling Stencil Inheritance.swift
[166/388] Compiling Stencil KeyPath.swift
[167/390] Compiling Stencil NowTag.swift
[169/390] Compiling Stencil Template.swift
[170/390] Compiling Stencil Tokenizer.swift
[171/390] Compiling Stencil IfTag.swift
[172/390] Compiling Stencil Include.swift
[173/390] Compiling Stencil LazyValueWrapper.swift
[174/390] Compiling Stencil Lexer.swift
[175/390] Compiling Stencil Loader.swift
[176/390] Compiling Stencil Node.swift
[177/390] Compiling Stencil Context.swift
[178/390] Compiling Stencil DynamicMemberLookup.swift
[179/390] Compiling Stencil Environment.swift
[180/390] Compiling Stencil Errors.swift
[181/390] Compiling Stencil Expression.swift
[182/390] Compiling Stencil Extension.swift
[184/390] Compiling Stencil Filters.swift
[185/390] Compiling Stencil ForTag.swift
[186/390] Emitting module Stencil
[198/390] Emitting module ConsoleKitCommands
[207/392] Compiling Stencil TrimBehaviour.swift
[208/392] Compiling Stencil Variable.swift
[209/395] Emitting module ConsoleKit
[210/395] Compiling ConsoleKit Exports.swift
[211/395] Emitting module Nuke
[212/400] Compiling Clocks UnimplementedClock.swift
[213/400] Compiling Clocks Timer.swift
[214/400] Compiling Clocks TestClock.swift
[227/400] Compiling HaishinKit AMFFoundation.swift
[228/400] Compiling HaishinKit EventDispatcher.swift
[229/400] Compiling HaishinKit FLVFoundation.swift
[234/400] Compiling HaishinKit AVFrameRateRange+Extension.swift
[235/400] Compiling HaishinKit AVLayerVideoGravity+Extension.swift
[236/400] Compiling HaishinKit CGImage+Extension.swift
[237/400] Compiling HaishinKit NetClient.swift
[238/400] Compiling HaishinKit NetService.swift
[239/400] Compiling HaishinKit NetSocket.swift
[240/400] Compiling HaishinKit AMF0Serializer.swift
[241/400] Compiling HaishinKit AMF3Serializer.swift
[242/400] Compiling HaishinKit CMFormatDescription+Extension.swift
[243/400] Compiling HaishinKit CMSampleBuffer+Extension.swift
[244/400] Compiling HaishinKit CMTime+Extension.swift
[245/400] Compiling HaishinKit CMVideoDimention+Extension.swift
[246/400] Compiling HaishinKit CMVideoFormatDescription+Extension.swift
[251/400] Compiling HaishinKit TSReader.swift
[252/400] Compiling HaishinKit TSWriter.swift
[253/400] Compiling GenerateTemplate index.swift
/Users/admin/builder/spi-builder-workspace/Scripts/GenerateTemplate/index.swift:16:13: warning: initialization of immutable value 'templatesPath' was never used; consider replacing with assignment to '_' or removing it [#no-usage]
14 |         let currentPath = FileManager.default.currentDirectoryPath
15 |
16 |         let templatesPath = currentPath + "/Scripts/GenerateTemplate/Templates"
   |             `- warning: initialization of immutable value 'templatesPath' was never used; consider replacing with assignment to '_' or removing it [#no-usage]
17 |
18 |         guard !FileManager.default.fileExists(atPath: productName) else {
[254/400] Compiling GenerateTemplate resource_bundle_accessor.swift
[255/400] Emitting module GenerateTemplate
[255/400] Write Objects.LinkFileList
[257/400] Compiling Nuke TaskFetchOriginalData.swift
[258/400] Compiling Nuke TaskFetchOriginalImage.swift
[259/400] Compiling Nuke TaskFetchWithPublisher.swift
[260/400] Compiling Nuke TaskLoadData.swift
[261/400] Compiling Nuke TaskLoadImage.swift
[273/400] Linking GenerateTemplate
[274/400] Applying GenerateTemplate
[276/400] Emitting module HaishinKit
[277/412] Compiling Clocks Lock.swift
[278/412] Compiling Clocks _AsyncTimerSequence.swift
[279/412] Compiling Clocks ImmediateClock.swift
[280/412] Emitting module Clocks
[281/412] Compiling Clocks SwiftUI.swift
[282/412] Compiling Clocks AnyClock.swift
[283/412] Compiling HaishinKit Choreographer.swift
[284/412] Compiling HaishinKit ChromaKeyProcessor.swift
[285/412] Compiling HaishinKit Screen.swift
[286/412] Compiling HaishinKit ScreenObject.swift
[287/412] Compiling HaishinKit ScreenObjectContainer.swift
[288/412] Compiling HaishinKit ScreenRenderer.swift
[289/412] Compiling HaishinKit Shape.swift
[290/412] Compiling HaishinKit ShapeFactory.swift
[291/412] Compiling HaishinKit StreamScreenObject.swift
[292/412] Compiling HaishinKit VideoEffect.swift
[293/412] Compiling HaishinKit VideoRotator.swift
[294/412] Compiling HaishinKit AVAudioUtil.swift
[295/412] Compiling HaishinKit SoundTransform.swift
[296/412] Compiling HaishinKit ADTS.swift
[297/412] Compiling HaishinKit AVCDecoderConfigurationRecord.swift
[298/412] Compiling HaishinKit AVCNALUnit.swift
[299/412] Compiling HaishinKit AudioSpecificConfig.swift
[300/412] Compiling HaishinKit CRC32.swift
[301/412] Compiling HaishinKit ESSpecificData.swift
[302/412] Compiling HaishinKit HEVCDecoderConfigurationRecord.swift
[303/412] Compiling HaishinKit HEVCNALUnit.swift
[304/412] Compiling HaishinKit ISOTypeBufferUtil.swift
[305/412] Compiling HaishinKit NALUnitReader.swift
[306/412] Compiling HaishinKit PacketizedElementaryStream.swift
[307/412] Compiling HaishinKit TSField.swift
[308/412] Compiling HaishinKit Data+Extension.swift
[309/412] Compiling HaishinKit ExpressibleByIntegerLiteral+Extension.swift
[310/412] Compiling HaishinKit Mirror+Extension.swift
[311/412] Compiling HaishinKit NSView+Extension.swift
[312/412] Compiling HaishinKit URL+Extension.swift
[313/412] Compiling HaishinKit VTCompressionSession+Extension.swift
[314/412] Compiling HaishinKit VTDecompressionSession+Extension.swift
[315/412] Compiling HaishinKit VTRotationSessionOption+Extension.swift
[316/412] Compiling HaishinKit vImage_Buffer+Extension.swift
[317/412] Compiling HaishinKit AudioNode.swift
[318/412] Compiling HaishinKit IOAudioCaptureUnit.swift
[319/412] Compiling HaishinKit IOAudioMixer.swift
[320/412] Compiling HaishinKit IOAudioMixerByMultiTrack.swift
[321/412] Compiling HaishinKit IOAudioMixerBySingleTrack.swift
[322/412] Compiling HaishinKit IOAudioMixerSettings.swift
[323/412] Compiling HaishinKit IOAudioMixerTrack.swift
[324/412] Compiling HaishinKit IOAudioMonitor.swift
[325/412] Compiling HaishinKit IOAudioRingBuffer.swift
[326/412] Compiling HaishinKit IOAudioTime.swift
[327/412] Compiling HaishinKit IOAudioUnit.swift
[328/412] Compiling HaishinKit IOCaptureSession.swift
[329/412] Compiling HaishinKit IOCaptureUnit.swift
[330/412] Compiling HaishinKit IOCaptureVideoPreview.swift
[331/412] Compiling HaishinKit IOMixer.swift
[332/412] Compiling HaishinKit IOMuxer.swift
[333/412] Compiling HaishinKit IOStream.swift
[334/412] Compiling HaishinKit AnyUtil.swift
[335/412] Compiling HaishinKit Atomic.swift
[336/412] Compiling HaishinKit ByteArray.swift
[337/412] Compiling HaishinKit Constants.swift
[338/412] Compiling HaishinKit DataBuffer.swift
[339/412] Compiling HaishinKit DataConvertible.swift
[340/412] Compiling HaishinKit DeviceUtil.swift
[341/412] Compiling HaishinKit FrameTracker.swift
[342/412] Compiling HaishinKit InstanceHolder.swift
[343/412] Compiling HaishinKit MD5.swift
[344/412] Compiling HaishinKit Running.swift
[345/412] Compiling HaishinKit TypedBlockQueue.swift
[362/412] Compiling HaishinKit RTMPMuxer.swift
[363/412] Compiling HaishinKit RTMPNWSocket.swift
[364/412] Compiling HaishinKit RTMPObjectEncoding.swift
[365/412] Compiling HaishinKit RTMPSharedObject.swift
[366/412] Compiling HaishinKit RTMPSocketCompatible.swift
[367/412] Compiling HaishinKit RTMPStream.swift
[368/412] Compiling HaishinKit RTMPStreamInfo.swift
[369/412] Compiling HaishinKit RTMPTSocket.swift
[370/412] Compiling HaishinKit RTMPTimestamp.swift
[410/438] Compiling StreamUI StreamingLoadingIndicator.swift
[411/438] Compiling StreamUI StreamingMediaPlayer.swift
[412/438] Compiling StreamUI StreamingProgressView.swift
[413/440] Compiling StreamUI Image+Extension.swift
[414/440] Compiling StreamUI ControlledClock.swift
[415/440] Compiling StreamUI FrameTimer.swift
[416/440] Compiling StreamUI HUD.swift
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Components/Internal/HUD.swift:36:67: warning: left side of nil coalescing operator '??' has non-optional type 'TimeInterval' (aka 'Double'), so the right side is never used
34 |         }
35 |         let elapsedTime = recorder.controlledClock.elapsedTime
36 |         let elapsedTimeFormatted = formatTimeInterval(elapsedTime ?? 0)
   |                                                                   `- warning: left side of nil coalescing operator '??' has non-optional type 'TimeInterval' (aka 'Double'), so the right side is never used
37 |         let stateEmoji = getStateEmoji(for: recorder.state)
38 |         let frameCount = recorder.frameTimer.frameCount
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Components/Internal/HUD.swift:54:13: warning: initialization of immutable value 'text' was never used; consider replacing with assignment to '_' or removing it [#no-usage]
52 |         """
53 |
54 |         let text = "hello"
   |             `- warning: initialization of immutable value 'text' was never used; consider replacing with assignment to '_' or removing it [#no-usage]
55 |
56 |         console.clear(lines: 5)
[417/440] Compiling StreamUI SizedView.swift
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Components/Internal/HUD.swift:36:67: warning: left side of nil coalescing operator '??' has non-optional type 'TimeInterval' (aka 'Double'), so the right side is never used
34 |         }
35 |         let elapsedTime = recorder.controlledClock.elapsedTime
36 |         let elapsedTimeFormatted = formatTimeInterval(elapsedTime ?? 0)
   |                                                                   `- warning: left side of nil coalescing operator '??' has non-optional type 'TimeInterval' (aka 'Double'), so the right side is never used
37 |         let stateEmoji = getStateEmoji(for: recorder.state)
38 |         let frameCount = recorder.frameTimer.frameCount
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Components/Internal/HUD.swift:54:13: warning: initialization of immutable value 'text' was never used; consider replacing with assignment to '_' or removing it [#no-usage]
52 |         """
53 |
54 |         let text = "hello"
   |             `- warning: initialization of immutable value 'text' was never used; consider replacing with assignment to '_' or removing it [#no-usage]
55 |
56 |         console.clear(lines: 5)
[418/440] Compiling StreamUI StreamingImage.swift
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Components/Internal/HUD.swift:36:67: warning: left side of nil coalescing operator '??' has non-optional type 'TimeInterval' (aka 'Double'), so the right side is never used
34 |         }
35 |         let elapsedTime = recorder.controlledClock.elapsedTime
36 |         let elapsedTimeFormatted = formatTimeInterval(elapsedTime ?? 0)
   |                                                                   `- warning: left side of nil coalescing operator '??' has non-optional type 'TimeInterval' (aka 'Double'), so the right side is never used
37 |         let stateEmoji = getStateEmoji(for: recorder.state)
38 |         let frameCount = recorder.frameTimer.frameCount
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Components/Internal/HUD.swift:54:13: warning: initialization of immutable value 'text' was never used; consider replacing with assignment to '_' or removing it [#no-usage]
52 |         """
53 |
54 |         let text = "hello"
   |             `- warning: initialization of immutable value 'text' was never used; consider replacing with assignment to '_' or removing it [#no-usage]
55 |
56 |         console.clear(lines: 5)
[419/440] Compiling StreamUI RTMPStreaming.swift
[420/440] Compiling StreamUI resource_bundle_accessor.swift
[421/440] Compiling StreamUI FrameStream.swift
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/AudioRecorder/AudioRecorder.swift:94:13: warning: no 'async' operations occur within 'await' expression
 92 |     private func processAudioSamples() async {
 93 |         for await audioSample in audioStream.stream {
 94 |             await appendAudioBuffer(audioSample.buffer, at: audioSample.time)
    |             `- warning: no 'async' operations occur within 'await' expression
 95 |         }
 96 |     }
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/AudioRecorder/AudioRecorder.swift:215:20: warning: value 'frameTime' was defined but never used; consider replacing with boolean test [#no-usage]
213 |         playerNode.installTap(onBus: 0, bufferSize: bufferSize, format: commonFormat) { [weak self] buffer, when in
214 |
215 |             if let frameTime = self?.frameTimer?.getCurrentFrameTime() {
    |                    `- warning: value 'frameTime' was defined but never used; consider replacing with boolean test [#no-usage]
216 |                 self?.addToStream(buffer, at: when.toCMTime())
217 |             }
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/AudioRecorder/AudioRecorder.swift:252:17: warning: 'assign(from:count:)' is deprecated: renamed to 'update(from:count:)' [#DeprecatedDeclaration]
250 |             }
251 |
252 |             dst.assign(from: src.advanced(by: Int(start)), count: Int(frameCount))
    |                 |- warning: 'assign(from:count:)' is deprecated: renamed to 'update(from:count:)' [#DeprecatedDeclaration]
    |                 `- note: use 'update(from:count:)' instead
253 |         }
254 |
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/AudioRecorder/AudioRecorder.swift:243:13: warning: initialization of immutable value 'sampleSize' was never used; consider replacing with assignment to '_' or removing it [#no-usage]
241 |
242 |         let channelCount = buffer.format.channelCount
243 |         let sampleSize = buffer.format.streamDescription.pointee.mBytesPerFrame / UInt32(channelCount)
    |             `- warning: initialization of immutable value 'sampleSize' was never used; consider replacing with assignment to '_' or removing it [#no-usage]
244 |
245 |         for channel in 0 ..< channelCount {
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/AudioRecorder/AudioRecorder.swift:326:13: warning: no calls to throwing functions occur within 'try' expression
324 |
325 |         do {
326 |             try converter.convert(to: convertedBuffer, error: nil, withInputFrom: inputBlock)
    |             `- warning: no calls to throwing functions occur within 'try' expression
327 |         } catch {
328 |             LoggerHelper.shared.error("Error converting buffer: \(error)")
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/AudioRecorder/AudioRecorder.swift:327:11: warning: 'catch' block is unreachable because no errors are thrown in 'do' block
325 |         do {
326 |             try converter.convert(to: convertedBuffer, error: nil, withInputFrom: inputBlock)
327 |         } catch {
    |           `- warning: 'catch' block is unreachable because no errors are thrown in 'do' block
328 |             LoggerHelper.shared.error("Error converting buffer: \(error)")
329 |             return nil
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[422/440] Compiling StreamUI createStreamUIRecorder.swift
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/AudioRecorder/AudioRecorder.swift:94:13: warning: no 'async' operations occur within 'await' expression
 92 |     private func processAudioSamples() async {
 93 |         for await audioSample in audioStream.stream {
 94 |             await appendAudioBuffer(audioSample.buffer, at: audioSample.time)
    |             `- warning: no 'async' operations occur within 'await' expression
 95 |         }
 96 |     }
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/AudioRecorder/AudioRecorder.swift:215:20: warning: value 'frameTime' was defined but never used; consider replacing with boolean test [#no-usage]
213 |         playerNode.installTap(onBus: 0, bufferSize: bufferSize, format: commonFormat) { [weak self] buffer, when in
214 |
215 |             if let frameTime = self?.frameTimer?.getCurrentFrameTime() {
    |                    `- warning: value 'frameTime' was defined but never used; consider replacing with boolean test [#no-usage]
216 |                 self?.addToStream(buffer, at: when.toCMTime())
217 |             }
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/AudioRecorder/AudioRecorder.swift:252:17: warning: 'assign(from:count:)' is deprecated: renamed to 'update(from:count:)' [#DeprecatedDeclaration]
250 |             }
251 |
252 |             dst.assign(from: src.advanced(by: Int(start)), count: Int(frameCount))
    |                 |- warning: 'assign(from:count:)' is deprecated: renamed to 'update(from:count:)' [#DeprecatedDeclaration]
    |                 `- note: use 'update(from:count:)' instead
253 |         }
254 |
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/AudioRecorder/AudioRecorder.swift:243:13: warning: initialization of immutable value 'sampleSize' was never used; consider replacing with assignment to '_' or removing it [#no-usage]
241 |
242 |         let channelCount = buffer.format.channelCount
243 |         let sampleSize = buffer.format.streamDescription.pointee.mBytesPerFrame / UInt32(channelCount)
    |             `- warning: initialization of immutable value 'sampleSize' was never used; consider replacing with assignment to '_' or removing it [#no-usage]
244 |
245 |         for channel in 0 ..< channelCount {
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/AudioRecorder/AudioRecorder.swift:326:13: warning: no calls to throwing functions occur within 'try' expression
324 |
325 |         do {
326 |             try converter.convert(to: convertedBuffer, error: nil, withInputFrom: inputBlock)
    |             `- warning: no calls to throwing functions occur within 'try' expression
327 |         } catch {
328 |             LoggerHelper.shared.error("Error converting buffer: \(error)")
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/AudioRecorder/AudioRecorder.swift:327:11: warning: 'catch' block is unreachable because no errors are thrown in 'do' block
325 |         do {
326 |             try converter.convert(to: convertedBuffer, error: nil, withInputFrom: inputBlock)
327 |         } catch {
    |           `- warning: 'catch' block is unreachable because no errors are thrown in 'do' block
328 |             LoggerHelper.shared.error("Error converting buffer: \(error)")
329 |             return nil
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[423/440] Compiling StreamUI AudioRecorder.swift
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/AudioRecorder/AudioRecorder.swift:94:13: warning: no 'async' operations occur within 'await' expression
 92 |     private func processAudioSamples() async {
 93 |         for await audioSample in audioStream.stream {
 94 |             await appendAudioBuffer(audioSample.buffer, at: audioSample.time)
    |             `- warning: no 'async' operations occur within 'await' expression
 95 |         }
 96 |     }
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/AudioRecorder/AudioRecorder.swift:215:20: warning: value 'frameTime' was defined but never used; consider replacing with boolean test [#no-usage]
213 |         playerNode.installTap(onBus: 0, bufferSize: bufferSize, format: commonFormat) { [weak self] buffer, when in
214 |
215 |             if let frameTime = self?.frameTimer?.getCurrentFrameTime() {
    |                    `- warning: value 'frameTime' was defined but never used; consider replacing with boolean test [#no-usage]
216 |                 self?.addToStream(buffer, at: when.toCMTime())
217 |             }
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/AudioRecorder/AudioRecorder.swift:252:17: warning: 'assign(from:count:)' is deprecated: renamed to 'update(from:count:)' [#DeprecatedDeclaration]
250 |             }
251 |
252 |             dst.assign(from: src.advanced(by: Int(start)), count: Int(frameCount))
    |                 |- warning: 'assign(from:count:)' is deprecated: renamed to 'update(from:count:)' [#DeprecatedDeclaration]
    |                 `- note: use 'update(from:count:)' instead
253 |         }
254 |
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/AudioRecorder/AudioRecorder.swift:243:13: warning: initialization of immutable value 'sampleSize' was never used; consider replacing with assignment to '_' or removing it [#no-usage]
241 |
242 |         let channelCount = buffer.format.channelCount
243 |         let sampleSize = buffer.format.streamDescription.pointee.mBytesPerFrame / UInt32(channelCount)
    |             `- warning: initialization of immutable value 'sampleSize' was never used; consider replacing with assignment to '_' or removing it [#no-usage]
244 |
245 |         for channel in 0 ..< channelCount {
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/AudioRecorder/AudioRecorder.swift:326:13: warning: no calls to throwing functions occur within 'try' expression
324 |
325 |         do {
326 |             try converter.convert(to: convertedBuffer, error: nil, withInputFrom: inputBlock)
    |             `- warning: no calls to throwing functions occur within 'try' expression
327 |         } catch {
328 |             LoggerHelper.shared.error("Error converting buffer: \(error)")
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/AudioRecorder/AudioRecorder.swift:327:11: warning: 'catch' block is unreachable because no errors are thrown in 'do' block
325 |         do {
326 |             try converter.convert(to: convertedBuffer, error: nil, withInputFrom: inputBlock)
327 |         } catch {
    |           `- warning: 'catch' block is unreachable because no errors are thrown in 'do' block
328 |             LoggerHelper.shared.error("Error converting buffer: \(error)")
329 |             return nil
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[424/440] Compiling StreamUI LoggerHelper.swift
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Helpers/LoggerHelper.swift:21:50: warning: converting non-sendable function value to '@Sendable (String) -> any LogHandler' may introduce data races
19 |     private init() {
20 |         self.logger = Logger(label: "live.stream.ui")
21 |         LoggingSystem.bootstrap(StreamLogHandler.standardError)
   |                                                  `- warning: converting non-sendable function value to '@Sendable (String) -> any LogHandler' may introduce data races
22 |     }
23 |
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Helpers/PreloadManager.swift:33:33: warning: result of call to 'image(for:)' is unused [#no-usage]
31 |     // Preload images using Nuke
32 |     func preloadImage(from url: URL) async throws {
33 |         try await imagePipeline.image(for: url)
   |                                 `- warning: result of call to 'image(for:)' is unused [#no-usage]
34 |     }
35 |
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Helpers/PreloadManager.swift:63:23: warning: result of call to 'preloadMedia(from:)' is unused [#no-usage]
61 |             try await preloadImage(from: url)
62 |         } else {
63 |             try await preloadMedia(from: url)
   |                       `- warning: result of call to 'preloadMedia(from:)' is unused [#no-usage]
64 |         }
65 |     }
[425/440] Compiling StreamUI MetalRenderer.swift
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Helpers/LoggerHelper.swift:21:50: warning: converting non-sendable function value to '@Sendable (String) -> any LogHandler' may introduce data races
19 |     private init() {
20 |         self.logger = Logger(label: "live.stream.ui")
21 |         LoggingSystem.bootstrap(StreamLogHandler.standardError)
   |                                                  `- warning: converting non-sendable function value to '@Sendable (String) -> any LogHandler' may introduce data races
22 |     }
23 |
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Helpers/PreloadManager.swift:33:33: warning: result of call to 'image(for:)' is unused [#no-usage]
31 |     // Preload images using Nuke
32 |     func preloadImage(from url: URL) async throws {
33 |         try await imagePipeline.image(for: url)
   |                                 `- warning: result of call to 'image(for:)' is unused [#no-usage]
34 |     }
35 |
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Helpers/PreloadManager.swift:63:23: warning: result of call to 'preloadMedia(from:)' is unused [#no-usage]
61 |             try await preloadImage(from: url)
62 |         } else {
63 |             try await preloadMedia(from: url)
   |                       `- warning: result of call to 'preloadMedia(from:)' is unused [#no-usage]
64 |         }
65 |     }
[426/440] Compiling StreamUI PreloadManager.swift
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Helpers/LoggerHelper.swift:21:50: warning: converting non-sendable function value to '@Sendable (String) -> any LogHandler' may introduce data races
19 |     private init() {
20 |         self.logger = Logger(label: "live.stream.ui")
21 |         LoggingSystem.bootstrap(StreamLogHandler.standardError)
   |                                                  `- warning: converting non-sendable function value to '@Sendable (String) -> any LogHandler' may introduce data races
22 |     }
23 |
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Helpers/PreloadManager.swift:33:33: warning: result of call to 'image(for:)' is unused [#no-usage]
31 |     // Preload images using Nuke
32 |     func preloadImage(from url: URL) async throws {
33 |         try await imagePipeline.image(for: url)
   |                                 `- warning: result of call to 'image(for:)' is unused [#no-usage]
34 |     }
35 |
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Helpers/PreloadManager.swift:63:23: warning: result of call to 'preloadMedia(from:)' is unused [#no-usage]
61 |             try await preloadImage(from: url)
62 |         } else {
63 |             try await preloadMedia(from: url)
   |                       `- warning: result of call to 'preloadMedia(from:)' is unused [#no-usage]
64 |         }
65 |     }
[427/440] Compiling StreamUI RecorderKeys.swift
[428/440] Compiling StreamUI RenderSettings.swift
[429/440] Compiling StreamUI AudioStream.swift
[430/440] Compiling StreamUI StreamingVideoPlayer.swift
[431/440] Compiling StreamUI AVAudioTime+Extensions.swift
[432/440] Compiling StreamUI Duration+Extensions.swift
[433/440] Compiling StreamUI Recorder.swift
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/Recorder.swift:114:29: warning: result of call to 'render()' is unused [#no-usage]
112 | //                        try await Task.sleep(for: frameDuration)
113 |                     }
114 |                    self.hud.render()
    |                             `- warning: result of call to 'render()' is unused [#no-usage]
115 |
116 |                 case .paused:
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/Recorder.swift:117:29: warning: result of call to 'render()' is unused [#no-usage]
115 |
116 |                 case .paused:
117 |                    self.hud.render()
    |                             `- warning: result of call to 'render()' is unused [#no-usage]
118 |                     try await Task.sleep(for: frameDuration)
119 |
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/Recorder.swift:125:21: warning: result of call to 'render()' is unused [#no-usage]
123 |             }
124 |
125 |            self.hud.render()
    |                     `- warning: result of call to 'render()' is unused [#no-usage]
126 |             await finishRecording()
127 |         }
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/Recorder.swift:179:20: warning: value 'trimmedURL' was defined but never used; consider replacing with boolean test [#no-usage]
177 |
178 |         if let outputURL = assetWriter?.outputURL, let duration = renderSettings.captureDuration {
179 |             if let trimmedURL = await trimVideo(at: outputURL, to: duration) {
    |                    `- warning: value 'trimmedURL' was defined but never used; consider replacing with boolean test [#no-usage]
180 |                 try? FileManager.default.removeItem(at: tempOutputURL)
181 |             }
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/Recorder.swift:252:24: warning: capture of 'exportSession' with non-sendable type 'AVAssetExportSession' in a '@Sendable' closure [#SendableClosureCaptures]
250 |         return await withCheckedContinuation { continuation in
251 |             exportSession.exportAsynchronously {
252 |                 switch exportSession.status {
    |                        `- warning: capture of 'exportSession' with non-sendable type 'AVAssetExportSession' in a '@Sendable' closure [#SendableClosureCaptures]
253 |                 case .completed:
254 |                     continuation.resume(returning: trimmedOutputURL)
/Applications/Xcode-26.0.0-Beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVAssetExportSession.h:159:12: note: class 'AVAssetExportSession' does not conform to the 'Sendable' protocol
157 | NS_SWIFT_NONSENDABLE
158 | API_AVAILABLE(macos(10.7), ios(4.0), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos)
159 | @interface AVAssetExportSession : NSObject
    |            `- note: class 'AVAssetExportSession' does not conform to the 'Sendable' protocol
160 | {
161 | @private
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[434/440] Compiling StreamUI createCMSampleBuffer.swift
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/Recorder.swift:114:29: warning: result of call to 'render()' is unused [#no-usage]
112 | //                        try await Task.sleep(for: frameDuration)
113 |                     }
114 |                    self.hud.render()
    |                             `- warning: result of call to 'render()' is unused [#no-usage]
115 |
116 |                 case .paused:
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/Recorder.swift:117:29: warning: result of call to 'render()' is unused [#no-usage]
115 |
116 |                 case .paused:
117 |                    self.hud.render()
    |                             `- warning: result of call to 'render()' is unused [#no-usage]
118 |                     try await Task.sleep(for: frameDuration)
119 |
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/Recorder.swift:125:21: warning: result of call to 'render()' is unused [#no-usage]
123 |             }
124 |
125 |            self.hud.render()
    |                     `- warning: result of call to 'render()' is unused [#no-usage]
126 |             await finishRecording()
127 |         }
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/Recorder.swift:179:20: warning: value 'trimmedURL' was defined but never used; consider replacing with boolean test [#no-usage]
177 |
178 |         if let outputURL = assetWriter?.outputURL, let duration = renderSettings.captureDuration {
179 |             if let trimmedURL = await trimVideo(at: outputURL, to: duration) {
    |                    `- warning: value 'trimmedURL' was defined but never used; consider replacing with boolean test [#no-usage]
180 |                 try? FileManager.default.removeItem(at: tempOutputURL)
181 |             }
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Recorders/Recorder.swift:252:24: warning: capture of 'exportSession' with non-sendable type 'AVAssetExportSession' in a '@Sendable' closure [#SendableClosureCaptures]
250 |         return await withCheckedContinuation { continuation in
251 |             exportSession.exportAsynchronously {
252 |                 switch exportSession.status {
    |                        `- warning: capture of 'exportSession' with non-sendable type 'AVAssetExportSession' in a '@Sendable' closure [#SendableClosureCaptures]
253 |                 case .completed:
254 |                     continuation.resume(returning: trimmedOutputURL)
/Applications/Xcode-26.0.0-Beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.0.sdk/System/Library/Frameworks/AVFoundation.framework/Headers/AVAssetExportSession.h:159:12: note: class 'AVAssetExportSession' does not conform to the 'Sendable' protocol
157 | NS_SWIFT_NONSENDABLE
158 | API_AVAILABLE(macos(10.7), ios(4.0), tvos(9.0), visionos(1.0)) API_UNAVAILABLE(watchos)
159 | @interface AVAssetExportSession : NSObject
    |            `- note: class 'AVAssetExportSession' does not conform to the 'Sendable' protocol
160 | {
161 | @private
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[435/440] Emitting module StreamUI
[436/440] Compiling StreamUI VideoRecorder.swift
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/StreamUI.swift:169:10: warning: 'onChange(of:perform:)' was deprecated in macOS 14.0: Use `onChange` with a two or zero parameter action closure instead. [#DeprecatedDeclaration]
167 |         .frame(width: NSScreen.main?.visibleFrame.width ?? 800 * 0.9,
168 |                height: NSScreen.main?.visibleFrame.height ?? 600 * 0.9)
169 |         .onChange(of: recorder.state) { recorderState in
    |          `- warning: 'onChange(of:perform:)' was deprecated in macOS 14.0: Use `onChange` with a two or zero parameter action closure instead. [#DeprecatedDeclaration]
170 |             if recorderState == .finished {
171 |                 isVideoSaved = recorder.renderSettings.saveVideoFile
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/StreamUI.swift:126:47: warning: capture of non-sendable type 'Content.Type' in an isolated closure
124 |                                     recorder.stopRecording()
125 |                                     Task {
126 |                                         await recorder.waitForRecordingCompletion()
    |                                               `- warning: capture of non-sendable type 'Content.Type' in an isolated closure
127 |                                     }
128 |                                 } else {
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/StreamUI.swift:56:32: warning: capture of non-sendable type 'Content.Type' in an isolated closure
 54 |     }
 55 |
 56 |     public var body: some View {
    |                                `- warning: capture of non-sendable type 'Content.Type' in an isolated closure
 57 |         GeometryReader { geometry in
 58 |             HStack(spacing: 0) {
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/StreamUI.swift:251:10: warning: 'onChange(of:perform:)' was deprecated in macOS 14.0: Use `onChange` with a two or zero parameter action closure instead. [#DeprecatedDeclaration]
249 |             isAnimating = state == .recording
250 |         }
251 |         .onChange(of: state) { newState in
    |          `- warning: 'onChange(of:perform:)' was deprecated in macOS 14.0: Use `onChange` with a two or zero parameter action closure instead. [#DeprecatedDeclaration]
252 |             isAnimating = newState == .recording
253 |         }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[437/440] Compiling StreamUI StreamUI.swift
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/StreamUI.swift:169:10: warning: 'onChange(of:perform:)' was deprecated in macOS 14.0: Use `onChange` with a two or zero parameter action closure instead. [#DeprecatedDeclaration]
167 |         .frame(width: NSScreen.main?.visibleFrame.width ?? 800 * 0.9,
168 |                height: NSScreen.main?.visibleFrame.height ?? 600 * 0.9)
169 |         .onChange(of: recorder.state) { recorderState in
    |          `- warning: 'onChange(of:perform:)' was deprecated in macOS 14.0: Use `onChange` with a two or zero parameter action closure instead. [#DeprecatedDeclaration]
170 |             if recorderState == .finished {
171 |                 isVideoSaved = recorder.renderSettings.saveVideoFile
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/StreamUI.swift:126:47: warning: capture of non-sendable type 'Content.Type' in an isolated closure
124 |                                     recorder.stopRecording()
125 |                                     Task {
126 |                                         await recorder.waitForRecordingCompletion()
    |                                               `- warning: capture of non-sendable type 'Content.Type' in an isolated closure
127 |                                     }
128 |                                 } else {
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/StreamUI.swift:56:32: warning: capture of non-sendable type 'Content.Type' in an isolated closure
 54 |     }
 55 |
 56 |     public var body: some View {
    |                                `- warning: capture of non-sendable type 'Content.Type' in an isolated closure
 57 |         GeometryReader { geometry in
 58 |             HStack(spacing: 0) {
/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/StreamUI.swift:251:10: warning: 'onChange(of:perform:)' was deprecated in macOS 14.0: Use `onChange` with a two or zero parameter action closure instead. [#DeprecatedDeclaration]
249 |             isAnimating = state == .recording
250 |         }
251 |         .onChange(of: state) { newState in
    |          `- warning: 'onChange(of:perform:)' was deprecated in macOS 14.0: Use `onChange` with a two or zero parameter action closure instead. [#DeprecatedDeclaration]
252 |             isAnimating = newState == .recording
253 |         }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[438/449] Compiling VideoViews VideoTestView.swift
[439/449] Compiling VideoViews WebViewTestView.swift
[440/449] Compiling VideoViews SpriteKitTestView.swift
/Users/admin/builder/spi-builder-workspace/Examples/VideoViews/SpriteKitTestView.swift:237:33: warning: expression implicitly coerced from 'Int?' to 'Any'
235 |
236 |     var newFrameCount: Int {
237 |         print("recorder count", recorder?.frameTimer.frameCount)
    |                                 |                    |- note: provide a default value to avoid this warning
    |                                 |                    |- note: force-unwrap the value to avoid this warning
    |                                 |                    `- note: explicitly cast to 'Any' with 'as Any' to silence this warning
    |                                 `- warning: expression implicitly coerced from 'Int?' to 'Any'
238 |         return 10
239 |     }
/Users/admin/builder/spi-builder-workspace/Examples/VideoViews/SpriteKitTestView.swift:271:38: warning: expression implicitly coerced from 'Int?' to 'Any'
269 |         }
270 |         .onChange(of: recorder?.frameTimer.frameCount) { newCount in
271 |             print("new frame count", recorder?.frameTimer.frameCount, newCount)
    |                                      |                    |- note: provide a default value to avoid this warning
    |                                      |                    |- note: force-unwrap the value to avoid this warning
    |                                      |                    `- note: explicitly cast to 'Any' with 'as Any' to silence this warning
    |                                      `- warning: expression implicitly coerced from 'Int?' to 'Any'
272 |             updateCircleAnimation()
273 |         }
/Users/admin/builder/spi-builder-workspace/Examples/VideoViews/SpriteKitTestView.swift:271:71: warning: expression implicitly coerced from 'Int?' to 'Any'
269 |         }
270 |         .onChange(of: recorder?.frameTimer.frameCount) { newCount in
271 |             print("new frame count", recorder?.frameTimer.frameCount, newCount)
    |                                                                       |- warning: expression implicitly coerced from 'Int?' to 'Any'
    |                                                                       |- note: provide a default value to avoid this warning
    |                                                                       |- note: force-unwrap the value to avoid this warning
    |                                                                       `- note: explicitly cast to 'Any' with 'as Any' to silence this warning
272 |             updateCircleAnimation()
273 |         }
/Users/admin/builder/spi-builder-workspace/Examples/VideoViews/SpriteKitTestView.swift:270:10: warning: 'onChange(of:perform:)' was deprecated in macOS 14.0: Use `onChange` with a two or zero parameter action closure instead. [#DeprecatedDeclaration]
268 |                 }
269 |         }
270 |         .onChange(of: recorder?.frameTimer.frameCount) { newCount in
    |          `- warning: 'onChange(of:perform:)' was deprecated in macOS 14.0: Use `onChange` with a two or zero parameter action closure instead. [#DeprecatedDeclaration]
271 |             print("new frame count", recorder?.frameTimer.frameCount, newCount)
272 |             updateCircleAnimation()
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[441/449] Compiling VideoViews SoundTestView.swift
[442/449] Compiling VideoViews RandomSwiftUIComponentsTestView.swift
[443/449] Compiling VideoViews BasicCounterView.swift
/Users/admin/builder/spi-builder-workspace/Examples/VideoViews/BasicCounterView.swift:29:30: warning: string interpolation produces a debug description for an optional value; did you mean to make this explicit?
 27 |                 .padding()
 28 |
 29 |             Text("Counter: \(recorder?.controlledClock.elapsedTime)")
    |                              |                         |- note: use 'String(describing:)' to silence this warning
    |                              |                         `- note: provide a default value to avoid this warning
    |                              `- warning: string interpolation produces a debug description for an optional value; did you mean to make this explicit?
 30 |                 .font(.largeTitle)
 31 |                 .foregroundColor(.green)
/Users/admin/builder/spi-builder-workspace/Examples/VideoViews/BasicCounterView.swift:29:29: warning: 'appendInterpolation' is deprecated: Localized string interpolation produces an unlocalized, debug description for this type of value. Use a type supported by LocalizedStringKey.StringInterpolation or initialize a LocalizedStringResource instead with an interpolated value that conforms to CustomLocalizedStringResourceConvertible. [#DeprecatedDeclaration]
 27 |                 .padding()
 28 |
 29 |             Text("Counter: \(recorder?.controlledClock.elapsedTime)")
    |                             `- warning: 'appendInterpolation' is deprecated: Localized string interpolation produces an unlocalized, debug description for this type of value. Use a type supported by LocalizedStringKey.StringInterpolation or initialize a LocalizedStringResource instead with an interpolated value that conforms to CustomLocalizedStringResourceConvertible. [#DeprecatedDeclaration]
 30 |                 .font(.largeTitle)
 31 |                 .foregroundColor(.green)
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[444/449] Emitting module VideoViews
[445/449] Compiling VideoViews ImageTestView.swift
[446/449] Compiling VideoViews SceneKitTestView.swift
/Users/admin/builder/spi-builder-workspace/Examples/VideoViews/SceneKitTestView.swift:28:26: warning: expression implicitly coerced from 'NSImage?' to 'Any'
 26 |     func updateSnapshot() {
 27 |         self.snapshotImage = self.scnView.snapshot()
 28 |         print("snapper", self.snapshotImage)
    |                          |    |- note: provide a default value to avoid this warning
    |                          |    |- note: force-unwrap the value to avoid this warning
    |                          |    `- note: explicitly cast to 'Any' with 'as Any' to silence this warning
    |                          `- warning: expression implicitly coerced from 'NSImage?' to 'Any'
 29 |         self.frameCount += 1
 30 |     }
/Users/admin/builder/spi-builder-workspace/Examples/VideoViews/SceneKitTestView.swift:317:10: warning: 'onChange(of:perform:)' was deprecated in macOS 14.0: Use `onChange` with a two or zero parameter action closure instead. [#DeprecatedDeclaration]
315 |             Text("Frame: \(recorder?.frameTimer.frameCount ?? 0)")
316 |         }
317 |         .onChange(of: recorder?.frameTimer.frameCount) { _ in
    |          `- warning: 'onChange(of:perform:)' was deprecated in macOS 14.0: Use `onChange` with a two or zero parameter action closure instead. [#DeprecatedDeclaration]
318 |             updateBallPosition()
319 |         }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[447/451] Compiling CLIExample index.swift
[448/451] Emitting module CLIExample
[448/451] Write Objects.LinkFileList
[449/451] Linking CLIExample
[450/451] Applying CLIExample
Build complete! (58.45s)
Fetching https://github.com/pointfreeco/swift-clocks.git
Fetching https://github.com/apple/swift-argument-parser.git
Fetching https://github.com/shogo4405/HaishinKit.swift.git
Fetching https://github.com/apple/swift-log.git
Fetching https://github.com/kean/Nuke.git
Fetching https://github.com/vapor/console-kit.git
Fetching https://github.com/stencilproject/Stencil.git
[13/1292] Fetching swift-clocks
[221/7310] Fetching swift-clocks, console-kit
[522/11146] Fetching swift-clocks, console-kit, swift-log
[638/37221] Fetching swift-clocks, console-kit, swift-log, nuke
[715/42514] Fetching swift-clocks, console-kit, swift-log, nuke, stencil
[4254/57894] Fetching swift-clocks, console-kit, swift-log, nuke, stencil, swift-argument-parser
[20646/95152] Fetching swift-clocks, console-kit, swift-log, nuke, stencil, swift-argument-parser, haishinkit.swift
Fetched https://github.com/apple/swift-argument-parser.git from cache (1.53s)
Fetched https://github.com/apple/swift-log.git from cache (1.53s)
[37487/75936] Fetching swift-clocks, console-kit, nuke, stencil, haishinkit.swift
Fetched https://github.com/kean/Nuke.git from cache (1.78s)
Fetched https://github.com/vapor/console-kit.git from cache (1.78s)
[9939/43843] Fetching swift-clocks, stencil, haishinkit.swift
Fetched https://github.com/stencilproject/Stencil.git from cache (5.35s)
Fetched https://github.com/pointfreeco/swift-clocks.git from cache (5.35s)
Fetched https://github.com/shogo4405/HaishinKit.swift.git from cache (5.35s)
Computing version for https://github.com/stencilproject/Stencil.git
Computed https://github.com/stencilproject/Stencil.git at 0.15.1 (7.95s)
Fetching https://github.com/kylef/PathKit.git
Fetching https://github.com/kylef/Spectre.git
[1/1021] Fetching spectre
[165/2432] Fetching spectre, pathkit
Fetched https://github.com/kylef/Spectre.git from cache (0.86s)
Fetched https://github.com/kylef/PathKit.git from cache (0.86s)
Computing version for https://github.com/kylef/Spectre.git
Computed https://github.com/kylef/Spectre.git at 0.10.1 (1.37s)
Computing version for https://github.com/kylef/PathKit.git
Computed https://github.com/kylef/PathKit.git at 1.0.1 (1.90s)
Computing version for https://github.com/kean/Nuke.git
Computed https://github.com/kean/Nuke.git at 12.8.0 (0.40s)
Computing version for https://github.com/apple/swift-argument-parser.git
Computed https://github.com/apple/swift-argument-parser.git at 1.5.1 (0.41s)
Computing version for https://github.com/vapor/console-kit.git
Computed https://github.com/vapor/console-kit.git at 4.15.2 (0.41s)
Fetching https://github.com/apple/swift-nio.git
[1/76339] Fetching swift-nio
Fetched https://github.com/apple/swift-nio.git from cache (3.55s)
Computing version for https://github.com/pointfreeco/swift-clocks.git
Computed https://github.com/pointfreeco/swift-clocks.git at 1.0.6 (3.99s)
Fetching https://github.com/pointfreeco/swift-concurrency-extras
Fetching https://github.com/pointfreeco/xctest-dynamic-overlay
[1/861] Fetching swift-concurrency-extras
[243/6328] Fetching swift-concurrency-extras, xctest-dynamic-overlay
Fetched https://github.com/pointfreeco/swift-concurrency-extras from cache (1.36s)
Fetched https://github.com/pointfreeco/xctest-dynamic-overlay from cache (1.36s)
Computing version for https://github.com/apple/swift-log.git
Computed https://github.com/apple/swift-log.git at 1.6.3 (1.77s)
Computing version for https://github.com/pointfreeco/swift-concurrency-extras
Computed https://github.com/pointfreeco/swift-concurrency-extras at 1.3.1 (0.40s)
Computing version for https://github.com/shogo4405/HaishinKit.swift.git
Computed https://github.com/shogo4405/HaishinKit.swift.git at 1.9.9 (0.40s)
Fetching https://github.com/shogo4405/Logboard.git
[1/1560] Fetching logboard
Fetched https://github.com/shogo4405/Logboard.git from cache (1.01s)
Computing version for https://github.com/shogo4405/Logboard.git
Computed https://github.com/shogo4405/Logboard.git at 2.5.0 (1.41s)
Computing version for https://github.com/pointfreeco/xctest-dynamic-overlay
Computed https://github.com/pointfreeco/xctest-dynamic-overlay at 1.5.2 (0.40s)
Computing version for https://github.com/apple/swift-nio.git
Computed https://github.com/apple/swift-nio.git at 2.83.0 (0.59s)
Fetching https://github.com/apple/swift-system.git
Fetching https://github.com/apple/swift-collections.git
Fetching https://github.com/apple/swift-atomics.git
[1/1797] Fetching swift-atomics
[73/6233] Fetching swift-atomics, swift-system
[948/22873] Fetching swift-atomics, swift-system, swift-collections
Fetched https://github.com/apple/swift-atomics.git from cache (1.62s)
Fetched https://github.com/apple/swift-collections.git from cache (1.62s)
Fetched https://github.com/apple/swift-system.git from cache (1.62s)
Computing version for https://github.com/apple/swift-atomics.git
Computed https://github.com/apple/swift-atomics.git at 1.3.0 (2.07s)
Computing version for https://github.com/apple/swift-system.git
Computed https://github.com/apple/swift-system.git at 1.5.0 (0.40s)
Computing version for https://github.com/apple/swift-collections.git
Computed https://github.com/apple/swift-collections.git at 1.2.0 (0.49s)
Creating working copy for https://github.com/shogo4405/HaishinKit.swift.git
Working copy of https://github.com/shogo4405/HaishinKit.swift.git resolved at 1.9.9
Creating working copy for https://github.com/apple/swift-collections.git
Working copy of https://github.com/apple/swift-collections.git resolved at 1.2.0
Creating working copy for https://github.com/apple/swift-log.git
Working copy of https://github.com/apple/swift-log.git resolved at 1.6.3
Creating working copy for https://github.com/pointfreeco/swift-clocks.git
Working copy of https://github.com/pointfreeco/swift-clocks.git resolved at 1.0.6
Creating working copy for https://github.com/apple/swift-nio.git
Working copy of https://github.com/apple/swift-nio.git resolved at 2.83.0
Creating working copy for https://github.com/kylef/Spectre.git
Working copy of https://github.com/kylef/Spectre.git resolved at 0.10.1
Creating working copy for https://github.com/stencilproject/Stencil.git
Working copy of https://github.com/stencilproject/Stencil.git resolved at 0.15.1
Creating working copy for https://github.com/pointfreeco/xctest-dynamic-overlay
Working copy of https://github.com/pointfreeco/xctest-dynamic-overlay resolved at 1.5.2
Creating working copy for https://github.com/apple/swift-argument-parser.git
Working copy of https://github.com/apple/swift-argument-parser.git resolved at 1.5.1
Creating working copy for https://github.com/apple/swift-system.git
Working copy of https://github.com/apple/swift-system.git resolved at 1.5.0
Creating working copy for https://github.com/apple/swift-atomics.git
Working copy of https://github.com/apple/swift-atomics.git resolved at 1.3.0
Creating working copy for https://github.com/pointfreeco/swift-concurrency-extras
Working copy of https://github.com/pointfreeco/swift-concurrency-extras resolved at 1.3.1
Creating working copy for https://github.com/kean/Nuke.git
Working copy of https://github.com/kean/Nuke.git resolved at 12.8.0
Creating working copy for https://github.com/vapor/console-kit.git
Working copy of https://github.com/vapor/console-kit.git resolved at 4.15.2
Creating working copy for https://github.com/shogo4405/Logboard.git
Working copy of https://github.com/shogo4405/Logboard.git resolved at 2.5.0
Creating working copy for https://github.com/kylef/PathKit.git
Working copy of https://github.com/kylef/PathKit.git resolved at 1.0.1
warning: 'haishinkit.swift': found 1 file(s) which are unhandled; explicitly declare them as resources or exclude from the target
    /Users/admin/builder/spi-builder-workspace/.build/checkouts/HaishinKit.swift/Sources/SwiftPMSupport/dummy.m
Build complete.
{
  "dependencies" : [
    {
      "identity" : "swift-argument-parser",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.4.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-argument-parser.git"
    },
    {
      "identity" : "swift-log",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.5.4",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-log.git"
    },
    {
      "identity" : "haishinkit.swift",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.9.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/shogo4405/HaishinKit.swift.git"
    },
    {
      "identity" : "stencil",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "0.15.1",
            "upper_bound" : "1.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/stencilproject/Stencil.git"
    },
    {
      "identity" : "swift-clocks",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.2",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/pointfreeco/swift-clocks.git"
    },
    {
      "identity" : "nuke",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "12.7.3",
            "upper_bound" : "13.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/kean/Nuke.git"
    },
    {
      "identity" : "console-kit",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "4.14.3",
            "upper_bound" : "5.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/vapor/console-kit.git"
    }
  ],
  "manifest_display_name" : "StreamUI",
  "name" : "StreamUI",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "14.0"
    }
  ],
  "products" : [
    {
      "name" : "StreamUI",
      "targets" : [
        "StreamUI"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "CLIExample",
      "targets" : [
        "CLIExample"
      ],
      "type" : {
        "executable" : null
      }
    },
    {
      "name" : "VideoViews",
      "targets" : [
        "VideoViews"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "GenerateTemplate",
      "targets" : [
        "GenerateTemplate"
      ],
      "type" : {
        "executable" : null
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "VideoViews",
      "module_type" : "SwiftTarget",
      "name" : "VideoViews",
      "path" : "Examples/VideoViews",
      "product_memberships" : [
        "CLIExample",
        "VideoViews"
      ],
      "sources" : [
        "BasicCounterView.swift",
        "ImageTestView.swift",
        "RandomSwiftUIComponentsTestView.swift",
        "SceneKitTestView.swift",
        "SoundTestView.swift",
        "SpriteKitTestView.swift",
        "VideoTestView.swift",
        "WebViewTestView.swift"
      ],
      "target_dependencies" : [
        "StreamUI"
      ],
      "type" : "library"
    },
    {
      "c99name" : "StreamUITests",
      "module_type" : "SwiftTarget",
      "name" : "StreamUITests",
      "path" : "Tests/StreamUITests",
      "sources" : [
        "StreamUITests.swift"
      ],
      "target_dependencies" : [
        "StreamUI"
      ],
      "type" : "test"
    },
    {
      "c99name" : "StreamUI",
      "module_type" : "SwiftTarget",
      "name" : "StreamUI",
      "path" : "Sources/StreamUI",
      "product_dependencies" : [
        "HaishinKit",
        "Logging",
        "Clocks",
        "Nuke",
        "ConsoleKit"
      ],
      "product_memberships" : [
        "StreamUI",
        "CLIExample",
        "VideoViews"
      ],
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Resources/discord.png",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Resources/github.png",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/StreamUI/Resources/x.png",
          "rule" : {
            "process" : {
            }
          }
        }
      ],
      "sources" : [
        "Components/Internal/HUD.swift",
        "Components/Internal/SizedView.swift",
        "Components/StreamingImage.swift",
        "Components/StreamingLoadingIndicator.swift",
        "Components/StreamingMediaPlayer.swift",
        "Components/StreamingProgressView.swift",
        "Components/StreamingVideoPlayer.swift",
        "Extensions/AVAudioTime+Extensions.swift",
        "Extensions/Duration+Extensions.swift",
        "Extensions/Image+Extension.swift",
        "Helpers/ControlledClock.swift",
        "Helpers/FrameTimer.swift",
        "Helpers/LoggerHelper.swift",
        "Helpers/MetalRenderer.swift",
        "Helpers/PreloadManager.swift",
        "Helpers/RecorderKeys.swift",
        "Helpers/RenderSettings.swift",
        "Helpers/Streams/AudioStream.swift",
        "Helpers/Streams/FrameStream.swift",
        "Helpers/createStreamUIRecorder.swift",
        "Recorders/AudioRecorder/AudioRecorder.swift",
        "Recorders/Recorder.swift",
        "Recorders/VideoRecorder/Extensions/createCMSampleBuffer.swift",
        "Recorders/VideoRecorder/VideoRecorder.swift",
        "StreamUI.swift",
        "Streaming/RTMPStreaming.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "GenerateTemplate",
      "module_type" : "SwiftTarget",
      "name" : "GenerateTemplate",
      "path" : "Scripts/GenerateTemplate",
      "product_dependencies" : [
        "Stencil",
        "ArgumentParser",
        "Logging"
      ],
      "product_memberships" : [
        "GenerateTemplate"
      ],
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Scripts/GenerateTemplate/Templates/Package.swift.stencil",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Scripts/GenerateTemplate/Templates/main.swift.stencil",
          "rule" : {
            "process" : {
            }
          }
        }
      ],
      "sources" : [
        "index.swift"
      ],
      "type" : "executable"
    },
    {
      "c99name" : "CLIExample",
      "module_type" : "SwiftTarget",
      "name" : "CLIExample",
      "path" : "Examples/CLIExample",
      "product_dependencies" : [
        "ArgumentParser"
      ],
      "product_memberships" : [
        "CLIExample"
      ],
      "sources" : [
        "index.swift"
      ],
      "target_dependencies" : [
        "StreamUI",
        "VideoViews"
      ],
      "type" : "executable"
    }
  ],
  "tools_version" : "5.10"
}
Done.