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.

diff --git a/ClaudeSpeak/README.md b/ClaudeSpeak/README.md index 96ea956..68d1cf4 100644 --- a/ClaudeSpeak/README.md +++ b/ClaudeSpeak/README.md @@ -15,7 +15,7 @@ has to be written out a second time as a tool call. ## Download -[**Latest release**](https://github.com/kellylford/TheWorkBench/releases?q=claudespeak&expanded=true) +[**Latest release**](https://github.com/TheIdeaPlace/TheWorkBench/releases?q=claudespeak&expanded=true) — a zip of just this folder. GitHub cannot download a single directory, so without it you would have to clone the whole repository. @@ -231,7 +231,7 @@ Particularly: judgement calls (code blocks dropped, tables dropped, URLs read as "link"). Those are guesses about what people want to hear, not findings. -Open an issue or a PR on [TheWorkBench](https://github.com/kellylford/TheWorkBench). +Open an issue or a PR on [TheWorkBench](https://github.com/TheIdeaPlace/TheWorkBench). ## Choosing a route diff --git a/ClaudeSpeak/announcement-email.txt b/ClaudeSpeak/announcement-email.txt index a378d92..cdfaa0d 100644 --- a/ClaudeSpeak/announcement-email.txt +++ b/ClaudeSpeak/announcement-email.txt @@ -13,7 +13,7 @@ https://support.claude.com/en/articles/15924927-use-claude-code-cli-with-a-scree That setting and this are addressing different halves of the same problem - one changes what Claude Code renders, the other changes how the reply reaches you - so they are worth trying together rather than instead of each other. -https://github.com/kellylford/TheWorkBench/tree/main/ClaudeSpeak +https://github.com/TheIdeaPlace/TheWorkBench/tree/main/ClaudeSpeak Up front: I built this with Claude, and Claude wrote essentially all of the code and documentation. I directed it, tested it, and told it when something sounded wrong. I am flagging that partly for honesty and partly because it is relevant to how you read the technical claims further down - those are Claude's findings and Claude's understanding, not things I independently verified. diff --git a/README.md b/README.md index 0952fd7..23870be 100644 --- a/README.md +++ b/README.md @@ -128,7 +128,7 @@ Contributions to existing projects are welcome. If you have a script, app or oth [2]: ./win11arm-install [3]: ./LICENSE [4]: ./thecardplace/sheephead -[5]: https://kellylford.github.io/TheWorkBench/thecardplace/ +[5]: https://theideaplace.github.io/TheWorkBench/thecardplace/ [6]: ./thecardplace/Cribbage [7]: ./thecardplace/TESTING.md [8]: ./thecardplace/sheephead-multiplayer diff --git a/UiaNotifyDemo/UIANotification.txt.txt b/UiaNotifyDemo/UIANotification.txt.txt index 76b5e8a..c215731 100644 --- a/UiaNotifyDemo/UIANotification.txt.txt +++ b/UiaNotifyDemo/UIANotification.txt.txt @@ -54,7 +54,7 @@ The element can be the window itself — no hidden control or off-screen live re I've put a small standalone demo app in my TheWorkBench repo that you can clone and run: - https://github.com/kellylford/TheWorkBench/tree/main/UiaNotifyDemo + https://github.com/TheIdeaPlace/TheWorkBench/tree/main/UiaNotifyDemo It's a single window: a text box and two buttons, one for each processing mode. The AccessibilityHelper.cs in there is the same class QuickMail uses in production. I've tested it with NVDA and JAWS; both respond correctly. Narrator works too. diff --git a/hyperv-manage/README.md b/hyperv-manage/README.md index 35739d0..1ab4c97 100644 --- a/hyperv-manage/README.md +++ b/hyperv-manage/README.md @@ -3,6 +3,6 @@ Hyper-V Manage now has its own repository, with its history: **[TheIdeaPlace/HyperVManage](https://github.com/TheIdeaPlace/HyperVManage)**. -Releases 0.9.0 to 0.9.2 stay on [this repository's releases page](https://github.com/kellylford/TheWorkBench/releases?q=hyperv-manage). +Releases 0.9.0 to 0.9.2 stay on [this repository's releases page](https://github.com/TheIdeaPlace/TheWorkBench/releases?q=hyperv-manage). Later releases, with an installer that keeps itself up to date, are at [TheIdeaPlace/HyperVManage/releases](https://github.com/TheIdeaPlace/HyperVManage/releases). diff --git a/mlb/_build/mkindex.py b/mlb/_build/mkindex.py index ddc7e22..4c2b7d6 100644 --- a/mlb/_build/mkindex.py +++ b/mlb/_build/mkindex.py @@ -469,7 +469,7 @@ def trow(p):

