Repository navigation
port(upstream#2007): 23 more names in the channel rainbow list - #50
Merged
Merged
Conversation
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
pushed a commit
that referenced
this pull request
Sep 19, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Update 2026-09-19: synced with master after #67
31c2aa8e3869822f79a8414d89277d5552669056(includes fix(packets): keep the Details summary on one line so rows stay bounded #67).adafd563051a6f8fb34f5e1c115b82b7ee2a167e, an ordinary merge oforigin/masterinto the previous heada0d3fdd9(no rebase, no force-push). Feature scope unchanged:channel-rainbow.json(320 entries) andinternal/channel/channel_rainbow_test.go; the merge only adds master's advance (fix(packets): keep the Details summary on one line so rows stay bounded #67's three files).internal/channelgo testPASS incl.TestChannelRainbowMatchesDeriveKey; JSON valid.test-issue-1122-packets-filter-ux-e2e.js6/6 (incl. "Path column row height stays bounded < 60px"),test-issue-1122-details-row-clamp-e2e.js18/18.adafd563: success. Go Build & Test, Playwright E2E (incl.#1122row height and the clamp test 18/18): success. Docker job success with GHCR steps skipped. Release, Deploy Staging, Badges skipped (fork guards).Split out of #25 (commit
abef6d3athere). This branch holds exactly one upstream change so it can be reviewed, tested and reverted on its own.Upstream
c283f42c1fd1e43fc3dbd78ae6ed4ef4178bd067git cherry-pick -xonto masterfda24ca5; upstream authorship kept, and the commit message carries the(cherry picked from commit …)line.channel-rainbow.json(data only).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 byDockerfile.go.Dependencies and merge order
fda24ca5and needs no other PR from this split.TestPruneOldNeighborMetricsdeterministic). If test(ingestor): make neighbor metrics pruning deterministic #33 lands first, the expected CI failure named below disappears; nothing in this PR depends on it.Verification
Local run of the same commands as CI's “Go Build & Test” job (server tests with
-race), on this branch and on masterfda24ca5under the same conditions (same machine, run one after another):fda24ca5go-ingestor-build-vetgo-ingestor-testTestPruneOldNeighborMetricschannel-lib-testdecrypt-cli-build-testdockerfile-copy-invariantsdeclare -A), macOS has 3.2; identical on masterstaging-disk-monitorcss-vars-lintBaseline 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:
eslint(not installed locally; CI installs it on the fly).-race/tests for modules this PR does not touch (unchanged code, identical to master).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 onpushtomasterand cannot run for this PR.Two further ingestor tests have failed intermittently in this split's CI on branches whose
cmd/ingestortree is byte-identical to master (#27, #28), so they can also appear here without being caused by this change:TestBackfillTxLastSeen_ResolvesFromMaxObservationTimestamp: also reproduced locally on unmodified master.TestMQTTStallWatchdog_DisconnectedEscalationThrottled_1749: the suite flake that upstream test(ingestor): join the watchdog loop goroutine instead of only asking it to stop Kpa-clawbot/CoreScope#2003 (also split out of port(upstream): 26 clean upstream fixes — prune batching, /ws limits, observer liveness, watchdog race #25) addresses.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 baselineTestBackfillTxLastSeen_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
7cc34f0ftobdde3e3f. The merge graph preserves the original upstream-attributed commit, incorporates green master693eb045dbb10ecdd4657444134a696f007297e1, and includes the verified local prep commit18f6d3db.The PR diff against current master is limited to
channel-rainbow.jsonandinternal/channel/channel_rainbow_test.go.Fresh verification on bdde3e3
cd internal/channel && go test ./...: PASS; validates entry count, duplicate names/keys, firmware-default Public key, and every derived keygit diff --check: PASSNo 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
bdde3e3ftoa0d3fdd9, an ordinary merge commit. The merge graph incorporates green master37d82e8a1844234e498c0c909d0fb1155ea858d7, 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 --checkclean..github/workflows/unchanged by this branch.Fresh verification on a0d3fdd
channel-rainbow.json: valid JSON, 320 entries, diff is purely additive (23 new keys afterPublic, no existing key/value touched)cd internal/channel && go test ./...: PASS —TestChannelRainbowMatchesDeriveKeyvalidates entry count, no duplicate names/keys, the firmware-defaultPublickey, and every other entry's key againstDeriveKey(name)Kpa-clawbot#1122/Kpa-clawbot#1124 row-height investigation
The prior CI run (35220101234 on
bdde3e3f) failedtest-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: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 heada0d3fdd9, and on the old693eb045baseline 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.693eb045alike: 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-pathcell (height: 28pxfrom 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.bdde3e3ffailed. 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