Skip to content

feat: refresh the dashboard UI - #200

Merged
HardeepAsrani merged 29 commits into
developmentfrom
feat/new-ui
Jul 21, 2026
Merged

feat: refresh the dashboard UI#200
HardeepAsrani merged 29 commits into
developmentfrom
feat/new-ui

Conversation

@HardeepAsrani

@HardeepAsrani HardeepAsrani commented Jul 10, 2026

Copy link
Copy Markdown
Member

This replaces the admin dashboard with a redesigned app. Companion PR: Codeinwp/hyve#260.

Closes: https://github.com/Codeinwp/hyve/issues/223

What changed

New admin app

  • Four-tab IA (Dashboard, Knowledge Base, Messages, Settings) with URL routing: ?page=hyve&nav=<screen>&sub=<panel>&item=<id>, deep links and browser back supported.
  • Dashboard: live stat cards and usage chart fed by a new GET /hyve/v1/stats endpoint, setup checklist, visibility notice, recent conversations, get-started shortcuts, and a Hyve Connect "Coming soon" card.
  • Knowledge Base: unified indexed-content listing with per-source drill-ins (WordPress, Custom Data, Website URL, Sitemap, Documents, FAQ), needs-attention queues (pending updates, failed moderation with review modal), chunk-limit handling, and free-tier locked previews with upsells.
  • Messages: thread list with drill-in transcript, delete confirm, CSV export (Pro) with free upsell.
  • Settings: grouped side nav (Chat, AI, Integrations, Plugin) covering behavior (visibility rules, welcome/default messages, suggested questions), appearance with a live corner-widget preview, provider and model, advanced tuning, Qdrant, API access, and general.
  • Accessibility and responsive passes: focus-visible rings, aria-current nav, sr-only labels, and breakpoints across all screens.

Pro extension contract

Pro attaches whole panels via the hyve.routes filter, named sections via hyve.slot, and checklist steps via hyve.setup-steps, building on a layout kit bridged at window.hyveComponents.ui. The old hyve.route/hyve.data/hyve.others filters and the PostsTable/PostModal bridge are removed.

License gating and setup checklist

  • New Main::has_active_license() rule in Pro: valid or active_expired unlocks; anything else locks every Pro feature.
  • All Pro REST routes reject with 403 when the license is inactive (the license route stays open), including token-authenticated knowledge search. Sitemap imports pause and reschedule on reactivation. Chat-time extras (follow-ups, FAQ recording) switch off. Indexed content keeps answering.
  • The dashboard checklist becomes the NUX: Activate your license (Pro) > Connect OpenAI > Add content, shown until all steps are done; Pro panels render an activation prompt while inactive.

Models and AI settings

  • temperature and top_p are removed entirely (settings, API schema, requests). Unknown legacy keys in stored settings no longer break saves.
  • Model list refreshed: GPT-5.6 family (Sol, Terra, Luna), GPT-5.5, GPT-5.4 family, GPT-5, GPT-4.1 family, GPT-4o family, each verified for structured-output support; GPT-3.5 removed. Default is now gpt-5.4-nano, with a pricing docs link in the picker.

@github-actions

github-actions Bot commented Jul 10, 2026

Copy link
Copy Markdown

Plugin build for 955e5f0 is ready 🛎️!

@pirate-bot

pirate-bot commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

🌍 i18n String Review Report

📊 Summary

