Changeset 3789032
- Timestamp:
- 11/07/2026 06:13:02 AM (10 hours ago)
- Location:
- hey-trisha
- Files:
-
- 8 edited
- 1 copied
-
tags/2.3.2 (copied) (copied from hey-trisha/trunk )
-
tags/2.3.2/assets/css/smart-assistant.css (modified) (9 diffs)
-
tags/2.3.2/assets/js/content-seo-editor.js (modified) (17 diffs)
-
tags/2.3.2/heytrisha-woo.php (modified) (2 diffs)
-
tags/2.3.2/readme.txt (modified) (3 diffs)
-
trunk/assets/css/smart-assistant.css (modified) (9 diffs)
-
trunk/assets/js/content-seo-editor.js (modified) (17 diffs)
-
trunk/heytrisha-woo.php (modified) (2 diffs)
-
trunk/readme.txt (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
hey-trisha/tags/2.3.2/assets/css/smart-assistant.css
r3784773 r3789032 398 398 } 399 399 400 /* HeyTrisha Suggestion meta box (above Yoast / SEO plugins) */ 400 /* HeyTrisha Suggestion meta box (above Yoast / SEO plugins). 401 Block editor zeroes .inside padding, so the widget supplies the inset. */ 401 402 #heytrisha_content_seo .inside, 402 403 .heytrisha-seo-root { … … 405 406 } 406 407 408 #heytrisha_content_seo, 409 .heytrisha-seo-root, 407 410 .heytrisha-seo-widget { 408 padding: 8px 4px 10px;411 max-width: 100%; 409 412 box-sizing: border-box; 413 } 414 415 .heytrisha-seo-widget { 416 padding: 16px 20px 20px; 417 color: #1d2327; 418 font-size: 13px; 419 line-height: 1.5; 410 420 } 411 421 … … 417 427 .heytrisha-seo-collapsed-row { 418 428 display: flex; 429 flex-wrap: wrap; 419 430 align-items: center; 420 justify-content: space-between; 421 gap: 16px; 431 gap: 12px 20px; 422 432 width: 100%; 423 433 } 424 434 425 435 .heytrisha-seo-collapsed-row .heytrisha-seo-intro { 426 flex: 1 1 auto;436 flex: 1 1 280px; 427 437 min-width: 0; 428 438 margin: 0; … … 433 443 color: #50575e; 434 444 font-size: 13px; 435 line-height: 1. 45;445 line-height: 1.5; 436 446 } 437 447 … … 444 454 display: flex; 445 455 align-items: center; 446 justify-content: flex-end;456 margin-left: auto; 447 457 } 448 458 449 459 .heytrisha-seo-bar-actions .button { 450 460 white-space: nowrap; 461 min-width: 96px; 462 text-align: center; 463 margin: 0; 451 464 } 452 465 … … 458 471 } 459 472 473 .heytrisha-seo-loading { 474 display: flex; 475 align-items: center; 476 gap: 10px; 477 margin: 0; 478 color: #50575e; 479 } 480 481 .heytrisha-seo-loading .heytrisha-sa-spinner { 482 margin: 0; 483 width: 16px; 484 height: 16px; 485 border-width: 2px; 486 flex: 0 0 auto; 487 } 488 460 489 .heytrisha-seo-status .heytrisha-sa-error { 461 490 margin: 0; … … 468 497 } 469 498 470 .heytrisha-seo-status .heytrisha-sa-spinner {471 margin: 8px auto;472 }473 474 499 .heytrisha-seo-widget.is-expanded .heytrisha-seo-intro { 475 margin: 0 0 12px; 500 margin: 0 0 14px; 501 max-width: 78ch; 476 502 } 477 503 478 504 .heytrisha-seo-widget.is-expanded .heytrisha-seo-status { 479 margin: 0 0 12px; 505 margin: 0 0 14px; 506 } 507 508 .heytrisha-seo-widget .heytrisha-sa-store-summary, 509 .heytrisha-seo-widget .heytrisha-sa-store-missing { 510 margin: 0 0 14px; 480 511 } 481 512 482 513 .heytrisha-seo-summary { 483 margin: 0 0 1 2px;514 margin: 0 0 16px; 484 515 color: #1d2327; 485 516 } 486 517 518 .heytrisha-seo-fields { 519 display: grid; 520 grid-template-columns: repeat(2, minmax(0, 1fr)); 521 gap: 16px 20px; 522 margin: 0 0 16px; 523 } 524 487 525 .heytrisha-seo-field { 488 margin: 0 0 14px; 489 padding-bottom: 12px; 490 border-bottom: 1px solid #f0f0f1; 526 min-width: 0; 527 margin: 0; 528 padding: 0; 529 border: 0; 530 } 531 532 .heytrisha-seo-field.is-wide { 533 grid-column: 1 / -1; 491 534 } 492 535 … … 494 537 display: flex; 495 538 justify-content: space-between; 496 gap: 8px;539 gap: 12px; 497 540 align-items: baseline; 498 541 margin-bottom: 6px; … … 505 548 506 549 .heytrisha-seo-input { 550 display: block; 507 551 width: 100%; 508 552 max-width: 100%; 553 margin: 0; 554 padding: 8px 10px; 509 555 box-sizing: border-box; 510 556 } 511 557 558 textarea.heytrisha-seo-input { 559 min-height: 72px; 560 resize: vertical; 561 line-height: 1.5; 562 } 563 564 .heytrisha-seo-widget .heytrisha-sa-section { 565 margin: 0 0 16px; 566 padding: 14px 16px; 567 border: 1px solid #dcdcde; 568 border-radius: 4px; 569 background: #f6f7f7; 570 } 571 572 .heytrisha-seo-widget .heytrisha-sa-section-title { 573 margin: 0 0 8px; 574 } 575 576 .heytrisha-seo-widget .heytrisha-sa-sources { 577 margin: 0; 578 padding-left: 18px; 579 } 580 512 581 .heytrisha-seo-actions { 513 582 display: flex; 514 583 flex-wrap: wrap; 584 justify-content: flex-end; 515 585 gap: 8px; 516 margin-top: 8px; 517 } 518 519 .heytrisha-seo-actions .button-primary { 520 min-width: 88px; 586 margin: 4px 0 0; 587 padding-top: 16px; 588 border-top: 1px solid #dcdcde; 589 } 590 591 .heytrisha-seo-actions .button { 592 margin: 0; 593 min-width: 108px; 594 text-align: center; 521 595 } 522 596 523 597 @media screen and (max-width: 782px) { 598 .heytrisha-seo-widget { 599 padding: 14px 14px 16px; 600 } 601 524 602 .heytrisha-seo-collapsed-row { 525 flex-direction: column;526 603 align-items: stretch; 527 604 } 528 605 529 606 .heytrisha-seo-bar-actions { 530 justify-content: flex-start; 607 margin-left: 0; 608 width: 100%; 531 609 } 532 610 533 .heytrisha-seo-bar-actions .button { 611 .heytrisha-seo-bar-actions .button, 612 .heytrisha-seo-actions .button { 534 613 width: 100%; 535 text-align: center;536 614 } 537 } 615 616 .heytrisha-seo-fields { 617 grid-template-columns: minmax(0, 1fr); 618 } 619 620 .heytrisha-seo-field.is-wide { 621 grid-column: auto; 622 } 623 624 .heytrisha-seo-actions { 625 justify-content: stretch; 626 } 627 } -
hey-trisha/tags/2.3.2/assets/js/content-seo-editor.js
r3784773 r3789032 264 264 var value = props.value == null ? '' : String(props.value); 265 265 var isArea = !!props.multiline; 266 return el('div', { className: 'heytrisha-seo-field' },266 return el('div', { className: 'heytrisha-seo-field' + (isArea ? ' is-wide' : '') }, 267 267 el('div', { className: 'heytrisha-seo-field-head' }, 268 268 el('label', { className: 'heytrisha-seo-field-label', htmlFor: props.id }, props.label), … … 450 450 } 451 451 if (loading) { 452 statusChildren.push(el('div', { key: 'spin', className: 'heytrisha-sa-spinner', 'aria-hidden': 'true' })); 452 statusChildren.push(el('div', { key: 'loading', className: 'heytrisha-seo-loading' }, 453 el('div', { className: 'heytrisha-sa-spinner', 'aria-hidden': 'true' }), 454 el('span', null, i18n.analyzing || 'Preparing accurate suggestions…') 455 )); 453 456 } 454 457 if (error) { … … 469 472 disabled: !post.title || loading, 470 473 onClick: suggest 471 }, loading ? (i18n.analyzing || 'Preparing accurate suggestions…') : (i18n.analyze || 'Suggest'))474 }, i18n.analyze || 'Suggest') 472 475 ) 473 476 ), … … 494 497 } 495 498 496 children.push(el(FieldInput, { 499 var fields = []; 500 fields.push(el(FieldInput, { 497 501 key: 'seo_title', 498 502 id: 'heytrisha-seo-title', … … 502 506 onChange: function (value) { updateDraft('seo_title', value); } 503 507 })); 504 children.push(el(FieldInput, {508 fields.push(el(FieldInput, { 505 509 key: 'meta_description', 506 510 id: 'heytrisha-seo-description', … … 512 516 onChange: function (value) { updateDraft('meta_description', value); } 513 517 })); 514 children.push(el(FieldInput, {518 fields.push(el(FieldInput, { 515 519 key: 'focus_keyword', 516 520 id: 'heytrisha-seo-focus', … … 519 523 onChange: function (value) { updateDraft('focus_keyword', value); } 520 524 })); 521 children.push(el(FieldInput, {525 fields.push(el(FieldInput, { 522 526 key: 'secondary_keywords', 523 527 id: 'heytrisha-seo-secondary', … … 526 530 onChange: function (value) { updateDraft('secondary_keywords', value); } 527 531 })); 528 children.push(el(FieldInput, {532 fields.push(el(FieldInput, { 529 533 key: 'targeting_locations', 530 534 id: 'heytrisha-seo-locations', … … 535 539 onChange: function (value) { updateDraft('targeting_locations', value); } 536 540 })); 537 children.push(el(FieldInput, {541 fields.push(el(FieldInput, { 538 542 key: 'slug', 539 543 id: 'heytrisha-seo-slug', … … 542 546 onChange: function (value) { updateDraft('slug', value); } 543 547 })); 544 children.push(el(FieldInput, {548 fields.push(el(FieldInput, { 545 549 key: 'excerpt', 546 550 id: 'heytrisha-seo-excerpt', … … 551 555 onChange: function (value) { updateDraft('excerpt', value); } 552 556 })); 553 children.push(el(FieldInput, {557 fields.push(el(FieldInput, { 554 558 key: 'og_title', 555 559 id: 'heytrisha-seo-og-title', … … 559 563 onChange: function (value) { updateDraft('og_title', value); } 560 564 })); 561 children.push(el(FieldInput, {565 fields.push(el(FieldInput, { 562 566 key: 'og_description', 563 567 id: 'heytrisha-seo-og-description', … … 568 572 onChange: function (value) { updateDraft('og_description', value); } 569 573 })); 570 children.push(el(FieldInput, {574 fields.push(el(FieldInput, { 571 575 key: 'schema_type', 572 576 id: 'heytrisha-seo-schema', … … 576 580 })); 577 581 if ((post.type || '') !== 'page') { 578 children.push(el(FieldInput, {582 fields.push(el(FieldInput, { 579 583 key: 'tags', 580 584 id: 'heytrisha-seo-tags', … … 583 587 onChange: function (value) { updateDraft('tags', value); } 584 588 })); 585 children.push(el(FieldInput, {589 fields.push(el(FieldInput, { 586 590 key: 'categories', 587 591 id: 'heytrisha-seo-categories', … … 591 595 })); 592 596 } 597 598 children.push(el('div', { key: 'fields', className: 'heytrisha-seo-fields' }, fields)); 593 599 594 600 if (suggestions) { … … 633 639 disabled: loading || applying, 634 640 onClick: suggest 635 }, loading ? (i18n.analyzing || 'Preparing accurate suggestions…') : (i18n.regenerate || 'Re-generate')),641 }, i18n.regenerate || 'Re-generate'), 636 642 el('button', { 637 643 type: 'button', -
hey-trisha/tags/2.3.2/heytrisha-woo.php
r3784775 r3789032 4 4 * Plugin URI: https://heytrisha.com 5 5 * Description: AI chatbot for any WordPress site. It reads the site, writes a description, and answers from that knowledge. WooCommerce and other data tables stay optional. 6 * Version: 2.3. 16 * Version: 2.3.2 7 7 * Author: Manikandan Chandran 8 8 * Author URI: https://manikandanchandran.com/ … … 123 123 // Define plugin constants (with defined() checks for safety during upgrades) 124 124 if (!defined('HEYTRISHA_VERSION')) { 125 define('HEYTRISHA_VERSION', '2.3. 1');125 define('HEYTRISHA_VERSION', '2.3.2'); 126 126 } 127 127 if (!defined('HEYTRISHA_PLUGIN_DIR')) { -
hey-trisha/tags/2.3.2/readme.txt
r3784775 r3789032 5 5 Tested up to: 7.1 6 6 Requires PHP: 7.4.3 7 Stable tag: 2.3. 17 Stable tag: 2.3.2 8 8 License: MIT 9 9 License URI: https://opensource.org/licenses/MIT … … 160 160 == Changelog == 161 161 162 = 2.3.2 - 2026-11-07 = 163 * IMPROVED: Page and post suggestion box padding, field layout, and the collapsed Suggest bar 164 162 165 = 2.3.1 - 2026-11-05 = 163 166 * NEW: HeyTrisha Suggestion meta box above Yoast on page and post editors … … 286 289 == Upgrade Notice == 287 290 291 = 2.3.2 = 292 Fixes spacing and layout in the page and post HeyTrisha Suggestion box. 293 288 294 = 2.3.1 = 289 295 Adds the HeyTrisha Suggestion meta box above Yoast with Suggest, Re-generate, and Apply for SEO fields including targeting locations. -
hey-trisha/trunk/assets/css/smart-assistant.css
r3784773 r3789032 398 398 } 399 399 400 /* HeyTrisha Suggestion meta box (above Yoast / SEO plugins) */ 400 /* HeyTrisha Suggestion meta box (above Yoast / SEO plugins). 401 Block editor zeroes .inside padding, so the widget supplies the inset. */ 401 402 #heytrisha_content_seo .inside, 402 403 .heytrisha-seo-root { … … 405 406 } 406 407 408 #heytrisha_content_seo, 409 .heytrisha-seo-root, 407 410 .heytrisha-seo-widget { 408 padding: 8px 4px 10px;411 max-width: 100%; 409 412 box-sizing: border-box; 413 } 414 415 .heytrisha-seo-widget { 416 padding: 16px 20px 20px; 417 color: #1d2327; 418 font-size: 13px; 419 line-height: 1.5; 410 420 } 411 421 … … 417 427 .heytrisha-seo-collapsed-row { 418 428 display: flex; 429 flex-wrap: wrap; 419 430 align-items: center; 420 justify-content: space-between; 421 gap: 16px; 431 gap: 12px 20px; 422 432 width: 100%; 423 433 } 424 434 425 435 .heytrisha-seo-collapsed-row .heytrisha-seo-intro { 426 flex: 1 1 auto;436 flex: 1 1 280px; 427 437 min-width: 0; 428 438 margin: 0; … … 433 443 color: #50575e; 434 444 font-size: 13px; 435 line-height: 1. 45;445 line-height: 1.5; 436 446 } 437 447 … … 444 454 display: flex; 445 455 align-items: center; 446 justify-content: flex-end;456 margin-left: auto; 447 457 } 448 458 449 459 .heytrisha-seo-bar-actions .button { 450 460 white-space: nowrap; 461 min-width: 96px; 462 text-align: center; 463 margin: 0; 451 464 } 452 465 … … 458 471 } 459 472 473 .heytrisha-seo-loading { 474 display: flex; 475 align-items: center; 476 gap: 10px; 477 margin: 0; 478 color: #50575e; 479 } 480 481 .heytrisha-seo-loading .heytrisha-sa-spinner { 482 margin: 0; 483 width: 16px; 484 height: 16px; 485 border-width: 2px; 486 flex: 0 0 auto; 487 } 488 460 489 .heytrisha-seo-status .heytrisha-sa-error { 461 490 margin: 0; … … 468 497 } 469 498 470 .heytrisha-seo-status .heytrisha-sa-spinner {471 margin: 8px auto;472 }473 474 499 .heytrisha-seo-widget.is-expanded .heytrisha-seo-intro { 475 margin: 0 0 12px; 500 margin: 0 0 14px; 501 max-width: 78ch; 476 502 } 477 503 478 504 .heytrisha-seo-widget.is-expanded .heytrisha-seo-status { 479 margin: 0 0 12px; 505 margin: 0 0 14px; 506 } 507 508 .heytrisha-seo-widget .heytrisha-sa-store-summary, 509 .heytrisha-seo-widget .heytrisha-sa-store-missing { 510 margin: 0 0 14px; 480 511 } 481 512 482 513 .heytrisha-seo-summary { 483 margin: 0 0 1 2px;514 margin: 0 0 16px; 484 515 color: #1d2327; 485 516 } 486 517 518 .heytrisha-seo-fields { 519 display: grid; 520 grid-template-columns: repeat(2, minmax(0, 1fr)); 521 gap: 16px 20px; 522 margin: 0 0 16px; 523 } 524 487 525 .heytrisha-seo-field { 488 margin: 0 0 14px; 489 padding-bottom: 12px; 490 border-bottom: 1px solid #f0f0f1; 526 min-width: 0; 527 margin: 0; 528 padding: 0; 529 border: 0; 530 } 531 532 .heytrisha-seo-field.is-wide { 533 grid-column: 1 / -1; 491 534 } 492 535 … … 494 537 display: flex; 495 538 justify-content: space-between; 496 gap: 8px;539 gap: 12px; 497 540 align-items: baseline; 498 541 margin-bottom: 6px; … … 505 548 506 549 .heytrisha-seo-input { 550 display: block; 507 551 width: 100%; 508 552 max-width: 100%; 553 margin: 0; 554 padding: 8px 10px; 509 555 box-sizing: border-box; 510 556 } 511 557 558 textarea.heytrisha-seo-input { 559 min-height: 72px; 560 resize: vertical; 561 line-height: 1.5; 562 } 563 564 .heytrisha-seo-widget .heytrisha-sa-section { 565 margin: 0 0 16px; 566 padding: 14px 16px; 567 border: 1px solid #dcdcde; 568 border-radius: 4px; 569 background: #f6f7f7; 570 } 571 572 .heytrisha-seo-widget .heytrisha-sa-section-title { 573 margin: 0 0 8px; 574 } 575 576 .heytrisha-seo-widget .heytrisha-sa-sources { 577 margin: 0; 578 padding-left: 18px; 579 } 580 512 581 .heytrisha-seo-actions { 513 582 display: flex; 514 583 flex-wrap: wrap; 584 justify-content: flex-end; 515 585 gap: 8px; 516 margin-top: 8px; 517 } 518 519 .heytrisha-seo-actions .button-primary { 520 min-width: 88px; 586 margin: 4px 0 0; 587 padding-top: 16px; 588 border-top: 1px solid #dcdcde; 589 } 590 591 .heytrisha-seo-actions .button { 592 margin: 0; 593 min-width: 108px; 594 text-align: center; 521 595 } 522 596 523 597 @media screen and (max-width: 782px) { 598 .heytrisha-seo-widget { 599 padding: 14px 14px 16px; 600 } 601 524 602 .heytrisha-seo-collapsed-row { 525 flex-direction: column;526 603 align-items: stretch; 527 604 } 528 605 529 606 .heytrisha-seo-bar-actions { 530 justify-content: flex-start; 607 margin-left: 0; 608 width: 100%; 531 609 } 532 610 533 .heytrisha-seo-bar-actions .button { 611 .heytrisha-seo-bar-actions .button, 612 .heytrisha-seo-actions .button { 534 613 width: 100%; 535 text-align: center;536 614 } 537 } 615 616 .heytrisha-seo-fields { 617 grid-template-columns: minmax(0, 1fr); 618 } 619 620 .heytrisha-seo-field.is-wide { 621 grid-column: auto; 622 } 623 624 .heytrisha-seo-actions { 625 justify-content: stretch; 626 } 627 } -
hey-trisha/trunk/assets/js/content-seo-editor.js
r3784773 r3789032 264 264 var value = props.value == null ? '' : String(props.value); 265 265 var isArea = !!props.multiline; 266 return el('div', { className: 'heytrisha-seo-field' },266 return el('div', { className: 'heytrisha-seo-field' + (isArea ? ' is-wide' : '') }, 267 267 el('div', { className: 'heytrisha-seo-field-head' }, 268 268 el('label', { className: 'heytrisha-seo-field-label', htmlFor: props.id }, props.label), … … 450 450 } 451 451 if (loading) { 452 statusChildren.push(el('div', { key: 'spin', className: 'heytrisha-sa-spinner', 'aria-hidden': 'true' })); 452 statusChildren.push(el('div', { key: 'loading', className: 'heytrisha-seo-loading' }, 453 el('div', { className: 'heytrisha-sa-spinner', 'aria-hidden': 'true' }), 454 el('span', null, i18n.analyzing || 'Preparing accurate suggestions…') 455 )); 453 456 } 454 457 if (error) { … … 469 472 disabled: !post.title || loading, 470 473 onClick: suggest 471 }, loading ? (i18n.analyzing || 'Preparing accurate suggestions…') : (i18n.analyze || 'Suggest'))474 }, i18n.analyze || 'Suggest') 472 475 ) 473 476 ), … … 494 497 } 495 498 496 children.push(el(FieldInput, { 499 var fields = []; 500 fields.push(el(FieldInput, { 497 501 key: 'seo_title', 498 502 id: 'heytrisha-seo-title', … … 502 506 onChange: function (value) { updateDraft('seo_title', value); } 503 507 })); 504 children.push(el(FieldInput, {508 fields.push(el(FieldInput, { 505 509 key: 'meta_description', 506 510 id: 'heytrisha-seo-description', … … 512 516 onChange: function (value) { updateDraft('meta_description', value); } 513 517 })); 514 children.push(el(FieldInput, {518 fields.push(el(FieldInput, { 515 519 key: 'focus_keyword', 516 520 id: 'heytrisha-seo-focus', … … 519 523 onChange: function (value) { updateDraft('focus_keyword', value); } 520 524 })); 521 children.push(el(FieldInput, {525 fields.push(el(FieldInput, { 522 526 key: 'secondary_keywords', 523 527 id: 'heytrisha-seo-secondary', … … 526 530 onChange: function (value) { updateDraft('secondary_keywords', value); } 527 531 })); 528 children.push(el(FieldInput, {532 fields.push(el(FieldInput, { 529 533 key: 'targeting_locations', 530 534 id: 'heytrisha-seo-locations', … … 535 539 onChange: function (value) { updateDraft('targeting_locations', value); } 536 540 })); 537 children.push(el(FieldInput, {541 fields.push(el(FieldInput, { 538 542 key: 'slug', 539 543 id: 'heytrisha-seo-slug', … … 542 546 onChange: function (value) { updateDraft('slug', value); } 543 547 })); 544 children.push(el(FieldInput, {548 fields.push(el(FieldInput, { 545 549 key: 'excerpt', 546 550 id: 'heytrisha-seo-excerpt', … … 551 555 onChange: function (value) { updateDraft('excerpt', value); } 552 556 })); 553 children.push(el(FieldInput, {557 fields.push(el(FieldInput, { 554 558 key: 'og_title', 555 559 id: 'heytrisha-seo-og-title', … … 559 563 onChange: function (value) { updateDraft('og_title', value); } 560 564 })); 561 children.push(el(FieldInput, {565 fields.push(el(FieldInput, { 562 566 key: 'og_description', 563 567 id: 'heytrisha-seo-og-description', … … 568 572 onChange: function (value) { updateDraft('og_description', value); } 569 573 })); 570 children.push(el(FieldInput, {574 fields.push(el(FieldInput, { 571 575 key: 'schema_type', 572 576 id: 'heytrisha-seo-schema', … … 576 580 })); 577 581 if ((post.type || '') !== 'page') { 578 children.push(el(FieldInput, {582 fields.push(el(FieldInput, { 579 583 key: 'tags', 580 584 id: 'heytrisha-seo-tags', … … 583 587 onChange: function (value) { updateDraft('tags', value); } 584 588 })); 585 children.push(el(FieldInput, {589 fields.push(el(FieldInput, { 586 590 key: 'categories', 587 591 id: 'heytrisha-seo-categories', … … 591 595 })); 592 596 } 597 598 children.push(el('div', { key: 'fields', className: 'heytrisha-seo-fields' }, fields)); 593 599 594 600 if (suggestions) { … … 633 639 disabled: loading || applying, 634 640 onClick: suggest 635 }, loading ? (i18n.analyzing || 'Preparing accurate suggestions…') : (i18n.regenerate || 'Re-generate')),641 }, i18n.regenerate || 'Re-generate'), 636 642 el('button', { 637 643 type: 'button', -
hey-trisha/trunk/heytrisha-woo.php
r3784775 r3789032 4 4 * Plugin URI: https://heytrisha.com 5 5 * Description: AI chatbot for any WordPress site. It reads the site, writes a description, and answers from that knowledge. WooCommerce and other data tables stay optional. 6 * Version: 2.3. 16 * Version: 2.3.2 7 7 * Author: Manikandan Chandran 8 8 * Author URI: https://manikandanchandran.com/ … … 123 123 // Define plugin constants (with defined() checks for safety during upgrades) 124 124 if (!defined('HEYTRISHA_VERSION')) { 125 define('HEYTRISHA_VERSION', '2.3. 1');125 define('HEYTRISHA_VERSION', '2.3.2'); 126 126 } 127 127 if (!defined('HEYTRISHA_PLUGIN_DIR')) { -
hey-trisha/trunk/readme.txt
r3784775 r3789032 5 5 Tested up to: 7.1 6 6 Requires PHP: 7.4.3 7 Stable tag: 2.3. 17 Stable tag: 2.3.2 8 8 License: MIT 9 9 License URI: https://opensource.org/licenses/MIT … … 160 160 == Changelog == 161 161 162 = 2.3.2 - 2026-11-07 = 163 * IMPROVED: Page and post suggestion box padding, field layout, and the collapsed Suggest bar 164 162 165 = 2.3.1 - 2026-11-05 = 163 166 * NEW: HeyTrisha Suggestion meta box above Yoast on page and post editors … … 286 289 == Upgrade Notice == 287 290 291 = 2.3.2 = 292 Fixes spacing and layout in the page and post HeyTrisha Suggestion box. 293 288 294 = 2.3.1 = 289 295 Adds the HeyTrisha Suggestion meta box above Yoast with Suggest, Re-generate, and Apply for SEO fields including targeting locations.
Note:
See TracChangeset
for help on using the changeset viewer.
![(please configure the [header_logo] section in trac.ini)](/chrome/site/your_project_logo.png)