Skip to content

Split the Files panel view from its fetching and test each state #348

Open

Description

@abhishekgahlot2

The Files panel next to a thread has no tests, and because its 5-second background refresh reuses the manual refresh path, the refresh button spins and switches off every 5 seconds while a task runs.

Where to start

  1. In frontend/components/chat/artifacts-rail.tsx, load() sets the refreshing state both for the 5-second poll and for a click.
  2. Track a manual refresh separately so only a click spins the icon, and move the markup into a small view component that takes the state as props.
  3. Add render tests for the loading, empty, unavailable and list states and for the spinner showing only on a manual refresh.

Code to look at:

Done when

  • While a task runs, the refresh icon stays still unless clicked.
  • New tests cover the four states and the spinner rule.
  • bun test components/chat passes.

Free to try

Sign up free at app.useagent.org. New accounts get free model credits (GLM or Claude Opus, up to a limit) and free cloud sandbox time, enough to finish this task without paying or adding a key.

Send it a small task in plain words and watch it work. You'll see the screens this issue is about. The link in the sign-up email works for 24 hours. Not there? Check spam.

Stuck? Comment here with a screenshot and we'll help.

Keep private details out of here

This page is public. Don't post your real email, phone number, address, payment details, API keys, or screenshots that show any of them. Send anything private, including how you'd like to be paid, to [email protected] with a link to your comment here.

Claim it

Comment /take and the issue is assigned to you. First come, first served.

Rules

  • Use the app while you work, and put before and after screenshots or a short recording in your pull request. For backend or docs work, show the result end to end.
  • One change per pull request. Run the checks in CONTRIBUTING.md.
  • AI help is fine, blind AI output is not. You must understand, run and explain every line you submit.
  • Untested or generated pull requests, and pull requests on an issue someone else claimed, are closed without a reply and don't count for Hacktoberfest.

Activity

  1. sharmis-tp commented on Oct 21, 2026

    @sharmis-tp

    I'd like to pick this up. In artifacts-rail.tsx I'd track a manual refresh separately from the 5-second poll in load() so only a click spins the icon, move the markup into a small view component that takes the state as props, and add render tests for the loading, empty, unavailable and list states plus one that the spinner shows only on a manual refresh. Could you assign it to me?

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requesthacktoberfestOpen for Hacktoberfest contributorshelp wantedExtra attention is needed

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions