Skip to content

chore(lane): daily maintenance 2026-10-18 - #1039

Merged
kirillDevPro merged 2 commits into
mainfrom
lane/daily-2026-10-18
Oct 18, 2026
Merged

kirillDevPro merged 2 commits into
mainfrom
lane/daily-2026-10-18

Conversation

@kirillDevPro

Copy link
Copy Markdown
Collaborator

Fix

Filed by the fix lane.

Fixes #1026
Fixes #1027

A station whose status carries no core listing (not read, or older than the listing) translated viewer grants and group memberships through an empty mapping: a bot hand-over and a manual groups send arrived with every list emptied, and a first bot return saved every viewer grant emptied after the bot had left the station. These paths now refuse with the existing CoresChanged ("the station changed, refresh"), the answer the core-push jobs already give when the status has no listing — a hand-over or manual groups send only when the payload had uids to translate, a bot return before anything is removed. Automatic group sends keep deferring as before.

Both tests pin the new guards, so they do not exist on origin/main; the defects there were traced in code by the issues. Reviewer: Codex — its objection that the refusal also hit payloads with nothing to translate was applied; its retry-with-a-replaced-bot case is filed as #1038 (needs-human, spans moon-remote). #1025 was handed to a person (needs-human): its two fix shapes stay even.

Docs

docs/PRODUCT_MAP.md: the locale "files by area" list named core_settings, which is no file (its keys sit in shell.en.yml; the Core settings window reads core_expert), and left out assets, trade_window, station and the telegram files. The feature map lacked features merged since its last update: where a coin is blacklisted (#972), a Binance spot core's dust to BNB (#1006), Telegram reports by exchanges / cores / core groups (#1032), and the Mini App's live coin chart and closed-trade / open-position tick charts (#1009, #1016). Checked against locales/en/, dust_target in panels/assets/dust.rs, ReportView in config/telegram_menu.rs and the commits' own descriptions. Reviewer: Codex, no disputed claims.

Leftovers: quiet (no open lane pull requests).

Hunt: quiet — read the report paging and closed-trade reads in moon-tg/src/report, the open-order distance math in feed/order_math.rs and its Mini App use, candle timeframe bases, and the number formatters in util/fmt.rs; three edge-case probes passed and were deleted.

What was stale: the locale "files by area" list named core_settings, which
is no file (its keys live in shell.en.yml; the Core settings window reads
core_expert), and left out assets, trade_window, station and the telegram
files. The feature map had no entry for features merged since the doc was
last touched: where a coin is blacklisted (#972), a Binance spot core's
dust to BNB (#1006), Telegram reports by exchanges, cores or core groups
(#1032), and the Mini App's live coin chart and closed-trade / open-position
tick charts (#1009, #1016).

What the code does now: checked against locales/en/, dust_target in
panels/assets/dust.rs (Binance spot only), ReportView in
config/telegram_menu.rs and the commits' own descriptions.

Reviewer: Codex, no disputed claims.
…ld empty

Filed by the fix lane.

Fixes #1026
Fixes #1027

A station whose status carries no core listing (one not read, or one
older than the listing) translated viewer grants and group memberships
through an empty mapping, so a bot hand-over and a manual groups send
arrived with every list emptied, and a first bot return saved every
viewer grant emptied after the bot had already left the station. These
paths now refuse with the existing CoresChanged ("the station changed,
refresh"), the answer the core-push jobs already give when the status
has no listing: a hand-over or manual groups send only when the payload
had uids to translate, a bot return before anything is removed.
Automatic group sends keep deferring as before. A retry of a return
with a replaced bot is filed separately as #1038.

#1026: issue_1026_translation_without_a_station_listing_refuses_what_it_would_empty
pins the refusal for a payload with members and no listing, and that an
empty payload or a read listing still goes. It covers the new guard, so
it does not exist on origin/main, where the defect was traced in code.
Re-run: cargo test -p moon-ui-gpui issue_1026

#1027: issue_1027_first_return_without_a_listing_refuses_before_removal
pins the refusal of a first return with neither a fresh nor a retained
listing, and that a retry, an authoritative empty listing and a plain
removal still pass. Same note on origin/main.
Re-run: cargo test -p moon-ui-gpui issue_1027

Reviewer: Codex. Its objection that the refusal also hit payloads with
nothing to translate was applied (the check keys on the unmapped count);
its retry-with-a-replaced-bot case is #1038.
@kirillDevPro
kirillDevPro merged commit 7e9e6d8 into main Oct 18, 2026
10 checks passed
@kirillDevPro
kirillDevPro deleted the lane/daily-2026-10-18 branch October 18, 2026 05:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant