A comprehensive system upgrade has been deployed to **The Glade**. Below is an overview of all newly implemented capabilities and infrastructure improvements.
Interactive Ticket System (Phase 3)
- **1-Click Button Panel**: Permanent embed in `#tickets` allows members to open tickets with a single click.
- **Role Isolation**: Channels automatically isolate access to the opener and `@Principality Leader` / `@The Sorcerer`.
- **Transcript Archival**: Closing a ticket compiles a full message transcript file and archives it to `#closed-tickets` before channel deletion.
Automod & Incident Tracking
- **Private DM Warnings**: Automatically delivers a formal warning via Direct Message to anyone violating chat rules.
- **Persistent Infraction Counter**: Records cumulative warning counts per user in persistent storage.
- **Staff Audit Logging**: Detailed incident reports with user ID, channel, and message preview sent to `#nature-guardian-logs`.
Permanent Activity Roles
- **Permanent Role Assignment**: Added `keepRole` support so game roles (*Escape from Tarkov*, *Soulframe*, *Space Marine 2*) are kept forever once unlocked instead of being stripped when stopping play.
Mobile-Optimized Dashboard & Remote Access
- **Galaxy Fold UI Support**: Adaptive responsive layout tuned for both narrow cover screens and unfolded tablet displays.
- **Tailscale Mesh**: Secure, encrypted remote access from any device via `http://100.98.38.95:3000`.
- **Multi-Emoji Reaction Roles**: Dynamic form rows to configure multiple emoji-to-role mappings at once.
Infrastructure & Downtime Telemetry
- **Automated Downtime Tracking**: Shuts down gracefully, measures exact offline duration down to the millisecond, and posts recovery notices in `#ng-updates`.
- **Admin Command**: In-chat `!restart` command for zero-touch maintenance.
Maintenance, performance optimization, and codebase deduplication update deployed to **The Glade**.
โก Codebase Optimizations & Deduplication
- Refactored 19 redundant route handlers in `dashboard.js` into an elegant parametric router (`renderDashboard`).
- Fixed presence update logic guard in `index.js` for robust activity role tracking.
- Cleaned up unicode and character encoding formatting across all embeds.
๐๏ธ Dashboard Ticket Management
- Added **Deploy Ticket Embed Panel** one-click action directly onto the web dashboard Ticket Settings page for instant panel redeployment.
๐งน Workspace Hygiene
- Archived orphaned Python scripts, Gradio artifacts, and offline installers (reclaiming ~1.5 GB of disk space) into `archive/`.
Conversational short-term memory system deployed to **The Glade**.
๐ง Conversational Context & Memory
- Equipped the Guardian with an in-memory sliding buffer per channel (tracks the last 8 conversational exchanges).
- Context persists across multi-turn exchanges with automatic 15-minute idle expiration.
- The bot now naturally understands follow-ups ("yes please", "do that", "change its color", "what did we just talk about?").
โก Zero Performance Impact
- High-speed in-RAM execution that uses zero disk I/O and operates completely within Google Gemini free tier limits.
Interactive ticket system overhaul deployed to **The Glade**.
๐ท๏ธ Issue Categorization Menu
When a ticket is created, members are greeted with an interactive dropdown to categorize their inquiry:
- ๐ **Server Issue / General Feedback**
- ๐ค **Issue with Another Member**
- ๐ฌ **Issue with a Specific Channel**
- ๐ค **Issue with the Bot (Nature Guardian)**
Selecting an option automatically labels the channel topic and posts a confirmation embed.
๐ธ Image & Evidence Submission
Users are prompted to attach screenshots, photos, and logs for staff review. All media attachments and their direct URLs are logged and archived directly into the `.txt` transcript upon closing.
๐ฆ The Wards Category Integration
Tickets created under `#tickets` automatically nest within **The Wards** category.
Rich welcome embed system deployed to **The Glade**.
๐ฟ Forest Lore Welcome Embed
New arrivals are now greeted with a custom-formatted green forest embed in <#1507882118506741952>:
- Features member avatar thumbnail.
- Directly clickable links to <#1507669795775053834>, <#1512789744822653110>, and <#1507669742427836448>.
- Automatic user mention to ensure they receive a friendly greeting notification.
โ๏ธ Dashboard Announcements Toggle
Added a toggle to the **Announcements** dashboard settings to easily switch between the Rich Embed card or custom plain text.
Interactive Town Board & Self-Assignable Roles system deployed to **The Glade**.
๐ Interactive Town Board Role Tome
Deployed a green forest embed in <#1512789744822653110> with interactive 1-click buttons allowing users to self-assign and toggle roles on/off their profile:
- **General & Alerts**: ๐ฎ Gaming, ๐ก Live Notifications
- **Platforms**: ๐ป PC, ๐ข Xbox, ๐ต PlayStation, ๐ด Switch
- **Global Regions**: ๐ North America, ๐ Europe, ๐ Oceania, ๐ฏ Asia, ๐ด South America
โก Instant & Private Confirmations
Each button click dynamically checks current user roles, performs immediate addition or removal, and returns an ephemeral confirmation message with zero chat spam.
Automated private 18+ age verification system deployed to **The Glade**.
๐ Automated 18+ Age Verification
Added `18+ Age Verification` as a direct option in the support ticket dropdown menu.
๐ Full Channel Privacy & Staff Isolation
When selected, all moderator and leadership permissions are dynamically stripped from the ticket channel. Only the user and Nature Guardian can see the channel.
๐ค AI Multimodal Verification & Immediate Purge
Nature Guardian uses vision models to inspect government IDs/Passports for 18+ age verification. The user's uploaded image is **immediately permanently deleted** from Discord upon receipt.
๐ Clean Pass/Fail Archival
Upon passing, the user is instantly granted the **18+** role. Transcripts archived to `#closed-tickets` record strictly a **PASS/FAIL** audit notice with zero saved images or personal data.
Ticket moderator notification flow update deployed to **The Glade**.
๐คซ Deferred Moderator Pings
Opening a ticket now pings **only the ticket creator** initially. Moderator roles are **not** pinged upon channel creation.
๐ฏ Category-Conditional Staff Alerts
- When a user selects **Server Issue**, **Member Issue**, **Channel Issue**, or **Bot Issue**, moderators are automatically alerted with a role ping.
- When a user selects **18+ Age Verification**, **no moderator ping is ever sent**, maintaining complete silence and confidentiality for private age verification.