Skip to content

feat(panel): introduce new web panel for managing rustmail settings and tickets#229

Merged
Akinator31 merged 119 commits intomainfrom
panel
Nov 16, 2025
Merged

feat(panel): introduce new web panel for managing rustmail settings and tickets#229
Akinator31 merged 119 commits intomainfrom
panel

Conversation

@Akinator31
Copy link
Copy Markdown
Member

Add a web administration panel for Rustmail to manage the bot and tickets directly from a web interface. Everything runs in a single binary - both the Discord bot and the web panel are compiled together.

Features

Web Panel (rustmail_panel)

  • Web interface built with Rust/WASM (Yew)
  • Discord OAuth authentication
  • Real-time bot configuration management
  • Ticket visualization and management (pagination, search, sorting)
  • Multi-language support (FR/EN)

REST API (rustmail/src/api)

  • Authentication routes (login, callback, logout)
  • Bot management endpoints (start, stop, restart, status)
  • Configuration API with dynamic updates
  • Ticket retrieval and user avatar APIs
  • Session-based authentication middleware

Architecture

  • New rustmail_types crate to share types between bot and panel
  • Code restructuring: src/rustmail/src/
  • Permission system for panel users
  • Real-time thread status tracking

Migrations

  • Added sessions_panel, permissions, and thread_status tables
  • Updated scheduled_closure to support new workflows

…ts that the API makes to itself (see /api/bot/restart endpoint).
Akinator31 and others added 26 commits October 28, 2025 11:04
refactor(commands): add 'command' argument to help command
refactor(imports): add prelude for easiest imports
feat(tickets): implement full featured channels name
@Akinator31 Akinator31 self-assigned this Nov 16, 2025
@Akinator31 Akinator31 linked an issue Nov 16, 2025 that may be closed by this pull request
@Akinator31 Akinator31 merged commit 9fe167a into main Nov 16, 2025
6 checks passed
@Akinator31 Akinator31 deleted the panel branch November 16, 2025 16:36
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.

Rustmail panel

1 participant