Commit graph

  • 42ab74e2e8 feat(tradein): MapPicker snap marker — Phase 5 of #582 (#594) Light1YT 2026-05-27 09:30:17 +00:00
  • 74026ef1d9 feat(tradein): MapPicker snap marker на canonical building point (PR H, #582 Phase 5) Light1YT 2026-05-27 14:29:51 +05:00
  • aa70e9e155 fix(tradein): yandex_realty captures house number + parse_rub strips NBSP (#593) Light1YT 2026-05-27 07:23:36 +00:00
  • 77c4af9751 fix(tradein): yandex_realty captures house number + parse_rub strips NBSP Light1YT 2026-05-27 12:23:11 +05:00
  • 1ce9e10012 feat(tradein): persistent infra для backfill scripts (PR F) (#592) Light1YT 2026-05-27 06:59:54 +00:00
  • b8f9213cd9 feat(tradein): persistent infra для backfill scripts Light1YT 2026-05-27 11:59:14 +05:00
  • 3c506222e6 feat(tradein): Phase 2-3 of #582 — Yandex backfill + canonical audit (#591) Light1YT 2026-05-27 06:30:54 +00:00
  • 20b4a195b3 feat(tradein): Phase 2-3 of #582 — backfill houses + canonical reverse audit Light1YT 2026-05-27 11:30:25 +05:00
  • 56a7a36c9a feat(auth): UserMenu — личный кабинет top-right (PR D) (#590) Light1YT 2026-05-26 10:48:57 +00:00
  • 358824c284 feat(auth): UserMenu — avatar + dropdown + basic_auth logout Light1YT 2026-05-26 15:48:26 +05:00
  • d954be1331 fix(auth): scripts/auth/*.sh — правильный SNIPPET path (#589) Light1YT 2026-05-26 08:39:24 +00:00
  • 7aced2a5e0 fix(auth): scripts/auth/*.sh — правильный SNIPPET path Light1YT 2026-05-26 13:39:01 +05:00
  • 252bc2de76 chore(security): sync admin hash в users.caddy.snippet (#588) Light1YT 2026-05-26 08:29:25 +00:00
  • 43807f338e chore(security): sync caddy/users.caddy.snippet with VPS-current hashes Light1YT 2026-05-26 13:29:05 +05:00
  • c08e4d7811 feat(rbac): pilot scope → только /trade-in/** (#587) Light1YT 2026-05-26 07:40:44 +00:00
  • 4a4a6e8727 feat(rbac): сузить pilot scope только до /trade-in/** Light1YT 2026-05-26 12:40:08 +05:00
  • 7a2b055b35 feat(rbac): frontend route-guard + nav filter (#586) Light1YT 2026-05-26 06:51:45 +00:00
  • da8125e695 feat(rbac): frontend route-guard + nav filter for pilot/admin scopes Light1YT 2026-05-26 11:42:03 +05:00
  • 88cdfd6adb feat(rbac): role-based access control via X-Authenticated-User middleware (#585) Light1YT 2026-05-26 06:18:40 +00:00
  • 3651c85f9b feat(rbac): enforce role-based access via X-Authenticated-User middleware Light1YT 2026-05-26 11:14:47 +05:00
  • fc12b2c160 Merge pull request 'feat(tradein): Phase 1 of #582 — address mismatch audit (200-house Yandex baseline)' (#583) from feat/tradein-address-audit-phase1 into main Light1YT 2026-05-26 05:18:56 +00:00
  • 074e55af5f Merge pull request 'fix(tradein): убрать «PRINZIP» wordmark из шапки' (#584) from fix/tradein-hide-prinzip-brand into main Light1YT 2026-05-25 08:29:30 +00:00
  • dcf5e32aa1 fix(tradein): убрать «PRINZIP» wordmark из шапки Light1YT 2026-05-25 13:28:48 +05:00
  • 02ad9a1f58 feat(tradein): Phase 1 of #582 — address mismatch audit infrastructure Light1YT 2026-05-25 12:50:30 +05:00
  • 33c4c84467 feat(tradein): этаж/этажность optional + best test presets по deal count (#558) lekss361 2026-05-24 21:44:44 +00:00
  • 3ce76b4beb fix(tradein): floor/total_floors NULL — migration + PDF defaults lekss361 2026-05-25 00:36:49 +03:00
  • c60d394ff0 feat(tradein): этаж/этажность optional + best test presets по deal count lekss361 2026-05-25 00:20:08 +03:00
  • 8c540ecec6 fix(tradein): extract_street_name handles Nominatim reverse format (#557) lekss361 2026-05-24 21:03:42 +00:00
  • 8de8daef01 fix(tradein): extract_street_name handles Nominatim reverse format lekss361 2026-05-24 23:54:13 +03:00
  • 4d1c409e18 feat(tradein): «По вашей улице» — StreetDealsCard на real ДКП-сделки Росреестра (#556) lekss361 2026-05-24 20:37:29 +00:00
  • 56a9c6a021 feat(tradein): «По вашей улице» — ДКП-сделки Росреестра по улице target адреса lekss361 2026-05-24 23:31:44 +03:00
  • a63e459e25 feat(tradein): GET /street-deals — ДКП-сделки Росреестра по улице target адреса (#555) lekss361 2026-05-24 20:05:48 +00:00
  • 136202dc80 feat(tradein/scripts): local Playwright runners для Cian backfill (bypass server-IP anti-bot) (#553) lekss361 2026-05-24 20:00:59 +00:00
  • 16a8239de7 Merge pull request 'feat(tradein): yandex address backfill — street → full address' (#554) from feat/tradein-yandex-address-backfill into main lekss361 2026-05-24 19:59:23 +00:00
  • d2a0257639 feat(tradein-scripts): scrapers + probes + Phase C improvements (#551) lekss361 2026-05-24 19:58:38 +00:00
  • 6bbb026cb4 fix(yandex-valuation): off-by-one cell index in _parse_row_cells (#552) lekss361 2026-05-24 19:57:17 +00:00
  • 23aebea812 feat(tradein): GET /street-deals — ДКП-сделки по улице target адреса lekss361 2026-05-24 22:56:10 +03:00
  • 7575999ad9 feat(tradein): backfill yandex listings.address with house number from detail page lekss361 2026-05-24 22:52:34 +03:00
  • d692511cef fix(yandex-valuation): correct off-by-one cell index in _parse_row_cells lekss361 2026-05-24 22:51:03 +03:00
  • 5555ea2f67 feat(tradein/scripts): local Playwright runners для Cian history+valuation backfill (bypass server-IP anti-bot) lekss361 2026-05-24 22:50:58 +03:00
  • 70e45ce5e9 feat(tradein-scripts): scrapers, probes, Phase C improvements lekss361 2026-05-24 22:49:20 +03:00
  • 5394713bc7 Merge pull request 'feat(tradein): sell-time sensitivity (4 цены × срок продажи)' (#548) from feat/tradein-sell-time-backend into main lekss361 2026-05-24 19:44:41 +00:00
  • 0ac54d1de0 feat(tradein): sell-time sensitivity block (4 цены × медиана срока продажи) lekss361 2026-05-24 21:27:18 +03:00
  • 596842df8d fix(tradein): filter ДКП-only in rosreestr importer + re-enable deals (#549) lekss361 2026-05-24 19:42:28 +00:00
  • 5bfacd51b0 feat(tradein): «Росреестр» button — copy address + open EGRN request form (#550) lekss361 2026-05-24 19:42:09 +00:00
  • 4d09b3bca8 feat(tradein): «Росреестр» button — copy address + open EGRN request form lekss361 2026-05-24 22:36:25 +03:00
  • d3ad896efe fix(tradein): filter ДКП-only in rosreestr importer + re-enable deals lekss361 2026-05-24 22:31:23 +03:00
  • 967e7185ca feat(tradein): cian price-change badges + split chart Avito/Yandex (#547) lekss361 2026-05-24 18:24:00 +00:00
  • 07cbcd235b feat(tradein): cian price-change badges + split price-history chart lekss361 2026-05-24 21:14:26 +03:00
  • 80850a591e feat(tradein): house analytics section (chart + KPI + sold list) (#546) lekss361 2026-05-24 18:09:45 +00:00
  • 7eeffe353a feat(tradein): house analytics section на trade-in странице lekss361 2026-05-24 21:00:42 +03:00
  • f7a5c5d4f7 fix(yandex-valuation): curl_cffi chrome120 — Yandex gates SSR on Chrome TLS (#545) lekss361 2026-05-24 16:42:07 +00:00
  • ed6e52f393 fix(yandex-valuation): use curl_cffi chrome120 — Yandex gates SSR on Chrome TLS lekss361 2026-05-24 19:37:30 +03:00
  • 8a88ea6508 refactor(yandex-valuation): DOM-based parser via .OffersArchiveSearchOffers__row (#544) lekss361 2026-05-24 16:25:56 +00:00
  • e070f06c26 refactor(yandex-valuation): DOM-based parser via .OffersArchiveSearchOffers__row lekss361 2026-05-24 19:20:20 +03:00
  • cbe81b7fb7 Merge pull request 'fix(tradein/devops): wire COOKIE_ENCRYPTION_KEY env to tradein-backend' (#543) from chore/tradein-cookie-encryption-key-env into main lekss361 2026-05-24 16:08:20 +00:00
  • 3ed58e3e7a fix(yandex-valuation): relax area regex lookbehind (2-комн regression) (#542) lekss361 2026-05-24 16:02:06 +00:00
  • a75a660e5b fix(tradein/devops): wire COOKIE_ENCRYPTION_KEY env to tradein-backend (Calculator was broken on prod) lekss361 2026-05-24 18:58:51 +03:00
  • 9b07a0f935 fix(yandex-valuation): relax area regex lookbehind (2-комн regression) lekss361 2026-05-24 18:50:04 +03:00
  • 5b1fb6633f fix(tradein-phase-c): prepend region prefix for IMV geocoder (#540) lekss361 2026-05-24 15:39:56 +00:00
  • 490bc8ca5d fix(yandex-valuation): tighten area regex + chronological date ordering (#541) lekss361 2026-05-24 15:37:48 +00:00
  • 961bdc0225 fix(yandex-valuation): tighten area regex + chronological date ordering lekss361 2026-05-24 18:28:22 +03:00
  • 57dd989e58 fix(tradein-phase-c): prepend region prefix to addresses for IMV geocoder lekss361 2026-05-24 18:27:02 +03:00
  • ba9cc3aef1 feat(tradein/cian): valuation backfill + runner script для prod (#539) lekss361 2026-05-24 15:16:45 +00:00
  • 9505471129 fix(yandex-valuation): cap area_m2 sanity (drop >10000 or ≤0) (#538) lekss361 2026-05-24 15:14:13 +00:00
  • 4939d04360 fix(yandex-valuation): cap area_m2 sanity (drop >10000 or <=0) lekss361 2026-05-24 18:09:12 +03:00
  • da38cd0a5f feat(tradein/cian): valuation backfill + runner script для prod lekss361 2026-05-24 18:07:17 +03:00
  • ee2262d605 fix(tradein-phase-c): house_type 'monolith'→'monolithic' + log 400 body (#537) lekss361 2026-05-24 15:05:49 +00:00
  • 499ca76aed feat(tradein-sweep): --require-house-number filter (default on) (#536) lekss361 2026-05-24 15:03:40 +00:00
  • 1d9a8e4ac4 fix(tradein-sweep): paginate until total_objects reached, dedup pages lekss361 2026-05-24 18:02:38 +03:00
  • 5ee8a20732 feat(tradein-sweep): --require-house-number filter (default on) lekss361 2026-05-24 17:59:09 +03:00
  • c533d3affd fix(tradein-phase-c): map house_type 'monolith'→'monolithic' + log 400 body lekss361 2026-05-24 17:58:52 +03:00
  • bc594e3f79 feat(tradein/cian): batch backfill task для offer_price_history + houses_price_dynamics (#535) lekss361 2026-05-24 14:55:47 +00:00
  • b0d377c984 feat(tradein): Phase C — Avito IMV per-house backfill (SQL + script) (#534) lekss361 2026-05-24 14:50:31 +00:00
  • e77bc9fe06 fix(tradein/cian): rename counter to price_changes_attempted + cap batch_size <=200 lekss361 2026-05-24 17:44:20 +03:00
  • 6851c55090 feat(tradein/cian): batch backfill task для offer_price_history + houses_price_dynamics lekss361 2026-05-24 17:41:43 +03:00
  • e868b01278 feat(tradein): Phase C — Avito IMV per-house backfill lekss361 2026-05-24 17:40:24 +03:00
  • 77cda24b8a feat(tradein): bulk sweep CLI for Yandex valuation house-history (EKB) (#533) lekss361 2026-05-24 14:37:24 +00:00
  • 0d10eb400f fix(tradein-api): PlacementHistoryEntry schema + None checks (PR #528 follow-up) (#532) lekss361 2026-05-24 14:33:53 +00:00
  • 08cf615ad7 feat(tradein/cian): surface valuation chart + rent + change-pct on /trade-in (#530) lekss361 2026-05-24 14:32:54 +00:00
  • 4f26720dc8 feat(tradein): bulk sweep CLI for Yandex valuation house-history (EKB) lekss361 2026-05-24 17:32:44 +03:00
  • c8675ce6e2 feat(yandex-valuation): link history rows to houses via match_or_create_house (#531) lekss361 2026-05-24 14:28:30 +00:00
  • 8cdc7840ef fix(tradein/cian): rename chart key month_date→date + null-filter + typed ChartPoint lekss361 2026-05-24 17:25:58 +03:00
  • 72334a7558 fix(tradein-api): add PlacementHistoryEntry schema + None checks lekss361 2026-05-24 17:25:32 +03:00
  • 7dc11e4339 feat(tradein-api): surface backfilled houses + placement history (#528) lekss361 2026-05-24 14:22:50 +00:00
  • e73f9479ef merge forgejo/main into feat/cian-valuation-surface (resolve estimator.py: keep defensive coerce) lekss361 2026-05-24 17:22:42 +03:00
  • f2f9e5b79b feat(tradein-ui): placement history card (#529) lekss361 2026-05-24 14:22:16 +00:00
  • f04e391bf6 feat(yandex-valuation): link history rows to houses via match_or_create_house lekss361 2026-05-24 17:17:49 +03:00
  • c6ab419100 feat(tradein-sql): bootstrap houses + link 98.8% of listings (Phase A+B) (#527) lekss361 2026-05-24 14:17:32 +00:00
  • 3f0a49de51 fix(tradein/cian): coerce unknown chart_change_direction to None for Pydantic Literal lekss361 2026-05-24 17:16:24 +03:00
  • 11b242d4b3 feat(tradein-ui): placement history card lekss361 2026-05-24 17:15:44 +03:00
  • 9c4c13780e feat(tradein-api): surface backfilled houses + placement history lekss361 2026-05-24 17:15:30 +03:00
  • ad4f0ef606 feat(tradein-ui): CianValuationCard — sparkline + sale/rent prices + change badge lekss361 2026-05-24 17:14:13 +03:00
  • 7ef4e91e50 fix(yandex-valuation): parse removed_date, fix total_floors regex, normalize NBSP (#526) lekss361 2026-05-24 14:12:16 +00:00
  • 3185c45a7b feat(tradein/cian): expose chart+rent+change-pct on AggregatedEstimate lekss361 2026-05-24 17:10:25 +03:00
  • ed60fe1b95 fix(tradein-sql): dedup cross-source houses in 063 migration lekss361 2026-05-24 17:09:57 +03:00
  • 591039493c feat(tradein/cian): admin endpoints + UI for detail+newbuilding history scrape (#525) lekss361 2026-05-24 14:05:55 +00:00
  • 60147fd971 feat(tradein-sql): bootstrap houses + link listings.house_id_fk (Phase A+B) lekss361 2026-05-24 17:00:18 +03:00
  • 85f1f90410 fix(yandex-valuation): parse removed_date, fix total_floors regex, normalize NBSP lekss361 2026-05-24 16:58:57 +03:00
  • 82a78c3ead fix(tradein-ui): drop double URLSearchParams encoding for cian-detail/nb forms lekss361 2026-05-24 16:57:07 +03:00