Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
80 commits
Select commit Hold shift + click to select a range
a307588
Targets
pblazej May 22, 2025
4706c72
Start view
pblazej May 22, 2025
46d30d5
App model
pblazej May 22, 2025
209ec27
DI
pblazej May 22, 2025
be678e4
DI improvements
pblazej May 23, 2025
a1f0633
Call bar
pblazej May 23, 2025
84638d6
Start input mode logic
pblazej May 23, 2025
e001bb4
Visualizer and selector
pblazej May 23, 2025
861e9e3
Transition
pblazej May 23, 2025
3d9fc3c
Dirty video
pblazej May 23, 2025
fbcfbe4
Aspect ratio
pblazej May 23, 2025
60ecb32
Extract
pblazej May 23, 2025
51fce08
Move all components
pblazej May 23, 2025
9e55072
Async buttons
pblazej May 23, 2025
222e0bf
Fix camera enable
pblazej May 23, 2025
23647af
Naming
pblazej May 23, 2025
5ddcbe2
Remove delegation
pblazej May 26, 2025
f31f03c
Error handler
pblazej May 26, 2025
e631a38
Error view
pblazej May 26, 2025
ea3983e
Main view switch
pblazej May 26, 2025
f95727b
Handle chat errors
pblazej May 26, 2025
c1f7026
Stack
pblazej May 26, 2025
9a667b4
Message sender
pblazej May 27, 2025
04b6176
Chat input
pblazej May 27, 2025
1293304
Message definitions
pblazej May 27, 2025
5723446
Growing text field
pblazej May 27, 2025
90d6ee5
Bar style, keyboard focus
pblazej May 27, 2025
e85d03e
Don't copy state
pblazej May 28, 2025
b06dcd6
Screen share iOS
pblazej May 28, 2025
ab222c8
Text bar improvements
pblazej May 28, 2025
279d904
Toggle buttons
pblazej May 28, 2025
9a19a0d
Remove local participant wrap
pblazej May 28, 2025
35f6956
Switch camera
pblazej May 28, 2025
c1f9b86
Cam switcher
pblazej May 28, 2025
d0780ac
iPad/mac layout
pblazej May 28, 2025
7832c4b
Avatar transition
pblazej May 29, 2025
e25cd21
Localizable
pblazej May 29, 2025
b434528
Fix preconnect
pblazej May 29, 2025
1861f94
Locale
pblazej May 30, 2025
a0010bb
Reconnecting
pblazej May 30, 2025
db97399
Check agent connected
pblazej May 30, 2025
1c9fd47
Style: start view
pblazej May 30, 2025
80f6d72
Style: extract grid
pblazej May 30, 2025
d128c21
Style: control bar
pblazej May 30, 2025
b0872a6
Style: control bar spacing, visualizer
pblazej May 30, 2025
88eb7e3
Style: chat input
pblazej May 30, 2025
5cbd765
Extract control bar
pblazej Jun 2, 2025
1682d9f
Fix keyboard issues
pblazej Jun 2, 2025
ba6fe27
Final color palette
pblazej Jun 2, 2025
60de674
Fix chat bg
pblazej Jun 2, 2025
96577ac
Fix macOS styling
pblazej Jun 2, 2025
2197e96
Misc: swiftformat
pblazej Jun 2, 2025
fa121a3
Minimal CI
pblazej Jun 2, 2025
6e06fef
Fix CI
pblazej Jun 2, 2025
b6bba53
Env
pblazej Jun 2, 2025
9101ebb
macOS
pblazej Jun 2, 2025
112e7b0
Minimal test
pblazej Jun 2, 2025
b780ee9
Style: start visionOS
pblazej Jun 3, 2025
5a260b5
Style: misc iOS
pblazej Jun 3, 2025
d5d678e
Agent features
pblazej Jun 3, 2025
b3e4266
Fix chat scrolling
pblazej Jun 3, 2025
5159706
Fix participant alignment
pblazej Jun 3, 2025
9169906
Revert: override components
pblazej Jun 3, 2025
0cf42b5
Style: visionOS
pblazej Jun 4, 2025
e60959a
Style: visionOS errors
pblazej Jun 4, 2025
d1ba61b
Move focus down
pblazej Jun 4, 2025
15c5f19
Transitions
pblazej Jun 4, 2025
26ebed5
Fix color warnings?
pblazej Jun 5, 2025
0d98f00
Extract and fix CI
pblazej Jun 5, 2025
97c287b
Move namespace
pblazej Jun 5, 2025
710b358
Comments
pblazej Jun 5, 2025
bba14cd
Improve button API
pblazej Jun 5, 2025
1427aeb
More comments
pblazej Jun 5, 2025
b7a26cb
App VM and device selection
pblazej Jun 5, 2025
912a3ef
Remove color prefix, style fixes
pblazej Jun 5, 2025
3c54781
Fix vision build
pblazej Jun 5, 2025
d858a74
Fix proj warning
pblazej Jun 5, 2025
1956f3c
Disable disconnect while connecting
pblazej Jun 6, 2025
55765ad
CR
pblazej Jun 11, 2025
a97c80d
Naming
pblazej Jun 11, 2025
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
63 changes: 63 additions & 0 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
name: CI

on:
workflow_dispatch:
push:
branches: [main]
pull_request:
branches: [main]

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true

jobs:
build-and-test:
name: Build & Test
strategy:
fail-fast: false
matrix:
include:
# https://github.com/actions/runner-images/blob/main/images/macos/macos-15-Readme.md
- os: macos-15
xcode: 16.2
platform: "iOS Simulator,OS=18.1,name=iPhone 16 Pro"
# - os: macos-15
# xcode: 16.2
# platform: "macOS"

runs-on: ${{ matrix.os }}
timeout-minutes: 30
defaults:
run:
shell: bash
steps:
- uses: actions/checkout@v4

- uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: ${{ matrix.xcode }}

- name: Xcode Version
run: xcodebuild -version

- name: Swift Version
run: xcrun swift --version

- name: Setup .env
run: cat VoiceAssistant/.env.example.xcconfig > VoiceAssistant/.env.xcconfig

- name: Run Tests
run: |
set -o pipefail && xcodebuild test \
-scheme VoiceAssistant \
-destination 'platform=${{ matrix.platform }}' | xcbeautify --renderer github-actions

lint:
name: Lint
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- name: SwiftFormat Lint
run: swiftformat --lint . --reporter github-actions-log
# Comes pre-installed on macOS runners
1 change: 1 addition & 0 deletions .swiftformat
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
--header ""
--ifdef no-indent
10 changes: 10 additions & 0 deletions BroadcastExtension/BroadcastExtension.entitlements
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.application-groups</key>
<array>
<string>group.com.livekit.example.VoiceAssistant</string>
</array>
</dict>
</plist>
15 changes: 15 additions & 0 deletions BroadcastExtension/Info.plist
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>NSExtension</key>
<dict>
<key>NSExtensionPointIdentifier</key>
<string>com.apple.broadcast-services-upload</string>
<key>NSExtensionPrincipalClass</key>
<string>$(PRODUCT_MODULE_NAME).SampleHandler</string>
<key>RPBroadcastProcessMode</key>
<string>RPBroadcastProcessModeSampleBuffer</string>
</dict>
</dict>
</plist>
7 changes: 7 additions & 0 deletions BroadcastExtension/SampleHandler.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#if os(iOS)
import LiveKit

class SampleHandler: LKSampleHandler, @unchecked Sendable {
override var enableLogging: Bool { true }
}
#endif
Loading
Loading