Releases: chriscareycode/nagiostv-react
React functional components and hooks code refactor
The React framework which this project is written on top of, has moved to a new component style known as "functional components" with "react hooks". This release is a pretty large refactor of this project from React class components to this new style. Also, with this version this project is moving to using the Recoil state management library for managing state across the application.
New features in this build:
- A new "summary" section up top. This section can show a summary of everything that is down that will always be visible no matter how many items are down. You can disable this in settings if you do not like it and want the old look back.
- Added the ability to quickly choose "how many minutes between checks" on the Dashboard page. You can choose a different polling interval for Hosts, Services, and History/Alerts.
- Automatic scroll feature. Enabling this will cause the page to scroll top to bottom so that all items can be seen even if they are off the screen. This can be enabled via settings or via a new icon in the top menu bar. I would like to expand the feature set for this feature to have options such as "only scroll when there are more than x items" so the page will be still when there are no items down, but start scrolling when a bunch of things are down. A work in progress and I'd like to hear your feedback.
- Animated, smoother page transitions when switching from Dashboard, to Settings, to Update, and Info pages.
- Cleaned up and refined the Settings page
- Cleaned up and refined the Updates page
- Previously Flynn (Doom Guy) would get mad only from Service issues. Now he has access to both Host and Service data so will get mad from either.
- Scroll to Top button - Optimized the scroll detection routine with a debounce. Previously it was running on each pixel moved when scrolling. Now it only fires after a delay when scrolling stops.
- "Stop notifying me about this version" button on the update page. If NagiosTV is advertising that a new version is available, you can choose to "Skip this version".
- Link to Hosts and Services by clicking on Alert History items. Clicking on the host name will take you to the Nagios web UI for the host, clicking on the service name will take you to the service page on the Nagios web UI.
Due to the large amount of change in this version, it is a higher risk upgrade. So please try it out, and monitor the page for reliability. If you encounter any issues with this build such as browser crashing, memory leak, or anything else, please reach out to me and I'd like to get any of these issues nailed down. You can always roll back to the previous stable build via the Update page if you run into issues.
Fix a bug where the Clock was running hot
Not sure how this one happened but I'm glad I found it today. The Clock component was updating every 15/1000 seconds. Way too much. Update the timer to only run every 1s, and refactor it to directly write the Clock HTML to the DOM, bypassing React useState(). This should decrease CPU on the NagiosTV page significantly. Sorry for the wasted CPU cycles.
2021 May release
- Fix a bug with sort order oldest on service items. Make sort order take effect immediately after its changed.
- Bump HighCharts for security fix
- Modify NEMS speaking text to lowercase so it pronounces it better
- Graphical fixes for all-ok-item some-down-items when in large font mode
- Add current_attempt / max_attempts inside the soft badge
- add max_attempts to livestatus.php
Handle connection loss better
- Be a bit more forgiving with connection loss. When fetch fails, it will show a small error symbol and retry. Only if this fails 3 times will it show the connection error message. This will allow the occasional failure fetching data from the server without a huge error message on the screen. In the future I'd like to have it give up completely after a while, or fallback with decay time so it won't keep hitting the server every 15s
- Hide clock on mobile
- Fix JSON formatting on Copy to Clipboard button in settings
- Another fix for hourly chart
Passive checks and multiple comments
- Add better support for Passive checks. It will show last time a check came in instead of "Next check in".
- Add support for multiple comments
- Show Hosts and Services with Scheduled Downtime, even if they are in UP or OK status
Cache busting
- Add serviceWorker cache buster to help clear the cached version
- Disable serviceWorker cache. What a nightmare debugging that. This was causing old version to continue to show after upgrading. Browser cache clear didn't help
- auto-version-switch.php Extra isset() test to help get rid of warning in the logs
- Update.jsx disabled button forced opacity and pointer
- Smoother transition moving from 1 to 0 Host or Service items
- .ServiceItem and .HostItem should have overflow: hidden so when the enter and exit height animations run, they look like they are appearing and disappearing
- Update.jsx - make the upgrade instructions a bit more visible by making them green.
Tooltips, Scroll To Top, CSS fixes, IE11 fixes, React update
- Fix tooltips on the top menu icons
- Rename TopMenu to TopPanel to match the other panel naming
- Add a ScrollToTop component to help you scroll back to the top
- Fix some CSS for filters. Hostgroup filter select, loading spinner remove float.
- Add disabled CSS for update buttons
- Give Top and Bottom menu its own section in the Settings area
- Bump React and React-DOM from 16.4.2 to 17.0.1. Bump react-app-polyfill from 1.0.6 to 2.0.0
- Add IE11 polyfill into index.html - I'd like to get this in a package instead of inline loading script from cdn
- Bigger click area on BottomMenu NagiosTV - use the whole area instead of just the text
- Switch from using grid to flex to center the hamburger menu. IE11 does not like grid.
Fix a few menu issues
- BottomPanel menu visual updates
- CustomLogo and Flynn spacing
- Fix click for available update
- Fix a bug that new BottomPanel menu was open by default
Livestatus fixes. New router. More options. Fixed updater.
- livestatus.php - Fix notifications_enabled, filter out STARTED and STOPPED from alerts
- TopMenu show different icons for sound effects and speak. Add feature to click them to toggle the option
- Switch to using react-router-dom 5 for navigation
- Add filter and charts to the top menu. Make Doom Guy fit better.
- Add settings option to show or hide animated progress bar
- Add settings option to hide top (hamburger) menu
- Add settings option to hide bottom menu
- Fix bug that showed wrong number of hosts UP
- Fix bug showing wrong number of service OK
- Remove hard coded path in AutoUpdate. Oops. Auto Update should actually work now.
- Fix a spacing issue with the clock
Hide the auto update button when version is equal or newer
- If you are running equal or newer to the latest announced version, then hide the auto update button on the update page.