Skip to content
This repository was archived by the owner on Mar 27, 2026. It is now read-only.

Commit c906aa5

Browse files
Merge pull request #54 from Beaver-Notes/development
r.c 1.4.0
2 parents 6ee2157 + 7333121 commit c906aa5

87 files changed

Lines changed: 3680 additions & 3557 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/build-android.yml

Lines changed: 40 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Build Android
1+
name: Build Android Release
22

33
on:
44
push:
@@ -8,8 +8,15 @@ on:
88

99
jobs:
1010
build:
11-
name: Build APK
11+
name: Build Android Testing
1212
runs-on: ubuntu-latest
13+
env:
14+
VITE_DROPBOX_CLIENT_ID: ${{ secrets.DROPBOX_CLIENT_ID }}
15+
VITE_DROPBOX_CLIENT_SECRET: ${{ secrets.DROPBOX_CLIENT_SECRET }}
16+
VITE_IOS_GOOGLE_CLIENT_ID: ${{ secrets.IOS_GOOGLE_CLIENT_ID }}
17+
VITE_ANDROID_GOOGLE_CLIENT_ID: ${{ secrets.ANDROID_GOOGLE_CLIENT_ID }}
18+
VITE_ONEDRIVE_CLIENT_ID: ${{ secrets.ONEDRIVE_CLIENT_ID }}
19+
VITE_ONEDRIVE_ANDROID_HASH: ${{ secrets.ONEDRIVE_ANDROID_HASH }}
1320

1421
steps:
1522
- name: Checkout source
@@ -33,6 +40,17 @@ jobs:
3340
node-version: 20
3441
cache: "yarn"
3542

43+
- name: Create .env file
44+
run: |
45+
cat <<EOF > .env
46+
VITE_DROPBOX_CLIENT_ID=${VITE_DROPBOX_CLIENT_ID}
47+
VITE_DROPBOX_CLIENT_SECRET=${VITE_DROPBOX_CLIENT_SECRET}
48+
VITE_IOS_GOOGLE_CLIENT_ID=${VITE_IOS_GOOGLE_CLIENT_ID}
49+
VITE_ANDROID_GOOGLE_CLIENT_ID=${VITE_ANDROID_GOOGLE_CLIENT_ID}
50+
VITE_ONEDRIVE_CLIENT_ID=${VITE_ONEDRIVE_CLIENT_ID}
51+
VITE_ONEDRIVE_ANDROID_HASH=${VITE_ONEDRIVE_ANDROID_HASH}
52+
EOF
53+
3654
- name: Install app dependencies
3755
run: yarn install --frozen-lockfile
3856

@@ -50,18 +68,31 @@ jobs:
5068
echo "${{ secrets.RELEASE_KEYSTORE }}" > android/app/release.jks.base64
5169
base64 -d android/app/release.jks.base64 > android/app/release.jks
5270
53-
- name: Build app bundle
71+
- name: Build AAB (Android App Bundle)
5472
env:
5573
RELEASE_KEYSTORE_PASSWORD: ${{ secrets.RELEASE_KEYSTORE_PASSWORD }}
5674
RELEASE_KEY_PASSWORD: ${{ secrets.RELEASE_KEYSTORE_PASSWORD }}
57-
GOOGLE_CLIENT_ID: ${{ secrets.GOOGLE_CLIENT_ID }}
58-
ONEDRIVE_SHA1: ${{ secrets.ONEDRIVE_SHA1 }}
59-
ANDROID_HOME: ${{ env.ANDROID_HOME }} # Redundant but explicit
6075
run: cd android && ./gradlew bundleRelease
6176