If something here is wrong — a section placed on the wrong side of the park, a row range that does not match the ticket in your hand, a seat-numbering rule that reads backwards -— please file an issue on +— please file an issue on GitHub. Corrections from people who know a ballpark first-hand are the fastest way this gets better, and the underlying data files linked from every ballpark page are there so you can check the working.

diff --git a/mlb/index.html b/mlb/index.html index f1b6f7e..061c83d 100644 --- a/mlb/index.html +++ b/mlb/index.html @@ -689,7 +689,7 @@

Before you buy

If something here is wrong — a section placed on the wrong side of the park, a row range that does not match the ticket in your hand, a seat-numbering rule that reads backwards -— please file an issue on +— please file an issue on GitHub. Corrections from people who know a ballpark first-hand are the fastest way this gets better, and the underlying data files linked from every ballpark page are there so you can check the working.

diff --git a/thecardplace/Cribbage/index.html b/thecardplace/Cribbage/index.html index 90ee16a..8bc4625 100644 --- a/thecardplace/Cribbage/index.html +++ b/thecardplace/Cribbage/index.html @@ -81,7 +81,7 @@

Your Hand

diff --git a/thecardplace/TESTING.md b/thecardplace/TESTING.md index 036964f..31324d8 100644 --- a/thecardplace/TESTING.md +++ b/thecardplace/TESTING.md @@ -8,19 +8,19 @@ Five games, five rule sets, one shared conviction: **a test that cannot fail is Seven directories for five games. These are the addresses they are published at — the same ones a player's bug report pastes in, so one that is wrong here is wrong in the report too: -- **Euchre** — `euchre/` → https://kellylford.github.io/TheWorkBench/thecardplace/euchre/ -- **Hearts** — `hearts/` → https://kellylford.github.io/TheWorkBench/thecardplace/hearts/ -- **Spades** — `spades/` → https://kellylford.github.io/TheWorkBench/thecardplace/spades/ -- **Cribbage** — `cribbage-multiplayer/` → https://kellylford.github.io/TheWorkBench/thecardplace/cribbage-multiplayer/ -- **Sheephead** — `sheephead-multiplayer/` → https://kellylford.github.io/TheWorkBench/thecardplace/sheephead-multiplayer/ +- **Euchre** — `euchre/` → https://theideaplace.github.io/TheWorkBench/thecardplace/euchre/ +- **Hearts** — `hearts/` → https://theideaplace.github.io/TheWorkBench/thecardplace/hearts/ +- **Spades** — `spades/` → https://theideaplace.github.io/TheWorkBench/thecardplace/spades/ +- **Cribbage** — `cribbage-multiplayer/` → https://theideaplace.github.io/TheWorkBench/thecardplace/cribbage-multiplayer/ +- **Sheephead** — `sheephead-multiplayer/` → https://theideaplace.github.io/TheWorkBench/thecardplace/sheephead-multiplayer/ Those five are the games. Two of them have an ancestor kept for reference — the original single-player builds, forked rather than rewritten so the working game could not regress while the networked one was written. They are still published and still tested, and they are not what anything links: -- **Cribbage, the original** — `Cribbage/` → https://kellylford.github.io/TheWorkBench/thecardplace/Cribbage/ -- **Sheephead, the original** — `sheephead/` → https://kellylford.github.io/TheWorkBench/thecardplace/sheephead/ +- **Cribbage, the original** — `Cribbage/` → https://theideaplace.github.io/TheWorkBench/thecardplace/Cribbage/ +- **Sheephead, the original** — `sheephead/` → https://theideaplace.github.io/TheWorkBench/thecardplace/sheephead/ Every one of these moved once, too: they were published at the top of the site, without the `thecardplace/` in the middle. Those addresses still answer, because the repository's `404.html` diff --git a/thecardplace/cribbage-multiplayer/index.html b/thecardplace/cribbage-multiplayer/index.html index b70082e..a5ab110 100644 --- a/thecardplace/cribbage-multiplayer/index.html +++ b/thecardplace/cribbage-multiplayer/index.html @@ -577,6 +577,8 @@

Report a bug

+ + diff --git a/thecardplace/cribbage-multiplayer/js/ui.js b/thecardplace/cribbage-multiplayer/js/ui.js index 1f5e4e4..2821b49 100644 --- a/thecardplace/cribbage-multiplayer/js/ui.js +++ b/thecardplace/cribbage-multiplayer/js/ui.js @@ -46,7 +46,7 @@ /* Its own key, and this is not cosmetic. localStorage is scoped to the ORIGIN, * not the path — every game in this repository lives under the same - * kellylford.github.io — so a key shared with the stable Cribbage would mean + * theideaplace.github.io — so a key shared with the stable Cribbage would mean * every setting changed here also changed there. Only keys THIS build has * itself retired may ever appear in OLD_STORE_KEYS, because loadSettings * removes them. */ @@ -2419,8 +2419,8 @@ /* ---------------- bug reports ---------------- */ - var BUG_REPO = 'kellylford/TheWorkBench'; - var GAME_URL = 'https://kellylford.github.io/TheWorkBench/thecardplace/cribbage-multiplayer/'; + var BUG_REPO = 'TheIdeaPlace/TheWorkBench'; + var GAME_URL = 'https://theideaplace.github.io/TheWorkBench/thecardplace/cribbage-multiplayer/'; var MAX_URL = 6000; function bugTitle() { diff --git a/thecardplace/cribbage-multiplayer/worker/wrangler.toml b/thecardplace/cribbage-multiplayer/worker/wrangler.toml index 1c257bf..524074a 100644 --- a/thecardplace/cribbage-multiplayer/worker/wrangler.toml +++ b/thecardplace/cribbage-multiplayer/worker/wrangler.toml @@ -6,7 +6,7 @@ compatibility_date = "2026-01-01" # Origin check any page anywhere could open a socket to somebody's table — the # cheapest abuse defence there is, and the one most often left out. [vars] -ALLOWED_ORIGINS = "https://kellylford.github.io" +ALLOWED_ORIGINS = "https://kellylford.github.io,https://theideaplace.github.io" # One object per table. idFromName(code) means the join code IS the address: no # lookup table, no registry to keep in step, and two people typing the same code diff --git a/thecardplace/euchre/index.html b/thecardplace/euchre/index.html index a59e42f..ef63fd7 100644 --- a/thecardplace/euchre/index.html +++ b/thecardplace/euchre/index.html @@ -642,6 +642,8 @@

Report a bug

+ + diff --git a/thecardplace/euchre/js/ui.js b/thecardplace/euchre/js/ui.js index 4d56961..b2d698a 100644 --- a/thecardplace/euchre/js/ui.js +++ b/thecardplace/euchre/js/ui.js @@ -44,7 +44,7 @@ /* Its own key, and this is not cosmetic. localStorage is scoped to the ORIGIN, * not the path — every game in this repository lives under the same - * kellylford.github.io — so a key shared with another game means every setting + * theideaplace.github.io — so a key shared with another game means every setting * changed here also changes there. * * The sharp edge is below: loadSettings() calls removeItem on everything in @@ -2802,8 +2802,8 @@ /* ---------------- bug reports ---------------- */ - var BUG_REPO = 'kellylford/TheWorkBench'; - var GAME_URL = 'https://kellylford.github.io/TheWorkBench/thecardplace/euchre/'; + var BUG_REPO = 'TheIdeaPlace/TheWorkBench'; + var GAME_URL = 'https://theideaplace.github.io/TheWorkBench/thecardplace/euchre/'; var MAX_URL = 6000; function bugTitle() { diff --git a/thecardplace/euchre/worker/wrangler.toml b/thecardplace/euchre/worker/wrangler.toml index 12df5e7..2e78516 100644 --- a/thecardplace/euchre/worker/wrangler.toml +++ b/thecardplace/euchre/worker/wrangler.toml @@ -6,7 +6,7 @@ compatibility_date = "2026-01-01" # Origin check any page anywhere could open a socket to somebody's table — the # cheapest abuse defence there is, and the one most often left out. [vars] -ALLOWED_ORIGINS = "https://kellylford.github.io" +ALLOWED_ORIGINS = "https://kellylford.github.io,https://theideaplace.github.io" # One object per table. idFromName(code) means the join code IS the address: no # lookup table, no registry to keep in step, and two people typing the same code diff --git a/thecardplace/hearts/index.html b/thecardplace/hearts/index.html index d39683e..21df9a7 100644 --- a/thecardplace/hearts/index.html +++ b/thecardplace/hearts/index.html @@ -450,6 +450,8 @@

Report a bug

+ + diff --git a/thecardplace/hearts/js/ui.js b/thecardplace/hearts/js/ui.js index 3cf33e4..d0d4b0a 100644 --- a/thecardplace/hearts/js/ui.js +++ b/thecardplace/hearts/js/ui.js @@ -1166,7 +1166,7 @@ * It is also the address that changed under everybody's feet when the games * moved into thecardplace/, so a report holding the old one dates itself, * which is worth something on its own. */ - var GAME_URL = 'https://kellylford.github.io/TheWorkBench/thecardplace/hearts/'; + var GAME_URL = 'https://theideaplace.github.io/TheWorkBench/thecardplace/hearts/'; function bugReport() { var parts = []; @@ -1600,7 +1600,7 @@ bind('bug-copy', 'click', function () { copyText(bugReport(), 'The report'); }); bind('bug-open', 'click', function () { copyText(bugReport(), 'The report'); - global.open('https://github.com/kellylford/TheWorkBench/issues/new', '_blank', 'noopener'); + global.open('https://github.com/TheIdeaPlace/TheWorkBench/issues/new', '_blank', 'noopener'); }); ['bug-title', 'bug-what', 'bug-include-log'].forEach(function (id) { bind(id, 'input', refreshBugPreview); diff --git a/thecardplace/hearts/worker/wrangler.toml b/thecardplace/hearts/worker/wrangler.toml index c52851b..d1421a2 100644 --- a/thecardplace/hearts/worker/wrangler.toml +++ b/thecardplace/hearts/worker/wrangler.toml @@ -6,7 +6,7 @@ compatibility_date = "2026-01-01" # Origin check any page anywhere could open a socket to somebody's table — the # cheapest abuse defence there is, and the one most often left out. [vars] -ALLOWED_ORIGINS = "https://kellylford.github.io" +ALLOWED_ORIGINS = "https://kellylford.github.io,https://theideaplace.github.io" # One object per table. idFromName(code) means the join code IS the address: no # lookup table, no registry to keep in step, and two people typing the same code diff --git a/thecardplace/index.html b/thecardplace/index.html index 1c2904a..be5b271 100644 --- a/thecardplace/index.html +++ b/thecardplace/index.html @@ -276,7 +276,7 @@

Why these exist

diff --git a/thecardplace/ios/store/app-store.json b/thecardplace/ios/store/app-store.json index 25e9d01..86a579e 100644 --- a/thecardplace/ios/store/app-store.json +++ b/thecardplace/ios/store/app-store.json @@ -11,9 +11,9 @@ }, "content_rights": "DOES_NOT_USE_THIRD_PARTY_CONTENT", "urls": { - "support": "https://kellylford.github.io/TheWorkBench/thecardplace/", - "marketing": "https://kellylford.github.io/TheWorkBench/thecardplace/", - "privacy_policy": "https://kellylford.github.io/TheWorkBench/thecardplace/privacy.html" + "support": "https://theideaplace.github.io/TheWorkBench/thecardplace/", + "marketing": "https://theideaplace.github.io/TheWorkBench/thecardplace/", + "privacy_policy": "https://theideaplace.github.io/TheWorkBench/thecardplace/privacy.html" }, "_review_contact": "The App Review contact's name, phone and email are in ~/.thecardplace-keys/review-contact.json, not here: this repository is public.", "age_rating": { diff --git a/thecardplace/privacy.html b/thecardplace/privacy.html index 351b578..cf7c2a5 100644 --- a/thecardplace/privacy.html +++ b/thecardplace/privacy.html @@ -48,7 +48,7 @@

The web games

Questions

Email support@theideaplace.net, or ask on - GitHub.

+ GitHub.