File icingadb-web.changes of Package icingadb-web
------------------------------------------------------------------- Wed Mar 26 17:59:50 UTC 2025 - ecsos <ecsos@opensuse.org> - Update to version 1.1.3: * Raise version to 1.1.3 * Update CHANGELOG * action-list: Add method doc * action-list: Deselect `dashboard` items when not in detail url * action-list: Take items with css propery `display:contents` into account * DbResourcePage: Avoid showing a default charset for pgsql * Catch `\Throwable` when utilizing hooks * phpstan: Update standard baseline * CheckStatistics: Fix incorrect check interval detection * Try even harder to not fail badly if some results are missing * VolatileStateResults: Properly handle missing host details * phpstan: Update standard baseline * doc: Mention the new `plugin_output_character_limit` setting * doc: Re-format and re-phrase settings documentation * event|host|service: Allow to configure pluginoutput limit * Phpstan: Update baseline files * PluginOutputTest: Migrate tests from monitoring/PluginOutputTest * PluginOutput: Add method return type and visibility to constants * PluginOutput: Remove `processHtml()` method * `PluginOutput::render()`: Shorten the output by characterLimit before processing it * UserDetail: add missing information (#1031) * FlattenedObjectVars: Only avoid relation traversing... * JsonResultSetUtils: When query offset is null, Use 0 as default * phpstan: Update standard baseline * servicegroups: Preserve filters in details * hostgroups: Preserve filters in details * ObjectSuggestions: Support more base filters than restrictions * css: Ensure compatibility with ipl v0.14.2 * Update 01-About.md ------------------------------------------------------------------- Wed Mar 26 17:59:23 UTC 2025 - ecsos <ecsos@opensuse.org> - Update to version 1.1.2: * module.info: Raise version * Update CHANGELOG.md * Don't speak of `Icinga (DB) Redis` * Docs: Account Redis' trademark policy * Servicegroupsummary: Add `name_ci` as search column * Hostgroupsummary: Add `name_ci` as search column * phpstan: Add separate workflow * php: Remove phpstan and upgrade actions/checkout * phpstan: Update baselines * ObjectsCommand: Don't accept generators anymore * CommandForm: Don't pass generators to commands * CommandForm: Expect `Iterator` in method `getCommands()` * CommandForm: Ensure `getCommands()` is passed an `Iterator` * test: Command transmission fallback handling * FlattenedObjectVars: Force processing to finish early * Update phpstan baselines * CsvResultSetUtils: Query results in bulk.. * JsonResultSetUtils: Query results in bulk.. * Controller: Properly reset the default query limit during exports * Use separate result sets when exporting hosts/services * Transfer implementation of JsonResultSet and CsvResultSet to separate traits * Transform custom variable filters as late as possible * ui: Do not show okay states as handled if the object is unreachable * Controller: Serve JSON if accepted * configuration.php: Only provide permitted search urls * ServicegroupSummary: Support `name_ci` in quick searches * Hostgroupsummary: Support `name_ci` in quick searches * ProblemsBadge: Don't return a string where only integers are expected * Action: Don't attempt to resolve macros without an object * Macros: Log the object where a macro is not found * UrlMigrator: Drop filter editor parameters * UrlMigrator: Don't use all available options if none match * ObjectDetail: Increase output length limit to 10000 * PluginOutput: Limit length to 1000 by default * phpstan-baseline-standard: Update with v1.10.63 * CommandActions: Only respond with JSON if it's an API request * Add document for the configuration of the IcingaDB-Modul (#971) * action-list.js: Update the history explicitly when closing col2 * migrate/search-url: Prevent further false-positives * Only qualify base columns during quick searches * phpstan: Update baselines * Some more fixes to make phpstan happy * Model: Fix `@property` annotations * Phpstan: Create php version based baseline * Update phpstan baseline * Fix some issues found by phpstan * Fix phpstan's method call on null error * Models: Add property type hints so that phpstan can scan correctly * phpistan: Streamline vendor file location with local dev-env ------------------------------------------------------------------- Wed Mar 26 17:58:54 UTC 2025 - ecsos <ecsos@opensuse.org> - Update to version 1.1.1: * module.info: Raise version * Update CHANGELOG.md * php: Also test on version 8.3 * CheckStatistics: Don't attempt to visualize next checks.. * doc: Mention the new migration commands * migrate: Document the `--no-backup` switch for the `filter` subcommand * migrate: Also backup roles * migrate: Improve documentation * migrate: Enhance logging * migrate: Simplify error logging * migrate: Don't crash just because a directory does not exist * migrate: Also transform/migrate menu items * migrate: Avoid false-positives * test: Add case for the new migrate command * migrate: Also migrate legacy macros in navigation items * migrate: Fix that preference items are checked instead of shared ones * migrate: Always render relative urls * migrate: Preserve framework params during dashboard migration * migrate: Don't decode entire urls * migrate: Add `filter` sub command * cli: Require mandatory params as early as possible * cli: Add migrate command * migrate: Fix incorrect search url migration * ObjectInspectionDetail: Render invalid states * host/services: Make sure severity sort orders the same as anywhere else * Update phpstan-baseline.neon * CheckStatistics: Fine tune execution start layout rules * CheckStatistics: Don't cut off execution start on small screens.. * CheckStatistics: Don't cut off execution start on small screens * action-list.js: Properly suspend auto refresh of a list's container * action-list.js: Fix dashboard support * action-list.js: Properly restore selected items * CheckStatistics: Show a check interval of zero * CheckStatistics#assembleBody(): avoid divisions by 0 * README.md: Fix badge urls * Macros: Properly support `CompatHost` and `CompatService` * Don't use customvar values from `customvar` table other than for empty `array` & `dictionary` * Raise version to 1.1.0 * Update requirements * Update AUTHORS * Update .mailmap * Update CHANGELOG * doc: Add upgrading notes for v1.1 * Rename default branch to `main` * doc: Add chapter `Automation` * Enhance package installation & configuration docs * ObjectDetail: Don't try to group the user query if it's not there * Transform compat `action` & `notes` url macros automatically * migrate.js: Decode container urls with `decodeURIComponent` * Revert "migrate: Fix false positives once more" * Controller: Preserve only selected search request parameters * IcingaRedis: Don't throw in method `isUnavailable` * migrate: Properly override url params * js: Fix broken autorefresh of col2 * Update phpstan baseline config * Use `ipl\Web\EmptyStateBar` where applicable * X509\Sni: Cleanup some codes * X509\Sni: Ping DB connection before using it * DetailsActions: Only add `data-action-item` attr if list is an `.action-list` * (Hosts/Services)Controller: Do not make object list in detail view controls an `.action-list` * action-list.js: Only add footer for list in `.content` * Utilize `ipl\Web\Url::setFilter()` where applicable * JsonResultSet: Extend `VolatileStateResults` * CsvResultSet: Extend `VolatileStateResults` * VolatileStateResults: Fetch individual redis results.. * CommandActions: Respond with JSON if requested * CommandForm: Don't add a submit button and CSRF token.. * Forms: Don't `autocomplete` password elements * IcingaDbWizard: Update the module requirements * IcingaDbWizard: Read required library versions from `Module` class * Remove not in use code * Move inline css to the style element to provide `csp` * Avoid using inline style * Add missing argument type hint declaration * Use `addHtml()` instead of `add()` where applicable * Add missing return type declaration * Add missing property type hints * StateListItem: Use only one return statement in a method * Utilize widgets moved to ipl-web * Fix failed to resolve reversed `host/service` -> `comment` relations * PHPStan Baseline: Remove fixed phpstan errors * Add unit tests for invalid performance data evaluation * Do not evaluate invalid performance data * State: Add phpDoc for properties and update phpstan baseline * Github Actions: Do not cancel further tests if one fails * Phpstan: Set level to max and add baseline file * UrlMigration: Remove unnecessary empty check * Controller: `PrintableHtmlDocument::setTitle()` expects string as param * CustomVarTable: Import missing class `Closure` * BaseHistoryListItem: Fix false positive * Sni: Add variable type hint * Add variable type hint to `Icinga::app()`'s returned object * PerfData: Fix method name case * Create(Hosts/Services)SlaReport: Fix method name case * State: Add missing abstract methods * PerfDataTable: Respect given $limit * PerfDataTable: Simplify the code * PerfDataTable: Use strict comparison * PerfDataTable: Don't iterate unnecessarily * PerfDataTable: Remove unnecessory property `$containsSparkline` * PerfDataTable: Remove unnecessary loop and $columns[] variable * ObjectSuggestion: Fix incorrect variable type hint * Sni: Fix incorrect method name case * SlaReport: Fix `Variables '$interval, $boundry, $format' are probably undefined` * (Object(s)DetailExtension/ObjectAction)Hook: Fix incorrect var name in phpDoc * ConpatObject: Fix method name case * IcingaRedis: Call private static methods with `self` instead of `static` * IcingaRedis: Fix incorrect PhpDoc * HostsController: Check `! $compact` as in `ServicesContoller` * Models: Fix method name case * PerfDataTable: Remove unnecessary `if` condition, $col is always set * ObjectDetail: Fix `Variable '$userQuery' is probably undefined` * DowntimeCard: Add `$start, $end` explicitly as non-dynamic property * (Grid/View)ModeSwitcher: Fix `Variable '$active, $inactive' are probably undefined` * VolatileStateResults::current(): Add required attribute #[\ReturnTypeWillChange] * CustomVarRendererHook: Remove not used param $object * (Csv/Json)ResultSet::current(): Add phpDoc * UrlMigration: Fix `Variable '$modalPath, $exprRule' are probably undefined` * CommandActions: Fix `Variable '$form' is probably undefined` * RedisConfigForm: Fix `Variable '$pem' is probably undefined` * Github Actions: Add PhpStan * Use `ipl\Stdlib\iterable_value_first` to access the first item.. * Deprecate `StateBadge` class again * ObjectInspectionDetail: HtmlElement param#3 expects ValidHtml * ObjectInspectionDetail: Render `EmptyState` message if $command is empty * action-list.js: Use `getAttribute` to get `href` * History: Sort also by type by default * Controller::createColumnControl(): Make columns mandatory in `tabular` view mode * Use modals for creating host/service reports * action-list.js: Fix console error that `[href]` element is missing * action-list.js: Optimize code * action-list.js: Fix missing footer in `OneColLayout` * action-list.js: Ignore `ctrl + a` keypress in `non-multiselect-list` * action-list.js: Support `key-navigation` for `table.action-list` * BaseItemTable: Introduce layout modes * Don't pass an array to `ObjectsCommand::setObjects()` * IcingaRedis: Introduce `fetchHostState` and `fetchServiceState`.. * Provide ObjectsCommand#setObject() for compatibility * DeleteDowntimeCommand: process multiple objects at once * DeleteCommentCommand: process multiple objects at once * Actually let ObjectsCommand derivates process multiple objects at once * Introduce CommandForm#filterGrantedOn() * ObjectCommand and derivates: handle multiple objects * CommandForm#getCommand(): take (and process) multiple objects, not just one * progress-bar.less: Hide `::before` if progress is not animated * Properly visualize unreachable services * Properly visualize unreachable hosts * StateBadges: Require a real filter in method `createLink` * CheckStatistics: Drop check source state ball * Drop dead code trying to visualize unreachable hosts * UrlMigrator: Strip leading slashes from url paths to check * Add StateBadge(s) changes from ipl-web here * Revert "Drop classes `StateBadge` and `StateBadges`" * Fix `list-item` footer * action-list.js: Fix console error * action-list.js: Activate list item depending on detail url * Provide reporting hook for single `host/service` * Rename `CreateHostSlaReport` and `CreateServiceSlaReport` class to `plural` * action-list.js: Don't load previous list item if load-more is triggred * action-list.js: Continue navigation/selection after manual page refresh * action-list.js: Optimize `onRendered` * action-list.js: Call OnRendered only if its `#main .container` * action-list.js: Optimize `onClick` method * action-list.js: Use vanilla js * action-list.js: Deselect list items if only one col exists * action-list.js: Active new list item immediately when detail url changes * action.js: Add docs * action-list.js: Fix that wrong items in #col are active when browser-back is triggred * action-list.js: Split the code in methods and optimize for better readability * Scroll activated element into view * Add functionality to trigger `load-more` with key navigation * Add hint for multiselect list * Avoids unnecessary `loadUrl()` calls * action-list.js: Add methode `addSelectionCountToFooter()` * action-list.js: Add keyboard controls * `Shift + ArrowUp|ArrowDown` = Multiselect * `ArrowUp|ArrowDown` = Select next/previous * `Ctrl|cmd + A` = Select all on currect page * Remove public/css/widget/cancel-button.less * Render footer of detailed list items only when not empty * SlaReport: Add checkbox to export total % of hosts/services for CSV and JSON * Convert `migrate.js` to class structure * Convert `loadmore.js` to class structure * Convert `action-list.js` to class structure * Fix customvar search suggestions * test: Add case for `Icinga\Module\Icingadb\Model\CustomvarFlat` * CustomvarFlat: Properly handle index definitions * Determine custom var source paths of nested array correctly * ObjectSuggestions: Don't split custom var paths more than once * Unflatten empty customvars of type `array` & `dict` correctly * tactical: Properly process base filter on state badges * Host|ServiceStatusBar: Pass base filter to the state badges * migrate: Fix false positives once more * CheckStatistics: Don't simulate running checks if they're overdue * migrate.js: Decode urls prior comparison with migration results * migrate: Already migrate monitoring urls with wildcards * migrate: Decode urls prior transmission * BaseDowntimeListItem: Make progress animatable * DowntimeCard: Make progress animatable * CheckStatistics: Make progress animatable and enhance overall layout * js: Animate progress bars * Don't fail badly just because some results are null * VolatileStateResults: Don't reapply commandline values if not permitted * Avoid leakage of `state.check_commandline` to restricted users * Fix key-value formatting for json and csv result set * Separate grid and table layout styles from `item-table` * Use `BaseTableRowItem` for `HostgroupGridCell` and `ServicegroupGridCell` * Delete the grid widget * Use `GridViewModeSwitcher` for host and service groups * Add `GridViewModeSwitcher` to toggle between list and grid view * Order HostGroup/ServiceGroup by severity for grid list view * CSS: Cherry-pick group grid styles from monitoring * Controller: Set redirectUrl to grid action when rendering `Host/Servicegroups` & switching to minimal * Introduce `Host/Servicegroup` grid cell class * Introduce base group grid cell widget * Introduce `Host-/Servicegroup` grid action * Add `CopyToClipboard` button to copy executed command in `Source` tab (#758) * Controller: Drop create*Control methods * Drop classes `StateBadge` and `StateBadges` * Remove trait `BaseFilter` * CheckStatistics: Show TimePeriod name if available * Don't parse new filters with the legacy implementation * migrate: Notify the user about the equal/like filter change * Display downtime icon independent from object state (#772) * Introduce Total Host and Total Service SLA Report * SlaReport: Breakdown into an hour view showing only downtimes * Fix negative next check value when both active and passive checks are disabled * ObjectStatistics: Limit total amount to 4 chars * Also use grid layout for users, usergroups and servicegroups * Use css grid instead of table layout for the hostgroup list * Merge `BaseItemTable` into `StateItemTable` * Prevent downtime flexible duration being set to `0h0m` * (AddComment/AcknowledgeProblem)Form: Add `validators` to `expire_time` element * ObjectSuggestions: Suggest `notificationcommand` columns * NotificationHistory: Add `notification` relation * Add reporting hooks to DetailsAction (#655) * Models: Use `MillisecondTimestamp` instead of `Timestamp` behavior (#753) * Enhance global search (#756) * CustomvarFlat: Fix that variable names with dots are interpreted as paths * ObjectAuthorization: Replace `.` with `_` for db query * Ipl-html SelectElement: Use `options` attr instead of `multiOptions` * Unset pagination parameters for service grid when `limit=0,0` * CheckStatistics: Show `retry_interval` if object is in `problem && soft_state` * action-list.js: Also detect selection if detail tabs are open * action-list.js: Restore selection also on the dashboard * CompatHost|CompatService: Fix incorrect `<type>_perfdata` path * AcknowledgeProblem|AddComment-Form: Don't show datepicker if `expire` checkbox is unchecked * Severity sort must also sort objects by `last_state_change` in descending * ConfigController: Always check if the user has permissions * Downtime Timestamp: Show start time in tooltip if downtime is not yet active * Fix confusing `Downtime cancelled` header in event history list * Mention correct possible values for `icingadb/denylist/routes` * list-item.less: Do not show the comment popup transparently * `Pagination|History`: Reset query offset on page reload * migrate/backend-support: Only return results if monitoring is accessible * IcingadbSupportHook: Also verify that the user can access monitoring * configuration.php: Properly populate sidebar and dashboard.. * Fix Secondary Redis being ignored when the Primary Redis in inaccessible/down * PerfDataSet: Fix that invalid quoted labels throw an error * ThresholdRange: Fix type declarations of `setMax` and `setMin` * Introduce monitoring's perfdata tests here * fix parsing unknown perfdata value * actions: Run PHP unit tests * MacrosTest: Drop Mockery usage * CI: Update Checkout Action to v3 * migrate: Check if popup should remain closed before any `showPopup()` calls * CSS: Fix list item footer colors * Create SECURITY.md ------------------------------------------------------------------- Wed May 10 11:07:05 UTC 2023 - ecsos@opensuse.org - Update to version 1.0.2: * Raise version to 1.0.2 * Update CHANGELOG.md * Update AUTHORS * Update .mailmap * RedisConfigForm: Properly clear empty sections/options * RedisConfigForm: Properly store password of 2nd redis * EventDetail: Use `'UTC'` instead of `DateTimeZone::UTC` * DowntimeDetail: Build the remove URL in a more standardized way * CommentDetail: Build the remove URL in a more standardized way * css: Fix superfluous bottom margin on quick actions * Show `Output unavailable.` everywhere where applicable * PluginOutput: Automatically detect that an empty string isn't HTML * action-list.js: Open subject links in a new window if requested * Database: Only use `PDO::MYSQL_ATTR_INIT_COMMAND` for mysql connections * Avoid accessing non-existent last comment * ObjectDetail: Fix action and note url retrieval * css: Keep compatibility with ipl v0.10.0 for now * css: Remove default control rules now provided by ipl-web * Fix/SetApiTimeout * Fix/SetApiTimeout * Fix/SetApiTimeout * Fix/SetApiTimeout * Fix/SetApiTimeout * ObjectDetail: Still load legacy hooks if monitoring is just disabled * Provide generic tts integration ------------------------------------------------------------------- Sat Sep 17 08:05:16 UTC 2022 - ecsos@opensuse.org - Update to version 1.0.1: * Raise version to 1.0.1 * Update CHANGELOG * Require icinga-php-library v0.10.0 * Change the order of handled state icons * css: Prevent scrollbars to appear if icon images are large * BaseNotificationListItem: Don't try to render plugin output without a command name * BaseHistoryListItem: Don't try to render an object url without an object * BaseHistoryListItem: Don't try to render plugin output without a command name * EventDetail: Don't try to render plugin output without a command name * ObjectAuthorization: Gracefully handle incomplete objects in `grantsOn()` * Make group summaries work in the searchbar * ReRoute: Apply filters on `downtime,comment,history,notification_history` correctly when containing servicegroup names * Replace deprecated hook `Icinga\Web\Hook` with `Icinga\Application\Hook` * Sort also pie charts in detailed view mode * tactical: Also search for hosts during quick search * Add new search route to only search for services on specific hosts * Controller: Outsource filter construction in method `handleSearchRequest()` * ObjectSuggestions: Properly qualify search columns * servicegroups: Use the searchbar's updated filter as base filter * hostgroups: Use the searchbar's updated filter as base filter * Controller: Qualify search columns * ObjectInspectionDetail: Handle formatting errors gracefully * StateListItem: Also don't show last state change if its zero * Model: Add `ReRoute` behavior after the binary behaviors * Show warning health state badges * Fix pending state balls (#605) * css: Ensure compatiblity with collapsible.js in legacy versions * Remove `[*]` from custom var filter enrichments * Service: Implement default for property `customvars` * Host: Implement default for property `customvars` * ObjectDetail: Fix polymorphic call exception * CompatObject: Implement missing fetch methods and .. * Drop `view` param from show more urls in all index routes * Preserve filters after clicking `Load More` * ObjectDetail: Do not attempt to load monitoring hooks.. * UrlMigrator: Lower filter values targeting enum types * EventDetail: Indicate why an `ack_set` event has incomplete data * BaseHistoryListItem: Indicate why an `ack_set` event has no comment/author * PerfDataFormat: Ensure not to use string values when formatting perfdata * Don't strictly check whether `hGet` returns false * css: Rename `.actions` class to `.object-detail-actions` * Show expiration time of comments in the comments list if it is set * Change `overflow` property to `overflow-x` in `performance-data-table` class * BaseHistoryListItem: Show correct flapping event details * CheckStatistics: Add EmptyState * Notification: Use more human readable column labels * More column label enhancements * ObjectSuggestions: Only suggest cols of selected hasOne relations * ObjectSuggestions: Also hide `id` columns * ObjectSuggestions: Implement method `shouldShowRelationFor()` * README.md: Fix wrong latest doc link * Enhance column labels * ObjectSuggestions: Remove suffixes from user and usergroup columns * CHANGELOG: Correct documentation link ------------------------------------------------------------------- Sat Sep 17 08:03:43 UTC 2022 - ecsos@opensuse.org - Update to version 1.0.0: * Increase version to 1.0.0 * Update CHANGELOG * Update AUTHORS * .mailmap: display me always as "Alexander A. Klimov <alexander.klimov@icinga.com>" * VolatileStateResults: Transform `state_type` by ourselves for now * BoolCast: Cast input to string in the switch statement * RedisHealth: Set state to `critical` if an exception has occurred * ApplicationState: Check the availability of `IcingaRedis` first ------------------------------------------------------------------- Tue Apr 26 09:43:38 UTC 2022 - ecsos <ecsos@opensuse.org> - Update to 1.0.0-rc2 ------------------------------------------------------------------- Tue Mar 17 17:34:25 UTC 2020 - ecsos@opensuse.org - Initial version 1.0.0-rc1