62-
- name: Upload release bundle
77+
- name: Build APK
78+
env:
79+
RELEASE_KEYSTORE_PASSWORD: ${{ secrets.RELEASE_KEYSTORE_PASSWORD }}
80+
RELEASE_KEY_PASSWORD: ${{ secrets.RELEASE_KEYSTORE_PASSWORD }}
81+
run: cd android && ./gradlew assembleRelease
82+
83+
- name: Upload release AAB
6384
uses: actions/upload-artifact@v4
6485
with:
65-
name: app-release
86+
name: app-release-aab
6687
path: android/app/build/outputs/bundle/release/app-release.aab
67-
retention-days: 60
88+
retention-days: 60
89+
90+
- name: Upload release APK
91+
uses: actions/upload-artifact@v4
92+
with:
93+
name: app-release-apk
94+
path: android/app/build/outputs/apk/release/app-release.apk
95+
retention-days: 60
96+
97+
- name: Cleanup keystore
98+
run: rm android/app/release.jks.base64 android/app/release.jks
Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
name: Build Android
2+
3+
on:
4+
push:
5+
branches:
6+
- testing
7+
workflow_dispatch:
8+
9+
jobs:
10+
build:
11+
name: Build Android Testing
12+
runs-on: ubuntu-latest
13+
env:
14+
VITE_DROPBOX_CLIENT_ID: ${{ secrets.DROPBOX_CLIENT_ID }}
15+
VITE_DROPBOX_CLIENT_SECRET: ${{ secrets.DROPBOX_CLIENT_SECRET }}
16+
VITE_IOS_GOOGLE_CLIENT_ID: ${{ secrets.IOS_GOOGLE_CLIENT_ID }}
17+
VITE_ANDROID_GOOGLE_CLIENT_ID: ${{ secrets.ANDROID_GOOGLE_CLIENT_ID }}
18+
VITE_ONEDRIVE_CLIENT_ID: ${{ secrets.ONEDRIVE_CLIENT_ID }}
19+
VITE_ONEDRIVE_ANDROID_HASH: ${{ secrets.ONEDRIVE_ANDROID_HASH }}
20+
21+
steps:
22+
- name: Checkout source
23+
uses: actions/checkout@v4
24+
25+
- name: Setup Java
26+
uses: actions/setup-java@v4
27+
with:
28+
distribution: "zulu"
29+
java-version: "21"
30+
31+
- name: Install unzip (required by setup-android when using act)
32+
run: sudo apt-get update && sudo apt-get install -y unzip
33+
34+
- name: Setup Android SDK
35+
uses: android-actions/setup-android@v3
36+
37+
- name: Setup Node.js
38+
uses: actions/setup-node@v4
39+
with:
40+
node-version: 20
41+
cache: "yarn"
42+
43+
- name: Create .env file
44+
run: |
45+
cat <<EOF > .env
46+
VITE_DROPBOX_CLIENT_ID=${VITE_DROPBOX_CLIENT_ID}
47+
VITE_DROPBOX_CLIENT_SECRET=${VITE_DROPBOX_CLIENT_SECRET}
48+
VITE_IOS_GOOGLE_CLIENT_ID=${VITE_IOS_GOOGLE_CLIENT_ID}
49+
VITE_ANDROID_GOOGLE_CLIENT_ID=${VITE_ANDROID_GOOGLE_CLIENT_ID}
50+
VITE_ONEDRIVE_CLIENT_ID=${VITE_ONEDRIVE_CLIENT_ID}
51+
VITE_ONEDRIVE_ANDROID_HASH=${VITE_ONEDRIVE_ANDROID_HASH}
52+
EOF
53+
54+
- name: Install app dependencies
55+
run: yarn install --frozen-lockfile
56+
57+
- name: Build project
58+
run: yarn build
59+
60+
- name: Capacitor sync
61+
run: npx cap sync
62+
63+
- name: Extract Android signing key from env
64+
env:
65+
RELEASE_KEYSTORE_PASSWORD: ${{ secrets.RELEASE_KEYSTORE_PASSWORD }}
66+
RELEASE_KEY_PASSWORD: ${{ secrets.RELEASE_KEYSTORE_PASSWORD }}
67+
run: |
68+
echo "${{ secrets.RELEASE_KEYSTORE }}" > android/app/release.jks.base64
69+
base64 -d android/app/release.jks.base64 > android/app/release.jks
70+
71+
- name: Build AAB (Android App Bundle)
72+
env:
73+
RELEASE_KEYSTORE_PASSWORD: ${{ secrets.RELEASE_KEYSTORE_PASSWORD }}
74+
RELEASE_KEY_PASSWORD: ${{ secrets.RELEASE_KEYSTORE_PASSWORD }}
75+
run: cd android && ./gradlew bundleRelease
76+
77+
- name: Build APK
78+
env:
79+
RELEASE_KEYSTORE_PASSWORD: ${{ secrets.RELEASE_KEYSTORE_PASSWORD }}
80+
RELEASE_KEY_PASSWORD: ${{ secrets.RELEASE_KEYSTORE_PASSWORD }}
81+
run: cd android && ./gradlew assembleRelease
82+
83+
- name: Upload release AAB
84+
uses: actions/upload-artifact@v4
85+
with:
86+
name: app-release-aab
87+
path: android/app/build/outputs/bundle/release/app-release.aab
88+
retention-days: 60
89+
90+
- name: Upload release APK
91+
uses: actions/upload-artifact@v4
92+
with:
93+
name: app-release-apk
94+
path: android/app/build/outputs/apk/release/app-release.apk
95+
retention-days: 60
96+
97+
- name: Cleanup keystore
98+
run: rm android/app/release.jks.base64 android/app/release.jks

