Skip to content

port(upstream#2007): 23 more names in the channel rainbow list - #50

Merged
dborup merged 6 commits into
masterfrom
codex/port-upstream-2007-rainbow-channel-names
Sep 19, 2026
Merged

dborup merged 6 commits into
masterfrom
codex/port-upstream-2007-rainbow-channel-names

Conversation

@adminopenclaw8-sketch

@adminopenclaw8-sketch adminopenclaw8-sketch commented Sep 13, 2026 •

Copy link
Copy Markdown
Collaborator

Update 2026-09-19: synced with master after #67


Split out of #25 (commit abef6d3a there). This branch holds exactly one upstream change so it can be reviewed, tested and reverted on its own.

Upstream

Problem

The ingestor's hashtag-channel guess list (channel-rainbow.json, name → derived key) lacked 23 generic channel names seen in operators' client-side lists.

Change

Adds those 23 names (297 → 320 entries). Upstream checked every added name against stored ciphertext on two archives before landing it.

Adaptation to this fork

None. The cherry-pick applied without conflicts and the changed lines are identical to upstream.

Notes for review

Effect: traffic on those hashtag channels is decrypted and named automatically. The file is read by the ingestor at startup (cmd/ingestor/main.go) and copied by Dockerfile.go.

Dependencies and merge order

Verification

Local run of the same commands as CI's “Go Build & Test” job (server tests with -race), on this branch and on master fda24ca5 under the same conditions (same machine, run one after another):

Check master fda24ca5 this branch verdict
go-ingestor-build-vet PASS PASS
go-ingestor-test FAIL FAIL TestPruneOldNeighborMetrics baseline failure, unchanged
channel-lib-test PASS PASS
decrypt-cli-build-test PASS PASS
dockerfile-copy-invariants FAIL FAIL not runnable locally: script needs bash ≥4 (declare -A), macOS has 3.2; identical on master
staging-disk-monitor PASS PASS
css-vars-lint PASS PASS

Baseline failures (fail identically on master; not introduced or changed here): see rows marked baseline failure, unchanged.

Browser validation (local, fixture DB, no staging/production): Not applicable (no frontend change).

Not run:

  • Playwright E2E suites (no local Playwright install); CI's E2E job will also be skipped, see below.
  • eslint (not installed locally; CI installs it on the fly).
  • Go -race/tests for modules this PR does not touch (unchanged code, identical to master).
  • Browser tests against staging/production (deliberately none).

Expected GitHub CI: “Go Build & Test” is expected to fail on TestPruneOldNeighborMetrics, which already fails on master (see #25's run). Downstream jobs (Playwright, image build) are therefore skipped. “Deploy Staging” and all GHCR publish steps only run on push to master and cannot run for this PR.
Two further ingestor tests have failed intermittently in this split's CI on branches whose cmd/ingestor tree is byte-identical to master (#27, #28), so they can also appear here without being caused by this change:

GitHub CI result: run 34753115957 on 7cc34f0f. Go Build & Test: failure; all downstream jobs incl. Deploy Staging skipped. Failed tests:

  • TestPruneOldNeighborMetrics: fails on master, documented baseline
  • TestBackfillTxLastSeen_ResolvesFromMaxObservationTimestamp: intermittent, reproduced on unmodified master locally

🤖 Generated with Claude Code

Update — current master 693eb04 (2026-09-17)

The existing PR branch was updated without force-push from 7cc34f0f to bdde3e3f. The merge graph preserves the original upstream-attributed commit, incorporates green master 693eb045dbb10ecdd4657444134a696f007297e1, and includes the verified local prep commit 18f6d3db.

The PR diff against current master is limited to channel-rainbow.json and internal/channel/channel_rainbow_test.go.

Fresh verification on bdde3e3

  • JSON parse and schema check: PASS — object with 320 entries, all values valid 16-byte hex keys
  • cd internal/channel && go test ./...: PASS; validates entry count, duplicate names/keys, firmware-default Public key, and every derived key
  • git diff --check: PASS

No staging, production, deployment, workflow, or auto-merge action was performed. GitHub PR CI: run 35220101234 completed with failure. Go/build gates passed; Playwright failed the existing Kpa-clawbot#1122/Kpa-clawbot#1124 path-row-height assertion (69–84 px, limit <60 px). That assertion passed on green master run 35212554871, while this PR changes only rainbow channel JSON and its Go validation test, so this is recorded as a new unrelated CI deviation rather than hidden as a baseline failure. Release, image publication, staging deploy, and badge publication were skipped. No retry or unrelated fix was made.

Update — current master 37d82e8 (2026-09-18)

The existing PR branch was updated without force-push from bdde3e3f to a0d3fdd9, an ordinary merge commit. The merge graph incorporates green master 37d82e8a1844234e498c0c909d0fb1155ea858d7, which now includes PR #64 and PR #48 (see PR #28's update for detail — this branch inherits the same base).

The PR diff against current master remains exactly channel-rainbow.json + internal/channel/channel_rainbow_test.go (121 lines). git diff --check clean. .github/workflows/ unchanged by this branch.

Fresh verification on a0d3fdd

  • channel-rainbow.json: valid JSON, 320 entries, diff is purely additive (23 new keys after Public, no existing key/value touched)
  • cd internal/channel && go test ./...: PASS — TestChannelRainbowMatchesDeriveKey validates entry count, no duplicate names/keys, the firmware-default Public key, and every other entry's key against DeriveKey(name)

Kpa-clawbot#1122/Kpa-clawbot#1124 row-height investigation

The prior CI run (35220101234 on bdde3e3f) failed test-issue-1122-packets-filter-ux-e2e.js's row-height assertion. This PR touches no packets-page code, so the failure was investigated rather than written off as baseline, per developer instruction. Findings, most important first:

  1. Under CI-faithful local conditions (fixture freshened via tools/freshen-fixture.sh, matching the exact CI pipeline step, then migrated), the test passes cleanly and repeatably: 6/6 assertions, 3/3 runs, on current master, on this PR's new head a0d3fdd9, and on the old 693eb045 baseline the prior CI run for this same assertion was green against. This is established by direct local reproduction, not hypothesis, and rules out a code-level regression in this PR or in master's recent history — the same result holds across all three commits under identical faithful conditions.
  2. A first pass without fixture-freshening (an incomplete reproduction of CI's process, using the committed fixture's own stale dates as-is) does show a real, separate row-height issue, reproducible identically on the PR#50 candidate, current master, and 693eb045 alike: table row height is set by its tallest cell, and .data-table td.col-details's base (desktop) CSS rule (white-space: normal; word-break: break-word) has no line/height clamp — only a mobile media query clamps it. A row with long details/tag text can wrap to multiple lines and stretch the whole row, including the already-correctly-bounded .col-details td.col-path cell (height: 28px from the bug(packets): filter UX disaster — help panel overlaps table, toolbar chaotic, path chips spill rows Kpa-clawbot/CoreScope#1122/bug(packets): layout chaos — path chips spill rows, +N popover overlaps, filter chips collide with toolbar, Saved dropdown bleeds through Kpa-clawbot/CoreScope#1128 fix, which itself works — the sibling cell is what drags the row taller). This is a genuine, verifiable CSS behavior, confirmed via live DOM/computed-style inspection, but it only manifests with this PR's ad-hoc stale-fixture setup, not under CI's actual (freshened) conditions — so it does not explain the CI failure either, and is noted here only for completeness, not as an action item.
  3. What is not established: why the specific CI run on bdde3e3f failed. It cannot be reproduced locally even with fixture-freshening applied; the "Seed grouped-packet row for Packets page collapse button in the left column of the table opens the dialog. Kpa-clawbot/CoreScope#1486 collapse test" CI step (an additional SQL insert before the server starts) was not replicated locally, and may account for the difference, as could headless-Chromium/font-rendering differences between this Mac and the CI runner. This can only be settled by observing the fresh CI run on the new head — it is not something this local investigation could resolve further without expanding scope into CI-environment replication.

No staging, production, deployment, workflow, or auto-merge action was performed. All local servers, temp DBs, and scratch checkouts used for this investigation were cleaned up afterward.

🤖 Generated with Claude Code

nullrouten0 and others added 5 commits September 13, 2026 10:43
Verified: every value is SHA-256(name)[:16] per internal/channel.DeriveKey, 319/320 exact (Public is the fixed firmware default), no duplicate hashes, file parses at 320 entries.
(cherry picked from commit c283f42)
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Verified: every value is SHA-256(name)[:16] per internal/channel.DeriveKey, 319/320 exact (Public is the fixed firmware default), no duplicate hashes, file parses at 320 entries.
(cherry picked from commit c283f42)
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Brings in:
- #64: fix(nodes): separate advert timestamps from confirmed relay activity
- #48: test(ingestor): reconcile watchdog Stop-test coverage (StopJoinsLoop + StopIsIdempotent)

No conflicts. PR #50's own change (channel-rainbow.json, internal/channel/channel_rainbow_test.go) is untouched by this merge. Does not address the row-height test Kpa-clawbot#1122/Kpa-clawbot#1124 failure — that is investigated separately, unresolved.
dborup added a commit that referenced this pull request Sep 19, 2026
@dborup
dborup merged commit 8b9b9d6 into master Sep 19, 2026
6 checks passed
dborup pushed a commit that referenced this pull request Sep 19, 2026
Brings the branch up to master 8b9b9d6 so CI runs on the current
master. No conflicts; no file overlaps with the Reach privacy change.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants