Skip to content

Conversation

@urmauur
Copy link
Member

@urmauur urmauur commented Aug 19, 2025

Describe Your Changes

This pull request improves the user experience when importing models in the provider settings page. The main changes add feedback and error handling to the import process, preventing duplicate imports and showing a loading indicator during long-running operations.

Model Import UX Improvements:

  • Added an importingModel state to track when a model is being imported and to disable the import button during the process. [1] [2]
  • Updated the import button to display a loading spinner and change its text to "Importing..." while an import is in progress.

Error Handling and Validation:

  • Added a check to prevent importing a model with a name that already exists; displays an error toast if a duplicate is detected.
  • Ensured that the importingModel state is reset to false in all code paths, including error and early return scenarios. [1] [2]

Minor Improvements:

  • Normalized imported model filenames by replacing whitespace with dashes.
  • Changed the toast success message to display the imported model's filename instead of the provider name.

Fixes Issues

<img width="314" height="281" alt="Screenshot 2025-08-19 at 21 21 35" src="https://github.com/user-attachments/assets/602d1522-8efa-4348-8100-d908bbe656c0"
Screenshot 2025-08-19 at 21 17 20
/>
Screenshot 2025-08-19 at 21 24 20

Self Checklist

  • Added relevant comments, esp in complex areas
  • Updated docs (for bug fixes / features)
  • Created issues for follow-up changes or refactoring needed

Important

Improves model import UX in provider settings with loading state, error handling, and duplicate prevention.

  • Model Import UX Improvements:
    • Added importingModel state in $providerName.tsx to track import process and disable button.
    • Updated import button to show loading spinner and "Importing..." text during import.
  • Error Handling and Validation:
    • Prevents importing models with duplicate names, shows error toast if detected.
    • Ensures importingModel state resets in all scenarios, including errors.
  • Minor Improvements:
    • Normalized imported model filenames by replacing spaces with dashes.
    • Changed success toast to display imported model's filename.
  • Dependencies:
    • Updated Cargo.lock to include darling version 0.21.2 and rmcp version 0.5.0.

This description was created by Ellipsis for b828d3f. You can customize this summary. It will automatically update as commits are pushed.

@urmauur urmauur added this to the v0.6.9 milestone Aug 19, 2025
@urmauur urmauur self-assigned this Aug 19, 2025
@urmauur urmauur added this to Jan Aug 19, 2025
@urmauur urmauur moved this to Needs Review in Jan Aug 19, 2025
Copy link
Contributor

@ellipsis-dev ellipsis-dev bot left a comment

Choose a reason for hiding this comment

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

Caution

Changes requested ❌

Reviewed everything up to 6ee044d in 2 minutes and 23 seconds. Click for details.
  • Reviewed 93 lines of code in 1 files
  • Skipped 0 files when reviewing.
  • Skipped posting 2 draft comments. View those below.
  • Modify your settings and rules to customize what types of comments Ellipsis leaves. And don't forget to react with 👍 or 👎 to teach Ellipsis.
1. web-app/src/routes/settings/providers/$providerName.tsx:531
  • Draft comment:
    Consider refactoring the 'await getProviders().then(setProviders)' into a more readable async/await style for clarity. For example: 'const providers = await getProviders(); setProviders(providers);'.
  • Reason this comment was not posted:
    Confidence changes required: 33% <= threshold 50% None
2. web-app/src/routes/settings/providers/$providerName.tsx:524
  • Draft comment:
    In the catch block for pullModel, only console.error is called. It might improve UX to also display a toast error so the user is informed when the import fails.
  • Reason this comment was not posted:
    Comment was not on a location in the diff, so it can't be submitted as a review comment.

Workflow ID: wflow_VAgg5jfKeWpa1VlK

You can customize Ellipsis by changing your verbosity settings, reacting with 👍 or 👎, replying to comments, or adding code review rules.

@github-actions
Copy link
Contributor

github-actions bot commented Aug 19, 2025

Copy link
Contributor

@ellipsis-dev ellipsis-dev bot left a comment

Choose a reason for hiding this comment

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

Caution

Changes requested ❌

Reviewed 6c612d8 in 2 minutes and 16 seconds. Click for details.
  • Reviewed 140 lines of code in 1 files
  • Skipped 0 files when reviewing.
  • Skipped posting 2 draft comments. View those below.
  • Modify your settings and rules to customize what types of comments Ellipsis leaves. And don't forget to react with 👍 or 👎 to teach Ellipsis.
1. web-app/src/routes/settings/providers/$providerName.tsx:549
  • Draft comment:
    Refactored the inline onClick handler to use handleImportModel, which improves readability and reduces duplication.
  • Reason this comment was not posted:
    Confidence changes required: 0% <= threshold 50% None
2. web-app/src/routes/settings/providers/$providerName.tsx:115
  • Draft comment:
    Ensure that 'open' returns a string as expected. If there's potential for an array (even with multiple:false), consider adding a type guard for safety.
  • Reason this comment was not posted:
    Confidence changes required: 50% <= threshold 50% None

Workflow ID: wflow_guZGpMJEpDL1HEJ7

You can customize Ellipsis by changing your verbosity settings, reacting with 👍 or 👎, replying to comments, or adding code review rules.

Copy link
Contributor

@ellipsis-dev ellipsis-dev bot left a comment

Choose a reason for hiding this comment

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

Important

Looks good to me! 👍

Reviewed b828d3f in 1 minute and 28 seconds. Click for details.
  • Reviewed 122 lines of code in 2 files
  • Skipped 0 files when reviewing.
  • Skipped posting 2 draft comments. View those below.
  • Modify your settings and rules to customize what types of comments Ellipsis leaves. And don't forget to react with 👍 or 👎 to teach Ellipsis.
1. web-app/src/routes/settings/providers/$providerName.tsx:373
  • Draft comment:
    Consider handling the asynchronous update of provider settings more robustly. The onChange callback updates settings by calling updateSettings and updateProvider without awaiting or error handling. This might lead to race conditions and unhandled errors. Consider awaiting these calls and handling errors before calling stopAllModels().
  • Reason this comment was not posted:
    Comment was not on a location in the diff, so it can't be submitted as a review comment.
2. web-app/src/routes/settings/providers/$providerName.tsx:125
  • Draft comment:
    Ensure consistency in duplicate model detection: the import check compares fileName with model.name, whereas refresh logic uses model.id. Consider standardizing on a single unique identifier for models.
  • Reason this comment was not posted:
    Comment was not on a location in the diff, so it can't be submitted as a review comment.

Workflow ID: wflow_tI08FT4wGDoHVNz3

You can customize Ellipsis by changing your verbosity settings, reacting with 👍 or 👎, replying to comments, or adding code review rules.

Copy link
Contributor

@louis-jan louis-jan left a comment

Choose a reason for hiding this comment

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

LGTM

@urmauur urmauur merged commit 6203a93 into dev Aug 20, 2025
16 checks passed
@urmauur urmauur deleted the fix/import-model branch August 20, 2025 02:03
@github-project-automation github-project-automation bot moved this from Needs Review to QA in Jan Aug 20, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

bug: GGUF model says its loaded but doesnt show up

3 participants