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

Commit24b2ed8

Browse files
committed
Release 0.34.0
1 parentb2189de commit24b2ed8

File tree

9 files changed

+47
-22
lines changed

9 files changed

+47
-22
lines changed

‎CHANGELOG.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,17 @@ All notable changes to this project will be documented in this file.
55
The format is based on[Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
66
and this project adheres to[Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
##0.34.0 - April 29, 2025
9+
###Added
10+
- Added support for new models in Chat: OpenAI GPT-4.1, o3 and o4-mini, Gemini 2.5 Pro
11+
12+
###Changed
13+
- Switched default model to GPT-4.1 for new installations
14+
- Enhanced model selection interface
15+
16+
###Fixed
17+
- Resolved critical error handling issues
18+
819
##0.33.0 - April 17, 2025
920
###Added
1021
- Added support for new models in Chat: Claude 3.7 Sonnet and GPT 4.5

‎Core/Sources/ChatService/ChatService.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ public final class ChatService: ChatServiceType, ObservableObject {
8888

8989
privatefunc subscribeToWatchedFilesHandler(){
9090
self.watchedFilesHandler.onWatchedFiles.sink(receiveValue:{[weak self](request, completion)in
91-
guardlet self, request.params!.workspaceUri!="/"else{return}
91+
guardlet self, request.params!.workspaceFolder.uri!="/"else{return}
9292
self.startFileChangeWatcher()
9393
}).store(in:&cancellables)
9494
}

‎Core/Sources/ChatService/Skills/ProjectContextSkill.swift

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import XcodeInspector
1111
*/
1212
publicclassProjectContextSkill{
1313
publicstaticletID="project-context"
14+
publicstaticletProgressID="collect-project-context"
1415

1516
publicstaticvarresolvedWorkspace:Set<String>=Set()
1617

@@ -33,7 +34,7 @@ public class ProjectContextSkill {
3334

3435
letparams= request.params!
3536

36-
guard params.workspaceUri!="/"else{return}
37+
guard params.workspaceFolder.uri!="/"else{return}
3738

3839
/// build workspace URL
3940
letworkspaceURL=URL(fileURLWithPath: workspacePath)
@@ -44,7 +45,7 @@ public class ProjectContextSkill {
4445
)?? workspaceURL
4546

4647
/// ignore invalid resolve request
47-
guard projectURL.path== params.workspaceUrielse{return}
48+
guard projectURL.absoluteString== params.workspaceFolder.urielse{return}
4849

4950
letfiles=WorkspaceFile.getWatchedFiles(
5051
workspaceURL: workspaceURL,

‎Core/Sources/ConversationTab/Views/ConversationProgressStepView.swift

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import SwiftUI
22
import ConversationServiceProvider
33
import ComposableArchitecture
44
import Combine
5+
import ChatService
56

67
structProgressStep:View{
78
letsteps:[ConversationProgressStep]
@@ -33,24 +34,32 @@ struct StatusItemView: View {
3334
.scaleEffect(0.7)
3435
case.completed:
3536
Image(systemName:"checkmark")
36-
.foregroundColor(.green.opacity(0.5))
37+
.foregroundColor(.green)
3738
case.failed:
3839
Image(systemName:"xmark.circle")
39-
.foregroundColor(.red.opacity(0.5))
40+
.foregroundColor(.red)
4041
case.cancelled:
4142
Image(systemName:"slash.circle")
42-
.foregroundColor(.gray.opacity(0.5))
43+
.foregroundColor(.gray)
4344
}
4445
}
4546
}
4647

48+
varstatusTitle:someView{
49+
vartitle= step.title
50+
if step.id==ProjectContextSkill.ProgressID && step.status==.failed{
51+
title= step.error?.message?? step.title
52+
}
53+
returnText(title)
54+
}
55+
4756
varbody:someView{
4857
WithPerceptionTracking{
4958
HStack(spacing:4){
5059
statusIcon
5160
.frame(width:16, height:16)
5261

53-
Text(step.title)
62+
statusTitle
5463
.font(.system(size: chatFontSize))
5564
.lineLimit(1)
5665

‎ReleaseNotes.md

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,14 @@
1-
###GitHub Copilot for Xcode 0.33.0
1+
###GitHub Copilot for Xcode 0.34.0
22

33
**🚀 Highlights**
44

5-
***New Models**: Claude 3.7 Sonnet and GPT 4.5 are now available in the Copilot Chat model selector.
6-
***@workspace Context**: Ask questions about your entire codebase by referencing`@workspace` in Copilot Chat.
5+
***New Models**: OpenAI GPT-4.1, o3 and o4-mini, Gemini 2.5 Pro are now available in the Copilot Chat model selector.
76

87
**💪 Improvements**
98

10-
*Open Copilot Chat with a single click from the CopilotforXcode app
11-
*Clearer instructions for granting background permissions
9+
*Switched default model to GPT-4.1fornew installations
10+
*Enhanced model selection interface
1211

1312
**🛠️ Bug Fixes**
1413

15-
* Resolved false alarms for sign-in and free plan limit notifications
16-
* Improved app launch performance
17-
* Fixed workspace and context update issues
14+
* Resolved critical error handling issues

‎Tool/Sources/GitHubCopilotService/Conversation/WatchedFilesHandler.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ public final class WatchedFilesHandlerImpl: WatchedFilesHandler {
1515
publicletonWatchedFiles:PassthroughSubject<(WatchedFilesRequest,(AnyJSONRPCResponse)->Void),Never>=.init()
1616

1717
publicfunc handleWatchedFiles(_ request:WatchedFilesRequest, workspaceURL:URL, completion:@escaping(AnyJSONRPCResponse)->Void, service:GitHubCopilotService?){
18-
guardlet params= request.params, params.workspaceUri!="/"else{return}
18+
guardlet params= request.params, params.workspaceFolder.uri!="/"else{return}
1919

2020
letprojectURL=WorkspaceXcodeWindowInspector.extractProjectURL(workspaceURL: workspaceURL, documentURL:nil)?? workspaceURL
2121

@@ -28,7 +28,7 @@ public final class WatchedFilesHandlerImpl: WatchedFilesHandler {
2828

2929
letbatchSize=BatchingFileChangeWatcher.maxEventPublishSize
3030
/// only `batchSize`(100) files to complete this event for setup watching workspace in CLS side
31-
letjsonResult:JSONValue=.array(files.prefix(batchSize).map{.string($0)})
31+
letjsonResult:JSONValue=.array(files.prefix(batchSize).map{.hash(["uri":.string($0)])})
3232
letjsonValue:JSONValue=.hash(["files": jsonResult])
3333

3434
completion(AnyJSONRPCResponse(id: request.id, result: jsonValue))
@@ -39,7 +39,7 @@ public final class WatchedFilesHandlerImpl: WatchedFilesHandler {
3939
letendIndex=min(startIndex+ batchSize, files.count)
4040
letbatch=Array(files[startIndex..<endIndex])
4141
try?await service?.notifyDidChangeWatchedFiles(.init(
42-
workspaceUri: params.workspaceUri,
42+
workspaceUri: params.workspaceFolder.uri,
4343
changes: batch.map{.init(uri: $0, type:.created)}
4444
))
4545

‎Tool/Sources/GitHubCopilotService/LanguageServer/GitHubCopilotRequest+Conversation.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@ public typealias ConversationContextRequest = JSONRPCRequest<ConversationContext
167167
// MARK: Watched Files
168168

169169
publicstructWatchedFilesParams:Codable{
170-
publicvarworkspaceUri:String
170+
publicvarworkspaceFolder:WorkspaceFolder
171171
publicvarexcludeGitignoredFiles:Bool
172172
publicvarexcludeIDEIgnoredFiles:Bool
173173
}

‎Tool/Sources/GitHubCopilotService/LanguageServer/GitHubCopilotService.swift

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -247,7 +247,7 @@ public class GitHubCopilotBaseService {
247247
capabilities: capabilities,
248248
trace:.off,
249249
workspaceFolders:[WorkspaceFolder(
250-
uri: projectRootURL.path,
250+
uri: projectRootURL.absoluteString,
251251
name: projectRootURL.lastPathComponent
252252
)]
253253
)
@@ -262,6 +262,13 @@ public class GitHubCopilotBaseService {
262262
letnotifications=NotificationCenter.default
263263
.notifications(named:.gitHubCopilotShouldRefreshEditorInformation)
264264
Task{[weak self]in
265+
if projectRootURL.path!="/"{
266+
try?await server.sendNotification(
267+
.workspaceDidChangeWorkspaceFolders(
268+
.init(event:.init(added:[.init(uri: projectRootURL.absoluteString, name: projectRootURL.lastPathComponent)], removed:[]))
269+
)
270+
)
271+
}
265272
// Send workspace/didChangeConfiguration once after initalize
266273
_=try?await server.sendNotification(
267274
.workspaceDidChangeConfiguration(

‎Tool/Sources/GitHubCopilotService/Services/GitHubCopilotConversationService.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ public final class GitHubCopilotConversationService: ConversationServiceType {
1616

1717
returntryawait service.createConversation(request.content,
1818
workDoneToken: request.workDoneToken,
19-
workspaceFolder: workspace.projectURL.path,
19+
workspaceFolder: workspace.projectURL.absoluteString,
2020
doc:nil,
2121
skills: request.skills,
2222
ignoredSkills: request.ignoredSkills,
@@ -35,7 +35,7 @@ public final class GitHubCopilotConversationService: ConversationServiceType {
3535
ignoredSkills: request.ignoredSkills,
3636
references: request.references??[],
3737
model: request.model,
38-
workspaceFolder: workspace.projectURL.path)
38+
workspaceFolder: workspace.projectURL.absoluteString)
3939
}
4040

4141
publicfunc cancelProgress(_ workDoneToken:String, workspace:WorkspaceInfo)asyncthrows{

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp