Commit Graph
7 Commits
Author SHA1 Message Date
mrleo1nidandClaude Opus 5.5 2c20fb0427 Add maintenance cleanup for revoked and orphaned configs
CI / Backend (build + test) (push) Failing after 58s
CI / Frontend (lint + typecheck + build) (push) Successful in 31s
Two new maintenance actions remove VpnConfig records (with their traffic
samples) from the database: all revoked configs, and configs whose inbound
or node no longer exists. 3x-ui is not touched; both write an AuditLog entry.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-17 01:04:46 +03:00
mrleo1nidandClaude Opus 5.5 1bc86dc426 Notify via Telegram about new support ticket comments
CI / Backend (build + test) (push) Failing after 6m7s
CI / Frontend (lint + typecheck + build) (push) Successful in 39s
Owner's reply goes to all admins (text preview + link to the ticket),
admin's reply goes to the ticket owner as a DM. The comment author is
never notified.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-16 17:57:08 +03:00
mrleo1nidandClaude Opus 5.5 0dcbd4e2b8 Include news text preview in Telegram notification
CI / Backend (build + test) (push) Failing after 1m26s
CI / Frontend (lint + typecheck + build) (push) Successful in 37s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 17:25:36 +03:00
mrleo1nidandClaude Opus 5.5 94b02242ed Reduce subscription Profile-Update-Interval to 2 hours
CI / Backend (build + test) (push) Failing after 1m59s
CI / Frontend (lint + typecheck + build) (push) Successful in 42s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-10 20:32:08 +03:00
mrleo1nidandClaude Opus 5.5 ddd8a36c64 Refresh node load in location picker without page reload
CI / Backend (build + test) (push) Failing after 1m20s
CI / Frontend (lint + typecheck + build) (push) Successful in 32s
Invalidate available-inbounds when the create dialog opens, after a
config is created or revoked, and on realtime config status changes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 20:02:11 +03:00
mrleo1nidandClaude Opus 5.5 bb5e59904f Add inbound country flags and node load in location picker
CI / Backend (build + test) (push) Failing after 1m36s
CI / Frontend (lint + typecheck + build) (push) Successful in 41s
- Inbound.CountryCode (ISO alpha-2), set on publish; flag shown before
  the location name (SVG via country-flag-icons on the site, emoji in bot)
- Node.Capacity (optional, not a limit); available inbounds report load
  percent of capacity or active config count, sorted least loaded first

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 19:45:17 +03:00
mrleo1nidandClaude Opus 5.5 d7743977a1 Use bind mounts for pgdata and dp_keys in docker-compose
Matches the production compose so the stack data lives next to the
compose file and can be backed up with the server. ticket_uploads stays
a named volume to avoid losing existing attachments on pull.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 19:45:17 +03:00