Compare commits

..

No commits in common. "65b15d9d778d15d32e291ac42f0e19eccae5747e" and "6b5828888b599c3ffa720e08824d51cd730fbad0" have entirely different histories.

5 changed files with 25 additions and 17 deletions

View File

@ -134,17 +134,14 @@ jobs:
exit 1
fi
# Generate changelog for current tag only
git-cliff --config cliff.toml --output CHANGELOG.md
PREV_TAG=$(git tag --sort=-version:refname | grep -E '^v[0-9]+\.[0-9]+\.[0-9]+$' \
| grep -v "^${CURRENT_TAG}$" | head -1 || echo "")
if [ -n "$PREV_TAG" ]; then
git-cliff --config cliff.toml --tag "$CURRENT_TAG" --strip all > /tmp/release_body.md || true
# Generate full CHANGELOG.md from all tags
git-cliff --config cliff.toml --output CHANGELOG.md
else
echo "No previous tag found, generating from git commits"
git log --pretty=format:"- %s" > /tmp/release_body.md || true
git-cliff --config cliff.toml --output CHANGELOG.md
fi
echo "=== Release body preview ==="
cat /tmp/release_body.md

View File

@ -337,9 +337,7 @@ pub async fn initiate_oauth(
pending_approvals,
clusters: Arc::new(tokio::sync::Mutex::new(std::collections::HashMap::new())),
port_forwards: Arc::new(tokio::sync::Mutex::new(std::collections::HashMap::new())),
refresh_registry: Arc::new(tokio::sync::Mutex::new(
crate::kube::RefreshRegistry::new(),
)),
refresh_registry: Arc::new(tokio::sync::Mutex::new(crate::kube::RefreshRegistry::new())),
};
while let Some(callback) = callback_rx.recv().await {
tracing::info!("Received OAuth callback for state: {}", callback.state);

View File

@ -61,9 +61,12 @@ pub async fn add_cluster(
}
#[tauri::command]
pub async fn remove_cluster(id: String, state: State<'_, AppState>) -> Result<(), String> {
pub async fn remove_cluster(
id: String,
state: State<'_, AppState>,
) -> Result<(), String> {
let mut clusters = state.clusters.lock().await;
if clusters.remove(&id).is_none() {
return Err(format!("Cluster {id} not found"));
}
@ -72,9 +75,11 @@ pub async fn remove_cluster(id: String, state: State<'_, AppState>) -> Result<()
}
#[tauri::command]
pub async fn list_clusters(state: State<'_, AppState>) -> Result<Vec<ClusterInfo>, String> {
pub async fn list_clusters(
state: State<'_, AppState>,
) -> Result<Vec<ClusterInfo>, String> {
let clusters = state.clusters.lock().await;
let cluster_list: Vec<ClusterInfo> = clusters
.values()
.map(|c| ClusterInfo {
@ -94,7 +99,7 @@ pub async fn start_port_forward(
state: State<'_, AppState>,
) -> Result<PortForwardResponse, String> {
let session_id = uuid::Uuid::now_v7().to_string();
let session = crate::kube::PortForwardSession::new(
session_id.clone(),
request.cluster_id.clone(),
@ -122,9 +127,12 @@ pub async fn start_port_forward(
}
#[tauri::command]
pub async fn stop_port_forward(id: String, state: State<'_, AppState>) -> Result<(), String> {
pub async fn stop_port_forward(
id: String,
state: State<'_, AppState>,
) -> Result<(), String> {
let mut port_forwards = state.port_forwards.lock().await;
if let Some(session) = port_forwards.get_mut(&id) {
session.stop();
Ok(())
@ -138,7 +146,7 @@ pub async fn list_port_forwards(
state: State<'_, AppState>,
) -> Result<Vec<PortForwardResponse>, String> {
let port_forwards = state.port_forwards.lock().await;
let forwards: Vec<PortForwardResponse> = port_forwards
.values()
.map(|s| PortForwardResponse {

View File

@ -6,7 +6,12 @@ pub struct ClusterClient {
}
impl ClusterClient {
pub fn new(id: String, name: String, context: String, server_url: String) -> Self {
pub fn new(
id: String,
name: String,
context: String,
server_url: String,
) -> Self {
Self {
id,
name,

View File

@ -1,6 +1,6 @@
use std::collections::HashMap;
use std::sync::Arc;
use tokio::sync::RwLock;
use std::sync::Arc;
pub struct RefreshRegistry {
domains: HashMap<String, Domain>,