Commit graph

  • f52601de41 feat(ops): бэкапить конфигурацию Forgejo, а не только его содержимое (#3073) lekss361 2026-08-24 03:49:58 +00:00
  • 03a600db65 feat(ops): бэкапить конфигурацию Forgejo, а не только его содержимое bot-backend 2026-08-24 06:47:27 +03:00
  • 0ba52e55db chore(ops): развести crontab по хостам под переезд (#3072) lekss361 2026-08-24 02:04:40 +00:00
  • e576f8c256 chore(ops): развести crontab по хостам под переезд bot-backend 2026-08-24 04:46:18 +03:00
  • 01128e6331 chore(ci): синхронизировать /opt/gendesign на остающемся хосте (#3071) lekss361 2026-08-24 00:51:50 +00:00
  • 33ef0f7330 chore(ci): синхронизировать /opt/gendesign на остающемся хосте bot-backend 2026-08-24 03:48:44 +03:00
  • 3a7fc2ff65 feat(ops): запасной канал алертов на случай недоступного Telegram (#3070) lekss361 2026-08-23 23:55:40 +00:00
  • 568d82919d feat(ops): запасной канал алертов на случай недоступного Telegram bot-backend 2026-08-24 02:53:22 +03:00
  • 91731ddb5f fix(tests): объявить два живых теста #3063 в skip_allowlist (#3069) lekss361 2026-08-23 22:14:49 +00:00
  • db3b58ee3e fix(tests): объявить два живых теста #3063 в skip_allowlist bot-backend 2026-08-24 01:07:26 +03:00
  • 60cb510ef2 refactor(caddy): разделить site-блоки по хостам под переезд (#3062) lekss361 2026-08-23 21:52:48 +00:00
  • e73cde7ad3 fix(scraper-kit): бедный re-scrape больше не стирает признаки продавца (#3067) lekss361 2026-08-23 21:52:38 +00:00
  • 4aaa021b62 feat(tradein/domklik): пробросить isRosreestrApproved в колонку (#3068) lekss361 2026-08-23 21:49:43 +00:00
  • 3b6bca80c0 fix(avito): считать HTTP 439 блокировкой, а не концом выдачи (#3065) lekss361 2026-08-23 21:49:35 +00:00
  • dcf8c1655d fix(tests): восстановить экранирование \n в join — TS1002 bot-backend 2026-08-24 00:49:12 +03:00
  • 85fc18dcb3 fix(tests): phones в фикстуре — list[dict], а не список строк bot-backend 2026-08-24 00:46:02 +03:00
  • 87ffb5d621 test(mera): читать эффективный конфиг Caddy, а не только корневой файл bot-backend 2026-08-24 00:42:56 +03:00
  • 0cce97bd75 fix(tests): zip(strict=True) в гарде паритета — ruff B905 bot-backend 2026-08-24 00:38:41 +03:00
  • 7f829ccc61 fix(tradein/domklik): убрать вывод is_pro_seller — колонка уже перегружена bot-backend 2026-08-24 00:35:44 +03:00
  • db31473611 fix(tradein/domklik): пробросить isRosreestrApproved и is_pro_seller в ScrapedLot bot-backend 2026-08-24 00:32:54 +03:00
  • d3d75801ca fix(scraper-kit): бедный re-scrape больше не стирает признаки продавца bot-backend 2026-08-24 00:32:02 +03:00
  • 22ccc1050c feat(tradein/deactivate-stale): страховочные рельсы объёма снятия bot-backend 2026-08-24 00:24:56 +03:00
  • 5d0206d972 fix(avito): считать HTTP 439 блокировкой, а не концом выдачи bot-backend 2026-08-24 00:20:38 +03:00
  • dacc8b410c refactor(caddy): разделить site-блоки по хостам под переезд bot-backend 2026-08-24 00:07:14 +03:00
  • ccdd7553ba Merge pull request 'fix(ops): закрепить рабочий адрес api.telegram.org на новом хосте' (#3060) from fix/telegram-pin-selectel-override into main lekss361 2026-08-23 20:41:21 +00:00
  • 05e82989a8 fix(ops): закрепить рабочий адрес api.telegram.org на новом хосте fix/telegram-pin-selectel-override bot-backend 2026-08-23 23:32:35 +03:00
  • 1c16ea45a3 Merge pull request 'chore(compose): параметризовать ресурсы postgres под переезд на новый хост' (#3058) from chore/compose-host-parameterised-resources into main lekss361 2026-08-23 16:16:38 +00:00
  • 2eb7852622 chore(compose): параметризовать ресурсы postgres под переезд на новый хост chore/compose-host-parameterised-resources bot-backend 2026-08-23 19:12:13 +03:00
  • 38e38e662c Merge pull request 'fix(tradein/deactivate-stale): пол переобхода — LATERAL вместо equality-join по дате' (#3056) from fix/revisit-floor-lateral-lookup into main lekss361 2026-08-23 14:37:24 +00:00
  • fb38d657ad fix(tradein/deactivate-stale): пол переобхода — LATERAL вместо equality-join по дате fix/revisit-floor-lateral-lookup bot-backend 2026-08-23 15:45:53 +03:00
  • f5e2f5f5f3 Merge pull request 'feat(tradein/estimate): внешние оценки не ждутся в запросе — 9 секунд превращаются в 1' (#3055) from feat/estimate-external-sources-background into main lekss361 2026-08-22 12:58:03 +00:00
  • 5b447ec33d feat(tradein/estimate): внешние оценки не ждутся в запросе — 9 секунд превращаются в 1 bot-backend 2026-08-22 15:51:31 +03:00
  • b5b7a8246e Merge pull request 'fix(tradein/avito): бэкфилл простаивал 23 часа из 24 — каденс был суточным' (#3054) from fix/avito-backfill-cadence into main lekss361 2026-08-22 12:03:39 +00:00
  • fa1399d59e fix(tradein/avito): бэкфилл простаивал 23 часа из 24 — каденс был суточным bot-backend 2026-08-22 14:57:20 +03:00
  • 42d9eb5c1f Merge pull request 'chore(ops): скрипты аудита и первичной настройки выделенного сервера Selectel' (#3050) from chore/selectel-bootstrap into main lekss361 2026-08-22 11:53:33 +00:00
  • fb75bce22d fix(ops): hardening sshd молча не применялся из-за приоритета cloud-init bot-backend 2026-08-22 12:56:22 +03:00
  • 6484116079 chore(ops): скрипты аудита и первичной настройки выделенного сервера Selectel bot-backend 2026-08-22 12:49:09 +03:00
  • 7f6dbc9a59 Merge pull request 'fix(tradein/avito): detail_backfill ходил curl'ом, который не решает PoW-челлендж' (#3049) from fix/avito-backfill-browser-transport into main lekss361 2026-08-21 22:51:34 +00:00
  • b61123d7a6 fix(tradein/avito): detail_backfill ходил curl'ом, который не решает PoW-челлендж bot-backend 2026-08-22 00:11:59 +03:00
  • a67ed2bd07 Merge pull request 'fix(tradein/avito): парсер карточки читал только первый блок параметров — параметры дома терялись молча' (#3048) from fix/avito-detail-fields into main lekss361 2026-08-21 20:54:35 +00:00
  • 4c9f5b6e9f Merge remote-tracking branch 'forgejo/main' into fix/avito-detail-fields fix/avito-detail-fields bot-backend 2026-08-21 23:45:40 +03:00
  • ee19254a41 Merge pull request 'fix(tradein/scraper-kit): актуализация отпечатка Авито — impersonate, Sec-Fetch-Site, referer, проверка антибот-кук' (#3038) from fix/3034-avito-fingerprint into main lekss361 2026-08-21 20:45:25 +00:00
  • f34edeb512 chore(tradein/avito): ссылки на реальный issue #3047 вместо выдуманного номера bot-backend 2026-08-21 23:40:22 +03:00
  • efce189c8b fix(tradein/avito): починить чтение параметров, добавить metro/is_homeowner/days_on_market bot-backend 2026-08-21 23:36:19 +03:00
  • b3a39699d1 Merge remote-tracking branch 'forgejo/main' into fix/3034-avito-fingerprint fix/3034-avito-fingerprint bot-backend 2026-08-21 23:34:34 +03:00
  • e80c9e08df Merge pull request 'ops(backup): missed-run detection + Forgejo code/DB backup to S3' (#3025) from feat/2203-backup-staleness-and-forgejo into main lekss361 2026-08-21 17:12:03 +00:00
  • 1202804268 Merge pull request 'fix(ops): дрилл восстановления ждал БД по сокету и умирал на старте настоящего сервера' (#3026) from fix/2203-restore-drill-readiness into main lekss361 2026-08-21 17:11:59 +00:00
  • 1d479d0150 Merge pull request 'fix(tradein/browser): дожидаться QRATOR PoW-челленджа Авито вместо тихой заглушки' (#3046) from fix/3045-browser-pow-challenge-wait into main lekss361 2026-08-21 17:01:24 +00:00
  • 5c0fd78c1f fix(tradein/browser): цикл ожидания челленджа падал ровно на успешном исходе bot-backend 2026-08-21 19:57:51 +03:00
  • 0f6523f852 fix(tradein/browser): дожидаться QRATOR PoW-челленджа Авито вместо тихой заглушки bot-backend 2026-08-21 19:52:00 +03:00
  • bebeb0c8f0 feat(tradein/avito): путь вторички для якорного и citywide-обхода (#3033, follow-up) (#3042) bot-backend 2026-08-21 15:33:22 +00:00
  • 65e8eb08ab test(tradein): #3033 follow-up — slug вторички в тесте литералом, чтобы на main тесты краснели по значению, а не на импорте bot-backend 2026-08-21 20:24:57 +05:00
  • faa4febc27 feat(tradein/avito): путь вторички для якорного и citywide-обхода (#3033, follow-up) bot-backend 2026-08-21 20:24:08 +05:00
  • 17a6dae3a4 feat(tradein/avito): house-поля с детальной страницы доезжают в houses (#3036) (#3040) bot-backend 2026-08-21 14:48:36 +00:00
  • 28f5e8079e Merge pull request 'fix(tradein/avito): страница SERP отдаёт 60 карточек, а не 50 — лишние 17% запросов' (#3041) from fix/avito-offers-per-page into main lekss361 2026-08-21 14:46:32 +00:00
  • 6ffcd78d35 fix(tradein/avito): страница SERP отдаёт 60 карточек, а не 50 fix/avito-offers-per-page bot-backend 2026-08-21 17:38:55 +03:00
  • 2f28f0166e test(tradein): #3036 live-тест — обязательные url/source_url/dedup_hash в фикстурах houses/listings (NOT NULL без дефолта на проде; локально тест пропускался) bot-backend 2026-08-21 19:35:28 +05:00
  • a167ca30b6 feat(tradein/avito): переключить room-URL на родной фильтр вторички Avito feat/3033-avito-secondary-filter bot-backend 2026-08-21 17:28:26 +03:00
  • fc2930fbb6 Merge remote-tracking branch 'forgejo/main' into fix/3034-avito-fingerprint bot-backend 2026-08-21 17:27:52 +03:00
  • 7382ae123d feat(tradein/avito): полный обход качает вторичку родным фильтром пути (#3033) (#3039) bot-backend 2026-08-21 14:22:48 +00:00
  • 9246033795 feat(tradein/avito): house-поля с детальной страницы доезжают в houses (#3036) bot-backend 2026-08-21 19:21:37 +05:00
  • 1b47cc5d7a feat(tradein/avito): полный обход качает вторичку родным фильтром пути (#3033) bot-backend 2026-08-21 19:15:19 +05:00
  • 4ec3b79704 fix(tradein/scraper-kit): поднять пол curl-cffi до 0.15.0 — chrome146 в 0.7.0 не существует bot-backend 2026-08-21 17:06:13 +03:00
  • fe628a5e17 fix(tradein/scraper-kit): actualize avito fingerprint - impersonate/Sec-Fetch-Site/referer/cookie-check bot-backend 2026-08-21 17:02:53 +03:00
  • e31c537205 Merge pull request 'fix(db/ci): чистый старт БД не падает на 077 и не может уехать на пустой схеме' (#3011) from fix/2990-clean-start-initdb into main bot-reviewer 2026-08-21 12:55:48 +00:00
  • b588278923 fix(ops): дрилл восстановления ждал БД по сокету и умирал на старте настоящего сервера fix/2203-restore-drill-readiness bot-backend 2026-08-21 15:42:36 +03:00
  • c6b408e483 fix(ops): restore +x on new ops/*.sh (exec bit lost in prior commit, Windows core.filemode=false) feat/2203-backup-staleness-and-forgejo bot-backend 2026-08-21 15:38:31 +03:00
  • 83be088263 feat(ops): missed-run detection for backups + Forgejo code/DB backup to S3 bot-backend 2026-08-21 15:37:19 +03:00
  • 4cb8f32dcc Merge remote-tracking branch 'forgejo/main' into fix/2990-clean-start-initdb fix/2990-clean-start-initdb bot-backend 2026-08-21 15:35:32 +03:00
  • a3ccbbd045 fix(db/ci): 077 гардится по USER MAPPING, деплой ждёт готовности БД по TCP bot-backend 2026-08-21 15:35:26 +03:00
  • 4ae14055ec feat(tradein/v2): позиция квартиры на рынке — плашка на карточке рекомендованной цены (#2899) (#3024) bot-backend 2026-08-21 12:34:07 +00:00
  • f2945b7157 fix(ci): деплой падает громко, если :latest отстаёт от головы по компоненту (#2950) (#3023) bot-backend 2026-08-21 12:19:07 +00:00
  • cdf493f345 chore(format): нормализация под ruff 0.15.20 — 161 файл, только формат (#2864) (#3022) bot-backend 2026-08-21 12:01:52 +00:00
  • b6ab582211 chore(tradein/v2): #2899 — убрать шум prettier из предыдущего коммита (у tradein-frontend нет prettier-конвенции), оставить только правки bot-backend 2026-08-21 17:01:25 +05:00
  • 03af7386e9 feat(tradein/v2): #2899 — сами правки типа/маппера/ResultPanel (в первый коммит попал только тест: git checkout HEAD откатил рабочее дерево до коммита) bot-backend 2026-08-21 17:00:05 +05:00
  • 07655a2642 feat(tradein/v2): позиция квартиры на рынке — плашка на карточке рекомендованной цены (#2899) bot-backend 2026-08-21 16:59:05 +05:00
  • 4d9d03cb07 test(ci): гард #2950 — дедлайн теста ожидания 3 с вместо 1 (секундная гранулярность date +%s давала флейк 2 из 3) bot-backend 2026-08-21 16:52:07 +05:00
  • 54889a956b fix(ci): деплой падает громко, если :latest отстаёт от головы по компоненту (#2950) bot-backend 2026-08-21 16:50:34 +05:00
  • 14818f0303 chore(format): нормализация под ruff 0.15.20 — 161 файл, только формат (#2864) bot-backend 2026-08-21 16:39:28 +05:00
  • 1782dae0e2 chore(tooling): pre-commit, pyproject и uv.lock — один ruff 0.15.20 (#2864) (#3021) bot-backend 2026-08-21 11:37:23 +00:00
  • 95db3f44c8 fix(ops): бэкапы — +x на deploy-скриптах при деплое tradein, тихий s3 cp (#3005) (#3019) bot-backend 2026-08-21 10:35:10 +00:00
  • ccf84b4adc fix(best-layouts): avg_area_m2 = NULL вместо 0 при пустом окне сделок (#2867) (#3018) bot-backend 2026-08-21 10:27:02 +00:00
  • 9457274c92 chore(tooling): pre-commit, pyproject и uv.lock — один ruff 0.15.20 (#2864) bot-backend 2026-08-21 15:25:50 +05:00
  • fa32db299d feat(db): GiST по (geom::geography) на houses — матчинг идёт по индексу (#2997) (#3020) bot-backend 2026-08-21 10:24:35 +00:00
  • 2f7b22f659 feat(db): GiST по (geom::geography) на houses — матчинг идёт по индексу (#2997) bot-backend 2026-08-21 15:17:50 +05:00
  • c7263b4088 fix(ops): бэкапы — +x на deploy-скриптах при деплое tradein, тихий s3 cp (#3005) bot-backend 2026-08-21 15:13:25 +05:00
  • fe7d9d757b fix(best-layouts): avg_area_m2 = NULL вместо 0 при пустом окне сделок bot-backend 2026-08-21 15:07:52 +05:00
  • bb74a0e5e1 fix(tradein): неудача резолва yandex_jk_slug помечает дом — очередь не упирается в одни и те же пять (#2924) bot-backend 2026-08-21 09:51:27 +00:00
  • bf119de7bb fix(db): миграция 269 — SET LOCAL lock_timeout внутри BEGIN/COMMIT (#2752) fix/2924-yandex-jk-resolve-tried-at bot-backend 2026-08-21 14:46:17 +05:00
  • 8de9831e25 fix(db): миграция 269 — SET LOCAL lock_timeout перед ALTER TABLE houses (#2752) bot-backend 2026-08-21 14:45:29 +05:00
  • ebb26b9382 ci: перезапуск — CI/changes упал на checkout (git clone: some refs were not updated) в 09:38 UTC, одновременно с деплоем tradein bot-backend 2026-08-21 14:43:58 +05:00
  • 507c8e0611 fix(tradein): неудача резолва yandex_jk_slug помечает дом — очередь не упирается в одни и те же пять (#2924) bot-backend 2026-08-21 14:38:22 +05:00
  • 95d348f3c3 fix(tradein): апсерт не переписывает неизменившуюся строку — гейт IS DISTINCT FROM + МСК-день (#2992) bot-backend 2026-08-21 09:08:05 +00:00
  • 6cdf56820d fix(tradein): апсерт не переписывает неизменившуюся строку — гейт IS DISTINCT FROM + МСК-день (#2992) fix/2992-upsert-distinct-gate bot-backend 2026-08-21 13:57:09 +05:00
  • ce466c6d03 fix(data): партиции rosreestr_deals на Q2–Q4 2026 + загрузчик доходит до файла (#2998) bot-backend 2026-08-21 08:56:25 +00:00
  • 6b4800c81d feat(tradein/estimator): штраф за неизвестный год/тип дома — флагом, default OFF (#2936) bot-backend 2026-08-21 08:36:25 +00:00
  • 9b54d64bd8 test(#2998): сторож партиций — герметично в схеме-песочнице, а не по живому проду fix/2998-rosreestr-q2-partitions bot-backend 2026-08-21 13:33:57 +05:00
  • 865e64b783 feat(tradein/estimator): штраф за неизвестный год/тип дома — флагом, default OFF (#2936) feat/2936-null-penalty-flag bot-backend 2026-08-21 13:27:18 +05:00
  • ebb7b7d32d ci: перезапуск backend-tests — джоб завис с 07:49 без обновлений (#2998) bot-backend 2026-08-21 13:04:35 +05:00
  • e6e5bd962c fix(data): партиции rosreestr_deals на Q2–Q4 2026 + загрузчик доходит до файла (#2998) bot-backend 2026-08-21 12:48:28 +05:00