Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit3404070

Browse files
committed
Pre-release 0.27.92
1 parenta9ad824 commit3404070

File tree

24 files changed

+310
-66
lines changed

24 files changed

+310
-66
lines changed

‎Copilot for Xcode.xcworkspace/xcshareddata/swiftpm/Package.resolved

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more aboutcustomizing how changed files appear on GitHub.

‎Core/Package.swift

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ let package = Package(
5050
// quick hack to support custom UserDefaults
5151
// https://github.com/sindresorhus/KeyboardShortcuts
5252
.package(url:"https://github.com/devm33/KeyboardShortcuts", branch:"main"),
53-
.package(url:"https://github.com/devm33/CGEventOverride",from:"1.2.1"),
53+
.package(url:"https://github.com/devm33/CGEventOverride",branch:"devm33/fix-stale-AXIsProcessTrusted"),
5454
.package(url:"https://github.com/devm33/Highlightr", branch:"master"),
5555
],
5656
targets:[
@@ -83,6 +83,7 @@ let package = Package(
8383
.product(name:"UserDefaultsObserver",package:"Tool"),
8484
.product(name:"AppMonitoring",package:"Tool"),
8585
.product(name:"SuggestionBasic",package:"Tool"),
86+
.product(name:"Status",package:"Tool"),
8687
.product(name:"ChatTab",package:"Tool"),
8788
.product(name:"Logger",package:"Tool"),
8889
.product(name:"ChatAPIService",package:"Tool"),

‎Core/Sources/HostApp/General.swift

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import Client
22
import ComposableArchitecture
33
import Foundation
44
import LaunchAgentManager
5+
import Status
56
import SwiftUI
67
import XPCShared
78
import Logger
@@ -11,7 +12,7 @@ struct General {
1112
@ObservableState
1213
structState:Equatable{
1314
varxpcServiceVersion:String?
14-
varisAccessibilityPermissionGranted:Bool?
15+
varisAccessibilityPermissionGranted:ObservedAXStatus=.unknown
1516
varisReloading=false
1617
}
1718

@@ -20,7 +21,7 @@ struct General {
2021
case setupLaunchAgentIfNeeded
2122
case openExtensionManager
2223
case reloadStatus
23-
case finishReloading(xpcServiceVersion:String, permissionGranted:Bool)
24+
case finishReloading(xpcServiceVersion:String, permissionGranted:ObservedAXStatus)
2425
case failedReloading
2526
case retryReloading
2627
}
@@ -35,7 +36,7 @@ struct General {
3536
case.appear:
3637
return.run{ sendin
3738
awaitsend(.setupLaunchAgentIfNeeded)
38-
forawait_inDistributedNotificationCenter.default().notifications(named:NSNotification.Name("com.apple.accessibility.api")){
39+
forawait_inDistributedNotificationCenter.default().notifications(named:.serviceStatusDidChange){
3940
awaitsend(.reloadStatus)
4041
}
4142
}

‎Core/Sources/HostApp/GeneralSettings/CopilotConnectionView.swift

Lines changed: 3 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,6 @@
11
import ComposableArchitecture
22
import SwiftUI
33

4-
structActivityIndicatorView:NSViewRepresentable{
5-
func makeNSView(context _:Context)->NSProgressIndicator{
6-
letprogressIndicator=NSProgressIndicator()
7-
progressIndicator.style=.spinning
8-
progressIndicator.controlSize=.small
9-
progressIndicator.startAnimation(nil)
10-
return progressIndicator
11-
}
12-
13-
func updateNSView(_:NSProgressIndicator, context _:Context){
14-
// No-op
15-
}
16-
}
17-
184
structCopilotConnectionView:View{
195
@AppStorage("username")varusername:String=""
206
@Environment(\.toast)vartoast
@@ -38,6 +24,9 @@ struct CopilotConnectionView: View {
3824
title:"GitHub Account Status Permissions",
3925
subtitle:"GitHub Connection:\(viewModel.status?.description??"Loading...")"
4026
){
27+
if viewModel.isRunningAction || waitingForSignIn{
28+
ProgressView().controlSize(.small)
29+
}
4130
Button("Refresh Connection"){
4231
viewModel.checkStatus()
4332
}
@@ -72,9 +61,6 @@ struct CopilotConnectionView: View {
7261
viewModel.isSignInAlertPresented=false
7362
}
7463
}
75-
if viewModel.isRunningAction || waitingForSignIn{
76-
ActivityIndicatorView()
77-
}
7864
}
7965
}
8066

‎Core/Sources/HostApp/GeneralSettings/GeneralSettingsView.swift

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,14 @@ struct GeneralSettingsView: View {
99
letstore:StoreOf<General>
1010

1111
varaccessibilityPermissionSubtitle:String{
12-
guardlet granted= store.isAccessibilityPermissionGrantedelse{return"Loading..."}
13-
return granted?"Granted":"Not Granted. Required to run. Click to open System Preferences."
12+
switch store.isAccessibilityPermissionGranted{
13+
case.granted:
14+
return"Granted"
15+
case.notGranted:
16+
return"Not Granted. Required to run. Click to open System Preferences."
17+
case.unknown:
18+
return""
19+
}
1420
}
1521

1622
varbody:someView{

‎Core/Sources/Service/RealtimeSuggestionController.swift

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import Combine
66
import Foundation
77
import Logger
88
import Preferences
9+
import Status
910
import QuartzCore
1011
import Workspace
1112
import XcodeInspector
@@ -124,10 +125,12 @@ public actor RealtimeSuggestionController {
124125
do{
125126
tryawaitXcodeInspector.shared.safe.latestActiveXcode?
126127
.triggerCopilotCommand(name:"Sync Text Settings")
128+
awaitStatus.shared.updateExtensionStatus(.succeeded)
127129
}catch{
128130
if filespace.codeMetadata.uti?.isEmpty??true{
129131
filespace.codeMetadata.uti=nil
130132
}
133+
awaitStatus.shared.updateExtensionStatus(.failed)
131134
}
132135
}
133136
}

‎Core/Sources/Service/Service.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ public final class Service {
3232
letglobalShortcutManager:GlobalShortcutManager
3333
letkeyBindingManager:KeyBindingManager
3434
letxcodeThemeController:XcodeThemeController=.init()
35+
publicvarmarkAsProcessing:(Bool)->Void={ _in}
3536

3637
@Dependency(\.toast)vartoast
3738
varcancellable=Set<AnyCancellable>()

‎Core/Sources/Service/SuggestionPresenter/PresentInWindowSuggestionPresenter.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ struct PresentInWindowSuggestionPresenter {
3030
Task{@MainActorin
3131
letcontroller=Service.shared.guiController.widgetController
3232
controller.markAsProcessing(isProcessing)
33+
Service.shared.markAsProcessing(isProcessing)
3334
}
3435
}
3536

‎Core/Sources/Service/XPCService.swift

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import GitHubCopilotService
44
import LanguageServerProtocol
55
import Logger
66
import Preferences
7+
import Status
78
import XPCShared
89

910
publicclassXPCService:NSObject,XPCServiceProtocol{
@@ -16,8 +17,10 @@ public class XPCService: NSObject, XPCServiceProtocol {
1617
)
1718
}
1819

19-
publicfunc getXPCServiceAccessibilityPermission(withReply reply:@escaping(Bool)->Void){
20-
reply(AXIsProcessTrusted())
20+
publicfunc getXPCServiceAccessibilityPermission(withReply reply:@escaping(ObservedAXStatus)->Void){
21+
Task{
22+
reply(awaitStatus.shared.getAXStatus())
23+
}
2124
}
2225

2326
// MARK: - Suggestion

‎ExtensionService/AppDelegate+Menu.swift

Lines changed: 16 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import AppKit
22
import Foundation
33
import Preferences
4+
import Status
45
import SuggestionBasic
56
import XcodeInspector
67
import Logger
@@ -14,10 +15,6 @@ extension AppDelegate {
1415
.init("xcodeInspectorDebugMenu")
1516
}
1617

17-
fileprivatevaraccessibilityAPIPermissionMenuItemIdentifier:NSUserInterfaceItemIdentifier{
18-
.init("accessibilityAPIPermissionMenuItem")
19-
}
20-
2118
fileprivatevarsourceEditorDebugMenu:NSUserInterfaceItemIdentifier{
2219
.init("sourceEditorDebugMenu")
2320
}
@@ -72,12 +69,12 @@ extension AppDelegate {
7269
xcodeInspectorDebug.submenu= xcodeInspectorDebugMenu
7370
xcodeInspectorDebug.isHidden=false
7471

75-
letaccessibilityAPIPermission=NSMenuItem(
76-
title:"Accessibility Permission: N/A",
77-
action:nil,
72+
statusMenuItem=NSMenuItem(
73+
title:"",
74+
action:#selector(openStatusLink),
7875
keyEquivalent:""
7976
)
80-
accessibilityAPIPermission.identifier=accessibilityAPIPermissionMenuItemIdentifier
77+
statusMenuItem.isHidden=true
8178

8279
letquitItem=NSMenuItem(
8380
title:"Quit",
@@ -126,7 +123,7 @@ extension AppDelegate {
126123
statusBarMenu.addItem(toggleIgnoreLanguage)
127124
statusBarMenu.addItem(.separator())
128125
statusBarMenu.addItem(copilotStatus)
129-
statusBarMenu.addItem(accessibilityAPIPermission)
126+
statusBarMenu.addItem(statusMenuItem)
130127
statusBarMenu.addItem(.separator())
131128
statusBarMenu.addItem(openDocs)
132129
statusBarMenu.addItem(openForum)
@@ -160,22 +157,14 @@ extension AppDelegate: NSMenuDelegate {
160157
item.identifier== toggleIgnoreLanguageMenuItemIdentifier
161158
}){
162159
iflet lang=DisabledLanguageList.shared.activeDocumentLanguage{
163-
toggleLanguage.title="\(DisabledLanguageList.shared.isEnabled(lang)?"Disable":"Enable") CompletionsFor\(lang.rawValue)"
160+
toggleLanguage.title="\(DisabledLanguageList.shared.isEnabled(lang)?"Disable":"Enable") Completionsfor\(lang.rawValue)"
164161
toggleLanguage.action= #selector(toggleIgnoreLanguage)
165162
}else{
166163
toggleLanguage.title="No Active Document"
167164
toggleLanguage.action=nil
168165
}
169166
}
170167

171-
iflet accessibilityAPIPermission= menu.items.first(where:{ itemin
172-
item.identifier== accessibilityAPIPermissionMenuItemIdentifier
173-
}){
174-
AXIsProcessTrusted()
175-
accessibilityAPIPermission.title=
176-
"Accessibility Permission:\(AXIsProcessTrusted()?"Granted":"Not Granted")"
177-
}
178-
179168
statusChecker.updateStatusInBackground(notify:{(status:String, isOk:Bool)in
180169
iflet statusItem= menu.items.first(where:{ itemin
181170
item.identifier==self.copilotStatusMenuItemIdentifier
@@ -321,6 +310,15 @@ private extension AppDelegate {
321310
}
322311
}
323312
}
313+
314+
@objcfunc openStatusLink(){
315+
Task{
316+
letstatus=awaitStatus.shared.getStatus()
317+
iflet s= status.url,let url=URL(string: s){
318+
NSWorkspace.shared.open(url)
319+
}
320+
}
321+
}
324322
}
325323

326324
privateextensionNSMenuItem{

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp