Skip to content

EDM-4015: Display highlighted content while empty live search is active#676

Merged
celdrake merged 2 commits into
flightctl:mainfrom
celdrake:EDM-4015-show-empty-wait
Jun 8, 2026
Merged

EDM-4015: Display highlighted content while empty live search is active#676
celdrake merged 2 commits into
flightctl:mainfrom
celdrake:EDM-4015-show-empty-wait

Conversation

@celdrake

@celdrake celdrake commented Jun 3, 2026

Copy link
Copy Markdown
Collaborator

We display a highlighted content whenever a "liveLogs=true" search is triggered, and there no still no results.

empty-wait-ux

@coderabbitai

coderabbitai Bot commented Jun 3, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Enterprise

Run ID: bbbb7a50-3b98-4166-bad4-14102fcea8ad

📥 Commits

Reviewing files that changed from the base of the PR and between d3d2c1f and 0149433.

📒 Files selected for processing (1)
  • libs/ui-components/src/components/Device/DeviceDetails/DeviceLogsTab.tsx
🚧 Files skipped from review as they are similar to previous changes (1)
  • libs/ui-components/src/components/Device/DeviceDetails/DeviceLogsTab.tsx

Summary by CodeRabbit

  • New Features

    • Loading overlay with a placeholder message shown in the device logs viewer when a real-time filter yields no entries.
  • Improvements

    • Added empty-state message: "No matching log entries yet. Log entries that match your filter will appear here in real time."
    • "View raw logs" and "Download logs" are disabled when no logs are present.
    • Log viewer auto-scroll behavior refined for streaming and non-streaming cases.

Walkthrough

Adds a waiting-state UI for device logs when a live stream is active but no matching entries exist: new English translation, CSS overlay styles, DeviceLogsTab rendering changes to show a spinner and message when streaming with zero lines, and toolbar prop/controls to disable log actions when no logs are present.

Changes

Device Logs Waiting State

Layer / File(s) Summary
Waiting state translation, prop, and CSS
libs/i18n/locales/en/translation.json, libs/ui-components/src/components/Device/DeviceDetails/DeviceLogsInnerToolbar.tsx, libs/ui-components/src/components/Device/DeviceDetails/DeviceLogsTab.css
Insert English i18n key "No matching log entries yet. Log entries that match your filter will appear here in real time.", add hasLogs: boolean to DeviceLogsInnerToolbarProps, and add .fctl-device-logs-viewer / __waiting-overlay CSS for a centered overlay and overlay text styling.
Toolbar button disabling via log availability
libs/ui-components/src/components/Device/DeviceDetails/DeviceLogsInnerToolbar.tsx
Destructure hasLogs and set isDisabled={!hasLogs} on "View raw logs" and "Download logs" buttons.
Log tab imports, empty-stream detection, and overlay rendering
libs/ui-components/src/components/Device/DeviceDetails/DeviceLogsTab.tsx
Import DeviceLogsTab.css and layout primitives, compute isEmptyLiveSearch = isStreaming && lineCount === 0, disable LogViewer.scrollToRow in that state, and render a Bullseye overlay with spinner and the localized waiting message when isEmptyLiveSearch is true.

🎯 3 (Moderate) | ⏱️ ~20 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and specifically describes the main change: displaying a loading/waiting state UI when a live search is active with no results yet.
Description check ✅ Passed The description directly relates to the changeset, explaining the UX feature (empty-wait state during live search) and includes a screenshot demonstrating the implementation.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


Comment @coderabbitai help to get the list of available commands and usage tips.

@celdrake

celdrake commented Jun 3, 2026

Copy link
Copy Markdown
Collaborator Author

Reviewing new UX design.

@celdrake celdrake marked this pull request as draft June 3, 2026 13:21
@celdrake celdrake force-pushed the EDM-4015-show-empty-wait branch 2 times, most recently from a497d9f to cd41cba Compare June 3, 2026 14:38
@celdrake celdrake marked this pull request as ready for review June 3, 2026 14:39
@celdrake celdrake force-pushed the EDM-4015-show-empty-wait branch from cd41cba to ccf8875 Compare June 3, 2026 14:39

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@libs/ui-components/src/components/Device/DeviceDetails/DeviceLogsTab.css`:
- Around line 5-12: The waiting overlay (.fctl-device-logs-viewer
.fctl-device-logs-viewer__waiting-overlay) is intercepting pointer events and
blocking toolbar interactions; change its CSS so it no longer captures clicks by
setting pointer-events: none and ensure the toolbar/controls sit above it (give
the toolbar a higher z-index or lower the overlay z-index) and only enable
pointer-events (pointer-events: auto) on the overlay when you actually need to
block interactions (e.g., true loading/blocked state).
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Enterprise

Run ID: f72fd3d5-0d17-43d3-a875-4804008dd1f9

📥 Commits

Reviewing files that changed from the base of the PR and between b3aaf31 and ccf8875.

📒 Files selected for processing (4)
  • libs/i18n/locales/en/translation.json
  • libs/ui-components/src/components/Device/DeviceDetails/DeviceLogsInnerToolbar.tsx
  • libs/ui-components/src/components/Device/DeviceDetails/DeviceLogsTab.css
  • libs/ui-components/src/components/Device/DeviceDetails/DeviceLogsTab.tsx
🚧 Files skipped from review as they are similar to previous changes (1)
  • libs/ui-components/src/components/Device/DeviceDetails/DeviceLogsInnerToolbar.tsx

@celdrake celdrake force-pushed the EDM-4015-show-empty-wait branch from ccf8875 to d3d2c1f Compare June 3, 2026 15:00
Comment thread libs/ui-components/src/components/Device/DeviceDetails/DeviceLogsTab.tsx Outdated
Made-with: Cursor
@celdrake celdrake merged commit a550d78 into flightctl:main Jun 8, 2026
10 checks passed
@celdrake celdrake deleted the EDM-4015-show-empty-wait branch June 8, 2026 09:19
celdrake added a commit that referenced this pull request Jun 10, 2026
* EDM-4015: Display highlighted content while empty live search is active (#676)

* EDM-4015: Show waiting status for empty search with liveLogs=true

Made-with: Cursor
(cherry picked from commit a550d78)

* EDM-4078: Add clarification details to severity badges (#679)

* EDM-4078: Add clarification details to severity badges

Made-with: Cursor
(cherry picked from commit d6fab9c)

* EDM-4012: Reset date state when category changes (#678)

Made-with: Cursor
(cherry picked from commit 064db31)

* EDM-4076: Allow defining displayName for IP new catalog items (#677)

Made-with: Cursor
(cherry picked from commit eda79b0)

* EDM-4118: Define max width for filter chips (#682)

Made-with: Cursor
(cherry picked from commit 3268a24)

* Security updates (#681)

Made-with: Cursor
(cherry picked from commit 0f7d399)

* EDM-4121: Use tail to prevent filtering expected content (#683)

* EDM-4121: Use tail to prevent filtering expected content
* Preserve journalctl exit code
* Fixes for live logs

Made-with: Cursor
(cherry picked from commit d6bed50)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants