Skip to content

Commit

Permalink
KDBX 4.1, Entry config v2, upgrades and bug fixes (#31)
Browse files Browse the repository at this point in the history
- 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
  • Loading branch information
luckyrat authored Mar 7, 2024
1 parent 2a0d7d2 commit 4f84581
Show file tree
Hide file tree
Showing 100 changed files with 5,386 additions and 2,912 deletions.
2 changes: 1 addition & 1 deletion .fvm/fvm_config.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"flutterSdkVersion": "3.13.9",
"flutterSdkVersion": "3.16.5",
"flavors": {}
}
28 changes: 14 additions & 14 deletions .github/workflows/flutter_build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,18 +15,18 @@ jobs:

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

- name: Setup Java
uses: actions/setup-java@v3
uses: actions/setup-java@v4
with:
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
java-version: '11'
distribution: 'temurin'
java-version: '17'
cache: 'gradle'
check-latest: false

- name: Load Flutter config
uses: kuhnroyal/flutter-fvm-config-action@v1
uses: kuhnroyal/flutter-fvm-config-action@v2

- name: Setup Flutter
uses: subosito/flutter-action@v2
Expand All @@ -39,7 +39,7 @@ jobs:
run: flutter --version

- name: Cache pub dependencies
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: ${{ env.PUB_CACHE }}
key: ${{ runner.os }}-pub-${{ hashFiles('**/pubspec.lock') }}
Expand Down Expand Up @@ -73,15 +73,15 @@ jobs:
BuildAndTestIos:
name: Build ios prod

runs-on: macos-13
runs-on: macos-14
permissions: write-all

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

- name: Load Flutter config
uses: kuhnroyal/flutter-fvm-config-action@v1
uses: kuhnroyal/flutter-fvm-config-action@v2

- name: Setup Flutter
uses: subosito/flutter-action@v2
Expand All @@ -94,7 +94,7 @@ jobs:
run: flutter --version

- name: Cache pub dependencies
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: ${{ env.PUB_CACHE }}
key: ${{ runner.os }}-pub-${{ hashFiles('**/pubspec.lock') }}
Expand All @@ -112,16 +112,16 @@ jobs:
- name: Choose xcode version
uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: '15.0'
xcode-version: '15.2'

- name: Build iOS Flutter App
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

- name: Setup Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: '3.0'
bundler: 2.4.19
ruby-version: '3.3'
bundler: 2.5.6
bundler-cache: true # runs 'bundle install' and caches installed gems automatically

- name: Build iOS App bundle
Expand All @@ -132,4 +132,4 @@ jobs:
TEMP_KEYCHAIN_PASSWORD: '${{ secrets.TEMP_KEYCHAIN_PASSWORD }}'
run: |
cd ios
bundle exec fastlane beta_build_only
bundle exec fastlane prod_build_only
48 changes: 27 additions & 21 deletions .github/workflows/flutter_release_android.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,25 +6,25 @@ on:

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

runs-on: ubuntu-latest

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

- name: Setup Java
uses: actions/setup-java@v3
uses: actions/setup-java@v4
with:
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
java-version: '11'
distribution: 'temurin'
java-version: '17'
cache: 'gradle'
check-latest: false

- name: Load Flutter config
uses: kuhnroyal/flutter-fvm-config-action@v1
uses: kuhnroyal/flutter-fvm-config-action@v2

- name: Setup Flutter
uses: subosito/flutter-action@v2
Expand All @@ -37,7 +37,7 @@ jobs:
run: flutter --version

- name: Cache pub dependencies
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: ${{ env.PUB_CACHE }}
key: ${{ runner.os }}-pub-${{ hashFiles('**/pubspec.lock') }}
Expand Down Expand Up @@ -80,8 +80,8 @@ jobs:
uses: ruby/setup-ruby@v1
with:
working-directory: ./android
ruby-version: 3.1
bundler: 2.3.19
ruby-version: 3.3
bundler: 2.5.6
bundler-cache: true # runs 'bundle install' and caches installed gems automatically

- name: Release beta stage app to beta delivery platform
Expand All @@ -91,14 +91,20 @@ jobs:
cd android
bundle exec fastlane beta_stage
- name: Build Android App Bundle
env:
KEEVAULT_ANDROID_PLAY_KEYSTORE_PASSWORD: ${{ secrets.KEEVAULT_ANDROID_PLAY_KEYSTORE_PASSWORD }}
run: flutter build appbundle --dart-define KEEVAULT_STAGE=prod --dart-define KEEVAULT_CHANNEL=play --dart-define IAP_GOOGLE_PLAY=yes

- name: Release to Google Play (beta)
env:
KEEVAULT_ANDROID_PLAY_API_KEY_JSON: ${{ secrets.KEEVAULT_ANDROID_PLAY_API_KEY_JSON }}
run: |
cd android
bundle exec fastlane beta
- name: CI sanity test
if: ${{ !endsWith( github.event.release.tag_name, '_android_betaonly' ) }}
run: echo "insane"

# - name: Build Android App Bundle
# if: ${{ !endsWith( github.event.release.tag_name, '_android_betaonly' ) }}
# env:
# KEEVAULT_ANDROID_PLAY_KEYSTORE_PASSWORD: ${{ secrets.KEEVAULT_ANDROID_PLAY_KEYSTORE_PASSWORD }}
# run: flutter build appbundle --dart-define KEEVAULT_STAGE=prod --dart-define KEEVAULT_CHANNEL=play --dart-define IAP_GOOGLE_PLAY=yes

# - name: Release to Google Play (beta)
# if: ${{ !endsWith( github.event.release.tag_name, '_android_betaonly' ) }}
# env:
# KEEVAULT_ANDROID_PLAY_API_KEY_JSON: ${{ secrets.KEEVAULT_ANDROID_PLAY_API_KEY_JSON }}
# run: |
# cd android
# bundle exec fastlane beta
30 changes: 15 additions & 15 deletions .github/workflows/flutter_release_ios.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,18 +6,18 @@ on:
jobs:
DeployIosBetaAdhoc:
name: Build and release beta adhoc
if: ${{ !contains ( github.event.release.tag_name, '_' ) || endsWith( github.event.release.tag_name, '_ios' ) }}
if: ${{ !contains ( github.event.release.tag_name, '_' ) || endsWith( github.event.release.tag_name, '_ios' ) || endsWith( github.event.release.tag_name, '_ios_betaonly' ) }}
# NB: ${{ syntax }} is required despite GitHub docs to the contrary. Appears that ! operator can't be used otherwise.

runs-on: macos-13
runs-on: macos-14
permissions: write-all

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

- name: Load Flutter config
uses: kuhnroyal/flutter-fvm-config-action@v1
uses: kuhnroyal/flutter-fvm-config-action@v2

- name: Setup Flutter
uses: subosito/flutter-action@v2
Expand All @@ -30,7 +30,7 @@ jobs:
run: flutter --version

- name: Cache pub dependencies
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: ${{ env.PUB_CACHE }}
key: ${{ runner.os }}-pub-${{ hashFiles('**/pubspec.lock') }}
Expand All @@ -48,16 +48,16 @@ jobs:
- name: Choose xcode version
uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: '15.0'
xcode-version: '15.2'

- name: Build iOS Flutter App
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

- name: Setup Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: '3.0'
bundler: 2.4.19
ruby-version: '3.3'
bundler: 2.5.6
bundler-cache: true # runs 'bundle install' and caches installed gems automatically

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

runs-on: macos-13
runs-on: macos-14
permissions: write-all

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

- name: Load Flutter config
uses: kuhnroyal/flutter-fvm-config-action@v1
uses: kuhnroyal/flutter-fvm-config-action@v2

- name: Setup Flutter
uses: subosito/flutter-action@v2
Expand All @@ -104,7 +104,7 @@ jobs:
run: flutter --version

- name: Cache pub dependencies
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: ${{ env.PUB_CACHE }}
key: ${{ runner.os }}-pub-${{ hashFiles('**/pubspec.lock') }}
Expand All @@ -122,16 +122,16 @@ jobs:
- name: Choose xcode version
uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: '15.0'
xcode-version: '15.2'

- name: Build iOS Flutter App
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

- name: Setup Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: '3.0'
bundler: 2.4.19
ruby-version: '3.3'
bundler: 2.5.6
bundler-cache: true # runs 'bundle install' and caches installed gems automatically

- name: Release prod stage app to appstore testflight
Expand Down
Loading

0 comments on commit 4f84581

Please sign in to comment.