feat: support reverse-proxy URL subpaths (llama-swap, SwarmUI) (#1122)

This commit is contained in:
Will Miao
2026-09-24 08:04:00 +08:00
parent 755e1a5bca
commit 2f9bd3ee7d
42 changed files with 731 additions and 103 deletions
@@ -9,6 +9,7 @@ import { moveManager } from '../../managers/MoveManager.js';
import { rematchModalManager } from '../../managers/RematchModalManager.js';
import { showRematchSummary } from '../RematchSummaryModal.js';
import { probeExtension, delegateReimport, getCivitaiImageInfo } from '../../utils/extensionReimportBridge.js';
import { withBasePath } from '../../utils/basePath.js';
export class RecipeContextMenu extends BaseContextMenu {
constructor() {
@@ -180,7 +181,7 @@ export class RecipeContextMenu extends BaseContextMenu {
setSessionItem('filterRecipeName', recipe.title);
// Navigate to the LoRAs page
window.location.href = '/loras';
window.location.href = withBasePath('/loras');
} else {
showToast('recipes.contextMenu.viewLoras.noLorasFound', {}, 'info');
}
+3 -2
View File
@@ -7,6 +7,7 @@ import { state } from '../state/index.js';
import { setSessionItem, removeSessionItem, getStorageItem, setStorageItem } from '../utils/storageHelpers.js';
import { fetchRecipeDetails, updateRecipeMetadata, sendRecipeWorkflow, extractRecipeId } from '../api/recipeApi.js';
import { downloadManager } from '../managers/DownloadManager.js';
import { withBasePath } from '../utils/basePath.js';
import { MODEL_TYPES } from '../api/apiConfig.js';
import { openMediaViewer } from './shared/MediaViewer.js';
import { showRecipeDeleteConfirmation } from './RecipeCard.js';
@@ -3231,7 +3232,7 @@ class RecipeModal {
setSessionItem('filterCheckpointRecipeName', this.currentRecipe.title);
}
window.location.href = '/checkpoints';
window.location.href = withBasePath('/checkpoints');
}
_getCheckpointHash(checkpoint) {
@@ -3281,7 +3282,7 @@ class RecipeModal {
}
// Navigate to the LoRAs page
window.location.href = '/loras';
window.location.href = withBasePath('/loras');
}
// Only in-library LoRA items are row-navigable: the row opens the local
+3 -2
View File
@@ -3,6 +3,7 @@
*/
import { showToast, copyToClipboard } from '../../utils/uiHelpers.js';
import { setSessionItem, removeSessionItem } from '../../utils/storageHelpers.js';
import { withBasePath } from '../../utils/basePath.js';
/**
* Loads recipes that use the specified model and renders them in the tab.
@@ -356,7 +357,7 @@ function navigateToRecipesPage({ modelKind, displayName, modelHash }) {
}
// Directly navigate to recipes page
window.location.href = '/loras/recipes';
window.location.href = withBasePath('/loras/recipes');
}
/**
@@ -378,7 +379,7 @@ function navigateToRecipeDetails(recipeId) {
setSessionItem('viewRecipeId', recipeId);
// Directly navigate to recipes page
window.location.href = '/loras/recipes';
window.location.href = withBasePath('/loras/recipes');
}
function getRecipesEndpoint(modelKind) {