Skip to content

(WIP) RELEASE 10 #2330

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 64 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
64 commits
Select commit Hold shift + click to select a range
d557e3e
v0.37.11
konstantiniiv Apr 16, 2025
ef25399
DROID-3233 App | Tech | Disable splits by default and apply beta vers…
uburoiubu Apr 16, 2025
3b50fd9
l10n | Enhancement (#2324)
any-association Apr 16, 2025
b159d83
v0.37.12
uburoiubu Apr 16, 2025
d3c5ba5
DROID-3578 Vault | Analytics | Dispatch "ReorderSpace" event + other …
uburoiubu Apr 16, 2025
9551d99
DROID-3589 Type screen | Fix | Back navigation (#2336)
konstantiniiv Apr 17, 2025
ae97384
DROID-3588 Widgets | Fix | Filter out only objects with system layout…
uburoiubu Apr 17, 2025
803d092
DROID-3584 Space Settings | Fix | Fix dropdown menu layout issue (#2338)
uburoiubu Apr 17, 2025
8800d1c
DROID-3586 Widgets | Fix | Enhance search behavior to include suggest…
uburoiubu Apr 17, 2025
3ef4d5c
DROID-3591 Protocol | Integrate 0.40.16 (#2341)
konstantiniiv Apr 17, 2025
0f92356
v0.37.13
konstantiniiv Apr 17, 2025
2f2076b
DROID-3233 App | Tech | Exclude Skiko from licence check due to nativ…
uburoiubu Apr 18, 2025
88403cf
DROID-3595 App | Tech | Update scripts for building release apks (#2342)
uburoiubu Apr 18, 2025
e40f573
DROID-3595 App | Tech | Better naming for Github Actions
uburoiubu Apr 19, 2025
96b9c2c
l10n | Enhancement (#2340)
any-association Apr 19, 2025
4c82b01
DROID-3597 Widgets | Fix | Fix scrolling issue in edit mode due to th…
uburoiubu Apr 22, 2025
ef8bd6e
DROID-3541 Ui | Fix | Fix crash in ShimmerEffect due to invalid color…
konstantiniiv Apr 24, 2025
f011f30
DROID-3603 Protocol | Enhancement | MW 0.40.18 (#2351)
uburoiubu Apr 24, 2025
b4af608
DROID-3599 Widgets | Fix | Note snippet is missing from widget elemen…
uburoiubu Apr 24, 2025
61435c2
DROID-3601 App | Fix | Release 10 stabilization, part 1 (#2353)
konstantiniiv Apr 24, 2025
6c72604
DROID-3601 App | Tech | Release 10 stabilisation (#2354)
uburoiubu Apr 24, 2025
9cf50a9
DROID-3609 Auth | Fix | Centralize EncryptedSharedPreferences Initial…
uburoiubu Apr 24, 2025
d6a3b53
l10n | Enhancement (#2348)
any-association Apr 22, 2025
61d7e57
v0.37.14
uburoiubu Apr 24, 2025
d2465d0
DROID-3601 Primitives | Tech | Storing archived types (#2357)
konstantiniiv Apr 24, 2025
b19bffd
v0.37.15
konstantiniiv Apr 24, 2025
144781b
DROID-3593 Primitives | Fix | Disable type title update when restrict…
konstantiniiv Apr 25, 2025
96c005c
DROID-3611 Navigation | Fix | Allow restoration of last opened space …
uburoiubu Apr 25, 2025
d4a78f5
l10n | Enhancement (#2360)
any-association Apr 28, 2025
77b3964
DROID-3616 Collection | Reintroduced the blank‐template view for Coll…
konstantiniiv Apr 28, 2025
3ff8e4f
DROID-3554 Use cases | Enhancement | Automatically open a specific o…
uburoiubu Apr 28, 2025
ff150c4
DROID-3601 Widgets | Fix | Fix missing args issue (#2365)
uburoiubu Apr 28, 2025
ae0b2fc
DROID-3611 Navigation | Fix | Allow restoration of last opened space …
uburoiubu Apr 28, 2025
e17805d
l10n | Enhancement (#2362)
any-association Apr 28, 2025
287ed95
l10n | Enhancement (#2366)
any-association Apr 28, 2025
781e758
v0.37.16
uburoiubu Apr 28, 2025
5f65ad0
DROID-3618 App | Design fixes (#2370)
konstantiniiv Apr 30, 2025
a18cb7e
DROID-3574 Analytics | ScreenTemplateSelector and ScreenTypeTemplateS…
konstantiniiv Apr 30, 2025
3c6360c
DROID-3612 Widgets | Icon fixes (#2371)
konstantiniiv Apr 30, 2025
3ad03bb
DROID-3624 Protocol | Enhancement | MW 0.40.18-hotfix-1 (#2372)
uburoiubu Apr 30, 2025
8f460c9
l10n | Enhancement (#2367)
any-association Apr 30, 2025
e0b0e94
DROID-3601 Select type screen | Design | Icon fix (#2374)
konstantiniiv Apr 30, 2025
7b59a41
v0.37.17
uburoiubu Apr 30, 2025
0e59a74
DROID-3233 App | Tech | Disable auto-verify behavior for download.any…
uburoiubu Apr 30, 2025
69b10ae
v0.37.18
uburoiubu Apr 30, 2025
6ae8e73
DROID-3630 Protocol | Enhancement | MW 0.40.18-hotfix-2
uburoiubu May 5, 2025
bbb4343
v0.37.19
uburoiubu May 5, 2025
b8eb1d4
DROID-3644 Widgets | Fix | Fix widget name resolving (#2386)
uburoiubu May 9, 2025
2cb8584
DROID-3641 Widgets | Fix | Fix view layout resolving (#2387)
uburoiubu May 9, 2025
283bb14
DROID-3651 Protocol | Enhancement | MW 0.40.21 (#2388)
uburoiubu May 9, 2025
b27e28f
DROID-3652 Design | Design fixes (#2390)
konstantiniiv May 9, 2025
ecf21fe
v0.37.20
uburoiubu May 9, 2025
a30d949
DROID-3629 Onboarding | Email screen (#2395)
konstantiniiv May 13, 2025
63ee890
DROID-3629 Onboarding | Flow update (#2397)
konstantiniiv May 13, 2025
9e11f71
DROID-3629 Onboarding | Local mode status (#2400)
konstantiniiv May 14, 2025
a780c0e
DROID-3646 Onboarding | Email analytics (#2401)
konstantiniiv May 14, 2025
dbe6015
DROID-3629 Onboarding | Ui fixes (#2402)
konstantiniiv May 14, 2025
f7b8bd1
v0.37.21
konstantiniiv May 14, 2025
5edbdbf
DROID-3666 Protocol | Integrate 0.40.22 (#2408)
konstantiniiv May 15, 2025
5ee2cbc
v0.37.22
konstantiniiv May 15, 2025
7dce13e
v0.37.23
konstantiniiv May 15, 2025
22c326f
l10n | Enhancement (#2405)
any-association May 15, 2025
5016bc8
l10n | Enhancement (#2409)
any-association May 15, 2025
b3ebac1
v0.37.24
uburoiubu May 15, 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
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
on:
workflow_dispatch:
name: Build signed release APK
name: Build signed release APK and upload to the server
jobs:
setup-android:
runs-on: ubuntu-latest
Expand Down Expand Up @@ -50,6 +50,7 @@ jobs:
python3 tools/generate.py --platform android
cd ..
sudo gem install license_finder
license_finder ignored_dependencies add skiko --why "Excluded due to native binary license concerns"
license_finder inherited_decisions add open/decisions.yml
license_finder --gradle-command="./gradlew \
-Pcom.anytype.ci=true \
Expand All @@ -59,7 +60,7 @@ jobs:
run: ./scripts/release/apk.sh

- name: Build release APKS
run: ./gradlew :app:assembleRelease
run: ./gradlew :app:assembleRelease -PenableAbiSplits=true

- name: Clean secrets
if: always()
Expand Down
81 changes: 81 additions & 0 deletions .github/workflows/build-github-release-with-apks.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
name: Create Github release with the attached APKS

on:
workflow_dispatch:
inputs:
tag_name:
description: 'Git tag for the release (e.g. v1.0.0)'
required: true
type: string
release_name:
description: 'Release title (optional)'
required: false
default: ''

jobs:
build-and-release:
runs-on: ubuntu-latest
name: Build and Upload to GitHub Release

steps:
- name: Checkout code
uses: actions/checkout@v3

- uses: nttld/setup-ndk@v1
with:
ndk-version: r23c
link-to-sdk: true

- uses: actions/setup-java@v3
with:
distribution: 'zulu'
java-version: 17

- name: Grant Gradle permission
run: chmod +x ./gradlew

- name: Setup middleware
env:
token_secret: ${{ secrets.ANYTYPE_SECRET }}
user_secret: ${{ secrets.ANYTYPE_USER_SECRET }}
amplitude_secret: ${{ secrets.ANYTYPE_AMPLITUDE_SECRET }}
amplitude_secret_debug: ${{ secrets.ANYTYPE_AMPLITUDE_DEBUG_SECRET }}
sentry_dsn_secret: ${{ secrets.ANYTYPE_SENTRY_DSN_SECRET }}
run: ./middleware2.sh $token_secret $user_secret $amplitude_secret $amplitude_secret_debug $sentry_dsn_secret

- name: Decrypt secrets
run: ./scripts/release/decrypt-secrets.sh
env:
ENCRYPT_KEY: ${{ secrets.ENCRYPT_KEY }}

- name: Setup keystore
env:
RELEASE_KEY_ALIAS: ${{ secrets.RELEASE_KEY_ALIAS }}
RELEASE_KEY_PWD: ${{ secrets.RELEASE_KEY_PWD }}
RELEASE_STORE_PWD: ${{ secrets.RELEASE_STORE_PWD }}
run: ./scripts/release/setup-store.sh $token_secret $RELEASE_KEY_ALIAS $RELEASE_KEY_PWD $RELEASE_STORE_PWD

- name: Prepare Android Manifest for APKs
run: ./scripts/release/apk.sh

- name: Build release APKs
run: ./gradlew :app:assembleRelease -PenableAbiSplits=true

- name: Prepare artefacts
run: ./scripts/release/prepare-release-artefacts.sh

- name: List prepared files
run: ls -lh app/build/outputs/apk/release/release-artefacts/

- name: Create and Upload GitHub Release
uses: softprops/action-gh-release@v1
with:
tag_name: ${{ github.event.inputs.tag_name }}
name: ${{ github.event.inputs.release_name }}
files: app/build/outputs/apk/release/release-artefacts/*
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Clean secrets
if: always()
run: ./scripts/release/clean-secrets.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
name: Build release APKs and upload it as Github Actions artefacts

on:
workflow_dispatch:
inputs:
tag:
description: 'Git tag to build from'
required: true
type: string

jobs:
build-release:
name: Build APK from tag
runs-on: ubuntu-latest

steps:
- name: Checkout repo at tag
uses: actions/checkout@v3
with:
fetch-depth: 0 # needed to fetch all tags
ref: ${{ github.event.inputs.tag }}

- name: Set up Android NDK
uses: nttld/setup-ndk@v1
with:
ndk-version: r23c
link-to-sdk: true

- name: Set up Java
uses: actions/setup-java@v3
with:
distribution: "zulu"
java-version: 17

- name: Setup middleware dependency
env:
token_secret: ${{ secrets.ANYTYPE_SECRET }}
user_secret: ${{ secrets.ANYTYPE_USER_SECRET }}
amplitude_secret: ${{ secrets.ANYTYPE_AMPLITUDE_SECRET }}
amplitude_secret_debug: ${{ secrets.ANYTYPE_AMPLITUDE_DEBUG_SECRET }}
sentry_dsn_secret: ${{ secrets.ANYTYPE_SENTRY_DSN_SECRET }}
run: ./middleware2.sh $token_secret $user_secret $amplitude_secret $amplitude_secret_debug $sentry_dsn_secret

- name: Decrypt secrets
run: ./scripts/release/decrypt-secrets.sh
env:
ENCRYPT_KEY: ${{ secrets.ENCRYPT_KEY }}

- name: Setup keystore
env:
RELEASE_KEY_ALIAS: ${{ secrets.RELEASE_KEY_ALIAS }}
RELEASE_KEY_PWD: ${{ secrets.RELEASE_KEY_PWD }}
RELEASE_STORE_PWD: ${{ secrets.RELEASE_STORE_PWD }}
run: ./scripts/release/setup-store.sh $token_secret $RELEASE_KEY_ALIAS $RELEASE_KEY_PWD $RELEASE_STORE_PWD

- name: Checkout license repository
uses: actions/checkout@v3
with:
repository: anyproto/open
ref: refs/heads/main
path: ./open

- name: Check licenses
run: |
cd open
python3 tools/generate.py --platform android
cd ..
sudo gem install license_finder
license_finder ignored_dependencies add skiko --why "Excluded due to native binary license concerns"
license_finder inherited_decisions add open/decisions.yml
license_finder --gradle-command="./gradlew \
-Pcom.anytype.ci=true \
-Dorg.gradle.unsafe.configuration-cache=false"

- name: Prepare Android Manifest
run: ./scripts/release/apk.sh

- name: Build release APKs
run: ./gradlew :app:assembleRelease -PenableAbiSplits=true

- name: Clean secrets
if: always()
run: ./scripts/release/clean-secrets.sh

- name: Prepare artefacts
run: ./scripts/release/prepare-release-artefacts.sh

- name: Upload artefacts as GitHub Actions output
uses: actions/upload-artifact@v3
with:
name: release-apks-${{ github.event.inputs.tag }}
path: app/build/outputs/apk/release/release-artefacts/
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ object EventsDictionary {
const val clickDeleteSpaceWarning = "ClickDeleteSpaceWarning"
const val createSpace = "CreateSpace"
const val switchSpace = "SwitchSpace"
const val reorderSpace = "ReorderSpace"
const val deleteSpace = "DeleteSpace"
const val screenSettingsSpaceCreate = "ScreenSettingsSpaceCreate"

Expand Down Expand Up @@ -165,18 +166,22 @@ object EventsDictionary {
const val editTemplate = "EditTemplate"
const val duplicateTemplate = "DuplicateTemplate"
const val createTemplate = "CreateTemplate"
const val logScreenTemplateSelector = "ScreenTemplateSelector"

// Onboarding events
const val screenOnboarding = "ScreenOnboarding"
const val clickOnboarding = "ClickOnboarding"
const val clickLogin = "ClickLogin"
const val screenOnboardingEnterEmail = "ScreenOnboardingEnterEmail"
const val screenOnboardingSkipEmail = "ScreenOnboardingSkipEmail"

//Primitives
const val logScreenEditType = "ScreenEditType"
const val logReorderRelation = "ReorderRelation"
const val logClickConflictFieldHelp = "ClickConflictFieldHelp"
const val logAddConflictRelation = "AddConflictRelation"
const val logResetToTypeDefault = "ResetToTypeDefault"
const val logScreenTypeTemplateSelector = "ScreenTypeTemplateSelector"

// Vault events

Expand Down Expand Up @@ -295,7 +300,8 @@ object EventsDictionary {
enum class ScreenOnboardingStep(val value: String) {
VAULT("Vault"),
SOUL("Soul"),
PHRASE("Phrase")
PHRASE("Phrase"),
EMAIL("Email")
}

enum class ClickOnboardingButton(val value: String) {
Expand Down
2 changes: 1 addition & 1 deletion app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,7 @@ android {
// Configures multiple APKs based on ABI.
abi {
// Enables building multiple APKs per ABI.
enable true
enable project.hasProperty("enableAbiSplits") && project.getProperty("enableAbiSplits").toBoolean()
reset()
include "armeabi-v7a", "arm64-v8a"
universalApk true
Expand Down
2 changes: 1 addition & 1 deletion app/gradle.properties
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
version.versionMajor=0
version.versionMinor=37
version.versionPatch=10
version.versionPatch=24
version.useDatedVersionName=false
2 changes: 1 addition & 1 deletion app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@
<data android:scheme="http"/>
<data android:host="invite.any.coop" />
</intent-filter>
<intent-filter android:autoVerify="true">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ import com.anytypeio.anytype.di.common.ComponentDependencies
import com.anytypeio.anytype.domain.auth.interactor.GetMnemonic
import com.anytypeio.anytype.domain.auth.repo.AuthRepository
import com.anytypeio.anytype.domain.config.ConfigStorage
import com.anytypeio.anytype.domain.device.NetworkConnectionStatus
import com.anytypeio.anytype.domain.network.NetworkModeProvider
import com.anytypeio.anytype.presentation.onboarding.signup.OnboardingMnemonicViewModel
import dagger.Binds
import dagger.Component
Expand Down Expand Up @@ -57,6 +59,8 @@ interface OnboardingMnemonicDependencies : ComponentDependencies {
fun authRepository(): AuthRepository
fun analytics(): Analytics
fun config(): ConfigStorage
fun networkModeProvider(): NetworkModeProvider
fun networkConnectionStatus(): NetworkConnectionStatus
}

@Scope
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ package com.anytypeio.anytype.di.feature.onboarding.signup
import androidx.lifecycle.ViewModelProvider
import com.anytypeio.anytype.CrashReporter
import com.anytypeio.anytype.analytics.base.Analytics
import com.anytypeio.anytype.core_utils.di.scope.PerScreen
import com.anytypeio.anytype.di.common.ComponentDependencies
import com.anytypeio.anytype.domain.account.AwaitAccountStartManager
import com.anytypeio.anytype.domain.auth.interactor.CreateAccount
Expand All @@ -16,7 +17,9 @@ import com.anytypeio.anytype.domain.device.PathProvider
import com.anytypeio.anytype.domain.misc.LocaleProvider
import com.anytypeio.anytype.domain.multiplayer.UserPermissionProvider
import com.anytypeio.anytype.domain.`object`.ImportGetStartedUseCase
import com.anytypeio.anytype.domain.payments.SetMembershipEmail
import com.anytypeio.anytype.domain.platform.InitialParamsProvider
import com.anytypeio.anytype.domain.resources.StringResourceProvider
import com.anytypeio.anytype.domain.search.RelationsSubscriptionManager
import com.anytypeio.anytype.domain.spaces.SpaceDeletedStatusWatcher
import com.anytypeio.anytype.domain.subscriptions.GlobalSubscriptionManager
Expand Down Expand Up @@ -94,6 +97,14 @@ object OnboardingSoulCreationModule {
dispatchers = dispatchers
)

@JvmStatic
@Provides
@SoulCreationScreenScope
fun provideSetMembershipEmail(
repo: BlockRepository,
dispatchers: AppCoroutineDispatchers
): SetMembershipEmail = SetMembershipEmail(repo = repo, dispatchers = dispatchers)

@Module
interface Declarations {
@Binds
Expand All @@ -119,6 +130,7 @@ interface OnboardingSoulCreationDependencies : ComponentDependencies {
fun userPermissionProvider(): UserPermissionProvider
fun awaitAccountStartManager(): AwaitAccountStartManager
fun globalSubscriptionManager(): GlobalSubscriptionManager
fun stringResourceProvider(): StringResourceProvider
}

@Scope
Expand Down
Loading
Loading