Commit Graph

97 Commits

Author SHA1 Message Date
Torsten Schulz (local)
0fcf6ced0e Galerie: proxy + previews; uploads internal; membership PDF storage hardened; migration/preview scripts
Some checks failed
Code Analysis (JS/Vue) / analyze (push) Failing after 48s
2026-02-11 10:02:33 +01:00
Torsten Schulz (local)
9c1bcba713 Refactor Galerie component to use image IDs for keys and update image loading logic; add new scripts for generating previews and migrating public gallery to metadata with authentication checks. 2026-02-09 14:31:46 +01:00
Torsten Schulz (local)
33ef5cda5f Improve Satzung content loading and HTML conversion process
This commit ensures that the Satzung content is loaded as a string, enhancing reliability. Additionally, it refines the HTML conversion function by improving the handling of line breaks, merging related lines, and removing empty paragraphs. These changes enhance the overall quality and readability of the generated HTML content.
2026-02-06 13:35:20 +01:00
Torsten Schulz (local)
581e80bbc3 Enhance HTML conversion for Satzung uploads by removing page numbers and improving list handling
This commit updates the text-to-HTML conversion function to remove page numbers and footers from the extracted text. It also introduces enhanced handling for enumerated lists, allowing for better formatting of items with specific patterns (e.g., a), b), c)). These changes improve the overall quality and readability of the generated HTML content.
2026-02-06 11:58:23 +01:00
Torsten Schulz (local)
78aec7ce57 Implement PDF text extraction and HTML conversion in Satzung upload process
This commit introduces a new mechanism for extracting text from uploaded PDF files using pdftotext, followed by a basic plausibility check of the extracted content. If the text meets the criteria, it is converted to HTML format and stored in the configuration, replacing the previous static content handling. This enhancement improves the accuracy and reliability of the Satzung content management.
2026-02-06 11:39:41 +01:00
Torsten Schulz (local)
7346e84abd Refactor PDF text extraction and update configuration handling in Satzung upload process
This commit removes the PDF text extraction logic and replaces it with a fallback mechanism that retains existing content or provides a neutral message. The configuration update now only sets the PDF path without automatically generating HTML content, improving clarity and maintaining the integrity of the existing data.
2026-02-06 10:55:41 +01:00
Torsten Schulz (local)
2d974214ab Update role-based access control for user management in CMS
This commit modifies the navigation and CMS user management components to allow access for both 'admin' and 'vorstand' roles. The changes include updating the conditional rendering logic in the Navigation and index.vue files, as well as adjusting the API endpoint to reflect the new role permissions, enhancing the flexibility of user access within the CMS.
2026-02-06 10:35:13 +01:00
Torsten Schulz (local)
57b32debeb Enhance user contact data visibility based on role permissions
This commit introduces role-based access control for user contact information in the CMS. It updates the user list display to show email and phone details only to users with the 'vorstand' role, while masking this information for others. Additionally, it modifies the API endpoints to ensure that contact data is only returned for authorized users, improving data privacy and security.
2026-02-06 10:12:37 +01:00
Torsten Schulz (local)
0fb6634b7f Update CSV data fetching to use API endpoint in Mannschaften components
This commit modifies the loadMannschaften function across multiple components to fetch CSV data from the new API endpoint '/api/mannschaften' instead of the previous static file path '/data/mannschaften.csv'. This change enhances data retrieval consistency and aligns with the updated data management strategy in the application.
2026-01-19 08:28:43 +01:00
Torsten Schulz (local)
cee9fb468f Implement cleanup of old compressed CSV files after successful write in CMS
This commit adds logic to remove outdated `.gz` and `.br` files after a successful CSV write operation in the CMS. This ensures that users do not encounter inconsistent content due to leftover pre-compressed assets, enhancing data integrity and reliability in the application.
2026-01-19 08:13:02 +01:00
Torsten Schulz (local)
5fa1718de9 Enhance CSV file saving mechanism in CMS with atomic write and verification
This commit improves the CSV file handling in the CMS by implementing an atomic write function that ensures data integrity during file saves. It introduces a verification step to check file size after writing, preventing issues with incomplete or corrupted files. Additionally, it refines the logic for determining target paths, prioritizing preferred directories and providing better error handling for write operations. These changes enhance the reliability and robustness of data management in the application.
2026-01-18 23:50:25 +01:00
Torsten Schulz (local)
a9e06841af Update package dependencies and enhance CSV handling in CMS
This commit updates the version of several packages in package.json and package-lock.json, including downgrading "quill" to 2.0.2 and upgrading "devalue", "diff", "h3", "node-mock-http", "tar", and "undici" to their latest versions. Additionally, it improves the CSV file handling in the CMS by implementing a cache-busting mechanism for fetching data and enhancing error handling during file saving, ensuring more robust data management.
2026-01-18 22:25:04 +01:00
Torsten Schulz (local)
54aee3c787 Update security headers in Apache configuration to enhance protection
This commit removes the X-Frame-Options header in favor of using Content Security Policy (CSP) with frame-ancestors for better flexibility and modern security practices. It also adds a fallback for frame-ancestors in case CSP is not enabled. Additionally, the JavaScript middleware is updated to reflect these changes, ensuring consistent security header management across the application.
2026-01-11 20:59:42 +01:00
Torsten Schulz (local)
4914476259 Enhance newsletter subscription functionality with user profile integration
This commit updates the newsletter subscription component to display the user's email when logged in, improving user experience. It also adds logic to load the user's profile data upon authentication, ensuring that the email field is pre-filled for logged-in users. Additionally, the server-side subscription handler is modified to check user authentication status, allowing only logged-in users to subscribe to certain groups. This change enhances the overall subscription process and aligns it with user authentication state.
2026-01-09 09:01:23 +01:00
Torsten Schulz (local)
d35b94c3d9 Remove deprecated Passkey-related documentation and test files
This commit deletes several files related to Passkey functionality, including CORS_TEST_ANLEITUNG.md, CROSS_DEVICE_DEBUG.md, CROSS_DEVICE_PROBLEM_ZUSAMMENFASSUNG.md, SMARTPHONE_TEST_ANLEITUNG.md, test-cors.html, test-smartphone.html, and Vue components for Passkey registration and recovery. These removals are part of a broader effort to streamline the codebase and focus on core authentication methods while Passkey support is under review.
2026-01-09 08:50:26 +01:00
Torsten Schulz (local)
6deb15f65e Refine Passkey registration logging and API options for local authenticators
Update the registrieren.vue component to enhance debug logging for local authenticator usage, providing clearer messages about the expected behavior during registration. Modify the register-passkey-options API to specify the use of local authenticators, ensuring better clarity on the authenticator selection process. This update aims to improve user understanding and troubleshooting during Passkey registration without the need for Cross-Device functionality.
2026-01-09 08:30:40 +01:00
Torsten Schulz (local)
31af56d908 Enhance Cross-Device registration debugging and API options
Update the registrieren.vue component to improve debug logging for Cross-Device registration, including checks for local authenticators and tunnel server connections. Add warnings for potential issues when Cross-Device is not used. Modify the register-passkey-options API to ensure compatibility with Cross-Device requirements by allowing both platform and cross-platform authenticators. This update aims to provide clearer insights and troubleshooting guidance during the Passkey registration process.
2026-01-09 08:10:13 +01:00
Torsten Schulz (local)
0eacc0cb4a Enhance Cross-Device support and documentation for Passkey Registration
Update the CROSS_DEVICE_PROBLEM_ZUSAMMENFASSUNG.md to clarify the role of tunnel servers in the Cross-Device authentication process and outline troubleshooting steps. Additionally, enhance the registrieren.vue component with detailed information about the FIDO Cross-Device flow, including QR-Code format, connection requirements, and potential issues. Improve the register-passkey-options API documentation to reflect the use of tunnel servers, ensuring better understanding and support for Cross-Device functionality.
2026-01-09 08:04:50 +01:00
Torsten Schulz (local)
55d2fa3f16 Enhance debug logging for Passkey Registration requests
Improve logging in the register-passkey-options and log-requests middleware to provide detailed insights into request handling. Add user-agent analysis, IP address logging, and mobile/desktop detection to aid in troubleshooting. This update aims to enhance the clarity of request logs and support better debugging during the Passkey registration process.
2026-01-08 23:33:04 +01:00
Torsten Schulz (local)
6b1dee69f6 Enhance debug logging and Cross-Device support for Passkey Registration
Update the registrieren.vue component to include detailed debug statements for the Cross-Device authentication flow, specifically during QR-Code generation. Improve logging in the register-passkey-options and register-passkey APIs to capture request details such as user agent and IP address, aiding in troubleshooting. Additionally, introduce a new function to retrieve pre-registration data, enhancing the overall registration process and compliance with Cross-Device requirements.
2026-01-08 23:27:11 +01:00
Torsten Schulz (local)
2dfad8eaef Enhance debug logging and validation in Passkey Registration API
Add additional debug statements to the register-passkey-options API to validate the options structure, including checks for challenge type and user ID format. Improve logging to capture detailed information about the options being returned, aiding in troubleshooting and ensuring compliance with Cross-Device requirements.
2026-01-08 15:57:19 +01:00
Torsten Schulz (local)
a895dbebf3 Enhance debug logging for Passkey Registration options
Add detailed debug statements in the registrieren.vue component to validate the complete options structure during Passkey registration. Update the register-passkey API to simplify the options return process, eliminating unnecessary serialization while maintaining comprehensive logging of the options details for improved troubleshooting.
2026-01-08 14:17:18 +01:00
Torsten Schulz (local)
66b966da55 Enhance debug logging and validation for Passkey Registration
Add comprehensive debug statements in the registrieren.vue component to validate the options structure and ensure the challenge format is correct before initiating registration. Update the register-passkey API to log additional request details, including client IP and user-agent analysis, to improve troubleshooting and provide better insights during the registration process.
2026-01-08 12:12:15 +01:00
Torsten Schulz (local)
723f625549 Enhance debug logging for Cross-Device Passkey Registration
Add detailed debug statements in the registrieren.vue component to provide insights into the QR-Code generation process and the Cross-Device authentication flow. Additionally, update the register-passkey API to log request details, including user agent and method, to improve troubleshooting capabilities and ensure clarity during the registration process.
2026-01-08 11:56:57 +01:00
Torsten Schulz (local)
cca02dbd20 Enhance deployment script with PM2 process checks and error handling
Update deploy-production.sh to include checks for PM2 installation and process existence before restarting. Implement error messages for failed starts and restarts, improving robustness and user guidance during deployment. Additionally, add useful commands for managing the PM2 process post-deployment.
2026-01-08 11:24:38 +01:00
Torsten Schulz (local)
9c9f2ef1ac Add CORS testing documentation and HTML test page for Passkey Cross-Device Authentication
Introduce a comprehensive CORS testing guide in CORS_TEST_ANLEITUNG.md, detailing steps for testing OPTIONS and POST requests, along with expected responses. Additionally, add a new HTML test page (test-cors.html) to facilitate interactive testing of CORS headers and responses for the Passkey registration API. Update the server API to ensure proper CORS headers are set for Cross-Device Authentication, enhancing the overall testing and debugging process.
2026-01-08 11:14:22 +01:00
Torsten Schulz (local)
7726f51294 Enhance deployment script and registration components with improved error handling and debug logging
Update deploy-production.sh to include comprehensive build validation checks, ensuring critical files and directories are present before proceeding. Enhance the registrieren.vue component to conditionally display the window origin and improve debug logging for the registration process. Additionally, add debug information in the register-passkey-options API to capture request details, including environment and process ID, for better troubleshooting capabilities.
2026-01-08 08:59:57 +01:00
Torsten Schulz (local)
f481c501cb Enhance debug logging and validation in passkey registration process
Add detailed debug logging to track the verification parameters and errors during the passkey registration flow. Implement validation to ensure the expected origin does not include port 3100, improving error handling and providing clear guidance for configuration issues. This update aims to enhance troubleshooting and the overall robustness of the registration process.
2026-01-07 22:05:24 +01:00
Torsten Schulz (local)
678a14c004 Enhance WebAuthn origin handling and debug logging for passkey registration
Refine the WebAuthn configuration to ensure that HTTPS origins do not include ports, improving compliance with standards. Add additional debug logging in the passkey registration process to verify the webauthnOrigin and provide guidance for configuration issues, aiding in troubleshooting and enhancing the clarity of the registration flow.
2026-01-07 22:01:28 +01:00
Torsten Schulz (local)
ea233d7211 Refine WebAuthn configuration and enhance debug logging for origin verification
Update the WebAuthn configuration to ensure HTTPS origins do not include ports, improving compliance with standards. Add detailed debug logging in the passkey registration process to verify the actual origin from the client response, aiding in troubleshooting and enhancing the clarity of the registration flow.
2026-01-07 21:54:02 +01:00
Torsten Schulz (local)
c9c01a4db1 Enhance passkey registration process with detailed debug logging and validation checks
Add comprehensive debug logging throughout the passkey registration flow, including request handling, option generation, and verification steps. Implement validation for incoming requests and responses to ensure required fields are present, improving error handling and clarity. This update aims to facilitate troubleshooting and enhance the overall robustness of the registration process.
2026-01-07 21:36:41 +01:00
Torsten Schulz (local)
fa9980ea44 Improve passkey registration error handling and options serialization
Enhance the registration process by adding error handling for the WebAuthn startRegistration method and ensuring the presence of required options. Include debug logging for received options and serialize the options correctly before returning them in the API response, improving robustness and clarity in the registration flow.
2026-01-07 21:30:13 +01:00
Torsten Schulz (local)
5f35a74673 Enhance passkey registration handling with error checks and CORS support
Add validation for server response in the registration process, ensuring the presence of necessary options. Implement CORS headers for cross-device authentication and increase the timeout for registration to 5 minutes. Include debug logging for options structure to aid in troubleshooting.
2026-01-07 21:24:11 +01:00
Torsten Schulz (local)
25870fce9b Refactor CORS header handling in authentication endpoints
Update the CORS header variable name from 'origin' to 'requestOrigin' in both login and registration API endpoints for improved clarity and consistency. This change enhances the readability of the code while maintaining support for cross-device authentication.
2026-01-07 21:02:58 +01:00
Torsten Schulz (local)
f330bc1ca6 Add CORS support for Cross-Device Authentication in passkey handling
Enhance authentication options in the server API by adding CORS headers to support cross-device authentication. Implement handling for preflight OPTIONS requests and increase timeout for registration and authentication processes to 5 minutes, improving user experience and compatibility across devices.
2026-01-07 20:59:48 +01:00
Torsten Schulz (local)
3109c4aada Refactor authentication handling in Navigation and registration components to support lazy store access, improving resilience against Pinia initialization issues. Enhance registration logic to include optional password fallback for passkey users, with validation checks for password strength and confirmation. Update server-side registration to handle optional password securely, ensuring consistent user experience across different authentication methods. 2026-01-07 20:16:17 +01:00
Torsten Schulz (local)
50d634eb2e Implement passkey recovery feature, including email link requests and registration options. Update login and registration pages to support passkey authentication, with UI enhancements for user experience. Add server-side handling for passkey registration and login, including account activation checks. Update environment configuration for passkey recovery TTL settings. 2026-01-07 18:37:01 +01:00
Torsten Schulz (local)
13ea77f554 Refactor deployment script to handle symlinking of public data conditionally based on git tracking status, improving error handling for uncommitted changes. Update PM2 configuration to directly start the Node server for Nuxt 4 production builds in both harheimertc.config.cjs and harheimertc.simple.cjs. Modify user ID handling in registration options to use Uint8Array for compatibility with @simplewebauthn/server. 2026-01-07 18:06:09 +01:00
Torsten Schulz (local)
5ce064cff0 Update Apache SSL configuration and enhance security features across multiple files. Changed X-Frame-Options to SAMEORIGIN for better security, added optional Content Security Policy headers for testing, and improved password handling with HaveIBeenPwned checks during user registration and password reset. Implemented passkey login functionality in the authentication flow, including UI updates for user experience. Enhanced image upload processing with size limits and validation, and added rate limiting for various API endpoints to prevent abuse. 2026-01-05 11:50:57 +01:00
Torsten Schulz (local)
d89cabdd34 Enhance security and error handling in various components by refining error catch blocks to ignore specific errors, improving code clarity and consistency across the application. 2025-12-20 15:05:49 +01:00
Torsten Schulz (local)
3e956ac46b Update path handling comments across multiple files to enhance security against path traversal vulnerabilities, ensuring consistent use of nosemgrep annotations for better code analysis. 2025-12-20 14:49:57 +01:00
Torsten Schulz (local)
db0b0c390a Enhance security by adding role-checking functions in ESLint configuration and updating Vue components to improve content sanitization comments, while refining error handling in API endpoints for better clarity. 2025-12-20 14:19:55 +01:00
Torsten Schulz (local)
fbdb6f6b6f Enhance security by adding DOMPurify comments in Vue components and updating path handling comments in server utilities to mitigate path traversal risks. 2025-12-20 11:15:31 +01:00
Torsten Schulz (local)
8fcb71b946 Enhance content sanitization across various components by integrating 'dompurify' for improved security and update package dependencies in package.json and package-lock.json. 2025-12-20 10:49:20 +01:00
Torsten Schulz (local)
a00ed9723d Refactor error handling in various components to ignore modal display failures and improve code clarity 2025-12-20 10:19:29 +01:00
Torsten Schulz (local)
00922cba19 Implement toggle functionality for Mannschaftsspieler status in Mitgliederbereich. Add button for editing status and update local state upon toggling. Enhance API response handling to include isMannschaftsspieler attribute for user data retrieval. 2025-12-19 10:14:41 +01:00
Torsten Schulz (local)
390b7daefc Update dependencies to include TinyMCE and Quill, enhance Navigation component with a new Newsletter submenu, and implement role-based access control for CMS features. Refactor user role handling to support multiple roles and improve user management functionality across various API endpoints. 2025-12-19 09:51:28 +01:00
Torsten Schulz (local)
55a84b94a0 Enhance Vereinsmeisterschaften and Vorstand pages with image support for players and board members. Implement lightbox functionality for player images in Vereinsmeisterschaften. Update CSV handling to include image filenames for better data management. Refactor components to utilize PersonCard for board members, improving code readability and maintainability. 2025-12-18 13:37:03 +01:00
Torsten Schulz (local)
2dc0bc7d67 Add dotenv package for environment variable management and refactor SMTP credential handling in email services. Enhance error handling for missing SMTP credentials across various API endpoints to improve reliability and maintainability. 2025-12-18 12:19:23 +01:00
Torsten Schulz (local)
0f14bb15fe Add sharp image processing library and update dependencies in package.json and package-lock.json; enhance Navigation component with new 'Galerie' link for improved user navigation. 2025-12-17 17:06:47 +01:00