fix(botfights): 1.2.2 — allow node-dashboard iframe embedding via ARCHY_EMBEDDED=1
Demo images / Build & push demo images (push) Has been cancelled
Demo images / Build & push demo images (push) Has been cancelled
1.2.x's auth-hardening work added Hono secureHeaders() with a default X-Frame-Options: SAMEORIGIN, which unconditionally blocked the Archipelago node dashboard's iframe (different origin by port) — a real regression versus 1.1.0, which never sent this header. Fixed upstream in the botfight repo (commit 8eb27ed): X-Frame-Options is now conditional on ARCHY_EMBEDDED, disabled only for the first-party node-embedded instance. apps/botfights/manifest.yml: image/version -> 1.2.2, adds ARCHY_EMBEDDED=1 to environment, drops the interim metadata.launch.open_in_new_tab workaround (no longer needed — the app can now be framed). app-catalog/catalog.json, scripts/image-versions.sh, neode-ui/public/catalog.json bumped in lockstep via scripts/generate-app-catalog.py. core/archipelago/src/fips/app_ports.rs regenerated (formatting only, same port set). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5
parent
a3b67c3d08
commit
3b3d22d0ce
@@ -109,12 +109,12 @@
|
|||||||
{
|
{
|
||||||
"id": "botfights",
|
"id": "botfights",
|
||||||
"title": "BotFights",
|
"title": "BotFights",
|
||||||
"version": "1.2.1",
|
"version": "1.2.2",
|
||||||
"description": "Bot competition arena with 2-player arcade fighting mode. AI bots battle in trivia challenges while humans duke it out with controllers. Built for Bitcoiners.",
|
"description": "Bot competition arena with 2-player arcade fighting mode. AI bots battle in trivia challenges while humans duke it out with controllers. Built for Bitcoiners.",
|
||||||
"icon": "/assets/img/app-icons/botfights.svg",
|
"icon": "/assets/img/app-icons/botfights.svg",
|
||||||
"author": "BotFights",
|
"author": "BotFights",
|
||||||
"category": "community",
|
"category": "community",
|
||||||
"dockerImage": "146.59.87.168:3000/lfg2025/botfights:1.2.1",
|
"dockerImage": "146.59.87.168:3000/lfg2025/botfights:1.2.2",
|
||||||
"repoUrl": "https://botfights.net",
|
"repoUrl": "https://botfights.net",
|
||||||
"containerConfig": {
|
"containerConfig": {
|
||||||
"ports": [
|
"ports": [
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
app:
|
app:
|
||||||
id: botfights
|
id: botfights
|
||||||
name: BotFights
|
name: BotFights
|
||||||
version: 1.2.1
|
version: 1.2.2
|
||||||
description: Bot competition arena with 2-player arcade fighting mode. AI bots battle in trivia challenges while humans duke it out with controllers. Built for Bitcoiners.
|
description: Bot competition arena with 2-player arcade fighting mode. AI bots battle in trivia challenges while humans duke it out with controllers. Built for Bitcoiners.
|
||||||
category: community
|
category: community
|
||||||
|
|
||||||
container:
|
container:
|
||||||
image: 146.59.87.168:3000/lfg2025/botfights:1.2.1
|
image: 146.59.87.168:3000/lfg2025/botfights:1.2.2
|
||||||
pull_policy: always
|
pull_policy: always
|
||||||
# Auto-generated on first install (random hex, 0600, rootless-owned). The
|
# Auto-generated on first install (random hex, 0600, rootless-owned). The
|
||||||
# 1.2.x image's server/src/middleware/jwt.ts throws at module import when
|
# 1.2.x image's server/src/middleware/jwt.ts throws at module import when
|
||||||
@@ -60,6 +60,11 @@ app:
|
|||||||
# without this var set), and an operator can remove this line entirely to
|
# without this var set), and an operator can remove this line entirely to
|
||||||
# run a fully standalone, node-local arena instead.
|
# run a fully standalone, node-local arena instead.
|
||||||
- ARENA_UPSTREAM_URL=https://botfights.archipelago-foundation.org
|
- ARENA_UPSTREAM_URL=https://botfights.archipelago-foundation.org
|
||||||
|
# Tells the app it is embedded (first-party) in the node dashboard's
|
||||||
|
# iframe, so it can safely disable X-Frame-Options: SAMEORIGIN — see
|
||||||
|
# server/src/app.ts in the botfight repo. Without this the 1.2.x image's
|
||||||
|
# default security headers block the dashboard iframe entirely.
|
||||||
|
- ARCHY_EMBEDDED=1
|
||||||
|
|
||||||
health_check:
|
health_check:
|
||||||
type: http
|
type: http
|
||||||
|
|||||||
@@ -6,7 +6,39 @@
|
|||||||
//! no listener, so allowing them is inert.
|
//! no listener, so allowing them is inert.
|
||||||
|
|
||||||
pub const APP_LAUNCH_PORTS: &[u16] = &[
|
pub const APP_LAUNCH_PORTS: &[u16] = &[
|
||||||
2283, 2342, 3000, 3001, 3002, 4080, 5180, 7778, 8080, 8081, 8082, 8083, 8084, 8085, 8087, 8088,
|
2283,
|
||||||
8089, 8090, 8096, 8123, 8175, 8176, 8240, 8334, 8888, 8999, 9000, 9100, 10380, 11434, 18081,
|
2342,
|
||||||
18083, 23000, 32838, 50002,
|
3000,
|
||||||
|
3001,
|
||||||
|
3002,
|
||||||
|
4080,
|
||||||
|
5180,
|
||||||
|
7778,
|
||||||
|
8080,
|
||||||
|
8081,
|
||||||
|
8082,
|
||||||
|
8083,
|
||||||
|
8084,
|
||||||
|
8085,
|
||||||
|
8087,
|
||||||
|
8088,
|
||||||
|
8089,
|
||||||
|
8090,
|
||||||
|
8096,
|
||||||
|
8123,
|
||||||
|
8175,
|
||||||
|
8176,
|
||||||
|
8240,
|
||||||
|
8334,
|
||||||
|
8888,
|
||||||
|
8999,
|
||||||
|
9000,
|
||||||
|
9100,
|
||||||
|
10380,
|
||||||
|
11434,
|
||||||
|
18081,
|
||||||
|
18083,
|
||||||
|
23000,
|
||||||
|
32838,
|
||||||
|
50002,
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -109,12 +109,12 @@
|
|||||||
{
|
{
|
||||||
"id": "botfights",
|
"id": "botfights",
|
||||||
"title": "BotFights",
|
"title": "BotFights",
|
||||||
"version": "1.1.0",
|
"version": "1.2.2",
|
||||||
"description": "Bot competition arena with 2-player arcade fighting mode. AI bots battle in trivia challenges while humans duke it out with controllers. Built for Bitcoiners.",
|
"description": "Bot competition arena with 2-player arcade fighting mode. AI bots battle in trivia challenges while humans duke it out with controllers. Built for Bitcoiners.",
|
||||||
"icon": "/assets/img/app-icons/botfights.svg",
|
"icon": "/assets/img/app-icons/botfights.svg",
|
||||||
"author": "BotFights",
|
"author": "BotFights",
|
||||||
"category": "community",
|
"category": "community",
|
||||||
"dockerImage": "146.59.87.168:3000/lfg2025/botfights:1.1.0",
|
"dockerImage": "146.59.87.168:3000/lfg2025/botfights:1.2.2",
|
||||||
"repoUrl": "https://botfights.net",
|
"repoUrl": "https://botfights.net",
|
||||||
"containerConfig": {
|
"containerConfig": {
|
||||||
"ports": [
|
"ports": [
|
||||||
|
|||||||
@@ -90,7 +90,7 @@ FIPS_UI_IMAGE="$ARCHY_REGISTRY/fips-ui:latest"
|
|||||||
ROUTSTR_IMAGE="$ARCHY_REGISTRY/routstr:v0.4.3"
|
ROUTSTR_IMAGE="$ARCHY_REGISTRY/routstr:v0.4.3"
|
||||||
|
|
||||||
# Community / Gaming
|
# Community / Gaming
|
||||||
BOTFIGHTS_IMAGE="$ARCHY_REGISTRY/botfights:1.2.1"
|
BOTFIGHTS_IMAGE="$ARCHY_REGISTRY/botfights:1.2.2"
|
||||||
|
|
||||||
# IndeedHub stack
|
# IndeedHub stack
|
||||||
INDEEDHUB_IMAGE="$ARCHY_REGISTRY/indeedhub:1.0.0"
|
INDEEDHUB_IMAGE="$ARCHY_REGISTRY/indeedhub:1.0.0"
|
||||||
|
|||||||
Reference in New Issue
Block a user