v57 — Current
Web3 / Ethereum Authentication
19 Jun 2026
feat
- Web3AuthController: config, stats, sessions (paged+filtered), networks, nonce request, signature verify
- AdminWeb3AuthPage: 3-tab UI (Wallet Sessions, Networks, Configuration)
- KPI grid: Wallet Users, Active Sessions, Auths Today, Failed Auths, Success Rate, New Wallets
- IWeb3AuthService + Web3AuthService: 5 HTTP methods
- Web3AuthModels: Config, Stats, WalletSession, WalletSessionPage, NetworkConfig DTOs
- Sidebar NavLink added (🔗 Web3 Auth)
- mockup/admin-web3-auth.html: new mockup page
- Tests: AdminWeb3AuthPageTests (22), Web3AuthServiceTests (20), Web3AuthControllerTests (30)
💾 working copy — feat(web3-auth): Log in with Ethereum/WalletConnect (GitLab #628)
v56
Funnel Drop-off Tracking
19 Jun 2026
feat
- FunnelTrackingController: config, stats, funnels (with step details), trends, dropoff-reasons
- AdminFunnelTrackingPage: 4-tab UI (Funnels, Trends, Drop-off Reasons, Configuration)
- KPI grid: Total Funnels, Total Sessions, Conversion Rate, Avg Drop-off, Completions/Abandons Today
- Per-funnel step breakdown table with colour-coded status badges
- IFunnelTrackingService + FunnelTrackingService: 6 HTTP methods
- FunnelTrackingModels: Config, FunnelStep, FunnelOverview, FunnelStats, FunnelTrend, DropoffReason DTOs
- Sidebar NavLink added (🔻 Funnel Tracking)
- mockup/admin-funnel-tracking.html: new mockup page
- Tests: AdminFunnelTrackingPageTests (22), FunnelTrackingServiceTests (20), FunnelTrackingControllerTests (30)
💾 working copy — feat(funnel-tracking): Funnel Drop-off Tracking (GitLab #627)
v55
User Cohort Analysis
19 Jun 2026
feat
- UserCohortController: config, stats, cohorts (paged+grouping), trends, sentiment-breakdown
- AdminUserCohortPage: 4-tab UI (Cohorts, Sentiment Trends, Sentiment Breakdown, Configuration)
- KPI grid: Cohorts, Users Tracked, Retention Rate, Avg Sentiment, New Users, Churn Rate
- IUserCohortService + UserCohortService: 6 HTTP methods
- UserCohortModels: Config, CohortSummary, CohortPage, CohortTrend, CohortStats, SentimentBreakdown DTOs
- Sidebar NavLink added (👥 Cohort Analysis)
- mockup/admin-user-cohort.html: new mockup page
- Tests: AdminUserCohortPageTests (22), UserCohortServiceTests (20), UserCohortControllerTests (30)
💾 working copy — feat(user-cohort): User Cohort Analysis (GitLab #626)
v54
Custom Reporting Engine Builder
19 Jun 2026
feat
- CustomReportingController: config, reports (paged+search), create report, run report, data-sources, templates
- AdminCustomReportingPage: 4-tab UI (My Reports, Templates, Data Sources, Configuration)
- Report run result panel with row count, duration, and status
- Create Report modal with data source and chart type selection
- ICustomReportingService + CustomReportingService: 7 HTTP methods
- CustomReportingModels: Config, ReportDefinition, ReportPage, RunResult, DataSource, Template DTOs
- Sidebar NavLink added (📊 Custom Reporting)
- mockup/admin-custom-reporting.html: new mockup page
- Tests: AdminCustomReportingPageTests (22), CustomReportingServiceTests (20), CustomReportingControllerTests (30)
💾 working copy — feat(custom-reporting): Custom Reporting Engine Builder (GitLab #625)
v53
Predictive Churn Analytics
18 Jun 2026
feat
- ChurnAnalyticsController: config, stats, at-risk, trends, signals endpoints
- AdminChurnAnalyticsPage: 4-tab UI (At-Risk Accounts, Trends, Signals, Configuration)
- KPI grid: Total At-Risk, High/Medium/Low Risk counts, Churn Probability, Monitored
- IChurnAnalyticsService + ChurnAnalyticsService: 6 HTTP methods
- ChurnAnalyticsModels: Config, Stats, RiskAccount, Page, Trend, Signal DTOs
- Sidebar NavLink added (📉 Churn Analytics)
- mockup/admin-churn-analytics.html: new mockup page
- Tests: AdminChurnAnalyticsPageTests (22), ChurnAnalyticsServiceTests (20), ChurnAnalyticsControllerTests (30)
💾 working copy — feat(churn): Predictive Churn Analytics (GitLab #624)
v52
Year-In-Review Customer Newsletter
18 Jun 2026
feat
- NewsletterController: config, stats, campaigns (paged+filtered), subscribers, create-campaign, send-test
- AdminNewsletterPage: 3-tab UI (Campaigns, Subscribers, Configuration) + create modal + send-test modal
- INewsletterService + NewsletterService (7 HTTP methods)
- mockup/admin-newsletter.html added (52nd page)
- Tests: AdminNewsletterPageTests + NewsletterServiceTests + NewsletterControllerTests
- GitLab #622 closed
💾 working copy — NewsletterController.cs, NewsletterService.cs, AdminNewsletterPage.razor
v51
Load Testing — 10k Concurrent VUs
17 Jun 2026
feat
- LoadTestingController: config, stats, runs (paged+filtered), scenarios, trigger-run
- AdminLoadTestingPage: 3-tab UI (Test Runs, Scenarios, Configuration) + trigger modal
- ILoadTestingService + LoadTestingService (6 HTTP methods)
- mockup/admin-load-testing.html added (51st page)
- Tests: AdminLoadTestingPageTests + LoadTestingServiceTests + LoadTestingControllerTests
- GitLab #621 closed
💾 working copy — LoadTestingController.cs, LoadTestingService.cs, AdminLoadTestingPage.razor
v50
Security Assessment & Pen Test
17 Jun 2026
feat
- SecurityAssessmentController: config, stats, findings, pen-tests, scan-history, finding-status
- AdminSecurityAssessmentPage: 4-tab UI (Findings, Pen Tests, Scan History, Configuration)
- ISecurityAssessmentService + SecurityAssessmentService (8 HTTP methods)
- mockup/admin-security-assessment.html added (50th page)
- Tests: AdminSecurityAssessmentPageTests + SecurityAssessmentServiceTests + SecurityAssessmentControllerTests
- GitLab #620 closed
💾 working copy — SecurityAssessmentController.cs, SecurityAssessmentService.cs, AdminSecurityAssessmentPage.razor
v49
Data Residency Controls
17 Jun 2026
feat
- Admin page: tenant region table, region health cards, migration job list, config form
- API controller: GET/PUT config, stats, tenants (paged + filtered), regions, migrations, trigger migration
- Blazor service: IDataResidencyService + DataResidencyService HTTP client
- Sidebar NavLink + Program.cs DI registration
- Full unit test coverage: controller, service, page (3 test files)
💾 working copy — GitLab #619
v48
Export Compliance Reports
16 Jun 2026
feat
- Certified PDF export of SOC2 audit trails, GDPR data requests, and access logs
- Export job history with type/status filtering and download links
- 7 pre-built export templates (SOC2, GDPR, access log, bundles)
- Configuration: digital signature, watermark, encrypt, retention, notify email
- Admin page: Export Jobs, Templates, Configuration tabs
💾 working copy — GitLab #618
v47
Advanced SOC2 Audit Trails
16 Jun 2026
feat
- SOC2 Type II compliance audit trail with granular data access logging
- Anomaly detection alerts with acknowledge workflow
- Compliance report generation (quarterly/custom period)
- Configurable retention, thresholds, immutable logs, and notify email
- Admin page: Audit Events, Anomaly Alerts, Compliance Reports, Configuration tabs
💾 working copy — GitLab #617
v46
GDPR/CCPA Data Deletion Workflows
15 Jun 2026
feat
- GdprController - GET/PUT config, GET stats/deletion-requests/audit-log, POST process-request
- AdminGdprPage - 3-tab UI: Deletion Requests, Audit Log, Configuration
- IGdprService + GdprService - 6 HTTP methods
- GdprModels.cs - 7 DTOs (config, stats, deletion-request, page, audit-log, audit-page, process-request)
- Sidebar NavLink added (🛡 GDPR / CCPA)
- mockup/admin-gdpr.html - new page (v46, 46th page)
💾 working copy - GdprController, AdminGdprPage, IGdprService, models, tests
v45
Zapier Custom Events Plugin
15 Jun 2026
feat
- ZapierController - GET/PUT config, GET stats/triggers/actions/zaps, POST test-event
- AdminZapierPage - 3-tab UI: Triggers & Actions, Active Zaps, Configuration
- IZapierService + ZapierService - 7 HTTP methods
- ZapierModels.cs - 7 DTOs (config, stats, trigger, action, zap, zap-page, test-event-request)
- Sidebar NavLink added (⚡ Zapier)
- mockup/admin-zapier.html - new page (v45, 45th page)
💾 working copy - ZapierController, AdminZapierPage, IZapierService, models, tests
v44
GitHub/GitLab Issue Generator
15 Jun 2026
feat
- IssueGeneratorController - GET/PUT config, GET stats/repos/issues, POST create-issue
- AdminIssueGeneratorPage - 3-tab UI: Issues, Repositories, Configuration
- IIssueGeneratorService + IssueGeneratorService - 6 HTTP methods
- IssueGeneratorModels.cs - 6 DTOs (config, stats, repo, issue, issue-page, create-request)
- Sidebar NavLink added (🐞 Issue Generator)
- mockup/admin-issue-generator.html - new page (v44, 44th page)
💾 working copy - IssueGeneratorController, AdminIssueGeneratorPage, IIssueGeneratorService, models, tests
v43
Zendesk Customer Support Integration
15 Jun 2026
feat
- ZendeskController - GET/PUT config, GET stats/tickets/webhook-events, POST convert/sync/webhook
- AdminZendeskPage - 3-tab UI: Tickets, Webhook Events, Configuration
- IZendeskService + ZendeskService - 7 HTTP methods for Zendesk integration
- ZendeskModels.cs - 7 DTOs (config, stats, ticket, ticket-page, webhook-event, webhook-page, convert-request)
- Sidebar NavLink added (🎉 Zendesk)
- mockup/admin-zendesk.html - new page (v43, 43rd page)
💾 working copy - ZendeskController, AdminZendeskPage, IZendeskService, models, tests
v42
Jira Two-Way Sync Integration
14 Jun 2026
feat
- JiraController - GET/PUT config, GET stats/projects/mappings/sync-results, POST sync/webhook
- AdminJiraPage - 4-tab UI: Projects, Mappings, Sync History, Configuration
- IJiraService + JiraService - 7 HTTP methods for bi-directional sync
- JiraModels.cs - 6 DTOs (config, stats, project, mapping, sync-result, trigger)
- Sidebar NavLink added (🔗 Jira Sync)
- mockup/admin-jira.html - new page (v42, 42nd page)
💾 working copy - JiraController, AdminJiraPage, IJiraService, models, tests
v41
SDK Management — packages, releases, publish & config
14 Jun 2026
feat
- New
admin-sdk.html page (v41, 41st mockup page)
- 4-tab UI: Packages (table with language/version/downloads), Releases (history with type/status), Publish (new release form), Configuration
- Stats strip: packages, releases, total downloads, weekly, latest version
- Supports JS, React, .NET and CLI packages across npm and NuGet
- Publish form with version, release type, pre-release toggle, changelog
💾 working copy — admin-sdk.html, index.html, history.html, nav.js
v40
Developer Documentation Portal — browse, search & config
14 Jun 2026
feat
- New
admin-doc-portal.html page (v40, 40th mockup page)
- 3-tab UI: Browse (sections grid + articles table), Search (full-text with relevance), Configuration
- Stats strip: sections, articles, total views, searches, avg rating
- Section cards with article counts and view counts
- Full-text search with relevance scoring and excerpt preview
- Portal config: public access, search, feedback, versioning, theme, custom domain
💾 working copy — admin-doc-portal.html, index.html, history.html, nav.js
v39
GraphQL API playground, schema browser & config
12 Jun 2026
feat
- New
admin-graphql.html page (v39, 39th mockup page)
- 4-tab UI: Query Explorer, Schema browser, History log, Configuration
- GraphQL query playground with result viewer and sample queries
- Rate-limit, depth, complexity, and auth toggle configuration
- Stats strip: total queries, this hour, this minute, avg ms, error rate
- Query history table with status/complexity filtering
💾 working copy — admin-graphql.html, index.html, history.html, nav.js
v38
Developer API Keys
12 Jun 2026
feat
- New admin/api-keys page — generate and manage revocable API keys for public endpoint access
- 3-tab UI: API Keys (table with Rotate/Revoke), Usage Stats (7-day table), Configuration
- Create panel with name, owner email, scope selector, expiry, description
- Stats strip: total/active/revoked keys + total/today requests
ApiKeyController.cs — GET config/stats/keys/usage, POST create/rotate, DELETE revoke
IApiKeyService + ApiKeyService — 8 HTTP client methods
- Sidebar NavLink added (🔑 API Keys)
💾 working copy — ApiKeyController.cs, AdminApiKeysPage.razor, ApiKeyService.cs, ApiKeyModels.cs, Sidebar.razor, Program.cs, mockup/admin-api-keys.html
v37
AI Co-Pilot for Admins
11 Jun 2026
feat
- New admin/co-pilot page — natural language chat interface for querying the feedback database
- 3-tab UI: Chat (with suggested prompts), Session History, Configuration
- Built-in NL engine (no external dependency) + optional OpenAI GPT provider
- Stats strip: sessions, messages, answered, avg response, msgs/session
AiCoPilotController.cs — GET config/stats/sessions/history/suggestions, POST chat/clear/test
ICoPilotService + CoPilotService — 9 HTTP client methods
- Sidebar NavLink added (🤖✨ AI Co-Pilot)
💾 2d97507 — AiCoPilotController.cs, AdminCoPilotPage.razor, CoPilotService.cs, CoPilotModels.cs, Sidebar.razor, Program.cs, mockup/admin-co-pilot.html
v36
Automated Support Responses
11 Jun 2026
feat
- AutoSupportController - GET config/stats/queries/kb, PUT config, POST respond/batch/test
- AdminAutoSupportPage - 4-tab UI: Query History, Knowledge Base, Manual Respond, Configuration
- IAutoSupportService + AutoSupportService - 8 HTTP methods
- Sidebar NavLink added (Auto Support)
- mockup/admin-auto-support.html - new page (v36, 36th page)
💾 c25e46e - AutoSupportController, AdminAutoSupportPage, IAutoSupportService, models, tests
v35
AI Sentiment Analysis Tagging
11 Jun 2026
feat
- SentimentController — GET config/stats/tags, PUT config, POST analyze/batch/test
- AdminSentimentPage — 3-tab UI: Sentiment Tags, Manual Analyze, Configuration
- ISentimentService + SentimentService — 7 HTTP methods
- Sidebar NavLink added (📈 Sentiment Analysis)
- mockup/admin-sentiment.html — new page (v35, 35th page)
💾 working copy — SentimentController, AdminSentimentPage, ISentimentService, models, tests
v34
AI Driven Feedback Summarization
10 Jun 2026
feat
- AiSummarizationController — GET config/stats/jobs, PUT config, POST summarize/batch/test
- AdminAiSummarizationPage — 3-tab UI: Job History, Manual Summarize, Configuration
- IAiSummarizationService + AiSummarizationService — 7 HTTP methods
- Sidebar NavLink added (🧠 AI Summarization)
- mockup/admin-ai-summarization.html — new page (v34, 34th page)
💾 3427bcb — AiSummarizationController, AdminAiSummarizationPage, IAiSummarizationService, models, tests
v33
CDN Integration for Static Assets & Uploads
10 Jun 2026
feat
- CdnController — GET config/stats/rules, PUT config/rule, POST purge/test
- AdminCdnPage — 3-tab UI: Overview (hit-rate chart), Cache Rules, Configuration
- ICdnService + CdnService — 7 HTTP methods
- Sidebar NavLink added (🌐 CDN)
- mockup/admin-cdn.html — new page (v33, 33rd page)
💾 working copy — CdnController, AdminCdnPage, ICdnService, models, tests
v32
Multi-Region Global Deployment
10 Jun 2026
feat
- MultiRegionController — GET config/regions/stats, PUT config/region, POST failover/health-check
- AdminMultiRegionPage — 3-tab UI: Regions, Failover, Configuration
- IMultiRegionService + MultiRegionService — 7 HTTP methods
- Sidebar NavLink added (🌐 Multi-Region)
- mockup/admin-multi-region.html — new page (v32, 32nd page)
💾 working copy — MultiRegionController, AdminMultiRegionPage, IMultiRegionService, models, tests
v31
DB Read Replicas & Sharding
10 Jun 2026
feat
- DbReplicaController — GET config/nodes/stats/shards, PUT config, POST shards/promote/rebalance, DELETE shards
- AdminDbReplicaPage — 3-tab UI: Topology (node table + promote), Shards (shard table + rebalance), Configuration
- IDbReplicaService + DbReplicaService — 9 HTTP client methods
- DbReplicaModels.cs — DbReplicaConfigDto, DbReplicaNodeDto, DbShardDto, DbReplicaStatsDto
- Sidebar NavLink added (🗄️ DB Replicas)
- mockup/admin-db-replicas.html — new page (v31, 31st page)
💾 working copy — DbReplicaController, AdminDbReplicaPage, IDbReplicaService, models, tests
v29
Leaderboard Dashboard — top contributors for the month and all-time rankings (Issue #599)
09 Jun 2026
feat
- LeaderboardController.cs — GET monthly/alltime/stats/periods/config, PUT config, POST submit; GetTier/GetTierIcon/GetInitials static helpers
- LeaderboardModels.cs — LeaderboardEntryDto, LeaderboardPeriodDto, LeaderboardStatsDto, LeaderboardConfigDto
- LeaderboardService.cs — ILeaderboardService + HTTP client (6 methods)
- AdminLeaderboardPage.razor + .razor.cs — 3-tab UI: This Month, All-Time, Configuration
- Sidebar.razor — Leaderboard NavLink added (🏆, admin/leaderboard)
- mockup/admin-leaderboard.html — new mockup page (29th page)
- Tests: 15 bUnit + 16 xUnit + 19 xUnit = 50 new tests; full suite 2676 passing
💾 working copy — LeaderboardController, AdminLeaderboardPage, tests
v28
Achievement Badges UI — gamification badge library and award management (Issue #598)
08 Jun 2026
feat
- BadgeController.cs — GET /api/badges/definitions, POST/PUT/DELETE definitions, GET /api/badges/stats, GET /api/badges/recent, GET /api/badges/users/{id}, POST /api/badges/award, DELETE /api/badges/users/{id}/{badgeId}
- BadgeModels.cs + BadgeService.cs (IBadgeService) — full HTTP client
- AdminBadgesPage.razor — 3-tab UI: Badge Library (grid cards with edit/delete), Recent Awards (table with revoke), Award Badge (manual award panel)
- 8 default badge definitions seeded: First Voice, Top Voter, Bug Hunter, Community Star, Power User, Early Adopter, Prolific Contributor, Accepted Ideas
- Sidebar.razor — Achievement Badges NavLink added (🏅)
- mockup/admin-badges.html — new page (28th page)
- Tests: AdminBadgesPageTests, BadgeServiceTests, BadgeControllerTests
💾 working copy — admin-badges.html, Badge*.cs, AdminBadgesPage.razor
v27
User Reputation System — points, tier progression and leaderboard (Issue #597)
08 Jun 2026
feat
- ReputationController.cs — GET/PUT /api/reputation/config, GET /api/reputation/stats, GET /api/reputation/leaderboard, GET/events /api/reputation/users/{id}, POST /api/reputation/award
- ReputationModels.cs + ReputationService.cs (IReputationService) — full HTTP client
- AdminReputationPage.razor — 3-tab UI: Leaderboard (ranked table with tier badges), Configuration (point values + tier thresholds), Award Points (manual award panel)
- Sidebar.razor — User Reputation NavLink added (⭐)
- mockup/admin-reputation.html — new page (27th page)
- Tests: AdminReputationPageTests, ReputationServiceTests, ReputationControllerTests
💾 a343f1a — admin-reputation.html, Reputation*.cs, AdminReputationPage.razor
v26
SMS Notification Channel — Twilio integration for critical admin alerts via SMS (Issue #596)
08 Jun 2026
feat
- SmsNotificationController.cs — GET/PUT /api/sms/config, POST /api/sms/test, GET /api/sms/stats, GET /api/sms/activity, POST /api/sms/send
- SmsNotificationModels.cs + SmsNotificationService.cs (ISmsNotificationService) — full HTTP client
- AdminSmsNotificationPage.razor — 3-tab UI: Overview (activity log), Configuration (Twilio credentials, recipients, alert triggers), Send Test SMS (manual send + templates)
- Sidebar.razor — SMS Notifications NavLink added (📱)
- mockup/admin-sms.html — new page (26th page)
- Tests: AdminSmsNotificationPageTests, SmsNotificationServiceTests, SmsNotificationControllerTests
💾 bdb7cae — admin-sms.html, SmsNotification*.cs, AdminSmsNotificationPage.razor
v25
Discord Bot Integration — publish feedback to Discord, slash commands (Issue #595)
07 Jun 2026
feat
Sprint 12
DiscordBotController — POST /api/discord/interactions (Ed25519 signature verification), GET/PUT /api/discord/config, POST /api/discord/test
- 6 slash commands:
/aide feedback, /aide upvote, /aide comment, /aide status, /aide roadmap, /aide help
AdminDiscordBotPage — 3-tab UI: Overview (stats + Discord preview), Configuration (credentials/channels/toggles), Commands (reference + test)
- Sidebar NavLink:
admin/discord-bot — 🎮 Discord Bot
- Mockup:
admin-discord-bot.html (new page, 25 pages total)
- Full test suite: Web 1929 + Api 390 = all passing
💾 0f6997a — DiscordBotController.cs · DiscordBotModels.cs · DiscordBotService.cs · AdminDiscordBotPage.razor · Sidebar.razor · Program.cs · admin-discord-bot.html
v24
Interactive Slack Bot — upvote/comment on feedback from Slack, slash commands (Issue #594)
05 Jun 2026
feat
Sprint 12
SlackBotController — POST /api/slack/events (URL verification + event handling), POST /api/slack/interactive (button upvote/comment actions), POST /api/slack/command (/aide list|search|upvote|comment|submit|status)
- HMAC-SHA256 signature verification on all incoming Slack payloads
AdminSlackBotPage — 5-tab UI: Overview (hero + stats + quick actions + recent activity), Commands (6 slash commands), Channels, Activity Log, Setup Guide
- Sidebar NavLink:
admin/slack-bot — 💬 Slack Bot
- Mockup:
admin-slack-bot.html (new page, 24 pages total)
- Full test suite: all passing
💾 0f6997a — SlackBotController.cs · SlackBotModels.cs · SlackBotService.cs · AdminSlackBotPage.razor · Sidebar.razor · Program.cs · admin-slack-bot.html · index.html · history.html · nav.js
v23
PowerBI / Tableau Integration Connectors — OData v4, WDC, API key management (Issue #592)
05 Jun 2026
feat
Sprint 12
BiConnectorController — OData v4 feeds (Feedback, Users, Apps, Votes, Comments, Metadata), Tableau WDC, Metabase JSON, API key CRUD
BiConnectorService — Blazor WASM HTTP client for all connector + API key endpoints
AdminBiConnectorsPage — 4-tab UI: Connectors (PowerBI/Tableau/Looker/Metabase cards with status, test, configure), OData Endpoints, API Keys, Query Logs
- Sidebar NavLink:
admin/bi-connectors — 📊 BI Connectors
- Mockup:
admin-bi-connectors.html (new page, 23 pages total)
- Full test suite: all passing
💾 0f6997a — BiConnectorController.cs · BiConnectorModels.cs · BiConnectorService.cs · AdminBiConnectorsPage.razor · Sidebar.razor · Program.cs · admin-bi-connectors.html · index.html · history.html · nav.js
v22
Advanced Custom Dashboards — draggable widget builder, templates, share & schedule (Issue #593)
05 Jun 2026
feat
Sprint 12
CustomDashboardController — GET/POST/PUT/DELETE /api/custom-dashboards; list, create, update, delete, share-link generation
CustomDashboardService — Blazor WASM HTTP client wrapping all 4 CRUD endpoints
AdminCustomDashboardsPage — dashboard cards grid, in-page widget builder canvas (drag-and-drop palette), share modal, schedule modal, create-from-template modal
- Widget types: KPI Counter, Bar Chart, Donut Chart, Line Chart, Data Table, Heatmap, Tag Cloud
- Dashboard cards show widget count, visibility (private/shared), last-updated; clone + share + schedule actions
- Sidebar NavLink added:
admin/custom-dashboards — 📠Custom Dashboards
- Mockup:
admin-custom-dashboards.html (new page, 22 pages total); index.html v22; nav.js v22
- Full test suite: all passing
💾 0f6997a — AdminCustomDashboardsPage.razor · CustomDashboardService.cs · CustomDashboardModels.cs · CustomDashboardController.cs · Sidebar.razor · Program.cs · admin-custom-dashboards.html · index.html · history.html · nav.js
v21
Automated Data Lake Export — AWS S3 daily scheduled export (Issue #591)
04 Jun 2026
feat
Sprint 12
IDataExportService / DataExportService — exports feedback (CSV + NDJSON) and users summary (CSV) from PostgreSQL; respects date-range filters
IDataLakeStorageService / S3DataLakeStorageService — AWS SigV4-signed PUT requests to S3; reads credentials from env vars; graceful no-op when disabled or unconfigured
DataLakeExportBackgroundService — daily scheduled export at configurable UTC time; uploads feedback + users files; errors swallowed (non-fatal)
DataLakeSettings — strongly-typed options: Enabled, Provider, BucketName, KeyPrefix, Region, ExportTime, ExportWindowDays, Format
appsettings.json — "DataLake": { "Enabled": false, ... } config block added
DependencyInjection.cs — all services + DataLakeS3 named HttpClient registered
- 394 tests in Infrastructure.Tests (+8 new); all 3391 tests green
💾 0f6997a — IDataExportService.cs · DataExportService.cs · IDataLakeStorageService.cs · S3DataLakeStorageService.cs · DataLakeExportBackgroundService.cs · DataLakeSettings.cs · DependencyInjection.cs · appsettings.json · index.html · history.html · nav.js
v20
Push Notifications Setup — APNs & FCM Integration (Issue #590)
04 Jun 2026
feat
Sprint 12
IPushNotificationService / PushNotificationService — token lifecycle, events, platform callbacks
IDeviceTokenRegistrationService / DeviceTokenRegistrationService — API token registration/unregistration
- 72 Mobile tests; all 3383 tests green
💾 143d490 — IPushNotificationService.cs · PushNotificationService.cs · DeviceTokenRegistrationService.cs · MauiProgram.cs
v19
Mobile Feedback Submission & Camera Integration (Issue #589)
04 Jun 2026
feat
Sprint 12
ICameraService / CameraService — MAUI MediaPicker wrapper: camera capture + gallery pick; returns CapturedPhoto record
IMobileFeedbackService / MobileFeedbackService — submit feedback (JSON or multipart photo), get my feedback list, get applications list; attaches JWT header
SubmitFeedbackPage.razor + code-behind — mobile form: app selector, type, title (char counter), description, Camera / Gallery photo buttons, success state, form reset
MyFeedbackPage.razor + code-behind — list of user's feedback; empty state with FAB; relative date formatting; type/vote/status labels
- 47 xUnit tests in
AiDELoop.Mobile.Tests; all 3358 tests green
💾 e8ec048 — ICameraService.cs · CameraService.cs · IMobileFeedbackService.cs · MobileFeedbackService.cs · SubmitFeedbackPage.razor · MyFeedbackPage.razor
v18
Scaffold Blazor Native App — MAUI Blazor Hybrid mobile project (Issue #587)
03 Jun 2026
feat
Sprint 12
- New
src/AiDELoop.Mobile/ — .NET MAUI Blazor Hybrid project (manually scaffolded, MAUI workload not required to build tests)
- App shell:
MauiProgram.cs, App.xaml, AppShell.xaml, MainPage.xaml (hosts BlazorWebView)
- Blazor pages:
Home.razor, LoginPage.razor, DashboardPage.razor with mobile-first CSS
- Services:
IMobileAuthService, MobileAuthService (magic-link + JWT), ISecureStorageService, SecureStorageService, MobileAuthStateProvider
- Resource files:
Colors.xaml, Styles.xaml, SVG app icon & splash screen
- New
tests/AiDELoop.Mobile.Tests/ — 18 xUnit tests (net10.0, no MAUI workload needed)
- Both projects added to
AiDELoop.slnx; all 3329 tests green
💾 9cadb13 — AiDELoop.Mobile/ · AiDELoop.Mobile.Tests/ · AiDELoop.slnx · index.html · history.html · nav.js
v17
Multi-language Localization (i18n) — EN / FR / DE / ES (Issue #584)
03 Jun 2026
feat
Sprint 12
- New
ILocalizationService + LocalizationService — JSON-based i18n singleton
- Resource files:
wwwroot/i18n/en.json, fr.json, de.json, es.json — 70+ UI strings each
- New
LanguageSwitcher.razor component — flag + code button, dropdown listbox, ✓ active indicator
- Language switcher wired into Topbar between search and notifications
- 15 unit tests for
LocalizationService; 15 bUnit tests for LanguageSwitcher
- All 1791 Web tests green after updating Topbar/MainLayout test DI registration
- Mockup index updated: iteration v17 · 03 Jun 2026
💾 0f6997a — LocalizationService.cs · LanguageSwitcher.razor · Topbar.razor · i18n/*.json · index.html · history.html · nav.js
v16
Feedback Clusters page — AI/TF-IDF clustering admin view (Issue #586)
03 Jun 2026
feat
Sprint 12
- New
admin-clusters.html mockup page — 🧠Feedback Clusters admin view
- KPI strip: Clusters Found / Feedback Grouped / Avg. Cluster Size / Largest Cluster
- Expandable cluster cards with keyword badges, feedback table, and "View" links
- Algorithm info banner explaining TF-IDF deterministic approach
- Run Clustering button + last-run timestamp + TF-IDF algo badge in page header
- Clusters nav link added to Admin section in
nav.js
- Index updated: 21 pages, Sprints 1–12, iteration v16
💾 7c7fdea — admin-clusters.html · index.html · history.html · nav.js
v15
Viewport Switcher fully verified — Desktop / Tablet / Mobile all working
27 May 2026
feat
UX
- All three viewport modes confirmed working end-to-end in browser
- Desktop: full sidebar + topbar with labelled Desktop / Tablet / Mobile switcher buttons
- Tablet: 768 px centred frame with rounded corners, sidebar visible, icon-only VP switcher
- Mobile: 390 px phone shell, hamburger drawer, hidden search bar, 2-column KPI grid
- Toast notification shown on every viewport switch (persisted via localStorage)
- footer version updated to v15 in
nav.js renderPageFooter()
💾 0f6997a — nav.js · app.js · style.css · history.html · index.html
v14
Mobile sidebar as slide-in drawer with hamburger toggle
27 May 2026
fix
UX
- Mobile viewport: sidebar no longer hidden — now a slide-in overlay drawer (240 px, z-index 200)
- Hamburger button (☰) added to topbar — only visible in mobile mode (
.sidebar-hamburger)
- Semi-transparent backdrop (
.sidebar-backdrop) overlays content when drawer is open
- Drawer closes on backdrop click, nav-link click, or when switching to Desktop/Tablet
- All three viewport modes now give full access to the left-side navigation
💾 0f6997a — nav.js · app.js · style.css
v13
Viewport Switcher — Desktop / Tablet / Mobile preview
27 May 2026
feat
UX
- 3-button viewport switcher (🖥 Desktop / ⬜ Tablet / 📱 Mobile) added to shared topbar on all 19 pages
- Tablet view: 768 px frame, compressed sidebar, icon-only buttons
- Mobile view: 390 px phone chrome shell, sidebar + search hidden, 2-col KPI grid
- Preference persists across page navigations via
localStorage
💾 0f6997a — nav.js · app.js · style.css · index.html
v12
Self-host Inter font — works offline / air-gapped
27 May 2026
feat
- Replaced Google Fonts CDN link with locally-served
inter.css across all 20 mockup pages
- Fonts committed: inter-400/500/600/700/800.woff2 in
assets/fonts/
- Helper scripts:
download-inter-fonts.ps1, patch-mockup-fonts.ps1
💾 542f306 — feat(mockup): self-host Inter font
v11
Admin Webhooks page + Blazor page alignment verification
27 May 2026
feat
Sprint 11
- New
admin-webhooks.html page — webhook list, HMAC secret, delivery log, retry/disable actions
- Verified all Blazor Razor pages have matching mockup counterparts
💾 f3712e7 — feat(mockup): add admin-webhooks mockup (#559)
v10
Design iteration badge + date meta-row added to index
20 May 2026
feat
- Added iteration number badge and date chip to
index.html header
- Established the “Iteration vN” convention used going forward
💾 7e2b8b4 — feat(mockup): add design iteration v10 + date badge
v9
WYSIWYG Rich-text Editor + Screenshot Upload
19 May 2026
feat
Sprint 9
- Feedback detail page: threaded comments now use a
contenteditable rich-text editor with bold / italic / list formatting toolbar
- Screenshot upload drag-and-drop zone with file-size / thumbnail preview
- WYSIWYG editor documented in
docs/wysiwyg-comment-editor.md
💾 016d122 — feat(comments): WYSIWYG rich-text editor + screenshot upload
v8
Sprint 9 remaining files & patch-script cleanup
19 May 2026
chore
Sprint 9
- Committed remaining Sprint 9 mockup page assets (notifications, reports, roadmap refinements)
- Deleted one-time patch scripts used during Sprint 9 migration
💾 d352023 — chore(mockup): commit remaining Sprint 9 files
v7
Sprint 9 full UI update + Admin Widget page
19 May 2026
feat
Sprint 9
- New
admin-widget.html — embed snippet generator, allowed-domains list, preview panel
- Unified sidebar redesign: section labels, icon alignment, admin section
- Top-bar notification badge, avatar, and global search bar added
- Admin pages: suites, apps, users, analytics, audit, email templates, settings all refreshed
💾 6e2dfc6 — feat(mockup): Sprint 9 full UI update + admin-widget page
v6
6-suite / 20-app structure — alignment fixes (pass 2)
15 May 2026
feat
Sprint 8
- Suite management page layout corrected — card grid reflow, accent colours per suite
- App cards aligned: logo size, badge placement, feedback count chip
- Navigation section order locked: Main → My Activity → Admin
💾 6b668cc — feat(mockup): alignment fixes pass 2
v5
6-suite / 20-app structure — SVG icons (pass 1)
15 May 2026
feat
Sprint 8
- Product catalogue expanded: AiDE Platform, Solutions, Products, Vertical AI, Agents, Archive (6 suites, 20 apps)
- SVG logos added for each application in
assets/img/products/
- Applications page updated with full suite-grouped layout
💾 d788a52 — feat(mockup): 6-suite 20-app structure, SVG icons
v4
Admin pages — audit log, email templates, settings, analytics
13–15 May 2026
feat
Sprint 6–7
- Added
admin-audit.html, admin-email-templates.html, admin-settings.html, admin-analytics.html
- User management page: role badge, activate/deactivate actions, search/filter bar
- Shared navigation JavaScript split into
nav.js + app.js for DRY rendering
💾 part of initial 18977be and early iterations
v3
Core user flows — feedback, voting, notifications, profile, reports
13 May 2026
feat
Sprint 3–5
- Added:
app-feedback.html, feedback-detail.html, submit-feedback.html
- Added:
notifications.html, profile.html, reports.html, roadmap.html
- Vote control: up/down buttons with score tracking, toast feedback
- Status stepper: New → Under Review → Planned → In Progress → Done workflow
💾 18977be — UI mockup + project documentation
v2
Dashboard, Applications, Login pages established
13 May 2026
feat
Sprint 1–2
- Magic-link login page with 2-step email → inbox flow
- Dashboard: 6 KPI cards, top-voted table, activity chart, saved filters
- Applications page: suite-grouped card grid with feedback count chips
- Global design system
style.css: CSS variables, sidebar, topbar, cards, badges, buttons
💾 18977be — UI mockup + project documentation
v1 — Initial
Project scaffolding & first mockup skeleton
13 May 2026
chore
Sprint 1
- Repository created,
mockup/ folder scaffolded
- Project brief, product context, and sprint plan documented
- Initial
index.html page index with placeholder card grid
💾 18977be — UI mockup + project documentation