Build Information
Successful build of SteamPress, reference 2.0.0-beta.4 (376f57
), with Swift 6.0 for Linux on 26 Nov 2024 13:30:44 UTC.
Swift 6 data race errors: 7
Build Command
bash -c docker run --pull=always --rm -v "checkouts-4609320-2":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.0-latest swift build --triple x86_64-unknown-linux-gnu -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures 2>&1
Build Log
107 | if let password = data.password, password != "" {
108 | updatePassword = req.password.async.hash(password).map { hashedPassword in
109 | user.password = hashedPassword
| `- warning: capture of 'user' with non-sendable type 'BlogUser' in a `@Sendable` closure; this is an error in the Swift 6 language mode
110 | }
111 | } else {
/host/spi-builder-workspace/Sources/SteamPress/Models/BlogUser.swift:5:20: note: class 'BlogUser' does not conform to the 'Sendable' protocol
3 | // MARK: - Model
4 |
5 | public final class BlogUser: Codable {
| `- note: class 'BlogUser' does not conform to the 'Sendable' protocol
6 |
7 | public var userID: Int?
/host/spi-builder-workspace/Sources/SteamPress/Controllers/Admin/UserAdminController.swift:116:60: warning: capture of 'user' with non-sendable type 'BlogUser' in a `@Sendable` closure; this is an error in the Swift 6 language mode
114 | return updatePassword.flatMap {
115 | let redirect = req.redirect(to: self.pathCreator.createPath(for: "admin"))
116 | return req.blogUserRepository.save(user).transform(to: redirect)
| `- warning: capture of 'user' with non-sendable type 'BlogUser' in a `@Sendable` closure; this is an error in the Swift 6 language mode
117 | }
118 | }
/host/spi-builder-workspace/Sources/SteamPress/Models/BlogUser.swift:5:20: note: class 'BlogUser' does not conform to the 'Sendable' protocol
3 | // MARK: - Model
4 |
5 | public final class BlogUser: Codable {
| `- note: class 'BlogUser' does not conform to the 'Sendable' protocol
6 |
7 | public var userID: Int?
/host/spi-builder-workspace/Sources/SteamPress/Controllers/Admin/UserAdminController.swift:128:99: warning: type 'BlogUser' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
126 | req.parameters.findUser(on: req).and(req.blogUserRepository.getUsersCount()).flatMap { user, userCount in
127 | guard userCount > 1 else {
128 | return req.blogPostRepository.getAllPostsSortedByPublishDate(includeDrafts: true).and(req.blogUserRepository.getAllUsers()).flatMap { posts, users in
| `- warning: type 'BlogUser' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
129 | do {
130 | let view = try req.adminPresenter.createIndexView(posts: posts, users: users, errors: ["You cannot delete the last user"], pageInformation: req.adminPageInfomation())
/host/spi-builder-workspace/Sources/SteamPress/Models/BlogUser.swift:5:20: note: class 'BlogUser' does not conform to the 'Sendable' protocol
3 | // MARK: - Model
4 |
5 | public final class BlogUser: Codable {
| `- note: class 'BlogUser' does not conform to the 'Sendable' protocol
6 |
7 | public var userID: Int?
/host/spi-builder-workspace/Sources/SteamPress/Controllers/Admin/UserAdminController.swift:145:99: warning: type 'BlogUser' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
143 | }
144 | guard loggedInUser.userID != user.userID else {
145 | return req.blogPostRepository.getAllPostsSortedByPublishDate(includeDrafts: true).and(req.blogUserRepository.getAllUsers()).flatMap { posts, users in
| `- warning: type 'BlogUser' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
146 | do {
147 | let view = try req.adminPresenter.createIndexView(posts: posts, users: users, errors: ["You cannot delete yourself whilst logged in"], pageInformation: req.adminPageInfomation())
/host/spi-builder-workspace/Sources/SteamPress/Models/BlogUser.swift:5:20: note: class 'BlogUser' does not conform to the 'Sendable' protocol
3 | // MARK: - Model
4 |
5 | public final class BlogUser: Codable {
| `- note: class 'BlogUser' does not conform to the 'Sendable' protocol
6 |
7 | public var userID: Int?
/host/spi-builder-workspace/Sources/SteamPress/Controllers/Admin/UserAdminController.swift:204:32: warning: 'validate' is deprecated: renamed to 'validate(content:)'
202 |
203 | do {
204 | try CreateUserData.validate(req)
| |- warning: 'validate' is deprecated: renamed to 'validate(content:)'
| `- note: use 'validate(content:)' instead
205 | } catch {
206 | createUserErrors.append("The username provided is not valid")
/host/spi-builder-workspace/Sources/SteamPress/Controllers/Admin/UserAdminController.swift:229:17: warning: mutation of captured var 'createUserErrors' in concurrently-executing code; this is an error in the Swift 6 language mode
227 | return usernameUniqueError.map { usernameErrorOccurred in
228 | if let uniqueError = usernameErrorOccurred {
229 | createUserErrors.append(uniqueError)
| `- warning: mutation of captured var 'createUserErrors' in concurrently-executing code; this is an error in the Swift 6 language mode
230 | usernameError = true
231 | }
/host/spi-builder-workspace/Sources/SteamPress/Controllers/Admin/UserAdminController.swift:230:17: warning: mutation of captured var 'usernameError' in concurrently-executing code; this is an error in the Swift 6 language mode
228 | if let uniqueError = usernameErrorOccurred {
229 | createUserErrors.append(uniqueError)
230 | usernameError = true
| `- warning: mutation of captured var 'usernameError' in concurrently-executing code; this is an error in the Swift 6 language mode
231 | }
232 | if createUserErrors.count == 0 {
/host/spi-builder-workspace/Sources/SteamPress/Controllers/Admin/UserAdminController.swift:232:16: warning: reference to captured var 'createUserErrors' in concurrently-executing code; this is an error in the Swift 6 language mode
230 | usernameError = true
231 | }
232 | if createUserErrors.count == 0 {
| `- warning: reference to captured var 'createUserErrors' in concurrently-executing code; this is an error in the Swift 6 language mode
233 | return nil
234 | }
/host/spi-builder-workspace/Sources/SteamPress/Controllers/Admin/UserAdminController.swift:236:51: warning: reference to captured var 'createUserErrors' in concurrently-executing code; this is an error in the Swift 6 language mode
234 | }
235 |
236 | let errors = CreateUserErrors(errors: createUserErrors, passwordError: passwordError, confirmPasswordError: confirmPasswordError, nameError: nameErorr, usernameError: usernameError)
| `- warning: reference to captured var 'createUserErrors' in concurrently-executing code; this is an error in the Swift 6 language mode
237 |
238 | return errors
/host/spi-builder-workspace/Sources/SteamPress/Controllers/Admin/UserAdminController.swift:236:84: warning: reference to captured var 'passwordError' in concurrently-executing code; this is an error in the Swift 6 language mode
234 | }
235 |
236 | let errors = CreateUserErrors(errors: createUserErrors, passwordError: passwordError, confirmPasswordError: confirmPasswordError, nameError: nameErorr, usernameError: usernameError)
| `- warning: reference to captured var 'passwordError' in concurrently-executing code; this is an error in the Swift 6 language mode
237 |
238 | return errors
/host/spi-builder-workspace/Sources/SteamPress/Controllers/Admin/UserAdminController.swift:236:121: warning: reference to captured var 'confirmPasswordError' in concurrently-executing code; this is an error in the Swift 6 language mode
234 | }
235 |
236 | let errors = CreateUserErrors(errors: createUserErrors, passwordError: passwordError, confirmPasswordError: confirmPasswordError, nameError: nameErorr, usernameError: usernameError)
| `- warning: reference to captured var 'confirmPasswordError' in concurrently-executing code; this is an error in the Swift 6 language mode
237 |
238 | return errors
/host/spi-builder-workspace/Sources/SteamPress/Controllers/Admin/UserAdminController.swift:236:154: warning: reference to captured var 'nameErorr' in concurrently-executing code; this is an error in the Swift 6 language mode
234 | }
235 |
236 | let errors = CreateUserErrors(errors: createUserErrors, passwordError: passwordError, confirmPasswordError: confirmPasswordError, nameError: nameErorr, usernameError: usernameError)
| `- warning: reference to captured var 'nameErorr' in concurrently-executing code; this is an error in the Swift 6 language mode
237 |
238 | return errors
/host/spi-builder-workspace/Sources/SteamPress/Controllers/Admin/UserAdminController.swift:236:180: warning: reference to captured var 'usernameError' in concurrently-executing code; this is an error in the Swift 6 language mode
234 | }
235 |
236 | let errors = CreateUserErrors(errors: createUserErrors, passwordError: passwordError, confirmPasswordError: confirmPasswordError, nameError: nameErorr, usernameError: usernameError)
| `- warning: reference to captured var 'usernameError' in concurrently-executing code; this is an error in the Swift 6 language mode
237 |
238 | return errors
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogAdminController.swift:31:91: warning: type 'BlogUser' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
29 | // MARK: Admin Handler
30 | func adminHandler(_ req: Request) throws -> EventLoopFuture<View> {
31 | return req.blogPostRepository.getAllPostsSortedByPublishDate(includeDrafts: true).and(req.blogUserRepository.getAllUsers()).flatMap { posts, users in
| `- warning: type 'BlogUser' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
32 | do {
33 | return try req.adminPresenter.createIndexView(posts: posts, users: users, errors: nil, pageInformation: req.adminPageInfomation())
/host/spi-builder-workspace/Sources/SteamPress/Models/BlogUser.swift:5:20: note: class 'BlogUser' does not conform to the 'Sendable' protocol
3 | // MARK: - Model
4 |
5 | public final class BlogUser: Codable {
| `- note: class 'BlogUser' does not conform to the 'Sendable' protocol
6 |
7 | public var userID: Int?
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogAdminController.swift:31:133: warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
29 | // MARK: Admin Handler
30 | func adminHandler(_ req: Request) throws -> EventLoopFuture<View> {
31 | return req.blogPostRepository.getAllPostsSortedByPublishDate(includeDrafts: true).and(req.blogUserRepository.getAllUsers()).flatMap { posts, users in
| `- warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
32 | do {
33 | return try req.adminPresenter.createIndexView(posts: posts, users: users, errors: nil, pageInformation: req.adminPageInfomation())
/host/spi-builder-workspace/.build/checkouts/vapor/Sources/Vapor/View/View.swift:3:15: note: struct 'View' does not conform to the 'Sendable' protocol
1 | import NIOCore
2 |
3 | public struct View: ResponseEncodable {
| `- note: struct 'View' does not conform to the 'Sendable' protocol
4 | public var data: ByteBuffer
5 |
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogAdminController.swift:1:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Vapor'
1 | import Vapor
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Vapor'
2 |
3 | struct BlogAdminController: RouteCollection {
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:44:151: warning: type 'BlogTag' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
42 | func indexHandler(_ req: Request) throws -> EventLoopFuture<View> {
43 | let paginationInformation = req.getPaginationInformation(postsPerPage: postsPerPage)
44 | return req.blogPostRepository.getAllPostsSortedByPublishDate(includeDrafts: false, count: postsPerPage, offset: paginationInformation.offset).and(req.blogTagRepository.getAllTags()).flatMap { posts, tags in
| `- warning: type 'BlogTag' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
45 | req.blogUserRepository.getAllUsers().and(req.blogPostRepository.getAllPostsCount(includeDrafts: false)).flatMap { users, totalPostCount in
46 | req.blogTagRepository.getTagsForAllPosts().flatMap { tagsForPosts in
/host/spi-builder-workspace/Sources/SteamPress/Models/BlogTag.swift:5:20: note: class 'BlogTag' does not conform to the 'Sendable' protocol
3 | // MARK: - Model
4 |
5 | public final class BlogTag: Codable {
| `- note: class 'BlogTag' does not conform to the 'Sendable' protocol
6 |
7 | public var tagID: Int?
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:44:191: warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
42 | func indexHandler(_ req: Request) throws -> EventLoopFuture<View> {
43 | let paginationInformation = req.getPaginationInformation(postsPerPage: postsPerPage)
44 | return req.blogPostRepository.getAllPostsSortedByPublishDate(includeDrafts: false, count: postsPerPage, offset: paginationInformation.offset).and(req.blogTagRepository.getAllTags()).flatMap { posts, tags in
| `- warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
45 | req.blogUserRepository.getAllUsers().and(req.blogPostRepository.getAllPostsCount(includeDrafts: false)).flatMap { users, totalPostCount in
46 | req.blogTagRepository.getTagsForAllPosts().flatMap { tagsForPosts in
/host/spi-builder-workspace/.build/checkouts/vapor/Sources/Vapor/View/View.swift:3:15: note: struct 'View' does not conform to the 'Sendable' protocol
1 | import NIOCore
2 |
3 | public struct View: ResponseEncodable {
| `- note: struct 'View' does not conform to the 'Sendable' protocol
4 | public var data: ByteBuffer
5 |
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:1:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Vapor'
1 | import Vapor
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Vapor'
2 |
3 | struct BlogController: RouteCollection {
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:45:117: warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
43 | let paginationInformation = req.getPaginationInformation(postsPerPage: postsPerPage)
44 | return req.blogPostRepository.getAllPostsSortedByPublishDate(includeDrafts: false, count: postsPerPage, offset: paginationInformation.offset).and(req.blogTagRepository.getAllTags()).flatMap { posts, tags in
45 | req.blogUserRepository.getAllUsers().and(req.blogPostRepository.getAllPostsCount(includeDrafts: false)).flatMap { users, totalPostCount in
| `- warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
46 | req.blogTagRepository.getTagsForAllPosts().flatMap { tagsForPosts in
47 | do {
/host/spi-builder-workspace/.build/checkouts/vapor/Sources/Vapor/View/View.swift:3:15: note: struct 'View' does not conform to the 'Sendable' protocol
1 | import NIOCore
2 |
3 | public struct View: ResponseEncodable {
| `- note: struct 'View' does not conform to the 'Sendable' protocol
4 | public var data: ByteBuffer
5 |
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:46:60: warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
44 | return req.blogPostRepository.getAllPostsSortedByPublishDate(includeDrafts: false, count: postsPerPage, offset: paginationInformation.offset).and(req.blogTagRepository.getAllTags()).flatMap { posts, tags in
45 | req.blogUserRepository.getAllUsers().and(req.blogPostRepository.getAllPostsCount(includeDrafts: false)).flatMap { users, totalPostCount in
46 | req.blogTagRepository.getTagsForAllPosts().flatMap { tagsForPosts in
| `- warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
47 | do {
48 | return req.blogPresenter.indexView(posts: posts, tags: tags, authors: users, tagsForPosts: tagsForPosts, pageInformation: try req.pageInformation(), paginationTagInfo: self.getPaginationInformation(currentPage: paginationInformation.page, totalPosts: totalPostCount, currentQuery: req.url.query))
/host/spi-builder-workspace/.build/checkouts/vapor/Sources/Vapor/View/View.swift:3:15: note: struct 'View' does not conform to the 'Sendable' protocol
1 | import NIOCore
2 |
3 | public struct View: ResponseEncodable {
| `- note: struct 'View' does not conform to the 'Sendable' protocol
4 | public var data: ByteBuffer
5 |
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:48:67: warning: capture of 'posts' with non-sendable type '[BlogPost]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
46 | req.blogTagRepository.getTagsForAllPosts().flatMap { tagsForPosts in
47 | do {
48 | return req.blogPresenter.indexView(posts: posts, tags: tags, authors: users, tagsForPosts: tagsForPosts, pageInformation: try req.pageInformation(), paginationTagInfo: self.getPaginationInformation(currentPage: paginationInformation.page, totalPosts: totalPostCount, currentQuery: req.url.query))
| `- warning: capture of 'posts' with non-sendable type '[BlogPost]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
49 | } catch {
50 | return req.eventLoop.makeFailedFuture(error)
/host/spi-builder-workspace/Sources/SteamPress/Models/BlogPost.swift:8:20: note: class 'BlogPost' does not conform to the 'Sendable' protocol
6 | // MARK: - Model
7 |
8 | public final class BlogPost: Codable {
| `- note: class 'BlogPost' does not conform to the 'Sendable' protocol
9 |
10 | public var blogID: Int?
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:48:80: warning: capture of 'tags' with non-sendable type '[BlogTag]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
46 | req.blogTagRepository.getTagsForAllPosts().flatMap { tagsForPosts in
47 | do {
48 | return req.blogPresenter.indexView(posts: posts, tags: tags, authors: users, tagsForPosts: tagsForPosts, pageInformation: try req.pageInformation(), paginationTagInfo: self.getPaginationInformation(currentPage: paginationInformation.page, totalPosts: totalPostCount, currentQuery: req.url.query))
| `- warning: capture of 'tags' with non-sendable type '[BlogTag]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
49 | } catch {
50 | return req.eventLoop.makeFailedFuture(error)
/host/spi-builder-workspace/Sources/SteamPress/Models/BlogTag.swift:5:20: note: class 'BlogTag' does not conform to the 'Sendable' protocol
3 | // MARK: - Model
4 |
5 | public final class BlogTag: Codable {
| `- note: class 'BlogTag' does not conform to the 'Sendable' protocol
6 |
7 | public var tagID: Int?
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:48:67: warning: capture of 'posts' with non-sendable type '[BlogPost]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
46 | req.blogTagRepository.getTagsForAllPosts().flatMap { tagsForPosts in
47 | do {
48 | return req.blogPresenter.indexView(posts: posts, tags: tags, authors: users, tagsForPosts: tagsForPosts, pageInformation: try req.pageInformation(), paginationTagInfo: self.getPaginationInformation(currentPage: paginationInformation.page, totalPosts: totalPostCount, currentQuery: req.url.query))
| `- warning: capture of 'posts' with non-sendable type '[BlogPost]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
49 | } catch {
50 | return req.eventLoop.makeFailedFuture(error)
/host/spi-builder-workspace/Sources/SteamPress/Models/BlogPost.swift:8:20: note: class 'BlogPost' does not conform to the 'Sendable' protocol
6 | // MARK: - Model
7 |
8 | public final class BlogPost: Codable {
| `- note: class 'BlogPost' does not conform to the 'Sendable' protocol
9 |
10 | public var blogID: Int?
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:48:80: warning: capture of 'tags' with non-sendable type '[BlogTag]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
46 | req.blogTagRepository.getTagsForAllPosts().flatMap { tagsForPosts in
47 | do {
48 | return req.blogPresenter.indexView(posts: posts, tags: tags, authors: users, tagsForPosts: tagsForPosts, pageInformation: try req.pageInformation(), paginationTagInfo: self.getPaginationInformation(currentPage: paginationInformation.page, totalPosts: totalPostCount, currentQuery: req.url.query))
| `- warning: capture of 'tags' with non-sendable type '[BlogTag]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
49 | } catch {
50 | return req.eventLoop.makeFailedFuture(error)
/host/spi-builder-workspace/Sources/SteamPress/Models/BlogTag.swift:5:20: note: class 'BlogTag' does not conform to the 'Sendable' protocol
3 | // MARK: - Model
4 |
5 | public final class BlogTag: Codable {
| `- note: class 'BlogTag' does not conform to the 'Sendable' protocol
6 |
7 | public var tagID: Int?
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:48:95: warning: capture of 'users' with non-sendable type '[BlogUser]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
46 | req.blogTagRepository.getTagsForAllPosts().flatMap { tagsForPosts in
47 | do {
48 | return req.blogPresenter.indexView(posts: posts, tags: tags, authors: users, tagsForPosts: tagsForPosts, pageInformation: try req.pageInformation(), paginationTagInfo: self.getPaginationInformation(currentPage: paginationInformation.page, totalPosts: totalPostCount, currentQuery: req.url.query))
| `- warning: capture of 'users' with non-sendable type '[BlogUser]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
49 | } catch {
50 | return req.eventLoop.makeFailedFuture(error)
/host/spi-builder-workspace/Sources/SteamPress/Models/BlogUser.swift:5:20: note: class 'BlogUser' does not conform to the 'Sendable' protocol
3 | // MARK: - Model
4 |
5 | public final class BlogUser: Codable {
| `- note: class 'BlogUser' does not conform to the 'Sendable' protocol
6 |
7 | public var userID: Int?
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:58:20: warning: 'redirect(to:type:)' is deprecated: renamed to 'redirect(to:redirectType:)'
56 |
57 | func blogPostIndexRedirectHandler(_ req: Request) throws -> Response {
58 | return req.redirect(to: pathCreator.createPath(for: pathCreator.blogPath), type: .permanent)
| |- warning: 'redirect(to:type:)' is deprecated: renamed to 'redirect(to:redirectType:)'
| `- note: use 'redirect(to:redirectType:)' instead
59 | }
60 |
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:65:92: warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
63 | throw Abort(.badRequest)
64 | }
65 | return req.blogPostRepository.getPost(slug: blogSlug).unwrap(or: Abort(.notFound)).flatMap { (post: BlogPost) -> EventLoopFuture<View> in
| `- warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
66 | let tagsQuery: EventLoopFuture<[BlogTag]> = req.blogTagRepository.getTags(for: post)
67 | let userQuery: EventLoopFuture<BlogUser> = req.blogUserRepository.getUser(id: post.author).unwrap(or: Abort(.internalServerError))
/host/spi-builder-workspace/.build/checkouts/vapor/Sources/Vapor/View/View.swift:3:15: note: struct 'View' does not conform to the 'Sendable' protocol
1 | import NIOCore
2 |
3 | public struct View: ResponseEncodable {
| `- note: struct 'View' does not conform to the 'Sendable' protocol
4 | public var data: ByteBuffer
5 |
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:68:30: warning: type 'BlogTag' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
66 | let tagsQuery: EventLoopFuture<[BlogTag]> = req.blogTagRepository.getTags(for: post)
67 | let userQuery: EventLoopFuture<BlogUser> = req.blogUserRepository.getUser(id: post.author).unwrap(or: Abort(.internalServerError))
68 | return userQuery.and(tagsQuery).flatMap { (user: BlogUser, tags: [BlogTag]) -> EventLoopFuture<View> in
| `- warning: type 'BlogTag' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
69 | do {
70 | let pageInformation: BlogGlobalPageInformation = try req.pageInformation()
/host/spi-builder-workspace/Sources/SteamPress/Models/BlogTag.swift:5:20: note: class 'BlogTag' does not conform to the 'Sendable' protocol
3 | // MARK: - Model
4 |
5 | public final class BlogTag: Codable {
| `- note: class 'BlogTag' does not conform to the 'Sendable' protocol
6 |
7 | public var tagID: Int?
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:68:45: warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
66 | let tagsQuery: EventLoopFuture<[BlogTag]> = req.blogTagRepository.getTags(for: post)
67 | let userQuery: EventLoopFuture<BlogUser> = req.blogUserRepository.getUser(id: post.author).unwrap(or: Abort(.internalServerError))
68 | return userQuery.and(tagsQuery).flatMap { (user: BlogUser, tags: [BlogTag]) -> EventLoopFuture<View> in
| `- warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
69 | do {
70 | let pageInformation: BlogGlobalPageInformation = try req.pageInformation()
/host/spi-builder-workspace/.build/checkouts/vapor/Sources/Vapor/View/View.swift:3:15: note: struct 'View' does not conform to the 'Sendable' protocol
1 | import NIOCore
2 |
3 | public struct View: ResponseEncodable {
| `- note: struct 'View' does not conform to the 'Sendable' protocol
4 | public var data: ByteBuffer
5 |
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:71:61: warning: capture of 'post' with non-sendable type 'BlogPost' in a `@Sendable` closure; this is an error in the Swift 6 language mode
69 | do {
70 | let pageInformation: BlogGlobalPageInformation = try req.pageInformation()
71 | return req.blogPresenter.postView(post: post, author: user, tags: tags, pageInformation: pageInformation)
| `- warning: capture of 'post' with non-sendable type 'BlogPost' in a `@Sendable` closure; this is an error in the Swift 6 language mode
72 | } catch {
73 | return req.eventLoop.makeFailedFuture(error)
/host/spi-builder-workspace/Sources/SteamPress/Models/BlogPost.swift:8:20: note: class 'BlogPost' does not conform to the 'Sendable' protocol
6 | // MARK: - Model
7 |
8 | public final class BlogPost: Codable {
| `- note: class 'BlogPost' does not conform to the 'Sendable' protocol
9 |
10 | public var blogID: Int?
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:80:48: warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
78 |
79 | func tagViewHandler(_ req: Request) throws -> EventLoopFuture<View> {
80 | return req.parameters.findTag(on: req).flatMap { tag in
| `- warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
81 | let paginationInformation = req.getPaginationInformation(postsPerPage: self.postsPerPage)
82 | let postsQuery = req.blogPostRepository.getSortedPublishedPosts(for: tag, count: self.postsPerPage, offset: paginationInformation.offset)
/host/spi-builder-workspace/.build/checkouts/vapor/Sources/Vapor/View/View.swift:3:15: note: struct 'View' does not conform to the 'Sendable' protocol
1 | import NIOCore
2 |
3 | public struct View: ResponseEncodable {
| `- note: struct 'View' does not conform to the 'Sendable' protocol
4 | public var data: ByteBuffer
5 |
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:85:51: warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
83 | let postCountQuery = req.blogPostRepository.getPublishedPostCount(for: tag)
84 | let usersQuery = req.blogUserRepository.getAllUsers()
85 | return postsQuery.and(postCountQuery).flatMap { posts, totalPosts in
| `- warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
86 | usersQuery.flatMap { authors in
87 | let paginationTagInfo = self.getPaginationInformation(currentPage: paginationInformation.page, totalPosts: totalPosts, currentQuery: req.url.query)
/host/spi-builder-workspace/.build/checkouts/vapor/Sources/Vapor/View/View.swift:3:15: note: struct 'View' does not conform to the 'Sendable' protocol
1 | import NIOCore
2 |
3 | public struct View: ResponseEncodable {
| `- note: struct 'View' does not conform to the 'Sendable' protocol
4 | public var data: ByteBuffer
5 |
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:86:28: warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
84 | let usersQuery = req.blogUserRepository.getAllUsers()
85 | return postsQuery.and(postCountQuery).flatMap { posts, totalPosts in
86 | usersQuery.flatMap { authors in
| `- warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
87 | let paginationTagInfo = self.getPaginationInformation(currentPage: paginationInformation.page, totalPosts: totalPosts, currentQuery: req.url.query)
88 | do {
/host/spi-builder-workspace/.build/checkouts/vapor/Sources/Vapor/View/View.swift:3:15: note: struct 'View' does not conform to the 'Sendable' protocol
1 | import NIOCore
2 |
3 | public struct View: ResponseEncodable {
| `- note: struct 'View' does not conform to the 'Sendable' protocol
4 | public var data: ByteBuffer
5 |
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:89:63: warning: capture of 'tag' with non-sendable type 'BlogTag' in a `@Sendable` closure; this is an error in the Swift 6 language mode
87 | let paginationTagInfo = self.getPaginationInformation(currentPage: paginationInformation.page, totalPosts: totalPosts, currentQuery: req.url.query)
88 | do {
89 | return req.blogPresenter.tagView(tag: tag, posts: posts, authors: authors, totalPosts: totalPosts, pageInformation: try req.pageInformation(), paginationTagInfo: paginationTagInfo)
| `- warning: capture of 'tag' with non-sendable type 'BlogTag' in a `@Sendable` closure; this is an error in the Swift 6 language mode
90 | } catch {
91 | return req.eventLoop.makeFailedFuture(error)
/host/spi-builder-workspace/Sources/SteamPress/Models/BlogTag.swift:5:20: note: class 'BlogTag' does not conform to the 'Sendable' protocol
3 | // MARK: - Model
4 |
5 | public final class BlogTag: Codable {
| `- note: class 'BlogTag' does not conform to the 'Sendable' protocol
6 |
7 | public var tagID: Int?
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:89:63: warning: capture of 'tag' with non-sendable type 'BlogTag' in a `@Sendable` closure; this is an error in the Swift 6 language mode
87 | let paginationTagInfo = self.getPaginationInformation(currentPage: paginationInformation.page, totalPosts: totalPosts, currentQuery: req.url.query)
88 | do {
89 | return req.blogPresenter.tagView(tag: tag, posts: posts, authors: authors, totalPosts: totalPosts, pageInformation: try req.pageInformation(), paginationTagInfo: paginationTagInfo)
| `- warning: capture of 'tag' with non-sendable type 'BlogTag' in a `@Sendable` closure; this is an error in the Swift 6 language mode
90 | } catch {
91 | return req.eventLoop.makeFailedFuture(error)
/host/spi-builder-workspace/Sources/SteamPress/Models/BlogTag.swift:5:20: note: class 'BlogTag' does not conform to the 'Sendable' protocol
3 | // MARK: - Model
4 |
5 | public final class BlogTag: Codable {
| `- note: class 'BlogTag' does not conform to the 'Sendable' protocol
6 |
7 | public var tagID: Int?
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:89:75: warning: capture of 'posts' with non-sendable type '[BlogPost]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
87 | let paginationTagInfo = self.getPaginationInformation(currentPage: paginationInformation.page, totalPosts: totalPosts, currentQuery: req.url.query)
88 | do {
89 | return req.blogPresenter.tagView(tag: tag, posts: posts, authors: authors, totalPosts: totalPosts, pageInformation: try req.pageInformation(), paginationTagInfo: paginationTagInfo)
| `- warning: capture of 'posts' with non-sendable type '[BlogPost]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
90 | } catch {
91 | return req.eventLoop.makeFailedFuture(error)
/host/spi-builder-workspace/Sources/SteamPress/Models/BlogPost.swift:8:20: note: class 'BlogPost' does not conform to the 'Sendable' protocol
6 | // MARK: - Model
7 |
8 | public final class BlogPost: Codable {
| `- note: class 'BlogPost' does not conform to the 'Sendable' protocol
9 |
10 | public var blogID: Int?
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:103:73: warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
101 | }
102 | let paginationInformation = req.getPaginationInformation(postsPerPage: postsPerPage)
103 | return req.blogUserRepository.getUser(username: authorUsername).flatMap { user in
| `- warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
104 | guard let author = user else {
105 | return req.eventLoop.makeFailedFuture(Abort(.notFound))
/host/spi-builder-workspace/.build/checkouts/vapor/Sources/Vapor/View/View.swift:3:15: note: struct 'View' does not conform to the 'Sendable' protocol
1 | import NIOCore
2 |
3 | public struct View: ResponseEncodable {
| `- note: struct 'View' does not conform to the 'Sendable' protocol
4 | public var data: ByteBuffer
5 |
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:110:62: warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
108 | let tagQuery = req.blogTagRepository.getTagsForAllPosts()
109 | let authorPostCountQuery = req.blogPostRepository.getPostCount(for: author)
110 | return authorPostQuery.and(authorPostCountQuery).flatMap { posts, postCount in
| `- warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
111 | tagQuery.flatMap { tagsForPosts in
112 | let paginationTagInfo = self.getPaginationInformation(currentPage: paginationInformation.page, totalPosts: postCount, currentQuery: req.url.query)
/host/spi-builder-workspace/.build/checkouts/vapor/Sources/Vapor/View/View.swift:3:15: note: struct 'View' does not conform to the 'Sendable' protocol
1 | import NIOCore
2 |
3 | public struct View: ResponseEncodable {
| `- note: struct 'View' does not conform to the 'Sendable' protocol
4 | public var data: ByteBuffer
5 |
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:111:26: warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
109 | let authorPostCountQuery = req.blogPostRepository.getPostCount(for: author)
110 | return authorPostQuery.and(authorPostCountQuery).flatMap { posts, postCount in
111 | tagQuery.flatMap { tagsForPosts in
| `- warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
112 | let paginationTagInfo = self.getPaginationInformation(currentPage: paginationInformation.page, totalPosts: postCount, currentQuery: req.url.query)
113 | do {
/host/spi-builder-workspace/.build/checkouts/vapor/Sources/Vapor/View/View.swift:3:15: note: struct 'View' does not conform to the 'Sendable' protocol
1 | import NIOCore
2 |
3 | public struct View: ResponseEncodable {
| `- note: struct 'View' does not conform to the 'Sendable' protocol
4 | public var data: ByteBuffer
5 |
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:114:69: warning: capture of 'author' with non-sendable type 'BlogUser' in a `@Sendable` closure; this is an error in the Swift 6 language mode
112 | let paginationTagInfo = self.getPaginationInformation(currentPage: paginationInformation.page, totalPosts: postCount, currentQuery: req.url.query)
113 | do {
114 | return req.blogPresenter.authorView(author: author, posts: posts, postCount: postCount, tagsForPosts: tagsForPosts, pageInformation: try req.pageInformation(), paginationTagInfo: paginationTagInfo)
| `- warning: capture of 'author' with non-sendable type 'BlogUser' in a `@Sendable` closure; this is an error in the Swift 6 language mode
115 | } catch {
116 | return req.eventLoop.makeFailedFuture(error)
/host/spi-builder-workspace/Sources/SteamPress/Models/BlogUser.swift:5:20: note: class 'BlogUser' does not conform to the 'Sendable' protocol
3 | // MARK: - Model
4 |
5 | public final class BlogUser: Codable {
| `- note: class 'BlogUser' does not conform to the 'Sendable' protocol
6 |
7 | public var userID: Int?
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:114:69: warning: capture of 'author' with non-sendable type 'BlogUser' in a `@Sendable` closure; this is an error in the Swift 6 language mode
112 | let paginationTagInfo = self.getPaginationInformation(currentPage: paginationInformation.page, totalPosts: postCount, currentQuery: req.url.query)
113 | do {
114 | return req.blogPresenter.authorView(author: author, posts: posts, postCount: postCount, tagsForPosts: tagsForPosts, pageInformation: try req.pageInformation(), paginationTagInfo: paginationTagInfo)
| `- warning: capture of 'author' with non-sendable type 'BlogUser' in a `@Sendable` closure; this is an error in the Swift 6 language mode
115 | } catch {
116 | return req.eventLoop.makeFailedFuture(error)
/host/spi-builder-workspace/Sources/SteamPress/Models/BlogUser.swift:5:20: note: class 'BlogUser' does not conform to the 'Sendable' protocol
3 | // MARK: - Model
4 |
5 | public final class BlogUser: Codable {
| `- note: class 'BlogUser' does not conform to the 'Sendable' protocol
6 |
7 | public var userID: Int?
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:114:84: warning: capture of 'posts' with non-sendable type '[BlogPost]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
112 | let paginationTagInfo = self.getPaginationInformation(currentPage: paginationInformation.page, totalPosts: postCount, currentQuery: req.url.query)
113 | do {
114 | return req.blogPresenter.authorView(author: author, posts: posts, postCount: postCount, tagsForPosts: tagsForPosts, pageInformation: try req.pageInformation(), paginationTagInfo: paginationTagInfo)
| `- warning: capture of 'posts' with non-sendable type '[BlogPost]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
115 | } catch {
116 | return req.eventLoop.makeFailedFuture(error)
/host/spi-builder-workspace/Sources/SteamPress/Models/BlogPost.swift:8:20: note: class 'BlogPost' does not conform to the 'Sendable' protocol
6 | // MARK: - Model
7 |
8 | public final class BlogPost: Codable {
| `- note: class 'BlogPost' does not conform to the 'Sendable' protocol
9 |
10 | public var blogID: Int?
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:124:64: warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
122 |
123 | func allTagsViewHandler(_ req: Request) throws -> EventLoopFuture<View> {
124 | return req.blogTagRepository.getAllTagsWithPostCount().flatMap { tagswithCount in
| `- warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
125 | let allTags = tagswithCount.map { $0.0 }
126 | do {
/host/spi-builder-workspace/.build/checkouts/vapor/Sources/Vapor/View/View.swift:3:15: note: struct 'View' does not conform to the 'Sendable' protocol
1 | import NIOCore
2 |
3 | public struct View: ResponseEncodable {
| `- note: struct 'View' does not conform to the 'Sendable' protocol
4 | public var data: ByteBuffer
5 |
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:141:66: warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
139 |
140 | func allAuthorsViewHandler(_ req: Request) throws -> EventLoopFuture<View> {
141 | return req.blogUserRepository.getAllUsersWithPostCount().flatMap { allUsersWithCount in
| `- warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
142 | let allUsers = allUsersWithCount.map { $0.0 }
143 | do {
/host/spi-builder-workspace/.build/checkouts/vapor/Sources/Vapor/View/View.swift:3:15: note: struct 'View' does not conform to the 'Sendable' protocol
1 | import NIOCore
2 |
3 | public struct View: ResponseEncodable {
| `- note: struct 'View' does not conform to the 'Sendable' protocol
4 | public var data: ByteBuffer
5 |
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:168:48: warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
166 | let tagsQuery = req.blogTagRepository.getTagsForAllPosts()
167 | let userQuery = req.blogUserRepository.getAllUsers()
168 | return postsQuery.and(postsCountQuery).flatMap { posts, totalPosts in
| `- warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
169 | userQuery.and(tagsQuery).flatMap { users, tagsForPosts in
170 | let paginationTagInfo = self.getPaginationInformation(currentPage: paginationInformation.page, totalPosts: totalPosts, currentQuery: req.url.query)
/host/spi-builder-workspace/.build/checkouts/vapor/Sources/Vapor/View/View.swift:3:15: note: struct 'View' does not conform to the 'Sendable' protocol
1 | import NIOCore
2 |
3 | public struct View: ResponseEncodable {
| `- note: struct 'View' does not conform to the 'Sendable' protocol
4 | public var data: ByteBuffer
5 |
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:169:23: warning: type 'BlogTag' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
167 | let userQuery = req.blogUserRepository.getAllUsers()
168 | return postsQuery.and(postsCountQuery).flatMap { posts, totalPosts in
169 | userQuery.and(tagsQuery).flatMap { users, tagsForPosts in
| `- warning: type 'BlogTag' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
170 | let paginationTagInfo = self.getPaginationInformation(currentPage: paginationInformation.page, totalPosts: totalPosts, currentQuery: req.url.query)
171 | do {
/host/spi-builder-workspace/Sources/SteamPress/Models/BlogTag.swift:5:20: note: class 'BlogTag' does not conform to the 'Sendable' protocol
3 | // MARK: - Model
4 |
5 | public final class BlogTag: Codable {
| `- note: class 'BlogTag' does not conform to the 'Sendable' protocol
6 |
7 | public var tagID: Int?
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:169:38: warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
167 | let userQuery = req.blogUserRepository.getAllUsers()
168 | return postsQuery.and(postsCountQuery).flatMap { posts, totalPosts in
169 | userQuery.and(tagsQuery).flatMap { users, tagsForPosts in
| `- warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
170 | let paginationTagInfo = self.getPaginationInformation(currentPage: paginationInformation.page, totalPosts: totalPosts, currentQuery: req.url.query)
171 | do {
/host/spi-builder-workspace/.build/checkouts/vapor/Sources/Vapor/View/View.swift:3:15: note: struct 'View' does not conform to the 'Sendable' protocol
1 | import NIOCore
2 |
3 | public struct View: ResponseEncodable {
| `- note: struct 'View' does not conform to the 'Sendable' protocol
4 | public var data: ByteBuffer
5 |
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:172:90: warning: capture of 'posts' with non-sendable type '[BlogPost]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
170 | let paginationTagInfo = self.getPaginationInformation(currentPage: paginationInformation.page, totalPosts: totalPosts, currentQuery: req.url.query)
171 | do {
172 | return req.blogPresenter.searchView(totalResults: totalPosts, posts: posts, authors: users, searchTerm: searchTerm, tagsForPosts: tagsForPosts, pageInformation: try req.pageInformation(), paginationTagInfo: paginationTagInfo)
| `- warning: capture of 'posts' with non-sendable type '[BlogPost]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
173 | } catch {
174 | return req.eventLoop.makeFailedFuture(error)
/host/spi-builder-workspace/Sources/SteamPress/Models/BlogPost.swift:8:20: note: class 'BlogPost' does not conform to the 'Sendable' protocol
6 | // MARK: - Model
7 |
8 | public final class BlogPost: Codable {
| `- note: class 'BlogPost' does not conform to the 'Sendable' protocol
9 |
10 | public var blogID: Int?
[2378/2387] Compiling SteamPress Request+PaginationInformation.swift
/host/spi-builder-workspace/Sources/SteamPress/Controllers/Admin/UserAdminController.swift:61:42: warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
59 |
60 | func editUserHandler(_ req: Request) throws -> EventLoopFuture<View> {
61 | req.parameters.findUser(on: req).flatMap { user in
| `- warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
62 | do {
63 | return try req.adminPresenter.createUserView(editing: true, errors: nil, name: user.name, nameError: false, username: user.username, usernameErorr: false, passwordError: false, confirmPasswordError: false, resetPasswordOnLogin: user.resetPasswordRequired, userID: user.userID, profilePicture: user.profilePicture, twitterHandle: user.twitterHandle, biography: user.biography, tagline: user.tagline, pageInformation: req.adminPageInfomation())
/host/spi-builder-workspace/.build/checkouts/vapor/Sources/Vapor/View/View.swift:3:15: note: struct 'View' does not conform to the 'Sendable' protocol
1 | import NIOCore
2 |
3 | public struct View: ResponseEncodable {
| `- note: struct 'View' does not conform to the 'Sendable' protocol
4 | public var data: ByteBuffer
5 |
/host/spi-builder-workspace/Sources/SteamPress/Controllers/Admin/UserAdminController.swift:1:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Vapor'
1 | import Vapor
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Vapor'
2 |
3 | struct UserAdminController: RouteCollection {
/host/spi-builder-workspace/Sources/SteamPress/Controllers/Admin/UserAdminController.swift:82:422: warning: capture of 'user' with non-sendable type 'BlogUser' in a `@Sendable` closure; this is an error in the Swift 6 language mode
80 | if let editUserErrors = errors {
81 | do {
82 | let view = try req.adminPresenter.createUserView(editing: true, errors: editUserErrors.errors, name: data.name, nameError: errors?.nameError ?? false, username: data.username, usernameErorr: errors?.usernameError ?? false, passwordError: editUserErrors.passwordError, confirmPasswordError: editUserErrors.confirmPasswordError, resetPasswordOnLogin: data.resetPasswordOnLogin ?? false, userID: user.userID, profilePicture: data.profilePicture, twitterHandle: data.twitterHandle, biography: data.biography, tagline: data.tagline, pageInformation: req.adminPageInfomation())
| `- warning: capture of 'user' with non-sendable type 'BlogUser' in a `@Sendable` closure; this is an error in the Swift 6 language mode
83 | return view.encodeResponse(for: req)
84 | } catch {
/host/spi-builder-workspace/Sources/SteamPress/Models/BlogUser.swift:5:20: note: class 'BlogUser' does not conform to the 'Sendable' protocol
3 | // MARK: - Model
4 |
5 | public final class BlogUser: Codable {
| `- note: class 'BlogUser' does not conform to the 'Sendable' protocol
6 |
7 | public var userID: Int?
/host/spi-builder-workspace/Sources/SteamPress/Controllers/Admin/UserAdminController.swift:109:29: warning: capture of 'user' with non-sendable type 'BlogUser' in a `@Sendable` closure; this is an error in the Swift 6 language mode
107 | if let password = data.password, password != "" {
108 | updatePassword = req.password.async.hash(password).map { hashedPassword in
109 | user.password = hashedPassword
| `- warning: capture of 'user' with non-sendable type 'BlogUser' in a `@Sendable` closure; this is an error in the Swift 6 language mode
110 | }
111 | } else {
/host/spi-builder-workspace/Sources/SteamPress/Models/BlogUser.swift:5:20: note: class 'BlogUser' does not conform to the 'Sendable' protocol
3 | // MARK: - Model
4 |
5 | public final class BlogUser: Codable {
| `- note: class 'BlogUser' does not conform to the 'Sendable' protocol
6 |
7 | public var userID: Int?
/host/spi-builder-workspace/Sources/SteamPress/Controllers/Admin/UserAdminController.swift:116:60: warning: capture of 'user' with non-sendable type 'BlogUser' in a `@Sendable` closure; this is an error in the Swift 6 language mode
114 | return updatePassword.flatMap {
115 | let redirect = req.redirect(to: self.pathCreator.createPath(for: "admin"))
116 | return req.blogUserRepository.save(user).transform(to: redirect)
| `- warning: capture of 'user' with non-sendable type 'BlogUser' in a `@Sendable` closure; this is an error in the Swift 6 language mode
117 | }
118 | }
/host/spi-builder-workspace/Sources/SteamPress/Models/BlogUser.swift:5:20: note: class 'BlogUser' does not conform to the 'Sendable' protocol
3 | // MARK: - Model
4 |
5 | public final class BlogUser: Codable {
| `- note: class 'BlogUser' does not conform to the 'Sendable' protocol
6 |
7 | public var userID: Int?
/host/spi-builder-workspace/Sources/SteamPress/Controllers/Admin/UserAdminController.swift:128:99: warning: type 'BlogUser' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
126 | req.parameters.findUser(on: req).and(req.blogUserRepository.getUsersCount()).flatMap { user, userCount in
127 | guard userCount > 1 else {
128 | return req.blogPostRepository.getAllPostsSortedByPublishDate(includeDrafts: true).and(req.blogUserRepository.getAllUsers()).flatMap { posts, users in
| `- warning: type 'BlogUser' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
129 | do {
130 | let view = try req.adminPresenter.createIndexView(posts: posts, users: users, errors: ["You cannot delete the last user"], pageInformation: req.adminPageInfomation())
/host/spi-builder-workspace/Sources/SteamPress/Models/BlogUser.swift:5:20: note: class 'BlogUser' does not conform to the 'Sendable' protocol
3 | // MARK: - Model
4 |
5 | public final class BlogUser: Codable {
| `- note: class 'BlogUser' does not conform to the 'Sendable' protocol
6 |
7 | public var userID: Int?
/host/spi-builder-workspace/Sources/SteamPress/Controllers/Admin/UserAdminController.swift:145:99: warning: type 'BlogUser' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
143 | }
144 | guard loggedInUser.userID != user.userID else {
145 | return req.blogPostRepository.getAllPostsSortedByPublishDate(includeDrafts: true).and(req.blogUserRepository.getAllUsers()).flatMap { posts, users in
| `- warning: type 'BlogUser' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
146 | do {
147 | let view = try req.adminPresenter.createIndexView(posts: posts, users: users, errors: ["You cannot delete yourself whilst logged in"], pageInformation: req.adminPageInfomation())
/host/spi-builder-workspace/Sources/SteamPress/Models/BlogUser.swift:5:20: note: class 'BlogUser' does not conform to the 'Sendable' protocol
3 | // MARK: - Model
4 |
5 | public final class BlogUser: Codable {
| `- note: class 'BlogUser' does not conform to the 'Sendable' protocol
6 |
7 | public var userID: Int?
/host/spi-builder-workspace/Sources/SteamPress/Controllers/Admin/UserAdminController.swift:204:32: warning: 'validate' is deprecated: renamed to 'validate(content:)'
202 |
203 | do {
204 | try CreateUserData.validate(req)
| |- warning: 'validate' is deprecated: renamed to 'validate(content:)'
| `- note: use 'validate(content:)' instead
205 | } catch {
206 | createUserErrors.append("The username provided is not valid")
/host/spi-builder-workspace/Sources/SteamPress/Controllers/Admin/UserAdminController.swift:229:17: warning: mutation of captured var 'createUserErrors' in concurrently-executing code; this is an error in the Swift 6 language mode
227 | return usernameUniqueError.map { usernameErrorOccurred in
228 | if let uniqueError = usernameErrorOccurred {
229 | createUserErrors.append(uniqueError)
| `- warning: mutation of captured var 'createUserErrors' in concurrently-executing code; this is an error in the Swift 6 language mode
230 | usernameError = true
231 | }
/host/spi-builder-workspace/Sources/SteamPress/Controllers/Admin/UserAdminController.swift:230:17: warning: mutation of captured var 'usernameError' in concurrently-executing code; this is an error in the Swift 6 language mode
228 | if let uniqueError = usernameErrorOccurred {
229 | createUserErrors.append(uniqueError)
230 | usernameError = true
| `- warning: mutation of captured var 'usernameError' in concurrently-executing code; this is an error in the Swift 6 language mode
231 | }
232 | if createUserErrors.count == 0 {
/host/spi-builder-workspace/Sources/SteamPress/Controllers/Admin/UserAdminController.swift:232:16: warning: reference to captured var 'createUserErrors' in concurrently-executing code; this is an error in the Swift 6 language mode
230 | usernameError = true
231 | }
232 | if createUserErrors.count == 0 {
| `- warning: reference to captured var 'createUserErrors' in concurrently-executing code; this is an error in the Swift 6 language mode
233 | return nil
234 | }
/host/spi-builder-workspace/Sources/SteamPress/Controllers/Admin/UserAdminController.swift:236:51: warning: reference to captured var 'createUserErrors' in concurrently-executing code; this is an error in the Swift 6 language mode
234 | }
235 |
236 | let errors = CreateUserErrors(errors: createUserErrors, passwordError: passwordError, confirmPasswordError: confirmPasswordError, nameError: nameErorr, usernameError: usernameError)
| `- warning: reference to captured var 'createUserErrors' in concurrently-executing code; this is an error in the Swift 6 language mode
237 |
238 | return errors
/host/spi-builder-workspace/Sources/SteamPress/Controllers/Admin/UserAdminController.swift:236:84: warning: reference to captured var 'passwordError' in concurrently-executing code; this is an error in the Swift 6 language mode
234 | }
235 |
236 | let errors = CreateUserErrors(errors: createUserErrors, passwordError: passwordError, confirmPasswordError: confirmPasswordError, nameError: nameErorr, usernameError: usernameError)
| `- warning: reference to captured var 'passwordError' in concurrently-executing code; this is an error in the Swift 6 language mode
237 |
238 | return errors
/host/spi-builder-workspace/Sources/SteamPress/Controllers/Admin/UserAdminController.swift:236:121: warning: reference to captured var 'confirmPasswordError' in concurrently-executing code; this is an error in the Swift 6 language mode
234 | }
235 |
236 | let errors = CreateUserErrors(errors: createUserErrors, passwordError: passwordError, confirmPasswordError: confirmPasswordError, nameError: nameErorr, usernameError: usernameError)
| `- warning: reference to captured var 'confirmPasswordError' in concurrently-executing code; this is an error in the Swift 6 language mode
237 |
238 | return errors
/host/spi-builder-workspace/Sources/SteamPress/Controllers/Admin/UserAdminController.swift:236:154: warning: reference to captured var 'nameErorr' in concurrently-executing code; this is an error in the Swift 6 language mode
234 | }
235 |
236 | let errors = CreateUserErrors(errors: createUserErrors, passwordError: passwordError, confirmPasswordError: confirmPasswordError, nameError: nameErorr, usernameError: usernameError)
| `- warning: reference to captured var 'nameErorr' in concurrently-executing code; this is an error in the Swift 6 language mode
237 |
238 | return errors
/host/spi-builder-workspace/Sources/SteamPress/Controllers/Admin/UserAdminController.swift:236:180: warning: reference to captured var 'usernameError' in concurrently-executing code; this is an error in the Swift 6 language mode
234 | }
235 |
236 | let errors = CreateUserErrors(errors: createUserErrors, passwordError: passwordError, confirmPasswordError: confirmPasswordError, nameError: nameErorr, usernameError: usernameError)
| `- warning: reference to captured var 'usernameError' in concurrently-executing code; this is an error in the Swift 6 language mode
237 |
238 | return errors
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogAdminController.swift:31:91: warning: type 'BlogUser' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
29 | // MARK: Admin Handler
30 | func adminHandler(_ req: Request) throws -> EventLoopFuture<View> {
31 | return req.blogPostRepository.getAllPostsSortedByPublishDate(includeDrafts: true).and(req.blogUserRepository.getAllUsers()).flatMap { posts, users in
| `- warning: type 'BlogUser' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
32 | do {
33 | return try req.adminPresenter.createIndexView(posts: posts, users: users, errors: nil, pageInformation: req.adminPageInfomation())
/host/spi-builder-workspace/Sources/SteamPress/Models/BlogUser.swift:5:20: note: class 'BlogUser' does not conform to the 'Sendable' protocol
3 | // MARK: - Model
4 |
5 | public final class BlogUser: Codable {
| `- note: class 'BlogUser' does not conform to the 'Sendable' protocol
6 |
7 | public var userID: Int?
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogAdminController.swift:31:133: warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
29 | // MARK: Admin Handler
30 | func adminHandler(_ req: Request) throws -> EventLoopFuture<View> {
31 | return req.blogPostRepository.getAllPostsSortedByPublishDate(includeDrafts: true).and(req.blogUserRepository.getAllUsers()).flatMap { posts, users in
| `- warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
32 | do {
33 | return try req.adminPresenter.createIndexView(posts: posts, users: users, errors: nil, pageInformation: req.adminPageInfomation())
/host/spi-builder-workspace/.build/checkouts/vapor/Sources/Vapor/View/View.swift:3:15: note: struct 'View' does not conform to the 'Sendable' protocol
1 | import NIOCore
2 |
3 | public struct View: ResponseEncodable {
| `- note: struct 'View' does not conform to the 'Sendable' protocol
4 | public var data: ByteBuffer
5 |
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogAdminController.swift:1:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Vapor'
1 | import Vapor
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Vapor'
2 |
3 | struct BlogAdminController: RouteCollection {
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:44:151: warning: type 'BlogTag' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
42 | func indexHandler(_ req: Request) throws -> EventLoopFuture<View> {
43 | let paginationInformation = req.getPaginationInformation(postsPerPage: postsPerPage)
44 | return req.blogPostRepository.getAllPostsSortedByPublishDate(includeDrafts: false, count: postsPerPage, offset: paginationInformation.offset).and(req.blogTagRepository.getAllTags()).flatMap { posts, tags in
| `- warning: type 'BlogTag' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
45 | req.blogUserRepository.getAllUsers().and(req.blogPostRepository.getAllPostsCount(includeDrafts: false)).flatMap { users, totalPostCount in
46 | req.blogTagRepository.getTagsForAllPosts().flatMap { tagsForPosts in
/host/spi-builder-workspace/Sources/SteamPress/Models/BlogTag.swift:5:20: note: class 'BlogTag' does not conform to the 'Sendable' protocol
3 | // MARK: - Model
4 |
5 | public final class BlogTag: Codable {
| `- note: class 'BlogTag' does not conform to the 'Sendable' protocol
6 |
7 | public var tagID: Int?
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:44:191: warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
42 | func indexHandler(_ req: Request) throws -> EventLoopFuture<View> {
43 | let paginationInformation = req.getPaginationInformation(postsPerPage: postsPerPage)
44 | return req.blogPostRepository.getAllPostsSortedByPublishDate(includeDrafts: false, count: postsPerPage, offset: paginationInformation.offset).and(req.blogTagRepository.getAllTags()).flatMap { posts, tags in
| `- warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
45 | req.blogUserRepository.getAllUsers().and(req.blogPostRepository.getAllPostsCount(includeDrafts: false)).flatMap { users, totalPostCount in
46 | req.blogTagRepository.getTagsForAllPosts().flatMap { tagsForPosts in
/host/spi-builder-workspace/.build/checkouts/vapor/Sources/Vapor/View/View.swift:3:15: note: struct 'View' does not conform to the 'Sendable' protocol
1 | import NIOCore
2 |
3 | public struct View: ResponseEncodable {
| `- note: struct 'View' does not conform to the 'Sendable' protocol
4 | public var data: ByteBuffer
5 |
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:1:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Vapor'
1 | import Vapor
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Vapor'
2 |
3 | struct BlogController: RouteCollection {
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:45:117: warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
43 | let paginationInformation = req.getPaginationInformation(postsPerPage: postsPerPage)
44 | return req.blogPostRepository.getAllPostsSortedByPublishDate(includeDrafts: false, count: postsPerPage, offset: paginationInformation.offset).and(req.blogTagRepository.getAllTags()).flatMap { posts, tags in
45 | req.blogUserRepository.getAllUsers().and(req.blogPostRepository.getAllPostsCount(includeDrafts: false)).flatMap { users, totalPostCount in
| `- warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
46 | req.blogTagRepository.getTagsForAllPosts().flatMap { tagsForPosts in
47 | do {
/host/spi-builder-workspace/.build/checkouts/vapor/Sources/Vapor/View/View.swift:3:15: note: struct 'View' does not conform to the 'Sendable' protocol
1 | import NIOCore
2 |
3 | public struct View: ResponseEncodable {
| `- note: struct 'View' does not conform to the 'Sendable' protocol
4 | public var data: ByteBuffer
5 |
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:46:60: warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
44 | return req.blogPostRepository.getAllPostsSortedByPublishDate(includeDrafts: false, count: postsPerPage, offset: paginationInformation.offset).and(req.blogTagRepository.getAllTags()).flatMap { posts, tags in
45 | req.blogUserRepository.getAllUsers().and(req.blogPostRepository.getAllPostsCount(includeDrafts: false)).flatMap { users, totalPostCount in
46 | req.blogTagRepository.getTagsForAllPosts().flatMap { tagsForPosts in
| `- warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
47 | do {
48 | return req.blogPresenter.indexView(posts: posts, tags: tags, authors: users, tagsForPosts: tagsForPosts, pageInformation: try req.pageInformation(), paginationTagInfo: self.getPaginationInformation(currentPage: paginationInformation.page, totalPosts: totalPostCount, currentQuery: req.url.query))
/host/spi-builder-workspace/.build/checkouts/vapor/Sources/Vapor/View/View.swift:3:15: note: struct 'View' does not conform to the 'Sendable' protocol
1 | import NIOCore
2 |
3 | public struct View: ResponseEncodable {
| `- note: struct 'View' does not conform to the 'Sendable' protocol
4 | public var data: ByteBuffer
5 |
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:48:67: warning: capture of 'posts' with non-sendable type '[BlogPost]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
46 | req.blogTagRepository.getTagsForAllPosts().flatMap { tagsForPosts in
47 | do {
48 | return req.blogPresenter.indexView(posts: posts, tags: tags, authors: users, tagsForPosts: tagsForPosts, pageInformation: try req.pageInformation(), paginationTagInfo: self.getPaginationInformation(currentPage: paginationInformation.page, totalPosts: totalPostCount, currentQuery: req.url.query))
| `- warning: capture of 'posts' with non-sendable type '[BlogPost]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
49 | } catch {
50 | return req.eventLoop.makeFailedFuture(error)
/host/spi-builder-workspace/Sources/SteamPress/Models/BlogPost.swift:8:20: note: class 'BlogPost' does not conform to the 'Sendable' protocol
6 | // MARK: - Model
7 |
8 | public final class BlogPost: Codable {
| `- note: class 'BlogPost' does not conform to the 'Sendable' protocol
9 |
10 | public var blogID: Int?
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:48:80: warning: capture of 'tags' with non-sendable type '[BlogTag]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
46 | req.blogTagRepository.getTagsForAllPosts().flatMap { tagsForPosts in
47 | do {
48 | return req.blogPresenter.indexView(posts: posts, tags: tags, authors: users, tagsForPosts: tagsForPosts, pageInformation: try req.pageInformation(), paginationTagInfo: self.getPaginationInformation(currentPage: paginationInformation.page, totalPosts: totalPostCount, currentQuery: req.url.query))
| `- warning: capture of 'tags' with non-sendable type '[BlogTag]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
49 | } catch {
50 | return req.eventLoop.makeFailedFuture(error)
/host/spi-builder-workspace/Sources/SteamPress/Models/BlogTag.swift:5:20: note: class 'BlogTag' does not conform to the 'Sendable' protocol
3 | // MARK: - Model
4 |
5 | public final class BlogTag: Codable {
| `- note: class 'BlogTag' does not conform to the 'Sendable' protocol
6 |
7 | public var tagID: Int?
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:48:67: warning: capture of 'posts' with non-sendable type '[BlogPost]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
46 | req.blogTagRepository.getTagsForAllPosts().flatMap { tagsForPosts in
47 | do {
48 | return req.blogPresenter.indexView(posts: posts, tags: tags, authors: users, tagsForPosts: tagsForPosts, pageInformation: try req.pageInformation(), paginationTagInfo: self.getPaginationInformation(currentPage: paginationInformation.page, totalPosts: totalPostCount, currentQuery: req.url.query))
| `- warning: capture of 'posts' with non-sendable type '[BlogPost]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
49 | } catch {
50 | return req.eventLoop.makeFailedFuture(error)
/host/spi-builder-workspace/Sources/SteamPress/Models/BlogPost.swift:8:20: note: class 'BlogPost' does not conform to the 'Sendable' protocol
6 | // MARK: - Model
7 |
8 | public final class BlogPost: Codable {
| `- note: class 'BlogPost' does not conform to the 'Sendable' protocol
9 |
10 | public var blogID: Int?
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:48:80: warning: capture of 'tags' with non-sendable type '[BlogTag]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
46 | req.blogTagRepository.getTagsForAllPosts().flatMap { tagsForPosts in
47 | do {
48 | return req.blogPresenter.indexView(posts: posts, tags: tags, authors: users, tagsForPosts: tagsForPosts, pageInformation: try req.pageInformation(), paginationTagInfo: self.getPaginationInformation(currentPage: paginationInformation.page, totalPosts: totalPostCount, currentQuery: req.url.query))
| `- warning: capture of 'tags' with non-sendable type '[BlogTag]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
49 | } catch {
50 | return req.eventLoop.makeFailedFuture(error)
/host/spi-builder-workspace/Sources/SteamPress/Models/BlogTag.swift:5:20: note: class 'BlogTag' does not conform to the 'Sendable' protocol
3 | // MARK: - Model
4 |
5 | public final class BlogTag: Codable {
| `- note: class 'BlogTag' does not conform to the 'Sendable' protocol
6 |
7 | public var tagID: Int?
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:48:95: warning: capture of 'users' with non-sendable type '[BlogUser]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
46 | req.blogTagRepository.getTagsForAllPosts().flatMap { tagsForPosts in
47 | do {
48 | return req.blogPresenter.indexView(posts: posts, tags: tags, authors: users, tagsForPosts: tagsForPosts, pageInformation: try req.pageInformation(), paginationTagInfo: self.getPaginationInformation(currentPage: paginationInformation.page, totalPosts: totalPostCount, currentQuery: req.url.query))
| `- warning: capture of 'users' with non-sendable type '[BlogUser]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
49 | } catch {
50 | return req.eventLoop.makeFailedFuture(error)
/host/spi-builder-workspace/Sources/SteamPress/Models/BlogUser.swift:5:20: note: class 'BlogUser' does not conform to the 'Sendable' protocol
3 | // MARK: - Model
4 |
5 | public final class BlogUser: Codable {
| `- note: class 'BlogUser' does not conform to the 'Sendable' protocol
6 |
7 | public var userID: Int?
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:58:20: warning: 'redirect(to:type:)' is deprecated: renamed to 'redirect(to:redirectType:)'
56 |
57 | func blogPostIndexRedirectHandler(_ req: Request) throws -> Response {
58 | return req.redirect(to: pathCreator.createPath(for: pathCreator.blogPath), type: .permanent)
| |- warning: 'redirect(to:type:)' is deprecated: renamed to 'redirect(to:redirectType:)'
| `- note: use 'redirect(to:redirectType:)' instead
59 | }
60 |
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:65:92: warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
63 | throw Abort(.badRequest)
64 | }
65 | return req.blogPostRepository.getPost(slug: blogSlug).unwrap(or: Abort(.notFound)).flatMap { (post: BlogPost) -> EventLoopFuture<View> in
| `- warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
66 | let tagsQuery: EventLoopFuture<[BlogTag]> = req.blogTagRepository.getTags(for: post)
67 | let userQuery: EventLoopFuture<BlogUser> = req.blogUserRepository.getUser(id: post.author).unwrap(or: Abort(.internalServerError))
/host/spi-builder-workspace/.build/checkouts/vapor/Sources/Vapor/View/View.swift:3:15: note: struct 'View' does not conform to the 'Sendable' protocol
1 | import NIOCore
2 |
3 | public struct View: ResponseEncodable {
| `- note: struct 'View' does not conform to the 'Sendable' protocol
4 | public var data: ByteBuffer
5 |
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:68:30: warning: type 'BlogTag' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
66 | let tagsQuery: EventLoopFuture<[BlogTag]> = req.blogTagRepository.getTags(for: post)
67 | let userQuery: EventLoopFuture<BlogUser> = req.blogUserRepository.getUser(id: post.author).unwrap(or: Abort(.internalServerError))
68 | return userQuery.and(tagsQuery).flatMap { (user: BlogUser, tags: [BlogTag]) -> EventLoopFuture<View> in
| `- warning: type 'BlogTag' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
69 | do {
70 | let pageInformation: BlogGlobalPageInformation = try req.pageInformation()
/host/spi-builder-workspace/Sources/SteamPress/Models/BlogTag.swift:5:20: note: class 'BlogTag' does not conform to the 'Sendable' protocol
3 | // MARK: - Model
4 |
5 | public final class BlogTag: Codable {
| `- note: class 'BlogTag' does not conform to the 'Sendable' protocol
6 |
7 | public var tagID: Int?
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:68:45: warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
66 | let tagsQuery: EventLoopFuture<[BlogTag]> = req.blogTagRepository.getTags(for: post)
67 | let userQuery: EventLoopFuture<BlogUser> = req.blogUserRepository.getUser(id: post.author).unwrap(or: Abort(.internalServerError))
68 | return userQuery.and(tagsQuery).flatMap { (user: BlogUser, tags: [BlogTag]) -> EventLoopFuture<View> in
| `- warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
69 | do {
70 | let pageInformation: BlogGlobalPageInformation = try req.pageInformation()
/host/spi-builder-workspace/.build/checkouts/vapor/Sources/Vapor/View/View.swift:3:15: note: struct 'View' does not conform to the 'Sendable' protocol
1 | import NIOCore
2 |
3 | public struct View: ResponseEncodable {
| `- note: struct 'View' does not conform to the 'Sendable' protocol
4 | public var data: ByteBuffer
5 |
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:71:61: warning: capture of 'post' with non-sendable type 'BlogPost' in a `@Sendable` closure; this is an error in the Swift 6 language mode
69 | do {
70 | let pageInformation: BlogGlobalPageInformation = try req.pageInformation()
71 | return req.blogPresenter.postView(post: post, author: user, tags: tags, pageInformation: pageInformation)
| `- warning: capture of 'post' with non-sendable type 'BlogPost' in a `@Sendable` closure; this is an error in the Swift 6 language mode
72 | } catch {
73 | return req.eventLoop.makeFailedFuture(error)
/host/spi-builder-workspace/Sources/SteamPress/Models/BlogPost.swift:8:20: note: class 'BlogPost' does not conform to the 'Sendable' protocol
6 | // MARK: - Model
7 |
8 | public final class BlogPost: Codable {
| `- note: class 'BlogPost' does not conform to the 'Sendable' protocol
9 |
10 | public var blogID: Int?
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:80:48: warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
78 |
79 | func tagViewHandler(_ req: Request) throws -> EventLoopFuture<View> {
80 | return req.parameters.findTag(on: req).flatMap { tag in
| `- warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
81 | let paginationInformation = req.getPaginationInformation(postsPerPage: self.postsPerPage)
82 | let postsQuery = req.blogPostRepository.getSortedPublishedPosts(for: tag, count: self.postsPerPage, offset: paginationInformation.offset)
/host/spi-builder-workspace/.build/checkouts/vapor/Sources/Vapor/View/View.swift:3:15: note: struct 'View' does not conform to the 'Sendable' protocol
1 | import NIOCore
2 |
3 | public struct View: ResponseEncodable {
| `- note: struct 'View' does not conform to the 'Sendable' protocol
4 | public var data: ByteBuffer
5 |
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:85:51: warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
83 | let postCountQuery = req.blogPostRepository.getPublishedPostCount(for: tag)
84 | let usersQuery = req.blogUserRepository.getAllUsers()
85 | return postsQuery.and(postCountQuery).flatMap { posts, totalPosts in
| `- warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
86 | usersQuery.flatMap { authors in
87 | let paginationTagInfo = self.getPaginationInformation(currentPage: paginationInformation.page, totalPosts: totalPosts, currentQuery: req.url.query)
/host/spi-builder-workspace/.build/checkouts/vapor/Sources/Vapor/View/View.swift:3:15: note: struct 'View' does not conform to the 'Sendable' protocol
1 | import NIOCore
2 |
3 | public struct View: ResponseEncodable {
| `- note: struct 'View' does not conform to the 'Sendable' protocol
4 | public var data: ByteBuffer
5 |
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:86:28: warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
84 | let usersQuery = req.blogUserRepository.getAllUsers()
85 | return postsQuery.and(postCountQuery).flatMap { posts, totalPosts in
86 | usersQuery.flatMap { authors in
| `- warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
87 | let paginationTagInfo = self.getPaginationInformation(currentPage: paginationInformation.page, totalPosts: totalPosts, currentQuery: req.url.query)
88 | do {
/host/spi-builder-workspace/.build/checkouts/vapor/Sources/Vapor/View/View.swift:3:15: note: struct 'View' does not conform to the 'Sendable' protocol
1 | import NIOCore
2 |
3 | public struct View: ResponseEncodable {
| `- note: struct 'View' does not conform to the 'Sendable' protocol
4 | public var data: ByteBuffer
5 |
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:89:63: warning: capture of 'tag' with non-sendable type 'BlogTag' in a `@Sendable` closure; this is an error in the Swift 6 language mode
87 | let paginationTagInfo = self.getPaginationInformation(currentPage: paginationInformation.page, totalPosts: totalPosts, currentQuery: req.url.query)
88 | do {
89 | return req.blogPresenter.tagView(tag: tag, posts: posts, authors: authors, totalPosts: totalPosts, pageInformation: try req.pageInformation(), paginationTagInfo: paginationTagInfo)
| `- warning: capture of 'tag' with non-sendable type 'BlogTag' in a `@Sendable` closure; this is an error in the Swift 6 language mode
90 | } catch {
91 | return req.eventLoop.makeFailedFuture(error)
/host/spi-builder-workspace/Sources/SteamPress/Models/BlogTag.swift:5:20: note: class 'BlogTag' does not conform to the 'Sendable' protocol
3 | // MARK: - Model
4 |
5 | public final class BlogTag: Codable {
| `- note: class 'BlogTag' does not conform to the 'Sendable' protocol
6 |
7 | public var tagID: Int?
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:89:63: warning: capture of 'tag' with non-sendable type 'BlogTag' in a `@Sendable` closure; this is an error in the Swift 6 language mode
87 | let paginationTagInfo = self.getPaginationInformation(currentPage: paginationInformation.page, totalPosts: totalPosts, currentQuery: req.url.query)
88 | do {
89 | return req.blogPresenter.tagView(tag: tag, posts: posts, authors: authors, totalPosts: totalPosts, pageInformation: try req.pageInformation(), paginationTagInfo: paginationTagInfo)
| `- warning: capture of 'tag' with non-sendable type 'BlogTag' in a `@Sendable` closure; this is an error in the Swift 6 language mode
90 | } catch {
91 | return req.eventLoop.makeFailedFuture(error)
/host/spi-builder-workspace/Sources/SteamPress/Models/BlogTag.swift:5:20: note: class 'BlogTag' does not conform to the 'Sendable' protocol
3 | // MARK: - Model
4 |
5 | public final class BlogTag: Codable {
| `- note: class 'BlogTag' does not conform to the 'Sendable' protocol
6 |
7 | public var tagID: Int?
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:89:75: warning: capture of 'posts' with non-sendable type '[BlogPost]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
87 | let paginationTagInfo = self.getPaginationInformation(currentPage: paginationInformation.page, totalPosts: totalPosts, currentQuery: req.url.query)
88 | do {
89 | return req.blogPresenter.tagView(tag: tag, posts: posts, authors: authors, totalPosts: totalPosts, pageInformation: try req.pageInformation(), paginationTagInfo: paginationTagInfo)
| `- warning: capture of 'posts' with non-sendable type '[BlogPost]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
90 | } catch {
91 | return req.eventLoop.makeFailedFuture(error)
/host/spi-builder-workspace/Sources/SteamPress/Models/BlogPost.swift:8:20: note: class 'BlogPost' does not conform to the 'Sendable' protocol
6 | // MARK: - Model
7 |
8 | public final class BlogPost: Codable {
| `- note: class 'BlogPost' does not conform to the 'Sendable' protocol
9 |
10 | public var blogID: Int?
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:103:73: warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
101 | }
102 | let paginationInformation = req.getPaginationInformation(postsPerPage: postsPerPage)
103 | return req.blogUserRepository.getUser(username: authorUsername).flatMap { user in
| `- warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
104 | guard let author = user else {
105 | return req.eventLoop.makeFailedFuture(Abort(.notFound))
/host/spi-builder-workspace/.build/checkouts/vapor/Sources/Vapor/View/View.swift:3:15: note: struct 'View' does not conform to the 'Sendable' protocol
1 | import NIOCore
2 |
3 | public struct View: ResponseEncodable {
| `- note: struct 'View' does not conform to the 'Sendable' protocol
4 | public var data: ByteBuffer
5 |
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:110:62: warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
108 | let tagQuery = req.blogTagRepository.getTagsForAllPosts()
109 | let authorPostCountQuery = req.blogPostRepository.getPostCount(for: author)
110 | return authorPostQuery.and(authorPostCountQuery).flatMap { posts, postCount in
| `- warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
111 | tagQuery.flatMap { tagsForPosts in
112 | let paginationTagInfo = self.getPaginationInformation(currentPage: paginationInformation.page, totalPosts: postCount, currentQuery: req.url.query)
/host/spi-builder-workspace/.build/checkouts/vapor/Sources/Vapor/View/View.swift:3:15: note: struct 'View' does not conform to the 'Sendable' protocol
1 | import NIOCore
2 |
3 | public struct View: ResponseEncodable {
| `- note: struct 'View' does not conform to the 'Sendable' protocol
4 | public var data: ByteBuffer
5 |
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:111:26: warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
109 | let authorPostCountQuery = req.blogPostRepository.getPostCount(for: author)
110 | return authorPostQuery.and(authorPostCountQuery).flatMap { posts, postCount in
111 | tagQuery.flatMap { tagsForPosts in
| `- warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
112 | let paginationTagInfo = self.getPaginationInformation(currentPage: paginationInformation.page, totalPosts: postCount, currentQuery: req.url.query)
113 | do {
/host/spi-builder-workspace/.build/checkouts/vapor/Sources/Vapor/View/View.swift:3:15: note: struct 'View' does not conform to the 'Sendable' protocol
1 | import NIOCore
2 |
3 | public struct View: ResponseEncodable {
| `- note: struct 'View' does not conform to the 'Sendable' protocol
4 | public var data: ByteBuffer
5 |
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:114:69: warning: capture of 'author' with non-sendable type 'BlogUser' in a `@Sendable` closure; this is an error in the Swift 6 language mode
112 | let paginationTagInfo = self.getPaginationInformation(currentPage: paginationInformation.page, totalPosts: postCount, currentQuery: req.url.query)
113 | do {
114 | return req.blogPresenter.authorView(author: author, posts: posts, postCount: postCount, tagsForPosts: tagsForPosts, pageInformation: try req.pageInformation(), paginationTagInfo: paginationTagInfo)
| `- warning: capture of 'author' with non-sendable type 'BlogUser' in a `@Sendable` closure; this is an error in the Swift 6 language mode
115 | } catch {
116 | return req.eventLoop.makeFailedFuture(error)
/host/spi-builder-workspace/Sources/SteamPress/Models/BlogUser.swift:5:20: note: class 'BlogUser' does not conform to the 'Sendable' protocol
3 | // MARK: - Model
4 |
5 | public final class BlogUser: Codable {
| `- note: class 'BlogUser' does not conform to the 'Sendable' protocol
6 |
7 | public var userID: Int?
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:114:69: warning: capture of 'author' with non-sendable type 'BlogUser' in a `@Sendable` closure; this is an error in the Swift 6 language mode
112 | let paginationTagInfo = self.getPaginationInformation(currentPage: paginationInformation.page, totalPosts: postCount, currentQuery: req.url.query)
113 | do {
114 | return req.blogPresenter.authorView(author: author, posts: posts, postCount: postCount, tagsForPosts: tagsForPosts, pageInformation: try req.pageInformation(), paginationTagInfo: paginationTagInfo)
| `- warning: capture of 'author' with non-sendable type 'BlogUser' in a `@Sendable` closure; this is an error in the Swift 6 language mode
115 | } catch {
116 | return req.eventLoop.makeFailedFuture(error)
/host/spi-builder-workspace/Sources/SteamPress/Models/BlogUser.swift:5:20: note: class 'BlogUser' does not conform to the 'Sendable' protocol
3 | // MARK: - Model
4 |
5 | public final class BlogUser: Codable {
| `- note: class 'BlogUser' does not conform to the 'Sendable' protocol
6 |
7 | public var userID: Int?
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:114:84: warning: capture of 'posts' with non-sendable type '[BlogPost]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
112 | let paginationTagInfo = self.getPaginationInformation(currentPage: paginationInformation.page, totalPosts: postCount, currentQuery: req.url.query)
113 | do {
114 | return req.blogPresenter.authorView(author: author, posts: posts, postCount: postCount, tagsForPosts: tagsForPosts, pageInformation: try req.pageInformation(), paginationTagInfo: paginationTagInfo)
| `- warning: capture of 'posts' with non-sendable type '[BlogPost]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
115 | } catch {
116 | return req.eventLoop.makeFailedFuture(error)
/host/spi-builder-workspace/Sources/SteamPress/Models/BlogPost.swift:8:20: note: class 'BlogPost' does not conform to the 'Sendable' protocol
6 | // MARK: - Model
7 |
8 | public final class BlogPost: Codable {
| `- note: class 'BlogPost' does not conform to the 'Sendable' protocol
9 |
10 | public var blogID: Int?
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:124:64: warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
122 |
123 | func allTagsViewHandler(_ req: Request) throws -> EventLoopFuture<View> {
124 | return req.blogTagRepository.getAllTagsWithPostCount().flatMap { tagswithCount in
| `- warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
125 | let allTags = tagswithCount.map { $0.0 }
126 | do {
/host/spi-builder-workspace/.build/checkouts/vapor/Sources/Vapor/View/View.swift:3:15: note: struct 'View' does not conform to the 'Sendable' protocol
1 | import NIOCore
2 |
3 | public struct View: ResponseEncodable {
| `- note: struct 'View' does not conform to the 'Sendable' protocol
4 | public var data: ByteBuffer
5 |
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:141:66: warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
139 |
140 | func allAuthorsViewHandler(_ req: Request) throws -> EventLoopFuture<View> {
141 | return req.blogUserRepository.getAllUsersWithPostCount().flatMap { allUsersWithCount in
| `- warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
142 | let allUsers = allUsersWithCount.map { $0.0 }
143 | do {
/host/spi-builder-workspace/.build/checkouts/vapor/Sources/Vapor/View/View.swift:3:15: note: struct 'View' does not conform to the 'Sendable' protocol
1 | import NIOCore
2 |
3 | public struct View: ResponseEncodable {
| `- note: struct 'View' does not conform to the 'Sendable' protocol
4 | public var data: ByteBuffer
5 |
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:168:48: warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
166 | let tagsQuery = req.blogTagRepository.getTagsForAllPosts()
167 | let userQuery = req.blogUserRepository.getAllUsers()
168 | return postsQuery.and(postsCountQuery).flatMap { posts, totalPosts in
| `- warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
169 | userQuery.and(tagsQuery).flatMap { users, tagsForPosts in
170 | let paginationTagInfo = self.getPaginationInformation(currentPage: paginationInformation.page, totalPosts: totalPosts, currentQuery: req.url.query)
/host/spi-builder-workspace/.build/checkouts/vapor/Sources/Vapor/View/View.swift:3:15: note: struct 'View' does not conform to the 'Sendable' protocol
1 | import NIOCore
2 |
3 | public struct View: ResponseEncodable {
| `- note: struct 'View' does not conform to the 'Sendable' protocol
4 | public var data: ByteBuffer
5 |
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:169:23: warning: type 'BlogTag' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
167 | let userQuery = req.blogUserRepository.getAllUsers()
168 | return postsQuery.and(postsCountQuery).flatMap { posts, totalPosts in
169 | userQuery.and(tagsQuery).flatMap { users, tagsForPosts in
| `- warning: type 'BlogTag' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
170 | let paginationTagInfo = self.getPaginationInformation(currentPage: paginationInformation.page, totalPosts: totalPosts, currentQuery: req.url.query)
171 | do {
/host/spi-builder-workspace/Sources/SteamPress/Models/BlogTag.swift:5:20: note: class 'BlogTag' does not conform to the 'Sendable' protocol
3 | // MARK: - Model
4 |
5 | public final class BlogTag: Codable {
| `- note: class 'BlogTag' does not conform to the 'Sendable' protocol
6 |
7 | public var tagID: Int?
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:169:38: warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
167 | let userQuery = req.blogUserRepository.getAllUsers()
168 | return postsQuery.and(postsCountQuery).flatMap { posts, totalPosts in
169 | userQuery.and(tagsQuery).flatMap { users, tagsForPosts in
| `- warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
170 | let paginationTagInfo = self.getPaginationInformation(currentPage: paginationInformation.page, totalPosts: totalPosts, currentQuery: req.url.query)
171 | do {
/host/spi-builder-workspace/.build/checkouts/vapor/Sources/Vapor/View/View.swift:3:15: note: struct 'View' does not conform to the 'Sendable' protocol
1 | import NIOCore
2 |
3 | public struct View: ResponseEncodable {
| `- note: struct 'View' does not conform to the 'Sendable' protocol
4 | public var data: ByteBuffer
5 |
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:172:90: warning: capture of 'posts' with non-sendable type '[BlogPost]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
170 | let paginationTagInfo = self.getPaginationInformation(currentPage: paginationInformation.page, totalPosts: totalPosts, currentQuery: req.url.query)
171 | do {
172 | return req.blogPresenter.searchView(totalResults: totalPosts, posts: posts, authors: users, searchTerm: searchTerm, tagsForPosts: tagsForPosts, pageInformation: try req.pageInformation(), paginationTagInfo: paginationTagInfo)
| `- warning: capture of 'posts' with non-sendable type '[BlogPost]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
173 | } catch {
174 | return req.eventLoop.makeFailedFuture(error)
/host/spi-builder-workspace/Sources/SteamPress/Models/BlogPost.swift:8:20: note: class 'BlogPost' does not conform to the 'Sendable' protocol
6 | // MARK: - Model
7 |
8 | public final class BlogPost: Codable {
| `- note: class 'BlogPost' does not conform to the 'Sendable' protocol
9 |
10 | public var blogID: Int?
[2379/2387] Compiling SteamPress String+Optional+Whitespace.swift
/host/spi-builder-workspace/Sources/SteamPress/Controllers/Admin/UserAdminController.swift:61:42: warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
59 |
60 | func editUserHandler(_ req: Request) throws -> EventLoopFuture<View> {
61 | req.parameters.findUser(on: req).flatMap { user in
| `- warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
62 | do {
63 | return try req.adminPresenter.createUserView(editing: true, errors: nil, name: user.name, nameError: false, username: user.username, usernameErorr: false, passwordError: false, confirmPasswordError: false, resetPasswordOnLogin: user.resetPasswordRequired, userID: user.userID, profilePicture: user.profilePicture, twitterHandle: user.twitterHandle, biography: user.biography, tagline: user.tagline, pageInformation: req.adminPageInfomation())
/host/spi-builder-workspace/.build/checkouts/vapor/Sources/Vapor/View/View.swift:3:15: note: struct 'View' does not conform to the 'Sendable' protocol
1 | import NIOCore
2 |
3 | public struct View: ResponseEncodable {
| `- note: struct 'View' does not conform to the 'Sendable' protocol
4 | public var data: ByteBuffer
5 |
/host/spi-builder-workspace/Sources/SteamPress/Controllers/Admin/UserAdminController.swift:1:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Vapor'
1 | import Vapor
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Vapor'
2 |
3 | struct UserAdminController: RouteCollection {
/host/spi-builder-workspace/Sources/SteamPress/Controllers/Admin/UserAdminController.swift:82:422: warning: capture of 'user' with non-sendable type 'BlogUser' in a `@Sendable` closure; this is an error in the Swift 6 language mode
80 | if let editUserErrors = errors {
81 | do {
82 | let view = try req.adminPresenter.createUserView(editing: true, errors: editUserErrors.errors, name: data.name, nameError: errors?.nameError ?? false, username: data.username, usernameErorr: errors?.usernameError ?? false, passwordError: editUserErrors.passwordError, confirmPasswordError: editUserErrors.confirmPasswordError, resetPasswordOnLogin: data.resetPasswordOnLogin ?? false, userID: user.userID, profilePicture: data.profilePicture, twitterHandle: data.twitterHandle, biography: data.biography, tagline: data.tagline, pageInformation: req.adminPageInfomation())
| `- warning: capture of 'user' with non-sendable type 'BlogUser' in a `@Sendable` closure; this is an error in the Swift 6 language mode
83 | return view.encodeResponse(for: req)
84 | } catch {
/host/spi-builder-workspace/Sources/SteamPress/Models/BlogUser.swift:5:20: note: class 'BlogUser' does not conform to the 'Sendable' protocol
3 | // MARK: - Model
4 |
5 | public final class BlogUser: Codable {
| `- note: class 'BlogUser' does not conform to the 'Sendable' protocol
6 |
7 | public var userID: Int?
/host/spi-builder-workspace/Sources/SteamPress/Controllers/Admin/UserAdminController.swift:109:29: warning: capture of 'user' with non-sendable type 'BlogUser' in a `@Sendable` closure; this is an error in the Swift 6 language mode
107 | if let password = data.password, password != "" {
108 | updatePassword = req.password.async.hash(password).map { hashedPassword in
109 | user.password = hashedPassword
| `- warning: capture of 'user' with non-sendable type 'BlogUser' in a `@Sendable` closure; this is an error in the Swift 6 language mode
110 | }
111 | } else {
/host/spi-builder-workspace/Sources/SteamPress/Models/BlogUser.swift:5:20: note: class 'BlogUser' does not conform to the 'Sendable' protocol
3 | // MARK: - Model
4 |
5 | public final class BlogUser: Codable {
| `- note: class 'BlogUser' does not conform to the 'Sendable' protocol
6 |
7 | public var userID: Int?
/host/spi-builder-workspace/Sources/SteamPress/Controllers/Admin/UserAdminController.swift:116:60: warning: capture of 'user' with non-sendable type 'BlogUser' in a `@Sendable` closure; this is an error in the Swift 6 language mode
114 | return updatePassword.flatMap {
115 | let redirect = req.redirect(to: self.pathCreator.createPath(for: "admin"))
116 | return req.blogUserRepository.save(user).transform(to: redirect)
| `- warning: capture of 'user' with non-sendable type 'BlogUser' in a `@Sendable` closure; this is an error in the Swift 6 language mode
117 | }
118 | }
/host/spi-builder-workspace/Sources/SteamPress/Models/BlogUser.swift:5:20: note: class 'BlogUser' does not conform to the 'Sendable' protocol
3 | // MARK: - Model
4 |
5 | public final class BlogUser: Codable {
| `- note: class 'BlogUser' does not conform to the 'Sendable' protocol
6 |
7 | public var userID: Int?
/host/spi-builder-workspace/Sources/SteamPress/Controllers/Admin/UserAdminController.swift:128:99: warning: type 'BlogUser' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
126 | req.parameters.findUser(on: req).and(req.blogUserRepository.getUsersCount()).flatMap { user, userCount in
127 | guard userCount > 1 else {
128 | return req.blogPostRepository.getAllPostsSortedByPublishDate(includeDrafts: true).and(req.blogUserRepository.getAllUsers()).flatMap { posts, users in
| `- warning: type 'BlogUser' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
129 | do {
130 | let view = try req.adminPresenter.createIndexView(posts: posts, users: users, errors: ["You cannot delete the last user"], pageInformation: req.adminPageInfomation())
/host/spi-builder-workspace/Sources/SteamPress/Models/BlogUser.swift:5:20: note: class 'BlogUser' does not conform to the 'Sendable' protocol
3 | // MARK: - Model
4 |
5 | public final class BlogUser: Codable {
| `- note: class 'BlogUser' does not conform to the 'Sendable' protocol
6 |
7 | public var userID: Int?
/host/spi-builder-workspace/Sources/SteamPress/Controllers/Admin/UserAdminController.swift:145:99: warning: type 'BlogUser' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
143 | }
144 | guard loggedInUser.userID != user.userID else {
145 | return req.blogPostRepository.getAllPostsSortedByPublishDate(includeDrafts: true).and(req.blogUserRepository.getAllUsers()).flatMap { posts, users in
| `- warning: type 'BlogUser' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
146 | do {
147 | let view = try req.adminPresenter.createIndexView(posts: posts, users: users, errors: ["You cannot delete yourself whilst logged in"], pageInformation: req.adminPageInfomation())
/host/spi-builder-workspace/Sources/SteamPress/Models/BlogUser.swift:5:20: note: class 'BlogUser' does not conform to the 'Sendable' protocol
3 | // MARK: - Model
4 |
5 | public final class BlogUser: Codable {
| `- note: class 'BlogUser' does not conform to the 'Sendable' protocol
6 |
7 | public var userID: Int?
/host/spi-builder-workspace/Sources/SteamPress/Controllers/Admin/UserAdminController.swift:204:32: warning: 'validate' is deprecated: renamed to 'validate(content:)'
202 |
203 | do {
204 | try CreateUserData.validate(req)
| |- warning: 'validate' is deprecated: renamed to 'validate(content:)'
| `- note: use 'validate(content:)' instead
205 | } catch {
206 | createUserErrors.append("The username provided is not valid")
/host/spi-builder-workspace/Sources/SteamPress/Controllers/Admin/UserAdminController.swift:229:17: warning: mutation of captured var 'createUserErrors' in concurrently-executing code; this is an error in the Swift 6 language mode
227 | return usernameUniqueError.map { usernameErrorOccurred in
228 | if let uniqueError = usernameErrorOccurred {
229 | createUserErrors.append(uniqueError)
| `- warning: mutation of captured var 'createUserErrors' in concurrently-executing code; this is an error in the Swift 6 language mode
230 | usernameError = true
231 | }
/host/spi-builder-workspace/Sources/SteamPress/Controllers/Admin/UserAdminController.swift:230:17: warning: mutation of captured var 'usernameError' in concurrently-executing code; this is an error in the Swift 6 language mode
228 | if let uniqueError = usernameErrorOccurred {
229 | createUserErrors.append(uniqueError)
230 | usernameError = true
| `- warning: mutation of captured var 'usernameError' in concurrently-executing code; this is an error in the Swift 6 language mode
231 | }
232 | if createUserErrors.count == 0 {
/host/spi-builder-workspace/Sources/SteamPress/Controllers/Admin/UserAdminController.swift:232:16: warning: reference to captured var 'createUserErrors' in concurrently-executing code; this is an error in the Swift 6 language mode
230 | usernameError = true
231 | }
232 | if createUserErrors.count == 0 {
| `- warning: reference to captured var 'createUserErrors' in concurrently-executing code; this is an error in the Swift 6 language mode
233 | return nil
234 | }
/host/spi-builder-workspace/Sources/SteamPress/Controllers/Admin/UserAdminController.swift:236:51: warning: reference to captured var 'createUserErrors' in concurrently-executing code; this is an error in the Swift 6 language mode
234 | }
235 |
236 | let errors = CreateUserErrors(errors: createUserErrors, passwordError: passwordError, confirmPasswordError: confirmPasswordError, nameError: nameErorr, usernameError: usernameError)
| `- warning: reference to captured var 'createUserErrors' in concurrently-executing code; this is an error in the Swift 6 language mode
237 |
238 | return errors
/host/spi-builder-workspace/Sources/SteamPress/Controllers/Admin/UserAdminController.swift:236:84: warning: reference to captured var 'passwordError' in concurrently-executing code; this is an error in the Swift 6 language mode
234 | }
235 |
236 | let errors = CreateUserErrors(errors: createUserErrors, passwordError: passwordError, confirmPasswordError: confirmPasswordError, nameError: nameErorr, usernameError: usernameError)
| `- warning: reference to captured var 'passwordError' in concurrently-executing code; this is an error in the Swift 6 language mode
237 |
238 | return errors
/host/spi-builder-workspace/Sources/SteamPress/Controllers/Admin/UserAdminController.swift:236:121: warning: reference to captured var 'confirmPasswordError' in concurrently-executing code; this is an error in the Swift 6 language mode
234 | }
235 |
236 | let errors = CreateUserErrors(errors: createUserErrors, passwordError: passwordError, confirmPasswordError: confirmPasswordError, nameError: nameErorr, usernameError: usernameError)
| `- warning: reference to captured var 'confirmPasswordError' in concurrently-executing code; this is an error in the Swift 6 language mode
237 |
238 | return errors
/host/spi-builder-workspace/Sources/SteamPress/Controllers/Admin/UserAdminController.swift:236:154: warning: reference to captured var 'nameErorr' in concurrently-executing code; this is an error in the Swift 6 language mode
234 | }
235 |
236 | let errors = CreateUserErrors(errors: createUserErrors, passwordError: passwordError, confirmPasswordError: confirmPasswordError, nameError: nameErorr, usernameError: usernameError)
| `- warning: reference to captured var 'nameErorr' in concurrently-executing code; this is an error in the Swift 6 language mode
237 |
238 | return errors
/host/spi-builder-workspace/Sources/SteamPress/Controllers/Admin/UserAdminController.swift:236:180: warning: reference to captured var 'usernameError' in concurrently-executing code; this is an error in the Swift 6 language mode
234 | }
235 |
236 | let errors = CreateUserErrors(errors: createUserErrors, passwordError: passwordError, confirmPasswordError: confirmPasswordError, nameError: nameErorr, usernameError: usernameError)
| `- warning: reference to captured var 'usernameError' in concurrently-executing code; this is an error in the Swift 6 language mode
237 |
238 | return errors
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogAdminController.swift:31:91: warning: type 'BlogUser' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
29 | // MARK: Admin Handler
30 | func adminHandler(_ req: Request) throws -> EventLoopFuture<View> {
31 | return req.blogPostRepository.getAllPostsSortedByPublishDate(includeDrafts: true).and(req.blogUserRepository.getAllUsers()).flatMap { posts, users in
| `- warning: type 'BlogUser' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
32 | do {
33 | return try req.adminPresenter.createIndexView(posts: posts, users: users, errors: nil, pageInformation: req.adminPageInfomation())
/host/spi-builder-workspace/Sources/SteamPress/Models/BlogUser.swift:5:20: note: class 'BlogUser' does not conform to the 'Sendable' protocol
3 | // MARK: - Model
4 |
5 | public final class BlogUser: Codable {
| `- note: class 'BlogUser' does not conform to the 'Sendable' protocol
6 |
7 | public var userID: Int?
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogAdminController.swift:31:133: warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
29 | // MARK: Admin Handler
30 | func adminHandler(_ req: Request) throws -> EventLoopFuture<View> {
31 | return req.blogPostRepository.getAllPostsSortedByPublishDate(includeDrafts: true).and(req.blogUserRepository.getAllUsers()).flatMap { posts, users in
| `- warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
32 | do {
33 | return try req.adminPresenter.createIndexView(posts: posts, users: users, errors: nil, pageInformation: req.adminPageInfomation())
/host/spi-builder-workspace/.build/checkouts/vapor/Sources/Vapor/View/View.swift:3:15: note: struct 'View' does not conform to the 'Sendable' protocol
1 | import NIOCore
2 |
3 | public struct View: ResponseEncodable {
| `- note: struct 'View' does not conform to the 'Sendable' protocol
4 | public var data: ByteBuffer
5 |
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogAdminController.swift:1:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Vapor'
1 | import Vapor
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Vapor'
2 |
3 | struct BlogAdminController: RouteCollection {
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:44:151: warning: type 'BlogTag' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
42 | func indexHandler(_ req: Request) throws -> EventLoopFuture<View> {
43 | let paginationInformation = req.getPaginationInformation(postsPerPage: postsPerPage)
44 | return req.blogPostRepository.getAllPostsSortedByPublishDate(includeDrafts: false, count: postsPerPage, offset: paginationInformation.offset).and(req.blogTagRepository.getAllTags()).flatMap { posts, tags in
| `- warning: type 'BlogTag' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
45 | req.blogUserRepository.getAllUsers().and(req.blogPostRepository.getAllPostsCount(includeDrafts: false)).flatMap { users, totalPostCount in
46 | req.blogTagRepository.getTagsForAllPosts().flatMap { tagsForPosts in
/host/spi-builder-workspace/Sources/SteamPress/Models/BlogTag.swift:5:20: note: class 'BlogTag' does not conform to the 'Sendable' protocol
3 | // MARK: - Model
4 |
5 | public final class BlogTag: Codable {
| `- note: class 'BlogTag' does not conform to the 'Sendable' protocol
6 |
7 | public var tagID: Int?
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:44:191: warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
42 | func indexHandler(_ req: Request) throws -> EventLoopFuture<View> {
43 | let paginationInformation = req.getPaginationInformation(postsPerPage: postsPerPage)
44 | return req.blogPostRepository.getAllPostsSortedByPublishDate(includeDrafts: false, count: postsPerPage, offset: paginationInformation.offset).and(req.blogTagRepository.getAllTags()).flatMap { posts, tags in
| `- warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
45 | req.blogUserRepository.getAllUsers().and(req.blogPostRepository.getAllPostsCount(includeDrafts: false)).flatMap { users, totalPostCount in
46 | req.blogTagRepository.getTagsForAllPosts().flatMap { tagsForPosts in
/host/spi-builder-workspace/.build/checkouts/vapor/Sources/Vapor/View/View.swift:3:15: note: struct 'View' does not conform to the 'Sendable' protocol
1 | import NIOCore
2 |
3 | public struct View: ResponseEncodable {
| `- note: struct 'View' does not conform to the 'Sendable' protocol
4 | public var data: ByteBuffer
5 |
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:1:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Vapor'
1 | import Vapor
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Vapor'
2 |
3 | struct BlogController: RouteCollection {
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:45:117: warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
43 | let paginationInformation = req.getPaginationInformation(postsPerPage: postsPerPage)
44 | return req.blogPostRepository.getAllPostsSortedByPublishDate(includeDrafts: false, count: postsPerPage, offset: paginationInformation.offset).and(req.blogTagRepository.getAllTags()).flatMap { posts, tags in
45 | req.blogUserRepository.getAllUsers().and(req.blogPostRepository.getAllPostsCount(includeDrafts: false)).flatMap { users, totalPostCount in
| `- warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
46 | req.blogTagRepository.getTagsForAllPosts().flatMap { tagsForPosts in
47 | do {
/host/spi-builder-workspace/.build/checkouts/vapor/Sources/Vapor/View/View.swift:3:15: note: struct 'View' does not conform to the 'Sendable' protocol
1 | import NIOCore
2 |
3 | public struct View: ResponseEncodable {
| `- note: struct 'View' does not conform to the 'Sendable' protocol
4 | public var data: ByteBuffer
5 |
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:46:60: warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
44 | return req.blogPostRepository.getAllPostsSortedByPublishDate(includeDrafts: false, count: postsPerPage, offset: paginationInformation.offset).and(req.blogTagRepository.getAllTags()).flatMap { posts, tags in
45 | req.blogUserRepository.getAllUsers().and(req.blogPostRepository.getAllPostsCount(includeDrafts: false)).flatMap { users, totalPostCount in
46 | req.blogTagRepository.getTagsForAllPosts().flatMap { tagsForPosts in
| `- warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
47 | do {
48 | return req.blogPresenter.indexView(posts: posts, tags: tags, authors: users, tagsForPosts: tagsForPosts, pageInformation: try req.pageInformation(), paginationTagInfo: self.getPaginationInformation(currentPage: paginationInformation.page, totalPosts: totalPostCount, currentQuery: req.url.query))
/host/spi-builder-workspace/.build/checkouts/vapor/Sources/Vapor/View/View.swift:3:15: note: struct 'View' does not conform to the 'Sendable' protocol
1 | import NIOCore
2 |
3 | public struct View: ResponseEncodable {
| `- note: struct 'View' does not conform to the 'Sendable' protocol
4 | public var data: ByteBuffer
5 |
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:48:67: warning: capture of 'posts' with non-sendable type '[BlogPost]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
46 | req.blogTagRepository.getTagsForAllPosts().flatMap { tagsForPosts in
47 | do {
48 | return req.blogPresenter.indexView(posts: posts, tags: tags, authors: users, tagsForPosts: tagsForPosts, pageInformation: try req.pageInformation(), paginationTagInfo: self.getPaginationInformation(currentPage: paginationInformation.page, totalPosts: totalPostCount, currentQuery: req.url.query))
| `- warning: capture of 'posts' with non-sendable type '[BlogPost]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
49 | } catch {
50 | return req.eventLoop.makeFailedFuture(error)
/host/spi-builder-workspace/Sources/SteamPress/Models/BlogPost.swift:8:20: note: class 'BlogPost' does not conform to the 'Sendable' protocol
6 | // MARK: - Model
7 |
8 | public final class BlogPost: Codable {
| `- note: class 'BlogPost' does not conform to the 'Sendable' protocol
9 |
10 | public var blogID: Int?
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:48:80: warning: capture of 'tags' with non-sendable type '[BlogTag]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
46 | req.blogTagRepository.getTagsForAllPosts().flatMap { tagsForPosts in
47 | do {
48 | return req.blogPresenter.indexView(posts: posts, tags: tags, authors: users, tagsForPosts: tagsForPosts, pageInformation: try req.pageInformation(), paginationTagInfo: self.getPaginationInformation(currentPage: paginationInformation.page, totalPosts: totalPostCount, currentQuery: req.url.query))
| `- warning: capture of 'tags' with non-sendable type '[BlogTag]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
49 | } catch {
50 | return req.eventLoop.makeFailedFuture(error)
/host/spi-builder-workspace/Sources/SteamPress/Models/BlogTag.swift:5:20: note: class 'BlogTag' does not conform to the 'Sendable' protocol
3 | // MARK: - Model
4 |
5 | public final class BlogTag: Codable {
| `- note: class 'BlogTag' does not conform to the 'Sendable' protocol
6 |
7 | public var tagID: Int?
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:48:67: warning: capture of 'posts' with non-sendable type '[BlogPost]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
46 | req.blogTagRepository.getTagsForAllPosts().flatMap { tagsForPosts in
47 | do {
48 | return req.blogPresenter.indexView(posts: posts, tags: tags, authors: users, tagsForPosts: tagsForPosts, pageInformation: try req.pageInformation(), paginationTagInfo: self.getPaginationInformation(currentPage: paginationInformation.page, totalPosts: totalPostCount, currentQuery: req.url.query))
| `- warning: capture of 'posts' with non-sendable type '[BlogPost]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
49 | } catch {
50 | return req.eventLoop.makeFailedFuture(error)
/host/spi-builder-workspace/Sources/SteamPress/Models/BlogPost.swift:8:20: note: class 'BlogPost' does not conform to the 'Sendable' protocol
6 | // MARK: - Model
7 |
8 | public final class BlogPost: Codable {
| `- note: class 'BlogPost' does not conform to the 'Sendable' protocol
9 |
10 | public var blogID: Int?
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:48:80: warning: capture of 'tags' with non-sendable type '[BlogTag]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
46 | req.blogTagRepository.getTagsForAllPosts().flatMap { tagsForPosts in
47 | do {
48 | return req.blogPresenter.indexView(posts: posts, tags: tags, authors: users, tagsForPosts: tagsForPosts, pageInformation: try req.pageInformation(), paginationTagInfo: self.getPaginationInformation(currentPage: paginationInformation.page, totalPosts: totalPostCount, currentQuery: req.url.query))
| `- warning: capture of 'tags' with non-sendable type '[BlogTag]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
49 | } catch {
50 | return req.eventLoop.makeFailedFuture(error)
/host/spi-builder-workspace/Sources/SteamPress/Models/BlogTag.swift:5:20: note: class 'BlogTag' does not conform to the 'Sendable' protocol
3 | // MARK: - Model
4 |
5 | public final class BlogTag: Codable {
| `- note: class 'BlogTag' does not conform to the 'Sendable' protocol
6 |
7 | public var tagID: Int?
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:48:95: warning: capture of 'users' with non-sendable type '[BlogUser]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
46 | req.blogTagRepository.getTagsForAllPosts().flatMap { tagsForPosts in
47 | do {
48 | return req.blogPresenter.indexView(posts: posts, tags: tags, authors: users, tagsForPosts: tagsForPosts, pageInformation: try req.pageInformation(), paginationTagInfo: self.getPaginationInformation(currentPage: paginationInformation.page, totalPosts: totalPostCount, currentQuery: req.url.query))
| `- warning: capture of 'users' with non-sendable type '[BlogUser]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
49 | } catch {
50 | return req.eventLoop.makeFailedFuture(error)
/host/spi-builder-workspace/Sources/SteamPress/Models/BlogUser.swift:5:20: note: class 'BlogUser' does not conform to the 'Sendable' protocol
3 | // MARK: - Model
4 |
5 | public final class BlogUser: Codable {
| `- note: class 'BlogUser' does not conform to the 'Sendable' protocol
6 |
7 | public var userID: Int?
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:58:20: warning: 'redirect(to:type:)' is deprecated: renamed to 'redirect(to:redirectType:)'
56 |
57 | func blogPostIndexRedirectHandler(_ req: Request) throws -> Response {
58 | return req.redirect(to: pathCreator.createPath(for: pathCreator.blogPath), type: .permanent)
| |- warning: 'redirect(to:type:)' is deprecated: renamed to 'redirect(to:redirectType:)'
| `- note: use 'redirect(to:redirectType:)' instead
59 | }
60 |
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:65:92: warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
63 | throw Abort(.badRequest)
64 | }
65 | return req.blogPostRepository.getPost(slug: blogSlug).unwrap(or: Abort(.notFound)).flatMap { (post: BlogPost) -> EventLoopFuture<View> in
| `- warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
66 | let tagsQuery: EventLoopFuture<[BlogTag]> = req.blogTagRepository.getTags(for: post)
67 | let userQuery: EventLoopFuture<BlogUser> = req.blogUserRepository.getUser(id: post.author).unwrap(or: Abort(.internalServerError))
/host/spi-builder-workspace/.build/checkouts/vapor/Sources/Vapor/View/View.swift:3:15: note: struct 'View' does not conform to the 'Sendable' protocol
1 | import NIOCore
2 |
3 | public struct View: ResponseEncodable {
| `- note: struct 'View' does not conform to the 'Sendable' protocol
4 | public var data: ByteBuffer
5 |
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:68:30: warning: type 'BlogTag' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
66 | let tagsQuery: EventLoopFuture<[BlogTag]> = req.blogTagRepository.getTags(for: post)
67 | let userQuery: EventLoopFuture<BlogUser> = req.blogUserRepository.getUser(id: post.author).unwrap(or: Abort(.internalServerError))
68 | return userQuery.and(tagsQuery).flatMap { (user: BlogUser, tags: [BlogTag]) -> EventLoopFuture<View> in
| `- warning: type 'BlogTag' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
69 | do {
70 | let pageInformation: BlogGlobalPageInformation = try req.pageInformation()
/host/spi-builder-workspace/Sources/SteamPress/Models/BlogTag.swift:5:20: note: class 'BlogTag' does not conform to the 'Sendable' protocol
3 | // MARK: - Model
4 |
5 | public final class BlogTag: Codable {
| `- note: class 'BlogTag' does not conform to the 'Sendable' protocol
6 |
7 | public var tagID: Int?
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:68:45: warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
66 | let tagsQuery: EventLoopFuture<[BlogTag]> = req.blogTagRepository.getTags(for: post)
67 | let userQuery: EventLoopFuture<BlogUser> = req.blogUserRepository.getUser(id: post.author).unwrap(or: Abort(.internalServerError))
68 | return userQuery.and(tagsQuery).flatMap { (user: BlogUser, tags: [BlogTag]) -> EventLoopFuture<View> in
| `- warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
69 | do {
70 | let pageInformation: BlogGlobalPageInformation = try req.pageInformation()
/host/spi-builder-workspace/.build/checkouts/vapor/Sources/Vapor/View/View.swift:3:15: note: struct 'View' does not conform to the 'Sendable' protocol
1 | import NIOCore
2 |
3 | public struct View: ResponseEncodable {
| `- note: struct 'View' does not conform to the 'Sendable' protocol
4 | public var data: ByteBuffer
5 |
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:71:61: warning: capture of 'post' with non-sendable type 'BlogPost' in a `@Sendable` closure; this is an error in the Swift 6 language mode
69 | do {
70 | let pageInformation: BlogGlobalPageInformation = try req.pageInformation()
71 | return req.blogPresenter.postView(post: post, author: user, tags: tags, pageInformation: pageInformation)
| `- warning: capture of 'post' with non-sendable type 'BlogPost' in a `@Sendable` closure; this is an error in the Swift 6 language mode
72 | } catch {
73 | return req.eventLoop.makeFailedFuture(error)
/host/spi-builder-workspace/Sources/SteamPress/Models/BlogPost.swift:8:20: note: class 'BlogPost' does not conform to the 'Sendable' protocol
6 | // MARK: - Model
7 |
8 | public final class BlogPost: Codable {
| `- note: class 'BlogPost' does not conform to the 'Sendable' protocol
9 |
10 | public var blogID: Int?
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:80:48: warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
78 |
79 | func tagViewHandler(_ req: Request) throws -> EventLoopFuture<View> {
80 | return req.parameters.findTag(on: req).flatMap { tag in
| `- warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
81 | let paginationInformation = req.getPaginationInformation(postsPerPage: self.postsPerPage)
82 | let postsQuery = req.blogPostRepository.getSortedPublishedPosts(for: tag, count: self.postsPerPage, offset: paginationInformation.offset)
/host/spi-builder-workspace/.build/checkouts/vapor/Sources/Vapor/View/View.swift:3:15: note: struct 'View' does not conform to the 'Sendable' protocol
1 | import NIOCore
2 |
3 | public struct View: ResponseEncodable {
| `- note: struct 'View' does not conform to the 'Sendable' protocol
4 | public var data: ByteBuffer
5 |
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:85:51: warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
83 | let postCountQuery = req.blogPostRepository.getPublishedPostCount(for: tag)
84 | let usersQuery = req.blogUserRepository.getAllUsers()
85 | return postsQuery.and(postCountQuery).flatMap { posts, totalPosts in
| `- warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
86 | usersQuery.flatMap { authors in
87 | let paginationTagInfo = self.getPaginationInformation(currentPage: paginationInformation.page, totalPosts: totalPosts, currentQuery: req.url.query)
/host/spi-builder-workspace/.build/checkouts/vapor/Sources/Vapor/View/View.swift:3:15: note: struct 'View' does not conform to the 'Sendable' protocol
1 | import NIOCore
2 |
3 | public struct View: ResponseEncodable {
| `- note: struct 'View' does not conform to the 'Sendable' protocol
4 | public var data: ByteBuffer
5 |
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:86:28: warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
84 | let usersQuery = req.blogUserRepository.getAllUsers()
85 | return postsQuery.and(postCountQuery).flatMap { posts, totalPosts in
86 | usersQuery.flatMap { authors in
| `- warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
87 | let paginationTagInfo = self.getPaginationInformation(currentPage: paginationInformation.page, totalPosts: totalPosts, currentQuery: req.url.query)
88 | do {
/host/spi-builder-workspace/.build/checkouts/vapor/Sources/Vapor/View/View.swift:3:15: note: struct 'View' does not conform to the 'Sendable' protocol
1 | import NIOCore
2 |
3 | public struct View: ResponseEncodable {
| `- note: struct 'View' does not conform to the 'Sendable' protocol
4 | public var data: ByteBuffer
5 |
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:89:63: warning: capture of 'tag' with non-sendable type 'BlogTag' in a `@Sendable` closure; this is an error in the Swift 6 language mode
87 | let paginationTagInfo = self.getPaginationInformation(currentPage: paginationInformation.page, totalPosts: totalPosts, currentQuery: req.url.query)
88 | do {
89 | return req.blogPresenter.tagView(tag: tag, posts: posts, authors: authors, totalPosts: totalPosts, pageInformation: try req.pageInformation(), paginationTagInfo: paginationTagInfo)
| `- warning: capture of 'tag' with non-sendable type 'BlogTag' in a `@Sendable` closure; this is an error in the Swift 6 language mode
90 | } catch {
91 | return req.eventLoop.makeFailedFuture(error)
/host/spi-builder-workspace/Sources/SteamPress/Models/BlogTag.swift:5:20: note: class 'BlogTag' does not conform to the 'Sendable' protocol
3 | // MARK: - Model
4 |
5 | public final class BlogTag: Codable {
| `- note: class 'BlogTag' does not conform to the 'Sendable' protocol
6 |
7 | public var tagID: Int?
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:89:63: warning: capture of 'tag' with non-sendable type 'BlogTag' in a `@Sendable` closure; this is an error in the Swift 6 language mode
87 | let paginationTagInfo = self.getPaginationInformation(currentPage: paginationInformation.page, totalPosts: totalPosts, currentQuery: req.url.query)
88 | do {
89 | return req.blogPresenter.tagView(tag: tag, posts: posts, authors: authors, totalPosts: totalPosts, pageInformation: try req.pageInformation(), paginationTagInfo: paginationTagInfo)
| `- warning: capture of 'tag' with non-sendable type 'BlogTag' in a `@Sendable` closure; this is an error in the Swift 6 language mode
90 | } catch {
91 | return req.eventLoop.makeFailedFuture(error)
/host/spi-builder-workspace/Sources/SteamPress/Models/BlogTag.swift:5:20: note: class 'BlogTag' does not conform to the 'Sendable' protocol
3 | // MARK: - Model
4 |
5 | public final class BlogTag: Codable {
| `- note: class 'BlogTag' does not conform to the 'Sendable' protocol
6 |
7 | public var tagID: Int?
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:89:75: warning: capture of 'posts' with non-sendable type '[BlogPost]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
87 | let paginationTagInfo = self.getPaginationInformation(currentPage: paginationInformation.page, totalPosts: totalPosts, currentQuery: req.url.query)
88 | do {
89 | return req.blogPresenter.tagView(tag: tag, posts: posts, authors: authors, totalPosts: totalPosts, pageInformation: try req.pageInformation(), paginationTagInfo: paginationTagInfo)
| `- warning: capture of 'posts' with non-sendable type '[BlogPost]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
90 | } catch {
91 | return req.eventLoop.makeFailedFuture(error)
/host/spi-builder-workspace/Sources/SteamPress/Models/BlogPost.swift:8:20: note: class 'BlogPost' does not conform to the 'Sendable' protocol
6 | // MARK: - Model
7 |
8 | public final class BlogPost: Codable {
| `- note: class 'BlogPost' does not conform to the 'Sendable' protocol
9 |
10 | public var blogID: Int?
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:103:73: warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
101 | }
102 | let paginationInformation = req.getPaginationInformation(postsPerPage: postsPerPage)
103 | return req.blogUserRepository.getUser(username: authorUsername).flatMap { user in
| `- warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
104 | guard let author = user else {
105 | return req.eventLoop.makeFailedFuture(Abort(.notFound))
/host/spi-builder-workspace/.build/checkouts/vapor/Sources/Vapor/View/View.swift:3:15: note: struct 'View' does not conform to the 'Sendable' protocol
1 | import NIOCore
2 |
3 | public struct View: ResponseEncodable {
| `- note: struct 'View' does not conform to the 'Sendable' protocol
4 | public var data: ByteBuffer
5 |
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:110:62: warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
108 | let tagQuery = req.blogTagRepository.getTagsForAllPosts()
109 | let authorPostCountQuery = req.blogPostRepository.getPostCount(for: author)
110 | return authorPostQuery.and(authorPostCountQuery).flatMap { posts, postCount in
| `- warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
111 | tagQuery.flatMap { tagsForPosts in
112 | let paginationTagInfo = self.getPaginationInformation(currentPage: paginationInformation.page, totalPosts: postCount, currentQuery: req.url.query)
/host/spi-builder-workspace/.build/checkouts/vapor/Sources/Vapor/View/View.swift:3:15: note: struct 'View' does not conform to the 'Sendable' protocol
1 | import NIOCore
2 |
3 | public struct View: ResponseEncodable {
| `- note: struct 'View' does not conform to the 'Sendable' protocol
4 | public var data: ByteBuffer
5 |
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:111:26: warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
109 | let authorPostCountQuery = req.blogPostRepository.getPostCount(for: author)
110 | return authorPostQuery.and(authorPostCountQuery).flatMap { posts, postCount in
111 | tagQuery.flatMap { tagsForPosts in
| `- warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
112 | let paginationTagInfo = self.getPaginationInformation(currentPage: paginationInformation.page, totalPosts: postCount, currentQuery: req.url.query)
113 | do {
/host/spi-builder-workspace/.build/checkouts/vapor/Sources/Vapor/View/View.swift:3:15: note: struct 'View' does not conform to the 'Sendable' protocol
1 | import NIOCore
2 |
3 | public struct View: ResponseEncodable {
| `- note: struct 'View' does not conform to the 'Sendable' protocol
4 | public var data: ByteBuffer
5 |
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:114:69: warning: capture of 'author' with non-sendable type 'BlogUser' in a `@Sendable` closure; this is an error in the Swift 6 language mode
112 | let paginationTagInfo = self.getPaginationInformation(currentPage: paginationInformation.page, totalPosts: postCount, currentQuery: req.url.query)
113 | do {
114 | return req.blogPresenter.authorView(author: author, posts: posts, postCount: postCount, tagsForPosts: tagsForPosts, pageInformation: try req.pageInformation(), paginationTagInfo: paginationTagInfo)
| `- warning: capture of 'author' with non-sendable type 'BlogUser' in a `@Sendable` closure; this is an error in the Swift 6 language mode
115 | } catch {
116 | return req.eventLoop.makeFailedFuture(error)
/host/spi-builder-workspace/Sources/SteamPress/Models/BlogUser.swift:5:20: note: class 'BlogUser' does not conform to the 'Sendable' protocol
3 | // MARK: - Model
4 |
5 | public final class BlogUser: Codable {
| `- note: class 'BlogUser' does not conform to the 'Sendable' protocol
6 |
7 | public var userID: Int?
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:114:69: warning: capture of 'author' with non-sendable type 'BlogUser' in a `@Sendable` closure; this is an error in the Swift 6 language mode
112 | let paginationTagInfo = self.getPaginationInformation(currentPage: paginationInformation.page, totalPosts: postCount, currentQuery: req.url.query)
113 | do {
114 | return req.blogPresenter.authorView(author: author, posts: posts, postCount: postCount, tagsForPosts: tagsForPosts, pageInformation: try req.pageInformation(), paginationTagInfo: paginationTagInfo)
| `- warning: capture of 'author' with non-sendable type 'BlogUser' in a `@Sendable` closure; this is an error in the Swift 6 language mode
115 | } catch {
116 | return req.eventLoop.makeFailedFuture(error)
/host/spi-builder-workspace/Sources/SteamPress/Models/BlogUser.swift:5:20: note: class 'BlogUser' does not conform to the 'Sendable' protocol
3 | // MARK: - Model
4 |
5 | public final class BlogUser: Codable {
| `- note: class 'BlogUser' does not conform to the 'Sendable' protocol
6 |
7 | public var userID: Int?
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:114:84: warning: capture of 'posts' with non-sendable type '[BlogPost]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
112 | let paginationTagInfo = self.getPaginationInformation(currentPage: paginationInformation.page, totalPosts: postCount, currentQuery: req.url.query)
113 | do {
114 | return req.blogPresenter.authorView(author: author, posts: posts, postCount: postCount, tagsForPosts: tagsForPosts, pageInformation: try req.pageInformation(), paginationTagInfo: paginationTagInfo)
| `- warning: capture of 'posts' with non-sendable type '[BlogPost]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
115 | } catch {
116 | return req.eventLoop.makeFailedFuture(error)
/host/spi-builder-workspace/Sources/SteamPress/Models/BlogPost.swift:8:20: note: class 'BlogPost' does not conform to the 'Sendable' protocol
6 | // MARK: - Model
7 |
8 | public final class BlogPost: Codable {
| `- note: class 'BlogPost' does not conform to the 'Sendable' protocol
9 |
10 | public var blogID: Int?
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:124:64: warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
122 |
123 | func allTagsViewHandler(_ req: Request) throws -> EventLoopFuture<View> {
124 | return req.blogTagRepository.getAllTagsWithPostCount().flatMap { tagswithCount in
| `- warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
125 | let allTags = tagswithCount.map { $0.0 }
126 | do {
/host/spi-builder-workspace/.build/checkouts/vapor/Sources/Vapor/View/View.swift:3:15: note: struct 'View' does not conform to the 'Sendable' protocol
1 | import NIOCore
2 |
3 | public struct View: ResponseEncodable {
| `- note: struct 'View' does not conform to the 'Sendable' protocol
4 | public var data: ByteBuffer
5 |
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:141:66: warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
139 |
140 | func allAuthorsViewHandler(_ req: Request) throws -> EventLoopFuture<View> {
141 | return req.blogUserRepository.getAllUsersWithPostCount().flatMap { allUsersWithCount in
| `- warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
142 | let allUsers = allUsersWithCount.map { $0.0 }
143 | do {
/host/spi-builder-workspace/.build/checkouts/vapor/Sources/Vapor/View/View.swift:3:15: note: struct 'View' does not conform to the 'Sendable' protocol
1 | import NIOCore
2 |
3 | public struct View: ResponseEncodable {
| `- note: struct 'View' does not conform to the 'Sendable' protocol
4 | public var data: ByteBuffer
5 |
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:168:48: warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
166 | let tagsQuery = req.blogTagRepository.getTagsForAllPosts()
167 | let userQuery = req.blogUserRepository.getAllUsers()
168 | return postsQuery.and(postsCountQuery).flatMap { posts, totalPosts in
| `- warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
169 | userQuery.and(tagsQuery).flatMap { users, tagsForPosts in
170 | let paginationTagInfo = self.getPaginationInformation(currentPage: paginationInformation.page, totalPosts: totalPosts, currentQuery: req.url.query)
/host/spi-builder-workspace/.build/checkouts/vapor/Sources/Vapor/View/View.swift:3:15: note: struct 'View' does not conform to the 'Sendable' protocol
1 | import NIOCore
2 |
3 | public struct View: ResponseEncodable {
| `- note: struct 'View' does not conform to the 'Sendable' protocol
4 | public var data: ByteBuffer
5 |
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:169:23: warning: type 'BlogTag' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
167 | let userQuery = req.blogUserRepository.getAllUsers()
168 | return postsQuery.and(postsCountQuery).flatMap { posts, totalPosts in
169 | userQuery.and(tagsQuery).flatMap { users, tagsForPosts in
| `- warning: type 'BlogTag' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
170 | let paginationTagInfo = self.getPaginationInformation(currentPage: paginationInformation.page, totalPosts: totalPosts, currentQuery: req.url.query)
171 | do {
/host/spi-builder-workspace/Sources/SteamPress/Models/BlogTag.swift:5:20: note: class 'BlogTag' does not conform to the 'Sendable' protocol
3 | // MARK: - Model
4 |
5 | public final class BlogTag: Codable {
| `- note: class 'BlogTag' does not conform to the 'Sendable' protocol
6 |
7 | public var tagID: Int?
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:169:38: warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
167 | let userQuery = req.blogUserRepository.getAllUsers()
168 | return postsQuery.and(postsCountQuery).flatMap { posts, totalPosts in
169 | userQuery.and(tagsQuery).flatMap { users, tagsForPosts in
| `- warning: type 'View' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
170 | let paginationTagInfo = self.getPaginationInformation(currentPage: paginationInformation.page, totalPosts: totalPosts, currentQuery: req.url.query)
171 | do {
/host/spi-builder-workspace/.build/checkouts/vapor/Sources/Vapor/View/View.swift:3:15: note: struct 'View' does not conform to the 'Sendable' protocol
1 | import NIOCore
2 |
3 | public struct View: ResponseEncodable {
| `- note: struct 'View' does not conform to the 'Sendable' protocol
4 | public var data: ByteBuffer
5 |
/host/spi-builder-workspace/Sources/SteamPress/Controllers/BlogController.swift:172:90: warning: capture of 'posts' with non-sendable type '[BlogPost]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
170 | let paginationTagInfo = self.getPaginationInformation(currentPage: paginationInformation.page, totalPosts: totalPosts, currentQuery: req.url.query)
171 | do {
172 | return req.blogPresenter.searchView(totalResults: totalPosts, posts: posts, authors: users, searchTerm: searchTerm, tagsForPosts: tagsForPosts, pageInformation: try req.pageInformation(), paginationTagInfo: paginationTagInfo)
| `- warning: capture of 'posts' with non-sendable type '[BlogPost]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
173 | } catch {
174 | return req.eventLoop.makeFailedFuture(error)
/host/spi-builder-workspace/Sources/SteamPress/Models/BlogPost.swift:8:20: note: class 'BlogPost' does not conform to the 'Sendable' protocol
6 | // MARK: - Model
7 |
8 | public final class BlogPost: Codable {
| `- note: class 'BlogPost' does not conform to the 'Sendable' protocol
9 |
10 | public var blogID: Int?
[2380/2387] Compiling SteamPress LongPostDateFormatter.swift
/host/spi-builder-workspace/Sources/SteamPress/Services/SteamPressRandomNumberGenerator.swift:41:16: warning: type 'Application.SteamPress.RandomNumberGenerators.Key.Value' (aka 'Application.SteamPress.RandomNumberGenerators.Storage') does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
34 | }
35 |
36 | final class Storage {
| `- note: class 'Storage' does not conform to the 'Sendable' protocol
37 | var makeGenerator: ((Application) -> SteamPressRandomNumberGenerator)?
38 | init() { }
39 | }
40 |
41 | struct Key: StorageKey {
| `- warning: type 'Application.SteamPress.RandomNumberGenerators.Key.Value' (aka 'Application.SteamPress.RandomNumberGenerators.Storage') does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
42 | typealias Value = Storage
43 | }
/host/spi-builder-workspace/Sources/SteamPress/SteamPress+Application.swift:21:16: warning: type 'Application.SteamPress.Key.Value' (aka 'Application.SteamPress.Storage') does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
11 | }
12 |
13 | final class Storage {
| `- note: class 'Storage' does not conform to the 'Sendable' protocol
14 | var configuration: SteamPressConfiguration
15 |
:
19 | }
20 |
21 | struct Key: StorageKey {
| `- warning: type 'Application.SteamPress.Key.Value' (aka 'Application.SteamPress.Storage') does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
22 | typealias Value = Storage
23 | }
/host/spi-builder-workspace/Sources/SteamPress/SteamPressRoutesLifecycleHandler.swift:3:14: warning: non-final class 'SteamPressRoutesLifecycleHandler' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
1 | import Vapor
2 |
3 | public class SteamPressRoutesLifecycleHandler: LifecycleHandler {
| `- warning: non-final class 'SteamPressRoutesLifecycleHandler' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
4 |
5 | var configuration: SteamPressConfiguration
/host/spi-builder-workspace/Sources/SteamPress/SteamPressRoutesLifecycleHandler.swift:5:9: warning: stored property 'configuration' of 'Sendable'-conforming class 'SteamPressRoutesLifecycleHandler' is mutable; this is an error in the Swift 6 language mode
3 | public class SteamPressRoutesLifecycleHandler: LifecycleHandler {
4 |
5 | var configuration: SteamPressConfiguration
| `- warning: stored property 'configuration' of 'Sendable'-conforming class 'SteamPressRoutesLifecycleHandler' is mutable; this is an error in the Swift 6 language mode
6 |
7 | public init(configuration: SteamPressConfiguration = SteamPressConfiguration()) {
[2381/2387] Compiling SteamPress NumericPostFormatter.swift
/host/spi-builder-workspace/Sources/SteamPress/Services/SteamPressRandomNumberGenerator.swift:41:16: warning: type 'Application.SteamPress.RandomNumberGenerators.Key.Value' (aka 'Application.SteamPress.RandomNumberGenerators.Storage') does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
34 | }
35 |
36 | final class Storage {
| `- note: class 'Storage' does not conform to the 'Sendable' protocol
37 | var makeGenerator: ((Application) -> SteamPressRandomNumberGenerator)?
38 | init() { }
39 | }
40 |
41 | struct Key: StorageKey {
| `- warning: type 'Application.SteamPress.RandomNumberGenerators.Key.Value' (aka 'Application.SteamPress.RandomNumberGenerators.Storage') does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
42 | typealias Value = Storage
43 | }
/host/spi-builder-workspace/Sources/SteamPress/SteamPress+Application.swift:21:16: warning: type 'Application.SteamPress.Key.Value' (aka 'Application.SteamPress.Storage') does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
11 | }
12 |
13 | final class Storage {
| `- note: class 'Storage' does not conform to the 'Sendable' protocol
14 | var configuration: SteamPressConfiguration
15 |
:
19 | }
20 |
21 | struct Key: StorageKey {
| `- warning: type 'Application.SteamPress.Key.Value' (aka 'Application.SteamPress.Storage') does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
22 | typealias Value = Storage
23 | }
/host/spi-builder-workspace/Sources/SteamPress/SteamPressRoutesLifecycleHandler.swift:3:14: warning: non-final class 'SteamPressRoutesLifecycleHandler' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
1 | import Vapor
2 |
3 | public class SteamPressRoutesLifecycleHandler: LifecycleHandler {
| `- warning: non-final class 'SteamPressRoutesLifecycleHandler' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
4 |
5 | var configuration: SteamPressConfiguration
/host/spi-builder-workspace/Sources/SteamPress/SteamPressRoutesLifecycleHandler.swift:5:9: warning: stored property 'configuration' of 'Sendable'-conforming class 'SteamPressRoutesLifecycleHandler' is mutable; this is an error in the Swift 6 language mode
3 | public class SteamPressRoutesLifecycleHandler: LifecycleHandler {
4 |
5 | var configuration: SteamPressConfiguration
| `- warning: stored property 'configuration' of 'Sendable'-conforming class 'SteamPressRoutesLifecycleHandler' is mutable; this is an error in the Swift 6 language mode
6 |
7 | public init(configuration: SteamPressConfiguration = SteamPressConfiguration()) {
[2382/2387] Compiling SteamPress RealRandomNumberGenerator.swift
/host/spi-builder-workspace/Sources/SteamPress/Services/SteamPressRandomNumberGenerator.swift:41:16: warning: type 'Application.SteamPress.RandomNumberGenerators.Key.Value' (aka 'Application.SteamPress.RandomNumberGenerators.Storage') does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
34 | }
35 |
36 | final class Storage {
| `- note: class 'Storage' does not conform to the 'Sendable' protocol
37 | var makeGenerator: ((Application) -> SteamPressRandomNumberGenerator)?
38 | init() { }
39 | }
40 |
41 | struct Key: StorageKey {
| `- warning: type 'Application.SteamPress.RandomNumberGenerators.Key.Value' (aka 'Application.SteamPress.RandomNumberGenerators.Storage') does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
42 | typealias Value = Storage
43 | }
/host/spi-builder-workspace/Sources/SteamPress/SteamPress+Application.swift:21:16: warning: type 'Application.SteamPress.Key.Value' (aka 'Application.SteamPress.Storage') does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
11 | }
12 |
13 | final class Storage {
| `- note: class 'Storage' does not conform to the 'Sendable' protocol
14 | var configuration: SteamPressConfiguration
15 |
:
19 | }
20 |
21 | struct Key: StorageKey {
| `- warning: type 'Application.SteamPress.Key.Value' (aka 'Application.SteamPress.Storage') does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
22 | typealias Value = Storage
23 | }
/host/spi-builder-workspace/Sources/SteamPress/SteamPressRoutesLifecycleHandler.swift:3:14: warning: non-final class 'SteamPressRoutesLifecycleHandler' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
1 | import Vapor
2 |
3 | public class SteamPressRoutesLifecycleHandler: LifecycleHandler {
| `- warning: non-final class 'SteamPressRoutesLifecycleHandler' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
4 |
5 | var configuration: SteamPressConfiguration
/host/spi-builder-workspace/Sources/SteamPress/SteamPressRoutesLifecycleHandler.swift:5:9: warning: stored property 'configuration' of 'Sendable'-conforming class 'SteamPressRoutesLifecycleHandler' is mutable; this is an error in the Swift 6 language mode
3 | public class SteamPressRoutesLifecycleHandler: LifecycleHandler {
4 |
5 | var configuration: SteamPressConfiguration
| `- warning: stored property 'configuration' of 'Sendable'-conforming class 'SteamPressRoutesLifecycleHandler' is mutable; this is an error in the Swift 6 language mode
6 |
7 | public init(configuration: SteamPressConfiguration = SteamPressConfiguration()) {
[2383/2387] Compiling SteamPress SteamPressRandomNumberGenerator.swift
/host/spi-builder-workspace/Sources/SteamPress/Services/SteamPressRandomNumberGenerator.swift:41:16: warning: type 'Application.SteamPress.RandomNumberGenerators.Key.Value' (aka 'Application.SteamPress.RandomNumberGenerators.Storage') does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
34 | }
35 |
36 | final class Storage {
| `- note: class 'Storage' does not conform to the 'Sendable' protocol
37 | var makeGenerator: ((Application) -> SteamPressRandomNumberGenerator)?
38 | init() { }
39 | }
40 |
41 | struct Key: StorageKey {
| `- warning: type 'Application.SteamPress.RandomNumberGenerators.Key.Value' (aka 'Application.SteamPress.RandomNumberGenerators.Storage') does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
42 | typealias Value = Storage
43 | }
/host/spi-builder-workspace/Sources/SteamPress/SteamPress+Application.swift:21:16: warning: type 'Application.SteamPress.Key.Value' (aka 'Application.SteamPress.Storage') does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
11 | }
12 |
13 | final class Storage {
| `- note: class 'Storage' does not conform to the 'Sendable' protocol
14 | var configuration: SteamPressConfiguration
15 |
:
19 | }
20 |
21 | struct Key: StorageKey {
| `- warning: type 'Application.SteamPress.Key.Value' (aka 'Application.SteamPress.Storage') does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
22 | typealias Value = Storage
23 | }
/host/spi-builder-workspace/Sources/SteamPress/SteamPressRoutesLifecycleHandler.swift:3:14: warning: non-final class 'SteamPressRoutesLifecycleHandler' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
1 | import Vapor
2 |
3 | public class SteamPressRoutesLifecycleHandler: LifecycleHandler {
| `- warning: non-final class 'SteamPressRoutesLifecycleHandler' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
4 |
5 | var configuration: SteamPressConfiguration
/host/spi-builder-workspace/Sources/SteamPress/SteamPressRoutesLifecycleHandler.swift:5:9: warning: stored property 'configuration' of 'Sendable'-conforming class 'SteamPressRoutesLifecycleHandler' is mutable; this is an error in the Swift 6 language mode
3 | public class SteamPressRoutesLifecycleHandler: LifecycleHandler {
4 |
5 | var configuration: SteamPressConfiguration
| `- warning: stored property 'configuration' of 'Sendable'-conforming class 'SteamPressRoutesLifecycleHandler' is mutable; this is an error in the Swift 6 language mode
6 |
7 | public init(configuration: SteamPressConfiguration = SteamPressConfiguration()) {
[2384/2387] Compiling SteamPress SteamPress+Application.swift
/host/spi-builder-workspace/Sources/SteamPress/Services/SteamPressRandomNumberGenerator.swift:41:16: warning: type 'Application.SteamPress.RandomNumberGenerators.Key.Value' (aka 'Application.SteamPress.RandomNumberGenerators.Storage') does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
34 | }
35 |
36 | final class Storage {
| `- note: class 'Storage' does not conform to the 'Sendable' protocol
37 | var makeGenerator: ((Application) -> SteamPressRandomNumberGenerator)?
38 | init() { }
39 | }
40 |
41 | struct Key: StorageKey {
| `- warning: type 'Application.SteamPress.RandomNumberGenerators.Key.Value' (aka 'Application.SteamPress.RandomNumberGenerators.Storage') does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
42 | typealias Value = Storage
43 | }
/host/spi-builder-workspace/Sources/SteamPress/SteamPress+Application.swift:21:16: warning: type 'Application.SteamPress.Key.Value' (aka 'Application.SteamPress.Storage') does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
11 | }
12 |
13 | final class Storage {
| `- note: class 'Storage' does not conform to the 'Sendable' protocol
14 | var configuration: SteamPressConfiguration
15 |
:
19 | }
20 |
21 | struct Key: StorageKey {
| `- warning: type 'Application.SteamPress.Key.Value' (aka 'Application.SteamPress.Storage') does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
22 | typealias Value = Storage
23 | }
/host/spi-builder-workspace/Sources/SteamPress/SteamPressRoutesLifecycleHandler.swift:3:14: warning: non-final class 'SteamPressRoutesLifecycleHandler' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
1 | import Vapor
2 |
3 | public class SteamPressRoutesLifecycleHandler: LifecycleHandler {
| `- warning: non-final class 'SteamPressRoutesLifecycleHandler' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
4 |
5 | var configuration: SteamPressConfiguration
/host/spi-builder-workspace/Sources/SteamPress/SteamPressRoutesLifecycleHandler.swift:5:9: warning: stored property 'configuration' of 'Sendable'-conforming class 'SteamPressRoutesLifecycleHandler' is mutable; this is an error in the Swift 6 language mode
3 | public class SteamPressRoutesLifecycleHandler: LifecycleHandler {
4 |
5 | var configuration: SteamPressConfiguration
| `- warning: stored property 'configuration' of 'Sendable'-conforming class 'SteamPressRoutesLifecycleHandler' is mutable; this is an error in the Swift 6 language mode
6 |
7 | public init(configuration: SteamPressConfiguration = SteamPressConfiguration()) {
[2385/2387] Compiling SteamPress SteamPressError.swift
/host/spi-builder-workspace/Sources/SteamPress/Services/SteamPressRandomNumberGenerator.swift:41:16: warning: type 'Application.SteamPress.RandomNumberGenerators.Key.Value' (aka 'Application.SteamPress.RandomNumberGenerators.Storage') does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
34 | }
35 |
36 | final class Storage {
| `- note: class 'Storage' does not conform to the 'Sendable' protocol
37 | var makeGenerator: ((Application) -> SteamPressRandomNumberGenerator)?
38 | init() { }
39 | }
40 |
41 | struct Key: StorageKey {
| `- warning: type 'Application.SteamPress.RandomNumberGenerators.Key.Value' (aka 'Application.SteamPress.RandomNumberGenerators.Storage') does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
42 | typealias Value = Storage
43 | }
/host/spi-builder-workspace/Sources/SteamPress/SteamPress+Application.swift:21:16: warning: type 'Application.SteamPress.Key.Value' (aka 'Application.SteamPress.Storage') does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
11 | }
12 |
13 | final class Storage {
| `- note: class 'Storage' does not conform to the 'Sendable' protocol
14 | var configuration: SteamPressConfiguration
15 |
:
19 | }
20 |
21 | struct Key: StorageKey {
| `- warning: type 'Application.SteamPress.Key.Value' (aka 'Application.SteamPress.Storage') does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
22 | typealias Value = Storage
23 | }
/host/spi-builder-workspace/Sources/SteamPress/SteamPressRoutesLifecycleHandler.swift:3:14: warning: non-final class 'SteamPressRoutesLifecycleHandler' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
1 | import Vapor
2 |
3 | public class SteamPressRoutesLifecycleHandler: LifecycleHandler {
| `- warning: non-final class 'SteamPressRoutesLifecycleHandler' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
4 |
5 | var configuration: SteamPressConfiguration
/host/spi-builder-workspace/Sources/SteamPress/SteamPressRoutesLifecycleHandler.swift:5:9: warning: stored property 'configuration' of 'Sendable'-conforming class 'SteamPressRoutesLifecycleHandler' is mutable; this is an error in the Swift 6 language mode
3 | public class SteamPressRoutesLifecycleHandler: LifecycleHandler {
4 |
5 | var configuration: SteamPressConfiguration
| `- warning: stored property 'configuration' of 'Sendable'-conforming class 'SteamPressRoutesLifecycleHandler' is mutable; this is an error in the Swift 6 language mode
6 |
7 | public init(configuration: SteamPressConfiguration = SteamPressConfiguration()) {
[2386/2387] Compiling SteamPress SteamPressRoutesLifecycleHandler.swift
/host/spi-builder-workspace/Sources/SteamPress/Services/SteamPressRandomNumberGenerator.swift:41:16: warning: type 'Application.SteamPress.RandomNumberGenerators.Key.Value' (aka 'Application.SteamPress.RandomNumberGenerators.Storage') does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
34 | }
35 |
36 | final class Storage {
| `- note: class 'Storage' does not conform to the 'Sendable' protocol
37 | var makeGenerator: ((Application) -> SteamPressRandomNumberGenerator)?
38 | init() { }
39 | }
40 |
41 | struct Key: StorageKey {
| `- warning: type 'Application.SteamPress.RandomNumberGenerators.Key.Value' (aka 'Application.SteamPress.RandomNumberGenerators.Storage') does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
42 | typealias Value = Storage
43 | }
/host/spi-builder-workspace/Sources/SteamPress/SteamPress+Application.swift:21:16: warning: type 'Application.SteamPress.Key.Value' (aka 'Application.SteamPress.Storage') does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
11 | }
12 |
13 | final class Storage {
| `- note: class 'Storage' does not conform to the 'Sendable' protocol
14 | var configuration: SteamPressConfiguration
15 |
:
19 | }
20 |
21 | struct Key: StorageKey {
| `- warning: type 'Application.SteamPress.Key.Value' (aka 'Application.SteamPress.Storage') does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
22 | typealias Value = Storage
23 | }
/host/spi-builder-workspace/Sources/SteamPress/SteamPressRoutesLifecycleHandler.swift:3:14: warning: non-final class 'SteamPressRoutesLifecycleHandler' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
1 | import Vapor
2 |
3 | public class SteamPressRoutesLifecycleHandler: LifecycleHandler {
| `- warning: non-final class 'SteamPressRoutesLifecycleHandler' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
4 |
5 | var configuration: SteamPressConfiguration
/host/spi-builder-workspace/Sources/SteamPress/SteamPressRoutesLifecycleHandler.swift:5:9: warning: stored property 'configuration' of 'Sendable'-conforming class 'SteamPressRoutesLifecycleHandler' is mutable; this is an error in the Swift 6 language mode
3 | public class SteamPressRoutesLifecycleHandler: LifecycleHandler {
4 |
5 | var configuration: SteamPressConfiguration
| `- warning: stored property 'configuration' of 'Sendable'-conforming class 'SteamPressRoutesLifecycleHandler' is mutable; this is an error in the Swift 6 language mode
6 |
7 | public init(configuration: SteamPressConfiguration = SteamPressConfiguration()) {
[2387/2387] Compiling SteamPress PaginatorTag.swift
/host/spi-builder-workspace/Sources/SteamPress/Services/SteamPressRandomNumberGenerator.swift:41:16: warning: type 'Application.SteamPress.RandomNumberGenerators.Key.Value' (aka 'Application.SteamPress.RandomNumberGenerators.Storage') does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
34 | }
35 |
36 | final class Storage {
| `- note: class 'Storage' does not conform to the 'Sendable' protocol
37 | var makeGenerator: ((Application) -> SteamPressRandomNumberGenerator)?
38 | init() { }
39 | }
40 |
41 | struct Key: StorageKey {
| `- warning: type 'Application.SteamPress.RandomNumberGenerators.Key.Value' (aka 'Application.SteamPress.RandomNumberGenerators.Storage') does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
42 | typealias Value = Storage
43 | }
/host/spi-builder-workspace/Sources/SteamPress/SteamPress+Application.swift:21:16: warning: type 'Application.SteamPress.Key.Value' (aka 'Application.SteamPress.Storage') does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
11 | }
12 |
13 | final class Storage {
| `- note: class 'Storage' does not conform to the 'Sendable' protocol
14 | var configuration: SteamPressConfiguration
15 |
:
19 | }
20 |
21 | struct Key: StorageKey {
| `- warning: type 'Application.SteamPress.Key.Value' (aka 'Application.SteamPress.Storage') does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
22 | typealias Value = Storage
23 | }
/host/spi-builder-workspace/Sources/SteamPress/SteamPressRoutesLifecycleHandler.swift:3:14: warning: non-final class 'SteamPressRoutesLifecycleHandler' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
1 | import Vapor
2 |
3 | public class SteamPressRoutesLifecycleHandler: LifecycleHandler {
| `- warning: non-final class 'SteamPressRoutesLifecycleHandler' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
4 |
5 | var configuration: SteamPressConfiguration
/host/spi-builder-workspace/Sources/SteamPress/SteamPressRoutesLifecycleHandler.swift:5:9: warning: stored property 'configuration' of 'Sendable'-conforming class 'SteamPressRoutesLifecycleHandler' is mutable; this is an error in the Swift 6 language mode
3 | public class SteamPressRoutesLifecycleHandler: LifecycleHandler {
4 |
5 | var configuration: SteamPressConfiguration
| `- warning: stored property 'configuration' of 'Sendable'-conforming class 'SteamPressRoutesLifecycleHandler' is mutable; this is an error in the Swift 6 language mode
6 |
7 | public init(configuration: SteamPressConfiguration = SteamPressConfiguration()) {
Build complete! (162.27s)
Build complete.
{
"dependencies" : [
{
"identity" : "vapor",
"requirement" : {
"range" : [
{
"lower_bound" : "4.0.0-rc",
"upper_bound" : "5.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/vapor/vapor.git"
},
{
"identity" : "swiftsoup",
"requirement" : {
"range" : [
{
"lower_bound" : "2.0.0",
"upper_bound" : "3.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/scinfu/SwiftSoup.git"
},
{
"identity" : "leaf-kit",
"requirement" : {
"range" : [
{
"lower_bound" : "1.0.0-rc.1",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/vapor/leaf-kit.git"
},
{
"identity" : "markdown",
"requirement" : {
"range" : [
{
"lower_bound" : "0.6.1",
"upper_bound" : "1.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/vapor-community/markdown.git"
}
],
"manifest_display_name" : "SteamPress",
"name" : "SteamPress",
"path" : "/host/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "10.15"
}
],
"products" : [
{
"name" : "SteamPress",
"targets" : [
"SteamPress"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "SteamPressTests",
"module_type" : "SwiftTarget",
"name" : "SteamPressTests",
"path" : "Tests/SteamPressTests",
"sources" : [
"APITests/APITagControllerTests.swift",
"AdminTests/AccessControlTests.swift",
"AdminTests/AdminPageTests.swift",
"AdminTests/AdminPostTests.swift",
"AdminTests/AdminUserTests.swift",
"AdminTests/LoginTests.swift",
"BlogTests/AuthorTests.swift",
"BlogTests/DisabledBlogTagTests.swift",
"BlogTests/IndexTests.swift",
"BlogTests/PostTests.swift",
"BlogTests/SearchTests.swift",
"BlogTests/TagTests.swift",
"Fakes/CapturingViewRenderer.swift",
"Fakes/PasswordHasherChoice.swift",
"Fakes/Presenters/CapturingAdminPresenter.swift",
"Fakes/Presenters/CapturingBlogPresenter.swift",
"Fakes/ReversedPasswordHasher.swift",
"Fakes/StubbedRandomNumberGenerator.swift",
"Feed Tests/AtomFeedTests.swift",
"Feed Tests/RSSFeedTests.swift",
"Helpers/InMemoryRepository.swift",
"Helpers/SteamPressTestError.swift",
"Helpers/TestDataBuilder.swift",
"Helpers/TestWorld+Application.swift",
"Helpers/TestWorld+Responses.swift",
"Helpers/TestWorld+TestDataBuilder.swift",
"Helpers/TestWorld.swift",
"Models/LoginData.swift",
"ProviderTests.swift",
"ViewTests/BlogAdminPresenterTests.swift",
"ViewTests/BlogPresenterTests.swift",
"ViewTests/BlogViewTests.swift"
],
"target_dependencies" : [
"SteamPress"
],
"type" : "test"
},
{
"c99name" : "SteamPress",
"module_type" : "SwiftTarget",
"name" : "SteamPress",
"path" : "Sources/SteamPress",
"product_dependencies" : [
"Vapor",
"LeafKit",
"SwiftSoup",
"SwiftMarkdown"
],
"product_memberships" : [
"SteamPress"
],
"sources" : [
"BlogPathCreator.swift",
"Config/BlogAdminPageInformation.swift",
"Config/BlogGlobalPageInformation.swift",
"Config/FeedInformation.swift",
"Config/PaginationInformation.swift",
"Controllers/API/APIController.swift",
"Controllers/API/APITagController.swift",
"Controllers/Admin/LoginController.swift",
"Controllers/Admin/PostAdminController.swift",
"Controllers/Admin/UserAdminController.swift",
"Controllers/BlogAdminController.swift",
"Controllers/BlogController.swift",
"Controllers/FeedController.swift",
"Extensions/BlogUser+Information.swift",
"Extensions/Models+Parameters.swift",
"Extensions/Request+PageInformation.swift",
"Extensions/Request+PaginationInformation.swift",
"Extensions/String+Optional+Whitespace.swift",
"Extensions/String+Random.swift",
"Extensions/URL+Converters.swift",
"Feed Generators/AtomFeedGenerator.swift",
"Feed Generators/RSSFeedGenerator.swift",
"Middleware/BlogAuthSessionsMiddleware.swift",
"Middleware/BlogLoginRedirectAuthMiddleware.swift",
"Middleware/BlogRememberMeMiddleware.swift",
"Models/BlogPost.swift",
"Models/BlogTag.swift",
"Models/BlogUser.swift",
"Models/Contexts/Admin/AdminPageContext.swift",
"Models/Contexts/Admin/CreatePostPageContext.swift",
"Models/Contexts/Admin/CreateUserPageContext.swift",
"Models/Contexts/Admin/ResetPasswordPageContext.swift",
"Models/Contexts/AllAuthorsPageContext.swift",
"Models/Contexts/AllTagsPageContext.swift",
"Models/Contexts/AuthorPageContext.swift",
"Models/Contexts/BlogIndexPageContext.swift",
"Models/Contexts/BlogPostPageContext.swift",
"Models/Contexts/ContextViews/BlogTagWithPostCount.swift",
"Models/Contexts/ContextViews/ViewBlogAuthor.swift",
"Models/Contexts/ContextViews/ViewBlogPost.swift",
"Models/Contexts/ContextViews/ViewBlogTag.swift",
"Models/Contexts/LoginPageContext.swift",
"Models/Contexts/PaginationTagInformation.swift",
"Models/Contexts/SearchPageContext.swift",
"Models/Contexts/TagPageContext.swift",
"Models/Errors/CreatePostErrors.swift",
"Models/Errors/CreateUserErrors.swift",
"Models/FormData/CreatePostData.swift",
"Models/FormData/CreateUserData.swift",
"Models/FormData/LoginData.swift",
"Models/FormData/ResetPasswordData.swift",
"Presenters/Application+SteamPress+BlogAdminPresenter.swift",
"Presenters/Application+SteamPress+BlogPresenter.swift",
"Presenters/BlogAdminPresenter.swift",
"Presenters/BlogPresenter.swift",
"Presenters/ViewBlogAdminPresenter.swift",
"Presenters/ViewBlogPresenter.swift",
"Repositories/Application+SteamPress+Repositories.swift",
"Repositories/Request+Repositories.swift",
"Repositories/SteamPressRepository.swift",
"Services/LongPostDateFormatter.swift",
"Services/NumericPostFormatter.swift",
"Services/RealRandomNumberGenerator.swift",
"Services/SteamPressRandomNumberGenerator.swift",
"SteamPress+Application.swift",
"SteamPressError.swift",
"SteamPressRoutesLifecycleHandler.swift",
"Views/PaginatorTag.swift"
],
"type" : "library"
}
],
"tools_version" : "5.2"
}
basic-6.0-latest: Pulling from finestructure/spi-images
Digest: sha256:47d26c99ca4f1ac0a332c85fd5b13ff4390e72115219984a57a68fe9d1063a05
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.0-latest
Done.