Skip to content

Commit fd2322e

Browse files
committed
Merge branch 'main' of github.com:mcpmux/mcp-mux
2 parents bec7699 + 0f17ddb commit fd2322e

33 files changed

Lines changed: 1935 additions & 13 deletions

.github/workflows/docs-deploy.yml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
name: Deploy Docs
2+
3+
on:
4+
push:
5+
branches: [main]
6+
paths:
7+
- 'docs/guide/**'
8+
9+
# Restrict permissions to minimum needed
10+
permissions: {}
11+
12+
jobs:
13+
trigger-deploy:
14+
runs-on: ubuntu-latest
15+
# Only run for pushes by repo collaborators, not automated merges from unknown sources
16+
if: github.repository == 'mcpmux/mcp-mux'
17+
steps:
18+
- name: Trigger mcpmux.com rebuild
19+
run: |
20+
curl -s -X POST "$CF_PAGES_DEPLOY_HOOK"
21+
env:
22+
CF_PAGES_DEPLOY_HOOK: ${{ secrets.CF_PAGES_DEPLOY_HOOK }}
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
name: Download Stats to PostHog
2+
3+
on:
4+
schedule:
5+
# Run daily at 06:00 UTC
6+
- cron: '0 6 * * *'
7+
workflow_dispatch: # Allow manual trigger
8+
9+
jobs:
10+
report-downloads:
11+
runs-on: ubuntu-latest
12+
steps:
13+
- name: Send download counts to PostHog
14+
env:
15+
POSTHOG_KEY: ${{ secrets.VITE_POSTHOG_KEY }}
16+
POSTHOG_HOST: ${{ secrets.VITE_POSTHOG_HOST }}
17+
GH_TOKEN: ${{ github.token }}
18+
run: |
19+
POSTHOG_HOST="${POSTHOG_HOST:-https://us.i.posthog.com}"
20+
21+
# Fetch all releases
22+
releases=$(gh api repos/${{ github.repository }}/releases --paginate)
23+
24+
# Parse and send per-release download counts
25+
echo "$releases" | jq -c '.[]' | while read -r release; do
26+
tag=$(echo "$release" | jq -r '.tag_name')
27+
published=$(echo "$release" | jq -r '.published_at')
28+
29+
# Count real downloads (exclude .sig files and latest.json)
30+
downloads=$(echo "$release" | jq '[.assets[] | select(.name | (endswith(".sig") or . == "latest.json") | not) | .download_count] | add // 0')
31+
32+
# Per-platform counts
33+
windows=$(echo "$release" | jq '[.assets[] | select(.name | test("\\.(msi|exe)$")) | select(.name | endswith(".sig") | not) | .download_count] | add // 0')
34+
macos=$(echo "$release" | jq '[.assets[] | select(.name | endswith(".dmg")) | .download_count] | add // 0')
35+
linux=$(echo "$release" | jq '[.assets[] | select(.name | test("\\.(deb|rpm|AppImage)$")) | .download_count] | add // 0')
36+
37+
# latest.json hits (proxy for active installs checking for updates)
38+
updater_checks=$(echo "$release" | jq '[.assets[] | select(.name == "latest.json") | .download_count] | add // 0')
39+
40+
echo " $tag: $downloads downloads (win=$windows, mac=$macos, linux=$linux, updater=$updater_checks)"
41+
42+
# Send to PostHog
43+
curl -s -o /dev/null "${POSTHOG_HOST}/capture/" \
44+
-H 'Content-Type: application/json' \
45+
-d "{
46+
\"api_key\": \"${POSTHOG_KEY}\",
47+
\"event\": \"release_downloads\",
48+
\"distinct_id\": \"github-release-stats\",
49+
\"properties\": {
50+
\"version\": \"${tag}\",
51+
\"published_at\": \"${published}\",
52+
\"total_downloads\": ${downloads},
53+
\"windows_downloads\": ${windows},
54+
\"macos_downloads\": ${macos},
55+
\"linux_downloads\": ${linux},
56+
\"updater_checks\": ${updater_checks}
57+
}
58+
}"
59+
done
60+
61+
echo "Done reporting download stats to PostHog"

