Skip to content

Add folder pagination, arm64 images, and accent colors#12

Merged
jR4dh3y merged 1 commit into
masterfrom
fix-folder-pagination-arm64-accent
Jun 10, 2026
Merged

Add folder pagination, arm64 images, and accent colors#12
jR4dh3y merged 1 commit into
masterfrom
fix-folder-pagination-arm64-accent

Conversation

@jR4dh3y

@jR4dh3y jR4dh3y commented Jun 10, 2026

Copy link
Copy Markdown
Owner

Summary

  • Add Load more pagination for folder listings beyond the first 50 items
  • Publish Docker images for linux/amd64 and linux/arm64
  • Add a persisted custom accent color setting for app UI, selections, focus rings, and folder icons
  • Bump package versions to 0.1.5

Tests

  • bun run check
  • bun run build
  • go test ./...

Closes #10
Closes #11

Copilot AI review requested due to automatic review settings June 10, 2026 02:42
@vercel

vercel Bot commented Jun 10, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
box-box Building Building Preview Jun 10, 2026 2:42am

@jR4dh3y jR4dh3y merged commit b1cd129 into master Jun 10, 2026
7 checks passed
@jR4dh3y jR4dh3y deleted the fix-folder-pagination-arm64-accent branch June 10, 2026 02:43

@chatgpt-codex-connector chatgpt-codex-connector 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 470debca85

ℹ️ About Codex in GitHub

Your team has set up Codex to 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 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +214 to +217
const seenPaths = new Set(loadedFileItems.map((item) => item.path));
const newItems = fileList.items.filter((item) => !seenPaths.has(item.path));
if (newItems.length > 0) {
loadedFileItems = [...loadedFileItems, ...newItems];

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Keep stale rows out of paginated refetches

When the user has loaded page 2+ and then any operation refetches the directory without resetting to page 1 (for example Refresh, rename, delete, upload completion, or paste), the API returns only the current page, but this branch only appends paths not already seen and never removes or updates existing loadedFileItems. In that state a deleted or renamed item from an already-loaded page remains visible indefinitely, and shifted-in items are appended out of order. The accumulated list needs to be rebuilt or page 1 reloaded after mutations/refetches.

Useful? React with 👍 / 👎.

Comment on lines +317 to +320
function handleLoadMore() {
if (!hasMoreItems || directoryQuery.isFetching) return;
listOptionsStore.setPage(options.page + 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.

P2 Badge Retry the missing page instead of skipping it

If a “Load more” request fails after setPage has already advanced (for example page 2 times out), loadedFileItems still contains only the earlier pages while options.page remains at the failed page. The next click increments from that failed page and requests page 3, permanently skipping page 2’s items in the accumulated list. Base the next page on loaded item count or retry the current failed page before advancing.

Useful? React with 👍 / 👎.

Copilot AI 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.

Pull request overview

This PR improves the app’s usability and deployability by adding incremental “Load more” pagination for large folder listings, introducing a persisted UI accent color setting, and publishing multi-architecture Docker images (amd64 + arm64). These changes fit into the existing SvelteKit frontend (settings + browse UX) and GitHub Actions release pipeline.

Changes:

  • Add “Load more” pagination for directory listings, including status-bar affordances and accumulated item handling across pages.
  • Add a persisted custom accent color setting and apply it globally via CSS custom properties.
  • Publish Docker images for both linux/amd64 and linux/arm64, and bump package versions to 0.1.5.

Reviewed changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated no comments.

Show a summary per file
File Description
website/package.json Bumps website package version to 0.1.5.
frontend/package.json Bumps frontend package version to 0.1.5.
frontend/src/routes/settings/+page.svelte Adds accent color setting UI, validation, and save behavior.
frontend/src/routes/browse/+page.svelte Implements incremental pagination by accumulating items across pages and wiring “Load more” behavior.
frontend/src/routes/+layout.svelte Applies the persisted accent color globally on settings changes.
frontend/src/lib/stores/settings.ts Adds accentColor to settings + utilities to normalize/validate/apply theme CSS variables.
frontend/src/lib/components/StatusBar.svelte Adds total-count display and a “Load more” button with loading state.
.github/workflows/docker-publish.yml Enables multi-arch Docker publishing via QEMU + Buildx and sets platforms.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

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.

Folders only show 50 files Provide arm64 images

2 participants