Skip to content

Feature Request: Auto-assign default scope to messages without scope #2041

@MarcAngelo

Description

@MarcAngelo

Problem

In the Netherlands, the MeshCore network experiences congestion due to:

  • Excessive “test” and “Good morning” messages
  • Floods caused by short-interval adverts
  • Messages sent without a scope, which are forwarded across the entire mesh

This causes repeaters to be overloaded and users to resend messages multiple times.

Current solutions (manual scopes, regions) help, but depend on users knowing how to configure scopes. Forcing denyF *: would reduce traffic, but new users would not be able to send messages.

Proposed Solution

Add a repeater-level configuration to automatically assign a default scope to messages received without a scope.

Behavior:

  1. Only applies to public messages without a scope.
  2. The repeater rewrites the message’s scope to a pre-configured default, e.g., the local city or province.
  3. This prevents flooding the entire mesh while still allowing new users to send messages.
  4. Repeaters on older firmware will forward the rewritten message from updated repeaters, reducing overall traffic.

Example:

Repeater located in Barendrecht (South Holland) has regions:
eu (Europe)
nl (Netherlands)
nl-zh (South Holland)
nl-zh-brr (Barendrecht)

  • A user sends a public message without a scope.
  • The repeater automatically rewrites it to nl-zh.
  • Message stays within the province instead of flooding the Netherlands.

Benefits

  • Reduces network-wide flooding
  • Ensures new users can still send messages
  • Simplifies traffic management for repeater admins
  • Compatible with repeaters not running the latest firmware

Optional Implementation Detail

  • Config option could be called: route.unknown.scope or default_scope
  • Admin sets it per repeater
  • Messages are rewritten only if no scope exists

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions