- Change ordering of previous weather art to use 'id' descending
- Change ordering of next weather art to use 'id' ascending
- Remove unnecessary blank line in seeds file
These changes enhance the consistency of the weather art
navigation by using 'id' for ordering, ensuring the
correct retrieval of records.
- Implement previous and next weather art navigation
- Update weather arts controller to fetch adjacent weather arts
- Modify show view to include navigation links
This update enhances the user experience by allowing users to
navigate through weather arts seamlessly. The previous and
next buttons improve accessibility, providing a smoother
browsing experience. The implementation also accounts for
situations where no adjacent weather arts exist, ensuring
clarity for users.
- Remove unnecessary image tag
- Add city name to weather art title
- Improve image scaling effect
These changes aim to enhance the user experience by providing a clearer and more visually appealing representation of the weather art, including the location it represents.
- Change latest weather art limit from 6 to 20
- Shuffle the collection and display the last 10 items
- Update the section title to reflect the shuffling
This commit enhances the visibility of the latest weather art by
increasing the limit of displayed items. It randomizes the selection
of the latest art pieces for a more dynamic user experience, while the
UI title is updated to clarify this feature. This change improves user
engagement with the content.
- Introduce BATCH_SIZE constant to limit processed cities
- Shuffle and limit eligible cities processing to enhance worker efficiency
This update improves the performance of the BatchGenerateWeatherArtsWorker
by ensuring that only a set number of cities are processed within the
allotted time, reducing the risk of timeouts and making the overall
system more responsive.
- Update image link to use original blob instead of a resized variant
- Remove the resizing option for the image tag for better fidelity
- Modify CSS class for a smoother hover effect without scaling issues
This refactor improves the image loading behavior by allowing
full-resolution images to be loaded directly. The previous resizing
was limiting image quality, and this change enhances user experience
when viewing weather art.
- Change button classes from `btn` to `btn btn-xs` for all pagination buttons
- Ensure consistent styling across all pagination elements
These changes standardize the button sizes in the pagination component, improving the visual uniformity. The adjustment enhances user experience by making the pagination buttons more appropriately sized within the interface, without affecting functionality.
- Change import for PhotoSwipeLightbox to 'photoswipe/lightbox'
- Change import for PhotoSwipe to 'photoswipe'
These updates reflect the new module structure of the PhotoSwipe library, ensuring that the controller utilizes the correct paths for improved functionality and maintainability.
- Integrate PhotoSwipe library for enhanced image viewing
- Create PhotoSwipeLightBoxController to manage images
- Register lightbox controller in Stimulus framework
- Update views to include lightbox functionality
- Modify styles to accommodate new design elements
This commit introduces a new way for users to view images with
PhotoSwipe, improving the interactivity of the photo gallery. It
also includes adjustments to the layout and styles for better
presentation and user experience.
- Include actual update time in weather report
- Rename watermark worker file for clarity
This commit enhances the weather data report by
updating the format to include the actual update time
retrieved from the weather service API. Additionally,
the watermark worker file has been renamed to improve
readability and consistency in the naming convention.
- Include the image_processing gem to handle image manipulation
- Create a background worker for adding watermarks to weather art images
- Update WeatherArt model to attach watermark images
- Add a new watermark image asset
This commit enhances the WeatherArt feature by allowing images to
have watermarks added asynchronously, improving the visual
presentation of the art. It ensures sufficient image dimensions
before processing and includes error handling for the worker.
- Implement city status toggle functionality in the Ahoy Dashboard
- Add buttons for activating and deactivating cities
- Update the UI to show the current status of cities
This commit enhances the admin dashboard by allowing
administrators to toggle the activation status of cities.
The buttons provide confirmation prompts before executing
state changes, improving user experience and preventing
accidental actions.
- Delete BatchGenerateWeatherArtsJob which queued jobs for generating
weather art for eligible cities.
- Remove CleanAhoyDataJob responsible for cleaning up old Ahoy events
and visits.
- Eliminate GenerateWeatherArtJob that managed the generation
and attachment of weather art images.
- Drop RefreshSitemapJob which created and uploaded XML sitemaps.
These removals suggest a shift in how these functionalities will be
handled, possibly indicating a move towards a different architecture
or integration with another service.
- Update localized_name method to provide a default value for
missing translations
- Modify timezone display in city show view to show a message
when the timezone is undefined
These changes improve user experience by ensuring that the city
localization falls back to the city name itself if a translation
is not found, and they handle potentially missing timezone data
more gracefully.
- Simplify query for most popular inactive cities in City model
- Minor layout changes in Admin Dashboards for Ahoy and Sidekiq tasks
This refactoring improves code organization, reducing complexity in the City model and making it easier to read. Additionally, the Admin dashboard layouts have been simplified for a better user experience.
- Introduce a new admin dashboard for viewing Ahoy statistics.
- Display total visits, event counts, and unique visitors.
- List most popular and least popular active cities with their visit counts.
- Add a panel for recent events.
- Modify existing dashboard to include a section for inactive cities.
This commit introduces a comprehensive dashboard that helps
admin users monitor the traffic and engagement statistics of
various cities. The changes include functionality to show
active and inactive cities based on their popularity,
allowing for better insights into user engagement across
the application.
- Rename task label from 'Batch Generate Weather Arts' to 'Generate Weather Arts' for better understanding.
- Add a new button for manual task execution of 'BatchGenerateWeatherArts'.
- Update task value in form submissions to be more descriptive, enhancing maintainability.
These changes improve the usability of the Sidekiq tasks management interface, making it more intuitive for users to identify and execute tasks. The renamed button and the clear distinction between tasks aim to reduce confusion and assist in better workflow management.
- Change logging to use Rails.logger.debug instead of
Rails.logger.debugger for better compatibility.
- Remove unnecessary extra lines in the Sidekiq jobs file.
This commit ensures that log messages are recorded efficiently and
with the correct log level, improving logging practices in the
application.
- Replace logger.info with logger.debugger for user agent logging.
- Commented out redundant info logging for blocked browsers.
This change improves the logging detail level for the user agent by
utilizing the debugger log method instead of info, which provides more
context during debugging sessions.
- Commented out the `allow_browser` lines to prevent
disabling access for unsupported browsers.
- This change maintains previous behavior without removing
the code permanently, allowing for future reference.
- The previous implementation was causing issues with
newer browser versions, prompting the need for a review
of browser support policies.
- Add manual task execution buttons for BatchGenerateWeatherArtsWorker, RefreshSitemapWorker, and CleanAhoyDataWorker
- Improve browser blocking functionality in ApplicationController
- Refactor Sidekiq jobs management to include statistics and task execution
- Update various jobs to conform to new standards
This feature allows for more fine-grained control over Sidekiq tasks and improves the overall user experience.
- Change class names from Worker to Job for better alignment
with Rails convention.
- Includes changes in BatchGenerateWeatherArtsJob,
CleanAhoyDataJob, GenerateWeatherArtJob, and
RefreshSitemapJob classes.
This refactoring improves the clarity and consistency of the
codebase by adhering to established naming conventions,
making it easier for new developers to understand the
role of these classes within the application.
- Add menu labels and parents for AdminUser, City, Country, Region, WeatherArt, Ahoy::Event, and Ahoy::Visit.
- Introduce a new page for managing Sidekiq jobs, providing functionality to execute or delete scheduled jobs.
- Adjust batch job for generating weather art by using Sidekiq for improved performance.
- Implement clean-up worker for old Ahoy data and functionalities for refreshing the sitemap.
These changes enhance the administration interface by providing better organization and management tools for backend entities. The addition of Sidekiq jobs management further improves system maintenance capabilities.
- Change query conditions in City model to use the
`properties::jsonb` syntax for compatibility.
- Update WeatherArt model's event counting to reflect
the same JSONB handling for consistency across models.
These changes ensure that the queries correctly access the
JSONB fields in the database, which enhances robustness
when handling different database adapters like Postgres
or SQLite. This fixes potential issues with ahoy events
not being counted accurately due to incorrect property access.
- Change single quotes to double quotes for adapter name check
This change ensures consistent usage of double quotes in the
conditional check for the SQLite adapter. It does not affect
any functionality but improves code readability.
- Introduce new panel in the admin dashboard for displaying
the least popular active cities.
- Implement a database scope `least_popular_active` to
retrieve cities based on their view counts.
- Ensure compatibility with both SQLite and PostgreSQL
for fetching city view data.
This addition enhances the admin dashboard by allowing
administrators to easily identify and manage cities that
are receiving less user interaction, thus aiding in strategic
planning for engagement and promotion.
- Removed unnecessary leading and trailing blank lines in several
ActiveAdmin register files.
- Reformatted string delimiters for consistency, changing single quotes
to double quotes in tracking events in the Cities and WeatherArts
controllers.
- Ensured proper spacing in array definitions across several
models, including Ahoy::Event and Ahoy::Visit.
These changes improve code readability and maintain consistency
throughout the codebase by ensuring uniform use of quotes and
removing excess whitespace.
- Integrate Ahoy gem for tracking user events and visits
- Create models for Ahoy events and visits
- Implement admin interfaces for managing events and visits
- Add background job for cleaning up old analytics data
- Update application controller and other relevant controllers to track specific actions
This commit implements a comprehensive event tracking system that logs user interactions
within the application. Additionally, it includes mechanisms for managing and
cleaning historical visit and event data, ensuring efficient data handling.
Order cities by name instead of filtering active cities. This change simplifies the CitiesController and improves code readability.
- Update City.includes method in CitiesController
- Remove active filter in City.includes method
- Rename page view variables for consistency:
- `busuanzi_value_page_pv` to `busuanzi_page_pv`
- `busuanzi_value_page_uv` to `busuanzi_page_uv`
- `busuanzi_value_site_pv` to `busuanzi_site_pv`
- `busuanzi_value_site_uv` to `busuanzi_site_uv`
These changes improve the readability of the code by removing redundant parts of the variable names. This ensures that variables accurately reflect their purpose without unnecessary prefixes. The functionality remains unchanged.
- Change visibility of busuanzi_container from hidden to default
This change allows page view counts to be visible to users, improving
transparency regarding page engagement metrics.
- Change font size from 'text-sm' to 'text-xs' for better visibility
This adjustment improves the aesthetics of the footer by ensuring that the
text is appropriately sized and matches the overall design of the page.
- Adjust footer padding for improved spacing
- Change visitor and view statistics display to a more concise
format
- Maintain consistent font sizes for better readability
These changes enhance the visual presentation of the footer
while maintaining the functionality of hidden visitor statistics.
- Update footer padding for better spacing
- Add hidden container for site statistics
- Modify display of page and total site statistics
These changes improve the presentation and organization of site statistics, making it easier for users to understand site traffic and engagement.