✨ Introduce Scribe Logging package#917
Merged
Merged
Conversation
SenpaiHunters
commented
Dec 8, 2025
SenpaiHunters
commented
Dec 8, 2025
SenpaiHunters
commented
Dec 8, 2025
SenpaiHunters
commented
Dec 8, 2025
SenpaiHunters
commented
Dec 8, 2025
SenpaiHunters
commented
Dec 8, 2025
SenpaiHunters
commented
Dec 8, 2025
There was a problem hiding this comment.
Pull request overview
This PR introduces Scribe, a unified logging package that standardizes application logging across Loop by replacing ad-hoc print statements and direct os_log calls with a centralized logging API.
- Adds Scribe as a Swift package dependency tracking the main branch
- Defines 20+ centralized logging categories in
Logger+Extensions.swift - Migrates 13+ files from OSLog's
Loggerto Scribe'sLogAPI
Reviewed changes
Copilot reviewed 41 out of 41 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| Loop.xcodeproj/project.pbxproj | Adds Scribe package dependency configured to track main branch |
| Loop/Extensions/Logger+Extensions.swift | Defines centralized LogCategory extensions for all logging contexts |
| Loop/App/AppDelegate.swift | Configures Scribe logging with minimum info level and migrates URL handling logs |
| Loop/App/AppDelegate+UNNotifications.swift | Migrates notification-related logging to Scribe |
| Loop/App/DataPatcher.swift | Migrates data migration logging to Scribe |
| Loop/Core/LoopManager.swift | Migrates core window management logging to Scribe |
| Loop/Core/URLCommandHandler.swift | Migrates URL command handling logs from debug to info level |
| Loop/Core/WindowDragManager.swift | Migrates window dragging event logging to Scribe |
| Loop/Core/Observers/MouseInteractionObserver.swift | Migrates mouse interaction logging to Scribe |
| Loop/Icon/IconManager.swift | Migrates app icon management logging to Scribe |
| Loop/Migration/Migrator.swift | Migrates keybind import logging to Scribe |
| Loop/Stashing/StashManager.swift | Migrates window stashing operation logging to Scribe |
| Loop/Stashing/StashedWindow.swift | Migrates stashed window frame logging to Scribe |
| Loop/Stashing/StashedWindowStore.swift | Migrates window store persistence logging to Scribe |
| Loop/Updater/Updater.swift | Migrates app update process logging to Scribe |
| Loop/Utilities/AccessibilityManager.swift | Adds compatibility comments for macOS 26.0 API usage |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
mrkai77
approved these changes
Dec 8, 2025
86d2d96 to
8b4a3e9
Compare
# Conflicts: # Loop.xcodeproj/project.pbxproj # Loop/Settings Window/Settings/Keybinds/Keybind Recorder/TriggerKeycorder.swift # Loop/Settings Window/SettingsWindowManager.swift
8b4a3e9 to
1223d51
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Introduce a unified logging package, Scribe, to standardise and simplify application logging.
Usage
Notes
printstatements and directos_logcalls.