mirror of
https://github.com/MHSanaei/3x-ui.git
synced 2026-11-12 16:15:02 +03:00
fix(clients): clarify renewal preview times and estimates (#6662)
* fix(clients): clarify renewal preview times and estimates The preview rendered RFC3339 strings directly and labeled the server's Local zone without explaining which clock it represented. Its renewal count also looked like a record of renewals already performed. Display readable dates with an explicit UTC offset while preserving the server's wall time, per-date DST offset and fractional cutoff precision. Explain the panel/server timezone and read-only preview, and label the renewal count as estimated allowance consumption in all 13 locales. Let the first-cutoff button wrap on narrow screens and update the English and Chinese client documentation plus display/form regression coverage. This changes presentation only: renewal calculations, stored expiry values, API payloads and first-use behavior remain unchanged. * test(clients): remove redundant renewal preview copy checks The locale-only preview case repeated the Local timezone branch without covering a distinct behavior. Exact textContent comparisons after matching the same text with getByText also only pinned constant wording, contrary to the repository's testing guidance. Remove that duplicate case, its locale setup and the redundant copy assertions. Keep the UTC, per-boundary DST offset, fractional precision and original datetime checks, together with the existing real form-save tests. Production rendering, translations and renewal behavior are unchanged. --------- Co-authored-by: JacktheRanger <219502738+JacktheRanger@users.noreply.github.com>
This commit is contained in:
@@ -75,6 +75,16 @@ explicit button can set the first calendar cutoff. Selecting a mode alone never
|
||||
rewrites an existing expiry. First-use clients keep their initial duration, and
|
||||
their calendar dates are available after activation.
|
||||
|
||||
Preview dates use the Gregorian format `YYYY-MM-DD HH:mm:ss UTC±HH:mm`,
|
||||
preserving any fractional seconds in the cutoff. Each date includes its own
|
||||
UTC offset, so a daylight-saving change can show different offsets before and
|
||||
after renewal. The heading identifies the panel time zone; **Server local time**
|
||||
means the server's `Local` setting, not the browser's time zone. For example,
|
||||
`2026-09-27 05:00:00 UTC+00:00` is 13:00 in UTC+08:00. **Estimated renewals used**
|
||||
is the allowance this preview would consume, including any catch-up periods,
|
||||
not a count of renewals already performed. The first-cutoff button uses the same
|
||||
date format; clicking it still requires saving the form to persist the change.
|
||||
|
||||
For legacy last-second calendar cutoffs, the renewal boundary includes the
|
||||
existing free alignment to the following midnight. The last-valid-second
|
||||
preview still uses the **stored expiry**, not that alignment: an exclusive
|
||||
|
||||
Reference in New Issue
Block a user