Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .github/workflows/card-games-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/deploy-cribbage-room.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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.
#
Expand Down Expand Up @@ -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
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/deploy-euchre-room.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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.
#
Expand Down Expand Up @@ -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
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/deploy-hearts-room.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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.
#
Expand Down Expand Up @@ -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
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/deploy-sheephead-room.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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.
#
Expand Down Expand Up @@ -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
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/deploy-spades-room.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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.
#
Expand Down Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release-claudespeak.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion 404.html
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,6 @@ <h1>Page not found</h1>
all at <a href="/TheWorkBench/thecardplace/">The Card Place</a> &mdash; they moved, and an
old link should have brought you straight there.</p>
<p>Everything else in this repository is on
<a href="https://github.com/kellylford/TheWorkBench">GitHub</a>.</p>
<a href="https://github.com/TheIdeaPlace/TheWorkBench">GitHub</a>.</p>
</body>
</html>
4 changes: 2 additions & 2 deletions ClaudeSpeak/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.

Expand Down Expand Up @@ -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

Expand Down
2 changes: 1 addition & 1 deletion ClaudeSpeak/announcement-email.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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.

Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion UiaNotifyDemo/UIANotification.txt.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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.

Expand Down
2 changes: 1 addition & 1 deletion hyperv-manage/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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).
2 changes: 1 addition & 1 deletion mlb/_build/mkindex.py
Original file line number Diff line number Diff line change
Expand Up @@ -469,7 +469,7 @@ def trow(p):

<p class="prose">If something here is wrong &mdash; 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
&mdash; please <a href="https://github.com/kellylford/TheWorkBench/issues">file an issue on
&mdash; please <a href="https://github.com/TheIdeaPlace/TheWorkBench/issues">file an issue on
GitHub</a>. 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.</p>
Expand Down
2 changes: 1 addition & 1 deletion mlb/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -689,7 +689,7 @@ <h2 id="caveats">Before you buy</h2>

<p class="prose">If something here is wrong &mdash; 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
&mdash; please <a href="https://github.com/kellylford/TheWorkBench/issues">file an issue on
&mdash; please <a href="https://github.com/TheIdeaPlace/TheWorkBench/issues">file an issue on
GitHub</a>. 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.</p>
Expand Down
2 changes: 1 addition & 1 deletion thecardplace/Cribbage/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ <h2>Your Hand</h2>
<nav class="footer-links" aria-label="Elsewhere">
<a href="../index.html" class="hub-link">Back to The Card Place</a>
<a href="rules.html" target="_blank" rel="noopener noreferrer" class="rules-link">How to Play Cribbage</a>
<a href="https://github.com/kellylford/TheWorkBench/issues/new" target="_blank" rel="noopener noreferrer" class="issue-link">Report an Issue</a>
<a href="https://github.com/TheIdeaPlace/TheWorkBench/issues/new" target="_blank" rel="noopener noreferrer" class="issue-link">Report an Issue</a>
</nav>
</div>

Expand Down
14 changes: 7 additions & 7 deletions thecardplace/TESTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -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`
Expand Down
2 changes: 2 additions & 0 deletions thecardplace/cribbage-multiplayer/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -577,6 +577,8 @@ <h2 id="bug-h">Report a bug</h2>
</div>
</dialog>

<!-- Must run before the game reads its settings: brings them across from kellylford.github.io. -->
<script src="../shared/js/settings-import.js"></script>
<script src="js/cards.js"></script>
<script src="js/game.js"></script>
<script src="js/ai.js"></script>
Expand Down
6 changes: 3 additions & 3 deletions thecardplace/cribbage-multiplayer/js/ui.js
Original file line number Diff line number Diff line change
Expand Up @@ -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. */
Expand Down Expand Up @@ -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() {
Expand Down
2 changes: 1 addition & 1 deletion thecardplace/cribbage-multiplayer/worker/wrangler.toml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 2 additions & 0 deletions thecardplace/euchre/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -642,6 +642,8 @@ <h2 id="bug-h">Report a bug</h2>
</div>
</dialog>

<!-- Must run before the game reads its settings: brings them across from kellylford.github.io. -->
<script src="../shared/js/settings-import.js"></script>
<script src="js/cards.js"></script>
<script src="js/game.js"></script>
<script src="js/ai.js"></script>
Expand Down
6 changes: 3 additions & 3 deletions thecardplace/euchre/js/ui.js
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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() {
Expand Down
2 changes: 1 addition & 1 deletion thecardplace/euchre/worker/wrangler.toml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 2 additions & 0 deletions thecardplace/hearts/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -450,6 +450,8 @@ <h2 id="bug-h">Report a bug</h2>
</p>
</div>
</dialog>
<!-- Must run before the game reads its settings: brings them across from kellylford.github.io. -->
<script src="../shared/js/settings-import.js"></script>
<script src="js/config.js"></script>
<script src="js/cards.js"></script>
<script src="js/game.js"></script>
Expand Down
4 changes: 2 additions & 2 deletions thecardplace/hearts/js/ui.js
Original file line number Diff line number Diff line change
Expand Up @@ -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 = [];
Expand Down Expand Up @@ -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);
Expand Down
2 changes: 1 addition & 1 deletion thecardplace/hearts/worker/wrangler.toml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion thecardplace/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -276,7 +276,7 @@ <h2>Why these exist</h2>

<footer>
<p>Built by Kelly Ford. Source and issues on
<a href="https://github.com/kellylford/TheWorkBench">GitHub</a>.
<a href="https://github.com/TheIdeaPlace/TheWorkBench">GitHub</a>.
<a href="privacy.html">Privacy</a>.
Help with the app: <a href="mailto:support@theideaplace.net">support@theideaplace.net</a>.</p>
</footer>
Expand Down
6 changes: 3 additions & 3 deletions thecardplace/ios/store/app-store.json
Original file line number Diff line number Diff line change
Expand Up @@ -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": {
Expand Down
2 changes: 1 addition & 1 deletion thecardplace/privacy.html
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ <h2>The web games</h2>

<h2>Questions</h2>
<p>Email <a href="mailto:support@theideaplace.net">support@theideaplace.net</a>, or ask on
<a href="https://github.com/kellylford/TheWorkBench/issues">GitHub</a>.</p>
<a href="https://github.com/TheIdeaPlace/TheWorkBench/issues">GitHub</a>.</p>
</main>
<footer>
<p>Built by Kelly Ford.</p>
Expand Down
Loading
Loading