Commit Graph

686 Commits

Author SHA1 Message Date
hellcat
ee40fcf7c2 docs: record original reply classification restored in production 2026-10-11 13:00:50 +08:00
hellcat
8ccc38908b fix: preserve original Telegram reply classification as requested 2026-10-11 13:00:10 +08:00
hellcat
85246d26a6 docs: record deployed Telegram reply diagnostics and pending real acceptance 2026-10-11 12:59:10 +08:00
hellcat
5b643135e1 fix: classify Telegram ticket replies by message id and record safe routing diagnostics 2026-10-11 12:58:21 +08:00
hellcat
7622b49cb3 Clarify administrator email reports use a default-off switch when present 2026-10-11 12:05:02 +08:00
hellcat
d828cf558b Document Telegram-only administrator operational notifications 2026-10-11 12:04:22 +08:00
hellcat
8aca507c0e Record Telegram ticket deployment and remaining administrator setup 2026-10-11 12:00:23 +08:00
hellcat
6c9422d055 Add authenticated Telegram ticket replies and notification tracking 2026-10-11 11:58:19 +08:00
hellcat
9f8f297a5d docs: record completed non-payment acceptance 2026-10-11 11:09:50 +08:00
hellcat
7a123f8e97 test: verify EPay callback flow without real payments 2026-10-11 11:08:36 +08:00
hellcat
a1f4019add docs: record EPay deployment and merchant API verification 2026-10-11 11:03:37 +08:00
hellcat
6045748772 fix: validate EPay successful payment callbacks 2026-10-11 11:01:57 +08:00
hellcat
16a8d769e1 docs: record production payment configuration sync 2026-10-11 10:49:27 +08:00
hellcat
30645f96d5 docs: move maintenance guides to docs and add project agent entry 2026-10-11 10:34:09 +08:00
hellcat
430ddbe9b6 docs: establish AI maintenance guide and operational handoff 2026-10-11 10:26:58 +08:00
hellcat
13117587c8 refactor(admin): split mail settings into dedicated tabs 2026-10-11 09:51:27 +08:00
hellcat
966a8b2c32 feat(admin): integrate mail flow controls into email settings page 2026-10-11 09:48:58 +08:00
hellcat
d51fb5e398 fix(admin): show mail flow settings on email configuration page 2026-10-10 19:28:39 +08:00
hellcat
ad42a0e1e7 feat(mail): add Resend delivery, inbox replies and notification tiers 2026-10-10 18:53:35 +08:00
hellcat
208536e1cb style(mail): apply tutorial design to default email templates 2026-10-09 18:46:25 +08:00
hellcat
cd117604a3 feat: add branded tutorials and display-only plan device settings 2026-10-08 18:01:02 +08:00
xboard
4f48e61a2c fix(order): prevent duplicate refunds and redemptions
Refs #1021
2026-08-30 04:50:34 +08:00
asukassa
9d125527cb
fix: reindex device IP array before JSON encoding (#1045) 2026-08-30 01:07:37 +08:00
JW-3154
e074bef702
fix(Shadowrocket.php): add missing bandwidth params for Hysteria2 (#1031)
* fix(Shadowrocket): add missing bandwidth params for Hysteria2

Fixes a critical issue where Hysteria 2 silently downgrades to non-Brutal congestion control (BBR/Reno) on Shadowrocket clients.

* Refactor bandwidth parameters assignment

Update bandwidth parameters to only include positive values.

---------

Co-authored-by: Xboard <147830212+cedar2025@users.noreply.github.com>
2026-08-30 00:55:14 +08:00
muyichun
7cfe061469
fix: correct Alipay F2F request timestamp (#1024)
Co-authored-by: muyichun <25608102+muyichun@users.noreply.github.com>
2026-08-30 00:42:46 +08:00
yootus
c9ef5768e0 fix(order): calculate invitation commission after balance deduction (#1020)
Calculate invitation commission from the amount remaining after balance deductions, preventing duplicate commission on internally credited payments.
2026-08-30 00:39:20 +08:00
JW-3154
60ba57142b
fix (General.php): VLESS parsing issue (#1017)
Replace urlencode with rawurlencode to prevent spaces from being improperly converted to '+' in node names (e.g., 'HKG 01' becoming 'HKG+01'). 

A tiny one-line change that significantly improves the UX.
2026-08-07 21:44:44 +08:00
xboard
8ecb762d77 fix(admin): keep ticket detail open after reply, etc. 2026-06-18 00:56:23 +08:00
JW-3154
6141430a88 Fix TUIC congestion control at Shadowrocket.php (#968)
Fixes an issue where the TUIC congestion_control parameter was not being passed to clients on Shadowrocket. This PR adds the missing parameter to the URL query string, fetching it from $protocol_settings with a default and safe fallback to 'cubic', ensuring panel configurations are properly respected by the client.
2026-06-06 11:11:01 +08:00
socksprox
34bb1fdbcf Rename v2_order.refund_amount to surplus_credit (#967)
The old name was misleading — this column tracks surplus credit returned
to the user's internal balance during plan upgrades, not a payment
gateway refund. The new name aligns with the existing surplus_amount
and surplus_order_ids naming convention.

Co-authored-by: socksprox <info@shadowfly.net>
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-02 11:49:58 +08:00
xboard
8f66a9af94 feat: add admin user plugin hooks
Added hooks:

- admin.user.fetch.query

- admin.user.transform

- admin.user.detail

- admin.user.update.rules

- admin.user.update.messages

- admin.user.update.params

- admin.user.update.before

- admin.user.update.after

- admin.user.secret.reset

- admin.user.destroy.before

- admin.user.destroy.after
2026-05-26 02:23:23 +08:00
xboard
4e9dfd6018 fix(security): harden registration email code validation 2026-05-22 22:05:33 +08:00
xboard
1eb085d4c0 fix(security): harden password reset email code validation 2026-05-22 21:52:34 +08:00
socksprox
f2ac5db4bd feat(sing-box): include/exclude outbound tags with safe regex and fallback (#916)
- Add optional include/exclude patterns on selector/urltest outbounds (stripped before client)
- Safe preg_match: bare patterns use ~ delimiter with escape; delimited regex supported; invalid patterns logged, no throw
- Add fallback when filtering yields empty outbounds (string or ordered list: exact tag or pattern)
- Prevents broken routing when dynamic node sets match no filter

Made-with: Cursor

Co-authored-by: socksprox <info@shadowfly.net>
2026-05-03 10:06:30 +08:00
socksprox
689dc5ffa8 Fix redis ownership (#927)
Co-authored-by: socksprox <info@shadowfly.net>
2026-05-03 09:38:53 +08:00
Xboard
d22a12cb34 Update Docker commands for V2board Dev migration 2026-04-30 00:49:52 +08:00
Xboard
449ccc3a1a Fix service names in v2board migration steps
Updated commands for database wipe and migration in v2board migration guide.
2026-04-30 00:49:37 +08:00
Xboard
42e5dac982 Update docker commands for migration to use xboard 2026-04-30 00:49:19 +08:00
Xboard
e2e489e85e Modify upgrade command for older compose.yaml
Updated command for upgrading using older compose.yaml.
2026-04-25 20:43:35 +08:00
xboard
3b0b42c51d refactor(middleware): split V2 server middleware to drop node_type 2026-04-23 19:24:34 +08:00
xboard
cf26ab3210 docs(upgrade): note pre-2026-04-19 compose upgrade command 2026-04-23 12:23:08 +08:00
xboard
382efe5aa5 fix(caddy): preserve X-Forwarded-For chain so Laravel TrustProxies resolves real client IP 2026-04-23 11:39:58 +08:00
xboard
0fa4b4e0fc fix(security): prevent payment gateway credentials leakage via OrderResource 2026-04-23 10:26:35 +08:00
xboard
b8944e2341 fix(docker): re-apply www ownership to /www at entrypoint 2026-04-20 01:39:24 +08:00
xboard
a7c7120d8a chore(docker): all-in-one redis no longer listens on TCP 2026-04-20 01:14:52 +08:00
xboard
0598351c10 fix: backfill utls for legacy vless reality nodes 2026-04-20 00:08:00 +08:00
Xboard
f714767205 Update installation instructions for aapanel-docker 2026-04-19 23:33:32 +08:00
xboard
66861500c3 fix(deploy): make install/update redis-independent and clean stale octane state
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-19 23:23:27 +08:00
xboard
8379f1d1cd docs: update readme 2026-04-19 21:57:56 +08:00
xboard
3f82b00972 refactor: all-in-one docker deployment with auto-tuned resources and per-mode compose templates 2026-04-19 21:18:15 +08:00