- Added a link to the new "Subdomain Redirect Configuration" page in `environment-variables.mdx` to enhance user guidance on setting up subdomain redirects.
- Updated the `mint.json` file to include "configuration/subdomain-redirect" in the configuration paths, ensuring it is recognized in the documentation structure.
These changes aim to improve the documentation's comprehensiveness and provide users with clear instructions for configuring subdomain redirects, thereby enhancing the overall setup experience.
- Consolidated the documentation for environment variables in `environment-variables.mdx` by removing duplicate entries for `JWT_TTL` and `JWT_SECRET`, ensuring clarity and reducing redundancy.
- Introduced a new section for PHP configuration environment variables, detailing important settings such as `PHP_MEMORY_LIMIT`, `PHP_MAX_EXECUTION_TIME`, and others, to aid users in optimizing their PHP applications.
- Added a section for database configuration environment variables, providing essential details for connecting the Laravel backend to the database.
These changes aim to enhance the documentation's clarity and comprehensiveness, making it easier for users to configure their environments effectively.
* Integration pages from Notion
* Self hosted domain redirect
* Refactor root-redirect middleware and update 404 page layout
- Simplified the `root-redirect.js` middleware by removing the specific route checks, allowing for a more general redirect based on the `self_hosted` feature flag.
- Updated the 404 error page in `[...all].vue` by removing the unnecessary `NuxtLayout` wrapper and replacing `NuxtLink` with a custom `UButton` for navigation, enhancing the overall layout and user experience.
These changes aim to streamline the redirect logic and improve the presentation of the 404 error page.
* Refactor feature flag handling and update middleware
- Updated the condition in `Navbar.vue` to correctly evaluate the feature flags for rendering the AI form builder link.
- Removed the `feature-flags.global.js` middleware as it was no longer needed, streamlining the middleware structure.
- Enhanced the `root-redirect.js` middleware to utilize `h3`'s `sendRedirect` for server-side redirection, improving the redirect logic.
- Modified the `ai-form-builder.vue` page to include the new `root-redirect` middleware, ensuring proper redirection based on feature flags.
These changes aim to improve the handling of feature flags and redirection logic, enhancing the overall application flow.
---------
Co-authored-by: Julien Nahum <julien@nahum.net>
- Updated the `AuthenticateJWT.php` middleware to conditionally skip IP and User Agent validation based on a new configuration setting, improving flexibility for users with dynamic IPs.
- Added a new configuration option `jwt_skip_ip_ua_validation` in `app.php` to control the validation behavior, allowing it to be set via the environment file.
- Updated documentation in `environment-variables.mdx` to include the new configuration option, ensuring users are informed about its purpose and usage.
These changes enhance the JWT authentication process by providing an option to bypass IP and User Agent validation, improving usability for self-hosted users.
* Add Telegram Notification Integration
- Introduce Telegram Notification integration to the forms configuration.
- Add necessary properties including name, icon, section name, file name, actions file name, and pro status.
This update enhances the notification options available in the application, allowing users to integrate Telegram for notifications.
* Add Telegram integration support
- Updated .env.example to include Telegram bot configuration variables.
- Added the Telegram driver to OAuthProviderService for handling Telegram authentication.
- Created OAuthTelegramDriver class to manage Telegram OAuth interactions.
- Registered Telegram service in services.php with necessary credentials.
- Updated ProviderModal and TelegramIntegration components to support Telegram account connection and widget integration.
- Refactored integration forms to utilize FlatSelectInput for selecting Telegram accounts.
These changes enable users to connect their Telegram accounts for notifications, enhancing the integration capabilities of the application.
* Enhance Telegram integration and refactor settings components
- Added Telegram configuration to FeatureFlagsController for bot and redirect settings.
- Updated nuxt.config.ts to include settings components path for better organization.
- Refactored TelegramIntegration component to navigate to settings on connect.
- Renamed and updated ProviderModal and ProviderWidgetModal for consistency.
- Introduced TelegramWidget component for dynamic loading of the Telegram login widget.
- Refactored access tokens and connections pages to use updated component names.
These changes improve the Telegram integration and streamline the settings management interface.
* Refactor Telegram integration for widget-based authentication
- Updated .env.example to rename Telegram bot configuration variable from TELEGRAM_BOT_NAME to TELEGRAM_BOT_ID.
- Removed the Telegram provider from composer.json to streamline dependencies.
- Enhanced FeatureFlagsController to support new bot_id configuration.
- Implemented handleWidgetRedirect method in OAuthProviderController for handling widget authentication.
- Created WidgetOAuthDriver interface and refactored OAuthTelegramDriver to implement widget-based authentication methods.
- Updated services.php to reflect changes in Telegram configuration.
- Added widget callback route for handling authentication responses.
- Refactored TelegramWidget component to utilize the new widget authentication flow.
These changes improve the Telegram integration by enabling widget-based authentication, enhancing user experience and security.
* Enhance Telegram integration by adding provider support and refactoring data retrieval
- Introduced a new protected property `provider` in `AbstractIntegrationHandler` to store provider information.
- Updated the constructor to assign the provider from `formIntegration`.
- Refactored `getChatId` method in `TelegramIntegration` to utilize `provider_user_id` instead of the removed bot token.
- Adjusted the `shouldRun` method to include a check for `oauth_id` in `formIntegration`.
These changes improve the handling of provider data within the Telegram integration, enhancing its functionality and reliability.
* Enhance Telegram integration by adding MarkdownV2 escaping functionality
- Updated the message text formatting in the TelegramIntegration class to escape special characters for MarkdownV2.
- Introduced a new protected method `escapeMarkdownV2` to handle the escaping of special characters, improving message rendering in Telegram.
These changes enhance the Telegram integration by ensuring that messages are properly formatted for MarkdownV2, preventing potential rendering issues.
* fix pint
* Fix ESLint warning for unused variable in TelegramWidget component
* Remove unused variable declaration in TelegramWidget component to address ESLint warning. This change enhances code quality by adhering to linting rules and improving maintainability.
* Refactor Telegram integration components by removing unused code and improving maintainability
- Removed the 'refresh_token' field from the OAuthTelegramDriver as it is no longer needed.
- Eliminated unused variable declarations and interval logic in the TelegramIntegrationActions component to address ESLint warnings and enhance code quality.
These changes streamline the codebase and adhere to best practices for maintainability.
* Enhance Telegram integration by adding validation messages and improving message formatting
- Introduced custom validation messages for the `oauth_id` field in `FormIntegrationsRequest`, enhancing user feedback during integration setup.
- Refactored message construction in `TelegramIntegration` to utilize an array for building the message text, improving readability and maintainability.
- Updated the `handle` method to include error logging for missing `chat_id` and `bot token`, enhancing error handling and debugging capabilities.
These changes improve the user experience and reliability of the Telegram integration by providing clearer validation feedback and more robust error handling.
* Update environment variables documentation for clarity and consistency
- Reformatted the environment variables table for improved readability by aligning headers and descriptions.
- Added new environment variables for Telegram bot integration, including `TELEGRAM_BOT_ID` and `TELEGRAM_BOT_TOKEN`, to support enhanced notification features.
- Adjusted the warning message regarding Docker commands to improve clarity on environment variable reloading.
These changes enhance the documentation by ensuring that it is clear, consistent, and up-to-date with the latest configuration requirements.
---------
Co-authored-by: JhumanJ <julien@nahum.net>
- Added a warning for Windows users regarding the importance of maintaining LF (Unix-style) line endings in script files to prevent Docker containers from hanging during startup.
- Included instructions for configuring Git to preserve line endings and fixing the artisan script using dos2unix or sed commands.
- Added a note about potential line ending issues that may arise when using Git or code editors on Windows, emphasizing the need for LF line endings in the `artisan` script.
These changes aim to improve the documentation clarity and assist users in resolving common issues related to line endings when deploying with Docker.
- Update environment-variables.mdx with Docker-specific environment variable guidance
- Add environment variable sections to docker-development.mdx and docker.mdx
- Provide instructions for updating environment variables in Docker containers
- Include a warning about properly recreating containers when changing environment variables
Introduce a new environment variable and configuration option to allow users to hide official templates in the template gallery. This provides more flexibility for self-hosted instances of OpnForm.
- Remove Redis, queue workers, and scheduler from development environment
- Update docker-compose.dev.yml with simplified service configurations
- Modify Dockerfile.api to support flexible dependency installation
- Update docker-setup.sh script to use single compose file
- Revise Docker development documentation to reflect new lightweight approach
- Update .dockerignore with comprehensive ignore patterns for API and client
- Modify docker-compose files to improve service configurations
- Enhance Nginx configuration for development and production environments
- Refactor Dockerfile.api with improved build process
- Add docker-setup.sh script for simplified Docker deployment
- Update update-credentials.vue page with improved UI
- Remove hCaptcha dependency from package-lock.json
- Update PHP configuration and entrypoint scripts
* Add build context to compose
Signed-off-by: Daniel Ekman <knegge@gmail.com>
* Update Docker documentation with build instructions
Enhance Docker deployment documentation by:
- Adding detailed instructions for building Docker images
- Providing two methods for image building (Docker Compose and manual)
- Clarifying how to use local images with docker-compose.override.yml
* Add development Docker configuration
Introduce development-specific Docker configuration:
- Create docker-compose.dev.yml for local development setup
- Add nginx.dev.conf with development CORS settings
- Update Dockerfile.api to support environment-specific dependency installation
- Configure development services with appropriate volumes and environment variables
* Improve Docker and Development Documentation
- Remove platform-specific ARM64 constraints in docker-compose.dev.yml
- Enhance Nginx configuration with improved proxy and HMR settings
- Update documentation for development setup and Docker deployment
- Add new Docker development documentation page
- Refactor getting started guide with clearer development instructions
* Enhance Docker configuration and CI/CD pipeline
- Update Docker Compose files with improved service configurations
- Add database healthcheck in docker-compose.yml
- Refactor GitHub Actions workflow for Docker image publishing
- Optimize Dockerfile.api with multi-stage build and environment-specific configurations
- Update Nginx configuration for development and production environments
* Add GitHub Actions permissions for Docker image publishing
Configure GitHub Actions workflow with explicit read and write permissions for content and packages to improve security and clarity of Docker image deployment process
---------
Signed-off-by: Daniel Ekman <knegge@gmail.com>
Co-authored-by: Daniel Ekman <knegge@gmail.com>
* Add build context to compose
Signed-off-by: Daniel Ekman <knegge@gmail.com>
* Update Docker documentation with build instructions
Enhance Docker deployment documentation by:
- Adding detailed instructions for building Docker images
- Providing two methods for image building (Docker Compose and manual)
- Clarifying how to use local images with docker-compose.override.yml
---------
Signed-off-by: Daniel Ekman <knegge@gmail.com>
Co-authored-by: Julien Nahum <julien@nahum.net>
- Updated environment variables table to include reCAPTCHA site and secret keys
- Added front-end and back-end reCAPTCHA configuration variables
- Maintained consistent documentation style with existing entries