Commit Graph

1232 Commits

Author SHA1 Message Date
sagitchu b37f4819f0 docs: record authorization for FLVX release 2026-11-10 09:11:07 +08:00
sagitchu 1f0bc0328b docs: record final FLVX requirements verification 2026-11-10 08:54:07 +08:00
sagitchu 2ad30e4b2f Merge PostgreSQL backup import sequence repair 2026-11-10 08:52:00 +08:00
sagitchu 1b326cb00e fix: advance PostgreSQL backup import sequences transactionally
Explicit-ID backup restores previously left PostgreSQL sequences behind, causing immediate creates to collide until restart. Resolve the active ID sequence and advance it with transactional RESTART while preserving allocated values, caches and increments.

Take the complete import write-table lock set with NOWAIT and retry only pre-write contention, avoiding lock-order cycles with existing CRUD transactions. Cover public API/repository restores, all explicit-ID tables, legacy schemas, concurrent creates/imports/cascade deletes, and rollback paths on isolated PostgreSQL.
2026-11-10 08:51:02 +08:00
sagitchu 2ecdba9574 Merge custom order review fixes 2026-11-10 08:27:22 +08:00
sagitchu 5cc91710c9 fix: clear recovered order load errors without hiding save warnings 2026-11-10 08:26:49 +08:00
sagitchu e35bff8579 Merge persistent custom order backend for issue #575 2026-11-10 08:21:21 +08:00
sagitchu 2e6cc2f60c Merge custom order frontend for issue #575 2026-11-10 08:20:55 +08:00
sagitchu a403bf4155 test: cover concurrent display reorder and membership changes 2026-11-10 08:20:46 +08:00
sagitchu 2c8ca78923 fix: distinguish uncertain reorder transport results 2026-11-10 08:20:19 +08:00
sagitchu 02b7dd06df Merge branch 'fix/user-names-custom-order' into feature/issue575-order-ui 2026-11-10 08:19:55 +08:00
sagitchu 229af5dbca feat: add server-backed user and limit drag ordering (#575) 2026-11-10 08:19:55 +08:00
sagitchu bd2aba58e2 Merge branch 'fix/user-names-custom-order' into feature/issue575-order-backend 2026-11-10 08:19:50 +08:00
sagitchu af5d0c88c8 feat: persist administrator user and speed-limit order (#575) 2026-11-10 08:19:50 +08:00
sagitchu 6d76fcac7e Merge owner-name correction for issue #574 2026-11-10 08:18:52 +08:00
sagitchu b81ba70f5f fix: resolve forward owner names from current user identity (#574) 2026-11-10 08:17:53 +08:00
sagitchu 5f15d3d63a docs: confirm verification scope and task graph 2026-11-10 08:13:23 +08:00
sagitchu f8bf0572c4 docs: plan current owner names and custom ordering 2026-11-10 08:12:55 +08:00
sagit 3209ff8a59 fix(sqlite): backfill tunnel relay authentication mode (#573)
* fix(sqlite): backfill tunnel relay authentication mode

* ci: cover SQLite upgrade migrations in backend checks
3.0.1-rc12
2026-11-09 20:46:52 +08:00
sagit 7e81e1c65c fix(panel): make self-upgrades durable and observable (#572)
Persist upgrade jobs and progress across backend restarts; preserve Compose identity and database mounts, isolate backups, and fail safely on uncertain recreation. Add frontend recovery handling and lifecycle/permission regressions.
3.0.1-rc11
2026-11-09 20:24:03 +08:00
sagit a784350eaf fix(monitor): unify realtime state and ignore stale requests (#571) 3.0.1-rc10 2026-11-09 18:21:18 +08:00
sagit 743bf6f278 fix(agent): verify upgrades and support OpenRC lifecycle (#570) 3.0.1-rc9 2026-11-09 08:59:25 +08:00
sagit fadc2b6c12 fix(relay): authenticate endpoints and fail closed on missing routes (#569)
* fix(relay): authenticate endpoints and fail closed on missing routes

* fix(tunnel): retain chains until receiver replacement is acknowledged

* docs: record final relay security review and validation
3.0.1-rc8
2026-11-08 23:46:18 +08:00
sagit 46bfb86c1b fix(user): revoke tunnel access when disabling users (#568)
Revoke tunnel grants and pause each forwarding entry without self-healing missing services. Continue healthy nodes and other forwards after failures, aggregate pending nodes for retry, and show persistent partial-disable feedback.

Related: #562
3.0.1-rc7
2026-11-01 18:03:07 +08:00
tsosunchia 3549fe5ad8 fix(udp): preserve wildcard reply sources and isolate destination sessions (#565)
* fix(udp): preserve local destinations and unicast reply sources on Linux

* fix(udp): select unicast sources for IPv6 multicast replies

* fix(udp): retain interface zones for link-local multicast sessions

* fix(udp): isolate interface-local multicast sessions

* fix(udp): include ingress interfaces in session identity

* fix(udp): restrict destination zones to IPv6

* ci(udp): follow rc5 patched Go toolchain requirement

---------

Co-authored-by: sagit <36596628+Sagit-chu@users.noreply.github.com>
3.0.1-rc6
2026-10-24 18:35:22 +08:00
Sebastian Luo dd3ed4e284 fix(frontend): keep node id when upgrading from list view (#567)
In list view, the per-node upgrade button set upgradeTargetNodeId and then
called openUpgradeModal("single") without an id, which resets the target to
null. handleConfirmUpgrade then matched neither branch, so "确认升级" sent no
request and the modal stayed open. Pass node.id the same way grid view does.

Co-authored-by: Sebastian Luo <sebastianluo@Sebastians-MacBook-Pro.local>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 18:18:20 +08:00
sagit c794586cc7 fix(security): require patched Go and Node.js runtimes (#566) 3.0.1-rc5 2026-10-22 11:15:28 +08:00
sagit d9303032ca feat: support username-free passkey login (#564) 3.0.1-rc4 2026-09-30 21:12:18 +08:00
sagit 6da8b2b6ec docs: clarify passkey setup after upgrades (#563) 2026-09-30 20:23:28 +08:00
sagit 861d61239a feat: support secure passkey login (#561)
Add WebAuthn passkey enrollment and login for issue #536, with trusted origin configuration, user verification, single-use challenges, and documented deployment and recovery behavior.
3.0.1-rc3
2026-09-30 19:23:10 +08:00
sagit c952d2fb3a fix: protect shared rules across delivery and recovery (#560) 3.0.1-rc2 2026-09-29 14:05:49 +08:00
sagit 129fa0aa4c fix(frontend): constrain service monitor records modal (#557) 3.0.1-rc1 2026-09-24 16:12:03 +08:00
sagit cf7246c71b feat: adaptive traffic units and precise MB–PB quotas (#556)
## Summary

- Format traffic amounts adaptively through PB across the user,
dashboard, forwarding, node, monitoring, and panel sharing views. Closes
#548.
- Let administrators choose MB, GB, TB, or PB when setting user, tunnel
permission, and panel sharing traffic limits. Closes #549.
- Persist exact MiB limits for users and tunnel permissions while
retaining the legacy GB field and existing data. Apply the precise limit
in forwarding policy checks and preserve it in backups.

## Verification

- `go test ./...` in `go-backend` (724 passed)
- `pnpm run build` in `vite-frontend`
- ESLint on changed frontend files
- `git diff --check`
2026-09-24 15:40:11 +08:00
sagit b4c2989285 Merge branch 'main' into codex/issues-548-549-traffic-units 2026-09-24 15:38:49 +08:00
sagit f2783713a5 feat: separate light and dark wallpapers (#555)
## Summary

- Add separate light and dark wallpapers with fallback to the existing
background setting, resolving #554.
- Make both wallpaper settings available to unauthenticated pages and
update the background when the theme changes.
- Include the pre-existing installer regression changes in this commit,
as requested.

## Verification

- `go test ./...` in `go-backend` (723 passed)
- `pnpm run build` in `vite-frontend`
- ESLint on changed frontend files
- `bash test-install-scripts-proxy.sh`
- `git diff --check`
2026-09-24 15:38:22 +08:00
sagitchu 5d60c4fbe1 feat: support adaptive traffic units and precise quotas 2026-09-24 15:33:53 +08:00
sagitchu 62c56e0a79 feat: add mode-specific wallpapers and installer regression coverage 2026-09-24 14:59:52 +08:00
sagit 2e845030de fix: build frontend assets on native platform (#553) 3.0.1-beta13 2026-09-01 16:27:00 +08:00
sagit 2269f2e2d5 fix: include pnpm config in frontend image build (#552) 3.0.1-beta12 2026-09-01 15:48:54 +08:00
sagit da7bef88f1 fix: harden panel updates and nftables deployment (#551)
Fix panel update deployment discovery and rollback safety, add nftables compatibility and atomic replacement, and restore reproducible frontend CI installs.
3.0.1-beta11
2026-09-01 15:37:33 +08:00
sagit f26014579b fix: stabilize federated agent runtime updates (#550) 3.0.1-beta10 2026-08-25 17:04:04 +08:00
sagit 5041c722c9 fix: harden license lifecycle (#547) 3.0.1-beta9 2026-08-13 09:25:05 +08:00
sagit c56798e991 fix: accept existing license machine binding (#546) 3.0.1-beta8 2026-08-12 14:12:46 +08:00
sagit 40e96f3592 fix: preserve active per-IP traffic limiters (#545) 3.0.1-beta7 2026-08-12 11:31:03 +08:00
sagit 0e24b53a5b fix: preserve license state across panel upgrades (#544) 3.0.1-beta6 2026-08-11 17:04:20 +08:00
sagit a820c49c94 fix(agent): harden Alpine OpenRC installation (#543)
Ensure Alpine installs use OpenRC without invoking systemd cleanup paths, and install missing download dependencies.
3.0.1-beta5
2026-08-08 11:45:39 +08:00
sagit 538e64ffc0 Fix modal scroll position jumps (#542)
Preserve page scroll positions while Radix modals acquire focus and forward the dialog overlay ref correctly.
2026-08-07 22:38:02 +08:00
sagit 0b23d6f7d7 fix(agent): retire replaced tunnel sessions (#541) 3.0.1-beta4 2026-08-07 14:35:30 +08:00
sagit 9e6f80019d feat(monitor): show backup nodes in topology (#538) 3.0.1-beta3 2026-08-03 14:14:01 +08:00
sagit a8fd01d4d8 fix(node): allow IPv6-only addresses (#537) 3.0.1-beta2 2026-08-03 11:05:04 +08:00