Commit graph

  • 6270bb91f1 Merge pull request 'feat(tradein): auth на admin-эндпоинтах (#2)' (#383) from feat/tradein-admin-auth into main lekss361 2026-05-21 16:47:18 +00:00
  • 7adb7cff66 feat(tradein): auth на admin-эндпоинтах (#2) TradeIn Deploy 2026-05-21 19:47:01 +03:00
  • 0b9bf55ba0 Merge pull request 'fix(tradein): чанковый геокодинг — cron не таймаутится (#1)' (#382) from fix/tradein-geocode-chunked into main lekss361 2026-05-21 16:43:46 +00:00
  • 609744df91 fix(tradein): чанковый геокодинг — cron больше не таймаутится (#1) TradeIn Deploy 2026-05-21 19:43:12 +03:00
  • 8c7a628d17 Merge pull request 'feat(tradein): пагинация Циан/N1 3→8 страниц' (#381) from feat/tradein-deep-pagination into main lekss361 2026-05-21 11:34:45 +00:00
  • 7cc8d8370d feat(tradein): пагинация Циан/N1 3→8 страниц — плотность данных TradeIn Deploy 2026-05-21 14:34:29 +03:00
  • dbe0bbebff Merge pull request 'fix(tradein): убрать TRUNCATE из seed — деплой больше не wipe-ит данные' (#380) from fix/tradein-seed-truncate into main lekss361 2026-05-21 10:19:40 +00:00
  • fb49c56b81 fix(tradein): убрать TRUNCATE из seed — деплой больше не wipe-ит данные TradeIn Deploy 2026-05-21 13:19:24 +03:00
  • 1d4b720991 Merge pull request 'fix(tradein): реальные координаты Cian/N1 через геокодинг' (#379) from fix/tradein-real-coords into main lekss361 2026-05-21 10:14:48 +00:00
  • d2a740779d fix(tradein): реальные координаты Cian/N1 через геокодинг (был баг 0 аналогов) TradeIn Deploy 2026-05-21 13:14:33 +03:00
  • 362b1c1e15 Merge pull request 'feat(tradein): радиус 1000м + пагинация Циан/N1' (#378) from feat/tradein-radius-pagination into main lekss361 2026-05-21 08:59:37 +00:00
  • f7b820984b feat(tradein): радиус 1000м + пагинация Циан/N1 TradeIn Deploy 2026-05-21 11:59:16 +03:00
  • 2ecc26f63b Merge pull request 'feat(tradein): N1.ru scraper + cron для 4 источников' (#377) from feat/tradein-n1-scraper into main lekss361 2026-05-21 08:44:46 +00:00
  • 42a0c31f27 feat(tradein): N1.ru scraper + cron для 4 источников TradeIn Deploy 2026-05-21 11:44:32 +03:00
  • db36b6db91 Merge pull request 'fix(tradein): HOSTNAME=0.0.0.0 + NEXT_PUBLIC_API_BASE_URL build-arg' (#376) from fix/tradein-hostname-502 into main lekss361 2026-05-21 07:37:16 +00:00
  • ee43248b11 fix(tradein): HOSTNAME=0.0.0.0 + NEXT_PUBLIC_API_BASE_URL build-arg TradeIn Deploy 2026-05-21 10:21:32 +03:00
  • 0a649850a0 Merge pull request 'fix(tradein): PDF-ссылка через API_BASE_URL (basePath)' (#375) from fix/tradein-pdf-link-basepath into main lekss361 2026-05-21 07:16:11 +00:00
  • aeb895a9dc fix(tradein): PDF-ссылка через API_BASE_URL (basePath) lekss361 2026-05-21 10:15:44 +03:00
  • 259f5ece4d Merge pull request 'fix(tradein): Caddy strip только /trade-in для API' (#374) from fix/tradein-caddy-api-strip into main lekss361 2026-05-20 22:17:54 +00:00
  • 2ce29973f9 fix(tradein): Caddy strip только /trade-in для API (не /trade-in/api) lekss361 2026-05-21 01:17:24 +03:00
  • ba2afedf58 Merge pull request 'fix(tradein): префиксить API_BASE_URL через basePath' (#373) from fix/tradein-api-basepath into main lekss361 2026-05-20 22:14:10 +00:00
  • a17a73af71 fix(tradein): префиксить API_BASE_URL через basePath lekss361 2026-05-21 01:13:46 +03:00
  • e52ad3a25d Merge pull request 'fix(tradein): Caddy matcher для /trade-in без trailing slash' (#372) from fix/tradein-caddy-no-slash into main lekss361 2026-05-20 22:10:58 +00:00
  • b2841a761d fix(tradein): Caddy matcher для /trade-in без trailing slash lekss361 2026-05-21 01:10:36 +03:00
  • 7d8624072e Merge pull request 'fix(tradein): убрать basePath redirect-loop в frontend' (#371) from fix/tradein-frontend-basepath-redirect into main lekss361 2026-05-20 22:06:15 +00:00
  • 5082f50d53 fix(tradein): убрать basePath redirect-loop lekss361 2026-05-21 01:05:49 +03:00
  • da64c71e7c Merge pull request 'fix(tradein): commit empty frontend/public via .gitkeep' (#370) from fix/tradein-frontend-public-gitkeep into main lekss361 2026-05-20 21:59:39 +00:00
  • 9947cd5537 fix(tradein): commit empty frontend/public via .gitkeep lekss361 2026-05-21 00:59:13 +03:00
  • 411a2d1001 Merge pull request 'feat: add tradein-mvp subproject (Trade-In Estimator под /trade-in)' (#369) from feat/tradein-mvp into main lekss361 2026-05-20 21:26:26 +00:00
  • 02267d0306 feat: add tradein-mvp subproject (Trade-In Estimator под /trade-in) lekss361 2026-05-21 00:25:39 +03:00
  • 8b9388132b Merge pull request 'chore(glitchtip): temporarily enable user registration' (#368) from chore/glitchtip-temp-enable-signup into main lekss361 2026-05-18 06:51:24 +00:00
  • 51a0eac1b5 chore(glitchtip): temporarily enable user registration lekss361 2026-05-18 09:47:44 +03:00
  • f242d9bc44 feat(sf-fe-a12): Landing redesign + PilotCTA с real B3/B4 data (v2 rebased) (#367) lekss361 2026-05-18 05:16:57 +00:00
  • 212f7109e6 fix(sf-fe-a12): review fixes — B3 UUID contract + B4 stale flag + Drawer a11y + tokens + HeadlineBar lekss361 2026-05-18 08:11:33 +03:00
  • 014a98a79e feat(sf-fe-a12): Landing redesign + PilotCTA с real data B3/B4 lekss361 2026-05-18 07:43:31 +03:00
  • fab6887034 feat(sf-fe-a12): Landing redesign + PilotCTA с real data B3/B4 lekss361 2026-05-18 07:43:31 +03:00
  • 7f3734e062 Merge pull request 'fix(sf-legacy): фильтр стейл competitors (>1 года Сданные → не конкурент) — Maxim spec' (#365) from fix/sf-legacy-filter-stale-competitors into main lekss361 2026-05-18 04:33:41 +00:00
  • 12030c4e76 fix(sf-legacy): фильтр стейл competitors (>1 года Сданные → не конкурент) lekss361 2026-05-18 07:29:26 +03:00
  • 9a26575a26 feat(sf-legacy): expose new B5 fields (gate_verdict + utilities + zouit + recommendation) в старые табы lekss361 2026-05-18 07:24:04 +03:00
  • b605f213c9 Merge pull request 'feat(sf-legacy): EGRN + utilities блоки в Обзор tab (показать новые B5 поля)' (#363) from feat/legacy-overview-egrn-utilities into main lekss361 2026-05-18 04:23:16 +00:00
  • 6350e3f59a feat(sf-legacy): expose EGRN + utilities в Обзор tab lekss361 2026-05-18 07:21:53 +03:00
  • f6ea27c4f5 Merge pull request 'fix(sf-legacy): velocity=0 → '—' в MarketTab (consistency со «Срок продаж»)' (#362) from fix/legacy-market-velocity-zero-as-null into main lekss361 2026-05-18 04:16:51 +00:00
  • 237b391dfe fix(sf-legacy): treat velocity=0 as 'no data' in MarketTab lekss361 2026-05-18 07:14:22 +03:00
  • 607be225b0 feat(sf-fe-a11): Section 5 «Атмосфера / воздух» (#361) lekss361 2026-05-18 04:07:48 +00:00
  • 1bbd4e835d fix(sf-fe): decode cad in Server Component (B5 400 regression after #356) (#359) lekss361 2026-05-18 04:07:03 +00:00
  • bf5a55fcd0 Merge pull request 'feat(frontend): expose legacy Site Finder at /legacy/site-finder' (#360) from feat/legacy-site-finder-route into main lekss361 2026-05-18 04:05:39 +00:00
  • 31474deca8 feat(frontend): expose legacy Site Finder at /legacy/site-finder lekss361 2026-05-18 07:04:45 +03:00
  • 7d29dad7f6 feat(sf-fe-a11): Section 5 «Атмосфера / воздух» lekss361 2026-05-18 07:03:56 +03:00
  • bc2133e84e fix(sf-fe): decode cad URL param in Server Component (B5 400 regression) lekss361 2026-05-18 07:01:44 +03:00
  • 91026dcc6f feat(sf-fe-a10): Section 4 «Оценка участка» (#358) lekss361 2026-05-18 03:57:25 +00:00
  • de07cb93b9 feat(sf-fe-a10): Section 4 «Оценка участка» lekss361 2026-05-18 04:23:28 +03:00
  • 4d651f00ef feat(sf-fe-a8): Section 3.2 Планировки + 3.3 Остатки/Velocity + CompetitorTable drawer pattern (#357) lekss361 2026-05-18 01:14:32 +00:00
  • 41bc557ab2 feat(sf-fe-a8): Section 3.2 Планировки + 3.3 Остатки/Velocity + CompetitorTable drawer pattern lekss361 2026-05-18 04:08:02 +03:00
  • 68b1968826 feat(sf-fe-a7): Section 3.1 «Настройки выборки» + Server/Client split (rebased) (#356) lekss361 2026-05-18 00:55:05 +00:00
  • f970671a05 fix(sf-fe-a7): restore Section1+Section2 wiring + dedupe useParcelAnalyzeQuery hook lekss361 2026-05-18 03:48:12 +03:00
  • 318d30a881 feat(sf-fe-a7): Section 3.1 «Настройки выборки» — radius/chips/weights lekss361 2026-05-18 03:36:06 +03:00
  • 9065cca94f fix(sf-fe-a7): restore Section1+Section2 wiring + dedupe useParcelAnalyzeQuery hook lekss361 2026-05-18 03:48:12 +03:00
  • 70348ac1f4 feat(sf-fe-a7): Section 3.1 «Настройки выборки» — radius/chips/weights lekss361 2026-05-18 03:36:06 +03:00
  • 307a75f333 feat(sf-fe-a6): Section 2 «Сети и точки подключения» — real B5 utilities data (#354) lekss361 2026-05-18 00:27:55 +00:00
  • 888885b6c2 feat(sf-fe-a6): Section 2 «Сети и точки подключения» lekss361 2026-05-18 03:20:42 +03:00
  • da8847c0e2 fix(sf-fe): poi-score TypeError + drawer non-overlay + CSS design tokens (#353) lekss361 2026-05-18 00:04:30 +00:00
  • 807eb9ae0f fix(sf-fe): poi-score adapter (TypeError) + drawer non-overlay + CSS tokens lekss361 2026-05-18 02:57:21 +03:00
  • 9ffeee7ed2 feat(22d): admin UI buttons (skip/force) + reduce catalog jitter 800→300ms (#352) lekss361 2026-05-17 23:38:22 +00:00
  • ac86b75115 fix(sf-fe): decode cad param (B5 400) + hide entry sidebar when drawer open (#351) lekss361 2026-05-17 23:37:46 +00:00
  • 1b411f50ca feat(22d): admin UI buttons + reduce catalog jitter delay 800-1500ms → 300-700ms lekss361 2026-05-18 02:33:42 +03:00
  • 4a19ccf946 fix(sf-fe): decode cad URL param + hide entry sidebar when drawer open lekss361 2026-05-18 02:30:45 +03:00
  • 5b215def23 fix(sf-fe): decode cad URL param + hide entry sidebar when drawer open lekss361 2026-05-18 02:30:45 +03:00
  • f87a352292 fix(sf-fe): /site-finder — adapt B1 response shape (markers invisible) + restore CadInput (#349) lekss361 2026-05-17 23:20:57 +00:00
  • 839cf05d8b fix(sf-fe): adapt by-bbox response shape + add CadInput on entry page lekss361 2026-05-18 02:17:05 +03:00
  • f9adb5cc2f feat(22d): catalog scraper — skip-today filter + force flag (#348) lekss361 2026-05-17 23:15:22 +00:00
  • 13d07a94c7 feat(22d): catalog scraper — skip-today filter + force flag (admin "Загрузить все") lekss361 2026-05-18 02:11:47 +03:00
  • c363ea133f fix(api): /parcels/by-bbox 500 — area via ST_Area, drop missing land_category (#347) lekss361 2026-05-17 23:09:18 +00:00
  • 2dd21f68b3 fix(api): /parcels/by-bbox — derive area_m2 via ST_Area + drop missing land_category lekss361 2026-05-18 02:06:08 +03:00
  • fd4eb8c6f4 feat(sf-fe-a5): Section 1 Инфо об участке — HeadlineBar + KPI + EGRN + POI + Export (#346) lekss361 2026-05-17 22:55:05 +00:00
  • 47d0374386 fix(sf-fe-a5): address review #346 — CSV injection + area_m2 NaN fallback + nits lekss361 2026-05-18 01:53:09 +03:00
  • 6fe8d637fe feat(sf-fe-a5): Section 1 "Инфо об участке" — HeadlineBar + KPI + EGRN + POI + Export lekss361 2026-05-18 01:43:11 +03:00
  • 6ee20294f2 fix(frontend): sync package-lock.json with lucide-react (P0 deploy fail) (#345) lekss361 2026-05-17 22:30:31 +00:00
  • 82232aeeef fix(frontend): sync package-lock.json with lucide-react@0.511.0 lekss361 2026-05-18 01:28:32 +03:00
  • 956e461b9f Merge pull request 'feat(sf-fe-a4): analysis sidebar (scrollspy) + breadcrumb + user avatar' (#344) from feat/sf-fe-a4-sidebar into main lekss361 2026-05-17 22:20:03 +00:00
  • 5aab8a97af Merge pull request 'feat(sf-fe-a2): /site-finder entry — EntryMap + filters + drawer + recent' (#343) from feat/sf-fe-a2-entry into main lekss361 2026-05-17 22:19:17 +00:00
  • 05b6966a5f Merge pull request 'fix(22d): commit outer transaction in scrape_catalog_objects orchestrator' (#342) from fix/22d-catalog-objects-missing-commit into main lekss361 2026-05-17 22:13:49 +00:00
  • 0084773abf feat(sf-fe-a2): EntryMap + MapFilterBar + ParcelDrawer + RecentParcels + ParcelLegend lekss361 2026-05-18 01:12:32 +03:00
  • 440b53cef0 feat(sf-fe-a4): AnalysisSidebar (scrollspy) + Breadcrumb + UserAvatar lekss361 2026-05-18 01:12:18 +03:00
  • e5498682ba fix(22d): commit outer transaction in scrape_catalog_objects orchestrator lekss361 2026-05-18 01:10:06 +03:00
  • 2548f71f40 feat(sf-fe-a3): UI primitives — HeadlineBar + Badge + Drawer (#341) lekss361 2026-05-17 22:06:53 +00:00
  • 3aaaaba5f9 feat(sf-fe-a1): routes shell — entry / analysis + _legacy/ backup + mock toggle (#340) lekss361 2026-05-17 22:01:49 +00:00
  • e003e4114a feat(sf-fe-a3): UI primitives — HeadlineBar + Badge + Drawer lekss361 2026-05-18 00:58:00 +03:00
  • 87e6009f06 feat(sf-fe-a1): routes shell + _legacy/ backup + mock toggle wiring lekss361 2026-05-18 00:57:11 +03:00
  • 96b03872ac fix(22d): register scrape_kn_catalog_objects in celery include list (#339) lekss361 2026-05-17 21:54:13 +00:00
  • f3707712e5 fix(22d): register scrape_kn_catalog_objects in celery include list lekss361 2026-05-18 00:50:07 +03:00
  • bb7fbd5bc0 feat(sf-b4): GET /landing/stats — 5 KPI + paradox for landing page hero (#331) lekss361 2026-05-17 21:47:10 +00:00
  • 2349d75cec fix(sf-b4): updated_at → snapshot_date for domrf_kn_objects (column doesn't exist) lekss361 2026-05-18 00:44:36 +03:00
  • ea558b241c feat(22d): admin endpoint POST /admin/scrape/kn-catalog-objects (#338) lekss361 2026-05-17 21:41:53 +00:00
  • 1e08cd0c2e feat(22d): admin endpoint POST /admin/scrape/kn-catalog-objects lekss361 2026-05-18 00:38:52 +03:00
  • b0d48164b6 fix(sf-b4): price_per_m2 → price_per_m2_rub (actual column name in objective_lots) lekss361 2026-05-18 00:37:03 +03:00
  • e6f3b764a4 Merge remote-tracking branch 'forgejo/main' into feat/sf-b4-landing-stats lekss361 2026-05-18 00:37:03 +03:00
  • 76112870e2 fix(pilot): drop pydantic EmailStr — email-validator dep missing → backend startup crash (#337) lekss361 2026-05-17 21:32:23 +00:00
  • 0567ad2130 feat(22d): domrf_catalog_object scraper — fill ~25 NULL kn_objects cols from SSR __NEXT_DATA__ (#335) lekss361 2026-05-17 21:26:22 +00:00
  • c61c8c86af feat(sf-b1): GET /parcels/by-bbox — map entry endpoint + parcel_user_status table (#336) lekss361 2026-05-17 21:25:48 +00:00
  • 31e686e4d3 fix(pilot): replace pydantic EmailStr with str+regex (email-validator dep missing → backend startup ImportError → deploy unhealthy) lekss361 2026-05-18 00:24:45 +03:00