@@ -232,11 +232,23 @@ struct EjectListView: View {
232232 }
233233
234234 private func deletePlugIns( at offsets: IndexSet ) {
235+ var logFileURL : URL ?
236+
235237 do {
236238 let plugInsToRemove = offsets. map { ejectList. filteredPlugIns [ $0] }
237239 let plugInURLsToRemove = plugInsToRemove. map { $0. url }
238240
239241 let injector = try InjectorV3 ( ejectList. app. url)
242+ logFileURL = injector. latestLogFileURL
243+
244+ if injector. appID. isEmpty {
245+ injector. appID = ejectList. app. id
246+ }
247+
248+ if injector. teamID. isEmpty {
249+ injector. teamID = ejectList. app. teamID
250+ }
251+
240252 injector. useWeakReference = useWeakReference
241253 injector. preferMainExecutable = preferMainExecutable
242254 injector. injectStrategy = injectStrategy
@@ -248,33 +260,36 @@ struct EjectListView: View {
248260 } catch {
249261 DDLogError ( " \( error) " , ddlog: InjectorV3 . main. logger)
250262
251- lastError = error
252- isErrorOccurred = true
253- }
254- }
255-
256- private func deletePlugIn( _ plugin: InjectedPlugIn ) {
257- do {
258- let injector = try InjectorV3 ( ejectList. app. url)
259- injector. useWeakReference = useWeakReference
260- injector. preferMainExecutable = preferMainExecutable
261- injector. injectStrategy = injectStrategy
263+ var userInfo : [ String : Any ] = [
264+ NSLocalizedDescriptionKey: error. localizedDescription,
265+ ]
262266
263- try injector. eject ( [ plugin. url] )
267+ if let logFileURL {
268+ userInfo [ NSURLErrorKey] = logFileURL
269+ }
264270
265- ejectList. app. reload ( )
266- ejectList. reload ( )
267- } catch {
268- DDLogError ( " \( error) " , ddlog: InjectorV3 . main. logger)
271+ let nsErr = NSError ( domain: gTrollFoolsErrorDomain, code: 0 , userInfo: userInfo)
269272
270- lastError = error
273+ lastError = nsErr
271274 isErrorOccurred = true
272275 }
273276 }
274277
275278 private func deleteAll( ) {
279+ var logFileURL : URL ?
280+
276281 do {
277282 let injector = try InjectorV3 ( ejectList. app. url)
283+ logFileURL = injector. latestLogFileURL
284+
285+ if injector. appID. isEmpty {
286+ injector. appID = ejectList. app. id
287+ }
288+
289+ if injector. teamID. isEmpty {
290+ injector. teamID = ejectList. app. teamID
291+ }
292+
278293 injector. useWeakReference = useWeakReference
279294 injector. preferMainExecutable = preferMainExecutable
280295 injector. injectStrategy = injectStrategy
@@ -303,7 +318,17 @@ struct EjectListView: View {
303318 DispatchQueue . main. async {
304319 DDLogError ( " \( error) " , ddlog: InjectorV3 . main. logger)
305320
306- lastError = error
321+ var userInfo : [ String : Any ] = [
322+ NSLocalizedDescriptionKey: error. localizedDescription,
323+ ]
324+
325+ if let logFileURL {
326+ userInfo [ NSURLErrorKey] = logFileURL
327+ }
328+
329+ let nsErr = NSError ( domain: gTrollFoolsErrorDomain, code: 0 , userInfo: userInfo)
330+
331+ lastError = nsErr
307332 isErrorOccurred = true
308333 }
309334 }
0 commit comments