Skip to content

Load all containers in Containers tab#37

Closed
mkaltner wants to merge 1 commit into
mainfrom
fix/containers-list-full-page
Closed

Load all containers in Containers tab#37
mkaltner wants to merge 1 commit into
mainfrom
fix/containers-list-full-page

Conversation

@mkaltner

@mkaltner mkaltner commented Jul 16, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Request the full active-environment container list in the Android Containers tab with SearchPaginationSort(start = 0, limit = -1).
  • This replaces the default paginated subset so local search, filter, and sort operate against the complete active-environment set.

Verification

  • Confirmed origin/fix/containers-list-full-page is one commit on top of origin/main and only changes ContainerListScreen.kt.
  • git diff --check origin/main...origin/fix/containers-list-full-page

Disclaimer Greptiles Reviews use AI, make sure to check over its work.

To better help train Greptile on our codebase, if the comment is useful and valid Like the comment, if its not helpful or invalid Dislike

To have Greptile Re-Review the changes, mention greptileai.

Greptile Summary

This PR changes the Containers tab to fetch the entire container list in one request instead of the default paginated subset, so client-side search, filter, and sort cover all containers in the active environment.

  • SearchPaginationSort(start = 0, limit = -1) is passed to client.containers.list(); every other list screen in the codebase uses a positive cap (100–500) rather than -1, so the semantics of -1 against the backend are unconfirmed within this repo's established patterns.
  • The change is limited to ContainerListScreen.kt and does not touch any shared utilities or navigation.

Confidence Score: 3/5

Safe to merge only if limit = -1 is a confirmed 'no limit' sentinel in the backend API; otherwise the container list will fail to load on every screen open.

The entire rest of the codebase uses positive integer limits when fetching full lists — 500 for containers in other screens, 200 for volumes/networks — making limit = -1 an unverified outlier. If the backend rejects or misinterprets a negative value, the change breaks the Containers tab completely on every load.

app/src/main/kotlin/app/getarcane/android/ui/screens/containers/ContainerListScreen.kt — specifically the limit = -1 argument on line 100.

Fix All in Codex Fix All in Claude Code

Prompt To Fix All With AI
Fix the following 1 code review issue. Work through them one at a time, proposing concise fixes.

---

### Issue 1 of 1
app/src/main/kotlin/app/getarcane/android/ui/screens/containers/ContainerListScreen.kt:100
**Unverified `limit = -1` semantics against the rest of the codebase**

Every other screen that wants a "full" list uses an explicit positive cap — `500` for containers in `WebhooksScreen` and `DashboardPinnedSection`, `200` for volumes/networks, `100` for activities — none of them pass `-1`. If the backend does not recognise `-1` as "unlimited" (e.g. it is serialised as-is and the server rejects or misinterprets a negative limit), this call will fail or return zero items, silently replacing the container list with an error state on every load. Can you confirm the API contract for `-1`, or align with the established pattern of `limit = 500`?

Reviews (1): Last reviewed commit: "Load all containers in Containers tab" | Re-trigger Greptile

Greptile also left 1 inline comment on this PR.

Loadable.Success(
client.containers.list(
envId = envId,
query = SearchPaginationSort(start = 0, limit = -1),

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Unverified limit = -1 semantics against the rest of the codebase

Every other screen that wants a "full" list uses an explicit positive cap — 500 for containers in WebhooksScreen and DashboardPinnedSection, 200 for volumes/networks, 100 for activities — none of them pass -1. If the backend does not recognise -1 as "unlimited" (e.g. it is serialised as-is and the server rejects or misinterprets a negative limit), this call will fail or return zero items, silently replacing the container list with an error state on every load. Can you confirm the API contract for -1, or align with the established pattern of limit = 500?

Prompt To Fix With AI
This is a comment left during a code review.
Path: app/src/main/kotlin/app/getarcane/android/ui/screens/containers/ContainerListScreen.kt
Line: 100

Comment:
**Unverified `limit = -1` semantics against the rest of the codebase**

Every other screen that wants a "full" list uses an explicit positive cap — `500` for containers in `WebhooksScreen` and `DashboardPinnedSection`, `200` for volumes/networks, `100` for activities — none of them pass `-1`. If the backend does not recognise `-1` as "unlimited" (e.g. it is serialised as-is and the server rejects or misinterprets a negative limit), this call will fail or return zero items, silently replacing the container list with an error state on every load. Can you confirm the API contract for `-1`, or align with the established pattern of `limit = 500`?

How can I resolve this? If you propose a fix, please make it concise.

Fix in Codex Fix in Claude Code

@mkaltner mkaltner closed this Jul 16, 2026

Copy link
Copy Markdown
Collaborator Author

Closing this in favor of a clean replacement PR that includes the Containers tab fix plus the Activity Center stream event compile fix.

@mkaltner
mkaltner deleted the fix/containers-list-full-page branch July 16, 2026 19:35
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.

1 participant