Skip to content

ci: add Android PR checks and increase test coverage#5

Merged
KoheiYamashita merged 9 commits intomainfrom
ci/android-pr-checks
Mar 1, 2026
Merged

ci: add Android PR checks and increase test coverage#5
KoheiYamashita merged 9 commits intomainfrom
ci/android-pr-checks

Conversation

@KoheiYamashita
Copy link
Member

📝 Description

Android CI/CDパイプライン追加、テストカバレッジ大幅向上、および複数のバグ修正を含む統合PR。

主な変更:

  • Android PRチェックワークフロー(ktlint, lint, unit tests)の追加
  • Go/Androidの両方でユニットテストを大幅に追加(新規テストファイル約40件)
  • テスト品質レビューによるプロダクションコードのバグ修正(stripFrontmatterの正規表現)
  • .gitignoreのパターン修正(Androidテストファイルが誤って除外されていた問題)
  • バージョン0.2.0へのバンプ
  • CGO_ENABLED=0ビルド向けのCA証明書パス・DNSリゾルバ修正
  • lint警告と未使用コードの削除

🗣️ Type of Change

  • 🐞 Bug fix (non-breaking change which fixes an issue)
  • ✨ New feature (non-breaking change which adds functionality)
  • 📖 Documentation update
  • ⚡ Code refactoring (no functional changes, no api changes)

🔗 Linked Issue

N/A

📚 Technical Context (Skip for Docs)

  • Reference: N/A
  • Reasoning: テストカバレッジ向上によりCI品質ゲートを強化。レビュー中に発見されたpkg/skills/loader.gostripFrontmatter正規表現バグ((?s)フラグ欠落)を修正。

🧪 Test Environment & Hardware

  • Hardware: PC (Linux)
  • OS: Ubuntu (Linux 6.8.0-100-generic)
  • Model/Provider: N/A
  • Channels: N/A

📸 Proof of Work (Optional for Docs)

Click to view Logs/Screenshots

Go tests: go test ./... - all passing
Android tests: ./gradlew testTermuxDebugUnitTest - all passing

☑️ Checklist

  • My code/docs follow the style of this project.
  • I have performed a self-review of my own changes.
  • I have updated the documentation accordingly.

KoheiYamashita and others added 3 commits March 1, 2026 13:02
- Add ktlint plugin (org.jlleitschuh.gradle.ktlint) to all subprojects
- Add Android Lint config with checkDependencies for full coverage
- Add JUnit 5 dependencies to app, core/domain, core/data modules
- Create .editorconfig for ktlint rules (indent 4, max line 120)
- Create android-pr.yml workflow with parallel jobs:
  ktlint, lint-termux, lint-embedded, test-termux, test-embedded
- Add gate jobs to android-build.yml and pr.yml
- Add golangci-lint job to pr.yml
- Replace build.yml with go-build.yml

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Address Go linter (errcheck, printf) and Android lint (ktlint, deprecated APIs)
warnings without changing any runtime behavior.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add unit tests for Go packages (agent, bus, channels, config, constants,
cron, skills, utils) and Android modules (app, backend, core, feature).

Fix stripFrontmatter bug where multi-line YAML frontmatter was not
stripped due to missing (?s) flag in regex.

Fix .gitignore pattern 'clawdroid' matching paths containing
'io/clawdroid/' by scoping to root-only '/clawdroid'.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@gemini-code-assist
Copy link

Summary of Changes

Hello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

このプルリクエストは、Android開発ワークフローと全体的なコード品質を大幅に向上させることを目的としています。堅牢なCI/CDチェックの導入、広範なユニットテストの追加、およびいくつかの重要なバグとコード衛生の問題への対処を通じて、プロジェクトの安定性と保守性が強化されました。

Highlights

  • Android CI/CDパイプラインの追加: ktlint、lint、およびユニットテストを含むAndroidプルリクエストチェックワークフローが追加されました。
  • テストカバレッジの大幅な向上: GoとAndroidの両方で約40件の新規テストファイルが追加され、ユニットテストカバレッジが大幅に向上しました。
  • プロダクションコードのバグ修正: pkg/skills/loader.go内のstripFrontmatter正規表現のバグ((?s)フラグの欠落)が修正されました。
  • .gitignoreの修正: Androidテストファイルが誤って除外されていた問題を修正するため、.gitignoreのパターンが更新されました。
  • バージョンバンプとクリーンアップ: バージョンが0.2.0にバンプされ、CGO_ENABLED=0ビルド向けのCA証明書パスとDNSリゾルバが修正され、lint警告と未使用コードが削除されました。

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Changelog
  • .gitignore
    • Modified to correctly ignore clawdroid and clawdroid-test executables.
  • android/.editorconfig
    • Added to enforce consistent code style for Kotlin files.
  • android/app/build.gradle.kts
    • Updated to include Kover plugin for code coverage.
    • Formatted keystoreProperties assignment for readability.
    • Added lint configuration to the Android block.
    • Enabled unitTests.isReturnDefaultValues in test options.
    • Added JUnit5, MockK, Coroutines Test, and Turbine dependencies for testing.
  • android/app/lint.xml
    • Added to configure Android lint checks, ignoring specific issues like IconDuplicates, GradleDependency, and NewerVersionAvailable.
  • android/app/src/main/AndroidManifest.xml
    • Updated to include tools namespace.
    • Declared uses-feature for camera and microphone as not required.
    • Added tools:ignore for QueryAllPackagesPermission and ExportedReceiver to suppress lint warnings.
  • android/app/src/main/java/io/clawdroid/assistant/AssistantActivity.kt
    • Updated Uri.parse calls to use androidx.core.net.toUri extension function for consistency.
  • android/app/src/main/java/io/clawdroid/assistant/AssistantService.kt
    • Added @android.annotation.SuppressLint("InlinedApi") to computeForegroundTypes function to suppress lint warnings.
  • android/app/src/main/java/io/clawdroid/assistant/ToolRequestHandler.kt
    • Updated Uri.parse calls to use androidx.core.net.toUri extension function.
    • Removed Build.VERSION.SDK_INT check for longVersionCode as it's now generally available.
    • Refactored UI tree dumping logic to remove redundant try-finally blocks and node recycling, simplifying resource management.
  • android/app/src/main/java/io/clawdroid/di/AppModule.kt
    • Imported androidx.core.content.edit.
    • Updated shared preferences editing to use the edit { ... } lambda for conciseness.
  • android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
    • Renamed to android/app/src/main/res/mipmap-anydpi/ic_launcher.xml.
  • android/app/src/main/res/values/colors.xml
    • Removed as it was no longer needed.
  • android/app/src/test/java/io/clawdroid/settings/AppSettingsUiStateTest.kt
    • Added unit tests for AppSettingsUiState covering HTTP port validation and default values.
  • android/app/src/test/java/io/clawdroid/settings/AppSettingsViewModelTest.kt
    • Added unit tests for AppSettingsViewModel covering field updates, save logic, and error handling.
  • android/app/src/test/java/io/clawdroid/setup/SetupUiStateTest.kt
    • Added unit tests for SetupUiState covering gateway port validation and canProceedStep1 logic.
  • android/app/src/test/java/io/clawdroid/setup/SetupViewModelTest.kt
    • Added unit tests for SetupViewModel covering field updates, step navigation, and API submission.
  • android/backend/api/build.gradle.kts
    • Updated to include Kover plugin for code coverage.
    • Added JUnit5 dependencies for testing.
  • android/backend/api/src/test/java/io/clawdroid/backend/api/BackendStateTest.kt
    • Added unit tests for BackendState enum values.
  • android/backend/api/src/test/java/io/clawdroid/backend/api/GatewaySettingsTest.kt
    • Added unit tests for GatewaySettings data class properties and httpBaseUrl derivation.
  • android/backend/config/build.gradle.kts
    • Updated to include Kover plugin for code coverage.
    • Added JUnit5, MockK, Coroutines Test, and Turbine dependencies for testing.
  • android/backend/config/src/test/java/io/clawdroid/backend/config/ConfigViewModelTest.kt
    • Added unit tests for ConfigViewModel covering data loading, section selection, field editing, and save operations.
  • android/backend/loader/src/main/java/io/clawdroid/backend/loader/GatewayService.kt
    • Added @android.annotation.SuppressLint("InlinedApi") to onStartCommand function to suppress lint warnings.
  • android/build.gradle.kts
    • Updated to apply ktlint plugin to all subprojects for code style enforcement.
    • Configured JUnit Platform for all subproject tests.
    • Added junit5-launcher to testRuntimeOnly configuration for proper JUnit 5 test execution.
  • android/core/data/build.gradle.kts
    • Updated to include Kover plugin for code coverage.
    • Enabled unitTests.isReturnDefaultValues in test options.
    • Added JUnit5, MockK, Coroutines Test, and Turbine dependencies for testing.
  • android/core/data/src/test/java/io/clawdroid/core/data/local/converter/ConvertersTest.kt
    • Added unit tests for Converters class, specifically for string list serialization/deserialization.
  • android/core/data/src/test/java/io/clawdroid/core/data/mapper/MessageMapperTest.kt
    • Added unit tests for MessageMapper covering conversions between domain models, entities, and DTOs.
  • android/core/data/src/test/java/io/clawdroid/core/data/remote/dto/ToolRequestTest.kt
    • Added unit tests for ToolRequest DTO serialization/deserialization.
  • android/core/data/src/test/java/io/clawdroid/core/data/remote/dto/ToolResponseTest.kt
    • Added unit tests for ToolResponse DTO serialization/deserialization.
  • android/core/data/src/test/java/io/clawdroid/core/data/remote/dto/WsIncomingTest.kt
    • Added unit tests for WsIncoming DTO serialization/deserialization.
  • android/core/data/src/test/java/io/clawdroid/core/data/remote/dto/WsOutgoingTest.kt
    • Added unit tests for WsOutgoing DTO serialization/deserialization.
  • android/core/data/src/test/java/io/clawdroid/core/data/repository/ChatRepositoryImplTest.kt
    • Added unit tests for ChatRepositoryImpl covering connection management, message sending, and incoming message handling.
  • android/core/domain/build.gradle.kts
    • Updated to include Kover plugin for code coverage.
    • Added JUnit5, MockK, and Coroutines Test dependencies for testing.
  • android/core/domain/src/test/java/io/clawdroid/core/domain/model/ChatMessageTest.kt
    • Added unit tests for ChatMessage data class and related enums.
  • android/core/domain/src/test/java/io/clawdroid/core/domain/model/ConnectionStateTest.kt
    • Added unit tests for ConnectionState enum values.
  • android/core/domain/src/test/java/io/clawdroid/core/domain/model/TtsConfigTest.kt
    • Added unit tests for TtsConfig data class properties.
  • android/core/domain/src/test/java/io/clawdroid/core/domain/usecase/ConnectChatUseCaseTest.kt
    • Added unit tests for ConnectChatUseCase.
  • android/core/domain/src/test/java/io/clawdroid/core/domain/usecase/DisconnectChatUseCaseTest.kt
    • Added unit tests for DisconnectChatUseCase.
  • android/core/domain/src/test/java/io/clawdroid/core/domain/usecase/LoadMoreMessagesUseCaseTest.kt
    • Added unit tests for LoadMoreMessagesUseCase.
  • android/core/domain/src/test/java/io/clawdroid/core/domain/usecase/ObserveConnectionUseCaseTest.kt
    • Added unit tests for ObserveConnectionUseCase.
  • android/core/domain/src/test/java/io/clawdroid/core/domain/usecase/ObserveMessagesUseCaseTest.kt
    • Added unit tests for ObserveMessagesUseCase.
  • android/core/domain/src/test/java/io/clawdroid/core/domain/usecase/ObserveStatusUseCaseTest.kt
    • Added unit tests for ObserveStatusUseCase.
  • android/core/domain/src/test/java/io/clawdroid/core/domain/usecase/SendMessageUseCaseTest.kt
    • Added unit tests for SendMessageUseCase.
  • android/feature/chat/build.gradle.kts
    • Updated to include Kover plugin for code coverage.
    • Enabled unitTests.isReturnDefaultValues in test options.
    • Added JUnit5, MockK, Coroutines Test, and Turbine dependencies for testing.
  • android/feature/chat/src/main/java/io/clawdroid/feature/chat/assistant/AssistantManager.kt
    • Updated Uri.parse calls to use androidx.core.net.toUri extension function.
  • android/feature/chat/src/main/java/io/clawdroid/feature/chat/component/ImagePreview.kt
    • Removed android.net.Uri import.
    • Updated Uri.parse calls to use androidx.core.net.toUri extension function.
  • android/feature/chat/src/test/java/io/clawdroid/feature/chat/ChatUiStateTest.kt
    • Added unit tests for ChatUiState default values.
  • android/feature/chat/src/test/java/io/clawdroid/feature/chat/ChatViewModelTest.kt
    • Added unit tests for ChatViewModel covering event handling, message sending, and state updates.
  • android/feature/chat/src/test/java/io/clawdroid/feature/chat/SettingsViewModelTest.kt
    • Added unit tests for SettingsViewModel covering TTS configuration updates and test speech functionality.
  • android/feature/chat/src/test/java/io/clawdroid/feature/chat/voice/VoiceModeStateTest.kt
    • Added unit tests for VoiceModeState default values.
  • android/gradle/libs.versions.toml
    • Added versions for ktlint-plugin, junit5, mockk, and turbine.
    • Added corresponding library and plugin aliases for new testing and linting tools.
  • cmd/clawdroid/main.go
    • Updated fmt.Scanln to ignore return values for cleaner error handling.
    • Updated os.MkdirAll calls to ignore errors, as directory creation failures are often non-critical in this context.
    • Changed fmt.Print to fmt.Printf for consistent formatting.
    • Added error ignoring for agentLoop.Run, gwServer.Stop, and channelManager.StopAll calls.
  • pkg/agent/context.go
    • Removed loadSkills function, streamlining skill loading logic.
  • pkg/agent/loop.go
    • Updated os.MkdirAll and al.sessions.Save calls to ignore errors for non-critical operations.
  • pkg/agent/media_test.go
    • Added unit tests for media persistence (PersistMedia) and cleanup (CleanupMediaFiles) utilities.
  • pkg/agent/memory.go
    • Updated os.MkdirAll calls to ignore errors.
  • pkg/agent/memory_test.go
    • Added unit tests for MemoryStore functionality, including reading, writing, appending, and retrieving memory context.
  • pkg/agent/ratelimit_test.go
    • Added unit tests for rate limiting logic, covering pruneOld, newRateLimiter, checkToolCall, and checkRequest.
  • pkg/agent/status_test.go
    • Added unit tests for status label generation logic, including strArg, truncLabel, hostFromURL, statusLabel, fileStatusLabel, memoryStatusLabel, skillStatusLabel, cronStatusLabel, androidStatusLabel, and mcpStatusLabel.
  • pkg/bus/bus_test.go
    • Added unit tests for MessageBus functionality, including publishing, consuming, subscribing, handler registration, and concurrent operations.
  • pkg/channels/discord.go
    • Removed getContext function as it was unused.
    • Updated AddReaction calls to ignore errors for non-critical reactions.
  • pkg/channels/discord_test.go
    • Added unit tests for Discord message splitting and code block handling logic.
  • pkg/channels/line_test.go
    • Added unit tests for LINE channel message handling, signature verification, bot mention detection, and chat ID resolution.
  • pkg/channels/slack.go
    • Updated AddReaction calls to ignore errors for non-critical reactions.
  • pkg/channels/telegram.go
    • Updated c.commands.Help to return its error directly.
    • Updated bh.Start() and bh.Stop() calls to ignore errors for non-critical operations.
  • pkg/channels/telegram_test.go
    • Added unit tests for Telegram channel HTML escaping, markdown conversion to Telegram HTML, and chat ID parsing.
  • pkg/config/config_test.go
    • Added unit tests for FlexibleStringSlice JSON unmarshalling, ensuring proper handling of string and number arrays.
    • Added unit tests for expandHome utility function.
    • Added unit tests for CopyFrom method, verifying configuration copying.
    • Added unit tests for LoadConfig behavior with non-existent and valid files.
    • Added unit tests for WorkspacePath expansion.
    • Added SaveConfig/LoadConfig round-trip test to ensure configuration persistence.
  • pkg/constants/channels_test.go
    • Added unit tests for IsInternalChannel function.
  • pkg/cron/service.go
    • Updated cs.loadStore() call to ignore errors.
  • pkg/cron/service_test.go
    • Added unit tests for CronService functionality, including computeNextRun, AddJob, RemoveJob, generateID, ListJobs, Start/Stop, UpdateJob, Status, Load, getNextWakeMS, and EnableJob.
  • pkg/gateway/server_test.go
    • Updated json.NewDecoder(rr.Body).Decode calls to ignore errors for non-critical decoding scenarios.
    • Updated config.SaveConfig calls to ignore errors in test setups.
    • Updated s.Stop deferred call to ignore errors for cleaner test teardown.
  • pkg/heartbeat/service_test.go
    • Updated os.WriteFile calls to ignore errors in test setups.
  • pkg/logger/logger.go
    • Removed logger variable and init function, simplifying logger initialization as it's now directly used.
  • pkg/mcp/manager.go
    • Updated session.Wait() call to ignore errors.
  • pkg/session/manager.go
    • Updated os.MkdirAll and sm.saveAtomic() calls to ignore errors.
  • pkg/skills/loader.go
    • Updated lines = append(lines, fmt.Sprintf(" <skill>")) to lines = append(lines, " <skill>") for a minor optimization.
    • Fixed a regex in stripFrontmatter to include the (?s) flag for dotall mode, ensuring it correctly handles multiline frontmatter.
  • pkg/skills/loader_test.go
    • Added unit tests for SkillsInfoValidate including checks for name and description length limits.
    • Added unit tests for parseSimpleYAML covering various YAML parsing scenarios.
    • Added unit tests for extractFrontmatter and stripFrontmatter functions.
    • Added unit tests for escapeXML function.
    • Added integration tests for LoadSkill, ListSkills, BuildSkillsSummary, and LoadSkillsForContext covering different skill sources and edge cases.
  • pkg/state/state.go
    • Updated os.MkdirAll and sm.saveAtomic() calls to ignore errors.
  • pkg/state/state_test.go
    • Updated sm.SetLastChannel and sm.SetLastChatID calls to ignore errors in test scenarios.
  • pkg/tools/cron.go
    • Updated t.cronService.UpdateJob(job) call to ignore errors.
  • pkg/tools/edit_test.go
    • Updated os.WriteFile calls to ignore errors in test setups.
  • pkg/tools/exit.go
    • Updated t.sendCallback call to ignore errors.
  • pkg/tools/filesystem_test.go
    • Updated os.WriteFile and os.Mkdir calls to ignore errors in test setups.
  • pkg/tools/shell_test.go
    • Updated os.WriteFile call to ignore errors in test setups.
  • pkg/tools/skills_test.go
    • Updated os.MkdirAll and os.WriteFile calls to ignore errors in test setups.
  • pkg/tools/web_test.go
    • Updated w.Write and json.Unmarshal calls to ignore errors in test setups.
  • pkg/utils/media_test.go
    • Added unit tests for SanitizeFilename covering various filename sanitization scenarios.
    • Added unit tests for EncodeFileToDataURL covering different image types, unsupported files, and size limits.
    • Added unit tests for DownloadFile and DownloadFileSimple covering success, 404, headers, and timeouts.
  • pkg/utils/string_test.go
    • Added unit tests for Truncate function, covering various string lengths and unicode characters.
