andrey pushed to main at andrey/opencode-fixes 2026-11-07 00:05:39 +03:00
f64ee94e93 opencode-fixes: drop leak length cap, strip fences instead of vetoing
andrey closed pull request SHS/pip#221 2026-11-06 18:46:56 +03:00
join thread to avoid use-after-free on destruction
andrey deleted branch thread_join_fix from SHS/pip 2026-11-06 18:46:56 +03:00
andrey pushed to http_auth at SHS/pip 2026-11-06 18:46:56 +03:00
1586dd84ed style: remove explanatory comments from the http_client auth code
b49d96041a refactor: split authenticated HTTP client into Basic/Bearer/Session classes
af2ce937ad feat: add authenticated HTTP client (Basic/Bearer/Session) over PIHTTPClient
9e9cfe59e7 more gtests and fix piauth
b417e2fbc6 test: add HTTPS/TLS coverage for HTTP server with PIHTTPClient
Compare 16 commits »
andrey pushed to main at andrey/fishing-game 2026-11-06 17:08:09 +03:00
3905693487 Э64-fix: подтверждение выпуска в диалоге «Слоты» — под строкой жильца, а не внизу панели. #aqShopConfirm лежал после #aqShopBody — при 12 слотах блок оказывался вдали от нажатой кнопки «Выпустить». renderAqShop() теперь ПЕРЕНОСИТ узел (не пересоздаёт — слушатели кнопок живут): перед innerHTML-пересборкой вынимается из #aqShopBody, при pending вставляется сразу после подсвеченной строки .replace — ДО заполнения текстов (иначе после вынимания $('aqShopConfirmText') вернул бы null), при снятии pending возвращается на место после списка; в обработчике askrelease — scrollIntoView({block:'nearest'}) (блок может выглядывать за край панели). Перетыкание «Выпустить» на другой строке без «Отмены» — рабочий кейс (при приёмке всплыл крах первой версии правки — суита его не ловила, пин добавлен). Тесты: §AQ(8) +1 проверка (узел жив, previousElementSibling — .replace-строка, текст новой рыбы) — 262/262 PASS exit 0; check.mjs OK; визуально 390×844 (row0/смена на row2/отмена/нижняя строка со скроллом). Геймплей/сейв/i18n/emoji не тронуты. Доки: AGENTS.md (пункт «Диалог улучшений аквариума», Э64).
andrey released 1.1.1 at andrey/fishing-game 2026-11-06 16:14:11 +03:00
andrey pushed tag 1.1.1 to andrey/fishing-game 2026-11-06 16:14:01 +03:00
andrey pushed to main at andrey/fishing-game 2026-11-06 16:08:39 +03:00
e734f90e1b Стартовое меню: кнопка «Играть» над инструкцией. #btnPlay перенесён в .panel с конца (после #menuP4) на строку после .title — раньше на низких окнах кнопка оказывалась за нижним краем панели и требовала прокрутки, теперь видна сразу под заголовком, а текст инструкции при необходимости скроллится под кнопкой. Id и класс big сохранены (renderMenu() и тесты обращаются по #btnPlay, узлы не пересоздаются). CSS: scoped-правило #menu .big{margin:12px 0 16px} — отступы кнопки от заголовка и текста; .big в других диалогах (сброс, карточка) не сдвигаются. Чистая раскладка DOM: баланс/сейв/ачивки/i18n/emoji не тронуты. Проверки: check.mjs OK; test.js 261/261 PASS exit 0; визуально 1280×720 и 390×844 — кнопка и весь текст влезают без скролла.
andrey pushed to main at andrey/fishing-game 2026-11-06 15:54:56 +03:00
b3f5b0724c Этап 64: выпуск рыбы из аквариума — только из диалога «Слоты» и с подтверждением; перерисовка наживок (червь на конце крючка, воблер-минноу, блёстка-вращалка). Выпуск: кнопка #btnAqRelease из поповера #aqPop убрана (поповер — чистое инфо), на строке жильца во вкладке «Слоты» #aqShop — кнопка «Выпустить» (data-act=askrelease, делегирование #aqShopBody), inline-подтверждение #aqShopConfirm (паттерн #aqPickConfirm, строка подсвечивается .replace, текст aq_release_q RU/EN), подтверждение — aqReleaseAt(i) (переименовано из aqReleaseSel: индекс вместо aqSel; aqSel при выпуске левее сдвигается, по индексу — снимается), по-прежнему без монет и без телепорта остальных; aqShopRelPending сбрасывается в openAqShop/closeAqShop/setAqTab и при сбросе прогресса. Наживки (чистый визуал, данные в записях LURES.hook, switch по id нет): Воблер — body (тельце-минноу: эллипс+хвост+брюшко+лопатка, bead — красный глаз, крючок выглядит тройником под вобом), Блёстка — blade (золотой лепесток с шириной |sin(t·4.5)|, кромка+блик, рисуется внутри gold-тени до restore), Червь — bait вдоль жала с торчащим кончиком и головным утолщением (lineWidth 1.6→2.2). Геометрия hx/hy/hookPos не тронута; баланс/сейв/ачивки/i18n/emoji не тронуты, миграция не нужна. Тесты: §10e2 — пин body/blade (#hex, у остальных нет); §AQ(8) переписан на новый флоу (поповер без кнопок → askrelease → подтверждение → «Отмена»/«Выпустить»), (8b) — aqReleaseAt(0). Проверки: check.mjs OK; emoji --check OK; test.js 261/261 PASS exit 0. Доки: AGENTS.md (тест-глобалы, пункты Э46/Э52/Э62/Э63), DEVLOG (Этап 64).
andrey released 1.1.0 at andrey/fishing-game 2026-11-06 14:29:28 +03:00