3252a8
2ccead9b49
refactor: consolidate migration installer
2026-06-02 10:57:28 +03:00
3252a8
0473829f7a
fix: prepare writable data mount in installer
2026-06-02 10:30:43 +03:00
3252a8
162e9e20b5
fix: keep installer from preparing data directories
2026-06-02 10:21:08 +03:00
3252a8
3b40369606
feat: add legacy tg-shop migration to installer
2026-06-02 10:17:50 +03:00
3252a8
d22ed238b4
feat: add shell install wizard
2026-06-02 10:08:59 +03:00
3252a8
5e47a1496b
feat: add Remnashop migration import
...
Add the Remnashop legacy importer, compatibility tables, admin toggles, referral and promo lookup compatibility, and tests for the migration flow.
2026-06-02 00:13:54 +03:00
3252a8
56796d9f22
feat(admin): add never-subscribed broadcast target with audience counts
...
Add a broadcast audience for users who registered but never had any subscription or trial (no Subscription rows at all), backed by a new get_user_ids_without_any_subscription DAL helper and a 'never' target in the webapp broadcast route.
Add GET /api/admin/broadcast/audience-counts so the audience dropdown shows the recipient count next to each option, with graceful fallback when counts are unavailable.
2026-06-01 23:37:59 +03:00
3252a8
5218ede0f1
fix: normalize required channel checks
2026-06-01 22:13:35 +03:00
3252a8
5b19ba2c2f
fix: keep deeplink gateway open during app prompt
2026-06-01 20:34:49 +03:00
3252a8
687fc03e8c
fix: reset trial eligibility from web admin
2026-06-01 19:30:16 +03:00
3252a8
d7840d3a86
feat: expose admin user list metrics
2026-06-01 15:52:54 +03:00
3252a8
6a40d0c9ce
feat: add expired subscription broadcast target
2026-06-01 15:05:10 +03:00
3252a8
a0ea2261f4
feat: anonymous opt-out install telemetry beacon
...
Add a once-a-day anonymous heartbeat (PostHog) so maintainers can see
active installs and version/OS breakdowns. Self-hosted friendly: opt out
via TELEMETRY_ENABLED in .env or the Admin -> System toggle (applied
without a restart), or by clearing the endpoint/key.
- Share version resolution in bot/utils/app_version.py so the admin
sidebar and the beacon report the same build version
- TelemetryWorker sends an opaque install id plus coarse facts only
(version, OS/arch, python, locale, enabled providers, user-count
range); never tokens, domains or user data
- Register the worker in main_worker.py behind a Redis single-flight lock
- Expose TELEMETRY_* settings and an Admin -> System manifest toggle
- Document the payload and opt-out in docs/configuration/telemetry.md
- Cover bucketing, payload shape and anonymity with tests
2026-06-01 14:14:02 +03:00
3252a8 and GitHub
63ec3a6152
Merge pull request #18 from 3252a8/feature/multicurrency
...
Add ability to use different currency than rub
2026-06-01 11:26:18 +03:00
3252a8
d97afbec18
fix: apply ruff formatting
2026-06-01 11:16:28 +03:00
3252a8
21079f78dc
fix: satisfy ruff line length
2026-06-01 11:11:15 +03:00
3252a8
391487811b
feat: add remnawave panel dry-run mode
2026-06-01 10:32:38 +03:00
3252a8
939bc37995
Merge branch 'dev' into feature/multicurrency
2026-06-01 08:18:25 +03:00
3252a8
c2344824dc
feat: show referral relationships in admin user cards
2026-06-01 00:36:05 +03:00
3252a8
ecf779763c
feat: audit outbound user notifications
2026-05-31 23:05:40 +03:00
3252a8
1578a9da36
fix: align traffic top-up flows and unlimited overrides
2026-05-31 23:05:29 +03:00
3252a8
80e5f0c80d
feat: add multicurrency tariff payments
2026-05-31 22:17:28 +03:00
3252a8
df8f2636d2
docs: render email previews from templates
2026-05-31 15:08:22 +03:00
3252a8
45543983c2
fix: run migrations after database restore
2026-05-31 14:57:32 +03:00
3252a8
eda5d3e633
fix: localize support email templates
2026-05-31 14:41:26 +03:00
3252a8
cf3af17243
fix: avoid Telegram notification probe messages
2026-05-31 00:17:20 +03:00
3252a8
93353db511
feat: split subscription stats by access type
2026-05-31 00:08:31 +03:00
3252a8
3541f2f78b
feat: block crawlers from production webapp
2026-05-30 21:25:03 +03:00
3252a8
acc222da41
feat: prompt users to start Telegram bot for notifications
2026-05-30 21:15:17 +03:00
3252a8
c6c5352813
fix: format premium traffic limits from bytes
2026-05-30 12:00:01 +03:00
3252a8
067d6fb59f
chore: clarify panel webhook subscription logs
2026-05-30 11:52:07 +03:00
3252a8
c3e55bc853
feature: sync user email notifications
2026-05-30 11:46:07 +03:00
3252a8
09be82aad5
fix: improve subscription email renewal flow
2026-05-30 00:23:53 +03:00
3252a8
49781af921
feat: surface remnawave panel webhook settings
2026-05-29 23:55:12 +03:00
3252a8
923ff9b208
fix: hide inactive devices usage summary
2026-05-29 23:23:55 +03:00
3252a8
7fe8e676cd
feat: group referral bonus display by tariff
2026-05-29 22:55:01 +03:00
3252a8
6803c7801f
fix: configure referral bonuses per tariff period
2026-05-29 22:30:31 +03:00
3252a8
cab963dcdc
fix: prevent subscription worker deadlocks
2026-05-29 22:07:16 +03:00
3252a8
001e54cfe2
fix: preserve subscriptions on panel lookup failures
2026-05-29 21:46:42 +03:00
3252a8
19f0f27a3b
feat: mirror subscription lifecycle notifications
2026-05-29 18:08:28 +03:00
3252a8
d299a3c524
feature: Add local subscription notification worker
2026-05-28 22:48:48 +03:00
3252a8
1c1ef06e29
fix: Fix trial settings persistence
2026-05-28 22:48:48 +03:00
3252a8
bea62d75a9
fix: persist account language changes
2026-05-28 22:07:43 +03:00
3252a8
3ab6c18a76
fix: preserve account language on telegram auth
2026-05-28 11:31:45 +03:00
3252a8
ef4b493e65
chore: change backup archive name style
2026-05-27 23:01:42 +03:00
3252a8
bce78c4f28
chore: backup warning details
2026-05-27 19:08:49 +03:00
3252a8
75586d8883
fix: harden hwid provider payment edge cases
2026-05-27 18:31:14 +03:00
3252a8
f2fc335221
fix: anchor hwid pricing to paid period
2026-05-27 18:13:27 +03:00
3252a8
1c9e55d797
fix: wire subscription service for yookassa hwid payments
2026-05-27 18:13:22 +03:00
3252a8
25056602d8
fix: serialize webapp datetime payloads
2026-05-27 14:55:05 +03:00