chore: publish Quickstarts for SDK version 5.1.0 - #307
chore: publish Quickstarts for SDK version 5.1.0#307Alyssa Evans (alycda) wants to merge 0 commit into
Conversation
There was a problem hiding this comment.
Pull request overview
Note
Copilot was unable to run its full agentic suite in this review.
Updates the multi-language Ditto quickstart apps to Ditto v5.1-era configuration and terminology (Database ID / Development Token / Server URL), while aligning sync subscription vs local observer behavior and refreshing build tooling/workarounds across platforms.
Changes:
- Rename identity/env vars across apps (App ID → Database ID, Playground Token → Development Token, Auth URL → Server URL) and update connection/auth initialization accordingly.
- Update Ditto SDK versions across ecosystems (SwiftPM, Rust, JS, Kotlin, Java, .NET, Flutter, C++) and adjust related tooling/config (clippy, cargo env override, Xcode/Pod workarounds, line-ending policy).
- Simplify/standardize DQL usage (parameter naming, soft-delete filtering via observers) and refresh docs/CI seeding behavior.
Reviewed changes
Copilot reviewed 156 out of 201 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| swift/buildEnv.sh | Switch generated Env build script to bash and adjust heredoc/whitespace handling. |
| swift/Tasks/TasksListScreen.swift | Update subscription/observer queries; rename bindings and env display fields. |
| swift/Tasks/DittoManager.swift | Rename auth URL handling to server URL; update env var names used by config/auth. |
| swift/Tasks.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved | Update Swift package resolution for DittoSwiftPackage. |
| swift/Tasks.xcodeproj/project.pbxproj | Bump Swift version and SwiftPM minimum version requirement. |
| swift/README.md | Update docs and links to “latest” API reference and new credential names. |
| swift/.swiftlint.yml | Formatting-only change to excluded path list. |
| scripts/README.md | Remove maintainer-script folder README. |
| rust-tui/src/tui/todolist.rs | Reformat imports; remove websocket display; adjust observer query and DQL formatting. |
| rust-tui/src/tui/mod.rs | Reorder imports; remove websocket_url parameter plumbing. |
| rust-tui/src/term.rs | Import ordering cleanup. |
| rust-tui/src/lib.rs | Doc comment formatting fix. |
| rust-tui/src/bin/main.rs | Replace auth/websocket fields with server URL; adjust dotenv loading and Ditto init. |
| rust-tui/src/bin/integration_test.rs | Update env var names and dotenv lookup; remove websocket transport config. |
| rust-tui/clippy.toml | Add local clippy config to avoid inheriting monorepo lint policy. |
| rust-tui/README.md | Update credentials terminology and sample env snippet. |
| rust-tui/Cargo.toml | Bump dittolive-ditto crate version. |
| rust-tui/.cargo/config.toml | Override monorepo cargo env to download prebuilt Ditto FFI. |
| react-native/yarn.lock | Update Ditto JS SDK resolution and dependency patch versions. |
| react-native/types/env.d.ts | Rename env typings to Database/Development/Server. |
| react-native/package.json | Bump Ditto JS SDK version and add dependency pinning entries. |
| react-native/jest.setup.js | Formatting-only changes to mocks/components. |
| react-native/ios/Podfile | Add fmt/Xcode workaround scoped to fmt target. |
| react-native/components/TaskDone.tsx | Formatting-only changes. |
| react-native/components/NewTaskModal.tsx | Formatting-only changes. |
| react-native/components/EditTaskModal.tsx | Formatting-only changes. |
| react-native/components/DittoSync.tsx | Formatting-only changes. |
| react-native/components/DittoInfo.tsx | Formatting-only changes. |
| react-native/android/gradle.properties | Drop x86/x86_64 ABIs in CI to avoid disk exhaustion. |
| react-native/android/app/src/main/AndroidManifest.xml | Add network/WiFi permissions (likely for LAN transport). |
| react-native/mocks/@env.js | Rename mocked env vars. |
| react-native/README.md | Update docs and credential names/links. |
| react-native/Gemfile.lock | Update concurrent-ruby version/constraint. |
| react-native/Gemfile | Update concurrent-ruby constraint. |
| react-native/.maestro/flows/01-app-launch-and-seeded-tasks-ios.yaml | Quote style changes (double → single). |
| react-native/.maestro/flows/01-app-launch-and-seeded-tasks-android.yaml | Quote style changes (double → single). |
| react-native-expo/types/env.d.ts | Rename env typings to Database/Development/Server and remove websocket var. |
| react-native-expo/scripts/reset-project.js | Convert to single quotes and minor formatting. |
| react-native-expo/package.json | Bump Ditto JS SDK; update overrides/resolutions. |
| react-native-expo/metro.config.js | Quote/formatting cleanup. |
| react-native-expo/main.tsx | Quote/formatting cleanup. |
| react-native-expo/eslint.config.js | Quote/formatting cleanup. |
| react-native-expo/components/TaskDone.tsx | Type/formatting cleanup. |
| react-native-expo/components/NewTaskModal.tsx | Import formatting and type terminators. |
| react-native-expo/components/Fab.tsx | Import formatting. |
| react-native-expo/components/EditTaskModal.tsx | Import formatting and type terminators. |
| react-native-expo/components/DittoInfo.tsx | Rename prop to databaseId and update label text. |
| react-native-expo/babel.config.js | Quote/formatting cleanup; keep env path. |
| react-native-expo/android/gradle.properties | Drop x86/x86_64 ABIs in CI to avoid disk exhaustion. |
| react-native-expo/README.md | Adjust Xcode/fmt note wording. |
| react-native-expo/.maestro/flows/01-app-launch-and-seeded-tasks-ios.yaml | Quote style changes (double → single). |
| react-native-expo/.maestro/flows/01-app-launch-and-seeded-tasks-android.yaml | Quote style changes (double → single). |
| kotlin-multiplatform/composeApp/src/commonMain/kotlin/com/ditto/quickstart/usecases/SetSyncStatusUseCase.kt | Switch Ditto error type to DittoException. |
| kotlin-multiplatform/composeApp/src/commonMain/kotlin/com/ditto/quickstart/ui/components/TopBar.kt | Rename displayed “App Id” to “Database ID” and parameter rename. |
| kotlin-multiplatform/composeApp/src/commonMain/kotlin/com/ditto/quickstart/ui/MainScreenViewModel.kt | Rename secrets usage to Database/Development envs. |
| kotlin-multiplatform/composeApp/src/commonMain/kotlin/com/ditto/quickstart/ui/MainScreen.kt | Wire TopBar param rename (appId → databaseId). |
| kotlin-multiplatform/composeApp/src/commonMain/kotlin/com/ditto/quickstart/ditto/DittoManager.kt | Update Ditto config/auth/sync APIs and observer registration signature. |
| kotlin-multiplatform/composeApp/src/commonMain/kotlin/com/ditto/quickstart/data/screenstate/MainScreenState.kt | Rename state field appId → databaseId. |
| kotlin-multiplatform/composeApp/src/commonMain/kotlin/com/ditto/quickstart/data/repository/DittoTaskRepository.kt | Split subscription vs observer query; update param names and observer transform usage. |
| kotlin-multiplatform/composeApp/src/commonMain/kotlin/com/ditto/quickstart/data/DittoCredentials.kt | Rename appId → databaseId. |
| kotlin-multiplatform/composeApp/src/androidMain/kotlin/com/ditto/quickstart/ditto/DittoManager.android.kt | Remove App singleton usage for DittoFactory context. |
| kotlin-multiplatform/composeApp/build.gradle.kts | Bump Ditto Kotlin/binaries dependency versions. |
| kotlin-multiplatform/README.md | Update credential naming and API reference link. |
| javascript-web/src/components/DittoInfo.tsx | Rename prop appId → databaseId and update label text. |
| javascript-web/src/App.tsx | Switch to Database/Development/Server env vars and adjust observer query. |
| javascript-web/package.json | Bump Ditto JS SDK and Vite tooling versions. |
| javascript-web/README.md | Update docs, credential names, and API reference link. |
| javascript-tui/tests/integration_test.js | Update env var names and remove websocket transport config. |
| javascript-tui/source/cli.js | Update CLI flags/env vars; remove websocket/auth flags; keep LAN P2P config. |
| javascript-tui/prettier.config.js | Remove ESM prettier config file. |
| javascript-tui/prettier.config.cjs | Add CJS prettier config for tool compatibility. |
| javascript-tui/package.json | Reformat JSON; bump Ditto JS SDK; remove external prettier config reference. |
| javascript-tui/README.md | Update docs and credential names; reformat JSON example. |
| javascript-tui/.prettierignore | Ignore package-lock.json. |
| java-server/src/main/resources/templates/fragments/taskList.html | Include “done” query param in toggle POST. |
| java-server/src/main/java/com/ditto/example/spring/quickstart/service/DittoTaskService.java | Update parameter names, toggle handling, and subscription vs observer query split. |
| java-server/src/main/java/com/ditto/example/spring/quickstart/service/DittoService.java | Switch Ditto config/env vars to Database/Development/Server. |
| java-server/src/main/java/com/ditto/example/spring/quickstart/controller/TaskRestController.java | Toggle endpoint now requires done param and calls setTaskDone. |
| java-server/settings.gradle.kts | Bump foojay toolchains plugin version. |
| java-server/java-spring-maven/pom.xml | Bump Ditto Java dependencies. |
| java-server/build.gradle.kts | Bump Ditto Java/binaries dependencies. |
| java-server/README.md | Update credential naming and API reference link. |
| go-tui/main.go | Rename env vars and update observer + insert DQL. |
| go-tui/README.md | Update credential naming and sample env content. |
| global.json | Pin .NET 10 SDK for quickstart subtree. |
| flutter_app/windows/CMakeLists.txt | Add compiler define workaround for permission_handler_windows coroutine header issue. |
| flutter_app/test/widget_test.dart | Formatting updates to tests. |
| flutter_app/test/dql_safety_test.dart | Add regression test preventing unsafe DQL string interpolation. |
| flutter_app/pubspec.yaml | Update ditto_live dependency and formatting. |
| flutter_app/pubspec.lock | Update lockfile, Ditto plugin version, and Dart SDK constraint. |
| flutter_app/macos/Podfile.lock | Update CocoaPods lock for ditto_live/DittoFlutter. |
| flutter_app/lib/main.dart | Rename env vars, adjust subscription query, and remove “clear tasks” UI. |
| flutter_app/lib/dql_builder.dart | StreamBuilder formatting only. |
| flutter_app/lib/dialog.dart | Formatting simplification. |
| flutter_app/ios/Podfile.lock | Update CocoaPods lock for ditto_live/DittoFlutter. |
| flutter_app/integration_test/app_test.dart | Update test formatting and remove clear-button assertions. |
| flutter_app/android/gradlew.bat | Normalize line endings and content (likely via .gitattributes). |
| flutter_app/android/build.gradle | Skip afterEvaluate for app project to avoid Gradle 8.10 error. |
| flutter_app/README.md | Update credential naming (Database ID / Development Token / Server URL). |
| electron/tsconfig.web.json | Inline include array formatting. |
| electron/tailwind.config.js | Inline content array formatting. |
| electron/src/types.ts | Rename DittoIdentity field appId → databaseId. |
| electron/src/renderer/components/DittoInfo.tsx | Rename prop appId → databaseId and update label text. |
| electron/src/renderer/App.tsx | Rename state appId → databaseId and update getInfo mapping. |
| electron/src/main/env.ts | Rename env vars and update error message. |
| electron/src/main/ditto.ts | Switch to Database/Development/Server env vars; remove websocket URL config; update observer query and DQL formatting. |
| electron/package.json | Bump Ditto JS SDK; bump tooling; add overrides pins. |
| electron/README.md | Update docs/credential naming; adjust transport description. |
| dotnet-winforms/TasksApp/Program.cs | Switch env vars to Database/Development/Server and update peer creation. |
| dotnet-winforms/TasksApp/MainForm.cs | Update UI labels for new credential naming. |
| dotnet-winforms/TasksApp/DittoTasksApp.csproj | Bump Ditto package version. |
| dotnet-winforms/TasksApp/AboutForm.cs | Update About fields for new credential naming. |
| dotnet-winforms/README.md | Update docs and API reference link. |
| dotnet-winforms/IntegrationTest/Program.cs | Update env vars and defaults; adjust logging text. |
| dotnet-winforms-net48/packages.config | Bump Ditto and native packages; normalize line endings. |
| dotnet-winforms-net48/ToDoTask.cs | Normalize line endings/formatting only. |
| dotnet-winforms-net48/TasksPeerService.cs | Rename init args to Database/Development/Server. |
| dotnet-winforms-net48/Taskapp.WinForms.Net48.sln | Normalize line endings. |
| dotnet-winforms-net48/README.md | Update docs and API reference link; update env var instructions. |
| dotnet-winforms-net48/Properties/Settings.settings | Normalize line endings. |
| dotnet-winforms-net48/Properties/AssemblyInfo.cs | Normalize line endings. |
| dotnet-winforms-net48/Program.cs | Rename AppConfiguration fields used by initialization. |
| dotnet-winforms-net48/AppConfiguration.cs | Rename env vars and validation messages. |
| dotnet-winforms-net48/App.config | Normalize line endings. |
| dotnet-winforms-net48/.env.sample | Update sample env vars to Database/Development/Server. |
| dotnet-tui/README.md | Update docs and API reference link. |
| dotnet-tui/DittoDotNetTasksConsole/TasksWindow.cs | Update UI labels for new credential naming. |
| dotnet-tui/DittoDotNetTasksConsole/Program.cs | Switch env vars and peer creation args. |
| dotnet-tui/DittoDotNetTasksConsole/DittoDotNetTasksConsole.csproj | Bump Ditto package version. |
| dotnet-tui/DittoDotNetTasksConsole.Tests/IntegrationTests.cs | Switch env vars and update assertion for DatabaseId. |
| dotnet-tui/DittoDotNetTasksConsole.Tests/DittoDotNetTasksConsole.Tests.csproj | Bump Ditto package version. |
| dotnet-maui/UITests.iOS/Program.cs | Normalize line endings/formatting only. |
| dotnet-maui/UITests.Shared/TaskSearchTests.cs | Normalize line endings/formatting only. |
| dotnet-maui/UITests.Shared/BaseTest.cs | Normalize line endings/formatting only. |
| dotnet-maui/UITests.Android/Program.cs | Normalize line endings/formatting only. |
| dotnet-maui/UITests.Android/AndroidTaskSearchTests.cs | Normalize line endings/formatting only. |
| dotnet-maui/README.md | Update docs and API reference link. |
| dotnet-maui/DittoMauiTasksApp/Views/TasksPage.xaml.cs | Normalize line endings/formatting only. |
| dotnet-maui/DittoMauiTasksApp/Views/TasksPage.xaml | Update binding from AppIdText to DatabaseIdText; normalize formatting. |
| dotnet-maui/DittoMauiTasksApp/Utils/PopupService.cs | Normalize line endings/formatting only. |
| dotnet-maui/DittoMauiTasksApp/Platforms/MacCatalyst/Program.cs | Normalize line endings/formatting only. |
| dotnet-maui/DittoMauiTasksApp/Platforms/MacCatalyst/AppDelegate.cs | Normalize line endings/formatting only. |
| cpp-tui/taskscpp/tests/run_tests.sh | Minor whitespace/formatting. |
| cpp-tui/taskscpp/tests/integration_test.cpp | Update credentials usage and refactor formatting. |
| cpp-tui/taskscpp/src/tasks_tui.cpp | Update displayed credential labels and macros. |
| cpp-tui/taskscpp/src/tasks_peer.h | Simplify ctor signature and remove cleanup/seed APIs. |
| cpp-tui/taskscpp/src/tasks_log.h | Remove log-file configuration APIs. |
| cpp-tui/taskscpp/src/tasks_log.cpp | Switch logging wrapper from ditto::Log to ditto::Logger and remove log-file APIs. |
| cpp-tui/taskscpp/src/main.cpp | Update CLI flags/env vars; remove cleanup/log-file options; update peer creation. |
| cpp-tui/taskscpp/Makefile | Bump Ditto C++ SDK version. |
| cpp-tui/README.md | Update docs and API reference link; update credential naming. |
| android-kotlin/README.md | Update docs, credential naming, and version-management guidance. |
| android-kotlin/QuickStartTasks/gradle/libs.versions.toml | Bump Ditto Kotlin SDK version. |
| android-kotlin/QuickStartTasks/app/src/main/java/live/ditto/quickstart/tasks/list/TasksListScreenViewModel.kt | Split subscription vs observer query; remove initial local seeding; update toggle logic. |
| android-kotlin/QuickStartTasks/app/src/main/java/live/ditto/quickstart/tasks/list/TasksListScreen.kt | Update BuildConfig fields and toggle callback signature. |
| android-kotlin/QuickStartTasks/app/src/main/java/live/ditto/quickstart/tasks/edit/EditScreenViewModel.kt | Rename insert binding from :doc to :task. |
| android-kotlin/QuickStartTasks/app/src/main/java/live/ditto/quickstart/tasks/TasksApplication.kt | Update Ditto config env fields and token variable. |
| android-kotlin/QuickStartTasks/app/build.gradle.kts | Update required env vars and BuildConfig field names/descriptions. |
| android-java/gradle/libs.versions.toml | Bump Ditto Android SDK version. |
| android-java/app/src/main/res/values/strings.xml | Update credential label strings. |
| android-java/app/src/main/res/layout/activity_main.xml | Update token TextView ID and label reference. |
| android-java/app/src/main/java/com/example/dittotasks/MainActivity.java | Switch env vars to Database/Development/Server; update UI IDs; update observer query and DQL formatting. |
| android-java/app/src/main/java/com/example/dittotasks/DittoHelper.kt | Rename arg appId → databaseId in createDitto. |
| android-java/app/build.gradle.kts | Switch BuildConfig field/env var names. |
| android-java/README.md | Update docs, credential naming, and remove redundant version-management section. |
| README.md | Update top-level identity type guidance; add quickstart entries; update Flutter path reference. |
| LICENSE | Update copyright year. |
| AGENTS.md | Add agent reference file. |
| .github/browserstack-devices.yml | Normalize quotes/style and minor formatting. |
| .github/actions/seed-ditto-document/action.yml | Update inputs to app-id/dev-token model and harden shell execution. |
| .gitattributes | Add explicit EOL policy for quickstart export (esp. .bat/.cmd). |
| .env.sample | Update sample env vars to Database/Development/Server. |
Files not reviewed (7)
- dotnet-winforms/TasksApp/AboutForm.Designer.cs: Generated file
- dotnet-winforms/TasksApp/MainForm.Designer.cs: Generated file
- electron/package-lock.json: Generated file
- javascript-tui/package-lock.json: Generated file
- javascript-web/package-lock.json: Generated file
- react-native-expo/package-lock.json: Generated file
- react-native/package-lock.json: Generated file
Suppressed comments (4)
swift/Tasks.xcodeproj/project.pbxproj:1
- SwiftPM dependency requirements were bumped to >= 5.1.0 here, but
swiftpm/Package.resolvedin this PR still pinsDittoSwiftPackageto 5.0.2. This will break reproducible builds (and can fail CI when using a frozen resolved file). UpdatePackage.resolvedto a 5.1.x revision/version (or revert the minimumVersion change) so the requirement and the resolved lock agree.
react-native/package.json:1 - The dependency keys
ws@^6/ws@^7are not valid entries fordependenciesin a Yarn-managed package.json (package names cannot include a version-range suffix). If the goal is to force transitivewsversions, use Yarnresolutions(or npmoverridesif switching to npm), and remove these invaliddependenciesentries. Also ensureyarn.lockis regenerated to match the updated@dittolive/dittoversion.
react-native/package.json:1 - The dependency keys
ws@^6/ws@^7are not valid entries fordependenciesin a Yarn-managed package.json (package names cannot include a version-range suffix). If the goal is to force transitivewsversions, use Yarnresolutions(or npmoverridesif switching to npm), and remove these invaliddependenciesentries. Also ensureyarn.lockis regenerated to match the updated@dittolive/dittoversion.
swift/Tasks/TasksListScreen.swift:1 - Dropping
ORDER BY title ASCfrom the observer query can make the task ordering non-deterministic in the UI. This is especially risky for CI/device-farm flows that seed a task title designed to sort near the top (inverted timestamp strategy) and then scroll with timeouts. Consider restoring a deterministic ordering (e.g.,ORDER BY title ASCas before) to keep UI behavior stable and reduce test flakiness.
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
#1 (CRITICAL) — Every CI workflow still exports the OLD env-var names; every app now requires the NEW ones with no fallback
This is effectively every CI pipeline in the repo. Since no workflow file is part of this diff, I can't leave this inline — flagging as a general comment. Posted via |
#7 (informational) —
|
#8 (informational) —
|
#3 (CRITICAL) —
|
|
|
|
Alyssa Evans (@alycda) can we redo this with the latest publishing tooling from the monorepo? All that work finally landed there today and is coming here (with 5.0.3, not 5.1.0 yet) in #308 |
|
depends on https://github.com/getditto/ditto/pull/25708and then needs rebuild from main |
3d24495 to
ace04e4
Compare
Publishes the Quickstart apps for SDK version 5.1.0. Opened automatically by the Quickstart Publish workflow.