feat(Security): fixes
Some checks failed
Build and Push Docker Images (Default + Simple Mode) / build-and-release (push) Has been cancelled
Build and Push Docker Images (Default + Simple Mode) / build-amd64 (map[name:default simple_mode:false suffix:]) (push) Has been cancelled
Build and Push Docker Images (Default + Simple Mode) / build-amd64 (map[name:simple simple_mode:true suffix:-simple]) (push) Has been cancelled
Build and Push Docker Images (Default + Simple Mode) / build-arm64 (map[name:default simple_mode:false suffix:]) (push) Has been cancelled
Build and Push Docker Images (Default + Simple Mode) / build-arm64 (map[name:simple simple_mode:true suffix:-simple]) (push) Has been cancelled
Build and Push Docker Images (Default + Simple Mode) / merge-manifests-ghcr (map[name:default suffix:]) (push) Has been cancelled
Build and Push Docker Images (Default + Simple Mode) / merge-manifests-ghcr (map[name:simple suffix:-simple]) (push) Has been cancelled
Build and Push Docker Images (Default + Simple Mode) / push-to-dockerhub (map[name:default suffix:]) (push) Has been cancelled
Build and Push Docker Images (Default + Simple Mode) / push-to-dockerhub (map[name:simple suffix:-simple]) (push) Has been cancelled
CodeQL / Analyze (javascript-typescript) (push) Has been cancelled
Deploy static content to Pages / deploy (push) Has been cancelled
Trivy Security Scan / scan-image (map[file:Dockerfile name:bentopdf]) (push) Has been cancelled
Trivy Security Scan / scan-image (map[file:Dockerfile.nonroot name:bentopdf-nonroot]) (push) Has been cancelled
Trivy Security Scan / scan-dependencies (push) Has been cancelled
Trivy Security Scan / scan-config (push) Has been cancelled

This commit is contained in:
alam00000
2026-04-18 16:58:55 +05:30
parent b040aef729
commit 7527187812
8 changed files with 371 additions and 156 deletions

View File

@@ -19,6 +19,7 @@ type LucideWindow = Window & {
};
};
import DOMPurify from 'dompurify';
import { initializeGlobalShortcuts } from '../utils/shortcuts-init.js';
import { downloadFile, escapeHtml, hexToRgb } from '../utils/helpers.js';
import { loadPdfWithPasswordPrompt } from '../utils/password-prompt.js';
@@ -1327,7 +1328,7 @@ function showProperties(field: FormField): void {
`;
}
propertiesPanel.innerHTML = `
const propertiesHtml = `
<div class="space-y-3">
<div>
<label class="block text-xs font-semibold text-gray-300 mb-1">Field Name ${field.type === 'radio' ? '(Group Name)' : ''}</label>
@@ -1399,6 +1400,10 @@ function showProperties(field: FormField): void {
</div>
`;
propertiesPanel.innerHTML = DOMPurify.sanitize(propertiesHtml, {
ADD_ATTR: ['target'],
});
// Common listeners
const propName = document.getElementById('propName') as HTMLInputElement;
const nameError = document.getElementById('nameError') as HTMLDivElement;