Skip to content

Commit c2f3cfe

Browse files
committed
fix: typo in swift.yml
1 parent 11d4f1c commit c2f3cfe

74 files changed

Lines changed: 3887 additions & 526 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/swift.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,14 +30,14 @@ jobs:
3030
ruby-version: '3.2'
3131
bundler-cache: true
3232

33-
- name: Ensure SwiftLint
33+
- name: Ensure SwiftLint
3434
run: |
3535
if ! command -v swiftlint &> /dev/null; then
3636
brew install swiftlint
3737
fi
3838
3939
- name: Run Tests (Includes Lint)
40-
run: bundle exec fastlane run_tests
40+
run: bundle exec fastlane tests
4141
env:
4242
LANG: en_US.UTF-8
4343
LC_ALL: en_US.UTF-8

VideoEditor/App/AppDelegate.swift

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
// VideoEditor
44
// Created by Coder ACJHP on 27.03.2026.
55

6-
76
import UIKit
87
import CoreData
98

VideoEditor/App/AppRouter.swift

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
// VideoEditor
44
// Created by Coder ACJHP on 27.03.2026.
55

6-
76
import Foundation
87
import UIKit
98

@@ -51,40 +50,40 @@ protocol RouterDelegate: AnyObject {
5150

5251
@MainActor
5352
class AppRouter: RouterDelegate {
54-
53+
5554
private let controller: UINavigationController
5655
private let thumbnailService: ThumbnailGenerating
57-
56+
5857
init(
5958
controller: UINavigationController,
6059
thumbnailService: ThumbnailGenerating
6160
) {
6261
self.controller = controller
6362
self.thumbnailService = thumbnailService
6463
}
65-
64+
6665
func navigate(to route: Route, animated: Bool) {
6766
let destinationVC = makeViewController(baseRoute: route)
6867
controller.pushViewController(destinationVC, animated: animated)
6968
}
70-
69+
7170
func pop(animated: Bool) {
7271
controller.popViewController(animated: animated)
7372
}
74-
73+
7574
func present(to route: Route, animated: Bool) {
7675
let destinationVC = makeViewController(baseRoute: route)
7776
// Wraps in a new NavigationController so the modal has its own navigation stack
7877
let nav = UINavigationController(rootViewController: destinationVC)
7978
controller.present(nav, animated: animated)
8079
}
81-
80+
8281
func dismiss(animated: Bool) {
8382
controller.dismiss(animated: animated)
8483
}
85-
84+
8685
func presentBottomSheet(to route: Route, config configuration: SheetConfiguration, animated: Bool) {
87-
let bottomSheet = makeViewController(baseRoute: route)
86+
let bottomSheet = makeViewController(baseRoute: route)
8887
bottomSheet.modalPresentationStyle = .pageSheet
8988
bottomSheet.isModalInPresentation = !configuration.isDismissable
9089

VideoEditor/App/SceneDelegate.swift

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,13 @@
33
// VideoEditor
44
// Created by Coder ACJHP on 27.03.2026.
55

6-
76
import UIKit
87

98
class SceneDelegate: UIResponder, UIWindowSceneDelegate {
109

1110
var window: UIWindow?
1211
var appRouter: AppRouter?
13-
12+
1413
func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
1514
guard let windowScene = (scene as? UIWindowScene) else { return }
1615

@@ -57,6 +56,4 @@ class SceneDelegate: UIResponder, UIWindowSceneDelegate {
5756
(UIApplication.shared.delegate as? AppDelegate)?.saveContext()
5857
}
5958

60-
6159
}
62-

VideoEditor/Data/Services/BundledTestMediaLocator.swift

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,10 @@
33
// VideoEditor
44
// Created by Coder ACJHP on 27.03.2026.
55

6-
76
import Foundation
87

98
struct BundledTestMediaLocator: BundledTestMediaLocating {
109

11-
nonisolated init() {}
12-
1310
nonisolated func url(resource: String, extension ext: String) -> URL? {
1411
if let url = Bundle.main.url(forResource: resource, withExtension: ext, subdirectory: "Test Media") {
1512
return url

VideoEditor/Data/Services/EditorPlaybackManager.swift

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,11 @@
33
// VideoEditor
44
// Created by Coder ACJHP on 27.03.2026.
55

6-
76
import AVFoundation
87
import UIKit
98

109
final class EditorPlaybackManager {
11-
10+
1211
private enum PostAttachBehavior {
1312
case pausedAtTimelineStart
1413
case playFromPreviewHead
@@ -118,7 +117,7 @@ final class EditorPlaybackManager {
118117

119118
publishPlaybackTime()
120119
registerPlaybackEndObserver(for: result.playerItem)
121-
120+
122121
} catch {
123122
#if DEBUG
124123
print("Composition build error:", error)
@@ -142,11 +141,11 @@ final class EditorPlaybackManager {
142141

143142
private func installPeriodicTimeObserverIfNeeded(on player: AVPlayer) {
144143
guard periodicTimeObserver == nil else { return }
145-
144+
146145
let interval = CMTime(seconds: 1.0 / 60.0, preferredTimescale: 600)
147146
periodicTimeObserver = player.addPeriodicTimeObserver(forInterval: interval, queue: .main) { [weak self] _ in
148147
guard let self, let player = self.player else { return }
149-
148+
150149
let advancing = player.timeControlStatus == .playing || player.rate > 0
151150
if advancing {
152151
let time = player.currentTime()

VideoEditor/Data/Services/LocalMediaImportService.swift

Lines changed: 17 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -3,34 +3,33 @@
33
// VideoEditor
44
// Created by Coder ACJHP on 27.03.2026.
55

6-
76
import Foundation
87
import PhotosUI
98
import AVFoundation
109
import UniformTypeIdentifiers
1110

1211
final class LocalMediaImportService: MediaImportService {
13-
12+
1413
private let fileManager: FileManager
15-
14+
1615
init(fileManager: FileManager = .default) {
1716
self.fileManager = fileManager
1817
}
19-
18+
2019
func importPickedItems(_ results: [PHPickerResult]) async throws -> [ProjectFactory.ImportedMedia] {
2120
var imported: [ProjectFactory.ImportedMedia] = []
2221
imported.reserveCapacity(results.count)
23-
22+
2423
for result in results {
2524
let provider = result.itemProvider
26-
25+
2726
if provider.hasItemConformingToTypeIdentifier(UTType.movie.identifier) {
2827
let url = try await copyToAppStorage(from: provider, type: .movie)
29-
28+
3029
let asset = AVURLAsset(url: url)
3130
let duration = try await asset.load(.duration)
3231
let seconds = duration.seconds
33-
32+
3433
imported.append(
3534
ProjectFactory.ImportedMedia(
3635
asset: .video(url),
@@ -39,17 +38,17 @@ final class LocalMediaImportService: MediaImportService {
3938
)
4039
continue
4140
}
42-
41+
4342
if provider.hasItemConformingToTypeIdentifier(UTType.image.identifier) {
4443
let url = try await copyToAppStorage(from: provider, type: .image)
4544
imported.append(ProjectFactory.ImportedMedia(asset: .image(url)))
4645
continue
4746
}
4847
}
49-
48+
5049
return imported
5150
}
52-
51+
5352
func copyToAppStorage(from provider: NSItemProvider, type: UTType) async throws -> URL {
5453
try await withCheckedThrowingContinuation { continuation in
5554
provider.loadFileRepresentation(forTypeIdentifier: type.identifier) { [weak self] url, error in
@@ -63,12 +62,12 @@ final class LocalMediaImportService: MediaImportService {
6362
)
6463
return
6564
}
66-
65+
6766
if let error {
6867
continuation.resume(throwing: error)
6968
return
7069
}
71-
70+
7271
guard let url else {
7372
continuation.resume(
7473
throwing: NSError(
@@ -79,27 +78,27 @@ final class LocalMediaImportService: MediaImportService {
7978
)
8079
return
8180
}
82-
81+
8382
do {
8483
let folder = try fileManager.url(
8584
for: .cachesDirectory,
8685
in: .userDomainMask,
8786
appropriateFor: nil,
8887
create: true
8988
).appendingPathComponent("ImportedMedia", isDirectory: true)
90-
89+
9190
if !fileManager.fileExists(atPath: folder.path) {
9291
try fileManager.createDirectory(at: folder, withIntermediateDirectories: true)
9392
}
94-
93+
9594
let ext = url.pathExtension
9695
let filename = UUID().uuidString + (ext.isEmpty ? "" : ".\(ext)")
9796
let destination = folder.appendingPathComponent(filename)
98-
97+
9998
if fileManager.fileExists(atPath: destination.path) {
10099
try fileManager.removeItem(at: destination)
101100
}
102-
101+
103102
try fileManager.copyItem(at: url, to: destination)
104103
continuation.resume(returning: destination)
105104
} catch {

VideoEditor/Data/Services/LocalThumbnailService.swift

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
// VideoEditor
44
// Created by Coder ACJHP on 27.03.2026.
55

6-
76
import AVFoundation
87
import UIKit
98
import ImageIO

VideoEditor/Data/Services/LocalWaveformService.swift

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,11 @@
33
// VideoEditor
44
// Created by Coder ACJHP on 27.03.2026.
55

6-
76
import Foundation
87
import UIKit
98

109
final class LocalWaveformService: WaveformGenerating {
11-
10+
1211
func waveform(for asset: AssetIdentifier, size: CGSize) async -> UIImage? {
1312
let drawer = WaveformImageDrawer()
1413
if case .audio(let audioURL) = asset {
@@ -20,7 +19,7 @@ final class LocalWaveformService: WaveformGenerating {
2019
}
2120
return nil
2221
}
23-
22+
2423
func displayName(for clip: MediaClip) -> String {
2524
if case .audio(let url) = clip.asset { return url.deletingPathExtension().lastPathComponent }
2625
return String(localized: "Audio")

VideoEditor/Data/Services/SystemMediaPermissionService.swift

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
// VideoEditor
44
// Created by Coder ACJHP on 27.03.2026.
55

6-
76
import AVFoundation
87
import Foundation
98
import Photos

0 commit comments

Comments
 (0)