.github/workflows/e2e-desktop.yml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,26 @@ jobs:
127127
xvfb-run --auto-servernum pnpm test:e2e
128128
'
129129
130+
- name: Install matching EdgeDriver (Windows)
131+
if: matrix.os == 'windows-latest'
132+
shell: pwsh
133+
run: |
134+
# Tauri uses the WebView2 runtime, not Edge directly.
135+
# msedgedriver must match the WebView2 runtime version, not the Edge browser version.
136+
$wv2Key = 'HKLM:\SOFTWARE\WOW6432Node\Microsoft\EdgeUpdate\Clients\{F3017226-FE2A-4295-8BDF-00C3A9A7E4C5}'
137+
if (-not (Test-Path $wv2Key)) { $wv2Key = 'HKLM:\SOFTWARE\Microsoft\EdgeUpdate\Clients\{F3017226-FE2A-4295-8BDF-00C3A9A7E4C5}' }
138+
$wv2Version = (Get-ItemProperty $wv2Key).pv
139+
Write-Host "WebView2 runtime version: $wv2Version"
140+
$driverUrl = "https://msedgewebdriverstorage.blob.core.windows.net/edgewebdriver/$wv2Version/edgedriver_win64.zip"
141+
$zipPath = "$env:TEMP\edgedriver.zip"
142+
$extractDir = "$env:TEMP\edgedriver"
143+
Invoke-WebRequest -Uri $driverUrl -OutFile $zipPath
144+
Expand-Archive -Path $zipPath -DestinationPath $extractDir -Force
145+
$driverDir = "$extractDir\edgedriver_win64"
146+
if (-not (Test-Path "$driverDir\msedgedriver.exe")) { $driverDir = $extractDir }
147+
Write-Host "EdgeDriver path: $driverDir"
148+
echo "$driverDir" | Out-File -Append -Encoding utf8 $env:GITHUB_PATH
149+
130150
- name: Run desktop E2E tests (Windows)
131151
if: matrix.os == 'windows-latest'
132152
run: pnpm test:e2e

.github/workflows/release.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -177,6 +177,8 @@ jobs:
177177
TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY_PASSWORD }}
178178
PKG_CONFIG_PATH: /usr/lib/x86_64-linux-gnu/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig
179179
APPLE_SIGNING_IDENTITY: ${{ steps.apple-cert.outputs.identity }}
180+
VITE_POSTHOG_KEY: ${{ secrets.VITE_POSTHOG_KEY }}
181+
VITE_POSTHOG_HOST: ${{ secrets.VITE_POSTHOG_HOST }}
180182
with:
181183
projectPath: apps/desktop
182184
# Upload to the existing draft release

.release-please-manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
{
2-
".": "0.2.1"
2+
".": "0.2.2"
33
}

CHANGELOG.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,19 @@
11
# Changelog
22

3+
## [0.2.2](https://github.com/mcpmux/mcp-mux/compare/v0.2.1...v0.2.2) (2026-02-20)
4+
5+
6+
### Bug Fixes
7+
8+
* detect OAuth requirement from unexpected content-type responses ([#128](https://github.com/mcpmux/mcp-mux/issues/128)) ([d894d17](https://github.com/mcpmux/mcp-mux/commit/d894d17c7c4c5841b7eb39dc1d7068dbcb447656))
9+
* wire up HTTP definition headers orthogonally from auth ([#125](https://github.com/mcpmux/mcp-mux/issues/125)) ([04380e0](https://github.com/mcpmux/mcp-mux/commit/04380e0979ab428351185d381001d209e6a4993b))
10+
11+
12+
### Documentation
13+
14+
* add user guide with screenshots ([#130](https://github.com/mcpmux/mcp-mux/issues/130)) ([a97a133](https://github.com/mcpmux/mcp-mux/commit/a97a1333520fc1ac54f061344970cf493807ca87))
15+
* add user guide with screenshots ([#131](https://github.com/mcpmux/mcp-mux/issues/131)) ([ee28e8b](https://github.com/mcpmux/mcp-mux/commit/ee28e8be432d2b1532f3f98067ba9004c4a18374))
16+
317
## [0.2.1](https://github.com/mcpmux/mcp-mux/compare/v0.2.0...v0.2.1) (2026-02-19)
418

519

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ members = [
1010
]
1111

1212
[workspace.package]
13-
version = "0.2.1"
13+
version = "0.2.2"
1414
edition = "2021"
1515
license = "GPL-3.0-or-later"
1616
repository = "https://github.com/mcpmux/mcpmux"

apps/desktop/.env.example

Lines changed: 0 additions & 7 deletions
This file was deleted.

apps/desktop/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
"@tauri-apps/plugin-updater": "^2",
2525
"immer": "^11.0.1",
2626
"lucide-react": "^0.561.0",
27+
"posthog-js": "^1.351.4",
2728
"react": "^19.1.0",
2829
"react-dom": "^19.1.0",
2930
"zustand": "^5.0.9"

apps/desktop/src-tauri/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "mcpmux"
3-
version = "0.2.1"
3+
version = "0.2.2"
44
edition.workspace = true
55
publish = false
66
description = "McpMux - Centralized MCP Server Management"

0 commit comments

Comments
 (0)