3252a8
8783129c16
fix: webapp accesability when tg is unreachable
v3.2.4
2026-05-06 21:39:11 +03:00
3252a8
ca8df10eab
fix: telegram stars payment in web app
2026-05-03 18:10:20 +03:00
3252a8
50857d5283
fix: lang select dropdown wasn't work on android
v3.2.3
2026-05-02 13:20:42 +03:00
3252a8
e1223f8c57
fix: connect button disappeard in web app
v3.2.2
2026-05-01 22:48:27 +03:00
3252a8
81f5168726
chore: improve telegram bot menu navigation and referrals
v3.2.1
2026-05-01 22:16:00 +03:00
3252a8
4de730bf5a
feat: add Telegram OAuth login flow
2026-04-30 19:50:17 +03:00
3252a8
d15b1be3b9
fix: click on another button when switching lang
2026-04-30 14:05:01 +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
v3.2.0
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
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
v3.1.0
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