Commit graph

  • 65c2824507 feat(tradein): SQL migrations 030-032 — Yandex schema extensions lekss361 2026-05-23 15:53:11 +03:00
  • 4f0319297e feat(tradein): cian.py SERP refactor — state-based extraction (137 fields, no jitter) (#450) lekss361 2026-05-23 12:52:04 +00:00
  • 7af97c2c59 feat(tradein): integrate Avito IMV as 5th evaluation source (on-demand cached) lekss361 2026-05-23 15:48:50 +03:00
  • b22ea0da80 feat(tradein): cian.py SERP refactor — state-based extraction (137 fields, no jitter) lekss361 2026-05-23 15:46:40 +03:00
  • 0154c2914a feat(tradein): scrape_pipeline.py — Avito full orchestrator (search → houses → detail) lekss361 2026-05-23 15:45:34 +03:00
  • 5258a8f023 feat(tradein): avito_houses.py — Houses Catalog parser (state + reviews + history + recs) (#449) lekss361 2026-05-23 12:37:24 +00:00
  • 7fad898c7f feat(tradein): SQL migration 029 — extend matching/valuation/dynamics tables (PR #445 follow-up) (#448) lekss361 2026-05-23 12:35:03 +00:00
  • 9ba776f2ca feat(tradein): cian_state_parser shared utility + ScrapedLot Cian fields (#447) lekss361 2026-05-23 12:35:01 +00:00
  • 879f761214 feat(tradein): avito_houses.py — Houses Catalog parser (state + reviews + history + recs) lekss361 2026-05-23 15:27:22 +03:00
  • 697047d17d feat(tradein): SQL migration 029 — extend matching/valuation/dynamics tables (PR #445 follow-up) lekss361 2026-05-23 15:26:41 +03:00
  • 7f03a5b634 feat(tradein): cian_state_parser shared utility + ScrapedLot Cian fields lekss361 2026-05-23 15:24:50 +03:00
  • 23e6cbc773 feat(tradein): SQL migrations 019-028 — Cian schema + matching + cookies (#445) lekss361 2026-05-23 12:19:28 +00:00
  • 7cdde30b13 feat(tradein): avito_detail.py — detail page parser (30+ fields incl. domoteka) (#443) lekss361 2026-05-23 12:17:15 +00:00
  • 6a2f734356 feat(tradein): avito_imv.py — Avito IMV evaluation API client (2 requests) (#444) lekss361 2026-05-23 12:16:47 +00:00
  • 1ad2565af1 feat(tradein): SQL migrations 019-028 — Cian schema + matching + cookies lekss361 2026-05-23 15:14:49 +03:00
  • 375f785100 feat(tradein): avito_imv.py — Avito IMV evaluation API client (2 requests) lekss361 2026-05-23 15:10:32 +03:00
  • a2953e97c4 refactor(security): убрать UI ввода admin token (backend не требует с PR #437) (#442) lekss361 2026-05-23 12:06:37 +00:00
  • 7a7a72754e feat(tradein): avito_detail.py — detail page parser (30+ fields incl. domoteka) lekss361 2026-05-23 15:04:29 +03:00
  • df34ad7bb5 refactor(security): убрать UI ввода admin token (backend не требует с PR #437) lekss361 2026-05-23 14:57:12 +03:00
  • 47f4cc7d58 refactor(tradein): avito search — remove jitter (C-5) + mobile API dead code + parse houseLinks (#441) lekss361 2026-05-23 11:55:18 +00:00
  • 931396819b refactor(tradein): avito search — remove jitter (C-5) + mobile API dead code + parse houseLinks lekss361 2026-05-23 14:48:57 +03:00
  • a2147872ed feat(tradein): SQL migrations 009-018 — houses + listings extension + IMV cache (#440) lekss361 2026-05-23 11:41:44 +00:00
  • 43a8ec426e fix(ui): <Link> вместо <a> для internal nav routes (build error fix) lekss361 2026-05-23 11:31:59 +00:00
  • 28ddf6ef17 feat(tradein): SQL migrations 009-018 — houses + listings extension + history + IMV cache lekss361 2026-05-23 14:29:04 +03:00
  • e5c5b2de52 fix(ui): заменить <a> на <Link> для internal nav routes (build error @next/next/no-html-link-for-pages) lekss361 2026-05-23 14:26:03 +03:00
  • 65c77b96b6 feat(ui): добавить Trade-In / Концепция / Админ в landing nav (#438) lekss361 2026-05-23 11:11:21 +00:00
  • be00c71ac3 feat(ui): добавить Trade-In / Концепция / Админ в nav + logo как ссылка на главную lekss361 2026-05-23 14:05:27 +03:00
  • b233bf91cc refactor(security): убрать X-Admin-Token (Caddy basic_auth достаточен) (#437) lekss361 2026-05-23 10:41:22 +00:00
  • cd0d80b626 fix: добавить admin_etl.py + rebase на актуальный main lekss361 2026-05-23 13:32:12 +03:00
  • 82217b7edd refactor(security): убрать X-Admin-Token из 5 admin файлов (43 endpoints) lekss361 2026-05-23 13:26:36 +03:00
  • 0e294641a1 fix(security): log_credentials + auth_audit.log → username из 401 (#436) lekss361 2026-05-23 09:59:50 +00:00
  • 6f36f298ec fix(security): log_credentials + auth_audit.log → username из 401 lekss361 2026-05-23 12:51:53 +03:00
  • 5e3ba351a0 fix(tradein): security hotfix — C-3 config default + C-4 empty estimate persist + C-6 PDF URL allowlist (#435) lekss361 2026-05-23 09:38:23 +00:00
  • 3295808b41 fix(security): caddy/** в deploy paths + username из 401 попытки (#434) lekss361 2026-05-23 09:25:41 +00:00
  • c92b574e59 fix(tradein): security hotfix — config default + empty estimate persist + PDF URL allowlist lekss361 2026-05-23 12:24:11 +03:00
  • b063b7a791 fix(security): caddy/** в deploy paths + username из 401 попытки lekss361 2026-05-23 12:18:03 +03:00
  • de1652a6d8 feat(security): добавить юзера kopylov в basic_auth gate (#433) lekss361 2026-05-23 09:07:50 +00:00
  • f4d43d1cfc fix(security): forwarder PermissionError — убрать USER nobody + deploy automation (#432) lekss361 2026-05-23 09:04:00 +00:00
  • d4991ae52e feat(security): добавить юзера kopylov в basic_auth gate lekss361 2026-05-23 12:02:13 +03:00
  • 5beed7dfce fix(security): forwarder PermissionError — убрать USER nobody (read /var/log/caddy) lekss361 2026-05-23 11:54:58 +03:00
  • 4dbfcfad4a feat(deploy): автоматизировать build+up glitchtip-auth-forwarder lekss361 2026-05-23 11:51:15 +03:00
  • 03dc8e6735 feat(security): GlitchTip forwarder для basic_auth 401 events (Phase 2 PR #426) (#430) lekss361 2026-05-23 08:42:36 +00:00
  • 71cbdbe238 feat(security): GlitchTip forwarder для basic_auth 401 events (Phase 2 PR #426) lekss361 2026-05-23 11:32:44 +03:00
  • cc2d148967 feat(security): закрыть gendsgn.ru basic_auth gate (multi-user, 11 users) (#426) lekss361 2026-05-23 08:16:10 +00:00
  • cdce8e84a1 fix(security): применить ревью PR #426 — route wrap + log rotation + base64 busybox + runbook log fix lekss361 2026-05-23 11:11:50 +03:00
  • b89b34c300 feat(security): закрыть gendsgn.ru basic_auth gate (multi-user, 11 users) lekss361 2026-05-23 10:55:03 +03:00
  • 99c19f9fbb Merge pull request 'fix(tradein): PDF — рабочая ссылка на отчёт + «Есть/Нет» для балкона' (#425) from fix/tradein-pdf-link-balcony into main lekss361 2026-05-22 11:01:50 +00:00
  • 420057aa02 fix(tradein): PDF — рабочая ссылка на отчёт + «Есть/Нет» для балкона Light1YT 2026-05-22 16:01:12 +05:00
  • 7a9b183296 Merge pull request 'fix(tradein): восстановленная оценка показывает этаж/площадь, не 0/0' (#424) from fix/tradein-restore-estimate-params into main lekss361 2026-05-22 10:51:04 +00:00
  • 9b2a54788b fix(tradein): восстановленная оценка показывает этаж/площадь, не 0/0 Light1YT 2026-05-22 15:50:19 +05:00
  • 7daa2dec55 Merge pull request 'fix(tradein): фото аналога в Сводке больше не скрыто плейсхолдером' (#423) from fix/tradein-hero-photo-visible into main lekss361 2026-05-22 10:35:44 +00:00
  • 6041ac8464 fix(tradein): фото аналога в Сводке больше не скрыто плейсхолдером Light1YT 2026-05-22 15:35:01 +05:00
  • 07903b1c36 Merge pull request 'fix(tradein): бюджет по времени в geocode-missing — cron не таймаутит' (#422) from fix/tradein-geocode-time-budget into main lekss361 2026-05-22 09:37:42 +00:00
  • 0b14538f7d fix(tradein): бюджет по времени в geocode-missing — cron не таймаутит Light1YT 2026-05-22 14:37:15 +05:00
  • 389fcb2146 Merge pull request 'fix(tradein): оценка исключает Avito из радиусного поиска аналогов' (#421) from fix/tradein-estimate-exclude-avito into main lekss361 2026-05-22 09:26:59 +00:00
  • 8bef0fd872 fix(tradein): оценка исключает Avito из радиусного поиска аналогов Light1YT 2026-05-22 14:26:29 +05:00
  • c3df202d8a Merge pull request 'fix(tradein): N1.ru — честный статус источника вместо хардкод-timeout' (#420) from fix/tradein-n1-source-status into main lekss361 2026-05-22 09:16:54 +00:00
  • 14c81dd5ac fix(tradein): N1.ru — честный статус источника вместо хардкод-timeout Light1YT 2026-05-22 14:16:30 +05:00
  • 9713f734d7 Merge pull request 'fix(tradein): Avito-парсер тащит фото и реальный адрес из DOM' (#419) from fix/tradein-avito-photos-address into main lekss361 2026-05-22 08:49:37 +00:00
  • 1d788b27d0 fix(tradein): Avito-парсер тащит фото и реальный адрес из DOM-карточек Light1YT 2026-05-22 13:49:09 +05:00
  • 65e84913b0 Merge pull request 'fix(tradein): map-picker подставляет уличный адрес, а не название POI' (#418) from fix/tradein-reverse-geocode-street into main lekss361 2026-05-22 08:36:28 +00:00
  • a7a3831ce7 fix(tradein): map-picker подставляет уличный адрес, а не название POI Light1YT 2026-05-22 13:32:39 +05:00
  • e713c1d50e Merge pull request 'fix(tradein): GET /estimate/{id} возвращает полный набор полей' (#417) from fix/tradein-restore-full-estimate into main lekss361 2026-05-22 08:21:11 +00:00
  • 18c2e64182 fix(tradein): GET /estimate/{id} возвращает полный набор полей TradeIn Deploy 2026-05-22 13:20:53 +05:00
  • a1cd5e293e Merge pull request 'feat(tradein): выбор адреса на карте ЕКБ (#415)' (#416) from feat/tradein-map-picker into main lekss361 2026-05-22 07:09:51 +00:00
  • d456e4fecb feat(tradein): выбор адреса на карте ЕКБ (#415) TradeIn Deploy 2026-05-22 12:09:35 +05:00
  • c25ccee58c Merge pull request 'fix(tradein): фото аналога в Сводке + честный статус источников' (#414) from fix/tradein-ui-photo-sources into main lekss361 2026-05-22 07:03:12 +00:00
  • 1941c3d7df fix(tradein): фото аналога в Сводке + честный статус источников TradeIn Deploy 2026-05-22 12:02:56 +05:00
  • b7b50c1daf Merge pull request 'feat(tradein): рабочие страницы История и Кэш (#399)' (#413) from feat/tradein-history-cache-pages into main lekss361 2026-05-22 06:28:44 +00:00
  • abafb60120 feat(tradein): рабочие страницы История и Кэш (#399) TradeIn Deploy 2026-05-22 11:28:27 +05:00
  • 4e36fcb0cc Merge pull request 'feat(tradein): бэкап tradein-postgres по cron (#397)' (#412) from feat/tradein-db-backup into main lekss361 2026-05-22 06:23:35 +00:00
  • 34bef40ec5 feat(tradein): бэкап tradein-postgres по cron (#397) TradeIn Deploy 2026-05-22 11:22:30 +05:00
  • 5e907aa7af Merge pull request 'feat(tradein): мониторинг ошибок через GlitchTip (#396)' (#410) from feat/tradein-glitchtip into main lekss361 2026-05-22 06:21:24 +00:00
  • 59ad41c183 feat(tradein): мониторинг ошибок через GlitchTip (#396) TradeIn Deploy 2026-05-22 11:18:26 +05:00
  • 4c51406fda Merge pull request 'feat(tradein): CRM-поля в форме оценки (#395)' (#409) from feat/tradein-crm-fields into main lekss361 2026-05-22 06:15:32 +00:00
  • 48ccbdafc8 feat(tradein): CRM-поля в форме оценки (#395) TradeIn Deploy 2026-05-22 11:15:15 +05:00
  • 88d2840edf Merge pull request 'feat(tradein): фронтенд загрузки фото квартиры (#394)' (#408) from feat/tradein-photo-upload-ui into main lekss361 2026-05-22 06:11:05 +00:00
  • 0a1df4d13a feat(tradein): фронтенд загрузки фото квартиры (#394) TradeIn Deploy 2026-05-22 11:10:50 +05:00
  • a904037f95 Merge pull request 'feat(tradein): backend загрузки фото квартиры (#394)' (#407) from feat/tradein-photo-upload into main lekss361 2026-05-22 06:06:10 +00:00
  • 5413cce953 feat(tradein): backend загрузки фото квартиры (#394) TradeIn Deploy 2026-05-22 11:05:35 +05:00
  • c86f2e5a72 Merge pull request 'feat(tradein): кадастр зданий как источник house_metadata (#393)' (#406) from feat/tradein-cadastre-enrichment into main lekss361 2026-05-22 05:55:05 +00:00
  • 9cc8ab96f7 feat(tradein): кадастр зданий как источник house_metadata (#393) TradeIn Deploy 2026-05-22 10:54:42 +05:00
  • 64c6759002 Merge pull request 'feat(tradein): обогащение house_metadata через OSM Overpass (#392)' (#405) from feat/tradein-house-metadata-osm into main lekss361 2026-05-22 05:40:13 +00:00
  • bf2886509d feat(tradein): обогащение house_metadata через OSM Overpass (#392) TradeIn Deploy 2026-05-22 10:39:56 +05:00
  • 4dc173c15b Merge pull request 'chore(security): убрать sshkey.txt из репозитория (#391)' (#404) from chore/untrack-sshkey-secrets into main lekss361 2026-05-22 05:29:10 +00:00
  • 6f372402be chore(security): убрать sshkey.txt из репозитория (#391) TradeIn Deploy 2026-05-22 10:28:23 +05:00
  • 3b2850b91b Merge pull request 'fix(tradein): cron-scrape подхватывает .env.runtime (#390)' (#403) from fix/tradein-cron-scrape-env into main lekss361 2026-05-22 05:23:33 +00:00
  • 78df203919 fix(tradein): cron-scrape подхватывает .env.runtime (#390) TradeIn Deploy 2026-05-22 10:23:03 +05:00
  • e170dddd24 Merge pull request 'fix(tradein): estimate 500 — AmbiguousParameter на NULL-параметрах' (#389) from fix/tradein-estimate-ambiguous-param into main lekss361 2026-05-22 05:03:53 +00:00
  • 923513f906 fix(tradein): estimate 500 — AmbiguousParameter на NULL-параметрах TradeIn Deploy 2026-05-22 10:03:17 +05:00
  • 137c8bbb08 Merge pull request 'fix(tradein): estimate 500 — алиас distance_m в ORDER BY' (#388) from fix/tradein-estimate-orderby-alias into main lekss361 2026-05-21 17:40:24 +00:00
  • dbe16c035e fix(tradein): estimate 500 — алиас distance_m в ORDER BY-выражении TradeIn Deploy 2026-05-21 22:39:36 +05:00
  • cae12fe6c3 Merge pull request 'feat(tradein): прогноз срока продажи + rate-limit (#9,#16)' (#387) from feat/tradein-dom-ratelimit into main lekss361 2026-05-21 17:13:08 +00:00
  • 63c96628e3 feat(tradein): прогноз срока продажи + rate-limit (#9,#16) TradeIn Deploy 2026-05-21 20:12:49 +03:00
  • c3a9582957 Merge pull request 'feat(tradein): geocode-missing для deals (#4)' (#386) from feat/tradein-geocode-deals into main lekss361 2026-05-21 17:04:35 +00:00
  • 4ea35d5740 feat(tradein): geocode-missing для deals (#4 завершение) TradeIn Deploy 2026-05-21 20:04:19 +03:00
  • 9ac4f35abc Merge pull request 'feat(tradein): house-match аналогов + поправка на ремонт (#6,#7)' (#385) from feat/tradein-house-match-repair into main lekss361 2026-05-21 17:01:03 +00:00
  • a7d010173f feat(tradein): house-match аналогов + поправка на ремонт (#6,#7) TradeIn Deploy 2026-05-21 20:00:47 +03:00
  • 8383ec0ed2 Merge pull request 'feat(tradein): импорт реальных сделок Росреестра (#4)' (#384) from feat/tradein-rosreestr-import into main lekss361 2026-05-21 16:57:36 +00:00
  • 6057063aec feat(tradein): импорт реальных сделок Росреестра (#4) TradeIn Deploy 2026-05-21 19:57:20 +03:00