Commit Graph

  • d041acf183 docs(ПИЛОТ): снимок 19.06 — G1-G7 выкачены на боевой liderra.ru, метод/грабли/бэкапы main Дмитрий 2026-06-19 19:29:33 +03:00
  • 01a9029c25 fix(G7-B): stray не-lpimp Bearer на sanctum-роуте → чистый 401 вместо 500 (нет таблицы PAT) Дмитрий 2026-06-19 17:35:53 +03:00
  • 1e5ef3342f chore(G7-B): baseline Pest TestCall-ложноположительных для impersonation-тестов (0 продуктовых подавлений) Дмитрий 2026-06-19 17:25:28 +03:00
  • 173b089629 feat(G7-B): клиентская плашка impersonation + редирект/ключ в диалоге + leave Дмитрий 2026-06-19 17:09:59 +03:00
  • a2f086cc40 feat(G7-B): leave из кабинета + impersonation-контекст в /api/auth/me + end-письмо Дмитрий 2026-06-19 17:04:48 +03:00
  • 56f54dfdb7 feat(G7-B): изоляция админ-зоны при impersonation + авто-истечение сессии 1 ч Дмитрий 2026-06-19 16:51:21 +03:00
  • 3e1eb7e835 feat(G7-B): guard impersonation + envelope машинного ключа на рабочих группах кабинета Дмитрий 2026-06-19 16:44:42 +03:00
  • 377a16a605 feat(G7-B): verify — session-takeover целевого юзера + выдача машинного ключа Дмитрий 2026-06-19 16:35:03 +03:00
  • ab0787c887 feat(G7-B): письма impersonation код-согласие + завершение, wire в init Дмитрий 2026-06-19 16:25:49 +03:00
  • 8bdff8b761 feat(G7-B): колонка session_token_hash под машинный ключ impersonation, schema v8.49 Дмитрий 2026-06-19 16:21:32 +03:00
  • 739c28d296 docs(G7-B): план реализации двери impersonation + машинный ключ Дмитрий 2026-06-19 16:17:56 +03:00
  • 42cdd5233b docs(G7-B): спека двери impersonation + машинный ключ под ИИ + карта каналов Дмитрий 2026-06-19 16:09:07 +03:00
  • 93def8b6b4 docs(G7-B): хэндофф достройки impersonation — состояние брейншторма + промпт след. сессии Дмитрий 2026-06-19 15:20:24 +03:00
  • 734ed08ce9 chore(G7-A): baseline Pest-ложноположительных в SupportRequestControllerTest Дмитрий 2026-06-19 15:08:30 +03:00
  • b133ceb98a feat(G7-A): экран «Помощь» (форма-заявка) + пункт меню + роут Дмитрий 2026-06-19 15:04:17 +03:00
  • b5eb0eb1cd feat(G7-A): meta support-email + условный JivoSite в shell-blade Дмитрий 2026-06-19 15:02:14 +03:00
  • bfdc45b757 feat(G7-A): POST /api/support-requests + тест (store+mail+валидация) Дмитрий 2026-06-19 15:00:12 +03:00
  • 4732408545 feat(G7-A): SupportRequestMail + шаблон письма Дмитрий 2026-06-19 14:55:21 +03:00
  • 46efd40b9f feat(G7-A): модель SupportRequest Дмитрий 2026-06-19 14:54:25 +03:00
  • 2d1c2e8487 feat(G7-A): таблица support_requests (schema + миграция, RLS) Дмитрий 2026-06-19 14:53:57 +03:00
  • 15a66b52a9 feat(G7-A): конфиг support.email + jivosite.widget_id Дмитрий 2026-06-19 14:50:39 +03:00
  • 799d775361 docs(G7-A): план реализации клиентской «Помощь» Дмитрий 2026-06-19 14:48:18 +03:00
  • 102f97ca92 docs(G7-A): спека клиентской «Помощь» (форма+email+JivoSite) Дмитрий 2026-06-19 14:18:16 +03:00
  • a6db8d9cfa fix(schema): закрыть остаток дрейфа (project_routing_snapshots) + guard CREATE POLICY 05_27 (v8.47) Дмитрий 2026-06-19 13:37:48 +03:00
  • fec15a3703 fix(migration): guard CREATE POLICY в tenant_requisites (DROP IF EXISTS) — чинит migrate:fresh Дмитрий 2026-06-19 12:58:37 +03:00
  • 9ac5382d2c fix(schema): синк дрейфа lead-region в schema.sql + guard миграции 05_31 (v8.46) Дмитрий 2026-06-19 12:55:04 +03:00
  • 2eaa78f95b fix(stan): Larastan-долг G1/G6 = 0 ошибок (реальные баги — починены, не спрятаны) Дмитрий 2026-06-19 12:40:00 +03:00
  • ca5fd8d2f6 fix(G3): счётчик «7 событий» в уведомлениях + убрать «напоминаниях» из подсказки таймзоны Дмитрий 2026-06-19 12:06:17 +03:00
  • 0c53f929e8 chore(G3): почистить phpstan-baseline от напоминаний Дмитрий 2026-06-19 11:55:57 +03:00
  • 3605d83092 feat(G3): drop таблицы reminders — миграция + schema.sql + CHANGELOG Дмитрий 2026-06-19 11:48:26 +03:00
  • 6bbfa1f624 fix(G3): убрать создание reminders из HistoricalImportService (шов CSV-импорта) Дмитрий 2026-06-19 11:43:00 +03:00
  • 582c02d4a7 feat(G3): убрать reminder из дефолтов notification_preferences (factory+seeder) Дмитрий 2026-06-19 11:38:58 +03:00
  • 34981da707 feat(G3): удалить контроллер/роуты/модель/команду/письмо напоминаний Дмитрий 2026-06-19 11:37:57 +03:00
  • c85b4acbc3 feat(G3): убрать ветку reminder из NotificationService Дмитрий 2026-06-19 11:36:27 +03:00
  • 591abc7d93 feat(G3): убрать next_reminder_at-подзапрос из DealController Дмитрий 2026-06-19 11:34:36 +03:00
  • 4c3e57bf9b feat(G3): убрать преференцию «Напоминание» + хвосты фронт-тестов Дмитрий 2026-06-19 11:29:46 +03:00
  • cbf8b4fb43 feat(G3): убрать next_reminder_at из фронт-слоя сделок Дмитрий 2026-06-19 11:29:35 +03:00
  • a49b201d33 feat(G3): убрать экран «Напоминания» и раздел в карточке сделки Дмитрий 2026-06-19 11:18:49 +03:00
  • 5b1ea80745 docs(G3): план реализации удаления фичи «Напоминания» Дмитрий 2026-06-19 11:08:29 +03:00
  • a39f12dc35 docs(G3): спека полного удаления фичи «Напоминания» (вкл. таблицу) Дмитрий 2026-06-19 10:56:18 +03:00
  • 97fff8e8d6 docs: хэндофф сессии 19.06 — G1-хвосты+G2-B+G6 DONE, промпт следующей сессии Дмитрий 2026-06-19 10:27:32 +03:00
  • 716c62dadb feat(G6): контроллер + роут GET /api/v1/deals (публичный read-API сделок) Дмитрий 2026-06-19 10:13:08 +03:00
  • 193fbde6c1 feat(G6): middleware ApiKeyAuth — аутентификация по API-ключу Дмитрий 2026-06-19 10:12:03 +03:00
  • c61c38efd4 test(G6): приёмка публичного API сделок (RED) Дмитрий 2026-06-19 10:11:24 +03:00
  • 8ccd3d23bb docs: G6 план реализации — публичный read-API сделок (middleware+контроллер+роут+тест) Дмитрий 2026-06-19 10:10:16 +03:00
  • abee37524e docs: G6 дизайн — публичный read-API сделок по API-ключу Дмитрий 2026-06-19 10:07:11 +03:00
  • c049ab49b6 test(G2-B): UserFactory зеркалит новый дефолт new_lead.email true Дмитрий 2026-06-19 08:53:36 +03:00
  • 01dffd6b30 feat(G2-B): миграция — дефолт new_lead.email true + дотяжка существующих Дмитрий 2026-06-19 08:53:07 +03:00
  • 37ad398c14 chore(G2-B): канон схемы — дефолт new_lead.email true + CHANGELOG v8.44 (+sync v8.43 в header) Дмитрий 2026-06-19 08:52:31 +03:00
  • 9c73d99ad6 test(G2-B): дефолт new_lead.email=true (RED) + backfill SQL Дмитрий 2026-06-19 08:51:04 +03:00
  • 19d6814383 docs: G2-B план реализации — дайджест по умолчанию (миграция + дотяжка + тест) Дмитрий 2026-06-19 08:50:08 +03:00
  • 86f48f6c1a docs: G2-B дизайн — дайджест новых сделок по умолчанию (флип дефолта + дотяжка) Дмитрий 2026-06-19 08:47:52 +03:00
  • 8fc63d5782 fix(G1-tail): письмо с кодом в очередь + не валить register/resend при сбое доставки Дмитрий 2026-06-19 08:29:15 +03:00
  • 082a67363e fix(G1-tail): убран стейл-Шаг 6 (webhook_log удалён в v8.35) из OperationalFullFlowTest Дмитрий 2026-06-19 08:18:30 +03:00
  • aa381ec53f fix(G1-tail): NBSP перед ₽ через escape \u00A0 в DashboardPageHead (lint:vue green) Дмитрий 2026-06-19 08:18:30 +03:00
  • 3440483bd7 feat(G1/SP3c): блок платёжных реквизитов + статус-чип + валидация (поля по типу лица) Дмитрий 2026-06-19 07:58:47 +03:00
  • fb35ae02e4 docs: G1/SP3c план реализации — полные платёжные реквизиты (фронт) Дмитрий 2026-06-19 07:56:38 +03:00
  • 0a044fc06b docs: G1/SP3c дизайн — полные платёжные реквизиты (фронт) Дмитрий 2026-06-19 07:54:57 +03:00
  • 44b93679c4 feat(G1/SP3b): UX гейта — alert requisites_required + переход к реквизитам Дмитрий 2026-06-19 07:24:27 +03:00
  • 1af9a093e7 feat(G1/SP3b): вкладка Реквизиты в Настройках + deep-link ?tab=requisites Дмитрий 2026-06-19 07:24:26 +03:00
  • f88fd7ad98 feat(G1/SP3b): вкладка RequisitesTab — лёгкая форма реквизитов Дмитрий 2026-06-19 07:24:26 +03:00
  • 2eb2f3d076 feat(G1/SP3b): api-обёртка реквизитов (get/update/lookup-inn) Дмитрий 2026-06-19 07:24:26 +03:00
  • 968497ed44 docs: G1/SP3b план реализации — форма реквизитов (фронт) + UX гейта Дмитрий 2026-06-19 07:20:12 +03:00
  • af6c9ada21 docs: G1/SP3b дизайн — форма реквизитов (фронт) + UX гейта первого проекта Дмитрий 2026-06-19 04:56:53 +03:00
  • bbf7f3dd37 docs: хэндофф G1 SP1/SP2/SP3a DONE + промпт следующей сессии (стена снята) Дмитрий 2026-06-19 04:36:45 +03:00
  • 50ed240b8c chore: gitleaks allowlist — factories + specs (демо-телефоны фикстур, не реальные ПДн) Дмитрий 2026-06-19 04:26:05 +03:00
  • 799d416b9a fix: дополнен мок DashboardSummary в DashboardView.spec (avg_lead_cost_rub) — type-check green Дмитрий 2026-06-18 23:45:08 +03:00
  • bacc7c5e24 feat: G1/SP3a фронт входа — регистрация + подтверждение почты Дмитрий 2026-06-18 23:33:26 +03:00
  • 08d51eb6c8 feat: G1/SP2 реквизиты клиента + ИНН по DaData + гейт первого проекта Дмитрий 2026-06-18 22:25:23 +03:00
  • 53fb7b7760 feat: G1/SP1 самозапись клиента с подтверждением почты 6-значным кодом Дмитрий 2026-06-18 19:33:33 +03:00
  • ae0a4174ea docs: G1/SP1 спека+план+хэндофф (печать стены не закрепилась, передаю в след. сессию) Дмитрий 2026-06-18 17:35:32 +03:00
  • ec03dd53df docs: план G1/SP1 самозапись с подтверждением почты Дмитрий 2026-06-18 16:03:21 +03:00
  • c4efdd9c78 docs: спека G1/SP1 самозапись с подтверждением почты Дмитрий 2026-06-18 15:42:02 +03:00
  • 34c6356196 docs: хэндофф go-live находок портала + промт для следующей сессии Дмитрий 2026-06-18 15:01:50 +03:00
  • f943871406 feat: G2-A дайджест новых сделок на почту - письмо-сводка раз в 30 минут вместо письма на каждую сделку Дмитрий 2026-06-18 14:40:12 +03:00
  • 41adf00cba feat: G4 убрать неработающий push-канал из настроек уведомлений + находка G8 про сломанный фронт-тест-раннер Дмитрий 2026-06-18 13:46:31 +03:00
  • f6a852b744 chore: gitignore сырых ZAP-отчётов docs/security Дмитрий 2026-06-18 11:27:58 +03:00
  • a8d635ef49 chore(security): версионирую ZAP-оркестратор active scan Дмитрий 2026-06-18 11:06:10 +03:00
  • 8817d46717 chore(security): ZAP active scan 2026-06-18 — отчёт + оркестратор Дмитрий 2026-06-18 11:03:47 +03:00
  • a4a8ea31b9 refactor(security): единый источник security-заголовков — nginx Дмитрий 2026-06-18 09:31:47 +03:00
  • ff29360724 docs: рунбук ручного выката gitea на прод Дмитрий 2026-06-18 09:11:06 +03:00
  • 23f81bdaf3 test: починка харнеса AdminBilling и AdminIncidents Дмитрий 2026-06-18 09:05:06 +03:00
  • 52d500db5d feat(security): read-only доступ к проду через стену — ssh liderra-prod + gh GET Дмитрий 2026-06-18 08:04:50 +03:00
  • ebd94f3fc5 docs(security): go-live трекер — все блокеры B1-B6 сняты (GO), B2 anon на проде; gitignore lychee/walk артефактов Дмитрий 2026-06-18 06:13:56 +03:00
  • 8ad9e1d17f fix(test): routing-snapshot today+tomorrow в CsvWebhookRaceTest + PII на slack/papertrail/stderr Дмитрий 2026-06-17 21:31:20 +03:00
  • 7f5288726a feat(security): PII-scrubbing процессор логов — Medium go-live Дмитрий 2026-06-17 20:43:28 +03:00
  • b81a372e8f feat(security): webhook DNS-rebind пиннинг + аддитивный HMAC supplier-webhook — edge/P2 go-live Дмитрий 2026-06-17 20:21:11 +03:00
  • a0048448e1 docs(superpowers): спеки и планы церемоний синка квинтета v2.47 и починки lychee-ссылок Дмитрий 2026-06-17 20:04:11 +03:00
  • 8bb72b3430 fix(pdn): anon-валидные маски без ::jsonb/::inet-каста + применено на прод 17.06.2026 — B2 закрыт Дмитрий 2026-06-17 20:02:51 +03:00
  • 518d71e81f feat(security): per-IP route-throttle на auth-эндпоинтах — P1 go-live Дмитрий 2026-06-17 19:56:23 +03:00
  • f18491b987 docs: починка 12 битых относительных .md-ссылок долг lychee — корректные относительные пути и снятие ссылок на отсутствующие цели Дмитрий 2026-06-17 19:55:37 +03:00
  • 39c96bdc3b docs: синхронизация cross-ref версии CLAUDE.md в квинтете на v2.47 — PSR и Tooling актуальные записи указывают v2.47 Дмитрий 2026-06-17 19:55:28 +03:00
  • f1cda68a80 chore: cspell-words добавлены термины трекера B3/B6 фронтенде десинк недетерминизм ретеншен Дмитрий 2026-06-17 19:48:17 +03:00
  • cd51eca4ba docs: закрыты блокеры B3 и B6 на проде liderra.ru, SAAS_ADMIN_TEST_BYPASS=false и APP_DEBUG/APP_ENV проверены фактом Дмитрий 2026-06-17 19:36:57 +03:00
  • abb349c012 feat(pdn): правила маскирования ПДн pg_anonymizer на проде — SECURITY LABEL на ПДн-колонки + план применения — закрытие остатка B2 Дмитрий 2026-06-17 19:33:58 +03:00
  • 380aedb04e feat(security): CSP Report-Only под Vue+Vuetify SPA — 2-я ZAP Medium go-live Дмитрий 2026-06-17 19:30:51 +03:00
  • 150f10c54a docs(security): хвосты go-live аудита — снять дубли секций, статус блокеров B1/B4/B5, ward-report в .gitignore Дмитрий 2026-06-17 18:22:41 +03:00
  • 25f9016505 docs(superpowers): отчёт осмотра портала + баг-доки стены (walk/read-block) — для claude-brain Дмитрий 2026-06-17 17:54:50 +03:00
  • d1976c9ccf feat(pdn): ретеншен ПДн удалённых лидов — анонимизация soft-deleted сделок — F-P1 Дмитрий 2026-06-17 17:24:48 +03:00
  • 84936929eb feat(security): middleware безопасных HTTP-заголовков — закрытие ZAP Medium anti-clickjacking Дмитрий 2026-06-17 17:12:32 +03:00