feat: release candidate v0.59#361
Open
oguzhanbukcuoglu wants to merge 172 commits into
Open
Conversation
- Refactored the FormBase component to streamline context usage by replacing `ctx` with direct references to properties and methods. - Updated slot bindings to enhance readability and maintainability, ensuring consistent access to component data. - Improved the overall structure of the template for better clarity and performance.
- Changed the form component to use `:modelValue` for binding the validation model and added an event listener for `@update:modelValue`. - Introduced a new `noValidation` prop to conditionally bypass validation checks. - Updated the validation logic to respect the `noValidation` prop, ensuring smoother form submission behavior. - Adjusted the validation state watching to track `state.validModel` instead of `state.valid` for improved accuracy.
…os requests - Added CSRF token retrieval and inclusion in axios request headers to enhance security. - Updated form data handling to append CSRF token for FormData and object types, ensuring proper token usage in POST and PUT requests. - Expanded the validateStatus function to include 403 status for improved error handling.
- Introduced OtpInputHydrate class to manage OTP input hydration. - Set default requirement for OTP length to 6. - Implemented hydrate method to manipulate input schema structure for OTP inputs.
…nt isDraft method
… restoration, and preview functionalities
…nsive tests for Revision and HasRevisions traits
- Included 'revisions', 'restoreUrl', and 'previewUrl' in the form data response for enhanced revision handling capabilities.
…n restoration and preview functionality
…on restoration functionality
…views - Introduced `createPreviewComponent` function to generate Vue components for module previews based on field definitions. - Added `FaqPreview.vue` as a specific implementation of the preview component for FAQs.
… and managing revisions
…ew functionality - Added support for displaying and restoring revisions through new dialog components. - Integrated `RevisionsList` for managing revisions within the form.
…ucture - Refactored the SvgIcon component to eliminate the wrapping div, directly using a span for better semantics. - Introduced a computed property for dynamic inline styles based on height and width props. - Updated styles to ensure SVG icons are displayed correctly and responsively. - Scoped styles added for better encapsulation and to prevent style leakage.
…le management - Replaced the HasRoles trait with a new Rolable trait to encapsulate role-related functionality. - Removed deprecated role-related methods and attributes from the User entity for cleaner code. - Introduced global scope and role metadata handling within the Rolable trait. - Updated avatar retrieval logic for improved clarity and performance.
…creation - Updated the argument description in MakeInputHydrateCommand from 'The name of theme to be created.' to 'The name of input to be created.' for improved clarity.
- Added 'default_register_role' to configuration for dynamic role assignment during user registration. - Updated RegisterController and CreateVerifiedEmailAccount trait to assign the role based on the new configuration instead of hardcoding 'client-manager'.
…edirect logic - Replaced direct store commits for opening login modals with a new utility function for full-page redirects on 401 responses. - Introduced `authRedirect.js` to manage login URL resolution and redirection based on server responses. - Updated Inertia interceptors to utilize the new redirect logic for improved clarity and maintainability.
- Introduced HandlesUnauthenticatedInertiaAndAjax trait to manage unauthenticated responses for Inertia and AJAX requests. - Updated AuthenticateMiddleware to utilize the new trait, providing a fallback login URL and improved session handling for intended URLs. - Removed hardcoded login route from HandleInertiaRequests to streamline login URL management.
- Updated the OAuth Google button to use a dynamic route for improved flexibility.
…tion - Introduced a new StepUpChallenge component to handle OTP verification. - Implemented a form for users to input their verification code and a button to resend the code. - Added logic for handling form submission and resending verification codes with appropriate notifications.
…T requests - Enhanced the validateStatus function in the API form module to account for 428 status, improving error handling for precondition requirements in server responses.
…r pagination and data - Added configurable props for last page, current page, and data keys to the useInputFetch hook. - Utilized lodash's get function to safely access nested properties in the response data, improving robustness and flexibility.
…sion - Added logic to handle 428 status responses during form submission, triggering a modal for step-up verification when required. - Refactored the saveForm function to include a submitRequest helper for improved readability and reusability. - Enhanced error handling to manage server responses more effectively, ensuring a smoother user experience.
- Introduced multi-factor authentication (MFA) setup enforcement during login, ensuring users meet security requirements based on their roles. - Added traits for handling MFA authentication and enforcing MFA setup, streamlining the login process. - Updated the LoginController to manage MFA login flows, including handling OTP challenges and user session management. - Implemented middleware for session security and MFA requirements, enhancing overall application security. - Created a notification system for sending MFA codes via email, improving user experience during the login process.
- Introduced methods to add dynamic default and panel middlewares, allowing for flexible middleware configuration. - Enhanced existing middleware retrieval methods to include dynamic middlewares, ensuring unique values are returned. - Refactored middleware-related methods for improved readability and maintainability.
- Introduced a new capabilities management system, allowing for role-based access control through capabilities. - Added step-up verification for enhanced security during sensitive actions, requiring users to verify their identity. - Created new entities, controllers, and requests for managing capabilities and capability routes. - Implemented middleware for handling step-up verification challenges, improving session security. - Updated authentication routes and forms to support multi-factor authentication (MFA) and step-up processes. - Enhanced user experience with dynamic forms and notifications for verification processes.
- Implemented tests for MFA requirements based on user roles and configurations. - Added tests to verify behavior of the email OTP provider regarding Google 2FA columns. - Included tests for field permission checks to ensure proper access control based on user capabilities. - Refactored existing test methods for consistency and clarity.
…authentication support
…ation - Added a new Validator class to align validation message placeholders with Modularity's Translator, converting curly placeholders to colon placeholders for compatibility with Laravel's Validator. - Implemented a registerValidationFactoryResolver method in BaseServiceProvider to utilize the new Validator, ensuring consistent validation message formatting across the application.
…sed variables and comments - Removed hardcoded locale and namespace variables from the getTranslations method to streamline the code. - Eliminated commented-out debug statements to enhance code clarity and maintainability. - Simplified the translation loading process by directly iterating over available locales.
…improved layout - Introduced a 'block' property set to true in the createAccountButtonSlot method, enhancing the button's layout and responsiveness within the authentication form.
- Introduced `SlugInputGenerateController` for generating unique slugs based on input parameters, improving slug management capabilities. - Updated `api.php` to include a new route for slug generation. - Enhanced `HasSlug` trait to support more robust slug activation handling and added methods for normalizing slug request values, ensuring better integration with existing slug functionalities.
…item ID - Modified the getRepositoryItem method to pass the item ID by reference, allowing for direct assignment when retrieving singleton items. This change enhances the method's functionality and improves data handling within the trait.
- Added a new method `applyPreviewRequestLocale` to set the application locale based on request parameters, ensuring consistent language usage during preview rendering. - Refactored the `showView` method to utilize the new locale handling and updated the way the preview view name is determined. - Cleaned up code formatting for improved readability and consistency.
- Introduced three new Vue components: `ParentSegments`, `Promotion`, and `SiteSeo`, enhancing the application's functionality for managing parent segments, promotions, and site SEO settings. - Each component includes breadcrumb navigation, alerts for user feedback, and forms for data input, improving user experience and interaction. - Implemented data handling and API integration for dynamic content management within these components.
…w links - Added new translation keys for bulk import/export functionality, including prompts, statuses, and confirmation messages to enhance user experience during CSV operations. - Introduced signed preview link messages to facilitate sharing and copying of preview URLs, improving usability for users managing previews.
…EO settings - Introduced new translation keys for success, info, warning, and error messages to enhance user feedback. - Added keys related to CMS promotion and site SEO settings, improving clarity and guidance for users during operations. - Included verification step messages to streamline user authentication processes.
…ackage - Added a detailed test plan document outlining current test coverage, identifying gaps, and providing a structured implementation plan to enhance testing for the modularous Vue package. - Included analysis of existing tests, root causes of failing tests, and a phased approach for addressing coverage gaps across components, hooks, and utilities. - Established a framework for improving test utilities and setup to streamline future testing efforts.
…raries - Added new dependencies: `diff`, `grapesjs`, `grapesjs-blocks-basic`, and `grapesjs-preset-webpage` to enhance the application's functionality. - Updated the test coverage command in package.json to include XML reporting for better test result analysis.
- Introduced the `mcamara/laravel-localization` package to enhance localization capabilities within the application. - Updated `composer.json` to include the new dependency and modified `composer.lock` to reflect the changes.
…ence - Commented out navigation entries for CMS promotion, site SEO, and sitemap in the navigation configuration file. - This change prepares the structure for potential future inclusion of these features while keeping the current navigation clean.
- Modified validation messages in the English language file to replace `:attribute`, `:other`, `:value`, and other placeholders with `{attribute}`, `{other}`, `{value}`, etc., for consistency and improved readability.
- This change enhances the localization process by standardizing the placeholder format across all validation messages.
…and Publishable - Introduced three new features in the merges configuration: `addCmr`, `addParentSegment`, and `addPublishable`. - Each feature includes a model, repository, and command option to facilitate the addition of respective functionalities on module routes. - This enhancement improves modularity and flexibility in managing content and segments within the application.
- Set `max_line_length` to `off` for markdown files in the editor configuration to allow for unrestricted line lengths. - This change enhances flexibility in markdown formatting and editing.
- Introduced a new `CONFIG.md` file detailing the layered configuration system of Modularity, including merges, defers, publishes, and app override paths. - Documented core settings, CMS revisions, signed public preview configurations, publish window schedules, currency provider options, and security step-up capabilities. - This addition enhances understanding and usability for developers customizing or debugging the Modularity system.
- Introduced a new `MODULES.md` file detailing the module system, including concepts of module and route activation, module discovery, provider registration, and overall module structure. - This addition enhances understanding of the modularity framework, providing developers with essential information for effective module management.
…ices and CMS routing - Introduced a new `SECURITY_SERVICES_OVERVIEW.md` file that consolidates information on middleware and services related to security and CMS routing. - Documented key components such as `SecurityServiceProvider`, `CanonicalUrlResolver`, and various middleware functionalities, enhancing understanding of security measures and URL handling within the modularity framework. - This addition provides developers with essential insights into the security architecture and routing mechanisms, facilitating better implementation and management.
… and implementation plan - Introduced a new `SITEMAP_PLAN.md` file outlining the requirements and implementation strategy for an automated sitemap system. - Documented key components such as sitemap discovery, URL handling, caching mechanisms, and hreflang support, providing a comprehensive overview for developers. - This addition serves as a foundational guide for future development and integration of sitemap functionalities within the application.
…x to Pinia - Introduced a new `PINIA_MIGRATION.md` file outlining the migration strategy from Vuex 4 to Pinia for state management in Vue 3. - Documented current state, migration phases (short-term, medium-term, long-term), and provided equivalents for Vuex modules in Pinia. - Included a wrapper pattern for easier composable access, enhancing developer understanding and facilitating the migration process.
…e related tests - Updated the `RevisionTest` and `HasRevisionsTest` files to rename the `source_revision_id` field to `source_id` in the database schema and fillable attributes. - Adjusted corresponding test methods to reflect this change, ensuring consistency across the test suite. - Enhanced the `PermissionTest` to include new revision-related permissions: `REVISION_APPROVE`, `REVISION_REJECT`, and `REVISION_RESTORE`. - Added new tests in `RevisionsTraitTest` to validate revision behavior, including handling of pending and rejected revisions. - Introduced new tests in `FilesTraitTest` and `ImagesTraitTest` to ensure proper attachment and detachment of files and media.
…olumn-in-package-features fix(TranslationsTrait): add afterSaveTranslationsTrait method for tim…
…ntation-about-modularous Docs/plan and complete documentation about modularous
- Introduced a new `phpunit.docs.xml` file to configure PHPUnit for documentation-related tests, specifying test suites, environment variables, and coverage reporting settings. - Updated the existing `phpunit.xml` file to exclude the `tests/Docs` directory from the main test suite, ensuring a clear separation of documentation tests.
Feature/add cms module
- Introduced `addIndexAppendsTableItem` method to fetch configuration fields for index appends, enhancing the functionality of the TableItem trait.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Checklist
Types of changes
Description
Related Issue