Releases: 0xarchit/contestSync
Releases · 0xarchit/contestSync
Release list
v1.5.8
Key Features
- Replaced the custom static file server with the standard library's
http.FileServer, enhancing maintainability and leveraging built-in functionality. - Consolidated dual rate limiters into a single implementation, simplifying the rate limiting logic.
Bug Fixes
- While no specific bug fixes were documented, the recent refactor is expected to address potential issues related to previous custom implementations.
Technical Improvements
- Achieved a significant reduction in code complexity with 413 lines deleted across three files, leading to a more streamlined codebase.
- Eliminated the custom
rateLimiterandlruItemstructures in favor of a simplerlocalLimiterandipLimitstructure, enhancing clarity and reducing overhead. - Simplified the logic for managing rate limits by utilizing a single map for tracking IP hits and reset times, resulting in improved performance and readability.
v1.5.7
Key Features
- Introduced a new helper function
isTransientNetworkError, which evaluates error messages to identify transient network issues. This enhancement improves the robustness of error handling in the Kafka consumer.
Bug Fixes
- Updated logging behavior for transient network errors in the Kafka consumer. These errors are now logged as Info instead of Error, minimizing the occurrence of false-positive alerts related to network EOFs and closed connections.
Technical Improvements
- Refactored the
consumeExtractionandconsumeSyncmethods to incorporate checks for transient network errors prior to logging. This change streamlines the logging process and enhances clarity in error reporting. - Added 22 lines of new code to implement the updated logging logic and the new helper function, while removing 2 lines of outdated error logging to maintain code quality and efficiency.
v1.5.6
Key Features
- Implemented handling for HTTP 410 Gone status during event deletion in the API, improving the robustness of the deletion process.
- Introduced throttling for deletion calls to prevent excessive requests, enhancing system stability.
- Enhanced user login flow to queue initial synchronization only if the user has associated platforms, optimizing the user experience.
- Restored functionality for cancelled events during synchronization conflicts, ensuring accurate event management.
- Integrated GSAP, ScrollTrigger, and Lenis animations into the frontend application, elevating the user interface.
- Updated Content Security Policy (CSP) to include new domains for analytics, strengthening security measures.
Bug Fixes
- Fixed the account deletion process to ensure proper cleanup of calendar events, preventing data inconsistency.
- Addressed issues with old contests pruning in the backend, ensuring that outdated data is managed effectively.
- Corrected session handling to guarantee a new session is created if the existing one is corrupted, enhancing session reliability.
- Adjusted rate limiting for manual sync requests to allow for more frequent operations, improving user interaction.
Technical Improvements
- Simplified session checks in the account deletion handler, streamlining the deletion process.
- Refactored the Google callback handler to enhance the efficiency of user insertion and platform retrieval.
- Relaxed rate limiting parameters to improve the overall user experience during synchronization.
- Cleaned up code related to security audits, including adjustments to middleware for CSP, enhancing security compliance.
- Improved overall code structure and readability by removing unnecessary comments and consolidating logic, facilitating easier maintenance and future development.
v1.5.5
Key Features
- Introduced a new bundler for optimizing website assets, enhancing overall performance.
- Implemented Gzip compression for static files in the API, resulting in improved load times and reduced bandwidth usage.
- Updated the project structure by relocating static files to a new
srcdirectory, facilitating better organization.
Bug Fixes
- Adjusted various HTML files to ensure proper rendering and functionality across different browsers.
- Resolved issues in
style.cssandapp.js, leading to enhanced overall website performance.
Technical Improvements
- Reorganized the project structure by moving files from the
staticdirectory tosrc, improving maintainability and clarity. - Updated
vite.config.jsto support new bundling and optimization strategies, enhancing build efficiency. - Cleaned up code in
static.goto include Gzip content handling and improve the StaticFile struct.
Overall, this release includes 409 insertions and 108 deletions across 17 files, reflecting significant updates and optimizations.
v1.5.4
Key Features
- Introduced an option to delete Google Calendar events asynchronously during account deletion, enhancing user control over data management.
- Enhanced the user interface for account deletion by implementing confirmation prompts and error alerts, improving overall user experience and reducing the likelihood of accidental deletions.
Bug Fixes
- Resolved issues related to static checkbox binding in the delete account UI, ensuring consistent behavior across different scenarios.
- Improved the handling of confirmations and error alerts during the account deletion process, providing clearer feedback to users.
Technical Improvements
- Streamlined the code for the delete account UI in
app.js, removing redundant elements and improving the overall structure for better maintainability. - Updated the API handler to support the new feature for deleting Google Calendar data, including necessary adjustments to database queries for retrieving calendar IDs, enhancing performance and reliability.
v1.5.3
Key Features
- Implemented immediate account deletion functionality triggered by an
invalid_granterror. - Refactored event IDs to leverage
google_idfor improved consistency. - Introduced logging for contest telemetry within the Kafka queue handling process.
Bug Fixes
- Addressed edge cases in OAuth error handling, reducing the risk of nil pointer exceptions in the Syncer.
- Enhanced error handling in the SyncUser method to ensure accurate logging and appropriate return values.
- Resolved Content Security Policy (CSP) issues in middleware, leading to better compatibility with proxy servers.
Technical Improvements
- Refactored the SyncUser method to streamline error handling and enhance code clarity.
- Improved the structure of the CSP header in the middleware, resulting in better readability and maintainability.
v1.5.2
Key Features
- Updated navigation links across multiple HTML files to utilize cleaner URL paths, enhancing user experience and accessibility (e.g.,
about.htmlhas been changed toabout).
Bug Fixes
- Replaced inline JavaScript event handlers with CSS hover styling, improving separation of concerns and overall maintainability of the codebase.
- Corrected the redirect path in the
GoogleCallbackfunction from/preferences.htmlto/preferences, ensuring proper navigation.
Technical Improvements
- Cleaned up HTML files by removing inline styles and replacing them with CSS classes, leading to better styling management.
- Consolidated and optimized the structure of HTML files, resulting in a significant reduction of inline code and improved readability.
- Enhanced the CSS file to support new hover styles, contributing to a more consistent design across the application.
Code Changes Summary
- A total of 292 insertions and 65 deletions across 8 files, indicating a substantial update to both functionality and code organization.
v1.5.1
Key Features
- Enhanced the
verifyHCaptchafunction to ensure proper encoding of the hCaptcha verification POST form body by utilizingstrings.NewReader. This change improves the reliability of the request body serialization.
Bug Fixes
- Resolved an issue by removing the redundant assignment of
req.PostForm, streamlining the request preparation process and eliminating unnecessary code.
Technical Improvements
- Updated the
http.NewRequestWithContextfunction to directly incorporate the encoded form data into the request body, enhancing the clarity and efficiency of the code. - Adjusted import statements to include the
stringspackage, facilitating the new functionality introduced in theverifyHCaptchafunction.
v1.5.0
Key Features
- Enhanced integration of hCaptcha by updating the Content Security Policy (CSP) to support necessary scripts, styles, frames, and base64 fonts.
Bug Fixes
- Corrected the CSP in
middleware.goto includehttps://hcaptcha.comand its subdomains in the directives for script-src, style-src, font-src, img-src, and connect-src, ensuring proper functionality of hCaptcha components.
Technical Improvements
- Made a targeted modification in the
SecurityHeadersMiddlewarefunction to improve compliance with security policies related to hCaptcha integration.
v1.4.9
Key Features
- Implemented strict rate limiting on admin routes to enhance security for password headers, ensuring better protection against potential abuse.
- Integrated hCaptcha preference verification along with early fallback rate limiting to improve user experience and security.
Bug Fixes
- Resolved CodeQL warnings related to integer conversion in the database initialization code, enhancing code quality and reliability.
Technical Improvements
- Cleaned up and refactored the test code in
middleware_test.go, resulting in improved readability and maintainability. - Refactored the main server file to group admin routes under a rate limiting middleware, promoting better organization and clarity in the codebase.