Linting
This commit is contained in:
@@ -136,7 +136,7 @@ export default class DataExportSection extends Vue {
|
|||||||
transform: (table, value, key) => {
|
transform: (table, value, key) => {
|
||||||
if (table === "contacts") {
|
if (table === "contacts") {
|
||||||
// Dexie inserts a number 0 when some are undefined, so we need to totally remove them.
|
// Dexie inserts a number 0 when some are undefined, so we need to totally remove them.
|
||||||
Object.keys(value).forEach(prop => {
|
Object.keys(value).forEach((prop) => {
|
||||||
if (value[prop] === undefined) {
|
if (value[prop] === undefined) {
|
||||||
delete value[prop];
|
delete value[prop];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -90,7 +90,10 @@ db.on("populate", async () => {
|
|||||||
try {
|
try {
|
||||||
await db.settings.add(DEFAULT_SETTINGS);
|
await db.settings.add(DEFAULT_SETTINGS);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error("Error populating the database with default settings:", error);
|
console.error(
|
||||||
|
"Error populating the database with default settings:",
|
||||||
|
error,
|
||||||
|
);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -105,7 +108,7 @@ async function safeOpenDatabase(retries = 1, delay = 500): Promise<void> {
|
|||||||
|
|
||||||
// Create a promise that rejects after 5 seconds
|
// Create a promise that rejects after 5 seconds
|
||||||
const timeoutPromise = new Promise((_, reject) => {
|
const timeoutPromise = new Promise((_, reject) => {
|
||||||
setTimeout(() => reject(new Error('Database open timed out')), 500);
|
setTimeout(() => reject(new Error("Database open timed out")), 500);
|
||||||
});
|
});
|
||||||
|
|
||||||
// Race between the open operation and the timeout
|
// Race between the open operation and the timeout
|
||||||
@@ -123,7 +126,7 @@ async function safeOpenDatabase(retries = 1, delay = 500): Promise<void> {
|
|||||||
console.error(`Attempt ${i + 1}: Database open failed:`, error);
|
console.error(`Attempt ${i + 1}: Database open failed:`, error);
|
||||||
if (i < retries - 1) {
|
if (i < retries - 1) {
|
||||||
console.log(`Attempt ${i + 1}: Waiting ${delay}ms before retry...`);
|
console.log(`Attempt ${i + 1}: Waiting ${delay}ms before retry...`);
|
||||||
await new Promise(resolve => setTimeout(resolve, delay));
|
await new Promise((resolve) => setTimeout(resolve, delay));
|
||||||
} else {
|
} else {
|
||||||
throw error;
|
throw error;
|
||||||
}
|
}
|
||||||
@@ -145,10 +148,16 @@ export async function updateDefaultSettings(
|
|||||||
await safeOpenDatabase();
|
await safeOpenDatabase();
|
||||||
} catch (openError: unknown) {
|
} catch (openError: unknown) {
|
||||||
console.error("Failed to open database:", openError);
|
console.error("Failed to open database:", openError);
|
||||||
const errorMessage = openError instanceof Error ? openError.message : String(openError);
|
const errorMessage =
|
||||||
throw new Error(`Database connection failed: ${errorMessage}. Please try again or restart the app.`);
|
openError instanceof Error ? openError.message : String(openError);
|
||||||
|
throw new Error(
|
||||||
|
`Database connection failed: ${errorMessage}. Please try again or restart the app.`,
|
||||||
|
);
|
||||||
}
|
}
|
||||||
const result = await db.settings.update(MASTER_SETTINGS_KEY, settingsChanges);
|
const result = await db.settings.update(
|
||||||
|
MASTER_SETTINGS_KEY,
|
||||||
|
settingsChanges,
|
||||||
|
);
|
||||||
return result;
|
return result;
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error("Error updating default settings:", error);
|
console.error("Error updating default settings:", error);
|
||||||
|
|||||||
@@ -549,11 +549,13 @@ export const generateSaveAndActivateIdentity = async (): Promise<string> => {
|
|||||||
mnemonic: mnemonic,
|
mnemonic: mnemonic,
|
||||||
publicKeyHex: newId.keys[0].publicKeyHex,
|
publicKeyHex: newId.keys[0].publicKeyHex,
|
||||||
});
|
});
|
||||||
|
|
||||||
await updateDefaultSettings({ activeDid: newId.did });
|
await updateDefaultSettings({ activeDid: newId.did });
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error("Failed to update default settings:", error);
|
console.error("Failed to update default settings:", error);
|
||||||
throw new Error("Failed to set default settings. Please try again or restart the app.");
|
throw new Error(
|
||||||
|
"Failed to set default settings. Please try again or restart the app.",
|
||||||
|
);
|
||||||
}
|
}
|
||||||
await updateAccountSettings(newId.did, { isRegistered: false });
|
await updateAccountSettings(newId.did, { isRegistered: false });
|
||||||
return newId.did;
|
return newId.did;
|
||||||
|
|||||||
@@ -726,9 +726,11 @@ export default class ContactQRScanShow extends Vue {
|
|||||||
|
|
||||||
// Apply mirroring after a short delay to ensure video element is ready
|
// Apply mirroring after a short delay to ensure video element is ready
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
const videoElement = document.querySelector('.qr-scanner video') as HTMLVideoElement;
|
const videoElement = document.querySelector(
|
||||||
|
".qr-scanner video",
|
||||||
|
) as HTMLVideoElement;
|
||||||
if (videoElement) {
|
if (videoElement) {
|
||||||
videoElement.style.transform = 'scaleX(-1)';
|
videoElement.style.transform = "scaleX(-1)";
|
||||||
}
|
}
|
||||||
}, 1000);
|
}, 1000);
|
||||||
}
|
}
|
||||||
@@ -943,7 +945,9 @@ export default class ContactQRScanShow extends Vue {
|
|||||||
// Add method to detect desktop browser
|
// Add method to detect desktop browser
|
||||||
private detectDesktopBrowser(): boolean {
|
private detectDesktopBrowser(): boolean {
|
||||||
const userAgent = navigator.userAgent.toLowerCase();
|
const userAgent = navigator.userAgent.toLowerCase();
|
||||||
return !/android|webos|iphone|ipad|ipod|blackberry|iemobile|opera mini/i.test(userAgent);
|
return !/android|webos|iphone|ipad|ipod|blackberry|iemobile|opera mini/i.test(
|
||||||
|
userAgent,
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Update the computed property for camera mirroring
|
// Update the computed property for camera mirroring
|
||||||
|
|||||||
@@ -34,9 +34,13 @@
|
|||||||
</div>
|
</div>
|
||||||
<div v-else-if="hitError">
|
<div v-else-if="hitError">
|
||||||
<span class="text-xl">Error Creating Identity</span>
|
<span class="text-xl">Error Creating Identity</span>
|
||||||
<font-awesome icon="exclamation-triangle" class="fa-fw text-red-500 ml-2"></font-awesome>
|
<font-awesome
|
||||||
|
icon="exclamation-triangle"
|
||||||
|
class="fa-fw text-red-500 ml-2"
|
||||||
|
></font-awesome>
|
||||||
<p class="text-sm text-gray-500">
|
<p class="text-sm text-gray-500">
|
||||||
Try fully restarting the app. If that doesn't work, back up all data (identities and other data) and reinstall the app.
|
Try fully restarting the app. If that doesn't work, back up all data
|
||||||
|
(identities and other data) and reinstall the app.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div v-else>
|
<div v-else>
|
||||||
@@ -85,7 +89,7 @@ export default class NewIdentifierView extends Vue {
|
|||||||
.catch((error) => {
|
.catch((error) => {
|
||||||
this.loading = false;
|
this.loading = false;
|
||||||
this.hitError = true;
|
this.hitError = true;
|
||||||
console.error('Failed to generate identity:', error);
|
console.error("Failed to generate identity:", error);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user