Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 13 additions & 16 deletions docs/admins.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ The **MeshMapper Admin Portal** is a restricted area designed for region maintai

Access to the Admin Portal is strictly controlled. It is not available to general users.

- **How to get access:** Reach out to one of the [MeshMapper administrators](https://wiki.meshmapper.net/administratorlist/) to get credentials.
- **How to get access:** If the region has an administrator, ask them for an invite. If it has no administrator, ask a Moderator in the MeshMapper Discord for help with access. See [Finding Your Region's Administrators](administratorlist.md).

## Dashboard & Active Sessions

Expand All @@ -32,6 +32,10 @@ This tab allows granular control over individual data points (pings).
### Repeaters
Manage the repeaters database.

If an unknown repeater appears, first check whether an observer has received an advert with a valid name. A repeater heard only in wardriving discovery can appear as a **Ghost** without a name or fixed location. An admin can add or correct its record in the **Repeaters** tab, then check whether it is **Pending**, **Inactive**, or **Excluded**. Do not assign a guessed location to a moving device.

A repeater can appear on a grouped map because that map reads the group's member regions. Its region record is separate from the region your browser is showing. Check the region column before editing it. After a repeater moves, a new advert can update its position unless **Lock GPS Coordinates** is on. Earlier pings do not move with it.

- **Add/Edit:** Manually register repeaters or update their details (Name, Location, Power, Hop Bytes).
- **Status Control:**
- **Active:** The default state. The repeater is visible on the map, included in leaderboards, and actively associating with coverage pings.
Expand Down Expand Up @@ -125,28 +129,19 @@ The **Administrators** tab displays all admin accounts that have been granted ac
- **Name:** The username of the administrator account.
- **Contact:** The contact information on file for the administrator (e.g., Discord handle, email).
- **Region:** On multiregion admin panels, each administrator's entry will display which sub-regions they have been granted access to.
- **Status:** Indicates whether the administrator has completed registration.
- **Active:** The administrator has claimed their account and set a key.
- **Pending Registration:** The administrator has been invited but has not yet claimed their account.
- **Status:** Shows whether access is active or the invitation is still pending.

#### Adding a New Administrator

Region admins can invite new administrators directly from this tab by clicking **+ Add Administrator**.

1. **Username** *(required)*: Choose a username for the new administrator. If the administrator already has an account, a notice will appear and the form will switch to "Grant Access" mode — submitting will add your region to their existing access.
2. **Contact Info** *(required)*: Enter the new administrator's contact information (e.g., Discord handle or email).
3. **Region Assignment** *(required)*: Select which region the new administrator should have access to. On multiregion admin panels, you can assign the administrator to the multi-region group or to an individual sub-region.
In your region's **Administrators** tab, click **+ Add Administrator**, enter the person's email address, and select a region you administer. MeshMapper emails an invite bound to that address. If email delivery fails, the panel shows a link you can pass to that person. The invite expires after seven days. A global administrator can also grant a region directly to an existing verified MeshMapper account.

For **new administrators**, an invite link will be generated. Copy the link and send it to the new administrator. Invite links expire after **7 days**. For **existing administrators**, a confirmation will display that access to the region has been granted — no invite link is needed.

Pending invites are displayed below the administrators table, showing the username, region, who sent the invite, and when it expires. Invites can be deleted before they are claimed.
Pending invites can be revoked or resent from the panel.

#### Registration

New administrators claim their account by visiting the invite link sent to them. The link opens a confirmation page showing their username, assigned region, and who invited them. Clicking **Accept Invite & Create Account** generates their password.
Open the invite with the matching email or Discord account. Sign in to your existing MeshMapper account, or create one and choose your own password. Accept the invite to add the region. Sign in to the admin panel with that same account.

!!! warning "Password"
The password is shown **only once** during registration. The new administrator must copy it immediately. After logging in for the first time, they can change their password from the **User Settings** tab.
Forgot your password? Use **Forgot password** on the [portal](portal.md). If your account uses Discord sign-in, choose **Sign in with Discord**. The bot does not issue replacement credentials.

## Maintenance Tools

Expand Down Expand Up @@ -352,6 +347,8 @@ See [Pending Repeater Links](#pending-repeater-links) for how to resolve the ale

#### Stale Ping Cleanup (Auto-Delete Orphaned Pings)

To clear coverage left behind by a repeater that moved or was removed, first review the **Stale Ping Cleanup** preview. Save a retention window for automatic cleanup, or use **Backfill Purge Now** for eligible old orphaned pings after reviewing its count. The purge is permanent; do not use it merely to hide a repeater from the map.

**Default: Disabled. Options: Disabled / 30 / 60 / 90 days. DESTRUCTIVE.**

Ages out **orphaned** pings — ones whose repeater has moved more than 100 m away or vanished entirely. These are the pings the map already shows as **"(Gone)"**. A ping only counts as orphaned when *every* repeater on it is gone; anything still resolving is kept.
Expand Down Expand Up @@ -488,4 +485,4 @@ Link your Discord to MeshMapper to receive DM's from the MeshMapper bot.

These events are also available as **webhook** subscriptions, configured separately in the Settings tab. See [Webhooks](https://wiki.meshmapper.net/webhooks/).

Webhooks can also be configured per-region to send these same notifications to any HTTPS endpoint (Slack, Home Assistant, custom automation, etc.). See [Webhooks](https://wiki.meshmapper.net/webhooks) for setup instructions.
Webhooks can also be configured per-region to send these same notifications to any HTTPS endpoint (Slack, Home Assistant, custom automation, etc.). See [Webhooks](https://wiki.meshmapper.net/webhooks) for setup instructions.
2 changes: 2 additions & 0 deletions docs/app_connection_guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,8 @@ When you tap a device, MeshMapper runs through nine steps automatically. You can

## Zone Authentication

If **Zone check failed** appears, wait for an accurate, current GPS fix and confirm that your location is inside an active MeshMapper region. The app may report a stale clock, weak GPS, a disabled region, or an unreachable server as separate errors. If your area has no region, use [onboarding](onboarding.md) rather than choosing an unrelated region code.

MeshMapper uses a zone-based authentication system. The server checks your GPS coordinates and tells you which zone you are in (if any). Each zone has a code (like "YOW" for Ottawa) and a set of rules configured by the regional admin:

**Session permissions:**
Expand Down
7 changes: 7 additions & 0 deletions docs/app_getting_started.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,13 @@ Welcome to MeshMapper, a community-driven wardriving app for MeshCore mesh netwo
- You can also grab the [APK from GitHub](https://github.com/MeshMapper/MeshMapper_Project/releases/) if you prefer sideloading
- **iOS:** [Get it on the App Store](https://apps.apple.com/us/app/meshmapper/id6758073991)

**Beta releases:**

In the MeshMapper Discord server, open **Channels & Roles** and select **Yes** for beta testing. Then choose your platform:

- **iOS:** [Join the beta in TestFlight](https://testflight.apple.com/join/PXxfr5Jr).
- **Android:** [Download the beta APK from GitHub](https://github.com/MeshMapper/MeshMapper_Project/releases/), or [add MeshMapper to Obtainium](https://apps.obtainium.imranr.dev/redirect?r=obtainium://app/%7B%22id%22%3A%22net.meshmapper.app%22%2C%22url%22%3A%22https%3A%2F%2Fgithub.com%2FMeshMapper%2FMeshMapper_Project%22%2C%22author%22%3A%22MeshMapper%22%2C%22name%22%3A%22MeshMapper%22%2C%22preferredApkIndex%22%3A0%2C%22additionalSettings%22%3A%22%7B%5C%22includePrereleases%5C%22%3Atrue%2C%5C%22fallbackToOlderReleases%5C%22%3Atrue%7D%22%2C%22overrideSource%22%3A%22GitHub%22%7D) to follow prereleases.

**Web (Chrome/Edge only):**

- [wd.meshmapper.net](https://wd.meshmapper.net)
Expand Down
4 changes: 4 additions & 0 deletions docs/app_troubleshooting.md
Original file line number Diff line number Diff line change
Expand Up @@ -144,6 +144,10 @@ This is **normal behavior**:

## Data Upload Issues

If your phone has internet but the app says **Server Unreachable**, the app could not reach MeshMapper's services. Try again after checking [system status](systemstatus.md), or use offline mode and upload the saved session later. A working browser connection alone does not prove the MeshMapper service is reachable.

If pings are missing from the map, check that the upload queue has cleared, the correct region map and time filters are selected, and your session was inside an active region. The map and leaderboards update on different schedules. See the upload checks below before repeating a drive.

### Queue keeps growing but nothing uploads

**Causes:**
Expand Down
2 changes: 1 addition & 1 deletion docs/botcommands.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ For example, both of these work:
| `!bug {description}` | Submits a bug report to GitHub. Can also reply to a message to use its content as the description. The bot first asks you to confirm (react ✅) after checking the [Troubleshooting](troubleshooting.md) page. The bot uses AI to generate a concise title. Rate limited to 5 per user per hour. |
| `!issue {description}` | Alias for `!bug`. |
| `!feature {description}` | Submits a feature request to GitHub. Works like `!bug` but creates a feature request instead (no confirmation step). |
| `!resetpassword` | Resets your own admin password if your Discord name matches an account in the system. New credentials are sent via DM. |
| `!resetpassword` | Points you to **Forgot password** on the MeshMapper portal. If you use Discord sign-in, no password is needed. The bot does not reset passwords or send credentials. |
| `!myissues` | Lists your bug reports and feature requests that were submitted through the bot and their current status. |

!!! note "Additional Commands"
Expand Down
2 changes: 2 additions & 0 deletions docs/embedding.md
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,8 @@ https://yow.meshmapper.net/embed.php?lat=45.4034&lon=-75.7258&geofence=0

## Repeater ID Grid

Use this grid to check whether a repeater ID prefix is available, already deployed, in conflict, or reserved. Open a cell to inspect its current status before choosing a prefix for a new repeater.

You can also embed the Repeater ID Usage grid — a 16×16 visual showing which first-byte repeater IDs are available, deployed, in conflict, or reserved in a region.

### Embed URL
Expand Down
Loading
Loading