.github/workflows/build_ios.yml

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Build iOS
1+
name: Build iOS Release
22

33
on:
44
push:
@@ -15,6 +15,12 @@ jobs:
1515
BUILD_PROVISION_PROFILE_BASE64: ${{ secrets.BUILD_PROVISION_PROFILE_BASE64 }}
1616
BUILD_PROVISION_PROFILE_SHARE_BASE64: ${{ secrets.BUILD_PROVISION_PROFILE_SHARE_BASE64 }}
1717
BUILD_CERTIFICATE_BASE64: ${{ secrets.BUILD_CERTIFICATE_BASE64 }}
18+
VITE_DROPBOX_CLIENT_ID: ${{ secrets.DROPBOX_CLIENT_ID }}
19+
VITE_DROPBOX_CLIENT_SECRET: ${{ secrets.DROPBOX_CLIENT_SECRET }}
20+
VITE_IOS_GOOGLE_CLIENT_ID: ${{ secrets.IOS_GOOGLE_CLIENT_ID }}
21+
VITE_ANDROID_GOOGLE_CLIENT_ID: ${{ secrets.ANDROID_GOOGLE_CLIENT_ID }}
22+
VITE_ONEDRIVE_CLIENT_ID: ${{ secrets.ONEDRIVE_CLIENT_ID }}
23+
VITE_ONEDRIVE_ANDROID_HASH: ${{ secrets.ONEDRIVE_ANDROID_HASH }}
1824

1925
steps:
2026
- name: Checkout source
@@ -31,6 +37,17 @@ jobs:
3137
node-version: 20
3238
cache: yarn
3339

40+
- name: Create .env file
41+
run: |
42+
cat <<EOF > .env
43+
VITE_DROPBOX_CLIENT_ID=${VITE_DROPBOX_CLIENT_ID}
44+
VITE_DROPBOX_CLIENT_SECRET=${VITE_DROPBOX_CLIENT_SECRET}
45+
VITE_IOS_GOOGLE_CLIENT_ID=${VITE_IOS_GOOGLE_CLIENT_ID}
46+
VITE_ANDROID_GOOGLE_CLIENT_ID=${VITE_ANDROID_GOOGLE_CLIENT_ID}
47+
VITE_ONEDRIVE_CLIENT_ID=${VITE_ONEDRIVE_CLIENT_ID}
48+
VITE_ONEDRIVE_ANDROID_HASH=${VITE_ONEDRIVE_ANDROID_HASH}
49+
EOF
50+
3451
- name: Install app dependencies
3552
run: yarn install --frozen-lockfile
3653

@@ -87,7 +104,7 @@ jobs:
87104
path: output/
88105
retention-days: 60
89106

