Sessions in a lab are now collaborative artifacts. Any owner can host (own the local Frida attachment) and any owner can drive (issue REPL evals and instrument commands); a driver's actions are relayed to the current host. Members watch read-only and see an "Only lab owners can host sessions" CTA when they try the new session button. Re-host (Run on My Device…) lets an owner take over a running session by attaching to their own equivalent process; the prior host's Frida attachment detaches and the new host auto-loads the session's instruments. Driver auto-reverts to host when the current driver fully disconnects from the lab.
20 lines
506 B
Swift
20 lines
506 B
Swift
import Foundation
|
|
|
|
public struct ConsoleMessage: CustomStringConvertible, Codable, Sendable {
|
|
public let level: ConsoleLevel
|
|
public let values: [JSInspectValue]
|
|
|
|
public init(level: ConsoleLevel, values: [JSInspectValue]) {
|
|
self.level = level
|
|
self.values = values
|
|
}
|
|
|
|
public var description: String {
|
|
let body =
|
|
values
|
|
.map { String(describing: $0) }
|
|
.joined(separator: " ")
|
|
return "[\(level.rawValue)] \(body)"
|
|
}
|
|
}
|