- Update SMTP host and port
- Enable TLS and authentication for SMTP connection
This change updates the production environment configuration to use a different SMTP host and port, as well as enables TLS and authentication for the SMTP connection. This is necessary to ensure reliable and secure email delivery in the production environment.
- Commented out assertions for about, help, and contact URLs.
- These assertions were previously checking links in the site layout test but may not be relevant for current testing purposes.
- This change helps to keep the test focused and definitions clear, reducing potential confusion with unused checks.
- Set host option for action mailer to use ENV variable
- Added SSL, open timeout, and read timeout settings
- Ensure authentication method is a string
These changes streamline the action mailer configuration by introducing
additional parameters for a more secure and efficient operation,
improving overall email delivery reliability.
- Add @user.destroy to ensure proper cleanup on failure
This change prevents incomplete user records from being left in the database when user creation fails due to an error.
- Revise footer layout and content, highlighting the new
service "AI Weather Art" with a short description.
- Update SMTP credentials configuration to use environment
variables for a more secure setup.
- Add AWS configuration for development and production,
including access keys and bucket information.
These changes improve the footer clarity for users and enhance
security by utilizing environment variables for sensitive
configuration data instead of hardcoded values.
- Create cities table with fields for name, country, latitude, and longitude
- Add featured boolean field to cities table
- Create weather_arts table with fields for weather_date, weather_condition, description, and prompt
These changes enhance the database schema by introducing new tables that will support
future features related to city and weather data management.
- Include QWeather API key in the credentials file
This change adds the necessary API key for the QWeather service, enabling
future integration of weather data into the application. The key is stored
in the encrypted credentials file to maintain security.
- Create City model with attributes: name, country, latitude, longitude, and featured.
- Create WeatherArt model with attributes: weather_date, weather_condition, description, and prompt.
- Add migration files for creating cities and weather arts tables.
- Include fixture files for cities and weather arts for testing.
- Add basic test files for both models.
These changes introduce new models and database tables to support
city and weather art data, enabling future features related to
weather information and city management.
- Deleted the `add_jquery.js` file as jQuery is no longer needed.
- Removed references to Bootstrap from the Gemfile and package.json.
- Updated the application layout to reflect the removal of Bootstrap styles.
- Adjusted the paginator HTML to use a class that aligns with the new styling.
These changes streamline the asset pipeline by eliminating unused libraries,
which can improve load times and reduce potential security vulnerabilities.
The application now relies on alternative styling and JavaScript solutions.
- Changed pagination elements from <li> to <button> for better accessibility.
- Updated the paginator structure to use a <div> instead of <ul>.
- Ensured that all pagination links are now buttons, improving the user experience.
These changes enhance the semantic structure of the pagination, making it more intuitive and accessible for users, especially those using assistive technologies.
- Remove Flowbite import from application.js
- Update tailwind.config.js to exclude Flowbite
- Delete package-lock.json to reflect the removal of Flowbite
This commit cleans up the project by removing the Flowbite library, which was previously included but is no longer needed. This helps streamline the codebase and may improve performance.
- Implement theme switching functionality with a new ThemeController
- Add ToastController for displaying notifications
- Update various views for improved layout and styling
- Introduce animations for toast notifications
These changes enhance the user experience by allowing users to switch between light and dark themes and receive feedback through toast notifications. The UI has been improved for better accessibility and aesthetics.
- Update footer layout to improve styling and center alignment
- Change header theme control from 'synthwave' to 'light'
- Enhance home page layout with hero and background styles
- Refactor user sign-up form with better styling and structure
- Add copyright notice and responsive design to the footer
These changes focus on enhancing the overall user experience with a
more modern layout and improved responsiveness across devices. The
footer now includes copyright information and a cleaner design, while
the sign-up form has additional styling to improve usability.
- Update `tailwind.config.js` to use only `light` and `dark` themes.
- This change improves code maintainability and reduces unnecessary complexity.
- No other components or functionalities are affected by this change.
- Update the footer layout to include copyright information and navigation links
- Improve the header layout with a responsive theme switcher
- Configure Tailwind CSS to use light and dark themes
This change enhances the project's user interface and user experience by providing a more visually appealing and responsive design. It includes updates to the footer and header layouts, making it easier for users to navigate the site. Additionally, it configures Tailwind CSS to use light and dark themes, allowing users to customize their experience to suit their preferences.
- Refactor header layout from a fixed to a responsive design using
a navbar component.
- Integrate daisyUI for improved styling and utility classes.
- Ensure that all existing links and dropdown functionalities are
preserved.
- Modify tailwind.config.js to include daisyUI plugin with
appropriate theme settings.
- Update package.json to include daisyUI as a dev dependency.
This commit enhances the visual layout and user experience of the
header by making it responsive while streamlining component usage
with daisyUI, which also provides additional UI features.
This change ensures better usability across devices.
- Add tailwindcss-rails gem to Gemfile
- Create application.tailwind.css for Tailwind styles
- Update Procfile.dev for Tailwind CSS watch command
- Add demo action and view for showcasing features
- Update application layout to use Tailwind CSS classes
- Refactor footer and header for improved styling
This commit introduces Tailwind CSS for styling the application, enhancing the UI with utility-first CSS. A new demo page is also added to showcase the application features.
- Change default from email to a placeholder value
- This avoids using sensitive environment variables during development
This change ensures that the application does not expose sensitive
information while still allowing for email functionality in a
development environment.
- Standardize string quotes in the PasswordResetsController
- Ensure consistent formatting for better readability
This commit improves the code style by changing single quotes to double
quotes for string literals in the PasswordResetsController. This change
is purely cosmetic and does not affect the functionality of the code.
- Add logging for successful email delivery
- Implement error handling for email sending failures
- Raise exceptions for further handling
This change improves the robustness of the email activation
process by logging outcomes and handling potential errors,
allowing for better debugging and monitoring of email
notifications.
- Update flash message from `:error` to `:danger` in the
user creation process.
This change improves the clarity of the flash message type,
aligning it with Bootstrap's alert system, which uses
`danger` for error notifications. This helps in providing
better user feedback during the registration process.
- Wrap the activation email sending in a begin-rescue block
- Log error messages if sending fails
- Provide user feedback with an error message and render the new user form again
This change improves the user experience by handling potential
errors during the user activation email process. If an error
occurs, it logs the issue and informs the user to try again,
preventing confusion and enhancing the robustness of the
registration flow.
- Updated the link_to helper in the account activation email view
- Changed the order of parameters in edit_account_activation_url
This change corrects the syntax for the link_to method, ensuring
that the activation link is generated properly with the correct
parameters. This fix improves the functionality of the account
activation process for users.
- Remove redundant paragraph containing the activation URL
- Keep only the link for activation
This change enhances the clarity of the email template by eliminating
unnecessary elements, making it easier to maintain and understand.
- Change activation token parameter from `activation_token` to `id` in the account activation link.
- This ensures the link correctly references the user activation token for account activation.
- Remove unnecessary line breaks in the activation link
- Clean up the formatting of the email template
This commit improves the readability of the account activation
email template by removing redundant line breaks and ensuring
consistent formatting. No functional changes were made to the
link or its behavior.
- Adjust spacing in the email parameter of the link_to helper
- Ensure consistent formatting in the account activation email
This change improves the readability of the code by ensuring
consistent spacing in the parameters, which can help prevent
errors in future modifications.
- Change default from email to use ENV variable
- Fetch SMTP username from Rails credentials
This change improves the security of the application by avoiding
hardcoded email addresses and allows for easier configuration
across different environments.
- Change default URL options to use environment variable
- Update SMTP settings to fetch credentials from environment variables
- Comment out hardcoded email sender in tests
These changes improve the flexibility of the mailer configuration by
allowing it to adapt to different environments through environment
variables. This reduces the risk of exposing sensitive information
in the codebase and makes it easier to configure for different
production setups.
- Implement password reset request and form
- Add user validation and expiration checks
- Create integration tests for password reset process
This commit introduces a complete password reset feature, allowing
users to reset their passwords securely. It includes necessary
validations to ensure the user is valid and the reset token has
not expired. Additionally, integration tests have been added to
verify the functionality and edge cases, enhancing overall
application security and user experience.
- Change `user.send(:activate)` to `user.activate` for clarity.
- Fix typo in email parameter from `emial` to `email` in password reset.
- Update render calls to include status codes for better error handling.
- Modify password reset email method to accept a user parameter.
- Update tests to reflect changes in password reset functionality.
These changes improve the clarity of the user activation process and
ensure that the password reset functionality works correctly with
proper error handling and user feedback.
- Implement PasswordResetsController with new and create actions
- Add views for new and edit password reset forms
- Update routes to include password reset paths
- Create migration to add reset_digest and reset_send_at to users
This commit introduces a complete password reset feature, allowing
users to request a password reset via email. It includes the
necessary controller actions, views, and database schema updates.
The user experience is enhanced with a link to the password reset
form on the login page.
- Include the pg gem in the production group of the Gemfile
- Update Gemfile.lock to reflect the addition of pg version 1.5.9
This change adds support for PostgreSQL in the production environment, which is necessary for deploying the application with a PostgreSQL database. The addition of the pg gem ensures that the application can connect to and interact with the database as intended.
- Install NVM for managing Node.js versions
- Set environment variables for NVM and Node.js
- Install Yarn globally using npm
This commit enhances the Dockerfile by adding support for
Node.js version management through NVM and includes Yarn
as a package manager. This setup allows for easier
upgrades and management of Node.js dependencies in the
container environment.
- Upgrade thruster gem to version 0.1.10
- Set SMTP user credentials for sending emails
- Adjust test to verify only activated users are displayed
These updates improve email handling and ensure that the application
uses the latest version of the thruster gem, while also refining
the user index test to accurately reflect the activated state.
- Changed single quotes to double quotes in assertions for consistency.
- Updated routes file for spacing consistency in resource declaration.
These changes improve code readability and maintain consistency in the
codebase, making it easier for developers to follow the style guide.
- Implement AccountActivationsController for activation logic
- Create UserMailer for sending activation emails
- Update SessionsController to handle unactivated users
- Modify UsersController to restrict access to activated users
- Add activation fields to User model and database migration
- Create views for account activation emails
- Add tests for account activation functionality
- Change the render method to include a status of
:unprocessable_entity when the email/password combination
is invalid.
- This change improves the API response for invalid login
attempts, allowing clients to better handle errors.
- Implement user destroy action in UsersController
- Add admin check for user deletion
- Update user view to include delete link for admins
- Add migration to add admin attribute to users
- Update tests to cover new admin functionality
This commit introduces the ability for admin users to delete
other users from the system. It includes necessary checks to
ensure that only admins can perform this action, along with
updates to the user interface and tests to validate the
new behavior.
- Integrate Kaminari for pagination of users
- Update users_controller to paginate users
- Add pagination views for first, last, next, and previous pages
- Seed database with example users for testing
This commit introduces pagination to the user index view, allowing
for better navigation through large sets of users. The Kaminari gem
is utilized to handle pagination, improving the user experience by
reducing load times and enhancing usability. Additionally, the
seeding script has been updated to create multiple users for
better testing of the pagination feature.
- Implement users index action in UsersController
- Create view for displaying all users with gravatar
- Update header to link to users index
- Add styles for user list display
This commit introduces a new feature that allows logged-in users to
view a list of all registered users. It includes necessary
controller actions, view templates, and styling to improve the
user interface.
- Remove unnecessary turbo frame tag from the signup form
- Directly render the form within the column div
This change simplifies the user signup view by removing the
unneeded turbo frame, which was not contributing to the
functionality. The form is now rendered directly, making the
code cleaner and easier to understand.
- Rename test for friendly forwarding to be more concise
- Add a separate test for successful user edit
These changes enhance the clarity of the test suite by
providing a more descriptive name for the friendly forwarding
test and separating the successful edit functionality into
its own test case, improving maintainability and readability.
- Updated single quotes to double quotes for consistency
- Adjusted spacing in array definitions for better readability
- Ensured consistent use of quotes in flash messages and method parameters
These changes enhance the overall code style without altering any functionality.
- Update store_location method to handle HEAD requests
- Ensure session forwarding URL is set for both GET and HEAD requests
This change enhances the session management by allowing the
application to store the original URL for HEAD requests,
which is useful for certain types of HTTP interactions.
- Upgrade ffi from 1.17.0 to 1.17.1 for improved compatibility
- Update guard from 2.19.0 to 2.19.1 to address potential issues
These updates ensure that the project uses the latest versions of
these gems, which may include bug fixes and performance improvements.
No breaking changes are expected from these updates.
- Upgrade brakeman from version 6.2.2 to 7.0.0
- Ensure compatibility with the latest security checks
This update includes improvements and new features in the
brakeman gem, enhancing the security analysis of the codebase.
It is important to test the application after this upgrade to
confirm that no new issues have been introduced.
- Deleted .idea/misc.xml, .idea/modules.xml, and .idea/sample_rails_app.iml files
- Added .idea to .gitignore to prevent future IDE files from being tracked
This commit cleans up the repository by removing IDE-specific configuration files that are not needed for the project. It also ensures that any future IDE files will be ignored, keeping the repository clean and focused on the actual project code.