Skip to content

Development - #169

Draft
HardeepAsrani wants to merge 61 commits into
mainfrom
development
Draft

Development#169
HardeepAsrani wants to merge 61 commits into
mainfrom
development

Conversation

@HardeepAsrani

@HardeepAsrani HardeepAsrani commented Jun 24, 2026

Copy link
Copy Markdown
Member

Linked issues

This release will close the following issues once merged:

  • Closes Codeinwp/hyve#157 — PageSpeed issue - Hyve button is missing a name for screen readers
  • Closes Codeinwp/hyve#172 — Chat Bubble block shows the wrong placeholder text in the editor
  • Closes Codeinwp/hyve#174 — Page titles with dashes show raw HTML entities (–) instead of decoded characters in add data field
  • Closes Codeinwp/hyve#171 — Inline chat block doesn't show the welcome message and suggested questions on first load
  • Closes Codeinwp/hyve#161 — Add option to disable the sound
  • Closes Codeinwp/hyve#190 — Make the suggested questions look clickable
  • Closes Codeinwp/hyve#179 — Appearance & branding customization
  • Closes Codeinwp/hyve#105 — Add more Style Options
  • Closes Codeinwp/hyve#207 — Add live preview of chat icon when customizing appearance
  • Closes Codeinwp/hyve#214 — Add Test mode: try the bot before it goes live
  • Closes Codeinwp/hyve#221 — Review the current openai models listed in hyve
  • Closes Codeinwp/hyve#228 — Custom data title field is not indexed by the bot, causing Q&A entries to silently fail
  • Closes Codeinwp/hyve#175 — Support private and password-protected content in the Knowledge Base
  • Closes Codeinwp/hyve#152 — Include Source Page Link in Chat Responses (When Publicly Accessible)
  • Closes Codeinwp/hyve#189 — Improve Chat Visibility from Hyve Settings
  • Closes Codeinwp/hyve#187 — Add suggested privacy-policy content
  • Closes Codeinwp/hyve#250 — Add Privacy policy notice in Chat interface
  • Closes Codeinwp/hyve#223 — Refresh Dashboard UI
  • Closes Codeinwp/hyve#263 — Add about us page in sidebar menu in hyve
  • Closes Codeinwp/hyve#183 — Add streaming responses
  • Closes Codeinwp/hyve#220 — Security: Access tokens stored in plaintext in wp_options

Public changelog

  • Improved the accessibility of the chat button so screen readers now announce it with a proper name.
  • Fixed the Chat Bubble block showing the same placeholder text as the inline chat in the editor, making it clear which variant is on the page.
  • Fixed page titles with dashes and other special characters showing raw HTML codes instead of the real characters when adding content to the knowledge base.
  • Fixed the inline chat block appearing empty on first load instead of showing the welcome message and suggested questions.
  • Added a setting to turn chat sounds on or off, along with a mute control that each visitor can toggle in the chat menu.
  • Restyled the suggested questions as clear, filled buttons so visitors can immediately tell they are clickable.
  • Redesigned the chat widget with a modern look and opened up the appearance settings, including new chat position and message timestamp options.
  • Added more styling options so the chat widget's appearance can be tailored to match your site.
  • Added a live preview in the appearance settings so you can see customization changes as you make them.
  • Added a way to try out the chatbot and preview its behavior before making it live for visitors.
  • Updated the list of selectable OpenAI models with the latest options and removed the outdated GPT-3.5 model that caused chat errors.
  • Fixed question-and-answer entries not being matched by the chatbot when the question only appeared in the entry title.
  • Added the ability to include private and password-protected posts in the knowledge base, with a confirmation step before that content is exposed to chat visitors.
  • Added an option to show numbered source links under chat answers so visitors can see which page the information came from.
  • Added visibility rules that let you choose exactly which pages the chat appears on, replacing the simple on/off switch.
  • Added ready-made privacy policy text to the WordPress policy guide, describing how chat messages are stored and processed.
  • Added an optional dismissible privacy notice inside the chat window that links to your site's privacy policy.
  • Redesigned the plugin dashboard with a fresh layout, live usage statistics, a setup checklist, and easier navigation.
  • Added an About Us page to the plugin menu.
  • Chat responses now stream in word by word as they are generated, with an automatic fallback so answers always arrive even on hosts that cannot stream.
  • Sensitive settings such as your OpenAI API key are now stored encrypted in the database for better security.
  • Updated dependencies

pirate-bot and others added 30 commits June 25, 2026 00:50
…/phpstan/phpstan-2.2.1

