Skip to content

Commit 4f84581

Browse files
authored
KDBX 4.1, Entry config v2, upgrades and bug fixes (#31)
- Update to Flutter 3.16 - Build Android with API 34 - Upgrade PSL data - Prevent a rare crash during import to an existing Vault - Fix a bug that often made offline access difficult - iOS: Don't allow autofill of entries in the recycle bin or that are manually hidden - iOS: Fixed a bug that often caused AutoFill requests to fail immediately - Temporarily sanity checking a change to Android beta stage deployment
1 parent 2a0d7d2 commit 4f84581

File tree

100 files changed

+5386
-2912
lines changed

Some content is hidden

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

100 files changed

+5386
-2912
lines changed

.fvm/fvm_config.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
{
2-
"flutterSdkVersion": "3.13.9",
2+
"flutterSdkVersion": "3.16.5",
33
"flavors": {}
44
}

.github/workflows/flutter_build.yml

+14-14
Original file line numberDiff line numberDiff line change
@@ -15,18 +15,18 @@ jobs:
1515

1616
steps:
1717
- name: Checkout
18-
uses: actions/checkout@v3
18+
uses: actions/checkout@v4
1919

2020
- name: Setup Java
21-
uses: actions/setup-java@v3
21+
uses: actions/setup-java@v4
2222
with:
23-
distribution: 'adopt' # 'temurin' is apparently the new version of this but only adopt is listed as installed on github runners so need to test changing later
24-
java-version: '11'
23+
distribution: 'temurin'
24+
java-version: '17'
2525
cache: 'gradle'
2626
check-latest: false
2727

2828
- name: Load Flutter config
29-
uses: kuhnroyal/flutter-fvm-config-action@v1
29+
uses: kuhnroyal/flutter-fvm-config-action@v2
3030

3131
- name: Setup Flutter
3232
uses: subosito/flutter-action@v2
@@ -39,7 +39,7 @@ jobs:
3939
run: flutter --version
4040

4141
- name: Cache pub dependencies
42-
uses: actions/cache@v3
42+
uses: actions/cache@v4
4343
with:
4444
path: ${{ env.PUB_CACHE }}
4545
key: ${{ runner.os }}-pub-${{ hashFiles('**/pubspec.lock') }}
@@ -73,15 +73,15 @@ jobs:
7373
BuildAndTestIos:
7474
name: Build ios prod
7575

76-
runs-on: macos-13
76+
runs-on: macos-14
7777
permissions: write-all
7878

7979
steps:
8080
- name: Checkout
81-
uses: actions/checkout@v3
81+
uses: actions/checkout@v4
8282

8383
- name: Load Flutter config
84-
uses: kuhnroyal/flutter-fvm-config-action@v1
84+
uses: kuhnroyal/flutter-fvm-config-action@v2
8585

8686
- name: Setup Flutter
8787
uses: subosito/flutter-action@v2
@@ -94,7 +94,7 @@ jobs:
9494
run: flutter --version
9595

9696
- name: Cache pub dependencies
97-
uses: actions/cache@v3
97+
uses: actions/cache@v4
9898
with:
9999
path: ${{ env.PUB_CACHE }}
100100
key: ${{ runner.os }}-pub-${{ hashFiles('**/pubspec.lock') }}
@@ -112,16 +112,16 @@ jobs:
112112
- name: Choose xcode version
113113
uses: maxim-lobanov/setup-xcode@v1
114114
with:
115-
xcode-version: '15.0'
115+
xcode-version: '15.2'
116116

117117
- name: Build iOS Flutter App
118118
run: flutter build ios --config-only --release --no-codesign --dart-define KEEVAULT_STAGE=prod --dart-define KEEVAULT_NAME_SUFFIX= --dart-define KEEVAULT_ID_SUFFIX= --dart-define IAP_APPLE_APP_STORE=yes
119119

120120
- name: Setup Ruby
121121
uses: ruby/setup-ruby@v1
122122
with:
123-
ruby-version: '3.0'
124-
bundler: 2.4.19
123+
ruby-version: '3.3'
124+
bundler: 2.5.6
125125
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
126126

127127
- name: Build iOS App bundle
@@ -132,4 +132,4 @@ jobs:
132132
TEMP_KEYCHAIN_PASSWORD: '${{ secrets.TEMP_KEYCHAIN_PASSWORD }}'
133133
run: |
134134
cd ios
135-
bundle exec fastlane beta_build_only
135+
bundle exec fastlane prod_build_only

.github/workflows/flutter_release_android.yml

+27-21
Original file line numberDiff line numberDiff line change
@@ -6,25 +6,25 @@ on:
66

77
jobs:
88
setupAndTestAndroid:
9-
name: Build and release Google play to beta channel
10-
if: ${{ !contains (github.event.release.tag_name, '_' ) || endsWith( github.event.release.tag_name, '_android' ) }}
9+
name: Build and release to Testfairy and maybe Google play beta channel
10+
if: ${{ !contains (github.event.release.tag_name, '_' ) || endsWith( github.event.release.tag_name, '_android' ) || endsWith( github.event.release.tag_name, '_android_betaonly' ) }}
1111

1212
runs-on: ubuntu-latest
1313

1414
steps:
1515
- name: Checkout
16-
uses: actions/checkout@v3
16+
uses: actions/checkout@v4
1717

1818
- name: Setup Java
19-
uses: actions/setup-java@v3
19+
uses: actions/setup-java@v4
2020
with:
21-
distribution: 'adopt' # 'temurin' is apparently the new version of this but only adopt is listed as installed on github runners so need to test changing later
22-
java-version: '11'
21+
distribution: 'temurin'
22+
java-version: '17'
2323
cache: 'gradle'
2424
check-latest: false
2525

2626
- name: Load Flutter config
27-
uses: kuhnroyal/flutter-fvm-config-action@v1
27+
uses: kuhnroyal/flutter-fvm-config-action@v2
2828

2929
- name: Setup Flutter
3030
uses: subosito/flutter-action@v2
@@ -37,7 +37,7 @@ jobs:
3737
run: flutter --version
3838

3939
- name: Cache pub dependencies
40-
uses: actions/cache@v3
40+
uses: actions/cache@v4
4141
with:
4242
path: ${{ env.PUB_CACHE }}
4343
key: ${{ runner.os }}-pub-${{ hashFiles('**/pubspec.lock') }}
@@ -80,8 +80,8 @@ jobs:
8080
uses: ruby/setup-ruby@v1
8181
with:
8282
working-directory: ./android
83-
ruby-version: 3.1
84-
bundler: 2.3.19
83+
ruby-version: 3.3
84+
bundler: 2.5.6
8585
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
8686

8787
- name: Release beta stage app to beta delivery platform
@@ -91,14 +91,20 @@ jobs:
9191
cd android
9292
bundle exec fastlane beta_stage
9393
94-
- name: Build Android App Bundle
95-
env:
96-
KEEVAULT_ANDROID_PLAY_KEYSTORE_PASSWORD: ${{ secrets.KEEVAULT_ANDROID_PLAY_KEYSTORE_PASSWORD }}
97-
run: flutter build appbundle --dart-define KEEVAULT_STAGE=prod --dart-define KEEVAULT_CHANNEL=play --dart-define IAP_GOOGLE_PLAY=yes
98-
99-
- name: Release to Google Play (beta)
100-
env:
101-
KEEVAULT_ANDROID_PLAY_API_KEY_JSON: ${{ secrets.KEEVAULT_ANDROID_PLAY_API_KEY_JSON }}
102-
run: |
103-
cd android
104-
bundle exec fastlane beta
94+
- name: CI sanity test
95+
if: ${{ !endsWith( github.event.release.tag_name, '_android_betaonly' ) }}
96+
run: echo "insane"
97+
98+
# - name: Build Android App Bundle
99+
# if: ${{ !endsWith( github.event.release.tag_name, '_android_betaonly' ) }}
100+
# env:
101+
# KEEVAULT_ANDROID_PLAY_KEYSTORE_PASSWORD: ${{ secrets.KEEVAULT_ANDROID_PLAY_KEYSTORE_PASSWORD }}
102+
# run: flutter build appbundle --dart-define KEEVAULT_STAGE=prod --dart-define KEEVAULT_CHANNEL=play --dart-define IAP_GOOGLE_PLAY=yes
103+
104+
# - name: Release to Google Play (beta)
105+
# if: ${{ !endsWith( github.event.release.tag_name, '_android_betaonly' ) }}
106+
# env:
107+
# KEEVAULT_ANDROID_PLAY_API_KEY_JSON: ${{ secrets.KEEVAULT_ANDROID_PLAY_API_KEY_JSON }}
108+
# run: |
109+
# cd android
110+
# bundle exec fastlane beta

.github/workflows/flutter_release_ios.yml

+15-15
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,18 @@ on:
66
jobs:
77
DeployIosBetaAdhoc:
88
name: Build and release beta adhoc
9-
if: ${{ !contains ( github.event.release.tag_name, '_' ) || endsWith( github.event.release.tag_name, '_ios' ) }}
9+
if: ${{ !contains ( github.event.release.tag_name, '_' ) || endsWith( github.event.release.tag_name, '_ios' ) || endsWith( github.event.release.tag_name, '_ios_betaonly' ) }}
1010
# NB: ${{ syntax }} is required despite GitHub docs to the contrary. Appears that ! operator can't be used otherwise.
1111

12-
runs-on: macos-13
12+
runs-on: macos-14
1313
permissions: write-all
1414

1515
steps:
1616
- name: Checkout
17-
uses: actions/checkout@v3
17+
uses: actions/checkout@v4
1818

1919
- name: Load Flutter config
20-
uses: kuhnroyal/flutter-fvm-config-action@v1
20+
uses: kuhnroyal/flutter-fvm-config-action@v2
2121

2222
- name: Setup Flutter
2323
uses: subosito/flutter-action@v2
@@ -30,7 +30,7 @@ jobs:
3030
run: flutter --version
3131

3232
- name: Cache pub dependencies
33-
uses: actions/cache@v3
33+
uses: actions/cache@v4
3434
with:
3535
path: ${{ env.PUB_CACHE }}
3636
key: ${{ runner.os }}-pub-${{ hashFiles('**/pubspec.lock') }}
@@ -48,16 +48,16 @@ jobs:
4848
- name: Choose xcode version
4949
uses: maxim-lobanov/setup-xcode@v1
5050
with:
51-
xcode-version: '15.0'
51+
xcode-version: '15.2'
5252

5353
- name: Build iOS Flutter App
5454
run: flutter build ios --config-only --release --no-codesign --dart-define KEEVAULT_STAGE=beta --dart-define KEEVAULT_NAME_SUFFIX='(b)' --dart-define KEEVAULT_ID_SUFFIX=.beta
5555

5656
- name: Setup Ruby
5757
uses: ruby/setup-ruby@v1
5858
with:
59-
ruby-version: '3.0'
60-
bundler: 2.4.19
59+
ruby-version: '3.3'
60+
bundler: 2.5.6
6161
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
6262

6363
- name: Release beta stage app to beta delivery platform
@@ -83,15 +83,15 @@ jobs:
8383
name: Build and release prod testflight
8484
if: ${{ !contains ( github.event.release.tag_name, '_' ) || endsWith( github.event.release.tag_name, '_ios' ) }}
8585

86-
runs-on: macos-13
86+
runs-on: macos-14
8787
permissions: write-all
8888

8989
steps:
9090
- name: Checkout
91-
uses: actions/checkout@v3
91+
uses: actions/checkout@v4
9292

9393
- name: Load Flutter config
94-
uses: kuhnroyal/flutter-fvm-config-action@v1
94+
uses: kuhnroyal/flutter-fvm-config-action@v2
9595

9696
- name: Setup Flutter
9797
uses: subosito/flutter-action@v2
@@ -104,7 +104,7 @@ jobs:
104104
run: flutter --version
105105

106106
- name: Cache pub dependencies
107-
uses: actions/cache@v3
107+
uses: actions/cache@v4
108108
with:
109109
path: ${{ env.PUB_CACHE }}
110110
key: ${{ runner.os }}-pub-${{ hashFiles('**/pubspec.lock') }}
@@ -122,16 +122,16 @@ jobs:
122122
- name: Choose xcode version
123123
uses: maxim-lobanov/setup-xcode@v1
124124
with:
125-
xcode-version: '15.0'
125+
xcode-version: '15.2'
126126

127127
- name: Build iOS Flutter App
128128
run: flutter build ios --config-only --release --no-codesign --dart-define KEEVAULT_STAGE=prod --dart-define KEEVAULT_NAME_SUFFIX= --dart-define KEEVAULT_ID_SUFFIX= --dart-define IAP_APPLE_APP_STORE=yes
129129

130130
- name: Setup Ruby
131131
uses: ruby/setup-ruby@v1
132132
with:
133-
ruby-version: '3.0'
134-
bundler: 2.4.19
133+
ruby-version: '3.3'
134+
bundler: 2.5.6
135135
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
136136

137137
- name: Release prod stage app to appstore testflight

0 commit comments

Comments
 (0)