Skip to content

Remove UA_868 as obsolete#10994

Open
sashko wants to merge 1 commit into
meshtastic:developfrom
sashko:develop
Open

Remove UA_868 as obsolete#10994
sashko wants to merge 1 commit into
meshtastic:developfrom
sashko:develop

Conversation

@sashko

@sashko sashko commented Jul 11, 2026

Copy link
Copy Markdown

Decree of the Cabinet of Ministers of Ukraine dated February 25, 2026,* No. 262, on amendments to Section 2 of the Plan for the Allocation and Use of the Radio Frequency Spectrum in Ukraine, has harmonised Ukrainian regulations on the 868 MHz spectrum with the EU's, thereby making UA_868 legally obsolete.

🤝 Attestations

  • I have tested that my proposed changes behave as described.
  • I have tested that my proposed changes do not cause any obvious regressions on the following devices:
    • Heltec (Lora32) V3
    • LilyGo T-Deck
    • LilyGo T-Beam
    • RAK WisBlock 4631
    • Seeed Studio T-1000E tracker card
    • Other (please specify below)

Summary by CodeRabbit

Summary by CodeRabbit

Summary

  • New Features

    • None
  • Bug Fixes

    • Updated the regulatory reference information for the Ukraine 433 MHz LoRa region.
    • Removed the Ukraine 868 MHz LoRa region from the selectable region list and region actions.
    • Updated the UI and menu handling so selecting “Ukraine” uses the 433 MHz option.
  • Chores

    • Added a startup migration to convert any saved (previous) Ukraine 868 setting to EU 868.
    • Updated LoRa region preset compatibility documentation to match the current firmware mapping.

@CLAassistant

CLAassistant commented Jul 11, 2026

Copy link
Copy Markdown

CLA assistant check
All committers have signed the CLA.

@CLAassistant

Copy link
Copy Markdown

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

@github-actions

Copy link
Copy Markdown
Contributor

@sashko, Welcome to Meshtastic!

Thanks for opening your first pull request. We really appreciate it.

We discuss work as a team in discord, please join us in the #firmware channel.
There's a big backlog of patches at the moment. If you have time,
please help us with some code review and testing of other PRs!

Welcome to the team 😄

@coderabbitai

coderabbitai Bot commented Jul 11, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: a6e24989-c106-45ab-a7ee-8a4c1651990c

📥 Commits

Reviewing files that changed from the base of the PR and between ad3ea07 and 0a2e401.

📒 Files selected for processing (6)
  • docs/lora_region_preset_compatibility_client_spec.md
  • src/graphics/draw/MenuHandler.cpp
  • src/graphics/niche/InkHUD/Applets/System/Menu/MenuAction.h
  • src/graphics/niche/InkHUD/Applets/System/Menu/MenuApplet.cpp
  • src/mesh/NodeDB.cpp
  • src/mesh/RadioInterface.cpp
💤 Files with no reviewable changes (3)
  • src/graphics/draw/MenuHandler.cpp
  • src/graphics/niche/InkHUD/Applets/System/Menu/MenuAction.h
  • src/graphics/niche/InkHUD/Applets/System/Menu/MenuApplet.cpp
🚧 Files skipped from review as they are similar to previous changes (2)
  • src/mesh/NodeDB.cpp
  • src/mesh/RadioInterface.cpp

📝 Walkthrough

Walkthrough

The Ukraine LoRa regulatory table updates the legal reference for UA_433, removes UA_868, migrates saved UA_868 configurations to EU_868, and updates region-selection interfaces and compatibility documentation.

Changes

Ukraine Region Update

