Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 3 additions & 6 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,9 @@ on:
push:
branches:
- main
release:
types:
- created
Comment on lines +11 to +13

jobs:
build:
Expand All @@ -26,12 +29,6 @@ jobs:
with:
xcode-version: latest-stable

- name: Cache Xcode derived data
uses: irgaly/xcode-cache@v1
with:
key: xcode-cache-deriveddata-${{ github.workflow }}-${{ github.ref_name }}
restore-keys: xcode-cache-deriveddata-${{ github.workflow }}-${{ github.ref_name }}

- name: Install create-dmg
run: npm install --global create-dmg

Expand Down
34 changes: 27 additions & 7 deletions .github/workflows/test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ concurrency:

on:
push:

jobs:
test-packages:
name: swift test (Packages)
Expand All @@ -33,8 +33,8 @@ jobs:
set -o pipefail
swift test 2>&1 | xcpretty

build-smoke:
name: xcodebuild build (Release)
test-xcode:
name: xcodebuild test (RxCode)
runs-on: self-hosted

steps:
Expand All @@ -46,11 +46,31 @@ jobs:
with:
xcode-version: latest-stable

- name: Cache Xcode derived data
uses: irgaly/xcode-cache@v1
- name: Install xcpretty
run: gem install xcpretty

- name: Run Xcode tests
run: |
set -o pipefail && xcodebuild \
-project RxCode.xcodeproj \
-scheme RxCode \
-configuration Debug \
-destination platform=macOS \
CODE_SIGNING_ALLOWED=NO \
test | xcpretty

build-smoke:
name: xcodebuild build (Release)
runs-on: self-hosted

steps:
- name: Checkout code
uses: actions/checkout@v6

- name: Setup Xcode
uses: maxim-lobanov/setup-xcode@v1
with:
key: xcode-cache-deriveddata-${{ github.workflow }}-${{ github.ref_name }}
restore-keys: xcode-cache-deriveddata-${{ github.workflow }}-${{ github.ref_name }}
xcode-version: latest-stable

