v2.7.3 Release Changes - #1175
Merged
Merged
Conversation
…1172) The X3000/XE3000 with an RM520N-GL have the modem on PCIe, not USB. gl_modem can't reach it; AT commands go to /dev/mhi_DUN directly. - Detect /dev/mhi_DUN in discovery when ubus returns no bus - Add MHI execution path: echo/read AT commands to the device node - Fix empty-bus bug: ubus returning bus="" was treated as a valid bus, pinning Sub=1 and skipping the auto-detect fallback - Break the MHI read loop on +CME ERROR / +CMS ERROR (Quectel default)
The manual path copied inputs.Context.TimeZoneId onto the plan document but autopilot never did, so the 12-hour reminder and plan page showed only server time for remote sites.
Dashed-border placeholder card at the end of the grid (site-admin only) that enters layout edit mode on click.
The [+] placeholder scrolls the edit-bottom anchor into view so the user stays at the bottom as the edit toolbars inflate the content above. Duplicates Done and Cancel at the grid bottom for convenience.
The PDF report already included per-device memory (before/after), but the web UI table only showed CPU. Add a matching Mem column, hidden on mobile.
The folded tooltip repeated the device name in both the title and subtitle lines. Shorten monitoring.target_offline/recovered titles to "Device offline" / "Device back online" so the subtitle (device name) adds information. Send a firmware field on reboot events so the collapsed view can show it alongside the device name.
Folded tooltip showed the device name in both the title and subtitle. Shorten monitoring.target_offline/recovered to "Device offline" / "Device back online" so the subtitle adds information. Send firmware version (short) on reboot events and extract metric readings (temp, CPU, mem) from health alerts so the collapsed subtitle shows them alongside the device name.
Use negative lookahead (?!\w) instead, which correctly prevents matching C inside "CPU" while allowing % followed by a space.
Use (?!\w) instead of \b so % (non-word char) matches correctly. Drop the space before % in the output (70.4% not 70.4 %).
Extract health alert event type strings as constants on DeviceHealthAlertEvaluator so both sides reference the same values. Add architecture tests that fail if a new health alert type is added without a corresponding AlertReading extractor or AlertLabel entry. Use °C in temperature alert messages going forward (device, SFP, ONT). The regex matches both old (C) and new (°C) formats, always outputting °C in the tooltip.
* Warn when a non-primary WAN vantage has no probe binding A vantage with neither a gateway agent nor a source-IP binding probes its targets via the server's default route, so the readings reflect the primary WAN's path. Show an alert-warning banner in three places: - ISP Health panel, above the report (scores are based on wrong data) - ISP Health panel, above status banners when no report yet - Network Performance chart card, above the latency charts The advisory fires only when: a single non-primary WAN is selected, a WanContext exists for it, and every context for that WAN has both AgentId and ProbeSourceIp null. It does not fire for: the primary WAN, agent-bound vantages, source-IP vantages, no-vantage-at-all (handled by NeedsContextFirst), single-WAN sites, or LAN/All/comparison scope. Refs #936 * Capitalize Vantage and Gateway Agent in banner copy UI feature names are proper nouns in user-facing text. * Revise Vantage binding advisory copy User-approved verbiage: concise, accurate for both failover and load-balance topologies, proper-noun Agent. * Normalize all WAN keys through WanInterfaceKeyFromKey in ISP Health panel The Fable review caught that _wansWithProbeBinding used normalized keys while _wansWithContext and option keys used raw ToLowerInvariant. A legacy "wan1" row would be in one set as "wan1" and the other as "wan", causing a false positive. Normalize all three consistently.
iOS/Android suspend setInterval while a tab is backgrounded, so the stuck-spinner timer that probes /api/health never fires after resume. The resume handler deferred entirely to that timer when the reconnect modal was showing, leaving the page frozen behind the spinner with no recovery path. Now the resume handler probes the server itself when the modal is up. If the server answers, the circuit is wedged and a reload is the right call. Same fix inside the probe loop: if Blazor surfaces the modal mid-probe, check the server instead of blindly deferring. And the final fallback (no circuit, no modal after 12s) now probes before reloading so we don't strand on a blank page during a real outage.
A single 2s health probe is unreliable at mobile resume - the network stack takes a few seconds to re-attach after Wi-Fi rejoin or cellular radio wake. A miss recreated the stuck-forever state. Give the modal branch the same 12s retry loop the no-modal path already has.
Flex (except Flex XG) and Ultra switches have no SSH daemon, so the reboot-reason probe fails on every attempt and retries hourly forever. Pass the device model through to the tracker and skip the probe when UniFiProductDatabase.HasSsh returns false.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
%formatting (\bfails after%since it's non-word):previewtag on every tag, not just prereleases