Skip to content

feat(webviewer): Create admin privilege level to protect config and logs - #289

Open
hickey wants to merge 2 commits into
agessaman:devfrom
hickey:feat/webviewer-login
Open

hickey wants to merge 2 commits into
agessaman:devfrom
hickey:feat/webviewer-login

Conversation

@hickey

@hickey hickey commented Sep 17, 2026

Copy link
Copy Markdown
Contributor

What this changes

This change adds an admin flag to the session data to enable general viewing of bot information by any unauthenticated user and restrict the configuration and logs to users that have authenticated using the web_viewer_password setup in the configuration file. In addition, several actions (delete, favorite and geocode location) on the contacts page have been disabled when the user has not authenticated. Users now authenticate using a login button at the top of the page.

Why

There is a good amount of information that the average user can find of interest that MeshCore Bot collects. In addition, this information helps educate the users about the MeshCore network and some of its inner workings.

Testing

Tests have been included. Live at https://dab-bot.wt0f.com/

Checklist

  • Branched from dev and targeting dev
  • make test passes
  • make lint passes (ruff + mypy)
  • Frontend lint passes if templates changed (npm run lint:frontend)
  • Tests added or updated for behavior changes
  • CHANGELOG.md updated under ## [Unreleased] if user-visible
  • Config changes are reflected in config.ini.example (and the minimal/quickstart
    templates where relevant) — CI validates these with validate_config.py --strict
  • New docs pages are added to nav: in mkdocs.yml
  • Any new command justifies its airtime and defaults conservatively

Signed-off-by: Gerard Hickey <hickey@kinetic-compute.com>
@hickey
hickey force-pushed the feat/webviewer-login branch from 351bd5c to ae10381 Compare September 17, 2026 15:52
@hickey

hickey commented Sep 17, 2026

Copy link
Copy Markdown
Contributor Author

While I am thinking about it, here are some screen shots of the page header to understand how this change is implemented.

image image

Here is the contacts when viewed as a non-admin:

image

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant