Skip to content
This repository was archived by the owner on Sep 20, 2023. It is now read-only.

Commit 5c34b46

Browse files
authored
update routing lib and wire up new repo route (#2344)
1 parent 7ab377d commit 5c34b46

16 files changed

+4173
-4053
lines changed

Classes/Systems/AppRouter/AppController+SetupRoutes.swift

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@ extension AppController {
1515
register(route: BookmarkShortcutRoute.self)
1616
register(route: SwitchAccountShortcutRoute.self)
1717
register(route: SearchShortcutRoute.self)
18-
register(route: IssueNotificationRoute.self)
18+
register(route: IssueRoute.self)
19+
register(route: RepoRoute.self)
1920
}
2021

2122
}

Classes/Systems/AppRouter/IssueNotificationRoute.swift renamed to Classes/Systems/AppRouter/IssueRoute+RoutePerformable.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import Foundation
1010
import GitHubSession
1111
import GitHawkRoutes
1212

13-
extension IssueNotificationRoute: RoutePerformable {
13+
extension IssueRoute: RoutePerformable {
1414
func perform(
1515
sessionManager: GitHubSessionManager,
1616
splitViewController: AppSplitViewController,
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
//
2+
// RepoRoute+RoutePerformable.swift
3+
// Freetime
4+
//
5+
// Created by Ryan Nystrom on 10/21/18.
6+
// Copyright © 2018 Ryan Nystrom. All rights reserved.
7+
//
8+
9+
import Foundation
10+
import GitHawkRoutes
11+
import GitHubSession
12+
13+
extension RepoRoute: RoutePerformable {
14+
func perform(
15+
sessionManager: GitHubSessionManager,
16+
splitViewController: AppSplitViewController,
17+
client: GithubClient
18+
) -> Bool {
19+
// TODO issues enabled should be fetched in the VC
20+
let model = RepositoryDetails(
21+
owner: owner,
22+
name: repo,
23+
defaultBranch: branch,
24+
hasIssuesEnabled: true
25+
)
26+
let controller = RepositoryViewController(client: client, repo: model)
27+
splitViewController.showDetailViewController(controller, sender: nil)
28+
return true
29+
}
30+
}

Classes/Systems/BadgeNotifications.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ final class BadgeNotifications {
138138
// currently only handling issues
139139
if let identifier = $0.subject.identifier,
140140
case .number(let n) = identifier {
141-
content.set(route: IssueNotificationRoute(
141+
content.set(route: IssueRoute(
142142
owner: $0.repository.owner.login,
143143
repo: $0.repository.name,
144144
number: n

Freetime.xcodeproj/project.pbxproj

Lines changed: 24 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,11 @@
2525
290CA7642169799600DE04F8 /* AppController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 290CA7632169799600DE04F8 /* AppController.swift */; };
2626
290CA76621697A7900DE04F8 /* AppSplitViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 290CA76521697A7900DE04F8 /* AppSplitViewController.swift */; };
2727
290CA768216984F000DE04F8 /* Client+GithubUserSession.swift in Sources */ = {isa = PBXBuildFile; fileRef = 290CA767216984F000DE04F8 /* Client+GithubUserSession.swift */; };
28-
290CA76A216AC82700DE04F8 /* SearchShortcutRoute.swift in Sources */ = {isa = PBXBuildFile; fileRef = 290CA769216AC82700DE04F8 /* SearchShortcutRoute.swift */; };
28+
290CA76A216AC82700DE04F8 /* SearchShortcutRoute+RoutePerformable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 290CA769216AC82700DE04F8 /* SearchShortcutRoute+RoutePerformable.swift */; };
2929
290CA770216AE91300DE04F8 /* UITabBarController+SelectType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 290CA76F216AE91300DE04F8 /* UITabBarController+SelectType.swift */; };
30-
290CA772216AE93E00DE04F8 /* SwitchAccountShortcutRoute.swift in Sources */ = {isa = PBXBuildFile; fileRef = 290CA771216AE93E00DE04F8 /* SwitchAccountShortcutRoute.swift */; };
31-
290CA774216AE94D00DE04F8 /* BookmarkShortcutRoute.swift in Sources */ = {isa = PBXBuildFile; fileRef = 290CA773216AE94D00DE04F8 /* BookmarkShortcutRoute.swift */; };
32-
290CA778216AFAE600DE04F8 /* RoutePerformable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 290CA777216AFAE600DE04F8 /* RoutePerformable.swift */; };
30+
290CA772216AE93E00DE04F8 /* SwitchAccountShortcutRoute+RoutePerformable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 290CA771216AE93E00DE04F8 /* SwitchAccountShortcutRoute+RoutePerformable.swift */; };
31+
290CA774216AE94D00DE04F8 /* BookmarkShortcutRoute+RoutePerformable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 290CA773216AE94D00DE04F8 /* BookmarkShortcutRoute+RoutePerformable.swift */; };
32+
290CA778216AFAE600DE04F8 /* RoutePerformable+RoutePerformable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 290CA777216AFAE600DE04F8 /* RoutePerformable+RoutePerformable.swift */; };
3333
290CA77A216AFC1300DE04F8 /* AppController+SetupRoutes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 290CA779216AFC1300DE04F8 /* AppController+SetupRoutes.swift */; };
3434
290D2A3D1F044CB20082E6CC /* UIViewController+SmartDeselection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 290D2A3C1F044CB20082E6CC /* UIViewController+SmartDeselection.swift */; };
3535
290D2A421F04D3470082E6CC /* IssueStatus.swift in Sources */ = {isa = PBXBuildFile; fileRef = 290D2A411F04D3470082E6CC /* IssueStatus.swift */; };
@@ -206,6 +206,7 @@
206206
295C31D11F0AA72000521CED /* IssueStatusEvent+ButtonState.swift in Sources */ = {isa = PBXBuildFile; fileRef = 295C31D01F0AA72000521CED /* IssueStatusEvent+ButtonState.swift */; };
207207
295F52AA1EF1BB86000B53CF /* Test.md in Resources */ = {isa = PBXBuildFile; fileRef = 295F52A61EF1B9D2000B53CF /* Test.md */; };
208208
29622B45210520E6000C428D /* CardCollectionViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 29622B44210520E6000C428D /* CardCollectionViewCell.swift */; };
209+
29625060217D53C000EA6164 /* RepoRoute+RoutePerformable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2962505F217D53C000EA6164 /* RepoRoute+RoutePerformable.swift */; };
209210
2963A9321EE1EBE20066509C /* UIMenuController+Reactions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2963A9311EE1EBE20066509C /* UIMenuController+Reactions.swift */; };
210211
2963A9341EE2118E0066509C /* ResponderButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2963A9331EE2118E0066509C /* ResponderButton.swift */; };
211212
2963A93B1EE25F6F0066509C /* LabelableFields+IssueLabelModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2963A93A1EE25F6F0066509C /* LabelableFields+IssueLabelModel.swift */; };
@@ -301,7 +302,7 @@
301302
29A08FBE1F12EF7C00C5368E /* IssueReferencedCommitModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 29A08FBB1F12EF7C00C5368E /* IssueReferencedCommitModel.swift */; };
302303
29A08FBF1F12EF7C00C5368E /* IssueReferencedCommitSectionController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 29A08FBC1F12EF7C00C5368E /* IssueReferencedCommitSectionController.swift */; };
303304
29A1053F216D9062004734A0 /* UNNotificationContent+Routable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 29A1053E216D9062004734A0 /* UNNotificationContent+Routable.swift */; };
304-
29A10541216D912F004734A0 /* IssueNotificationRoute.swift in Sources */ = {isa = PBXBuildFile; fileRef = 29A10540216D912F004734A0 /* IssueNotificationRoute.swift */; };
305+
29A10541216D912F004734A0 /* IssueRoute+RoutePerformable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 29A10540216D912F004734A0 /* IssueRoute+RoutePerformable.swift */; };
305306
29A10543216D9381004734A0 /* UNMutableNotificationContent+Routable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 29A10542216D9381004734A0 /* UNMutableNotificationContent+Routable.swift */; };
306307
29A10545216D9515004734A0 /* AppController+UNUserNotificationCenterDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 29A10544216D9515004734A0 /* AppController+UNUserNotificationCenterDelegate.swift */; };
307308
29A195021EC66B8B00C3E289 /* UIColor+Hex.swift in Sources */ = {isa = PBXBuildFile; fileRef = 29A195011EC66B8B00C3E289 /* UIColor+Hex.swift */; };
@@ -565,11 +566,11 @@
565566
290CA7632169799600DE04F8 /* AppController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppController.swift; sourceTree = "<group>"; };
566567
290CA76521697A7900DE04F8 /* AppSplitViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppSplitViewController.swift; sourceTree = "<group>"; };
567568
290CA767216984F000DE04F8 /* Client+GithubUserSession.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Client+GithubUserSession.swift"; sourceTree = "<group>"; };
568-
290CA769216AC82700DE04F8 /* SearchShortcutRoute.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchShortcutRoute.swift; sourceTree = "<group>"; };
569+
290CA769216AC82700DE04F8 /* SearchShortcutRoute+RoutePerformable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "SearchShortcutRoute+RoutePerformable.swift"; sourceTree = "<group>"; };
569570
290CA76F216AE91300DE04F8 /* UITabBarController+SelectType.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UITabBarController+SelectType.swift"; sourceTree = "<group>"; };
570-
290CA771216AE93E00DE04F8 /* SwitchAccountShortcutRoute.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SwitchAccountShortcutRoute.swift; sourceTree = "<group>"; };
571-
290CA773216AE94D00DE04F8 /* BookmarkShortcutRoute.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BookmarkShortcutRoute.swift; sourceTree = "<group>"; };
572-
290CA777216AFAE600DE04F8 /* RoutePerformable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RoutePerformable.swift; sourceTree = "<group>"; };
571+
290CA771216AE93E00DE04F8 /* SwitchAccountShortcutRoute+RoutePerformable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "SwitchAccountShortcutRoute+RoutePerformable.swift"; sourceTree = "<group>"; };
572+
290CA773216AE94D00DE04F8 /* BookmarkShortcutRoute+RoutePerformable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "BookmarkShortcutRoute+RoutePerformable.swift"; sourceTree = "<group>"; };
573+
290CA777216AFAE600DE04F8 /* RoutePerformable+RoutePerformable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "RoutePerformable+RoutePerformable.swift"; sourceTree = "<group>"; };
573574
290CA779216AFC1300DE04F8 /* AppController+SetupRoutes.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "AppController+SetupRoutes.swift"; sourceTree = "<group>"; };
574575
290D2A3C1F044CB20082E6CC /* UIViewController+SmartDeselection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIViewController+SmartDeselection.swift"; sourceTree = "<group>"; };
575576
290D2A411F04D3470082E6CC /* IssueStatus.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IssueStatus.swift; sourceTree = "<group>"; };
@@ -747,6 +748,7 @@
747748
295F52A61EF1B9D2000B53CF /* Test.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = Test.md; sourceTree = "<group>"; };
748749
295F52D91EF1C0C7000B53CF /* MMMarkdown.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = MMMarkdown.framework; sourceTree = BUILT_PRODUCTS_DIR; };
749750
29622B44210520E6000C428D /* CardCollectionViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardCollectionViewCell.swift; sourceTree = "<group>"; };
751+
2962505F217D53C000EA6164 /* RepoRoute+RoutePerformable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "RepoRoute+RoutePerformable.swift"; sourceTree = "<group>"; };
750752
2963A9311EE1EBE20066509C /* UIMenuController+Reactions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIMenuController+Reactions.swift"; sourceTree = "<group>"; };
751753
2963A9331EE2118E0066509C /* ResponderButton.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ResponderButton.swift; sourceTree = "<group>"; };
752754
2963A93A1EE25F6F0066509C /* LabelableFields+IssueLabelModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "LabelableFields+IssueLabelModel.swift"; sourceTree = "<group>"; };
@@ -849,7 +851,7 @@
849851
29A08FBB1F12EF7C00C5368E /* IssueReferencedCommitModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IssueReferencedCommitModel.swift; sourceTree = "<group>"; };
850852
29A08FBC1F12EF7C00C5368E /* IssueReferencedCommitSectionController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IssueReferencedCommitSectionController.swift; sourceTree = "<group>"; };
851853
29A1053E216D9062004734A0 /* UNNotificationContent+Routable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UNNotificationContent+Routable.swift"; sourceTree = "<group>"; };
852-
29A10540216D912F004734A0 /* IssueNotificationRoute.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IssueNotificationRoute.swift; sourceTree = "<group>"; };
854+
29A10540216D912F004734A0 /* IssueRoute+RoutePerformable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "IssueRoute+RoutePerformable.swift"; sourceTree = "<group>"; };
853855
29A10542216D9381004734A0 /* UNMutableNotificationContent+Routable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UNMutableNotificationContent+Routable.swift"; sourceTree = "<group>"; };
854856
29A10544216D9515004734A0 /* AppController+UNUserNotificationCenterDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "AppController+UNUserNotificationCenterDelegate.swift"; sourceTree = "<group>"; };
855857
29A195011EC66B8B00C3E289 /* UIColor+Hex.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "UIColor+Hex.swift"; sourceTree = "<group>"; };
@@ -1123,11 +1125,12 @@
11231125
290CA779216AFC1300DE04F8 /* AppController+SetupRoutes.swift */,
11241126
29A10544216D9515004734A0 /* AppController+UNUserNotificationCenterDelegate.swift */,
11251127
290CA76521697A7900DE04F8 /* AppSplitViewController.swift */,
1126-
290CA773216AE94D00DE04F8 /* BookmarkShortcutRoute.swift */,
1127-
29A10540216D912F004734A0 /* IssueNotificationRoute.swift */,
1128-
290CA777216AFAE600DE04F8 /* RoutePerformable.swift */,
1129-
290CA769216AC82700DE04F8 /* SearchShortcutRoute.swift */,
1130-
290CA771216AE93E00DE04F8 /* SwitchAccountShortcutRoute.swift */,
1128+
290CA773216AE94D00DE04F8 /* BookmarkShortcutRoute+RoutePerformable.swift */,
1129+
29A10540216D912F004734A0 /* IssueRoute+RoutePerformable.swift */,
1130+
2962505F217D53C000EA6164 /* RepoRoute+RoutePerformable.swift */,
1131+
290CA777216AFAE600DE04F8 /* RoutePerformable+RoutePerformable.swift */,
1132+
290CA769216AC82700DE04F8 /* SearchShortcutRoute+RoutePerformable.swift */,
1133+
290CA771216AE93E00DE04F8 /* SwitchAccountShortcutRoute+RoutePerformable.swift */,
11311134
29A10542216D9381004734A0 /* UNMutableNotificationContent+Routable.swift */,
11321135
29A1053E216D9062004734A0 /* UNNotificationContent+Routable.swift */,
11331136
);
@@ -2817,6 +2820,7 @@
28172820
291929611F3FD2960012067B /* DiffString.swift in Sources */,
28182821
290744B51F250A6800FD9E48 /* EmojiAutocomplete.swift in Sources */,
28192822
29C167691ECA016500439D62 /* EmptyView.swift in Sources */,
2823+
29625060217D53C000EA6164 /* RepoRoute+RoutePerformable.swift in Sources */,
28202824
29F3A18420CADA3A00645CB7 /* NotificationsViewController.swift in Sources */,
28212825
2957777B200129EB00DDD785 /* Int+Abbreviated.swift in Sources */,
28222826
29C1677A1ECA14F700439D62 /* Feed.swift in Sources */,
@@ -2870,7 +2874,7 @@
28702874
2967DC56211751CB00FD3683 /* UIContentSizeCategory+Preferred.swift in Sources */,
28712875
7BBFEE5B1F8A8A0400C68E47 /* SearchBarSectionController.swift in Sources */,
28722876
292FCAFA1EDFCC510026635E /* IssueCommentDetailsViewModel.swift in Sources */,
2873-
29A10541216D912F004734A0 /* IssueNotificationRoute.swift in Sources */,
2877+
29A10541216D912F004734A0 /* IssueRoute+RoutePerformable.swift in Sources */,
28742878
2949674E1EF9719300B1CF1A /* IssueCommentHrCell.swift in Sources */,
28752879
2949674C1EF9716400B1CF1A /* IssueCommentHrModel.swift in Sources */,
28762880
294967531EFC1EDB00B1CF1A /* IssueCommentHtmlCell.swift in Sources */,
@@ -2976,7 +2980,7 @@
29762980
2928C78C1F15D80E0000D06D /* IssueRenamedSectionController.swift in Sources */,
29772981
2928C78E1F15DF1B0000D06D /* IssueRenamedString.swift in Sources */,
29782982
297A372E1F17018F0081C04E /* IssueRequestCell.swift in Sources */,
2979-
290CA774216AE94D00DE04F8 /* BookmarkShortcutRoute.swift in Sources */,
2983+
290CA774216AE94D00DE04F8 /* BookmarkShortcutRoute+RoutePerformable.swift in Sources */,
29802984
297A372C1F1700BC0081C04E /* IssueRequestModel.swift in Sources */,
29812985
297A37301F1704C10081C04E /* IssueRequestSectionController.swift in Sources */,
29822986
29F7F05C1F2A751B00F6075D /* IssueResult.swift in Sources */,
@@ -3094,13 +3098,13 @@
30943098
2905AFAF1F7357FA0015AE32 /* RepositoryViewController.swift in Sources */,
30953099
2963A9341EE2118E0066509C /* ResponderButton.swift in Sources */,
30963100
BDB6AA69215FBC35009BB73C /* RepositoryBranchesViewController.swift in Sources */,
3097-
290CA772216AE93E00DE04F8 /* SwitchAccountShortcutRoute.swift in Sources */,
3101+
290CA772216AE93E00DE04F8 /* SwitchAccountShortcutRoute+RoutePerformable.swift in Sources */,
30983102
293189281F5391F700EF0911 /* Result.swift in Sources */,
3099-
290CA778216AFAE600DE04F8 /* RoutePerformable.swift in Sources */,
3103+
290CA778216AFAE600DE04F8 /* RoutePerformable+RoutePerformable.swift in Sources */,
31003104
295B51421FC26B8100C3993B /* PeopleCell.swift in Sources */,
31013105
29316DBF1ECC95DB007CAE3F /* RootViewControllers.swift in Sources */,
31023106
29DA1E791F5DEE8F0050C64B /* SearchLoadingView.swift in Sources */,
3103-
290CA76A216AC82700DE04F8 /* SearchShortcutRoute.swift in Sources */,
3107+
290CA76A216AC82700DE04F8 /* SearchShortcutRoute+RoutePerformable.swift in Sources */,
31043108
986B872D1F2C846700AAB55C /* SearchNoResultsCell.swift in Sources */,
31053109
DC60C6DC1F99414E00241271 /* IsCancellationError.swift in Sources */,
31063110
29CC29311FF421DC006B6DE7 /* PullRequestReviewCommentsViewController.swift in Sources */,

Podfile.lock

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,7 @@ CHECKOUT OPTIONS:
170170
:commit: beb697643eea11f40bb66683d1576a2772080d9d
171171
:git: https://github.com/GitHawkApp/FlatCache.git
172172
GitHawkRoutes:
173-
:commit: 33ecf4eaba9f472e307421a5b23a596b2fd93821
173+
:commit: 1947e45203b81c1bfed2c8427a395afb7917e6ca
174174
:git: https://github.com/GitHawkApp/GitHawkRoutes.git
175175
Highlightr:
176176
:commit: 4f7e90477619b8dc4b9e641efd10952c22150c5c
@@ -204,7 +204,7 @@ SPEC CHECKSUMS:
204204
FlatCache: e67d3d45a0f76b93e66883b802051dcbf9d50649
205205
FLEX: bd1a39e55b56bb413b6f1b34b3c10a0dc44ef079
206206
FMDB: 6198a90e7b6900cfc046e6bc0ef6ebb7be9236aa
207-
GitHawkRoutes: 9cfcc0f40d1971e5ee649e62b1f2c222461698a5
207+
GitHawkRoutes: 6a2a20e756143cb1c87bdf1d7f33a7256cfc6722
208208
GitHubAPI: 44a907f9699210536d65179d3d0dc0dc70dde7a1
209209
GitHubSession: 60c7bbd84fb915a0bd911a367c9661418ccfd7ae
210210
Highlightr: 70c4df19e4aa55aa1b4387fb98182abce1dec9da

0 commit comments

Comments
 (0)