90-
# Optional: Cleanup keychain after build (uncomment if needed)
107+
# Optional: Cleanup keychain after build
91108
#- name: Clean up keychain and provisioning profile
92109
# if: ${{ always() }}
93110
# run: |

.github/workflows/build_ios_testing.yml

Lines changed: 22 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Build iOS (testing)
1+
name: Build iOS Testing
22

33
on:
44
push:
@@ -15,6 +15,12 @@ jobs:
1515
BUILD_PROVISION_PROFILE_BASE64: ${{ secrets.BUILD_PROVISION_PROFILE_BASE64 }}
1616
BUILD_PROVISION_PROFILE_SHARE_BASE64: ${{ secrets.BUILD_PROVISION_PROFILE_SHARE_BASE64 }}
1717
BUILD_CERTIFICATE_BASE64: ${{ secrets.BUILD_CERTIFICATE_BASE64 }}
18+
VITE_DROPBOX_CLIENT_ID: ${{ secrets.DROPBOX_CLIENT_ID }}
19+
VITE_DROPBOX_CLIENT_SECRET: ${{ secrets.DROPBOX_CLIENT_SECRET }}
20+
VITE_IOS_GOOGLE_CLIENT_ID: ${{ secrets.IOS_GOOGLE_CLIENT_ID }}
21+
VITE_ANDROID_GOOGLE_CLIENT_ID: ${{ secrets.ANDROID_GOOGLE_CLIENT_ID }}
22+
VITE_ONEDRIVE_CLIENT_ID: ${{ secrets.ONEDRIVE_CLIENT_ID }}
23+
VITE_ONEDRIVE_ANDROID_HASH: ${{ secrets.ONEDRIVE_ANDROID_HASH }}
1824

1925
steps:
2026
- name: Checkout source
@@ -31,6 +37,17 @@ jobs:
3137
node-version: 20
3238
cache: yarn
3339

40+
- name: Create .env file
41+
run: |
42+
cat <<EOF > .env
43+
VITE_DROPBOX_CLIENT_ID=${VITE_DROPBOX_CLIENT_ID}
44+
VITE_DROPBOX_CLIENT_SECRET=${VITE_DROPBOX_CLIENT_SECRET}
45+
VITE_IOS_GOOGLE_CLIENT_ID=${VITE_IOS_GOOGLE_CLIENT_ID}
46+
VITE_ANDROID_GOOGLE_CLIENT_ID=${VITE_ANDROID_GOOGLE_CLIENT_ID}
47+
VITE_ONEDRIVE_CLIENT_ID=${VITE_ONEDRIVE_CLIENT_ID}
48+
VITE_ONEDRIVE_ANDROID_HASH=${VITE_ONEDRIVE_ANDROID_HASH}
49+
EOF
50+
3451
- name: Install app dependencies
3552
run: yarn install --frozen-lockfile
3653

@@ -86,11 +103,11 @@ jobs:
86103
name: app-ios
87104
path: output/
88105
retention-days: 60
89-
90-
- name: 'Upload app to TestFlight'
106+
107+
- name: "Upload app to TestFlight"
91108
uses: apple-actions/upload-testflight-build@v3
92-
with:
93-
app-path: 'output/App.ipa'
109+
with:
110+
app-path: "output/App.ipa"
94111
issuer-id: ${{ secrets.APPSTORE_ISSUER_ID }}
95112
api-key-id: ${{ secrets.APPSTORE_API_KEY_ID }}
96113
api-private-key: ${{ secrets.APPSTORE_API_PRIVATE_KEY }}

android/.idea/appInsightsSettings.xml

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

android/.idea/deviceManager.xml

Lines changed: 13 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

