xiaosi
1c7d5e8e51
fix: close confirm dialog when clicking cancel
Custom DialogPlugin onClose replaced the default hide path, so Cancel
resolved false but left the modal open. Hide on cancel/close and settle once.
2 weeks ago
xiaosi
d58ca74bdd
feat: gate live reopen until session stopped
Keep the old streamSessionId after stop, poll until phase=stopped before
allowing join again, disable controls while stopping, and retry join on
57007 for Monitor and MediaView.
2 weeks ago
xiaosi
af381838a3
fix: retry HLS 404 during live startup window
Treat first-manifest 404 as recoverable: backoff-reload the same signed
play URL for 15s instead of failing or refreshing /play-url. Keep
heartbeat independent, and only fatalize 403/TLS/CORS or exhausted 404.
2 weeks ago
xiaosi
822fb09f5a
fix: drop orphan live leases after late join
Invalidate in-flight join with generation/disposed, leave returned sessions
immediately when the page already left, release via keepalive on pagehide,
and rejoin on heartbeat/play-url 57006 instead of refreshing stale URLs.
2 weeks ago
xiaosi
80394271de
fix: clear media lists when switching tabs
Drop cached liveStreams/videos on same-route tab changes and reload
fresh list data so stale live center cards do not linger.
2 weeks ago
xiaosi
ebf9dd129e
fix: clear media live session when leaving live tab
Same-route tab switches do not unmount MediaView, so drop active
play state, heartbeat, and viewer lease when leaving 直播中心.
2 weeks ago
xiaosi
3c76b395c4
fix: show full live video without cropping
Use object-fit: contain so the monitor live frame keeps the whole picture.
2 weeks ago
xiaosi
3bb2beb3b7
fix: guard live open clicks and coalesce play-url fetches
Prevent double join while opening, share in-flight play-url
requests across poll/heartbeat/error paths, and keep AbortError local.
2 weeks ago
xiaosi
bf3237806e
feat: play media-center live streams inside cards
Replace window.open play-url with in-card LivePlayer,
keeping viewer lease heartbeat while watching.
2 weeks ago
xiaosi
599146f35d
fix: treat AbortError as recoverable live pause
Chrome power-saving pause must not refresh play-url;
show a resume button and play from user gesture instead.
2 weeks ago
xiaosi
999fbf82fc
fix: stop play-url retry storm on HLS TLS failures
vpull HTTPS handshake fails with ERR_SSL_VERSION_OR_CIPHER_MISMATCH;
refreshing auth_key cannot fix it and only floods Network.
2 weeks ago
xiaosi
ad7e29dd5d
fix: mute LivePlayer so live autoplay can start
Chrome/Edge block unmuted autoplay after async join;
silent play() failures left a black LIVE frame.
2 weeks ago
xiaosi
0bf6107b31
feat: wire stop-live and play error rebuild
2 weeks ago
xiaosi
3da0c94e2a
fix: harden live retry, stop confirm, heartbeat races
2 weeks ago
xiaosi
3e41f56f72
feat: poll live phase and renew HLS play URLs
2 weeks ago
xiaosi
cd37b3d791
fix: harden LivePlayer HLS attach races
2 weeks ago
xiaosi
3bba5e8d87
feat: play HLS in LivePlayer via hls.js
3 weeks ago
xiaosi
0298c51b5e
feat: add hls.js and live session/stop APIs
3 weeks ago
xiaosi
f3c51c2cea
fix: harden traffic test-grant submit and search races
3 weeks ago
xiaosi
42b4a5a95b
feat: grant test traffic from TrafficOps dialog
3 weeks ago
xiaosi
69448ae193
feat: add traffic test-grant dialog shell
3 weeks ago
xiaosi
a0b31ea52a
feat: add admin traffic test-grants URL
3 weeks ago
xiaosi
5ec6a88733
fix: stop clipping traffic package card grid
Exclude package-card-grid from the fixed-height amount input
wrapper and harden AccountView card layout so packages are fully
visible.
3 weeks ago
xiaosi
db896d1f06
fix: send streamSessionId from Media live open
Pass session id on MediaView play-url fetch and toast when
the joined session is missing an id.
3 weeks ago
xiaosi
26f5738d36
fix: pass streamSessionId when fetching live play URL
Require session id in getLivePlayURL and guard Monitor refresh
so play-url requests match the backend contract.
3 weeks ago
xiaosi
c64ed2e329
fix: keep disabled dialog selects visually disabled
Exclude .t-is-disabled from the select readonly appearance
override so true disabled selects keep TDesign disabled styles.
3 weeks ago
xiaosi
6c524a8356
fix: stop styling selectable dialog selects as disabled
Override add-dock-dialog readonly input greying for t-select
inner inputs while keeping true readonly fields grey.
3 weeks ago
xiaosi
5db5119482
fix: enable table ellipsis tips on traffic ops columns
Turn on TDesign built-in ellipsis for long text columns in
package, purchase, and ledger tables.
3 weeks ago
xiaosi
eb4b800409
fix: polish traffic ops package form validation
Trim names and clarify create vs edit required-field errors.
3 weeks ago
xiaosi
2f1ae20d50
fix: validate ledger accountId before querying
Reject non-integer account filters instead of sending NaN/0.
3 weeks ago
xiaosi
16dee9441a
feat: add read-only traffic ledger tab
Allow admins to filter and page platform/user traffic ledger entries.
3 weeks ago
xiaosi
b0e212f25b
fix: quiet pool 404 toast and localize purchase status
Allow skipErrorToast for expected missing pool and map inactive to 失效.
3 weeks ago
xiaosi
ffbbd5f11b
feat: add traffic purchase intake tab
Show platform pool status and allow creating purchase batches.
3 weeks ago
xiaosi
2e6fb76629
feat: add traffic package CRUD tab
Admin can create, edit, and disable cloud media traffic packages.
3 weeks ago
xiaosi
c761b57e93
feat: scaffold admin traffic ops page
Add /traffic-ops route, menu entry, urls, and tabbed page shell.
3 weeks ago
xiaosi
c0c46dca2f
feat(account): show WeChat QR payment dialog with status refresh
3 weeks ago
xiaosi
0fa278d360
feat(account): render traffic and SIM packages as card grid
3 weeks ago
xiaosi
7efe68997b
chore: commit pending shell map proxy and brand assets
Persist leftover working-tree changes already used by local/prod builds:
dev proxy to remote gateway, MapLayer HMR-safe singleton map, commonRefs/
mapHelper singletons, SideMenu logo, TDesign CSS load order, prototype
style updates, favicon/logo/monitor icons, and operation-log cell markup.
3 weeks ago
xiaosi
51c941b74f
feat(routes): edit existing route in library editor
3 weeks ago
xiaosi
56edde6c93
feat(routes): delete route from library card
3 weeks ago
xiaosi
688e1e94eb
feat(routes): add edit/delete actions on RouteCard
3 weeks ago
xiaosi
04c97d0df2
feat(routes): add ROUTE(id) url helper
3 weeks ago
xiaosi
75a78a9893
fix(account): track pending SIM recharge orders per card
Keep one unpaid/processing banner entry per sim card so creating a
second pending order no longer hides earlier pay/cancel actions.
3 weeks ago
xiaosi
d0cbd1843e
fix(account): expose pending SIM recharge pay and cancel actions
3 weeks ago
xiaosi
c8d78828ef
feat(account): recharge SIM cards via package order and payment APIs
3 weeks ago
xiaosi
dd45413f34
fix(account): keep actionable traffic orders after payment start
3 weeks ago
xiaosi
2a07f29d4c
feat(account): buy traffic packages via order and payment APIs
3 weeks ago
xiaosi
07c3d44a8b
feat(api): align account billing URL constants with backend
3 weeks ago
xiaosi
e2498b69a8
refactor: 抽取 DeviceDetail 状态矩阵与环境卡
3 weeks ago
xiaosi
d178a3f6b9
refactor: 抽取 useMonitorLive 直播会话逻辑
3 weeks ago