Layer / File(s) Summary
Update region definition and configuration migration
src/mesh/RadioInterface.cpp, src/mesh/NodeDB.cpp
Updates the UA_433 legal reference, removes UA_868, and migrates saved UA_868 configurations to EU_868 at startup.
Update region selection and compatibility references
src/graphics/draw/MenuHandler.cpp, src/graphics/niche/InkHUD/Applets/System/Menu/*, docs/lora_region_preset_compatibility_client_spec.md
Removes UA_868 from selectable region lists and compatibility data, and updates the InkHUD action and label to UA_433.

Estimated code review effort: 1 (Trivial) | ~2 minutes

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly matches the main change: removing UA_868 as obsolete.
Description check ✅ Passed The description states the rationale and includes the required attestation section, though testing details remain unchecked.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 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 `@src/mesh/RadioInterface.cpp`:
- Around line 187-190: Remove the remaining UA_868 option and direct UA_868
assignments from the region-selection paths in MenuApplet and MenuHandler, or
implement an explicit migration/fallback that converts existing UA_868
configurations to a supported region before initRegion() can return UNSET. Keep
the region picker and configuration handling aligned with the remaining
RadioInterface region table entries.
🪄 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 Plus

Run ID: 9ce13989-efce-41dd-9e6f-df9015cbd7c0

📥 Commits

Reviewing files that changed from the base of the PR and between 7a25ffd and 79c4bc8.

📒 Files selected for processing (1)
  • src/mesh/RadioInterface.cpp

Comment thread src/mesh/RadioInterface.cpp
@sashko

sashko commented Jul 11, 2026

Copy link
Copy Markdown
Author

I kindly and openly request Ukrainian amateur radio operators and Meshtastic users to thoroughly review and discuss this change.

@NomDeTom

Copy link
Copy Markdown
Collaborator

This is a new and interesting development. We'll have a discussion on the best way to retire this region definition.

@sashko

sashko commented Jul 11, 2026

Copy link
Copy Markdown
Author

This is a new and interesting development. We'll have a discussion on the best way to retire this region definition.

@NomDeTom Please, invite me to those discussions if possible. I'll be more than happy to do as much work as I can myself. I'll also try to involve the Ukrainian Meshtastic community in testing.

It's sashko_07 on Discord.

@sashko sashko force-pushed the develop branch 2 times, most recently from a1f8153 to 7b766e6 Compare July 12, 2026 13:40

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (1)
src/mesh/NodeDB.cpp (1)

627-630: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Shorten the explanatory comment

This four-line comment exceeds the repository’s one- or two-line C++ comment guideline. Keep only the non-obvious rationale, for example: // Migrate removed UA_868 configs before region validation.

🤖 Prompt for 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.

In `@src/mesh/NodeDB.cpp` around lines 627 - 630, Shorten the comment describing
the UA_868 migration to one concise line, retaining only the rationale that
removed UA_868 configurations must be migrated before region validation.

Source: Coding guidelines

🤖 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 `@src/mesh/NodeDB.cpp`:
- Around line 627-635: Move the UA_868-to-EU_868 migration in NodeDB
initialization to occur before resetRadioConfig() invokes initRegion(), ensuring
myRegion is initialized to EU_868 during the same boot. Keep the existing
migration condition, assignment, and log message unchanged.

---

Nitpick comments:
In `@src/mesh/NodeDB.cpp`:
- Around line 627-630: Shorten the comment describing the UA_868 migration to
one concise line, retaining only the rationale that removed UA_868
configurations must be migrated before region validation.
🪄 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 Plus

Run ID: be5f2726-6172-4fd2-8569-47279c55bddc

📥 Commits

Reviewing files that changed from the base of the PR and between a1f8153 and 7b766e6.

📒 Files selected for processing (4)
  • src/graphics/draw/MenuHandler.cpp
  • src/graphics/niche/InkHUD/Applets/System/Menu/MenuApplet.cpp
  • src/mesh/NodeDB.cpp
  • src/mesh/RadioInterface.cpp
💤 Files with no reviewable changes (2)
  • src/graphics/draw/MenuHandler.cpp
  • src/graphics/niche/InkHUD/Applets/System/Menu/MenuApplet.cpp
🚧 Files skipped from review as they are similar to previous changes (1)
  • src/mesh/RadioInterface.cpp

Comment thread src/mesh/NodeDB.cpp Outdated
@sashko sashko force-pushed the develop branch 3 times, most recently from 4973926 to ce7f287 Compare July 12, 2026 15:43
Decree of the Cabinet of Ministers of Ukraine dated February 25, 2026,*
No. 262, on amendments to Section 2 of the Plan for the Allocation and
Use of the Radio Frequency Spectrum in Ukraine, has harmonised
Ukrainian regulations on the 868 MHz spectrum with the EU's, thereby
making UA_868 legally obsolete.

* https://zakon.rada.gov.ua/laws/show/262-2026-п
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants