Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
70913b0
MOBILE-78: Add MindboxLifecycleInitializer
enotniy May 18, 2026
ab5f880
MOBILE-78: Fix logs
enotniy May 18, 2026
e0690a1
MOBILE-78: Add sync for track-visits
enotniy May 19, 2026
ccc04b5
MOBILE-78: Fix track-visit direct
enotniy May 20, 2026
4ce839d
Merge pull request #709 from mindbox-cloud/feature/MOBILE-78
enotniy May 21, 2026
039d7a0
Merge pull request #717 from mindbox-cloud/master
itmindbox May 22, 2026
471de2e
Add loggable property
enotniy May 25, 2026
6b5c6bc
Fix log Level compare
enotniy May 26, 2026
5f06f83
Add annotation for Level.isAtLeast
enotniy May 26, 2026
a927a68
Merge pull request #719 from mindbox-cloud/feature/add_log_property
enotniy May 26, 2026
e83eac5
MOBILE-52: Add timeout for in-app image loading
enotniy May 26, 2026
f7d52fc
Mobile-178: Add custom detekt rules for Gson @SerializedName enforcement
sergeysozinov May 26, 2026
6629af0
MOBILE-52: Add requests.remove(inAppId)
enotniy May 26, 2026
f195881
MOBILE-52: Follow code review
enotniy May 27, 2026
ca7df9e
Merge pull request #720 from mindbox-cloud/feature/MOBILE-52
enotniy May 27, 2026
0d15561
MOBILE-52: Fix snackbar cross and cross margins
enotniy Jun 1, 2026
531ea30
Merge pull request #721 from mindbox-cloud/feature/MOBILE-52_fix_inap…
enotniy Jun 1, 2026
89d73e2
MOBILE-52: Fix snackbar animation
enotniy Jun 2, 2026
941afc0
Merge pull request #722 from mindbox-cloud/feature/MOBILE-52_fix_snac…
enotniy Jun 2, 2026
c960bae
Mobile-136: Fix UrlInAppCallback
sergeysozinov Jun 4, 2026
3377617
MOBILE-52: Fix Inapp.ShowFailure on image timeout
enotniy Jun 4, 2026
509c343
MOBILE-52: Fix test
enotniy Jun 4, 2026
0490bb5
Merge pull request #724 from mindbox-cloud/feature/MOBILE-52_fix_imag…
enotniy Jun 4, 2026
5b00d74
MOBILE-215: Add example.properties
enotniy Jun 9, 2026
7dfb06d
MOBILE-215: Change Readme
enotniy Jun 9, 2026
261c24a
MOBILE-215: Bump example versionName
enotniy Jun 9, 2026
3ad7a87
Merge pull request #726 from mindbox-cloud/feature/MOBILE-215
enotniy Jun 9, 2026
29953eb
MOBILE-86: fix InApp under nested DialogFragment
sergeysozinov Jun 9, 2026
ff10cf0
MOBILE-121: Bump deprecated actions
sergeysozinov Jun 15, 2026
481037f
MOBILE-0000: add gitleaks action
sergeysozinov Jun 17, 2026
a23361e
deps(deps): bump the github-actions group with 3 updates (#730)
dependabot[bot] Jun 22, 2026
71d25de
MOBILE-220: add named firebase instance
sergeysozinov Jun 26, 2026
f9aa51f
deps(deps): bump actions/setup-java in the github-actions group
dependabot[bot] Jun 29, 2026
282a05c
MOBILE-213: send tags for inapps operations
sergeysozinov Jul 2, 2026
15741dd
deps(deps): bump actions/setup-java in the github-actions group (#734)
dependabot[bot] Jul 13, 2026
5174816
MOBILE-269: Webview cache
justSmK Jul 1, 2026
6ad4445
MOBILE-269: Remove profiling. Rename InAppWebViewPrewService.
enotniy Jul 10, 2026
9f0b6b9
MOBILE-269: Add feature toggles for webview cache
enotniy Jul 10, 2026
1e48ba4
MOBILE-269: Add tests
enotniy Jul 10, 2026
52a982e
MOBILE-269: Add InAppWebViewCachePolicy
enotniy Jul 14, 2026
7c31a18
MOBILE-269: Follow code review
enotniy Jul 14, 2026
654fb67
MOBILE-269: Follow code review
enotniy Jul 14, 2026
2d7e9cf
Merge pull request #735 from mindbox-cloud/feature/MOBILE-269
enotniy Jul 15, 2026
f3c0e92
MOBILE-197: Send data-only payload in WebView sync onError (#736)
justSmK Jul 16, 2026
97038c5
deps(deps): bump actions/setup-java in the github-actions group
dependabot[bot] Jul 20, 2026
299db12
Bump SDK version to 2.15.3
github-actions[bot] Jul 21, 2026
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
20 changes: 12 additions & 8 deletions .github/bump_versions_in_release_branch.sh
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
#!/bin/bash
#!/usr/bin/env bash
set -euo pipefail

# Check if the parameter is provided
if [ $# -eq 0 ]; then
Expand Down Expand Up @@ -31,19 +32,22 @@ ls -l
# Add changelog to the index and create a commit
properties_file="gradle.properties"
current_version=$(grep -E '^SDK_VERSION_NAME=' gradle.properties | cut -d'=' -f2)
sed -i "s/^SDK_VERSION_NAME=.*/SDK_VERSION_NAME=$version/" $properties_file
sed -i "s/^SDK_VERSION_NAME=.*/SDK_VERSION_NAME=$version/" $properties_file
sed -i "s/^SDK_VERSION_NAME=.*/SDK_VERSION_NAME=$version/" "$properties_file"
build_gradle_example_path="example/app/build.gradle"
sed -i -E "s/cloud.mindbox:mobile-sdk:[0-9]+\.[0-9]+\.[0-9]+(-rc)?/cloud.mindbox:mobile-sdk:$version/" $build_gradle_example_path
sed -i -E "s/cloud.mindbox:mobile-sdk:[0-9]+\.[0-9]+\.[0-9]+(-rc)?/cloud.mindbox:mobile-sdk:$version/" "$build_gradle_example_path"

echo "Bump SDK version from $current_version to $version."

git add $properties_file
git add -f $build_gradle_example_path
git commit -m "Bump SDK version to $version"
git add "$properties_file"
git add -f "$build_gradle_example_path"
if git diff --cached --quiet; then
echo "Version is already $version — nothing to commit."
else
git commit -m "Bump SDK version to $version"
fi

echo "Pushing changes to branch: $current_branch"
if ! git push origin $current_branch; then
if ! git push origin "$current_branch"; then
echo "Failed to push changes to the origin $current_branch"
exit 1
fi
16 changes: 16 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
day: "monday"
time: "06:00"
timezone: "UTC"
open-pull-requests-limit: 1
groups:
github-actions:
patterns: ["*"]
commit-message:
prefix: "deps"
include: "scope"
24 changes: 14 additions & 10 deletions .github/git-release-ci.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#!/bin/bash
set -e
#!/usr/bin/env bash
set -euo pipefail

version=$(grep '^SDK_VERSION_NAME=' gradle.properties | cut -d '=' -f2)

Expand All @@ -8,7 +8,8 @@ if [[ $version == *"rc"* ]]; then
is_beta=true
fi

branch=${GITHUB_REF#refs/heads/}
branch=${RELEASE_BRANCH:-${GITHUB_REF:-}}
branch=${branch#refs/heads/}

echo "Version: $version"
echo "Is Beta: $is_beta"
Expand All @@ -17,29 +18,32 @@ echo "Branch: $branch"
echo "Fetching tags from remote repository."
git fetch --tags

if git rev-parse "$version" >/dev/null 2>&1; then
if git rev-parse -q --verify "refs/tags/$version" >/dev/null; then
echo "Local tag $version already exists."
else
echo "Creating local tag $version."
git tag $version
git tag "$version"
fi

if git ls-remote --tags origin | grep -q "refs/tags/$version"; then
if [ -n "$(git ls-remote --tags origin "refs/tags/$version")" ]; then
echo "Remote tag $version already exists."
else
echo "Pushing local tag $version to remote."
git push origin $version
git push origin "$version"
fi

# Create release
release_title="Release $version"
text="Autogenerated release. Check more details at [Mindbox SDK Documentation](https://developers.mindbox.ru/docs/androidhuawei-native-sdk)"
text="Autogenerated release. Check more details at [Mindbox SDK Documentation](https://developers.mindbox.ru/docs/android-sdk)"

echo "Release title: $release_title"
echo "Text: $text"

prerelease_flag=$([ "$is_beta" = true ] && echo "--prerelease" || echo "")
release_args=("$version" --target "$branch" --title "$release_title" --notes "$text")
if [ "$is_beta" = true ]; then
release_args+=(--prerelease)
fi

gh release create "$version" --target "$branch" --title "$release_title" --notes "$text" $prerelease_flag
gh release create "${release_args[@]}"

echo "Release $version created for repo on branch $branch"
6 changes: 5 additions & 1 deletion .github/workflows/distribute-develop-mission.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,14 @@ on:
types:
- closed

permissions:
contents: read

jobs:
call-reusable:
if: ${{ github.event.pull_request.merged == true }}
uses: ./.github/workflows/distribute-reusable.yml
with:
branch: ${{ github.base_ref }}
secrets: inherit
secrets:
GITLAB_TRIGGER_TOKEN: ${{ secrets.GITLAB_TRIGGER_TOKEN }}
6 changes: 5 additions & 1 deletion .github/workflows/distribute-manual.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,14 @@ on:
required: false
default: ""

permissions:
contents: read

jobs:
call-reusable:
uses: ./.github/workflows/distribute-reusable.yml
with:
branch: ${{ github.ref_name }}
app_ref: ${{ inputs.app_ref }}
secrets: inherit
secrets:
GITLAB_TRIGGER_TOKEN: ${{ secrets.GITLAB_TRIGGER_TOKEN }}
6 changes: 5 additions & 1 deletion .github/workflows/distribute-release-support-mission.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,14 @@ on:
- opened
- synchronize

permissions:
contents: read

jobs:
call-reusable:
if: ${{ startsWith(github.event.pull_request.head.ref, 'release/') }}
uses: ./.github/workflows/distribute-reusable.yml
secrets: inherit
secrets:
GITLAB_TRIGGER_TOKEN: ${{ secrets.GITLAB_TRIGGER_TOKEN }}
with:
branch: ${{ github.event.pull_request.head.ref }}
14 changes: 10 additions & 4 deletions .github/workflows/distribute-reusable.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,15 @@ on:
GITLAB_TRIGGER_TOKEN:
required: true

permissions:
contents: read

jobs:
distribution:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
ref: ${{ inputs.branch }}
submodules: recursive
Expand All @@ -30,9 +33,12 @@ jobs:
run: |
set -euo pipefail
commits="$(git log -3 --pretty=format:"%s")"
echo "commits<<EOF" >> "$GITHUB_ENV"
echo "$commits" >> "$GITHUB_ENV"
echo "EOF" >> "$GITHUB_ENV"
delim="EOF_$(openssl rand -hex 8)"
{
echo "commits<<$delim"
echo "$commits"
echo "$delim"
} >> "$GITHUB_ENV"

- name: Debug payload that will be sent to GitLab
shell: bash
Expand Down
23 changes: 23 additions & 0 deletions .github/workflows/gitleaks-secrets-validate.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: Gitleaks Secrets Validate
on:
pull_request:
workflow_dispatch:

permissions:
contents: read

jobs:
scan:
name: gitleaks
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
fetch-depth: 0

- name: Run Gitleaks
uses: gitleaks/gitleaks-action@e0c47f4f8be36e29cdc102c57e68cb5cbf0e8d1e # v3.0.0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITLEAKS_LICENSE: ${{ secrets.MINDBOX_GITLEAKS_LICENSE }}
58 changes: 40 additions & 18 deletions .github/workflows/lint_unitTests_build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,64 +18,86 @@ jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
fetch-depth: 2
fetch-depth: 0
submodules: true

- name: Set up JDK 17
uses: actions/setup-java@v3
uses: actions/setup-java@03ad4de0992f5dab5e18fcb136590ce7c4a0ac95 # v5.6.0
with:
distribution: 'temurin'
java-version: '17'
cache: 'gradle'

- name: Setup Android SDK
uses: android-actions/setup-android@v2
uses: android-actions/setup-android@40fd30fb8d7440372e1316f5d1809ec01dcd3699 # v4.0.1

- name: Get changed Kotlin files
id: get_changed_files
env:
BASE_SHA: ${{ github.event.pull_request.base.sha || github.event.before }}
HEAD_SHA: ${{ github.sha }}
run: |
CHANGED_FILES=$(git diff --name-only ${{ github.event.before }} ${{ github.sha }} | grep -E '\.kt$|\.kts$' || true)
set -euo pipefail
if [ -z "$BASE_SHA" ] || ! git cat-file -e "${BASE_SHA}^{commit}" 2>/dev/null; then
echo "Base commit '$BASE_SHA' unavailable; falling back to ${HEAD_SHA}^"
BASE_SHA=$(git rev-parse "${HEAD_SHA}^")
fi
echo "Diff range: $BASE_SHA..$HEAD_SHA"
CHANGED_FILES=$(git diff --name-only --diff-filter=d "$BASE_SHA" "$HEAD_SHA" | { grep -E '\.kt$|\.kts$' || true; })
echo "Changed Kotlin files:"
echo "$CHANGED_FILES"
echo "CHANGED_FILES<<EOF" >> $GITHUB_OUTPUT
echo "$CHANGED_FILES" >> $GITHUB_OUTPUT
echo "EOF" >> $GITHUB_OUTPUT
DELIM="EOF_$(openssl rand -hex 8)"
{
echo "CHANGED_FILES<<$DELIM"
echo "$CHANGED_FILES"
echo "$DELIM"
} >> "$GITHUB_OUTPUT"

- name: Run ktlintCheck on changed files
if: steps.get_changed_files.outputs.CHANGED_FILES != ''
run: ./gradlew ktlintCheck -PinternalKtlintGitFilter="${{ steps.get_changed_files.outputs.CHANGED_FILES }}"
env:
CHANGED_FILES: ${{ steps.get_changed_files.outputs.CHANGED_FILES }}
run: ./gradlew ktlintCheck -PinternalKtlintGitFilter="$CHANGED_FILES"

- name: lint check
run: ./gradlew --no-daemon lintDebug

- name: detekt check
run: ./gradlew --no-daemon detektDebug

unit:
runs-on: ubuntu-latest
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
submodules: true

- name: Set up JDK 17
uses: actions/setup-java@v3
uses: actions/setup-java@03ad4de0992f5dab5e18fcb136590ce7c4a0ac95 # v5.6.0
with:
distribution: 'temurin'
java-version: '17'
cache: 'gradle'

- name: Setup Android SDK
uses: android-actions/setup-android@v2
uses: android-actions/setup-android@40fd30fb8d7440372e1316f5d1809ec01dcd3699 # v4.0.1

- name: unit tests with coverage
run: ./gradlew --no-daemon --stacktrace testDebugUnitTest koverHtmlReport

- name: test report
uses: asadmansr/android-test-report-action@v1.2.0
uses: mikepenz/action-junit-report@d9f48fc87bc235f7e214acf696ca5abc0a986f16 # v6.4.2
if: ${{ always() }}
with:
report_paths: '**/build/test-results/testDebugUnitTest/TEST-*.xml'
fail_on_failure: true
detailed_summary: true
annotate_only: true

- name: upload coverage report
uses: actions/upload-pages-artifact@v3
uses: actions/upload-pages-artifact@fc324d3547104276b827a68afc52ff2a11cc49c9 # v5.0.0
if: github.ref == 'refs/heads/develop'
with:
path: build/reports/kover/html
Expand All @@ -93,17 +115,17 @@ jobs:
steps:
- name: deploy to GitHub Pages
id: deploy
uses: actions/deploy-pages@v4
uses: actions/deploy-pages@cd2ce8fcbc39b97be8ca5fce6e763baed58fa128 # v5.0.0

build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
submodules: true

- name: Set up JDK 17
uses: actions/setup-java@v3
uses: actions/setup-java@03ad4de0992f5dab5e18fcb136590ce7c4a0ac95 # v5.6.0
with:
distribution: 'temurin'
java-version: '17'
Expand Down
Loading