Commit graph

  • 5f3579b8c2 feat(tradein/auth): восстановить доступ praktika + безлимит через данные вместо хардкода (#2544) main lekss361 2026-07-26 23:29:53 +00:00
  • 466928b0b5 Merge remote-tracking branch 'forgejo/main' into feat/tradein-praktika-unlimited bot-backend 2026-07-27 02:27:17 +03:00
  • 036ff84eaa fix(tradein/tgbot): ограничение частоты на отправителя в мосте поддержки (#2543) lekss361 2026-07-26 23:16:57 +00:00
  • ca46411346 fix(tradein/tests): тесты авторизации проверяют настоящий guard + реальный рендер PDF (#2541) lekss361 2026-07-26 23:04:43 +00:00
  • bcb903cfa2 fix(tradein/devops): проверка всего стека после деплоя + запас на остановку (#2540) lekss361 2026-07-26 22:57:41 +00:00
  • a450aed71b fix(tradein/sql): цена в подписи дедупликации «доли квартир дома в продаже» (#2539) lekss361 2026-07-26 22:50:39 +00:00
  • 3e4c93c91e fix(tradein/auth): restore praktika access + data-driven unlimited quota grants bot-backend 2026-07-27 01:49:01 +03:00
  • 76016fd469 fix(tradein/security): утечка ключа прокси, аудит действий админа, отличимость неудачного входа, IDOR в заявке (#2536) lekss361 2026-07-26 22:42:15 +00:00
  • 35f5c3426b fix(tradein/scrapers): детекция дрейфа разметки вместо тихой пустоты (#2535) lekss361 2026-07-26 22:33:54 +00:00
  • dce2cd2040 fix(tradein): откат транзакции в backfill + неотрицательный счётчик квот (#2538) lekss361 2026-07-26 22:21:08 +00:00
  • 6e132f8986 fix(tradein/estimator): граница номера дома в подборе аналогов «тот же дом» (#2534) lekss361 2026-07-26 22:07:00 +00:00
  • cf3d0eb4f6 fix(tradein/v2): доступность — ориентир главного содержимого и заголовок первого уровня (#2542) lekss361 2026-07-26 22:03:43 +00:00
  • d6b9891fe2 fix(tradein/v2): заглушка карты в шапке заезжала под адресную карточку (#2537) lekss361 2026-07-26 22:00:23 +00:00
  • 580be61914 fix(tradein/location): заменить сломанный коэффициент локации на калиброванный индекс (#2531) lekss361 2026-07-26 21:48:15 +00:00
  • 5c91df2442 chore(tradein/sql): переименовать миграцию 189 -> 190 (номер занят фиксом счётчика квот) bot-backend 2026-07-27 00:43:04 +03:00
  • 7a5f4b89f4 fix(tradein/sale-share): price_bucket в дедуп-сигнатуре числителя (#audit) bot-backend 2026-07-27 00:41:47 +03:00
  • 64f3f8769f fix(tradein/tests): stop mirroring rbac_guard, add real WeasyPrint page-count regression test bot-backend 2026-07-27 00:41:01 +03:00
  • 3768aa2b5d fix(tradein/devops): post-deploy health для всего стека + grace period + manifest bot-backend 2026-07-27 00:34:38 +03:00
  • 8e0479c616 fix(tradein/tgbot): per-chat_id rate-limit на входящие сообщения бота bot-backend 2026-07-27 00:32:45 +03:00
  • 66ff9b9bb7 fix(tradein/v2/a11y): осмысленный текст sr-only <h1> результата оценки bot-backend 2026-07-27 00:32:44 +03:00
  • 9c59586be6 fix(tradein/backfill): rollback on listings save failure + nonnegative used quota bot-backend 2026-07-27 00:30:52 +03:00
  • 4ec6fc9970 fix(tradein/v2): заглушка карты в шапке заезжала под адресную карточку bot-backend 2026-07-27 00:00:25 +03:00
  • 976aa128ca Merge remote-tracking branch 'forgejo/main' into fix/tradein-audit-security bot-backend 2026-07-26 23:57:37 +03:00
  • 77dafed63e Merge remote-tracking branch 'forgejo/main' into fix/tradein-audit-scrapers bot-backend 2026-07-26 23:57:34 +03:00
  • 18dbca4cd7 Merge remote-tracking branch 'forgejo/main' into fix/tradein-audit-analogs bot-backend 2026-07-26 23:57:32 +03:00
  • 2cfd112c53 fix(tradein/security): audit findings — proxy-key leak, admin audit, login status, lead IDOR bot-backend 2026-07-26 23:54:12 +03:00
  • 0db7a026bd fix(tradein/scrapers): silent-failure guards for MERA scraper audit findings bot-backend 2026-07-26 23:52:39 +03:00
  • a0647a53a9 feat(tradein/ui): окно чата поддержки на сайте вместо ухода в Telegram (#2533) lekss361 2026-07-26 20:52:30 +00:00
  • ca1015bd4e feat(tradein/support): веб-чат поддержки — серверная часть поверх Telegram-моста (#2532) lekss361 2026-07-26 20:43:47 +00:00
  • deeff7ed1f fix(tradein/estimator): Tier S radius-fallback house-number boundary + distance_m bot-backend 2026-07-26 23:42:36 +03:00
  • 46e87c1ba2 Merge remote-tracking branch 'forgejo/main' into feat/tradein-web-chat-ui bot-backend 2026-07-26 23:37:55 +03:00
  • ed12d9e657 Merge remote-tracking branch 'forgejo/main' into feat/tradein-web-chat-backend bot-backend 2026-07-26 23:34:39 +03:00
  • 5eadae1e95 fix(tradein/support): address deep-review H1/M1/M2/M3/M5/L1-L5 (web chat backend) bot-backend 2026-07-26 23:33:09 +03:00
  • 3d36861fb2 Merge remote-tracking branch 'forgejo/main' into fix/tradein-location-index-calibration bot-backend 2026-07-26 23:32:15 +03:00
  • ec7fd9c02c fix(tradein/ui): фронт под location-index — убрать обещание влияния на цену bot-backend 2026-07-26 23:32:03 +03:00
  • c9ba1b15ba fix(tradein/v2): вернуть адресную карточку поверх карты и координаты при restore-by-id (#2530) lekss361 2026-07-26 20:26:08 +00:00
  • ceaafa2d69 fix(tradein/v2): вернуть адресную карточку поверх карты и координаты при restore-by-id bot-backend 2026-07-26 23:22:49 +03:00
  • e060561851 Merge remote-tracking branch 'forgejo/main' into feat/tradein-web-chat-ui bot-backend 2026-07-26 23:17:22 +03:00
  • e767661503 Merge remote-tracking branch 'forgejo/main' into fix/tradein-location-index-calibration bot-backend 2026-07-26 23:16:09 +03:00
  • 06bf8dfada fix(tradein/ui): мини-карта адреса вместо статичного фото чужого дома в шапке (#2529) lekss361 2026-07-26 20:15:54 +00:00
  • d9e675e7ae feat(tradein/support): on-site chat window instead of Telegram redirect bot-backend 2026-07-26 23:14:24 +03:00
  • 90e946a0c6 fix(tradein/ui): заменить статичное фото чужого дома в HeroBar на мини-карту адреса bot-backend 2026-07-26 23:10:51 +03:00
  • e7272183d4 fix(tradein/location): заменить сломанный location-coef на калиброванный location index bot-backend 2026-07-26 23:09:43 +03:00
  • e0b63cc637 fix(tradein/v2): настоящая карта Leaflet+OSM вместо декоративного псевдо-SVG (#2528) lekss361 2026-07-26 20:02:28 +00:00
  • 7377fb61e5 feat(tradein/support): веб-чат поддержки поверх Telegram support-моста bot-backend 2026-07-26 22:58:54 +03:00
  • 99f1a4a733 fix(tradein/v2): reset map CDN-error flag on retry bot-backend 2026-07-26 22:51:56 +03:00
  • a1e12db72f fix(tradein/v2): replace decorative pseudo-map with real Leaflet+OSM map in ParamsPanel bot-backend 2026-07-26 22:38:36 +03:00
  • d56103219a feat(tradein/ui): вход в поддержку с сайта — плавающая кнопка + живая «Помощь» (#2527) lekss361 2026-07-16 19:11:57 +00:00
  • 7fd40f6ea5 feat(tradein/ui): вход в поддержку с сайта — плавающая кнопка + живая «Помощь» bot-backend 2026-07-16 22:09:26 +03:00
  • fcfc777baa feat(tradein/tgbot): Telegram support-мост @MERAsupport_bot (#2526) lekss361 2026-07-16 18:26:56 +00:00
  • b579fa4ced feat(tradein/tgbot): Telegram support-мост @MERAsupport_bot bot-backend 2026-07-16 16:58:53 +03:00
  • 698576e77b fix(tradein/scraper): per-city SERP location for oblast city-sweep (#12) (#2525) Co-authored-by: lekss361 <lekss361@gendsgn.local> Co-committed-by: lekss361 <lekss361@gendsgn.local> lekss361 2026-07-13 21:41:07 +00:00
  • 0817178efa fix(tradein/scraper): per-city SERP location for oblast city-sweep (#12) bot-backend 2026-07-14 00:33:24 +03:00
  • 67b50bf713 feat(tradein/ui): admin links to audit + analytics in UserMenu (#2524) lekss361 2026-07-13 21:16:29 +00:00
  • 76070cea83 feat(tradein/ui): admin links to audit + analytics in UserMenu bot-backend 2026-07-14 00:13:05 +03:00
  • c61ed5a96e fix(tradein/avito): catch sidecar timeout/transport errors in SERP fetch → graceful banned, not crash (#2523) Co-authored-by: bot-backend <bot-backend@gendsgn.local> Co-committed-by: bot-backend <bot-backend@gendsgn.local> bot-backend 2026-07-13 20:59:39 +00:00
  • e61c2debe5 fix(tradein/audit): exclude /api/v1/admin/* from api_request events (#2522) lekss361 2026-07-13 20:55:16 +00:00
  • 6573edba51 fix(tradein/avito): route sidecar timeout/transport errors as transient, not crash bot-backend 2026-07-13 23:52:48 +03:00
  • 5025732d12 fix(tradein/audit): exclude /api/v1/admin/* from api_request events bot-backend 2026-07-13 23:49:13 +03:00
  • c904fbf94e feat(tradein/admin): audit + activity dashboards (Feature 2/3 UI) (#2521) lekss361 2026-07-13 20:45:34 +00:00
  • d0e29ce914 feat(tradein/admin): audit + activity dashboards (Feature 2/3 UI) bot-backend 2026-07-13 23:42:06 +03:00
  • 9fd6396fbc feat(tradein/admin): audit + analytics read API over user_events (#2520) lekss361 2026-07-13 20:26:58 +00:00
  • 780af144c3 feat(tradein/admin): audit + analytics read API over user_events bot-backend 2026-07-13 23:22:35 +03:00
  • 8b7af92ee3 fix(tradein/estimator): displayed analog cards match n_analogs + cross-source dedup (#2518) lekss361 2026-07-13 20:19:20 +00:00
  • 2c5b30f8c9 fix(tradein/auth): RouteGuard session/error screens with retry CTA (#2516) Co-authored-by: bot-frontend <bot-frontend@gendsgn.local> Co-committed-by: bot-frontend <bot-frontend@gendsgn.local> bot-frontend 2026-07-13 20:19:12 +00:00
  • d530602fbd fix(tradein/quota): per-user quota override + no-burn on empty estimate (#2517) Co-authored-by: bot-backend <bot-backend@gendsgn.local> Co-committed-by: bot-backend <bot-backend@gendsgn.local> bot-backend 2026-07-13 20:18:42 +00:00
  • 32037af6de feat(tradein/audit): request-audit middleware + estimate_request logging → user_events (#2519) lekss361 2026-07-13 20:09:22 +00:00
  • 950ac91f7e fix(tradein/quota): fix stale 'Migration 184' header comment in 185_account_quota_overrides.sql bot-backend 2026-07-13 23:07:43 +03:00
  • 0875d5b9e6 fix(tradein/quota): renumber migration 184 -> 185 (prefix collision) bot-backend 2026-07-13 23:07:11 +03:00
  • 52e5a32fd5 Merge remote-tracking branch 'forgejo/main' into fix/tradein-quota-per-user-and-no-burn bot-backend 2026-07-13 23:05:14 +03:00
  • 51c79f9324 fix(tradein/estimator): analogs cards match n_analogs, no cross-source dups bot-backend 2026-07-13 23:04:25 +03:00
  • 82928be326 feat(tradein/audit): request-audit middleware + estimate_request logging → user_events bot-backend 2026-07-13 23:04:24 +03:00
  • 9c12407c09 fix(tradein/quota): per-user quota override + no burn on empty result bot-backend 2026-07-13 22:53:14 +03:00
  • b176b1bc44 fix(tradein/auth): honest 401/error screens in RouteGuard instead of misleading text bot-backend 2026-07-13 22:49:10 +03:00
  • 5647c2b40e feat(tradein/db): user_events table — unified login/IP audit + behavior event log (#2515) lekss361 2026-07-13 19:47:26 +00:00
  • 749c96cd0c feat(tradein/ui): Telegram feedback button in Topbar (env-gated) (#2514) lekss361 2026-07-13 19:44:00 +00:00
  • 2a419aca18 feat(tradein/db): user_events table - unified login/IP audit + behavior event log bot-backend 2026-07-13 22:41:28 +03:00
  • 104681eabd feat(tradein/ui): Telegram feedback button in Topbar (env-gated) bot-backend 2026-07-13 22:34:01 +03:00
  • 987dce11bc fix(tradein/pdf): МЕРА branding + 4-page report, no empty pages (#2513) lekss361 2026-07-13 18:04:07 +00:00
  • 42a50cf814 fix(tradein/pdf): running @page header/footer → ровно 4 страницы (без пустых) bot-backend 2026-07-13 21:01:53 +03:00
  • 9a73da4ce0 fix(tradein/pdf): МЕРА branding + fix 'Год постройки None' + drop duplicate deals-range on cover bot-backend 2026-07-13 20:37:48 +03:00
  • b5477362f0 fix(tradein/auth): restore brusnika (user2) pilot access (#2512) lekss361 2026-07-13 15:33:36 +00:00
  • 409c53b41b test(rbac): scope tradein expired-role tests to praktika (user2 restored) bot-backend 2026-07-13 18:16:12 +03:00
  • 60be78f97c fix(tradein/auth): restore brusnika (user2) pilot access bot-backend 2026-07-13 18:09:52 +03:00
  • 60c21ae2a5 feat(tradein/lead): persist 152-ФЗ proof-of-consent (LOW audit R2 #9) (#2511) bot-backend 2026-07-12 22:13:36 +00:00
  • 3bd0873230 fix(tradein/scheduler): re-enable deactivate_stale_domklik now that domclick sweeps run (LOW audit R2 #10) (#2510) bot-backend 2026-07-12 22:12:12 +00:00
  • 5e73b35206 fix(tradein/location-coef): re-center coefficient band so a strong central location ~= 1.0 (LOW audit R2 #7a) (#2509) bot-backend 2026-07-12 22:12:10 +00:00
  • 69ca746673 fix(tradein/v2): location coefficient informational + price-history clarity (LOW audit R2 #7c/#8) (#2508) bot-backend 2026-07-12 22:11:08 +00:00
  • 2cd24ecfbc fix(tradein/scrapers): clamp implausible listing/publish dates (LOW audit R2 #6) (#2507) bot-backend 2026-07-12 22:11:06 +00:00
  • 92371e7d9e fix(tradein/pdf): scale offer-page rent by room count (LOW audit R2 #5) (#2506) bot-backend 2026-07-12 22:11:04 +00:00
  • 7fa52bb3ad fix(tradein/estimator): honest repair-note + ratio_basis label; doc EKB-calibrated constants (LOW audit R2 #1-4) (#2505) bot-backend 2026-07-12 22:11:03 +00:00
  • 56ddf98be4 fix(tradein/scheduler): re-enable deactivate_stale_domklik now that domclick sweeps run bot-backend 2026-07-13 01:09:50 +03:00
  • 55e40814a6 feat(tradein/lead): persist 152-ФЗ proof-of-consent (client_ip, policy version, text snapshot) bot-backend 2026-07-13 01:09:00 +03:00
  • 7f06bd5608 fix(tradein/location-coef): re-center coefficient band so a strong central location ~= 1.0 bot-backend 2026-07-13 01:07:32 +03:00
  • fce9b1bbeb fix(tradein/v2): mark location coefficient as informational; clarify price-history source bot-backend 2026-07-13 01:04:11 +03:00
  • 6f6224f903 fix(tradein/estimator): honest repair-note + ratio_basis label; document EKB-calibrated band/premium constants bot-backend 2026-07-13 01:04:01 +03:00
  • 0e0911dd28 fix(tradein/scrapers): clamp implausible listing/publish dates at the save choke point bot-backend 2026-07-13 01:03:24 +03:00
  • c5fe38c89a fix(tradein/pdf): scale offer-page rent by room count instead of flat 1-room figure bot-backend 2026-07-13 01:02:11 +03:00
  • 348be445e3 fix(tradein/geocoder): gate EKB-local tiers for non-EKB oblast addresses (#11) lekss361 2026-07-12 21:08:49 +00:00
  • 8fdcd8df62 fix(tradein/geocoder): word-boundary EKB short-circuit + gate suggest() + gazetteer (#11) bot-backend 2026-07-13 00:06:19 +03:00