Commit Graph

  • 7a7fb71bf5 fix: дубликаты системных ролей при переименовании и сброс permissions dev Fringg 2026-03-05 23:49:07 +03:00
  • 1c89bd8b2a fix: UniqueViolation при мерже аккаунтов с общим OAuth/telegram/email ID Fringg 2026-03-05 23:36:30 +03:00
  • 050be0fe0e Merge pull request #2669 from BEDOLAGA-DEV/release-please--branches--main main v3.23.0 Egor 2026-03-05 11:35:44 +03:00
  • 297240f8ef chore(main): release 3.23.0 release-please--branches--main github-actions[bot] 2026-03-05 08:35:09 +00:00
  • 2b16a00464 Merge pull request #2668 from BEDOLAGA-DEV/dev Egor 2026-03-05 11:34:32 +03:00
  • b31a893b13 fix: синхронизация версии pyproject.toml с main и обновление uv в Dockerfile Fringg 2026-03-05 11:29:35 +03:00
  • b9e17be855 fix: реактивация DISABLED подписок при покупке устройств и в REST API Fringg 2026-03-05 11:29:23 +03:00
  • 900be65617 fix: добавить пробелы в формат тарифов (1000 ГБ / 2 📱) Fringg 2026-03-05 11:16:53 +03:00
  • 53a67d7573 chore: автоформатирование ruff Fringg 2026-03-05 10:56:17 +03:00
  • 7d28f5516a fix: реактивация DISABLED подписок при покупке трафика для LIMITED пользователей Fringg 2026-03-05 10:56:10 +03:00
  • 849b3a7034 fix: убрать избыточный минус в amount_kopeks для create_transaction Fringg 2026-03-05 10:15:39 +03:00
  • 374907b607 fix: добавить create_transaction для 6 потоков оплаты с баланса Fringg 2026-03-05 10:15:32 +03:00
  • 9f35088788 fix: добавить create_transaction и admin-уведомления для автопродлений Fringg 2026-03-05 10:15:25 +03:00
  • fd139b28a2 fix: abs() for transaction amounts in admin notifications and subscription events Fringg 2026-03-05 09:30:27 +03:00
  • de6f80694b fix: add abs() to expenses query, display flip, contest stats, and recent payments Fringg 2026-03-05 09:12:01 +03:00
  • b87535ad48 fix: изолировать stored_amount от downstream consumers в create_transaction Fringg 2026-03-05 09:05:55 +03:00
  • 6da61d7951 fix: убрать WITHDRAWAL из автонегации, добавить abs() в агрегации, исправить all_time_stats Fringg 2026-03-05 09:05:02 +03:00
  • 968d147046 fix: передать явный диапазон дат для all_time_stats в дашборде Fringg 2026-03-05 09:02:05 +03:00
  • 93a55df4c0 fix: гарантировать положительный доход от подписок и исправить общий доход Fringg 2026-03-05 08:58:49 +03:00
  • 82592784d0 fix: устранение каскадного PendingRollbackError при восстановлении бэкапа Fringg 2026-03-05 08:32:50 +03:00
  • acfa4b3c2e fix: показывать кнопку покупки тарифа вместо ошибки для триальных подписок Fringg 2026-03-05 08:25:16 +03:00
  • a7a18dd0d1 fix: устранение race condition при покупке устройств через re-lock после коммита Fringg 2026-03-05 08:15:00 +03:00
  • 1cfede28b7 fix: prevent concurrent device purchases exceeding max device limit Fringg 2026-03-05 07:33:09 +03:00
  • c8ef808539 fix: consume promo offer in tariff_purchase.py, fix negative transaction amount Fringg 2026-03-05 07:25:27 +03:00
  • b8857e789e fix: consume promo offer in miniapp tariff-mode renewal path Fringg 2026-03-05 07:15:41 +03:00
  • 5f2d855702 fix: add missing mark_as_paid_subscription, fix operation order, remove dead code Fringg 2026-03-05 07:02:12 +03:00
  • 0466528925 fix: centralize balance deduction and fix unchecked return values Fringg 2026-03-05 06:45:57 +03:00
  • e4a6aad621 fix: centralize has_had_paid_subscription into subtract_user_balance Fringg 2026-03-05 06:29:34 +03:00
  • 2cec8dc4a4 fix: prevent infinite reuse of first_purchase_only promo code discounts Fringg 2026-03-05 06:14:41 +03:00
  • 667291a2dc fix: redis cache uses sync client due to import shadowing Fringg 2026-03-05 06:00:30 +03:00
  • eff74bed5b fix: auto-update permissions for system roles on bootstrap Fringg 2026-03-05 05:53:07 +03:00
  • 8f29e2eee2 feat: add dedicated sales_stats RBAC permission section Fringg 2026-03-05 05:46:01 +03:00
  • 9d7a557ef0 fix: показывать только активные провайдеры на странице /profile/accounts Fringg 2026-03-05 05:34:01 +03:00
  • 2664b4956d feat: account merge system — atomic user merge with full FK coverage Fringg 2026-03-05 05:23:39 +03:00
  • f7caf0de70 refactor: extract shared OAuth linking logic, add Literal types for providers Fringg 2026-03-05 03:12:17 +03:00
  • 0c1dc580c6 fix: add IntegrityError handling on link commit and format fixes Fringg 2026-03-05 02:33:24 +03:00
  • f867989557 feat: add server-complete OAuth linking endpoint for Mini App flow Fringg 2026-03-05 02:24:32 +03:00
  • 467dea1315 fix: review findings — exception chaining, redundant unquote, validator tightening Fringg 2026-03-04 17:21:14 +03:00
  • da40d5662d feat: add Telegram account linking endpoint with security hardening Fringg 2026-03-04 17:03:40 +03:00
  • 7b4e9488f6 fix: clean email verification and password fields from secondary user during merge Fringg 2026-03-04 16:21:00 +03:00
  • d7a9d2bfba fix: reassign orphaned records on merge, eliminate TOCTOU race Fringg 2026-03-04 16:05:23 +03:00
  • 531d5cff30 fix: negative balance transfer, linking state validation, referrer migration Fringg 2026-03-04 15:57:03 +03:00
  • 8ee97ba1ba test: relax hardcoded execute count, add telegram_id conflict assertion Fringg 2026-03-04 15:46:51 +03:00
  • 0e8c61a776 fix: use short TTL fallback in restore_merge_token on parse error Fringg 2026-03-04 15:35:20 +03:00
  • 9582758d1c fix: restore merge token on DB failure, fix partner_status priority Fringg 2026-03-04 15:29:50 +03:00
  • f204b67880 fix: delete cross-referral earnings before bulk reassignment, clear secondary.referred_by_id Fringg 2026-03-04 15:22:23 +03:00
  • db61365e11 fix: prevent self-referral loops, invalidate all sessions on merge Fringg 2026-03-04 15:01:51 +03:00
  • bc1e6fb22c fix(merge): validate before consuming token, add flush, defensive balance Fringg 2026-03-04 08:12:10 +03:00
  • 64ee0459e4 fix: second round review fixes for account merge Fringg 2026-03-04 07:55:26 +03:00
  • d855e9e47f fix: harden account merge security and correctness Fringg 2026-03-04 07:46:07 +03:00
  • dc7b8dc72a feat: account linking and merge system for cabinet Fringg 2026-03-04 07:24:15 +03:00
  • 57b5216306 Merge pull request #2663 from BEDOLAGA-DEV/release-please--branches--main v3.22.0 Egor 2026-03-04 06:14:51 +03:00
  • e249bff5d6 chore(main): release 3.22.0 github-actions[bot] 2026-03-04 03:14:27 +00:00
  • 85489cff3f Merge pull request #2662 from BEDOLAGA-DEV/dev Egor 2026-03-04 06:14:02 +03:00
  • 57aaca82f5 fix: empty JSONB values exported as None in backup Fringg 2026-03-04 06:11:15 +03:00
  • ff1c8722c9 fix: backup restore fails on FK constraints and transaction poisoning Fringg 2026-03-04 06:03:14 +03:00
  • 018f18fa0c fix: MissingGreenlet on campaign registrations access Fringg 2026-03-04 05:55:44 +03:00
  • eaeee7a765 fix: handle duplicate remnawave_uuid on email sync Fringg 2026-03-04 05:49:38 +03:00
  • 618c936ac9 fix: close remaining daily subscription expire paths Fringg 2026-03-04 05:46:37 +03:00
  • 0ed6397fa9 fix: prevent daily subscriptions from being expired by middleware/CRUD/webhook Fringg 2026-03-04 05:12:19 +03:00
  • dce9eaa597 fix: reset traffic purchases on expired subscription renewal + pricing fixes Fringg 2026-03-04 04:46:29 +03:00
  • 628a99e7aa fix: classic mode prices overridden by active tariff prices Fringg 2026-03-04 03:12:34 +03:00
  • 4d74afd711 fix: add selectinload for campaign registrations in list query Fringg 2026-03-04 02:53:29 +03:00
  • e2c9aab7ba chore: sync uv.lock with pyproject.toml version Fringg 2026-03-03 01:57:13 +03:00
  • e23d69fcec feat: replace pip with uv in Dockerfile Fringg 2026-03-03 01:55:39 +03:00
  • e850419f10 Merge pull request #2656 from BEDOLAGA-DEV/release-please--branches--main v3.21.0 Egor 2026-03-02 22:28:11 +03:00
  • 360d579415 chore(main): release 3.21.0 github-actions[bot] 2026-03-02 19:27:36 +00:00
  • c67f55fe0d Merge pull request #2654 from BEDOLAGA-DEV/dev Egor 2026-03-02 22:26:56 +03:00
  • 310edae013 fix: use float instead of int | float (PYI041) Fringg 2026-03-02 22:25:06 +03:00
  • 8fb97d9359 chore: ruff format 3 files Fringg 2026-03-02 22:23:43 +03:00
  • d33c5d6c07 feat: add daily deposits by payment method breakdown Fringg 2026-03-02 22:05:57 +03:00
  • 2449a5cbbe feat: add daily device purchases chart to addons stats Fringg 2026-03-02 21:54:34 +03:00
  • e5f29eb041 fix: resolve GROUP BY mismatch for daily_by_tariff query Fringg 2026-03-02 21:45:55 +03:00
  • 31c7e2e9c1 feat: enhance sales stats with device purchases, per-tariff daily breakdown, and registration tracking Fringg 2026-03-02 21:41:50 +03:00
  • e25fcfc6ef fix: renewals stats empty on all-time filter Fringg 2026-03-02 21:15:04 +03:00
  • b2cf4aaa91 fix: eliminate double panel API call on tariff change, harden cart notification Fringg 2026-03-02 20:53:59 +03:00
  • 1256ddcd1a fix: restore panel user discovery on admin tariff change, localize cart reminder Fringg 2026-03-02 20:48:02 +03:00
  • 58faf9eaec feat: add admin sales statistics API with 6 analytics endpoints Fringg 2026-03-02 20:35:09 +03:00
  • ded5c899f7 fix: improve campaign routes, schemas, and add database indexes Fringg 2026-03-02 20:34:57 +03:00
  • fa7de589c1 feat: add admin campaign chart data endpoint with deposits/spending split Fringg 2026-03-02 06:09:12 +03:00
  • 69868418e5 style: format 6 files with ruff Fringg 2026-03-02 04:35:16 +03:00
  • 062c4865db fix: add min_length to state field, use exc_info for referral warning Fringg 2026-03-02 04:34:18 +03:00
  • 1dfa78013c fix: migrate VK OAuth to VK ID OAuth 2.1 with PKCE Fringg 2026-03-02 04:10:01 +03:00
  • 60c97f778b fix: eliminate referral system inconsistencies Fringg 2026-03-02 02:25:32 +03:00
  • 83c6db4834 fix: correct referral withdrawal balance formula and commission transaction type Fringg 2026-03-02 01:35:24 +03:00
  • ed3ae14d0c fix: partner system — CRUD nullable fields, per-campaign stats, atomic unassign, diagnostic logging Fringg 2026-03-02 01:09:47 +03:00
  • 69a9899d40 fix: use direct is_trial access, add missing error codes to promo APIs Fringg 2026-03-01 23:43:04 +03:00
  • e32e2f779d fix: reject promo codes for days when user has no subscription or trial Fringg 2026-03-01 23:39:02 +03:00
  • ccb61d6473 chore: remove dead BALANCE_TOPUP_CART_REMINDER_DETAILED keys and unused cryptobot cart payload Fringg 2026-03-01 23:28:26 +03:00
  • 2fab50c340 fix: correct cart notification after balance top-up Fringg 2026-03-01 23:09:49 +03:00
  • 69b5ca0670 fix: use .is_(True) and add or 0 guards per code review Fringg 2026-03-01 21:24:32 +03:00
  • 06c3996da4 fix: count sales from completed payment transactions instead of subscription created_at Fringg 2026-03-01 21:17:05 +03:00
  • faba3a8ed6 fix: enforce user restrictions in cabinet API and fix poll history crash Fringg 2026-03-01 20:59:06 +03:00
  • 4c72058d4a fix: generate missing crypto link on the fly and skip unresolved templates Fringg 2026-02-27 23:04:58 +03:00
  • 9c004791f2 fix: prevent sync from overwriting subscription URLs with empty strings Fringg 2026-02-27 22:42:04 +03:00
  • cdcabee80d fix: handle NULL used_promocodes for migrated users Fringg 2026-02-27 22:06:42 +03:00
  • 9ae5d7bb60 fix: handle expired ORM attributes in sync UUID mutation Fringg 2026-02-27 21:53:54 +03:00
  • efdf2a3189 fix: add exc_info traceback to sync user error log Fringg 2026-02-27 21:42:57 +03:00
  • 2a90f871b9 fix: use SAVEPOINT instead of full rollback in sync user creation Fringg 2026-02-27 21:32:10 +03:00
  • b47678cfb0 fix: remove premature tariff_id assignment in _apply_extension_updates Fringg 2026-02-27 10:19:15 +03:00