From 08389091d19a37ee50708ca2f8d546bcdb6315e4 Mon Sep 17 00:00:00 2001
From: kellylford
Date: Sat, 10 Oct 2026 10:29:58 -0500
Subject: [PATCH 1/2] Prepare The Card Place and TheWorkBench for the move to
TheIdeaPlace
- Room services accept https://theideaplace.github.io as well as the old
origin, so multiplayer keeps working across the move.
- shared/js/settings-import.js imports a player's settings carried over
from kellylford.github.io by the forwarding site, once, for the games'
own keys only, never over settings already saved. Tested.
- Repo and site addresses point at TheIdeaPlace/TheWorkBench and
theideaplace.github.io/TheWorkBench.
Co-Authored-By: Claude Opus 5.5
---
.github/workflows/card-games-tests.yml | 2 +
.github/workflows/deploy-cribbage-room.yml | 4 +-
.github/workflows/deploy-euchre-room.yml | 4 +-
.github/workflows/deploy-hearts-room.yml | 4 +-
.github/workflows/deploy-sheephead-room.yml | 4 +-
.github/workflows/deploy-spades-room.yml | 4 +-
.github/workflows/release-claudespeak.yml | 2 +-
404.html | 2 +-
ClaudeSpeak/README.md | 4 +-
ClaudeSpeak/announcement-email.txt | 2 +-
README.md | 2 +-
UiaNotifyDemo/UIANotification.txt.txt | 2 +-
hyperv-manage/README.md | 2 +-
mlb/_build/mkindex.py | 2 +-
mlb/index.html | 2 +-
thecardplace/Cribbage/index.html | 2 +-
thecardplace/TESTING.md | 14 ++--
thecardplace/cribbage-multiplayer/index.html | 2 +
thecardplace/cribbage-multiplayer/js/ui.js | 6 +-
.../cribbage-multiplayer/worker/wrangler.toml | 2 +-
thecardplace/euchre/index.html | 2 +
thecardplace/euchre/js/ui.js | 6 +-
thecardplace/euchre/worker/wrangler.toml | 2 +-
thecardplace/hearts/index.html | 2 +
thecardplace/hearts/js/ui.js | 4 +-
thecardplace/hearts/worker/wrangler.toml | 2 +-
thecardplace/index.html | 2 +-
thecardplace/ios/store/app-store.json | 6 +-
thecardplace/privacy.html | 2 +-
thecardplace/shared/js/settings-import.js | 43 +++++++++++
thecardplace/shared/tests/settings-import.js | 72 +++++++++++++++++++
thecardplace/sheephead-multiplayer/PLAN.md | 6 +-
thecardplace/sheephead-multiplayer/README.md | 4 +-
thecardplace/sheephead-multiplayer/index.html | 2 +
thecardplace/sheephead-multiplayer/js/ui.js | 6 +-
.../tests/live-presence.js | 2 +-
.../sheephead-multiplayer/tests/live-room.js | 2 +-
.../worker/wrangler.toml | 2 +-
thecardplace/sheephead/README.md | 2 +-
thecardplace/sheephead/index.html | 2 +
thecardplace/sheephead/js/ui.js | 4 +-
thecardplace/spades/index.html | 2 +
thecardplace/spades/js/ui.js | 4 +-
thecardplace/spades/worker/wrangler.toml | 2 +-
44 files changed, 190 insertions(+), 61 deletions(-)
create mode 100644 thecardplace/shared/js/settings-import.js
create mode 100644 thecardplace/shared/tests/settings-import.js
diff --git a/.github/workflows/card-games-tests.yml b/.github/workflows/card-games-tests.yml
index f4296ab..3f30b8f 100644
--- a/.github/workflows/card-games-tests.yml
+++ b/.github/workflows/card-games-tests.yml
@@ -89,6 +89,8 @@ jobs:
# nothing at all. Cheap, and it caught its own first draft.
- name: No invisible characters in source
run: node shared/tests/no-control-characters.js
+ - name: Settings carried over from the old address
+ run: node shared/tests/settings-import.js
# Do the games agree with EACH OTHER? Every other audit asks whether one
# game is right; each of them passed while the set of them drifted apart,
diff --git a/.github/workflows/deploy-cribbage-room.yml b/.github/workflows/deploy-cribbage-room.yml
index 0ccc1b6..2e674fe 100644
--- a/.github/workflows/deploy-cribbage-room.yml
+++ b/.github/workflows/deploy-cribbage-room.yml
@@ -7,7 +7,7 @@ name: Deploy Cribbage room
#
# Setup, once — and note that this reuses the credentials the sheephead room
# already needs, so if that Worker deploys, this one will too:
-# gh secret set CLOUDFLARE_API_TOKEN --repo kellylford/TheWorkBench
+# gh secret set CLOUDFLARE_API_TOKEN --repo TheIdeaPlace/TheWorkBench
# CLOUDFLARE_ACCOUNT_ID is a repository VARIABLE, not a secret — it identifies
# the account rather than granting anything.
#
@@ -97,7 +97,7 @@ jobs:
run: |
set -euo pipefail
if [ -z "${TOKEN}" ]; then
- echo "::error::CLOUDFLARE_API_TOKEN is not set. gh secret set CLOUDFLARE_API_TOKEN --repo kellylford/TheWorkBench"
+ echo "::error::CLOUDFLARE_API_TOKEN is not set. gh secret set CLOUDFLARE_API_TOKEN --repo TheIdeaPlace/TheWorkBench"
exit 1
fi
if [ -z "${ACCOUNT}" ]; then
diff --git a/.github/workflows/deploy-euchre-room.yml b/.github/workflows/deploy-euchre-room.yml
index 1ce19c0..ad8b796 100644
--- a/.github/workflows/deploy-euchre-room.yml
+++ b/.github/workflows/deploy-euchre-room.yml
@@ -7,7 +7,7 @@ name: Deploy Euchre room
#
# Setup, once — and note that this reuses the credentials the sheephead room
# already needs, so if that Worker deploys, this one will too:
-# gh secret set CLOUDFLARE_API_TOKEN --repo kellylford/TheWorkBench
+# gh secret set CLOUDFLARE_API_TOKEN --repo TheIdeaPlace/TheWorkBench
# CLOUDFLARE_ACCOUNT_ID is a repository VARIABLE, not a secret — it identifies
# the account rather than granting anything.
#
@@ -97,7 +97,7 @@ jobs:
run: |
set -euo pipefail
if [ -z "${TOKEN}" ]; then
- echo "::error::CLOUDFLARE_API_TOKEN is not set. gh secret set CLOUDFLARE_API_TOKEN --repo kellylford/TheWorkBench"
+ echo "::error::CLOUDFLARE_API_TOKEN is not set. gh secret set CLOUDFLARE_API_TOKEN --repo TheIdeaPlace/TheWorkBench"
exit 1
fi
if [ -z "${ACCOUNT}" ]; then
diff --git a/.github/workflows/deploy-hearts-room.yml b/.github/workflows/deploy-hearts-room.yml
index d8d5eb4..04fdcc9 100644
--- a/.github/workflows/deploy-hearts-room.yml
+++ b/.github/workflows/deploy-hearts-room.yml
@@ -7,7 +7,7 @@ name: Deploy Hearts room
#
# Setup, once — and note that this reuses the credentials the sheephead room
# already needs, so if that Worker deploys, this one will too:
-# gh secret set CLOUDFLARE_API_TOKEN --repo kellylford/TheWorkBench
+# gh secret set CLOUDFLARE_API_TOKEN --repo TheIdeaPlace/TheWorkBench
# CLOUDFLARE_ACCOUNT_ID is a repository VARIABLE, not a secret — it identifies
# the account rather than granting anything.
#
@@ -97,7 +97,7 @@ jobs:
run: |
set -euo pipefail
if [ -z "${TOKEN}" ]; then
- echo "::error::CLOUDFLARE_API_TOKEN is not set. gh secret set CLOUDFLARE_API_TOKEN --repo kellylford/TheWorkBench"
+ echo "::error::CLOUDFLARE_API_TOKEN is not set. gh secret set CLOUDFLARE_API_TOKEN --repo TheIdeaPlace/TheWorkBench"
exit 1
fi
if [ -z "${ACCOUNT}" ]; then
diff --git a/.github/workflows/deploy-sheephead-room.yml b/.github/workflows/deploy-sheephead-room.yml
index 452fc98..88a1f97 100644
--- a/.github/workflows/deploy-sheephead-room.yml
+++ b/.github/workflows/deploy-sheephead-room.yml
@@ -6,7 +6,7 @@ name: Deploy Sheephead room
# on main.
#
# Setup, once:
-# gh secret set CLOUDFLARE_API_TOKEN --repo kellylford/TheWorkBench
+# gh secret set CLOUDFLARE_API_TOKEN --repo TheIdeaPlace/TheWorkBench
# CLOUDFLARE_ACCOUNT_ID is a repository VARIABLE, not a secret — it identifies
# the account rather than granting anything.
#
@@ -96,7 +96,7 @@ jobs:
run: |
set -euo pipefail
if [ -z "${TOKEN}" ]; then
- echo "::error::CLOUDFLARE_API_TOKEN is not set. gh secret set CLOUDFLARE_API_TOKEN --repo kellylford/TheWorkBench"
+ echo "::error::CLOUDFLARE_API_TOKEN is not set. gh secret set CLOUDFLARE_API_TOKEN --repo TheIdeaPlace/TheWorkBench"
exit 1
fi
if [ -z "${ACCOUNT}" ]; then
diff --git a/.github/workflows/deploy-spades-room.yml b/.github/workflows/deploy-spades-room.yml
index 276abc0..ca4433c 100644
--- a/.github/workflows/deploy-spades-room.yml
+++ b/.github/workflows/deploy-spades-room.yml
@@ -7,7 +7,7 @@ name: Deploy Spades room
#
# Setup, once — and note that this reuses the credentials the sheephead room
# already needs, so if that Worker deploys, this one will too:
-# gh secret set CLOUDFLARE_API_TOKEN --repo kellylford/TheWorkBench
+# gh secret set CLOUDFLARE_API_TOKEN --repo TheIdeaPlace/TheWorkBench
# CLOUDFLARE_ACCOUNT_ID is a repository VARIABLE, not a secret — it identifies
# the account rather than granting anything.
#
@@ -97,7 +97,7 @@ jobs:
run: |
set -euo pipefail
if [ -z "${TOKEN}" ]; then
- echo "::error::CLOUDFLARE_API_TOKEN is not set. gh secret set CLOUDFLARE_API_TOKEN --repo kellylford/TheWorkBench"
+ echo "::error::CLOUDFLARE_API_TOKEN is not set. gh secret set CLOUDFLARE_API_TOKEN --repo TheIdeaPlace/TheWorkBench"
exit 1
fi
if [ -z "${ACCOUNT}" ]; then
diff --git a/.github/workflows/release-claudespeak.yml b/.github/workflows/release-claudespeak.yml
index 3415082..ffa9ece 100644
--- a/.github/workflows/release-claudespeak.yml
+++ b/.github/workflows/release-claudespeak.yml
@@ -66,7 +66,7 @@ jobs:
`install.ps1 -WhatIf` / `install.sh --dry-run` show what they would do without changing
anything.
- Read the [README](https://github.com/kellylford/TheWorkBench/tree/main/ClaudeSpeak)
+ Read the [README](https://github.com/TheIdeaPlace/TheWorkBench/tree/main/ClaudeSpeak)
first — particularly the note on what does and does not get read aloud.
**macOS needs one checkbox.** The VoiceOver route requires *VoiceOver Utility → General
diff --git a/404.html b/404.html
index b451b4c..584bc1f 100644
--- a/404.html
+++ b/404.html
@@ -106,6 +106,6 @@ Page not found
all at The Card Place — they moved, and an
old link should have brought you straight there.
Everything else in this repository is on
-GitHub.
+GitHub.