Skip to content

Conversation

@pujitm
Copy link
Member

@pujitm pujitm commented Jan 8, 2026

Summary

  • Add "Check for updates" action to container right-click context menu
  • Always show "Update" option (enabled when update available, disabled with "Up to date" label otherwise)
  • Group update actions together in the context menu for better UX

Previously, users could only check for updates or trigger updates via the bulk actions toolbar. Now these actions are available directly in the context menu when right-clicking a container.

Test plan

  • Right-click a container → verify "Check for updates" option appears
  • Right-click a container with no detected update → verify "Up to date" option is disabled
  • Right-click a container with update available → verify "Update" option is enabled and functional
  • Click "Check for updates" → verify digest refresh is triggered for that container

🤖 Generated with Claude Code

Summary by CodeRabbit

  • New Features
    • Check for updates on individual Docker containers directly from the containers table.
    • Reorganized update-related actions into a dedicated, clearer section.
    • Show per-container update status and disable actions while an update check is in progress.

✏️ Tip: You can customize this high-level summary in your review settings.

Add "Check for updates" and "Update" options to the right-click context
menu for individual Docker containers. Previously, users could only
access these actions via the bulk actions toolbar.

- Add "Check for updates" action that triggers digest refresh for a
  single container
- Always show "Update" option - enabled when update available, disabled
  with "Up to date" label otherwise
- Update actions are now in their own menu group for better organization

Addresses task: https://app.asana.com/0/0/1212596388177290

Co-Authored-By: Claude Opus 4.5 <[email protected]>
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Jan 8, 2026

Caution

Review failed

The pull request is closed.

Walkthrough

Added per-row update-check support for Docker container rows by introducing a checkingForUpdates state and onCheckForUpdates callback into the row actions composable and wiring them into the Docker containers table, exposing a dedicated "Check for updates" action per row.

Changes

Cohort / File(s) Summary
Component Integration
web/src/components/Docker/DockerContainersTable.vue
Wire new checkingForUpdates prop and onCheckForUpdates handler into row actions setup in two action-item construction sites to enable per-row update checks.
Action Composable
web/src/composables/useDockerRowActions.ts
Extend DockerRowActionsOptions with checkingForUpdates: Ref<boolean> and onCheckForUpdates callback; add updateActions group with "Check for updates" action (disabled while checking) and move existing "Update"/"Up to date" items into this group.
Update Actions Comment
web/src/composables/useDockerUpdateActions.ts
Add clarifying comment above handleCheckForUpdates describing backend behavior (refreshes digests for all containers) and note possible backend scoping improvement.

Sequence Diagram(s)

sequenceDiagram
  participant User
  participant Table as DockerContainersTable.vue
  participant RowActions as useDockerRowActions
  participant UpdateHandler as useDockerUpdateActions
  participant API as Backend API

  User->>Table: Click "Check for updates" on row
  Table->>RowActions: invoke onCheckForUpdates(row)
  RowActions->>UpdateHandler: call handleCheckForUpdates([row])
  UpdateHandler->>API: trigger refresh digests mutation
  API-->>UpdateHandler: mutation result
  UpdateHandler-->>RowActions: update checking state
  RowActions-->>Table: reflect updated checkingForUpdates state
  Table-->>User: UI shows check progress/result
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Poem

🐰
I poked a row to see what's new,
A tiny check, a gentle cue.
Containers whisper, digests hum,
Row by row the updates come.
Hooray — a little rabbit drum!

🚥 Pre-merge checks | ✅ 2 | ❌ 1
❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately describes the main change: adding update-related actions to the Docker container context menu, which is the core objective across both modified files.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.

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

✨ Finishing touches
  • 📝 Generate docstrings

📜 Recent review details

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between e2a8562 and 8b35a93.

📒 Files selected for processing (1)
  • web/src/composables/useDockerUpdateActions.ts

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

Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: e2a85622cd

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

onViewLogs: handleViewLogs,
onOpenConsole: handleOpenConsole,
onManageSettings: handleManageSettings,
onCheckForUpdates: (row) => void handleCheckForUpdates([row]),

Choose a reason for hiding this comment

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

P2 Badge Avoid per-row “Check for updates” implying a scoped refresh

The new row action wires onCheckForUpdates to handleCheckForUpdates([row]), but that handler (in useDockerUpdateActions) always calls the global REFRESH_DOCKER_DIGESTS mutation with no container IDs and then refetches all containers. That means right‑clicking a single container will refresh every container while the toast and busy state suggest only that one was checked. This is a functional mismatch introduced by the new row action; either update the action/label to reflect a global refresh or pass a container ID if the backend supports a scoped refresh.

Useful? React with 👍 / 👎.

@codecov
Copy link

codecov bot commented Jan 8, 2026

Codecov Report

❌ Patch coverage is 0% with 23 lines in your changes missing coverage. Please review.
✅ Project coverage is 46.47%. Comparing base (9ef1cf1) to head (8b35a93).
⚠️ Report is 2 commits behind head on main.

Files with missing lines Patch % Lines
web/src/composables/useDockerRowActions.ts 0.00% 21 Missing ⚠️
...eb/src/components/Docker/DockerContainersTable.vue 0.00% 2 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1867      +/-   ##
==========================================
- Coverage   46.49%   46.47%   -0.02%     
==========================================
  Files         954      954              
  Lines       59788    59810      +22     
  Branches     5552     5552              
==========================================
  Hits        27799    27799              
- Misses      31870    31892      +22     
  Partials      119      119              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@pujitm
Copy link
Member Author

pujitm commented Jan 9, 2026

Though I haven't tested "Right-click a container with update available → verify "Update" option is enabled and functional", I'm merging because the code seems benign, and this feature is in testing, not prod.

@pujitm pujitm merged commit 4ca3e06 into main Jan 9, 2026
7 of 8 checks passed
@pujitm pujitm deleted the fix/docker-container-update branch January 9, 2026 16:07
@github-actions
Copy link
Contributor

github-actions bot commented Jan 9, 2026

This plugin has been deployed to Cloudflare R2 and is available for testing.
Download it at this URL:

https://preview.dl.unraid.net/unraid-api/tag/PR1867/dynamix.unraid.net.plg

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants