I had honestly missed that piece of info, I used started using the plugin while it was still in beta (or alpha maybe), and I can’t remember ever seeing that until now.
However, adding the line await CapacitorSQLite.requestPermissions()
makes no difference, it behaves exactly the same as without that line of code: it pops up the dialog for the storage permissions briefly, and then the app crashes in the background while the dialog is still open. Even if you quickly grant access the app still crashes.
The logs show that requestPermissions()
is invoked (see screenshot), but it doesn’t appear to the halt the execution.

The current code is as follows:
<template>
<div id="q-app">
<router-view />
</div>
</template>
<script>
import { Plugins } from '@capacitor/core';
import {mapActions} from 'vuex';
import db from 'app/src/db/db'
const { CapacitorSQLite } = Plugins;
export default {
name: 'App',
methods: {
...mapActions('globals', ['handleAuthStateChanged', 'loadSettings'])
},
async created() {
try {
console.log('0')
await CapacitorSQLite.requestPermissions();
console.log('1')
await db.open();
console.log('2')
await this.loadSettings();
this.handleAuthStateChanged();
}
catch(e) {
console.log(e);
Plugins.App.exitApp();
}
},
}
</script>
Note that it doesn’t log 1
nor 2
.