Next release#1660
Conversation
…n in sync operations #1651
…into next_release
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (2)
✅ Files skipped from review due to trivial changes (1)
🚧 Files skipped from review as they are similar to previous changes (1)
📝 WalkthroughWalkthroughAdds a Device Filters troubleshooting doc and help link in the devices UI; preserves hub device presence in sync carbon-copy UPSERTs with tests; updates RUN_SCHD base64 regexes across many plugin configs; tweaks frontend CSS/footer/settings layout; and reorganizes plugin documentation. ChangesDevice Filtering Documentation and Devices Page Enhancements
Sync Carbon-Copy Device Presence Preservation
Plugin Configuration Schedule Validation Updates
Frontend CSS, Styling, and Layout Updates
Plugin Development Documentation Reorganization
Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 3 | ❌ 2❌ Failed checks (1 warning, 1 inconclusive)
✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 8
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@docs/DEVICE_FILTERS.md`:
- Around line 44-45: The docs list `NEWDEV_ignored_IPs` twice which is
confusing; update the example so the duplicated key is removed and replaced with
the correct hidden-device setting (verify the actual setting name in the
codebase/config and use that) so the line reads something like "Devices marked
as ignored (`NEWDEV_ignored_IPs` and `<correct_other_ignored_setting>`)"; keep
the `UI_hide_rel_types` mention as-is. Ensure you reference the real setting
name from the code/config instead of leaving a duplicate.
In `@front/devices.php`:
- Around line 101-103: The external anchor element that currently uses
target="_blank" (the <a target="_blank"
href="https://docs.netalertx.com/DEVICE_FILTERS"> link in front/devices.php)
should be hardened by adding rel="noopener noreferrer" to the same <a> tag to
prevent reverse-tabnabbing and avoid exposing window.opener; update that anchor
to include the rel attribute while keeping the target and href unchanged.
- Line 887: The width targets currently reference COL.devLastIp which is a
casing typo; update the targets array in the mapIndx(...) call to use the
correct constant COL.devLastIP (matching other usages) so the width rule applies
to the intended column alongside COL.devIpLong; locate the line containing
mapIndx(COL.devLastIp) and replace the symbol with COL.devLastIP.
- Around line 970-977: The HTML template assigned in the $(td).html call opens a
wrapper div with `<div class="anonymizeIp alignRight">` but mistakenly closes it
with `<div>` instead of `</div>`; update the string in the $(td).html(...) call
so the final tag is a proper closing `</div>` to produce valid HTML for the
anonymizeIp wrapper.
In `@front/php/templates/footer.php`:
- Line 31: The anchor for the icon-only "Report a bug" link lacks an accessible
name; add aria-label="Report a bug" to the <a> element that wraps the bug icon
(the anchor containing <i class="fa fa-bug" title="Report a bug">) so screen
readers read the link label, and keep the existing title on the <i> for the
tooltip.
In `@front/plugins/ddns_update/config.json`:
- Line 181: The base64Regex value (key "base64Regex") encodes a regex that still
allows unbounded numeric ranges like `[0-9]+-[0-9]+`; update the underlying
regex to enforce field-specific bounded ranges (minutes 0-59, hours 0-23,
day-of-month 1-31, month 1-12, weekday 0-6 or 1-7) for single numbers, ranges,
steps, lists, and wildcards, then re-encode that tightened regex to base64 and
replace the current "base64Regex" string; locate and edit the "base64Regex"
entry in config.json to perform this change.
In `@front/plugins/nslookup_scan/config.json`:
- Line 154: The base64Regex value for the "base64Regex" key currently allows
generic numeric ranges like [0-9]+-[0-9]+; update the validation so ranges are
tightened to cron-field-specific bounds before encoding (e.g., minute 0-59, hour
0-23, day-of-month 1-31, month 1-12, day-of-week 0-6) and replace the current
generic pattern in the base64Regex entry with a pattern that enforces those
per-field limits (or generate per-field regexes and then base64-encode the
combined pattern) so client-side validation rejects out-of-range ranges.
In `@front/settings.php`:
- Around line 396-401: The <h4 class="panel-title"> element currently contains
block-level <div> children (the elements rendering ${getString(prefix+"_icon")},
${prefix}, ${getString(prefix+"_display_name")}, and ${enabledHtml}), which is
invalid; change those inner <div> elements to inline or phrasing elements (e.g.,
<span> or <a>) or move them outside the <h4> while preserving layout and classes
so the heading only contains phrasing content; update the markup around the
panel-title (the element with class "panel-title" and the fragments rendering
getString(prefix+"_icon"), prefix, getString(prefix+"_display_name"), and
enabledHtml) and adjust CSS if needed to retain the same visual layout.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: acb6a6e2-2cfe-44f2-a5a7-8a8519b60306
📒 Files selected for processing (47)
docs/DEVICE_FILTERS.mddocs/PLUGINS_DEV.mddocs/PLUGINS_DEV_DATA_CONTRACT.mddocs/WORKFLOW_EXAMPLES.mdfront/css/app.cssfront/devices.phpfront/php/templates/footer.phpfront/plugins/__template/config.jsonfront/plugins/_publisher_mqtt/config.jsonfront/plugins/adguard_import/config.jsonfront/plugins/arp_scan/config.jsonfront/plugins/asuswrt_import/config.jsonfront/plugins/avahi_scan/config.jsonfront/plugins/csv_backup/config.jsonfront/plugins/db_cleanup/config.jsonfront/plugins/ddns_update/config.jsonfront/plugins/dhcp_leases/config.jsonfront/plugins/dhcp_servers/config.jsonfront/plugins/dig_scan/config.jsonfront/plugins/freebox/config.jsonfront/plugins/fritzbox/config.jsonfront/plugins/icmp_scan/config.jsonfront/plugins/internet_ip/config.jsonfront/plugins/internet_speedtest/config.jsonfront/plugins/ipneigh/config.jsonfront/plugins/kea_api/config.jsonfront/plugins/maintenance/config.jsonfront/plugins/mikrotik_scan/config.jsonfront/plugins/nbtscan_scan/config.jsonfront/plugins/nmap_dev_scan/config.jsonfront/plugins/nmap_scan/config.jsonfront/plugins/nslookup_scan/config.jsonfront/plugins/omada_sdn_imp/config.jsonfront/plugins/omada_sdn_openapi/config.jsonfront/plugins/pihole_api_scan/config.jsonfront/plugins/pihole_scan/config.jsonfront/plugins/snmp_discovery/config.jsonfront/plugins/sync/config.jsonfront/plugins/sync/sync.pyfront/plugins/unifi_api_import/config.jsonfront/plugins/vendor_update/config.jsonfront/plugins/wake_on_lan/config.jsonfront/plugins/website_monitor/config.jsonfront/settings.phpmkdocs.ymltest/db_test_helpers.pytest/plugins/test_sync_protocol.py
Summary by CodeRabbit
New Features
Bug Fixes
Documentation
Style
Chores
Tests