feat: QR code phone pairing for Decky plugin + MangoHud guide revision + SteamOS version fix

- Add plugin_pairings table + migration (0028) for short-lived pairing sessions
- Add pairing API: POST /api/plugin/pair/initiate, GET /status/:token, POST /confirm
- Add /pair web page: user scans QR on phone, confirms, API key auto-created
- Plugin: 'Pair with Phone' button renders QR code (qrcode.react), polls for status, saves API key
- Plugin: new initiate_pair + check_pair_status Python RPCs
- Revise MangoHud Setup Guide into clean numbered steps
- Fix SteamOS version detection: read VERSION_ID + BUILD_ID (was just 'SteamOS')
This commit is contained in:
2026-06-28 22:09:39 +08:00
parent b637b55011
commit 1de08ed4ec
12 changed files with 3588 additions and 18 deletions
@@ -0,0 +1,12 @@
CREATE TABLE "plugin_pairings" (
"token" text PRIMARY KEY NOT NULL,
"user_id" text,
"api_key_id" text,
"api_key" text,
"status" text DEFAULT 'pending' NOT NULL,
"created_at" timestamp DEFAULT now() NOT NULL,
"confirmed_at" timestamp,
"expires_at" timestamp NOT NULL
);
--> statement-breakpoint
CREATE INDEX "plugin_pairings_userId_idx" ON "plugin_pairings" USING btree ("user_id");
File diff suppressed because it is too large Load Diff
+7
View File
@@ -197,6 +197,13 @@
"when": 1782593630361,
"tag": "0027_slimy_stryfe",
"breakpoints": true
},
{
"idx": 28,
"version": "7",
"when": 1782655457218,
"tag": "0028_thin_bloodstrike",
"breakpoints": true
}
]
}