Skip to content

Commit 6a8b01c

Browse files
authored
Sync android-sdk with js-sdk: Implement updates to v0.6.26 (#262)
* Normalize error in validation functions to lowercase * Fix removedAt timestamp handling in text deletions
1 parent e717573 commit 6a8b01c

File tree

37 files changed

+1002
-194
lines changed

37 files changed

+1002
-194
lines changed

.github/workflows/ci.yml

Lines changed: 36 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,22 @@ jobs:
1313
timeout-minutes: 20
1414
steps:
1515
- uses: actions/checkout@v4
16+
1617
- uses: actions/setup-java@v4
1718
with:
1819
java-version: 17
1920
distribution: 'zulu'
2021
cache: 'gradle'
22+
2123
- name: Set Yorkie Server Url
2224
run: ./scripts/config-yorkie-local-server.sh
25+
2326
- run: chmod +x gradlew
27+
2428
- uses: gradle/actions/setup-gradle@v3
29+
2530
- run: ./gradlew lintKotlin
31+
2632
- run: ./gradlew lint
2733

2834
run-tests:
@@ -36,42 +42,65 @@ jobs:
3642
timeout-minutes: 60
3743
steps:
3844
- uses: actions/checkout@v4
45+
3946
- uses: actions/setup-java@v4
4047
with:
4148
java-version: 17
4249
distribution: 'zulu'
4350
cache: 'gradle'
51+
52+
- name: Free Disk Space (Ubuntu)
53+
uses: AdityaGarg8/remove-unwanted-software@v5
54+
with:
55+
remove-dotnet: true
56+
remove-haskell: true
57+
remove-codeql: true
58+
remove-docker-images: true
59+
remove-large-packages: true # ths is slow, but recently we need that last ~2GB as of 20251120
60+
4461
- name: Enable KVM
4562
run: |
4663
echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules
4764
sudo udevadm control --reload-rules
4865
sudo udevadm trigger --name-match=kvm
66+
4967
- name: Set Yorkie Server Url
5068
run: ./scripts/config-yorkie-local-server.sh
69+
5170
- run: chmod +x gradlew
52-
- uses: gradle/actions/setup-gradle@v3
71+
72+
- name: Setup Gradle
73+
uses: gradle/actions/setup-gradle@v4
74+
with:
75+
build-scan-publish: true
76+
build-scan-terms-of-use-url: "https://gradle.com/terms-of-service"
77+
build-scan-terms-of-use-agree: "yes"
78+
5379
- run: |
5480
docker system prune --all --force
5581
docker compose -f docker/docker-compose-ci.yml up --build -d
82+
5683
- name: Run instrumented tests
5784
uses: reactivecircus/android-emulator-runner@v2
5885
with:
5986
api-level: ${{ matrix.api-level }}
6087
target: ${{ matrix.target }}
6188
arch: x86_64
62-
force-avd-creation: false
63-
ram-size: 2048M
6489
disk-size: 6000M
65-
emulator-options: -no-snapshot-save -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none -camera-front none -no-metrics
90+
heap-size: 600M
6691
disable-animations: true
92+
emulator-options: -no-snapshot-save -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none -camera-front none -no-metrics
6793
script: |
68-
./gradlew yorkie:connectedDebugAndroidTest --stacktrace --info
94+
./gradlew yorkie:connectedDebugAndroidTest --info --stacktrace
95+
6996
- if: ${{ matrix.api-level == 33 }}
7097
name: Run unit tests
7198
run: ./gradlew yorkie:testDebugUnitTest
99+
72100
- if: ${{ matrix.api-level == 33 }}
73101
name: Generate test report
74102
run: ./gradlew yorkie:jacocoDebugTestReport
103+
75104
- if: ${{ matrix.api-level == 33 }}
76105
name: Upload test report
77106
uses: actions/upload-artifact@v4
@@ -86,7 +115,9 @@ jobs:
86115
timeout-minutes: 20
87116
steps:
88117
- uses: actions/checkout@v4
118+
89119
- uses: actions/download-artifact@v4
120+
90121
- uses: codecov/codecov-action@v4
91122
with:
92123
fail_ci_if_error: true

docker/docker-compose-ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
services:
22
yorkie:
3-
image: 'yorkieteam/yorkie:0.6.25'
3+
image: 'yorkieteam/yorkie:0.6.26'
44
container_name: 'yorkie'
55
command: ['server', '--mongo-connection-uri', 'mongodb://mongo:27017']
66
restart: always

docker/docker-compose.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
services:
22
yorkie:
3-
image: 'yorkieteam/yorkie:0.6.25'
3+
image: 'yorkieteam/yorkie:0.6.26'
44
container_name: 'yorkie'
55
restart: always
66
ports:

examples/core/common/build.gradle.kts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,5 @@ dependencies {
1010
implementation(project(":yorkie"))
1111

1212
implementation(libs.androidx.core)
13-
api(libs.okhttp)
1413
implementation(libs.timber)
1514
}

examples/core/common/src/main/java/com/example/core/common/client/YorkieClient.kt

Lines changed: 0 additions & 20 deletions
This file was deleted.

examples/kanban/src/main/java/com/example/kanbanapp/KanbanBoardActivity.kt

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -27,28 +27,17 @@ import androidx.lifecycle.viewmodel.initializer
2727
import androidx.lifecycle.viewmodel.viewModelFactory
2828
import dev.yorkie.core.Client
2929
import dev.yorkie.util.Logger
30-
import dev.yorkie.util.createSingleThreadDispatcher
31-
import okhttp3.OkHttpClient
32-
import okhttp3.Protocol
3330

3431
@SuppressLint("VisibleForTests")
3532
class KanbanBoardActivity : ComponentActivity() {
3633
private val viewModel: KanbanBoardViewModel by viewModels {
3734
viewModelFactory {
3835
initializer {
39-
val unaryClient = OkHttpClient.Builder()
40-
.protocols(listOf(Protocol.HTTP_1_1))
41-
.build()
4236
val client = Client(
4337
options = Client.Options(
4438
apiKey = BuildConfig.YORKIE_API_KEY,
4539
),
4640
host = BuildConfig.YORKIE_SERVER_URL,
47-
unaryClient = unaryClient,
48-
streamClient = unaryClient,
49-
dispatcher = createSingleThreadDispatcher(
50-
"YorkieClient",
51-
),
5241
)
5342
KanbanBoardViewModel(client)
5443
}

examples/rich-text-editor/demo.mp4

5.93 MB
Binary file not shown.

examples/rich-text-editor/src/main/java/com/example/richtexteditor/ui/richtexteditor/EditorViewModel.kt

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ import androidx.compose.ui.text.TextRange
1010
import androidx.lifecycle.ViewModel
1111
import androidx.lifecycle.ViewModelProvider
1212
import androidx.lifecycle.viewModelScope
13-
import com.example.core.common.client.YorkieClient
1413
import com.example.richtexteditor.BuildConfig
1514
import com.google.gson.GsonBuilder
1615
import com.google.gson.JsonDeserializationContext
@@ -28,7 +27,6 @@ import dev.yorkie.document.Document.Event.PresenceChanged
2827
import dev.yorkie.document.json.JsonText
2928
import dev.yorkie.document.operation.OperationInfo
3029
import dev.yorkie.document.time.ActorID
31-
import dev.yorkie.util.createSingleThreadDispatcher
3230
import java.lang.reflect.Type
3331
import java.net.URLDecoder
3432
import kotlin.random.Random
@@ -72,9 +70,6 @@ class EditorViewModel(
7270
apiKey = BuildConfig.YORKIE_API_KEY,
7371
),
7472
host = BuildConfig.YORKIE_SERVER_URL,
75-
unaryClient = YorkieClient.createUnaryClient(),
76-
streamClient = YorkieClient.createStreamClient(),
77-
dispatcher = createSingleThreadDispatcher("YorkieClient"),
7873
)
7974

8075
private val document = Document(
14.2 KB
Loading

examples/scheduler/demo.mp4

2.92 MB
Binary file not shown.

0 commit comments

Comments
 (0)