Category Count
➕ Added 233
➖ Removed 141
🔄 Changed 0
Total 374
➕ Added Strings (233) - Click to expand
String Location Words Suggested Match
OpenAI could not authenticate the request. Ple... inc/OpenAI.php:1032 11 OpenAI could not authenticate the request. Please verify your API key in Settings → Advanced.
The OpenAI API key is incorrect. Please double... inc/OpenAI.php:1037 12 The OpenAI API key is incorrect. Please double-check it in Settings → Advanced.
Pro · Expired src/backend/components/Head... 3 Pro
Pro · Inactive src/backend/components/Head... 3 Pro
API connected src/backend/components/Head... 2 Connected
API not connected src/backend/components/Head... 3 Not connected. Please check your API key.
Docs src/backend/components/Head... 1 Documentation
Upgrade to Pro src/backend/components/Head... 3 Upgrade to Premium
Override moderation src/backend/components/Mode... 2 Override Moderation
Previous src/backend/components/Pagi... 1 Back
[%s] Service Error: src/backend/components/Serv... 3 Service Error
Connect OpenAI src/backend/components/Setu... 2 Connect
Hyve uses your OpenAI API key to index content ... src/backend/components/Setu... 12 To begin using the Hyve plugin, you'll need an OpenAI API key. This key enables Hyve to communicate with OpenAI's powerful language models, ensuring you get the best possible responses.
Add API key src/backend/components/Setu... 3 Add
Add content src/backend/components/Setu... 2 Add
Settings sections src/backend/components/Side... 2 Settings
An overview of how Hyve is performing on your s... src/backend/router.js:30 10 Overview
All sources src/backend/router.js:49 2 All
Every conversation your visitors have had with ... src/backend/router.js:118 8 Here you can see an history of all the messages between Hyve and your users.
Conversations src/backend/router.js:127 1 Conversations
Conversation src/backend/router.js:131 1 Clear Conversation
Chat src/backend/router.js:149 1 Hyve Chat
AI src/backend/router.js:160 1 AI Assistant
API access src/backend/router.js:172 2 API Key
Newest mini-tier model balancing intelligence ... src/backend/screens/AI.js:44 7 Newer model with a strong balance of quality and cost.
Newest cost-optimized model, built for high-v... src/backend/screens/AI.js:52 7 Newer fast, low-cost option for high-traffic chats.
Most capable reasoning model. Thinks before an... src/backend/screens/AI.js:60 14 Newest and most capable — best for complex questions.
Most capable standard model, best for complex q... src/backend/screens/AI.js:68 8 Newest and most capable — best for complex questions.
Fast and low cost, the recommended default for ... src/backend/screens/AI.js:84 10 Fastest and most affordable — best for most chats.
Capable and proven, great for detailed answers. src/backend/screens/AI.js:100 7 Capable and proven — great for detailed answers.
Faster and cheaper than GPT-4.1, a solid all... src/backend/screens/AI.js:108 8 Faster and cheaper than GPT-4.1 — solid all-rounder.
Ultra-fast and very low cost, best for lightwe... src/backend/screens/AI.js:116 9 Ultra-fast and very low cost — best for lightweight chats.
Fastest and most affordable, best for most chats. src/backend/screens/AI.js:132 8 Fastest and most affordable — best for most chats.
Not connected src/backend/screens/AI.js:157 2 Not connected. Please check your API key.
OpenAI src/backend/screens/AI.js:236 1 OpenAI
Save changes src/backend/screens/AI.js:244 2 Save
API key src/backend/screens/AI.js:249 2 API Key
More capable models give better answers but cos... src/backend/screens/AI.js:282 11 Choose the AI model that powers your chatbot. More advanced models provide better responses but may cost more.
Similarity threshold src/backend/screens/AI.js:350 2 Cosine Similarity Threshold
How closely Knowledge Base content must match a... src/backend/screens/AI.js:351 12 Cosine Similarity Threshold
Chat background src/backend/screens/ChatApp... 2 Chat Background
Assistant background src/backend/screens/ChatApp... 2 Assistant Background
User background src/backend/screens/ChatApp... 2 User Background
Icon background src/backend/screens/ChatApp... 2 Icon Background
The chat in the corner of this page is your liv... src/backend/screens/ChatApp... 12 Preview mode — test your assistant here. These messages aren't saved.
A custom name, icon and colors are part of Hyve... src/backend/screens/ChatApp... 11 Set a custom name, icon, and colors for your chat box with our Premium subscription. Upgrade now!
Unlock with Pro src/backend/screens/ChatApp... 3 Pro
Assistant name src/backend/screens/ChatApp... 2 Assistant
The name shown in the chat header. Leave empty... src/backend/screens/ChatApp... 13 The name shown in the chat header.
Position src/backend/screens/ChatApp... 1 Chat Position
Timestamps src/backend/screens/ChatApp... 1 Message Timestamp
Enabled src/backend/screens/ChatApp... 1 Enable
Disabled src/backend/screens/ChatApp... 1 Disable
Only on selected content src/backend/screens/ChatBeh... 4 Show only on selected content
Everywhere except selected content src/backend/screens/ChatBeh... 4 Show everywhere except selected content
Do you ship to Europe? src/backend/screens/ChatBeh... 5 e.g. Do you ship to Europe?
How do I contact support? src/backend/screens/ChatBeh... 5 Need help?
OpenAI returned a rate limit response (HTTP 42... inc/OpenAI.php:1047 48 No close match
This screen is on its way. Use the tabs to mov... src/backend/App.js:130 24 No close match
Expires %s src/backend/components/Head... 2 No close match
Occasionally, OpenAI's Moderation system may in... src/backend/components/Mode... 69 No close match
Page %1$s of %2$s src/backend/components/Pagi... 4 No close match
Next src/backend/components/Pagi... 1 No close match
Add content to the Knowledge Base src/backend/components/Setu... 6 No close match
The chat can only answer from content you add.... src/backend/components/Setu... 15 No close match
Let's get Hyve running src/backend/components/Setu... 4 No close match
%1$d of %2$d steps done src/backend/components/Setu... 5 No close match
Done src/backend/components/Setu... 1 No close match
Optional src/backend/components/Setu... 1 No close match
Waiting for step %d src/backend/components/Setu... 4 No close match
This checklist stays on your dashboard until th... src/backend/components/Setu... 12 No close match
Hyve sections src/backend/components/TabN... 2 No close match
Messages and sessions per day src/backend/components/Usag... 5 No close match
The content Hyve draws its answers from. src/backend/router.js:40 7 No close match
Needs attention src/backend/router.js:53 2 No close match
Configure the chat, the AI engine, integrations... src/backend/router.js:138 10 No close match
Behavior src/backend/router.js:148 1 No close match
Provider & model src/backend/router.js:159 3 No close match
Plugin src/backend/router.js:178 1 No close match
GPT-5.6 Sol src/backend/screens/AI.js:34 2 No close match
Flagship frontier model, the highest quality at... src/backend/screens/AI.js:36 10 No close match
GPT-5.6 Terra src/backend/screens/AI.js:42 2 No close match
GPT-5.6 Luna src/backend/screens/AI.js:50 2 No close match
GPT-5.5 src/backend/screens/AI.js:58 1 No close match
GPT-5 src/backend/screens/AI.js:90 1 No close match
Reasoning model with strong quality at a lower ... src/backend/screens/AI.js:92 11 No close match
Unsaved src/backend/screens/AI.js:161 1 No close match
Used for chat, embeddings and moderation. src/backend/screens/AI.js:250 6 No close match
Compare model pricing src/backend/screens/AI.js:307 3 No close match
Advanced tuning src/backend/screens/AI.js:328 2 No close match
Changes below apply to it as you type, before y... src/backend/screens/ChatApp... 11 No close match
Widget src/backend/screens/ChatApp... 1 No close match
Launcher icon src/backend/screens/ChatApp... 2 No close match
Pick a built-in icon for the chat button. src/backend/screens/ChatApp... 8 No close match
Custom icon image src/backend/screens/ChatApp... 3 No close match
Use an image from your Media Library for the ch... src/backend/screens/ChatApp... 14 No close match
Replace image src/backend/screens/ChatApp... 2 No close match
Select image src/backend/screens/ChatApp... 2 No close match
Chat, assistant, user and launcher backgrounds. src/backend/screens/ChatApp... 6 No close match
What's your refund policy? src/backend/screens/ChatBeh... 4 No close match
... ... and 133 more ...
Total 1455
➖ Removed Strings (141) - Click to expand
String Location
OpenAI could not authenticate the request. Ple... inc/OpenAI.php:1044
The OpenAI API key is incorrect. Please double... inc/OpenAI.php:1049
OpenAI returned a rate limit response (HTTP 42... inc/OpenAI.php:1059
Options src/backend/components/Know...
Cosine Similarity Threshold src/backend/components/Know...
Determines how similar a user query must be to ... src/backend/components/Know...
Save src/backend/components/Know...
Back src/backend/parts/data/AddD...
Add Data src/backend/parts/data/AddD...
Post Type src/backend/parts/data/AddD...
Search for Posts src/backend/parts/data/AddD...
Custom Data allows you to privately feed specif... src/backend/parts/data/Cust...
Privately feed specific data directly into your... src/backend/parts/data/Cust...
Select Files src/backend/parts/data/Docu...
Failed Moderation src/backend/parts/data/Fail...
On this page, you'll find posts and pages that ... src/backend/parts/data/Fail...
More Info src/backend/parts/data/Fail...
Count src/backend/parts/data/FAQ...
Action src/backend/parts/data/FAQ...
A list of all the content that has been added t... src/backend/parts/data/Know...
Others src/backend/parts/data/Othe...
Enable telemetry to help us improve the plugin ... src/backend/parts/data/Othe...
WordPress Posts src/backend/parts/data/Post...
All the content from your WordPress site that h... src/backend/parts/data/Post...
Add Posts src/backend/parts/data/Post...
Add Sitemap src/backend/parts/data/Site...
Updated src/backend/parts/data/Upda...
Here, you'll see posts that have been updated s... src/backend/parts/data/Upda...
This page allows you to add URLs to the Knowled... src/backend/parts/data/URLC...
Crawl URL src/backend/parts/data/URLC...
Service Error src/backend/parts/ErrorSect...
Show only on selected content src/backend/parts/Home.js:28
Show everywhere except selected content src/backend/parts/Home.js:32
Unique chat sessions created by your users. src/backend/parts/Home.js:42
Total messages exchanged between users and Hyve. src/backend/parts/Home.js:50
Current knowledge base chunks used. src/backend/parts/Home.js:60
In Knowledge Base, view and remove any Posts/Pa... src/backend/parts/Home.js:143
Personalize src/backend/parts/Home.js:152
Customize Hyve's behavior and appearance to bet... src/backend/parts/Home.js:153
Check out our documentation or contact support ... src/backend/parts/Home.js:163
Blocks and shortcodes remain available for inli... src/backend/parts/Home.js:181
/example-page/ src/backend/parts/Home.js:257
Add URL Rule src/backend/parts/Home.js:322
Save visibility src/backend/parts/Home.js:334
Saved. src/backend/parts/Home.js:339
Overview src/backend/parts/Home.js:372
Get Started src/backend/parts/Home.js:412
Chat Usage src/backend/parts/Home.js:453
Welcome to Hyve! Designed to seamlessly integr... src/backend/parts/Home.js:477
To begin using the Hyve plugin, you'll need an ... src/backend/parts/Home.js:484
Setup API Key src/backend/parts/Home.js:496
Documentation src/backend/parts/Home.js:505
Semantic Search src/backend/parts/integrati...
Access Tokens src/backend/parts/integrati...
Get Hyve Pro! src/backend/parts/integrati...
Qdrant Integration src/backend/parts/integrati...
API Key src/backend/parts/integrati...
API Endpoint src/backend/parts/integrati...
Migration in progress. Please wait while we pr... src/backend/parts/integrati...
Qdrant is connected and ready to use. src/backend/parts/integrati...
Message History is a Premium feature src/backend/parts/Messages...
Upgrade to Hyve Premium to unlock entire Messag... src/backend/parts/Messages...
Message threads preview showing conversation hi... src/backend/parts/Messages...
Select a message to view the conversation src/backend/parts/Messages...
Thread ID src/backend/parts/Messages...
Export Messages src/backend/parts/Messages...
Here you can see an history of all the messages... src/backend/parts/Messages...
Messsages between Hyve and your users will appe... src/backend/parts/Messages...
Occasionally, OpenAI's Moderation system may in... src/backend/parts/Moderatio...
Override Moderation src/backend/parts/Moderatio...
Post has been deleted. src/backend/parts/PostModal...
Edit Data src/backend/parts/PostModal...
Content src/backend/parts/PostModal...
ID src/backend/parts/PostsTabl...
Load More src/backend/parts/PostsTabl...
This plugin requires an OpenAI API key to funct... src/backend/parts/settings/...
OpenAI API Key src/backend/parts/settings/...
Not connected. Please check your API key. src/backend/parts/settings/...
Chat Background src/backend/parts/settings/...
Assistant Background src/backend/parts/settings/...
User Background src/backend/parts/settings/...
Icon Background src/backend/parts/settings/...
Appearance customization is a Premium feature src/backend/parts/settings/...
Set a custom name, icon, and colors for your ch... src/backend/parts/settings/...
Chat Name src/backend/parts/settings/...
The name shown in the chat header. src/backend/parts/settings/...
Chat Icons src/backend/parts/settings/...
Appearance Settings src/backend/parts/settings/...
Chat Position src/backend/parts/settings/...
Message Timestamp src/backend/parts/settings/...
Show message timestamp src/backend/parts/settings/...
Show src/backend/parts/settings/...
Hide message timestamp src/backend/parts/settings/...
Hide src/backend/parts/settings/...
Newest and most capable — best for complex ques... src/backend/parts/settings/...
Newer fast, low-cost option for high-traffic ... src/backend/parts/settings/...
Capable and proven — great for detailed answers. src/backend/parts/settings/...
Faster and cheaper than GPT-4.1 — solid all-... src/backend/parts/settings/...
Ultra-fast and very low cost — best for lightw... src/backend/parts/settings/...
Fastest and most affordable — best for most cha... src/backend/parts/settings/...
... and 41 more

@HardeepAsrani

Copy link
Copy Markdown
Member Author

@copilot resolve the merge conflicts in this pull request

Copilot AI and others added 2 commits July 15, 2026 19:59
Co-authored-by: HardeepAsrani <2649903+HardeepAsrani@users.noreply.github.com>
Co-authored-by: HardeepAsrani <2649903+HardeepAsrani@users.noreply.github.com>

Copilot AI commented Jul 15, 2026

Copy link
Copy Markdown

@copilot resolve the merge conflicts in this pull request

Resolved and committed the merge conflicts with development in 4b9905e (plus follow-up lint-only formatting fix in 139912c).

@HardeepAsrani
HardeepAsrani merged commit 2320282 into development Jul 21, 2026
8 checks passed
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.

4 participants