- name: Install xcpretty
run: gem install xcpretty
Expand Down
39 changes: 17 additions & 22 deletions Packages/Sources/RxCodeChatKit/MessageBubble.swift
Original file line number Diff line number Diff line change
Expand Up @@ -260,9 +260,9 @@ struct MessageBubble: View {
.buttonStyle(.plain)
}
}
.fixedSize(horizontal: false, vertical: true)
.frame(maxWidth: 500, alignment: .leading)
.bubbleStyle(.user)
.fixedSize(horizontal: true, vertical: false)
.overlay(alignment: .bottomTrailing) {
if isHoveringUserBubble {
HStack(spacing: 3) {
Expand Down Expand Up @@ -473,6 +473,10 @@ struct MessageBubble: View {
.aspectRatio(contentMode: .fill)
.frame(width: 40, height: 40)
.clipShape(RoundedRectangle(cornerRadius: ClaudeTheme.cornerRadiusSmall))
.overlay(
RoundedRectangle(cornerRadius: ClaudeTheme.cornerRadiusSmall)
.strokeBorder(ClaudeTheme.border, lineWidth: BubbleStyle.borderWidth)
)
.contentShape(Rectangle())
.onTapGesture { previewImagePath = path }
} else {
Expand All @@ -499,6 +503,10 @@ struct MessageBubble: View {
.aspectRatio(contentMode: .fill)
.frame(width: 40, height: 40)
.clipShape(RoundedRectangle(cornerRadius: ClaudeTheme.cornerRadiusSmall))
.overlay(
RoundedRectangle(cornerRadius: ClaudeTheme.cornerRadiusSmall)
.strokeBorder(ClaudeTheme.border, lineWidth: BubbleStyle.borderWidth)
)
} else {
Image(systemName: info.isImage ? "photo" : "doc")
.font(.system(size: ClaudeTheme.messageSize(14)))
Expand Down Expand Up @@ -588,27 +596,7 @@ private struct MessageImagePreviewSheet: View {
let onDismiss: () -> Void

var body: some View {
VStack(spacing: 0) {
HStack {
Text(URL(fileURLWithPath: path).lastPathComponent)
.font(.system(size: ClaudeTheme.messageSize(12), weight: .medium))
.foregroundStyle(ClaudeTheme.textSecondary)
.lineLimit(1)
.truncationMode(.middle)
Spacer()
Button(action: onDismiss) {
Image(systemName: "xmark.circle.fill")
.font(.system(size: ClaudeTheme.messageSize(16)))
.foregroundStyle(ClaudeTheme.textSecondary)
}
.buttonStyle(.plain)
.keyboardShortcut(.cancelAction)
}
.padding(.horizontal, 14)
.padding(.vertical, 10)

Divider()

NavigationStack {
Group {
if let nsImage = NSImage(contentsOfFile: path) {
Image(nsImage: nsImage)
Expand All @@ -627,6 +615,13 @@ private struct MessageImagePreviewSheet: View {
}
}
.padding(16)
.navigationTitle(URL(fileURLWithPath: path).lastPathComponent)
.toolbar {
ToolbarItem(placement: .cancellationAction) {
Button(String(localized: "Close", bundle: .module), action: onDismiss)
.keyboardShortcut(.cancelAction)
}
}
}
.frame(minWidth: 480, idealWidth: 720, minHeight: 360, idealHeight: 540)
.background(ClaudeTheme.surfacePrimary)
Expand Down
4 changes: 0 additions & 4 deletions RxCode.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@
DF06CCD12FB4CAB5005991E1 /* ViewInspector in Frameworks */ = {isa = PBXBuildFile; productRef = DF06CCD02FB4CAB5005991E1 /* ViewInspector */; };
DFA0CCD12FB4CC01005991E1 /* PlanDecisionTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFA0CCC02FB4CC01005991E1 /* PlanDecisionTests.swift */; };
DFA0CCD22FB4CC01005991E1 /* PlanCardViewTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFA0CCC12FB4CC01005991E1 /* PlanCardViewTests.swift */; };
DFA0CCD32FB4CC01005991E1 /* InputBarDisableTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFA0CCC22FB4CC01005991E1 /* InputBarDisableTests.swift */; };
DFA0CCD42FB4CC01005991E1 /* RxCodeChatKit in Frameworks */ = {isa = PBXBuildFile; productRef = DFA0CCC32FB4CC01005991E1 /* RxCodeChatKit */; };
E6821AC12F7CEE7200829FC9 /* SwiftTerm in Frameworks */ = {isa = PBXBuildFile; productRef = E6A001012F8A000100000001 /* SwiftTerm */; };
E6C001022F9B000100000001 /* Sparkle in Frameworks */ = {isa = PBXBuildFile; productRef = E6C001012F9B000100000001 /* Sparkle */; };
Expand All @@ -37,7 +36,6 @@
A9993BB72A5307039A88B729 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.0.sdk/System/Library/Frameworks/Cocoa.framework; sourceTree = DEVELOPER_DIR; };
DFA0CCC02FB4CC01005991E1 /* PlanDecisionTests.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = PlanDecisionTests.swift; sourceTree = "<group>"; };
DFA0CCC12FB4CC01005991E1 /* PlanCardViewTests.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = PlanCardViewTests.swift; sourceTree = "<group>"; };
DFA0CCC22FB4CC01005991E1 /* InputBarDisableTests.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = InputBarDisableTests.swift; sourceTree = "<group>"; };
E67335382F7356F600FD26C7 /* RxCode.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = RxCode.app; sourceTree = BUILT_PRODUCTS_DIR; };
/* End PBXFileReference section */

Expand Down Expand Up @@ -81,7 +79,6 @@
4381E755142272EB2DAA9C96 /* AppStateProjectSwitchTests.swift */,
DFA0CCC02FB4CC01005991E1 /* PlanDecisionTests.swift */,
DFA0CCC12FB4CC01005991E1 /* PlanCardViewTests.swift */,
DFA0CCC22FB4CC01005991E1 /* InputBarDisableTests.swift */,
);
path = RxCodeTests;
sourceTree = "<group>";
Expand Down Expand Up @@ -240,7 +237,6 @@
33993F0F87CF4DB09F2813A8 /* AppStateProjectSwitchTests.swift in Sources */,
DFA0CCD12FB4CC01005991E1 /* PlanDecisionTests.swift in Sources */,
DFA0CCD22FB4CC01005991E1 /* PlanCardViewTests.swift in Sources */,
DFA0CCD32FB4CC01005991E1 /* InputBarDisableTests.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
Expand Down
88 changes: 0 additions & 88 deletions RxCodeTests/InputBarDisableTests.swift

This file was deleted.

Loading