Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Sep 10, 2025

This PR implements the enhancement request to allow users to downgrade adapters when switching from "latest" to "stable" repository by making version numbers clickable whenever they differ from the installed version, regardless of whether it's an upgrade or downgrade.

Problem

Previously, the admin interface only showed adapter versions as clickable update buttons when the repository version was higher than the installed version (upgrades only). When users switched from the "latest" repository to "stable", they couldn't easily downgrade to the stable version if it was lower than their currently installed version.

Original issue

Solution

Modified the version display logic to make adapter versions clickable whenever they differ from the installed version, with visual distinctions for upgrades vs downgrades. The implementation also properly integrates with the latest "not maintained" functionality for adapters without repository versions.

Key Changes:

  1. Updated version detection logic in Adapters.tsx to include adapters in the updateAvailable list whenever repository version differs from installed version (previously only for upgrades)

  2. Enhanced version rendering in AdapterGeneric.tsx to:

    • First check if adapter has a repository version (integrated with "not maintained" feature)
    • Show "not maintained" indicator for adapters without repository versions
    • Detect whether the change is an upgrade, downgrade, or new installation for adapters with versions
    • Use appropriate icons: ⬆️ for upgrades, ⬇️ for downgrades, 🔄 for new installations
    • Apply orange styling (border and icon color) for downgrades to distinguish them from upgrades
    • Show contextual tooltips: "Update" for upgrades, "Install" for downgrades

Visual Indicators:

  • Not maintained: Red styling with "not maintained" text (for adapters without repository versions)
  • Upgrades: Green styling with up arrow icon (existing behavior)
  • Downgrades: Orange styling with down arrow icon (new feature)
  • New installations: Default styling with refresh icon

This change provides a seamless user experience when switching between repository channels, allowing single-click downgrades with clear visual feedback about the operation being performed, while also properly handling adapters that are no longer maintained in the repository.

Related to #2973.


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Copilot AI changed the title [WIP] [enhancement]: Allow downgrades of adapters to current repo revision Allow downgrades of adapters to current repository revision Sep 10, 2025
Copilot finished work on behalf of GermanBluefox September 10, 2025 08:57
Copilot AI requested a review from GermanBluefox September 10, 2025 08:57
@GermanBluefox
Copy link
Contributor

@copilot resolve conflicts

Copilot AI and others added 2 commits September 13, 2025 06:52
…nto copilot/fix-2973

# Conflicts:
#	README.md
#	packages/admin/src-admin/src/components/Adapters/AdapterGeneric.tsx
Copy link
Contributor Author

Copilot AI commented Sep 13, 2025

@copilot resolve conflicts

Conflicts have been resolved successfully! I merged the latest master changes with my downgrade feature. The merge included:

  1. README.md: Merged changelog entries properly with my entry at the top
  2. AdapterGeneric.tsx: Integrated my downgrade functionality with the new "not maintained" feature for adapters without repository versions
  3. Linting issues: Fixed a lint error in the new DockerManager.ts file

The downgrade feature now works seamlessly with the latest master changes:

  • Shows "not maintained" for adapters without versions (master's addition)
  • Shows downgrade options with orange styling when repository version differs from installed (my addition)
  • Build and core functionality verified working

Commit: a462afa

Copilot finished work on behalf of GermanBluefox September 13, 2025 06:59
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