Compare commits

..

5 Commits

Author SHA1 Message Date
Leendert de Borst
79221f35c6 Bump version to 0.17.2 (#850) 2025-05-17 17:39:16 +02:00
Leendert de Borst
baf81392eb Restore docker-compose.yml container versions to :latest (#848) 2025-05-17 17:14:01 +02:00
Leendert de Borst
1fe7f7d8dc Bump version to 0.17.1 (#843) 2025-05-14 11:23:03 +02:00
Leendert de Borst
e41552a2c0 Fix credential edit password existence check (#840) 2025-05-14 11:05:45 +02:00
Leendert de Borst
8e9c100eac Fix browser extension popup manual search/filter bug (#839) 2025-05-14 11:05:36 +02:00
9 changed files with 62 additions and 34 deletions

View File

@@ -515,7 +515,7 @@
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
CURRENT_PROJECT_VERSION = 15;
CURRENT_PROJECT_VERSION = 17;
DEVELOPMENT_TEAM = 8PHW4HN3F7;
ENABLE_HARDENED_RUNTIME = YES;
GENERATE_INFOPLIST_FILE = YES;
@@ -530,7 +530,7 @@
"@executable_path/../Frameworks",
);
MACOSX_DEPLOYMENT_TARGET = 10.14;
MARKETING_VERSION = 0.16.2;
MARKETING_VERSION = 0.17.2;
OTHER_LDFLAGS = (
"-framework",
SafariServices,
@@ -554,7 +554,7 @@
CODE_SIGN_ENTITLEMENTS = AliasVault/AliasVault.entitlements;
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
CURRENT_PROJECT_VERSION = 15;
CURRENT_PROJECT_VERSION = 17;
DEVELOPMENT_TEAM = 8PHW4HN3F7;
ENABLE_HARDENED_RUNTIME = YES;
GENERATE_INFOPLIST_FILE = YES;
@@ -569,7 +569,7 @@
"@executable_path/../Frameworks",
);
MACOSX_DEPLOYMENT_TARGET = 10.14;
MARKETING_VERSION = 0.16.2;
MARKETING_VERSION = 0.17.2;
OTHER_LDFLAGS = (
"-framework",
SafariServices,

View File

@@ -531,7 +531,7 @@ function handleSearchInput(searchInput: HTMLInputElement, credentials: Credentia
const searchTerm = searchInput.value.toLowerCase();
// Ensure we have unique credentials
const uniqueCredentials = Array.from(new Map(credentials.map(cred => [cred.id, cred])).values());
const uniqueCredentials = Array.from(new Map(credentials.map(cred => [cred.Id, cred])).values());
let filteredCredentials;
if (searchTerm === '') {
@@ -1339,7 +1339,12 @@ async function fetchAndProcessFavicon(url: string, maxSize: number, targetWidth:
*/
async function resizeImage(imageData: Uint8Array, contentType: string, targetWidth: number): Promise<Blob | null> {
return new Promise((resolve) => {
const blob = new Blob([imageData], { type: contentType });
// Convert Uint8Array to ArrayBuffer to ensure compatibility with Blob
const arrayBuffer = imageData.buffer.slice(
imageData.byteOffset,
imageData.byteOffset + imageData.byteLength
) as ArrayBuffer; // Assert as ArrayBuffer to ensure type compatibility
const blob = new Blob([arrayBuffer], { type: contentType });
const img = new Image();
/**

View File

@@ -6,7 +6,7 @@ export class AppInfo {
/**
* The current extension version. This should be updated with each release of the extension.
*/
public static readonly VERSION = '0.17.0';
public static readonly VERSION = '0.17.2';
/**
* The minimum supported AliasVault server (API) version. If the server version is below this, the

View File

@@ -6,7 +6,7 @@ export default defineConfig({
manifest: {
name: "AliasVault",
description: "AliasVault Browser AutoFill Extension. Keeping your personal information private.",
version: "0.17.0",
version: "0.17.2",
content_security_policy: {
extension_pages: "script-src 'self' 'wasm-unsafe-eval'; object-src 'self';"
},

View File

@@ -1035,7 +1035,7 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = AliasVault/AliasVault.entitlements;
CURRENT_PROJECT_VERSION = 4;
CURRENT_PROJECT_VERSION = 5;
DEVELOPMENT_TEAM = 8PHW4HN3F7;
ENABLE_BITCODE = NO;
GCC_PREPROCESSOR_DEFINITIONS = (
@@ -1050,7 +1050,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
MARKETING_VERSION = 0.17.0;
MARKETING_VERSION = 0.17.2;
OTHER_LDFLAGS = (
"$(inherited)",
"-ObjC",
@@ -1074,7 +1074,7 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = AliasVault/AliasVault.entitlements;
CURRENT_PROJECT_VERSION = 4;
CURRENT_PROJECT_VERSION = 5;
DEVELOPMENT_TEAM = 8PHW4HN3F7;
INFOPLIST_FILE = AliasVault/Info.plist;
INFOPLIST_KEY_CFBundleDisplayName = AliasVault;
@@ -1084,7 +1084,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
MARKETING_VERSION = 0.17.0;
MARKETING_VERSION = 0.17.2;
OTHER_LDFLAGS = (
"$(inherited)",
"-ObjC",
@@ -1605,7 +1605,7 @@
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CODE_SIGN_ENTITLEMENTS = autofill/autofill.entitlements;
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 4;
CURRENT_PROJECT_VERSION = 5;
DEBUG_INFORMATION_FORMAT = dwarf;
DEVELOPMENT_TEAM = 8PHW4HN3F7;
ENABLE_USER_SCRIPT_SANDBOXING = YES;
@@ -1621,7 +1621,7 @@
"@executable_path/../../Frameworks",
);
LOCALIZATION_PREFERS_STRING_CATALOGS = YES;
MARKETING_VERSION = 0.17.0;
MARKETING_VERSION = 0.17.2;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
OTHER_SWIFT_FLAGS = "$(inherited) -D EXPO_CONFIGURATION_DEBUG";
@@ -1650,7 +1650,7 @@
CODE_SIGN_ENTITLEMENTS = autofill/autofill.entitlements;
CODE_SIGN_STYLE = Automatic;
COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 4;
CURRENT_PROJECT_VERSION = 5;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DEVELOPMENT_TEAM = 8PHW4HN3F7;
ENABLE_USER_SCRIPT_SANDBOXING = YES;
@@ -1666,7 +1666,7 @@
"@executable_path/../../Frameworks",
);
LOCALIZATION_PREFERS_STRING_CATALOGS = YES;
MARKETING_VERSION = 0.17.0;
MARKETING_VERSION = 0.17.2;
MTL_FAST_MATH = YES;
OTHER_SWIFT_FLAGS = "$(inherited) -D EXPO_CONFIGURATION_RELEASE";
PRODUCT_BUNDLE_IDENTIFIER = net.aliasvault.app.autofill;

View File

@@ -8,7 +8,7 @@ export class AppInfo {
/**
* The current extension version. This should be updated with each release of the extension.
*/
public static readonly VERSION = '0.17.0';
public static readonly VERSION = '0.17.2';
/**
* The minimum supported AliasVault server (API) version. If the server version is below this, the

View File

@@ -813,17 +813,40 @@ class SqliteClient {
// 4. Update Password if changed
if (credential.Password !== existingCredential.Password) {
const passwordQuery = `
UPDATE Passwords
SET Value = ?,
UpdatedAt = ?
// Check if a password record already exists for this credential, if not, then create one.
const passwordRecordExistsQuery = `
SELECT Id
FROM Passwords
WHERE CredentialId = ?`;
const passwordResults = await this.executeQuery(passwordRecordExistsQuery, [credential.Id]);
await this.executeUpdate(passwordQuery, [
credential.Password,
currentDateTime,
credential.Id
]);
if (passwordResults.length === 0) {
// Create a new password record
const passwordQuery = `
INSERT INTO Passwords (Id, Value, CredentialId, CreatedAt, UpdatedAt, IsDeleted)
VALUES (?, ?, ?, ?, ?, ?)`;
await this.executeUpdate(passwordQuery, [
crypto.randomUUID().toUpperCase(),
credential.Password,
credential.Id,
currentDateTime,
currentDateTime,
0
]);
} else {
// Update the existing password record
const passwordQuery = `
UPDATE Passwords
SET Value = ?, UpdatedAt = ?
WHERE CredentialId = ?`;
await this.executeUpdate(passwordQuery, [
credential.Password,
currentDateTime,
credential.Id
]);
}
}
await NativeVaultManager.commitTransaction();

View File

@@ -30,7 +30,7 @@ public static class AppInfo
/// <summary>
/// Gets the patch version number.
/// </summary>
public const int VersionPatch = 0;
public const int VersionPatch = 2;
/// <summary>
/// Gets the minimum supported AliasVault client version. Normally the minimum client version is the same

View File

@@ -1,6 +1,6 @@
services:
postgres:
image: ghcr.io/lanedirt/aliasvault-postgres:0.16.1
image: ghcr.io/lanedirt/aliasvault-postgres:latest
volumes:
- ./database/postgres:/var/lib/postgresql/data:rw
env_file:
@@ -14,7 +14,7 @@ services:
start_period: 10s
client:
image: ghcr.io/lanedirt/aliasvault-client:0.16.1
image: ghcr.io/lanedirt/aliasvault-client:latest
volumes:
- ./logs/msbuild:/apps/server/msbuild-logs:rw
expose:
@@ -24,7 +24,7 @@ services:
- .env
api:
image: ghcr.io/lanedirt/aliasvault-api:0.16.1
image: ghcr.io/lanedirt/aliasvault-api:latest
expose:
- "3001"
volumes:
@@ -41,7 +41,7 @@ services:
ConnectionStrings__AliasServerDbContext: "Host=postgres;Database=aliasvault;Username=aliasvault;Password=${POSTGRES_PASSWORD}"
admin:
image: ghcr.io/lanedirt/aliasvault-admin:0.16.1
image: ghcr.io/lanedirt/aliasvault-admin:latest
expose:
- "3002"
volumes:
@@ -58,7 +58,7 @@ services:
ConnectionStrings__AliasServerDbContext: "Host=postgres;Database=aliasvault;Username=aliasvault;Password=${POSTGRES_PASSWORD}"
reverse-proxy:
image: ghcr.io/lanedirt/aliasvault-reverse-proxy:0.16.1
image: ghcr.io/lanedirt/aliasvault-reverse-proxy:latest
ports:
- "${HTTP_PORT:-80}:80"
- "${HTTPS_PORT:-443}:443"
@@ -76,7 +76,7 @@ services:
- .env
smtp:
image: ghcr.io/lanedirt/aliasvault-smtp:0.16.1
image: ghcr.io/lanedirt/aliasvault-smtp:latest
ports:
- "${SMTP_PORT:-25}:25"
- "${SMTP_TLS_PORT:-587}:587"
@@ -93,7 +93,7 @@ services:
ConnectionStrings__AliasServerDbContext: "Host=postgres;Database=aliasvault;Username=aliasvault;Password=${POSTGRES_PASSWORD}"
task-runner:
image: ghcr.io/lanedirt/aliasvault-task-runner:0.16.1
image: ghcr.io/lanedirt/aliasvault-task-runner:latest
volumes:
- ./database:/database:rw
- ./logs:/logs:rw