android/app/build.gradle

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,17 @@ android {
99
minSdkVersion rootProject.ext.minSdkVersion
1010
targetSdkVersion rootProject.ext.targetSdkVersion
1111
versionCode 1
12-
versionName "2.0"
12+
versionName "1.4.0"
1313
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
1414
def googleClientId = project.hasProperty("GOOGLE_CLIENT_ID") ? project.GOOGLE_CLIENT_ID : System.getenv("GOOGLE_CLIENT_ID") ?: ""
1515
buildConfigField "String", "SERVER_CLIENT_ID", "\"${googleClientId}\""
1616
def onedriveSha1 = project.hasProperty("ONEDRIVE_SHA1") ? project.ONEDRIVE_SHA1 : System.getenv("ONEDRIVE_SHA1") ?: ""
17+
buildConfigField "String", "ONEDRIVE_SHA1", "\"${onedriveSha1}\""
1718

18-
manifestPlaceholders = [
19-
ONEDRIVE_SHA1: onedriveSha1
20-
]
19+
println "Using OneDrive SHA1: ${onedriveSha1}"
20+
println "Using Google: ${googleClientId}"
21+
22+
manifestPlaceholders = [ONEDRIVE_SHA1: onedriveSha1]
2123

2224
signingConfigs {
2325
debug {

android/app/src/main/AndroidManifest.xml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,7 @@
33
xmlns:android="http://schemas.android.com/apk/res/android">
44

55
<!-- Permissions -->
6-
7-
<uses-permission android:name="android.permission.INTERNET" />
6+
<uses-permission android:name="android.permissionx.INTERNET" />
87
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
98
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
109
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

ios/App/App.xcodeproj/project.pbxproj

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -298,13 +298,9 @@
298298
);
299299
inputFileListPaths = (
300300
);
301-
inputPaths = (
302-
);
303301
name = "[CP] Embed Pods Frameworks";
304302
outputFileListPaths = (
305303
);
306-
outputPaths = (
307-
);
308304
runOnlyForDeploymentPostprocessing = 0;
309305
shellPath = /bin/sh;
310306
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-App/Pods-App-frameworks.sh\"\n";
@@ -488,7 +484,7 @@
488484
CODE_SIGN_IDENTITY = "Apple Development";
489485
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution";
490486
CODE_SIGN_STYLE = Manual;
491-
CURRENT_PROJECT_VERSION = 4;
487+
CURRENT_PROJECT_VERSION = 1;
492488
DEVELOPMENT_TEAM = "";
493489
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = F8U6VTU2DJ;
494490
GOOGLE_CLIENT_ID = "$(GOOGLE_CLIENT_ID)";
@@ -500,7 +496,7 @@
500496
"$(inherited)",
501497
"@executable_path/Frameworks",
502498
);
503-
MARKETING_VERSION = 1.3.0;
499+
MARKETING_VERSION = 1.4.0;
504500
OTHER_SWIFT_FLAGS = "$(inherited) \"-D\" \"COCOAPODS\" \"-DDEBUG\"";
505501
PRODUCT_BUNDLE_IDENTIFIER = beaver.notes.pocket;
506502
PRODUCT_NAME = "$(TARGET_NAME)";
@@ -524,7 +520,7 @@
524520
CODE_SIGN_IDENTITY = "Apple Development";
525521
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution";
526522
CODE_SIGN_STYLE = Manual;
527-
CURRENT_PROJECT_VERSION = 4;
523+
CURRENT_PROJECT_VERSION = 1;
528524
DEVELOPMENT_TEAM = "";
529525
"DEVELOPMENT_TEAM[sdk=iphoneos*]" = F8U6VTU2DJ;
530526
GOOGLE_CLIENT_ID = "$(GOOGLE_CLIENT_ID)";
@@ -536,7 +532,7 @@
536532
"$(inherited)",
537533
"@executable_path/Frameworks",
538534
);
539-
MARKETING_VERSION = 1.3.0;
535+
MARKETING_VERSION = 1.4.0;
540536
PRODUCT_BUNDLE_IDENTIFIER = beaver.notes.pocket;
541537
PRODUCT_NAME = "$(TARGET_NAME)";
542538
PROVISIONING_PROFILE_SPECIFIER = "";

0 commit comments

Comments
 (0)