How sjasonp/historylib works
HistoryLib is a SwiftUI app for importing browser-history data, storing and managing records, then browsing, summarizing, and exporting them. The central ContentView coordinates user actions and derived views around a SwiftData-backed history store. Import and export support Safari, Chrome Takeout, and HistoryLib archives; archive encryption, iCloud sync, and favicon fetching extend the core workflow. The README documents several capabilities whose implementation was not sampled, so those subsystem links are shown only where supported by the tree or excerpts.
Main entry points: ContentView.swift App Coordinator · Item.swift SwiftData Store · HistoryImporter.swift Import Coordinator · HistoryExporter.swift Export Coordinator
Components 28
App and Views
- App Entry
HistoryLib/App/HistoryLibApp.swift - App Coordinator
HistoryLib/App/ContentView.swift - View Composition
HistoryLib/Shared/ContentView_ViewComposition.swift - User Actions
HistoryLib/Shared/ContentView_Actions.swift - History Library
HistoryLib/Features/Library/HistoryListView.swift - History Search
HistoryLib/Features/Library/ContentView_Search.swift - Data Management
HistoryLib/Features/Manage/ManageView.swift - Summary Views
HistoryLib/Features/Summary/ContentView_Summary.swift
History Records
- History Record
HistoryLib/Models/Item.swift - SwiftData Store
HistoryLib/Models/Item.swift - Summary Snapshot
HistoryLib/Features/Summary/SummarySnapshot.swift
Import and Export
- Import Coordinator
HistoryLib/Services/Import/HistoryImporter.swift - Safari Import
HistoryLib/Services/Import/SafariHistoryImporter.swift - Chrome Import
HistoryLib/Services/Import/ChromeHistoryImporter.swift - Takeout Parser
HistoryLib/Services/Import/ChromeTakeoutStreamParser.swift - Archive Import
HistoryLib/Services/Import/HistoryLibArchiveImporter.swift - Export Coordinator
HistoryLib/Services/Export/HistoryExporter.swift - Safari Export
HistoryLib/Services/Export/HistoryExporter_Safari.swift - HistoryLib Export
HistoryLib/Services/Export/HistoryExporter_HistoryLib.swift - Archive Encryption
HistoryLib/Services/Archive/HistoryLibEncryptedArchive.swift
Supporting Services
- Duplicate Cleaner
HistoryLib/Services/Sync/HistoryDuplicateCleaner.swift - Cloud Sync
HistoryLib/Services/Sync/AppSettingsCloudSync.swift - Favicon Cache
HistoryLib/Services/Favicon/FaviconStore.swift - Cache Management
HistoryLib/Services/Cache/ClearCacheStorageUsage.swift
Other components
- User
- System Browser
- iCloud
- Website Network
Connections 35
- User → App Entry: launches
- App Entry → App Coordinator: shows
- App Coordinator → View Composition: composes
- App Coordinator → User Actions: handles actions
- App Coordinator → History Library: shows library
- App Coordinator → History Search: loads matches
- App Coordinator → Summary Views: refreshes summary
- App Coordinator → Import Coordinator: starts import
- App Coordinator → Export Coordinator: prepares export
- App Coordinator → Duplicate Cleaner: schedules cleanup
- App Coordinator → Cloud Sync: checks sync
- App Coordinator → SwiftData Store: fetches and saves
- History Library → SwiftData Store: browses records
- History Search → SwiftData Store: scans records
- Summary Views → SwiftData Store: computes statistics
- Summary Views → Summary Snapshot: persists snapshot
- User Actions → SwiftData Store: deletes records
- User Actions → System Browser: opens records
- Import Coordinator → Safari Import: dispatches
- Import Coordinator → Chrome Import: dispatches
- Import Coordinator → Archive Import: dispatches
- Chrome Import → Takeout Parser: parses Takeout
- Import Coordinator → SwiftData Store: inserts records
- Export Coordinator → Safari Export: dispatches
- Export Coordinator → HistoryLib Export: dispatches
- Export Coordinator → SwiftData Store: reads records
- HistoryLib Export → Archive Encryption: encrypts archive
- Archive Import → Archive Encryption: decrypts archive
- Duplicate Cleaner → SwiftData Store: deduplicates records
- Cloud Sync → iCloud: syncs settings
- Cloud Sync → SwiftData Store: syncs records
- History Library → Favicon Cache: shows site icons
- Favicon Cache → Website Network: fetches icons
- Data Management → Cache Management: measures and clears
- Data Management → User Actions: requests management