chore(deps-dev): bump phpstan/phpstan from 2.1.31 to 2.2.1
Bumps [codeinwp/themeisle-sdk](https://github.com/Codeinwp/themeisle-sdk) from 3.3.51 to 3.3.54.
- [Release notes](https://github.com/Codeinwp/themeisle-sdk/releases)
- [Changelog](https://github.com/Codeinwp/themeisle-sdk/blob/v3.3.54/CHANGELOG.md)
- [Commits](Codeinwp/themeisle-sdk@v3.3.51...v3.3.54)

---
updated-dependencies:
- dependency-name: codeinwp/themeisle-sdk
  dependency-version: 3.3.52
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps-dev): bump @wordpress/scripts from 27.9.0 to 32.5.0

Bumps [@wordpress/scripts](https://github.com/WordPress/gutenberg/tree/HEAD/packages/scripts) from 27.9.0 to 32.5.0.
- [Release notes](https://github.com/WordPress/gutenberg/releases)
- [Changelog](https://github.com/WordPress/gutenberg/blob/trunk/packages/scripts/CHANGELOG.md)
- [Commits](https://github.com/WordPress/gutenberg/commits/@wordpress/scripts@32.5.0/packages/scripts)

---
updated-dependencies:
- dependency-name: "@wordpress/scripts"
  dependency-version: 31.2.0
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* fix: migrate eslint config to flat format

Co-authored-by: HardeepAsrani <2649903+HardeepAsrani@users.noreply.github.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: openai-code-agent[bot] <242516109+Codex@users.noreply.github.com>
Co-authored-by: HardeepAsrani <2649903+HardeepAsrani@users.noreply.github.com>
Bumps [tailwindcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss) from 4.1.17 to 4.3.1.
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases)
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/tailwindlabs/tailwindcss/commits/v4.3.1/packages/tailwindcss)

---
updated-dependencies:
- dependency-name: tailwindcss
  dependency-version: 4.1.18
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [filenamify](https://github.com/sindresorhus/filenamify) from 4.3.0 to 7.0.2.
- [Release notes](https://github.com/sindresorhus/filenamify/releases)
- [Commits](sindresorhus/filenamify@v4.3.0...v7.0.2)

---
updated-dependencies:
- dependency-name: filenamify
  dependency-version: 7.0.1
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [semantic-release](https://github.com/semantic-release/semantic-release) from 19.0.5 to 25.0.5.
- [Release notes](https://github.com/semantic-release/semantic-release/releases)
- [Commits](semantic-release/semantic-release@v19.0.5...v25.0.5)

---
updated-dependencies:
- dependency-name: semantic-release
  dependency-version: 25.0.2
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
….3 (#137)

* chore(deps-dev): bump szepeviktor/phpstan-wordpress from 2.0.2 to 2.0.3

Bumps [szepeviktor/phpstan-wordpress](https://github.com/szepeviktor/phpstan-wordpress) from 2.0.2 to 2.0.3.
- [Release notes](https://github.com/szepeviktor/phpstan-wordpress/releases)
- [Commits](szepeviktor/phpstan-wordpress@v2.0.2...v2.0.3)

---
updated-dependencies:
- dependency-name: szepeviktor/phpstan-wordpress
  dependency-version: 2.0.3
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* fix: resolve phpstan issues after phpstan-wordpress bump

Co-authored-by: HardeepAsrani <2649903+HardeepAsrani@users.noreply.github.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: openai-code-agent[bot] <242516109+Codex@users.noreply.github.com>
Co-authored-by: HardeepAsrani <2649903+HardeepAsrani@users.noreply.github.com>
Bumps [cssnano](https://github.com/cssnano/cssnano) from 7.1.1 to 8.0.2.
- [Release notes](https://github.com/cssnano/cssnano/releases)
- [Commits](https://github.com/cssnano/cssnano/compare/cssnano@7.1.1...cssnano@8.0.2)

---
updated-dependencies:
- dependency-name: cssnano
  dependency-version: 7.1.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
)

Bumps [wp-coding-standards/wpcs](https://github.com/WordPress/WordPress-Coding-Standards) from 3.2.0 to 3.3.0.
- [Release notes](https://github.com/WordPress/WordPress-Coding-Standards/releases)
- [Changelog](https://github.com/WordPress/WordPress-Coding-Standards/blob/develop/CHANGELOG.md)
- [Commits](WordPress/WordPress-Coding-Standards@3.2.0...3.3.0)

---
updated-dependencies:
- dependency-name: wp-coding-standards/wpcs
  dependency-version: 3.3.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [grunt-version](https://github.com/kswedberg/grunt-version) from 3.0.1 to 3.0.2.
- [Commits](kswedberg/grunt-version@3.0.1...3.0.2)

---
updated-dependencies:
- dependency-name: grunt-version
  dependency-version: 3.0.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [chart.js](https://github.com/chartjs/Chart.js) from 4.5.0 to 4.5.1.
- [Release notes](https://github.com/chartjs/Chart.js/releases)
- [Commits](chartjs/Chart.js@v4.5.0...v4.5.1)

---
updated-dependencies:
- dependency-name: chart.js
  dependency-version: 4.5.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [replace-in-file](https://github.com/adamreisnz/replace-in-file) from 7.2.0 to 8.4.0.
- [Release notes](https://github.com/adamreisnz/replace-in-file/releases)
- [Changelog](https://github.com/adamreisnz/replace-in-file/blob/main/CHANGELOG.md)
- [Commits](adamreisnz/replace-in-file@v7.2.0...v8.4.0)

---
updated-dependencies:
- dependency-name: replace-in-file
  dependency-version: 8.4.0
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps-dev): bump @wordpress/env from 10.32.0 to 11.9.0

Bumps [@wordpress/env](https://github.com/WordPress/gutenberg/tree/HEAD/packages/env) from 10.32.0 to 11.9.0.
- [Release notes](https://github.com/WordPress/gutenberg/releases)
- [Changelog](https://github.com/WordPress/gutenberg/blob/trunk/packages/env/CHANGELOG.md)
- [Commits](https://github.com/WordPress/gutenberg/commits/@wordpress/env@11.9.0/packages/env)

---
updated-dependencies:
- dependency-name: "@wordpress/env"
  dependency-version: 10.37.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* test(e2e): support wp-json and rest_route API URLs in Playwright mocks

Agent-Logs-Url: https://github.com/Codeinwp/hyve-lite/sessions/9d6041cb-f96b-48c9-8f3b-af3f9d4f985b

Co-authored-by: HardeepAsrani <2649903+HardeepAsrani@users.noreply.github.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: openai-code-agent[bot] <242516109+Codex@users.noreply.github.com>
Co-authored-by: HardeepAsrani <2649903+HardeepAsrani@users.noreply.github.com>
* fix: improve chat button accessibility

* test(e2e): support wp-json and rest_route URL patterns

Co-authored-by: HardeepAsrani <2649903+HardeepAsrani@users.noreply.github.com>

* test(e2e): target floating chat open button by stable selector

Co-authored-by: HardeepAsrani <2649903+HardeepAsrani@users.noreply.github.com>

---------

Co-authored-by: openai-code-agent[bot] <242516109+Codex@users.noreply.github.com>
Co-authored-by: HardeepAsrani <2649903+HardeepAsrani@users.noreply.github.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
…riant (#170)

* Initial plan

* fix: show distinct placeholder for chat bubble block

Co-authored-by: HardeepAsrani <2649903+HardeepAsrani@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: HardeepAsrani <2649903+HardeepAsrani@users.noreply.github.com>
Bumps [phpstan/phpstan](https://github.com/phpstan/phpstan-phar-composer-source) from 2.2.2 to 2.2.3.
- [Commits](https://github.com/phpstan/phpstan-phar-composer-source/commits)

---
updated-dependencies:
- dependency-name: phpstan/phpstan
  dependency-version: 2.2.3
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps [tailwindcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss) from 4.3.1 to 4.3.2.
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases)
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/tailwindlabs/tailwindcss/commits/v4.3.2/packages/tailwindcss)

---
updated-dependencies:
- dependency-name: tailwindcss
  dependency-version: 4.3.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps [postcss](https://github.com/postcss/postcss) from 8.5.15 to 8.5.16.
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](postcss/postcss@8.5.15...8.5.16)

---
updated-dependencies:
- dependency-name: postcss
  dependency-version: 8.5.16
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps [grunt](https://github.com/gruntjs/grunt) from 1.6.1 to 1.6.2.
- [Release notes](https://github.com/gruntjs/grunt/releases)
- [Changelog](https://github.com/gruntjs/grunt/blob/main/CHANGELOG)
- [Commits](gruntjs/grunt@v1.6.1...v1.6.2)

---
updated-dependencies:
- dependency-name: grunt
  dependency-version: 1.6.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps [@wordpress/env](https://github.com/WordPress/gutenberg/tree/HEAD/packages/env) from 11.9.0 to 11.10.0.
- [Release notes](https://github.com/WordPress/gutenberg/releases)
- [Changelog](https://github.com/WordPress/gutenberg/blob/trunk/packages/env/CHANGELOG.md)
- [Commits](https://github.com/WordPress/gutenberg/commits/@wordpress/blocks@11.10.0/packages/env)

---
updated-dependencies:
- dependency-name: "@wordpress/env"
  dependency-version: 11.10.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps [@wordpress/icons](https://github.com/WordPress/gutenberg/tree/HEAD/packages/icons) from 10.32.0 to 15.1.0.
- [Release notes](https://github.com/WordPress/gutenberg/releases)
- [Changelog](https://github.com/WordPress/gutenberg/blob/trunk/packages/icons/CHANGELOG.md)
- [Commits](https://github.com/WordPress/gutenberg/commits/v15.1.0/packages/icons)

---
updated-dependencies:
- dependency-name: "@wordpress/icons"
  dependency-version: 15.1.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
… Base (#179)

Private posts were excluded from the Add Data list because the listing and
re-index queries filtered to the 'publish' status only. Include the 'private'
status so private posts can be added and stay in sync when edited.
(Password-protected posts already matched 'publish' and were addable.)

Because added content is surfaced to any chat visitor regardless of the post's
original visibility, adding a private or password-protected post now requires
an explicit confirmation.
Surface whether the saved OpenAI API key is connected, mirroring the
License field's status feedback. Previously saving a key gave no visual
confirmation that it was valid and working.

- Add Main::is_api_key_connected(), exposed as `isApiKeyConnected` in the
  dashboard options data. A key counts as connected when it is set and the
  last stored OpenAI error is not one that invalidates the key itself
  (transient errors such as rate limiting stay connected).
- Show a "Connected" / "Not connected" indicator under the API Key field
  in Advanced settings, and hide the "Get an API key" link once connected.
- Add unit tests for the connection helper.

Part of Codeinwp/hyve#208
Add Hyve's data-processing disclosure to the core Privacy Policy guide (Settings -> Privacy) via wp_add_privacy_policy_content(). Covers that visitor messages are stored on the site and sent to OpenAI (third party, US) for moderation, embeddings and completion. When Qdrant is connected, an additional line discloses that the message embedding is sent to Qdrant for lookup. Available in Lite.
Titles from get_the_title() pass through the the_title filter
(wptexturize/convert_chars), which emits HTML entities such as
&#8211; for dashes. These were rendered raw in the add data field
and also stored in the embedding text. Decode them with
html_entity_decode() so the UI and embeddings get clean text.
* feat: control chat visibility from the dashboard

Replace the single Enable/Disable toggle with visibility rules on the dashboard: show on all pages, only on selected content, everywhere except selected content, or not automatically (block/shortcode only). Selected content is matched by URL path using contains/matches operators.

The legacy chat_enabled flag is migrated to the new display_mode setting via the SDK migrator, with a read-time fallback for installs that have not migrated yet.

* fix: render inline chat regardless of display mode and show its welcome message
Bumps [@wordpress/icons](https://github.com/WordPress/gutenberg/tree/HEAD/packages/icons) from 10.32.0 to 15.1.0.
- [Release notes](https://github.com/WordPress/gutenberg/releases)
- [Changelog](https://github.com/WordPress/gutenberg/blob/trunk/packages/icons/CHANGELOG.md)
- [Commits](https://github.com/WordPress/gutenberg/commits/v15.1.0/packages/icons)

---
updated-dependencies:
- dependency-name: "@wordpress/icons"
  dependency-version: 15.1.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [phpstan/phpstan](https://github.com/phpstan/phpstan-phar-composer-source) from 2.2.2 to 2.2.3.
- [Commits](https://github.com/phpstan/phpstan-phar-composer-source/commits)

---
updated-dependencies:
- dependency-name: phpstan/phpstan
  dependency-version: 2.2.3
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…ment/wordpress/env-11.10.0

chore(deps-dev): bump @wordpress/env from 11.9.0 to 11.10.0
dependabot Bot and others added 4 commits July 3, 2026 19:58
Bumps [@tailwindcss/postcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss) from 4.1.17 to 4.3.2.
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases)
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/tailwindlabs/tailwindcss/commits/v4.3.2/packages/@tailwindcss-postcss)

---
updated-dependencies:
- dependency-name: "@tailwindcss/postcss"
  dependency-version: 4.3.2
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
…ment/tailwindcss/postcss-4.3.2

chore(deps-dev): bump @tailwindcss/postcss from 4.1.17 to 4.3.2
Bumps [@wordpress/scripts](https://github.com/WordPress/gutenberg/tree/HEAD/packages/scripts) from 32.5.0 to 32.6.0.
- [Release notes](https://github.com/WordPress/gutenberg/releases)
- [Changelog](https://github.com/WordPress/gutenberg/blob/trunk/packages/scripts/CHANGELOG.md)
- [Commits](https://github.com/WordPress/gutenberg/commits/@wordpress/scripts@32.6.0/packages/scripts)

---
updated-dependencies:
- dependency-name: "@wordpress/scripts"
  dependency-version: 32.6.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
…ment/wordpress/scripts-32.6.0

chore(deps-dev): bump @wordpress/scripts from 32.5.0 to 32.6.0
HardeepAsrani and others added 12 commits July 7, 2026 00:38
Improve OpenAI error handling and surfacing and route ingestion sources through the shared pipeline.
* feat: modernize chat widget and add customization options

- Redesign the frontend chat widget (header with avatar/name/status,
  modern bubbles, pill input, refined launcher, entrance animation).
- Add a global "Chat Sound" toggle and a per-visitor mute control in the
  chat menu; remove the open/close click sound.
- Add a "Message Timestamp" show/hide toggle.
- Show the welcome message and suggested questions on first load of the
  inline chat block.
- Inline the chat-button SVGs server-side (no runtime fetch / icon flash)
  and use a bundled SVG as the default icon instead of an emoji.
- Keep the typing dots, suggestion chips, and menu legible on similar
  colors, and theme the menu from the chat colors.
- Resolve outstanding PHPStan issues (gmdate guard, require_once ignore).

* refactor: match Appearance colors upsell to Pro tile design

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: HardeepAsrani <2649903+HardeepAsrani@users.noreply.github.com>
The embedding vector was built from post_content alone, so a knowledge
base entry whose question lived in the title — the Q&A custom data
pattern — was never matched semantically. Prepend the title to the text
sent for embedding, matching the token budget Tokenizer::tokenize()
already reserves for it.

Existing entries benefit after a re-index (the embedding is regenerated
on add/update).

Closes Codeinwp/hyve#228

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: HardeepAsrani <2649903+HardeepAsrani@users.noreply.github.com>
* feat: remove moderation threshold settings

The per-category moderation sliders only ever loosened OpenAI's built-in
moderation and were effectively unused. Remove the setting, its
validation, and the settings tab.

Moderation still runs on chat input and knowledge base imports using
default thresholds, now tunable with the hyve_moderation_threshold
filter. The Failed Moderation list and per-item override are unchanged.

* fix: show a distinct message when a chat message is flagged

A moderation block returned the generic "please try again" error, which
implied a temporary issue and invited the user to resend flagged input.

Return a content_flagged code from the chat endpoint and show a dedicated
message for it, keeping the try-again message for genuine technical
failures.

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: HardeepAsrani <2649903+HardeepAsrani@users.noreply.github.com>
Add the Hyve Lite pieces the Pro document importer builds on, plus
related improvements surfaced while building it:

- OpenAI::detect_sensitive_data() to flag personal data before content is
  stored, and batch the moderation endpoint (one request per group of
  chunks instead of one request per chunk).
- Shared BaseAPI::query_page() so list endpoints detect further pages
  without a found-rows count; fixes a stale "Load more" when the total
  exceeds a page.
- PostsTable renders a caller-provided status per row while staying
  generic, used by the Pro import queue.
- A Documents source tile in the Knowledge Base (Premium upsell in free).

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: HardeepAsrani <2649903+HardeepAsrani@users.noreply.github.com>
* feat: modernize chat widget and add customization options

- Redesign the frontend chat widget (header with avatar/name/status,
  modern bubbles, pill input, refined launcher, entrance animation).
- Add a global "Chat Sound" toggle and a per-visitor mute control in the
  chat menu; remove the open/close click sound.
- Add a "Message Timestamp" show/hide toggle.
- Show the welcome message and suggested questions on first load of the
  inline chat block.
- Inline the chat-button SVGs server-side (no runtime fetch / icon flash)
  and use a bundled SVG as the default icon instead of an emoji.
- Keep the typing dots, suggestion chips, and menu legible on similar
  colors, and theme the menu from the chat colors.
- Resolve outstanding PHPStan issues (gmdate guard, require_once ignore).

* feat: stream chat responses with automatic poll fallback

Reveal the assistant's reply progressively over Server-Sent Events, with a
graceful fallback to the existing background + polling flow on hosts that
buffer or cannot stream, so the bot keeps working everywhere.

- Add a custom admin-ajax streaming endpoint (Stream) that proxies OpenAI's
  stream to the browser; the API key stays server-side.
- Share a single prompt, JSON schema and response interpreter across the
  streaming and poll paths so replies never diverge by transport.
- The widget tries streaming first and falls back to polling when no event
  arrives in time; the outcome is cached per browser and re-probed after 24h.
- Decode the streamed `response` field incrementally via json_decode so
  escapes and surrogate-pair emoji render correctly while streaming.
- Preserve existing contracts: moderation stays up front, hyve_chat_request
  and hyve_chat_response fire once per reply, analytics unaffected.

Closes Codeinwp/hyve#183

* feat: modernize chat widget and add customization options

- Redesign the frontend chat widget (header with avatar/name/status,
  modern bubbles, pill input, refined launcher, entrance animation).
- Add a global "Chat Sound" toggle and a per-visitor mute control in the
  chat menu; remove the open/close click sound.
- Add a "Message Timestamp" show/hide toggle.
- Show the welcome message and suggested questions on first load of the
  inline chat block.
- Inline the chat-button SVGs server-side (no runtime fetch / icon flash)
  and use a bundled SVG as the default icon instead of an emoji.
- Keep the typing dots, suggestion chips, and menu legible on similar
  colors, and theme the menu from the chat colors.
- Resolve outstanding PHPStan issues (gmdate guard, require_once ignore).

* fix: message count not invalidating after each message

* fix: resolve remaining Test JS lint issues

Co-authored-by: HardeepAsrani <2649903+HardeepAsrani@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: HardeepAsrani <2649903+HardeepAsrani@users.noreply.github.com>
Co-authored-by: openai-code-agent[bot] <242516109+Codex@users.noreply.github.com>
* feat: modernize chat widget and add customization options

- Redesign the frontend chat widget (header with avatar/name/status,
  modern bubbles, pill input, refined launcher, entrance animation).
- Add a global "Chat Sound" toggle and a per-visitor mute control in the
  chat menu; remove the open/close click sound.
- Add a "Message Timestamp" show/hide toggle.
- Show the welcome message and suggested questions on first load of the
  inline chat block.
- Inline the chat-button SVGs server-side (no runtime fetch / icon flash)
  and use a bundled SVG as the default icon instead of an emoji.
- Keep the typing dots, suggestion chips, and menu legible on similar
  colors, and theme the menu from the chat colors.
- Resolve outstanding PHPStan issues (gmdate guard, require_once ignore).

* feat: stream chat responses with automatic poll fallback

Reveal the assistant's reply progressively over Server-Sent Events, with a
graceful fallback to the existing background + polling flow on hosts that
buffer or cannot stream, so the bot keeps working everywhere.

- Add a custom admin-ajax streaming endpoint (Stream) that proxies OpenAI's
  stream to the browser; the API key stays server-side.
- Share a single prompt, JSON schema and response interpreter across the
  streaming and poll paths so replies never diverge by transport.
- The widget tries streaming first and falls back to polling when no event
  arrives in time; the outcome is cached per browser and re-probed after 24h.
- Decode the streamed `response` field incrementally via json_decode so
  escapes and surrogate-pair emoji render correctly while streaming.
- Preserve existing contracts: moderation stays up front, hyve_chat_request
  and hyve_chat_response fire once per reply, analytics unaffected.

Closes Codeinwp/hyve#183

* feat: modernize chat widget and add customization options

- Redesign the frontend chat widget (header with avatar/name/status,
  modern bubbles, pill input, refined launcher, entrance animation).
- Add a global "Chat Sound" toggle and a per-visitor mute control in the
  chat menu; remove the open/close click sound.
- Add a "Message Timestamp" show/hide toggle.
- Show the welcome message and suggested questions on first load of the
  inline chat block.
- Inline the chat-button SVGs server-side (no runtime fetch / icon flash)
  and use a bundled SVG as the default icon instead of an emoji.
- Keep the typing dots, suggestion chips, and menu legible on similar
  colors, and theme the menu from the chat colors.
- Resolve outstanding PHPStan issues (gmdate guard, require_once ignore).

* feat: add reply-data filter and generic suggestion rendering

Add the hyve_chat_reply_data filter on both the streaming and poll reply
paths so extensions can attach extra data to a reply, and generalize the
frontend suggestion rendering into renderSuggestions so per-turn chips
reuse the predefined-questions UI. Chips are built with textContent to
avoid markup injection and scrolled into view after the reply lands.

Part of Codeinwp/hyve#184.

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: HardeepAsrani <2649903+HardeepAsrani@users.noreply.github.com>
* feat: modernize chat widget and add customization options

- Redesign the frontend chat widget (header with avatar/name/status,
  modern bubbles, pill input, refined launcher, entrance animation).
- Add a global "Chat Sound" toggle and a per-visitor mute control in the
  chat menu; remove the open/close click sound.
- Add a "Message Timestamp" show/hide toggle.
- Show the welcome message and suggested questions on first load of the
  inline chat block.
- Inline the chat-button SVGs server-side (no runtime fetch / icon flash)
  and use a bundled SVG as the default icon instead of an emoji.
- Keep the typing dots, suggestion chips, and menu legible on similar
  colors, and theme the menu from the chat colors.
- Resolve outstanding PHPStan issues (gmdate guard, require_once ignore).

* feat: stream chat responses with automatic poll fallback

Reveal the assistant's reply progressively over Server-Sent Events, with a
graceful fallback to the existing background + polling flow on hosts that
buffer or cannot stream, so the bot keeps working everywhere.

- Add a custom admin-ajax streaming endpoint (Stream) that proxies OpenAI's
  stream to the browser; the API key stays server-side.
- Share a single prompt, JSON schema and response interpreter across the
  streaming and poll paths so replies never diverge by transport.
- The widget tries streaming first and falls back to polling when no event
  arrives in time; the outcome is cached per browser and re-probed after 24h.
- Decode the streamed `response` field incrementally via json_decode so
  escapes and surrogate-pair emoji render correctly while streaming.
- Preserve existing contracts: moderation stays up front, hyve_chat_request
  and hyve_chat_response fire once per reply, analytics unaffected.

Closes Codeinwp/hyve#183

* feat: support private and password-protected content in the Knowledge Base

Private posts were excluded from the Add Data list because the listing and
re-index queries filtered to the 'publish' status only. Include the 'private'
status so private posts can be added and stay in sync when edited.
(Password-protected posts already matched 'publish' and were addable.)

Because added content is surfaced to any chat visitor regardless of the post's
original visibility, adding a private or password-protected post now requires
an explicit confirmation.

* feat: prototype source link in chat responses

Append a compact source citation to chat answers, shown only for publicly
accessible sources. Adds a Settings toggle and a hyve_chat_source_link filter
for source-type-specific resolution.

* feat: modernize chat widget and add customization options

- Redesign the frontend chat widget (header with avatar/name/status,
  modern bubbles, pill input, refined launcher, entrance animation).
- Add a global "Chat Sound" toggle and a per-visitor mute control in the
  chat menu; remove the open/close click sound.
- Add a "Message Timestamp" show/hide toggle.
- Show the welcome message and suggested questions on first load of the
  inline chat block.
- Inline the chat-button SVGs server-side (no runtime fetch / icon flash)
  and use a bundled SVG as the default icon instead of an emoji.
- Keep the typing dots, suggestion chips, and menu legible on similar
  colors, and theme the menu from the chat colors.
- Resolve outstanding PHPStan issues (gmdate guard, require_once ignore).

* feat: show up to three relevance-ranked sources as numbered citations

* fix: remove duplicate settings validators causing PHPStan/PHPCS failures

Agent-Logs-Url: https://github.com/Codeinwp/hyve-lite/sessions/da19ee32-5f21-4b9c-9cb2-49c699cee9cf

Co-authored-by: HardeepAsrani <2649903+HardeepAsrani@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: HardeepAsrani <2649903+HardeepAsrani@users.noreply.github.com>
Co-authored-by: openai-code-agent[bot] <242516109+Codex@users.noreply.github.com>
* feat: modernize chat widget and add customization options

- Redesign the frontend chat widget (header with avatar/name/status,
  modern bubbles, pill input, refined launcher, entrance animation).
- Add a global "Chat Sound" toggle and a per-visitor mute control in the
  chat menu; remove the open/close click sound.
- Add a "Message Timestamp" show/hide toggle.
- Show the welcome message and suggested questions on first load of the
  inline chat block.
- Inline the chat-button SVGs server-side (no runtime fetch / icon flash)
  and use a bundled SVG as the default icon instead of an emoji.
- Keep the typing dots, suggestion chips, and menu legible on similar
  colors, and theme the menu from the chat colors.
- Resolve outstanding PHPStan issues (gmdate guard, require_once ignore).

* feat: stream chat responses with automatic poll fallback

Reveal the assistant's reply progressively over Server-Sent Events, with a
graceful fallback to the existing background + polling flow on hosts that
buffer or cannot stream, so the bot keeps working everywhere.

- Add a custom admin-ajax streaming endpoint (Stream) that proxies OpenAI's
  stream to the browser; the API key stays server-side.
- Share a single prompt, JSON schema and response interpreter across the
  streaming and poll paths so replies never diverge by transport.
- The widget tries streaming first and falls back to polling when no event
  arrives in time; the outcome is cached per browser and re-probed after 24h.
- Decode the streamed `response` field incrementally via json_decode so
  escapes and surrogate-pair emoji render correctly while streaming.
- Preserve existing contracts: moderation stays up front, hyve_chat_request
  and hyve_chat_response fire once per reply, analytics unaffected.

Closes Codeinwp/hyve#183

* feat: modernize chat widget and add customization options

- Redesign the frontend chat widget (header with avatar/name/status,
  modern bubbles, pill input, refined launcher, entrance animation).
- Add a global "Chat Sound" toggle and a per-visitor mute control in the
  chat menu; remove the open/close click sound.
- Add a "Message Timestamp" show/hide toggle.
- Show the welcome message and suggested questions on first load of the
  inline chat block.
- Inline the chat-button SVGs server-side (no runtime fetch / icon flash)
  and use a bundled SVG as the default icon instead of an emoji.
- Keep the typing dots, suggestion chips, and menu legible on similar
  colors, and theme the menu from the chat colors.
- Resolve outstanding PHPStan issues (gmdate guard, require_once ignore).

* feat: add privacy policy notice to chat interface

Adds an optional, dismissible privacy notice above the chat input that
links to the site's Privacy Policy page. Off by default, toggled from
Settings > General, and hidden when no policy page is set (with an admin
warning). The notice is theme-aware and, in the free version, replaces
the 'Powered by Hyve' credit until dismissed. Dismissal (via the close
button or sending a message) is remembered per browser.

Includes PHP unit and Playwright e2e coverage.

* fix: clear frontend lint errors

Co-authored-by: HardeepAsrani <2649903+HardeepAsrani@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: HardeepAsrani <2649903+HardeepAsrani@users.noreply.github.com>
Retrieval embedded only the current message, so follow-up questions
with no topic keywords matched nothing and returned the fallback.

Blend the last few turns of the thread into the text used for the
retrieval embedding so the topic carries into the search. Only the
retrieval query changes; the message sent to the model is unchanged.
Tunable via the hyve_retrieval_history_count,
hyve_retrieval_history_message_length and hyve_retrieval_query filters.

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: HardeepAsrani <2649903+HardeepAsrani@users.noreply.github.com>
GPT-3.5 doesn't support the structured-output (json_schema) response format
Hyve requires, so it errored on every chat. Remove it and add the GPT-5.4
family (5.4 / 5.4-mini / 5.4-nano) alongside the existing GPT-4.1 and GPT-4o
families. Every listed model is verified against the live API to support
structured outputs plus the temperature/top_p controls.

Switch the model picker to a compact dropdown (the radio list grew too tall),
surfacing the selected model's description as help text.

Existing sites set to GPT-3.5 fall back to GPT-4o mini (resolve_chat_model), and
a still-valid but no-longer-listed saved model is preserved in the picker.

Closes Codeinwp/hyve#221
@pirate-bot

pirate-bot commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

🌍 i18n String Review Report

📊 Summary

Category Count
➕ Added 334
➖ Removed 123
🔄 Changed 0
Total 457
➕ Added Strings (334) - Click to expand
String Location Words Suggested Match
Settings are already up to date. inc/API.php:336 6 No settings to update.
An unexpected error occurred while indexing thi... inc/DB_Table.php:709 8 An error occurred while processing the request.
Please fix the problem and re-add this content. inc/DB_Table.php:826 8 The content failed moderation policies.
AI Assistant inc/Main.php:765 2 Assistant
Send message inc/Main.php:776 2 Write a reply…
Get Pro Version inc/Main.php:1154 3 Get Hyve Pro!
Hyve could not connect to Qdrant. inc/Main.php:1260 6 Failed to deactivate Qdrant.
Please check your API key and endpoint URL in t... inc/Main.php:1260 12 Please check your API key and endpoint URL.
API key is missing. inc/OpenAI.php:589 4 Incorrect API key provided.
OpenAI could not authenticate the request. Ple... inc/OpenAI.php:1032 11 Incorrect API key provided.
Your OpenAI API key lacks permission for this o... inc/OpenAI.php:1033 17 You have insufficient permissions for this operation.
The OpenAI API key is incorrect. Please double... inc/OpenAI.php:1037 12 Incorrect API key provided.
Hyve could not authenticate with Qdrant. Pleas... inc/Qdrant_API.php:462 18 Please check your API key and endpoint URL.
Pro · Expired src/backend/components/Head... 3 Pro
Pro · Inactive src/backend/components/Head... 3 Pro
Upgrade to Pro src/backend/components/Head... 3 Upgrade to Premium
Override moderation src/backend/components/Mode... 2 Override Moderation
[%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 content src/backend/components/Setu... 2 Add Data
The content Hyve draws its answers from. src/backend/router.js:40 7 A list of all the content that has been added to the Knowledge Base. It's the foundation that supports your chat assistant, enabling it to provide accurate and insightful responses.
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.
Conversation src/backend/router.js:131 1 Clear Conversation
Chat src/backend/router.js:149 1 Hyve Chat
Flagship frontier model, the highest quality at... src/backend/screens/AI.js:36 10 Most accurate and capable model — ideal for complex tasks.
Newest mini-tier model balancing intelligence ... src/backend/screens/AI.js:44 7 Newest mini-tier model balancing intelligence and cost.
Newest cost-optimized model, built for high-v... src/backend/screens/AI.js:52 7 Ultra-fast and low-cost — best for lightweight and high-traffic chats.
Unable to prepare encryption for connection cre... inc/API.php:530 7 No close match
Unable to encrypt connection credentials. inc/API.php:534 5 No close match
Sources inc/API.php:1579 1 No close match
Source %1$d: %2$s inc/API.php:1610 3 No close match
Failed to update post. inc/DB_Table.php:626 4 No close match
Failed to insert post. inc/DB_Table.php:640 4 No close match
It will be retried automatically. inc/DB_Table.php:825 5 No close match
Hyve encryption keys have changed. Please upda... inc/Main.php:122 22 No close match
This information is provided to help you disclo... inc/Main.php:144 26 No close match
When visitors use the Hyve chat assistant on th... inc/Main.php:146 35 No close match
To generate replies, the messages are also sent... inc/Main.php:147 44 No close match
For details on how OpenAI handles data, see Ope... inc/Main.php:148 13 No close match
This site also uses Qdrant, a third-party vect... inc/Main.php:152 31 No close match
Online inc/Main.php:766 1 No close match
Mute Sound inc/Main.php:772 2 No close match
Unmute Sound inc/Main.php:773 2 No close match
Open chat inc/Main.php:774 2 No close match
Close chat inc/Main.php:775 2 No close match
Preview mode — test your assistant here. These... inc/Main.php:777 11 No close match
By chatting, you agree to our %s. inc/Main.php:787 7 No close match
Privacy Policy inc/Main.php:795 2 No close match
Dismiss inc/Main.php:796 1 No close match
The document could not be scanned. inc/OpenAI.php:314 6 No close match
cURL is not available. inc/OpenAI.php:593 4 No close match
Invalid params. inc/OpenAI.php:602 2 No close match
Streaming failed. inc/OpenAI.php:653 2 No close match
Streaming request failed. inc/OpenAI.php:702 3 No close match
Your OpenAI account has no available credits. ... inc/OpenAI.php:1031 28 No close match
Your OpenAI organization could not be found or ... inc/OpenAI.php:1034 18 No close match
Billing is not active on your OpenAI account. ... inc/OpenAI.php:1043 18 No close match
Your OpenAI account has been deactivated. Plea... inc/OpenAI.php:1044 13 No close match
OpenAI returned a rate limit response (HTTP 42... inc/OpenAI.php:1047 48 No close match
Your Qdrant collection or cluster could not be ... inc/Qdrant_API.php:467 23 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
API connected src/backend/components/Head... 2 No close match
API not connected src/backend/components/Head... 3 No close match
Docs src/backend/components/Head... 1 No close match
Occasionally, OpenAI's Moderation system may in... src/backend/components/Mode... 69 No close match
Cancel src/backend/components/Mode... 1 No close match
Previous src/backend/components/Pagi... 1 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 API key src/backend/components/Setu... 3 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
Settings sections src/backend/components/Side... 2 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
An overview of how Hyve is performing on your s... src/backend/router.js:30 10 No close match
Needs attention src/backend/router.js:53 2 No close match
Documents src/backend/router.js:104 1 No close match
Import PDF, Word, Markdown, Text, or CSV files ... src/backend/router.js:105 12 No close match
Conversations src/backend/router.js:127 1 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
AI src/backend/router.js:160 1 No close match
API access src/backend/router.js:172 2 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
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
Most capable reasoning model. Thinks before an... src/backend/screens/AI.js:60 14 No close match
... ... and 234 more ...
Total 2366
➖ Removed Strings (123) - Click to expand
String Location
No settings to update. inc/API.php:292
Incorrect API key provided. inc/BaseAPI.php:55
You have insufficient permissions for this oper... inc/BaseAPI.php:56
Invalid credentials. inc/Main.php:662
Please check your API key and endpoint URL. inc/Main.php:662
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...
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...
Unique chat sessions created by your users. src/backend/parts/Home.js:30
Total messages exchanged between users and Hyve. src/backend/parts/Home.js:38
Current knowledge base chunks used. src/backend/parts/Home.js:48
In Knowledge Base, view and remove any Posts/Pa... src/backend/parts/Home.js:104
Personalize src/backend/parts/Home.js:113
Customize Hyve's behavior and appearance to bet... src/backend/parts/Home.js:114
Check out our documentation or contact support ... src/backend/parts/Home.js:124
Enable Chat on all the pages src/backend/parts/Home.js:140
Display the Chat on all the pages. src/backend/parts/Home.js:150
For specific pages, use the Hyve Gutenberg Block. src/backend/parts/Home.js:155
Enable Chat src/backend/parts/Home.js:162
Enable src/backend/parts/Home.js:163
Disable src/backend/parts/Home.js:169
Overview src/backend/parts/Home.js:202
Get Started src/backend/parts/Home.js:242
Chat Usage src/backend/parts/Home.js:283
Welcome to Hyve! Designed to seamlessly integr... src/backend/parts/Home.js:307
To begin using the Hyve plugin, you'll need an ... src/backend/parts/Home.js:314
Setup API Key src/backend/parts/Home.js:326
Documentation src/backend/parts/Home.js:335
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/...
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 Settings src/backend/parts/settings/...
Appearance customization is a Premium feature src/backend/parts/settings/...
Customize the look and feel of your chat box wi... src/backend/parts/settings/...
Chat Icons src/backend/parts/settings/...
Assistant Settings src/backend/parts/settings/...
Choose the AI model that powers your chatbot. ... src/backend/parts/settings/...
Most accurate and capable model — ideal for com... src/backend/parts/settings/...
Faster and cheaper than full GPT-4.1 — great ... src/backend/parts/settings/...
Ultra-fast and low-cost — best for lightweigh... src/backend/parts/settings/...
Fast, smart, and cost-effective — best for mos... src/backend/parts/settings/...
Optimized for real-time chats — faster and che... src/backend/parts/settings/...
GPT-3.5 Turbo 0125 src/backend/parts/settings/...
Legacy model for basic tasks. src/backend/parts/settings/...
Temperature src/backend/parts/settings/...
What sampling temperature to use, between 0 and... src/backend/parts/settings/...
Top P src/backend/parts/settings/...
An alternative to sampling with temperature, ca... src/backend/parts/settings/...
Suggested Questions is a Premium feature src/backend/parts/settings/...
Get the conversation started with suggested que... src/backend/parts/settings/...
... and 23 more

HardeepAsrani and others added 12 commits July 13, 2026 20:40
Add two custom capabilities so support staff can review conversations
without full dashboard access:

- hyve_read_messages: view the Messages page and read conversations
- hyve_manage_messages: delete conversations and export them

Administrators receive both automatically; other roles can be granted
either capability with a role-editor plugin or WP_Role::add_cap().

Also register every dashboard section as a WP submenu that deep-links
into the app. Messages is gated on hyve_read_messages, the rest on
manage_options, so a read-only user only sees Messages and the app
opens in a messages-only view. The threads REST endpoints are gated
per action (read for listing, manage for deleting).
* feat: add custom system prompt for the assistant

* fix: make custom system prompt reliably override the built-in tone

* fix: set translations workflow permissions

Co-authored-by: HardeepAsrani <2649903+HardeepAsrani@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: HardeepAsrani <2649903+HardeepAsrani@users.noreply.github.com>
* chore: save progress

* chore: save progress

* chore: save progress

* chore: save progress

* chore: save progress

* chore: save progress

* chore: save progress

* chore: save progress

* chore: save progress

* chore: save progress

* chore: save progress

* chore: save progress

* chore: save progress

* chore: save progress

* chore: save progress

* chore: save progress

* chore: save progress

* chore: save progress

* chore: save progress

* chore: save progress

* chore: save progress

* fix: align App.js indentation

Co-authored-by: HardeepAsrani <2649903+HardeepAsrani@users.noreply.github.com>

* wip

* wip

* fix: qa issues

* chore: gate pro features

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: HardeepAsrani <2649903+HardeepAsrani@users.noreply.github.com>
* chore: save progress

* chore: save progress

* chore: save progress

* chore: save progress

* chore: save progress

* chore: save progress

* chore: save progress

* chore: save progress

* chore: save progress

* chore: save progress

* chore: save progress

* chore: save progress

* chore: save progress

* chore: save progress

* chore: save progress

* chore: save progress

* chore: save progress

* chore: save progress

* chore: save progress

* chore: save progress

* chore: save progress

* fix: align App.js indentation

Co-authored-by: HardeepAsrani <2649903+HardeepAsrani@users.noreply.github.com>

* wip

* wip

* chore: add about us page

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: HardeepAsrani <2649903+HardeepAsrani@users.noreply.github.com>
* chore: save progress

* chore: save progress

* chore: save progress

* chore: save progress

* chore: save progress

* chore: save progress

* chore: save progress

* chore: save progress

* chore: save progress

* chore: save progress

* chore: save progress

* chore: save progress

* chore: save progress

* chore: save progress

* chore: save progress

* chore: save progress

* chore: save progress

* chore: save progress

* chore: save progress

* chore: save progress

* chore: save progress

* feat: proactive chat teaser for the widget

Show a configurable invite bubble next to the closed launcher when a
trigger fires: time on page, exit intent (desktop only), or scroll
depth. The teaser is UI only, so no thread or API call happens until
the visitor sends a message. It shows at most once per session, never
returns after dismissal, and is suppressed for open windows, active
conversations, inline placements, and the admin preview. It follows
the assistant background color with is-dark contrast, plays the chat
sound where autoplay allows, and announces itself via role=status
without moving focus.

The Chat Behavior screen gets a pro-gated Proactive message card:
trigger select (Disabled by default), per-trigger setting, and an
invite message field with a preview button that drives the floating
admin preview widget through the new previewTeaser method.

* test: cover the locked proactive message card on free

* fix: align App.js indentation

Co-authored-by: HardeepAsrani <2649903+HardeepAsrani@users.noreply.github.com>

* wip

* wip

* fix: qa issues

* chore: gate pro features

* chore: gate pro features

* chore: gate pro features

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: HardeepAsrani <2649903+HardeepAsrani@users.noreply.github.com>
* chore: save progress

* chore: save progress

* chore: save progress

* chore: save progress

* chore: save progress

* chore: save progress

* chore: save progress

* chore: save progress

* chore: save progress

* chore: save progress

* chore: save progress

* chore: save progress

* chore: save progress

* chore: save progress

* chore: save progress

* chore: save progress

* chore: save progress

* chore: save progress

* chore: save progress

* chore: save progress

* chore: save progress

* feat: encrypt sensitive settings

* fix: resolve merge conflicts with origin/development

Co-authored-by: HardeepAsrani <2649903+HardeepAsrani@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: HardeepAsrani <2649903+HardeepAsrani@users.noreply.github.com>
Bumps [codeinwp/themeisle-sdk](https://github.com/Codeinwp/themeisle-sdk) from 3.3.54 to 3.3.57.
- [Release notes](https://github.com/Codeinwp/themeisle-sdk/releases)
- [Changelog](https://github.com/Codeinwp/themeisle-sdk/blob/v3.3.57/CHANGELOG.md)
- [Commits](Codeinwp/themeisle-sdk@v3.3.54...v3.3.57)

---
updated-dependencies:
- dependency-name: codeinwp/themeisle-sdk
  dependency-version: 3.3.57
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
)

Bumps [wp-coding-standards/wpcs](https://github.com/WordPress/WordPress-Coding-Standards) from 3.3.0 to 3.4.0.
- [Release notes](https://github.com/WordPress/WordPress-Coding-Standards/releases)
- [Changelog](https://github.com/WordPress/WordPress-Coding-Standards/blob/develop/CHANGELOG.md)
- [Commits](WordPress/WordPress-Coding-Standards@3.3.0...3.4.0)

---
updated-dependencies:
- dependency-name: wp-coding-standards/wpcs
  dependency-version: 3.4.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [phpstan/phpstan](https://github.com/phpstan/phpstan-phar-composer-source) from 2.2.3 to 2.2.5.
- [Commits](https://github.com/phpstan/phpstan-phar-composer-source/commits)

---
updated-dependencies:
- dependency-name: phpstan/phpstan
  dependency-version: 2.2.5
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
fix: add UTM params to copyright link
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.

5 participants