- Introduced `image_alt` method in the WeatherArt model
- Updated image tags in views to use the new method for alt text
- Ensured consistent and descriptive alt text for better accessibility
This change improves the overall usability for screen readers and helps maintain a standard format for alt descriptions across various components in the application.
- Introduced alt text for featured weather art images
- Added descriptive alt attribute to improve accessibility
- Enhanced SEO and user experience for image content
This change improves the accessibility of weather art images
by providing descriptive alt text. This helps visually impaired
users and enhances the website's SEO performance.
- Include a link to the Turbo0 webpage
- Add an image badge indicating the listing
This change enhances the visibility of the listing
for the application on Turbo0, promoting user
engagement and providing proof of the application's
presence on external platforms.
- Change the top margin to mt-12 and bottom margin to mb-12
- Adjust the container class for a more balanced spacing
These changes enhance the visual appearance of the home page by
providing a consistent layout, improving overall user experience.
- Restructure home page layout for better visual appeal
- Add links to sponsorship badges for ImgLab and Product Hunt
- Ensure buttons are styled consistently with updated classes
These changes improve the user experience by providing a more attractive and informative layout. The addition of sponsorship badges also helps in promoting partnerships.
- Introduced constant MODELS for managing model names.
- Updated the `generate_image` method to switch between FLUX and DALL-E 3.
- Added `generate_image_dalle` and `generate_image_flux` methods for respective API calls.
- Enhanced prompts for image generation across both models, ensuring correct message construction.
This update enables users to generate images using different AI models dynamically, allowing for flexible integration and improved user experience. The handling of errors now falls back to the DALL-E model if the FLUX API fails.
- Commented out the block that schedules the RefreshSitemapWorker
- This change was made to temporarily disable the startup task
- Maintains existing code structure without loss of functionality
- Update the prompt to specify generating a highly detailed and
photorealistic image for a specific weather moment.
- Enhance clarity regarding the scene's inspiration by retaining
context about the city, state, country, and region.
This change refines the AI generation process by focusing on
particular weather moments, improving the output's relevance and
detail, which could lead to a better user experience.
- Update prompt structure to enhance clarity and detail.
- Include specific requirements for realism and aesthetics in the images.
- Emphasize photorealistic elements, lighting, and composition rules.
These changes enable the AI to produce more accurate and visually appealing images based on weather conditions and city characteristics. It improves the instructions given to DALL-E, ensuring detailed and realistic output.
- Introduced site name and descriptions in Arabic, Bengali, German, Spanish,
French, Hindi, Croatian, Italian, Japanese, Korean, Polish, Portuguese,
Russian, Turkish, Ukrainian, Urdu, and Chinese.
- Added keywords for better SEO and user discoverability.
This update improves the website experience for non-English speaking
users and reflects our commitment to accessibility and inclusivity.
All language files now contain appropriate semantic content for
social media previews and search engines.
- Implement meta tags in ArtsController, CitiesController, HomeController, and WeatherArtsController for better SEO.
- Use translation helpers for titles, descriptions, and keywords to improve internationalization support.
- Update default meta tags in ApplicationHelper for consistent site-wide SEO.
These changes enhance the search engine visibility of the application by providing relevant meta information across various pages. Utilizing translation for these fields promotes better support for multiple languages, aligning with localization efforts.
- Implement default_meta_tags method in ApplicationHelper
- Refactor application layout to utilize default_meta_tags
This change improves SEO by centralizing the meta tags configuration. It
ensures consistent metadata across the application while reducing
repetition in the layout files.
- Change title format to include city and country names
- Comment out default title setting to avoid fallback
This update enhances the title tag used in the meta data of
city pages, providing better search engine optimization by
including both the city name and its country. The change
also comments out the default title with a fallback to avoid
showing an incorrect title when the city details are not
available.
- Change URL path from '/weather_arts/' to '/weather/' to better reflect
the content type.
- Enhance code readability by making URL structure more intuitive.
This change improves the clarity of the URLs generated for
weather art and aligns better with the overall naming conventions.
- Update the URL generation logic to reflect the new
route format.
- Ensure that the URLs for different locales now point
to the correct weather arts resource.
This change fixes an issue where URLs could lead to
incorrect endpoints, improving the functionality of
image attachment processing.
- Changed URLs to use city slugs instead of IDs
- Updated corresponding URLs for weather arts to use slugs
This change ensures that the URLs are more readable and maintainable
by using slugs rather than numerical IDs. It improves SEO and
user experience when accessing city and weather art pages.
- Change description for the submit_indexnow job from
"Refresh sitemap daily" to "Submit Indexnow daily".
- Description modification improves clarity on job function.
- This adjustment does not affect job scheduling or operations.
- Update INDEXNOW_KEY value to a new key.
- Remove the old key file (339ecd3e9cf648c29b767f5673329e48.txt).
- Create a new key file (79701a0df5814ed387163513269fd4dd.txt).
This change is necessary due to the rotation of the indexing key. The
old key is no longer valid, and the update ensures continued
functionality with IndexNow services. All references to the old
key have been removed to avoid confusion and ensure that the
new key is correctly used in the worker.
- Deleted KeyVerificationController to simplify the application
- Adjusted order of endpoints in SubmitToIndexnowWorker
- Removed key verification route that was previously handled by the controller
- Added new static text file for key verification instead
This change streamlines the key verification process by removing unnecessary code and implementing a simpler method using a text file.
- Updated submit_urls method to accept a host parameter.
- Modified the submit_urls call in each_slice to pass the host.
- Added keyLocation to the data hash using the host.
This change allows for more flexible URL submissions with hosts
specific to the IndexNow API requirements. The host is now a
parameter, improving the configurability of the submit process.
- Make the `perform` method accept an optional parameter for recent updates
- Log the number of URLs submitted to IndexNow
- Introduce a new scheduled job for submitting URLs to IndexNow daily
This commit enhances the functionality of the `SubmitToIndexnowWorker` by allowing
it to be triggered via a scheduled job. It also adds logging for better monitoring
of submissions, improving traceability and performance in sitemap management.
- Modify the collect_urls method to accept a recently_updated
parameter for filtering.
- Update the queries for City and WeatherArt models
to only include records updated after the specified time.
- This change improves the efficiency of URL collection by
ensuring that outdated entries are not submitted, thus
aligning with IndexNow requirements.
- Implement KeyVerificationController to handle ID-based key verification.
- Create SubmitToIndexnowWorker for background processing of URL submissions.
- Add routes for key verification and extend functionality of URL submissions to IndexNow.
This commit enhances the application by allowing for verification of API keys and automatic submission of URLs to multiple endpoints, improving SEO and resource accessibility.
- Comment out the popular weather art rendering and related titles in
the home index view.
- Keep the latest weather art section active for display.
This change removes sections of code related to popular and random
weather art, which are not currently in use, while preserving a
clean interface for the latest weather art.
- Deleted LA_COLLECT script and initialization code
- Removed any references to unused analytics resources
These changes clean up the application layout by removing
scripts that were no longer in use, potentially improving
load times and reducing unnecessary code complexity.
- Update brakeman gem from version 7.0.0 to 7.0.2
- This update includes security fixes and performance improvements.
Keeping gems up to date helps maintain security and improves overall
performance of the application.
- Include SDK script for user activity collection
- Initialize SDK with specific IDs
This change integrates a data collection tool into the
application, allowing for improved tracking of user
interactions. The SDK will help gather actionable insights
for enhancing user experience.
- Removed unnecessary div wrappers from the wiki data badge
- Cleaned up the code for better readability
This change enhances the markup simplicity without affecting the functionality,
ensuring the badge displays correctly while maintaining the same styling.
- Change badge class from 'badge-ghost' to 'badge-info'
- Adjust the badge to have a softer appearance
This update improves the visual clarity of the wiki data badge, making it
more consistent with the overall design while ensuring the functionality
remains unchanged.
- Wrap badge content in a div for better layout.
- Maintain existing functionality and styling while improving structure.
This change enhances the HTML structure of the wiki data badge by
encapsulating the link in a div element, which aids in layout
management without altering the way the component functions or
displays.
- Updated rendering syntax in 'show' view for cities
- Updated rendering syntax in 'show' view for weather arts
These changes ensure that the 'wiki_data_badge' partial is rendered
correctly in both views, improving the consistency of the code
and fixing potential display issues caused by the previous syntax.
- Replace inline wiki data badge code with a render call to a new
shared partial.
- This change promotes code reuse and simplifies the view
templates for cities and weather arts.
- The shared partial handles the condition for displaying the badge
based on the presence of `wiki_data_id`.
This refactor enhances maintainability and adheres to DRY
principles, allowing for easier updates or changes to the wiki
badge display in one location instead of multiple views.
- Add translation for 'wiki_data' in Arabic
- Add translation for 'wiki_data' in Bengali
- Add translation for 'wiki_data' in German
- Add translation for 'wiki_data' in English
- Add translation for 'wiki_data' in Spanish
- Add translation for 'wiki_data' in Persian
- Add translation for 'wiki_data' in French
- Add translation for 'wiki_data' in Hindi
- Add translation for 'wiki_data' in Croatian
- Add translation for 'wiki_data' in Italian
- Add translation for 'wiki_data' in Japanese
- Add translation for 'wiki_data' in Korean
- Add translation for 'wiki_data' in Polish
- Add translation for 'wiki_data' in Portuguese
- Add translation for 'wiki_data' in Russian
- Add translation for 'wiki_data' in Turkish
- Add translation for 'wiki_data' in Ukrainian
- Add translation for 'wiki_data' in Urdu
- Add translation for 'wiki_data' in Chinese (Simplified)
This update provides localized support for the term 'wiki_data' across multiple languages, improving user experience and accessibility in international environments.
- Include a link to the city's WikiData page if available
- The link opens in a new tab and has a tooltip for better user experience
This change enhances the city details page by providing
users with easy access to additional information about the
city on WikiData, improving overall user engagement
and knowledge access.
- Wrap image_tag calls in begin-rescue blocks to catch loading errors
- Log any exceptions to Rails logger for better debugging
- Provide user feedback with a placeholder when images fail to load
These changes improve the robustness of the application by ensuring that errors do not cause disruptions in the user interface.
- Implemented error handling for image loading to prevent application
crashes when an image fails to load.
- Added logging to capture the error message when an image cannot be
displayed.
This change improves the reliability of the image display feature on
the home page, ensuring that users are not met with a broken layout
if an image fails to load.
- Create a download card component for weather arts
- Include options for premium purchase, medium quality, and a free WebP version
- Ensure proper layout and styling for the download options
This addition enhances the user experience by providing a clear
and organized way to download various versions of the weather
art. It also includes functionality for both paid and free
options, addressing different user needs.
- Moved weather art creation inside the transaction block
- Updated variable names for clarity
- Ensured the transaction block manages the creation and attachment of images more clearly
This refactor improves the readability and maintainability of the
`create_weather_art` method while preserving its original
functionality. The changes also ensure that the transaction
affects the creation and attachment operations coherently.
- Update AWS S3 adapter configuration to set the
access control list (ACL) to private for both
production and development environments.
- This ensures that the sitemap files are not publicly
accessible and are only retrievable by authorized
users or applications, improving security.
- Switch to the new s3 endpoint for improved access
- Comment out the previous internal endpoint for clarity
This change updates the s3 endpoint to ensure proper
connection and compatibility with the service. The
internal endpoint is commented out to avoid confusion.
- Change bucket name from today-ai-weather-hk-dev to
today-ai-weather-dev-hk
- Update the configuration for easier understanding and
consistency
This update modifies the S3 bucket name used in development
settings, improving clarity and aligning with naming
conventions.
- Change the AWS S3 region from Hong Kong to Shanghai for
both production and development environments.
- Update bucket names to reflect the new region.
- Modify the endpoint URLs to align with the new settings.
These changes ensure that the application interacts with the
correct resources in AWS and maintains compatibility with
services hosted in Hong Kong.
- Comment out the previous development database URL
- Implement a new PostgreSQL URL for production use
This change updates the database connection settings to ensure
that the application connects to the appropriate database in
different environments. Commenting out the old URL helps
prevent accidental usage while retaining it for reference.
- Modify AWS credentials to use 's3' instead of 'minio' for both production and development environments.
- Update associated initializers, environment configurations, and sitemap generator settings.
- Simplify the configuration retrieval by aligning with new standards for S3.
These changes ensure consistent access to AWS S3 resources and improve maintainability by aligning with updated environment variable practices.
- Ensure created weather art is deleted if an error occurs
- Log detailed error messages for better debugging
This change improves the stability of the weather art
generation process by ensuring that failed operations
release resources properly, preventing potential
memory leaks or database clutter.
- Moved image processing to after the weather_art assignment.
- This change guarantees that the webp and preview images are processed before returning the weather_art object.
- Resolves potential issues where image processing wouldn't occur if the returned value wasn't properly assigned initially.
- Add processing for webp_image and preview_image
This fix ensures that both webp and preview images of the weather art
are processed correctly after generation, resolving issues related to
image availability in the system.
- Wrap image tag with begin-rescue to catch errors
- Display fallback message when image fails to load
- Log error messages to Rails logger for debugging
This change improves the robustness of the image loading
feature in the arts view by handling potential exceptions
when loading images. Users will see a placeholder message
if the image fails to load, enhancing user experience and
ensuring that the application does not crash due to unhandled
image load errors.
- Increase MAX_DURATION to allow longer processing time.
- Double SLEEP_DURATION to reduce server load between runs.
- Raise PER_RUN_GENERATION_LIMIT to improve throughput.
These changes enhance the performance of the weather arts generation
job by allowing longer intervals and reducing the frequency of
interruptions while also accommodating additional requests per run.