Skip to content

Eliminate pervasive try? silent error swallowing #143

@dhilgaertner

Description

@dhilgaertner

Problem

54 instances of try? across the app code (23 in SessionService, 17 in IssueTracker, 6 in Scaffolder, 3 in AllowListService, 3 in AppDelegate, 2 in HookConfigGenerator). Most discard errors from file I/O, shell commands, and JSON parsing without any logging. When something breaks in production, there's no diagnostic trail.

Proposed Improvement

Replace try? with either:

  • do/catch with NSLog for operations where failure matters (file deletion, shell commands, JSON parsing)
  • Keep try? only for truly optional operations (e.g., deleting a backup file that may not exist)

Effort

Low-Medium (1–2 hours). Audit each try?, decide if it should log, wrap in do/catch.

Files Affected

  • Sources/Crow/App/SessionService.swift (23 instances)
  • Sources/Crow/App/IssueTracker.swift (17 instances)
  • Sources/Crow/App/Scaffolder.swift (6 instances)
  • Sources/Crow/App/AllowListService.swift (3 instances)
  • Sources/Crow/App/AppDelegate.swift (3 instances)

Priority: 6/10

Metadata

Metadata

Assignees

Labels

refactorCode refactoring and cleanup

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions