3252a8
9679190709
feat: ability to turn off logs for admins users
2026-05-12 10:16:59 +03:00
3252a8
c8d4b3565c
feat: tune visual of web app admin panel
2026-05-12 09:59:15 +03:00
3252a8
fe976022ec
refactor: migrate ui elements to lib
2026-05-12 09:05:22 +03:00
3252a8
6a367c1dec
refactor: consolidate web app UI foundation
2026-05-11 23:25:34 +03:00
3252a8
9f338c3416
feat: tune visual of web app admin panel
2026-05-11 23:06:16 +03:00
3252a8
a575cb057b
refactor: slice web app wip
2026-05-11 22:32:23 +03:00
3252a8
116b0a5c08
fix: tune tariffs folder
2026-05-11 22:12:19 +03:00
3252a8
ed6b214b29
refactor: slice web app wip
2026-05-11 21:41:31 +03:00
3252a8
7d8bbbc904
refactor: slice web app wip
2026-05-11 08:31:07 +03:00
3252a8
763c4ad1bb
refactor: slice web app wip
2026-05-11 07:57:34 +03:00
3252a8
5243cc4284
docs: update docs
2026-05-11 06:34:45 +03:00
3252a8
5a015fe8b4
Merge branch 'feature/new-tariffs' into dev
2026-05-11 06:10:36 +03:00
3252a8
b759ddb0f5
feat: tune premium squads visual in web app
2026-05-11 00:15:29 +03:00
3252a8
57821ba2a9
feat: tune visual of web app admin panel
2026-05-10 23:36:05 +03:00
3252a8
410cb89f3e
fix: do not change squad for referrer
2026-05-10 21:57:36 +03:00
3252a8
e01f56bc34
feat: tune visual of web app admin panel
2026-05-10 20:19:43 +03:00
3252a8
ff59eda3d7
feat: web app setting reload without container reloading
2026-05-10 18:07:20 +03:00
3252a8
b7e497e241
Merge branch 'dev' into feature/new-tariffs
2026-05-10 13:18:39 +03:00
3252a8
7a81a2f20b
fix: telegram oauth
2026-05-10 13:17:21 +03:00
3252a8
990eba1e1e
feat: premium squads inside one tariff
2026-05-10 12:51:53 +03:00
3252a8
6f9a87cf98
feat: admin dashboard
2026-05-09 22:32:44 +03:00
3252a8
0a9d929181
docs: update docs
2026-05-08 18:14:30 +03:00
3252a8
7dc4806be7
Merge branch 'dev' into feature/new-tariffs
2026-05-07 22:23:04 +03:00
3252a8
8783129c16
fix: webapp accesability when tg is unreachable
2026-05-06 21:39:11 +03:00
3252a8
50d78c8746
feat: hide tariff options and etc when only one exist
2026-05-04 21:50:44 +03:00
3252a8
63784bc036
fix: use limited tag for mark exhausted traffic users
2026-05-03 22:46:12 +03:00
3252a8
aa5a9496ed
feat: hwid limits and topups
2026-05-03 22:36:33 +03:00
3252a8
00f8e5fb20
Merge branch 'dev' into feature/new-tariffs
...
# Conflicts:
# bot/services/stars_service.py
2026-05-03 22:19:04 +03:00
3252a8
ca8df10eab
fix: telegram stars payment in web app
2026-05-03 18:10:20 +03:00
3252a8
b461838c0d
Merge branch 'dev' into feature/new-tariffs
2026-05-02 13:21:11 +03:00
3252a8
50857d5283
fix: lang select dropdown wasn't work on android
2026-05-02 13:20:42 +03:00
3252a8
449bc0c780
Merge branch 'dev' into feature/new-tariffs
2026-05-01 22:51:36 +03:00
3252a8
e1223f8c57
fix: connect button disappeard in web app
2026-05-01 22:48:27 +03:00
3252a8
7822ec1b09
Merge branch 'dev' into feature/new-tariffs
2026-05-01 22:37:58 +03:00
3252a8
81f5168726
chore: improve telegram bot menu navigation and referrals
2026-05-01 22:16:00 +03:00
3252a8
77f2420ae3
Merge branch 'dev' into feature/new-tariffs
2026-04-30 22:58:12 +03:00
3252a8
4de730bf5a
feat: add Telegram OAuth login flow
2026-04-30 19:50:17 +03:00
3252a8
77da0d97c0
chore: tariffs
2026-04-30 18:57:10 +03:00
3252a8
e8b395cf2f
Merge branch 'dev' into feature/new-tariffs
2026-04-30 14:05:19 +03:00
3252a8
d15b1be3b9
fix: click on another button when switching lang
2026-04-30 14:05:01 +03:00
3252a8
8a6b2704d4
feat: new tariffs web app and bot interactions
2026-04-30 13:48:32 +03:00
3252a8
ce610b4804
Merge branch 'dev' into feature/new-tariffs
...
# Conflicts:
# .gitignore
# bot/app/web/subscription_webapp.py
# tests/test_settings.py
2026-04-30 10:52:20 +03:00
3252a8
4d0241a0ea
fix: remove logo bg in email templates
2026-04-30 10:29:01 +03:00
3252a8
2c1e86863d
feat: support hwid in web app
2026-04-30 09:25:43 +03:00
3252a8
16b11327ee
fix: traffic strategy
2026-04-30 07:57:14 +03:00
3252a8
3d5998b8fb
feat: support traffic and trial flow in web app
2026-04-30 07:34:29 +03:00
3252a8
2df4d2d770
feat: tune webapp visual
2026-04-30 00:06:31 +03:00
3252a8
4ce78f277e
feat: migrate to svelte initial
2026-04-29 11:10:12 +03:00
3252a8
d7d5c2b1ef
refactor: remove local storing tg js
2026-04-28 23:33:24 +03:00
3252a8
4958e1fdfd
fix: delegate tariff resets to panel
2026-04-28 15:36:13 +03:00
3252a8
258b2f4dec
feat: align tariff resets to calendar month
2026-04-28 15:25:46 +03:00
3252a8
338008bbd0
docs: document tariff catalog
2026-04-28 14:34:25 +03:00
3252a8
829758dc44
feat: update tariff UI and mini app
2026-04-28 14:34:12 +03:00
3252a8
9deb98bbe7
feat: add traffic periods topups and throttling
2026-04-28 14:34:00 +03:00
3252a8
26af92b5ac
feat: route purchases through tariff catalog
2026-04-28 14:33:52 +03:00
3252a8
87b2443a06
feat: add tariff config and database schema
2026-04-28 14:33:38 +03:00
3252a8
aabc0e312d
feat: log email and tg linking
2026-04-28 13:54:05 +03:00
3252a8
d15d58df36
docs: tariffs documentation
2026-04-28 10:47:59 +03:00
3252a8
21f2ac4534
fix: show red traffic bar in web app when sub is expired
2026-04-28 10:32:56 +03:00
3252a8
dd0e6e75af
feat: add magic login link to email with login codes
2026-04-28 09:50:17 +03:00
3252a8
0251f939d7
feat: log users when reg via email
2026-04-27 23:29:28 +03:00
3252a8
a00bc0f345
feat: design for emails
2026-04-27 23:05:14 +03:00
3252a8
ae4ce43e1c
chore: tune default web app logo
2026-04-27 22:28:34 +03:00
3252a8
19ed8916f4
fix: migration and docker image name/tag
2026-04-27 21:31:06 +03:00
3252a8
f7de08bfd7
docs: update readme
2026-04-27 21:06:21 +03:00
3252a8
6e42f67931
docs: donation wallet
2026-04-27 21:02:49 +03:00
3252a8
b87b6cd378
fix: webapp session
2026-04-27 20:50:24 +03:00
3252a8
b39fb73c30
docs: project name change, migration script
2026-04-27 16:11:06 +03:00
3252a8
3120884ed5
docs: update readme
2026-04-27 15:15:25 +03:00
3252a8
c927244b1a
docs: update readme
2026-04-27 15:13:00 +03:00
3252a8
e049f38c7c
fix: readme format
2026-04-27 15:08:29 +03:00
3252a8
ddc6ee0024
feat: build webapp when docker build
2026-04-27 14:59:35 +03:00
3252a8
fa5f1460ab
fix: separate platega buttons not showed up in webapp
2026-04-27 14:57:49 +03:00
3252a8
9f556f3e04
fix: add platega debug
2026-04-27 14:48:58 +03:00
3252a8
70b618a94b
feat: use web page for cryptopay in web app
2026-04-27 14:38:09 +03:00
3252a8
0610156f80
feat: add multiple platega buttons
2026-04-27 14:34:41 +03:00
3252a8
587b39de1d
fix(bot): connect button opens subscription page instead of mini app
...
Previously the connect button in post-payment messages and in 'My subscription' section opened the mini app (personal cabinet) when SUBSCRIPTION_MINI_APP_URL was set, ignoring the actual subscription URL. Now the real subscription URL is preferred, with the mini app used only as a fallback.
2026-04-27 11:06:32 +03:00
3252a8
e35885b54b
docs: update readme
2026-04-27 09:44:28 +03:00
3252a8
c1b7ace876
fix(webapp): merge bundled FALLBACK_I18N with server locales
...
The bot's locales/*.json files do not contain the webapp-specific keys
(connect, extend_subscription, loading, etc.), so applyI18n was
overwriting the localized HTML defaults with raw key names.
Merge the bundled FALLBACK_I18N table with whatever the server provides
per language, letting server values override but falling back to the
in-bundle translations for keys the bot does not ship.
2026-04-27 09:42:18 +03:00
3252a8
f416b0aed1
fix(webapp): allow oauth.telegram.org iframe in CSP
...
The Telegram Login Widget embeds oauth.telegram.org in an iframe; without
an explicit frame-src directive it fell back to default-src 'self' and was
blocked. Add frame-src https://oauth.telegram.org so the login flow loads.
2026-04-27 09:34:09 +03:00
3252a8
c8192e4427
fix(webapp): allow inline JSON config and Telegram widget eval under CSP
...
Add a per-request nonce to inline <script type="application/json"> blocks
(webapp-config, i18n) so they survive script-src 'self' and locales/config
actually load in the browser. Also add 'unsafe-eval' to script-src so the
vendored telegram-widget.js (which uses eval/new Function) can initialise.
2026-04-27 09:31:52 +03:00
3252a8
dae1a6889b
feat(ops): add /healthz endpoint and container healthcheck
...
Expose a lightweight /healthz route on the main aiohttp server and
wire docker-compose healthcheck so orchestrators can detect failures.
2026-04-27 08:43:58 +03:00
3252a8
4740666d63
chore: annotate XTR provider_token and add missing return type
2026-04-27 08:43:54 +03:00
3252a8
d6b703debb
refactor(logging): use logger.exception to preserve stack traces
...
Unify error logging across services: replace logger.error(f"...{e}")
and logger.error(..., exc_info=True) with logger.exception() so the
stack trace is consistently captured.
2026-04-27 08:43:48 +03:00
3252a8
f1113eb80a
fix(webhooks): return 5xx on YooKassa processing errors
...
Replace 200-on-error with 500 so the payment provider retries transient
failures instead of treating them as successfully processed.
2026-04-27 08:43:44 +03:00
3252a8
604f0d9656
security: audit inline Mini App handlers
2026-04-26 20:34:02 +03:00
3252a8
8ce5a92625
chore: harden ignore rules
2026-04-26 20:33:59 +03:00
3252a8
72b6e93c94
docs: add Telegram clock-skew note for auth_date
2026-04-26 20:33:57 +03:00
3252a8
d60952718e
security: harden Mini App auth, CSRF, and validation
2026-04-26 20:33:54 +03:00
3252a8
53dcc59770
security: double-check CryptoPay webhook signatures
2026-04-26 20:33:49 +03:00
3252a8
5ec179b6d6
webapp: add hashed minified asset pipeline
2026-04-26 20:04:30 +03:00
3252a8
250df445f0
docker: run app as non-root user
2026-04-26 19:47:56 +03:00
3252a8
12376e5070
db: add composite indexes and merge-user optimizations
2026-04-26 19:47:14 +03:00
3252a8
c2afc6107a
webapp: harden mini app rendering and controls
2026-04-26 19:47:06 +03:00
3252a8
77370eb963
security: harden webhooks and session secrets
2026-04-26 19:46:57 +03:00
3252a8
94b0787cad
feat: use i18n
2026-04-26 12:34:16 +03:00
3252a8
9c499fe3c2
feat: add caddy docker compose example
2026-04-24 23:16:31 +03:00
3252a8
7e26f9da9b
feat: automatic merge two paid subs (email and tg)
2026-04-24 23:07:57 +03:00
3252a8
778615a97f
feat: tune web app visual
2026-04-24 22:35:55 +03:00
3252a8
651572f15f
refactor: show tg avatar in detached browser
2026-04-24 21:31:58 +03:00