Ignored Files
  • Ignored by pattern: .github/workflows/** (4)
    • .github/workflows/android-build.yml
    • .github/workflows/android-pr.yml
    • .github/workflows/go-build.yml
    • .github/workflows/pr.yml
Activity
  • Android CI/CDパイプラインが追加され、ktlint、lint、ユニットテストが実行されるようになりました。
  • GoとAndroidの両方で、約40件の新しいユニットテストファイルが追加され、テストカバレッジが大幅に向上しました。
  • テスト品質レビュー中に発見されたプロダクションコードのバグ(stripFrontmatter正規表現の(?s)フラグ欠落)が修正されました。
  • .gitignoreファイルが修正され、Androidテストファイルが誤って除外される問題が解決されました。
  • プロジェクトのバージョンが0.2.0に更新されました。
  • CGO_ENABLED=0ビルド向けのCA証明書パスとDNSリゾルバに関する修正が適用されました。
  • コードベース全体でlint警告と未使用のコードが削除され、コードの品質と保守性が向上しました。
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

このPRは、AndroidのCI/CDパイプラインの追加、GoとAndroid両方でのテストカバレッジの大幅な向上、そして多数のバグ修正とリファクタリングを含んでおり、素晴らしい改善です。特に、40件近くの新しいテストファイルを追加した点は、プロジェクトの品質と安定性を大きく向上させるものであり、高く評価します。

コード全体として、ktlintの適用や未使用コードの削除、AccessibilityNodeInfoのメモリリーク修正など、多くの改善が見られます。

いくつか、エラーハンドリングに関する改善点を提案します。pkg/agent/loop.goでのセッション保存、pkg/tools/cron.goでのcronジョブ更新、pkg/tools/exit.goでの終了シグナル送信において、エラーが無視されています。これらのエラーを適切に処理することで、アプリケーションの堅牢性がさらに向上すると考えられます。

詳細は各コメントをご確認ください。

KoheiYamashita and others added 6 commits March 1, 2026 19:28
golangci-lint v1.x is built with Go 1.24 which is incompatible with
the project's Go 1.25.6. golangci-lint v2.4.0+ supports Go 1.25.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
golangci-lint-action@v6 only supports golangci-lint v1.
v7+ is required for golangci-lint v2, and v9 is the latest.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The lint job needs go generate to copy the workspace/ directory
required by //go:embed, matching the vet and test jobs.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add explicit error return handling for Close, Remove, Write, Setenv
- Fix capitalized error strings (ST1005)
- Fix trailing newline in error string (ST1005)
- Remove duplicate import of telegohandler (ST1019)
- Replace WriteString(Sprintf) with Fprintf (QF1012)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Fix additional errcheck violations in loop_test, heartbeat_test,
skills_test, media_test, edit, web, and skills tools.
Replace remaining WriteString(Sprintf) with Fprintf in mcp and skills.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@KoheiYamashita KoheiYamashita enabled auto-merge (squash) March 1, 2026 11:25
@KoheiYamashita KoheiYamashita disabled auto-merge March 1, 2026 11:28
@KoheiYamashita KoheiYamashita merged commit c065c28 into main Mar 1, 2026
16 checks passed
@KoheiYamashita KoheiYamashita deleted the ci/android-pr-checks branch March 1, 2026 11:29
KoheiYamashita added a commit that referenced this pull request Mar 8, 2026
- Merge duplicate parameter descriptions in buildParameters (#1)
- Use map for DisabledActions lookup in isActionEnabled (#2)
- Add URL scheme whitelist (http/https only) for open_url (#3)
- Escape SQL LIKE wildcards in ContactsActionHandler (#4)
- Fix JSON tag inconsistency: web_actions -> web (#5)
- Add comprehensive tests for android tool (#6)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant