Plugin Directory

Changeset 3753703


Ignore:
Timestamp:
10/18/2026 11:25:32 PM (13 days ago)
Author:
calltalk
Message:

Release 0.4.0 with guided site connection and automatic widget setup

Location:
call-talk-widget
Files:
4 added
6 edited
1 copied

Legend:

Unmodified
Added
Removed
  • call-talk-widget/tags/0.4.0/assets/admin.css

    r3753670 r3753703  
    2424        font-weight: 600;
    2525        padding-block: 10px;
     26        min-height: 44px;
     27        box-sizing: border-box;
    2628}
    2729
    … …  
    3032        outline-offset: 2px;
    3133}
     34
     35.call-talk-widget-settings .call-talk-connection-card {
     36        background: #fff;
     37        border: 1px solid #c3c4c7;
     38        padding: 16px 20px;
     39        margin-block: 20px;
     40        max-width: 800px;
     41}
     42
     43.call-talk-widget-settings .call-talk-connection-card h2 {
     44        margin-block-start: 0;
     45}
     46
     47.call-talk-widget-settings .call-talk-connect-form {
     48        margin-block-start: 20px;
     49}
     50
     51.call-talk-widget-settings .call-talk-connection-card .button {
     52        white-space: normal;
     53        height: auto;
     54}
  • call-talk-widget/tags/0.4.0/call-talk-widget.php

    r3753670 r3753703  
    44 * Plugin URI: https://call-talk.app/
    55 * Description: Connect your website to the Call Talk cloud service for visitor calls and live chat.
    6  * Version: 0.3.0
     6 * Version: 0.4.0
    77 * Requires at least: 5.8
    88 * Requires PHP: 7.4
    … …  
    2424}
    2525
    26 const CALL_TALK_WIDGET_VERSION            = '0.3.0';
     26const CALL_TALK_WIDGET_VERSION            = '0.4.0';
    2727const CALL_TALK_WIDGET_TOKEN_KEY          = 'call_talk_widget_token';
    2828const CALL_TALK_WIDGET_COMPANY_KEY        = 'call_talk_widget_company_key';
    … …  
    3434const CALL_TALK_WIDGET_LANGUAGE_KEY       = 'call_talk_widget_language';
    3535const CALL_TALK_WIDGET_DEFAULT_SCRIPT_URL = 'https://call-talk.app/widget.js';
     36
     37require_once __DIR__ . '/includes/connection.php';
    3638
    3739add_action( 'admin_init', 'call_talk_widget_register_settings' );
    … …  
    113115                <h1><?php esc_html_e( 'Call Talk Widget', 'call-talk-widget' ); ?></h1>
    114116                <?php // WordPress options-head.php already renders Settings API notices for this Settings page. ?>
    115                 <p><?php esc_html_e( 'Connect this website to your Call Talk account. Your team answers calls and chats in the Call Talk dashboard.', 'call-talk-widget' ); ?></p>
    116                 <p>
    117                         <a class="button button-secondary" href="https://call-talk.app/admin/widget-installation" target="_blank" rel="noopener noreferrer"><?php esc_html_e( 'Open Call Talk Dashboard', 'call-talk-widget' ); ?><span class="screen-reader-text"> <?php esc_html_e( '(opens in a new tab)', 'call-talk-widget' ); ?></span></a>
    118                         <a href="https://call-talk.app/register" target="_blank" rel="noopener noreferrer"><?php esc_html_e( 'Create an account', 'call-talk-widget' ); ?><span class="screen-reader-text"> <?php esc_html_e( '(opens in a new tab)', 'call-talk-widget' ); ?></span></a>
    119                 </p>
    120                 <ol>
    121                         <li><?php esc_html_e( 'Add this website domain in Call Talk under Widget Installation and copy its production widget token.', 'call-talk-widget' ); ?></li>
    122                         <li><?php esc_html_e( 'Paste the public token below, review the service connection, then enable the widget and save.', 'call-talk-widget' ); ?></li>
    123                         <li><?php esc_html_e( 'Open a public page of this website to check the widget. Remove any older Call Talk embed to avoid loading it twice.', 'call-talk-widget' ); ?></li>
    124                 </ol>
     117                <?php call_talk_widget_render_connection_panel(); ?>
     118                <details class="call-talk-manual-setup" <?php echo $url_error || ( '' !== $token && ! call_talk_widget_connection() ) ? 'open' : ''; ?>>
     119                        <summary><?php esc_html_e( 'Manual Token Setup (Optional)', 'call-talk-widget' ); ?></summary>
     120                        <p><?php esc_html_e( 'You can also connect manually: open Widget Installation in Call Talk, add this domain, and paste its public production token below.', 'call-talk-widget' ); ?> <a href="https://call-talk.app/admin/widget-installation" target="_blank" rel="noopener noreferrer"><?php esc_html_e( 'Open Call Talk', 'call-talk-widget' ); ?><span class="screen-reader-text"> <?php esc_html_e( '(opens in a new tab)', 'call-talk-widget' ); ?></span></a></p>
    125121                <?php if ( $enabled && ( ! $consent || ( '' === $token && '' === $company ) ) ) : ?>
    126122                        <div class="notice notice-warning inline"><p><?php esc_html_e( 'The widget is not loading yet. Add a public widget token and allow the service connection below, then save.', 'call-talk-widget' ); ?></p></div>
    … …  
    187183                        <?php submit_button( __( 'Save Call Talk Settings', 'call-talk-widget' ) ); ?>
    188184                </form>
     185                </details>
    189186        </div>
    190187        <?php
    … …  
    257254        return is_array( $parts )
    258255                && isset( $parts['scheme'], $parts['host'] )
    259                 && 'https' === strtolower( $parts['scheme'] )
     256                && ( 'https' === strtolower( $parts['scheme'] )
     257                        || ( 'http' === strtolower( $parts['scheme'] ) && call_talk_widget_allows_local_http()
     258                                && in_array( strtolower( $parts['host'] ), array( 'localhost', '127.0.0.1', '[::1]', 'host.docker.internal' ), true ) ) )
    260259                && '' !== $parts['host']
    261260                && ! isset( $parts['user'] )
    262261                && ! isset( $parts['pass'] )
    263262                && ! isset( $parts['fragment'] )
    264                 && esc_url_raw( $url, array( 'https' ) ) === $url;
     263                && esc_url_raw( $url, call_talk_widget_allows_local_http() ? array( 'https', 'http' ) : array( 'https' ) ) === $url;
    265264}
    266265
  • call-talk-widget/tags/0.4.0/readme.txt

    r3753670 r3753703  
    55Tested up to: 7.1
    66Requires PHP: 7.4
    7 Stable tag: 0.3.0
     7Stable tag: 0.4.0
    88License: GPLv2 or later
    99License URI: https://www.gnu.org/licenses/gpl-2.0.html
    … …  
    1313== Description ==
    1414
    15 Call Talk Widget connects public WordPress pages to the hosted Call Talk communication service. Add the public installation token for your website, allow the service connection, and enable the widget.
     15Call Talk Widget connects public WordPress pages to the hosted Call Talk communication service. Choose Connect to Call Talk, sign in or create an account in Call Talk, and approve this website. The plugin installs the public widget token and enables the widget automatically. Manual token setup remains available.
    1616
    1717Your team answers visitors in the separate Call Talk dashboard. Calls, messages, conversation history, and recordings, where available and enabled, are managed by the service rather than stored in the WordPress database by this plugin. Available channels and features depend on your Call Talk account, plan, and widget configuration.
    1818
    19 * Public, domain-specific widget token setup under Settings > Call Talk Widget.
     19* Guided, administrator-initiated connection under Settings > Call Talk Widget. No manual token copying is needed for this flow.
     20* Optional public, domain-specific token setup for existing integrations.
    2021* Separate service-connection permission and frontend enable switch, both off by default.
    21 * No Call Talk request on activation, in the WordPress admin, or before the service is allowed and the widget enabled with a public token or legacy public key.
     22* No Call Talk request on activation or when opening plugin settings. Connection and disconnection requests run only after an administrator submits the relevant form. Visitor widget loading requires service permission and enabled settings.
    2223* Links to your Call Talk dashboard and account registration.
    2324* Advanced settings for the HTTPS service script, legacy company public keys, and supported theme, language, and channel preferences. The Call Talk service remains authoritative for channels and account features; some display preferences apply only in developer setup mode.
    2425
    25 This plugin does not embed the operator dashboard in WordPress or require Call Talk administrator credentials. Use only the public installation token, which is intended to appear in the website source. Never enter a WordPress password, Call Talk password, private API key, or account access token.
     26This plugin does not embed the operator dashboard or ask for your Call Talk password in WordPress. Account registration and sign-in take place on the Call Talk website. The WordPress administrator identity is not used as a Call Talk login. Dashboard links use your ordinary Call Talk browser session; the plugin does not grant automatic access to your full Call Talk account.
     27
     28For manual setup, use only the public installation token, which is intended to appear in the website source. Never enter a WordPress password, Call Talk password, private API key, or account access token.
    2629
    2730= External service and visitor data =
    … …  
    2932This plugin requires the external Call Talk service at https://call-talk.app and an active account with a plan that supports the configured widget. Service fees or plan limits may apply; see the service website. Installing the plugin does not create an account or purchase a plan.
    3033
    31 After a site administrator explicitly allows the connection and enables the widget, visitor browsers download the hosted widget JavaScript from https://call-talk.app/widget.js. The script provides the cloud service's visitor interface and communicates with its API and real-time services. The plugin itself does not make a server-side Call Talk API request.
     34After a site administrator explicitly allows the connection and enables the widget, visitor browsers download the hosted widget JavaScript from https://call-talk.app/widget.js. The script provides the cloud service's visitor interface and communicates with its API and real-time services. Ordinary page loads do not trigger a server-side Call Talk API request. The explicit Connect and Disconnect actions use server-side integration requests as described below.
     35
     36When an administrator submits Connect after granting permission, the WordPress server sends its site URL, callback URL, random state, and a PKCE code challenge to the configured Call Talk service. No WordPress password, email address, or user database is included. Call Talk asks the user to sign in or register, verify their account where required, and approve the website. A short-lived single-use code is exchanged server to server for the public widget token and a restricted connection credential. The credential is stored in a non-autoloaded WordPress option and is never included in page HTML or visitor JavaScript. It can manage this connection only; it cannot sign in to a full Call Talk account. Temporary state and its verifier are bound to the initiating WordPress administrator and expire after 10 minutes.
     37
     38Disconnect sends the restricted credential to the Call Talk connection endpoint to revoke the link and turns the widget off locally. It does not delete the Call Talk account or conversation history. If the service is unavailable, local widget loading stops immediately and the restricted credential is retained for a retry.
    3239
    3340When the widget loads, the service receives the public widget token or legacy company public key, website origin, full page URL (including its query string), page title, and ordinary network request information such as the visitor IP address and browser information. These are used to load and authorize the website widget. Avoid putting sensitive information in public page URLs or titles.
    … …  
    4552
    46531. Upload the call-talk-widget folder to /wp-content/plugins/, or install the plugin ZIP through Plugins > Add New > Upload Plugin.
    47 2. Activate Call Talk Widget. No service connection is made by activation.
    48 3. Open Settings > Call Talk Widget, then open the Call Talk dashboard in a new tab. Create an account if needed.
    49 4. In Call Talk > Widget Installation, add the exact website domain, complete the widget setup, and copy its production widget token. The domain, including www if used, must match the public website.
    50 5. Paste the public token into WordPress. Read the service disclosure, select Allow this website to connect visitor browsers to the Call Talk service, select Show the widget on public pages, and save.
     542. Activate Call Talk Widget. Activation does not contact Call Talk or create an account.
     553. Open Settings > Call Talk Widget. Review the connection disclosure, select the permission checkbox, and choose Connect to Call Talk.
     564. In Call Talk, sign in to an existing account or create and verify an account. Review the website and approve the connection. An active account and plan supporting the widget are required.
     575. You return to WordPress with the website connected and the widget enabled automatically. No token copying is needed.
    51586. Open a public website page to verify the widget. Remove any previous manual Call Talk embed to avoid duplicate loading, and clear page caches after setup changes.
     59
     60For manual setup, expand Manual Token Setup, open Widget Installation in Call Talk, add the exact public website domain, copy its production widget token, paste it into WordPress, allow the service connection, enable the widget, and save. The domain, including www if used, must match the public website.
     61
     62The guided connection requires HTTPS for both WordPress and Call Talk. Local development may explicitly opt in to HTTP using CALL_TALK_WIDGET_ALLOW_LOCAL_HTTP=true together with WP_ENVIRONMENT_TYPE=local or development; that exception is restricted to local testing and is not enabled by the plugin.
    5263
    5364== Frequently Asked Questions ==
    … …  
    6374= Can I use the same WordPress login for Call Talk? =
    6475
    65 No automatic account linking is provided by this plugin. Sign in to Call Talk separately. The plugin does not read WordPress users or export the WordPress user database.
     76The guided connection links this website to a Call Talk company after you sign in to Call Talk and approve. It does not use your WordPress administrator login as Call Talk authentication, automatically create an account on activation, or export WordPress users. The Call Talk login page may offer WordPress.com sign-in if the service administrator has configured it; WordPress.com is a separate identity provider from a self-hosted WordPress administrator account.
    6677
    6778= Why is the widget not visible? =
    … …  
    7586= Can I stop sending data to the service? =
    7687
    77 Uncheck Service Connection or Enable Widget and save, or deactivate the plugin. This stops loading on subsequent page loads. Clear page caches if necessary. Removing the plugin does not delete your Call Talk account or service conversation history; manage those in Call Talk under its policies.
     88Choose Disconnect to revoke the guided connection and turn the widget off. You can also uncheck Service Connection or Enable Widget in Manual Token Setup and save, or deactivate the plugin; these local controls stop widget loading but do not revoke the server-side connection. Clear page caches if necessary. Removing the plugin does not delete your Call Talk account or service conversation history; manage those in Call Talk under its policies.
    7889
    7990== Upgrade Notice ==
     91
     92= 0.4.0 =
     93Adds guided connection with account sign-in or registration, explicit approval, automatic widget setup, and connection revocation. Existing manual settings remain supported. No account or connection is created by activation or upgrade.
    8094
    8195= 0.3.0 =
    … …  
    8397
    8498== Changelog ==
     99
     100= 0.4.0 =
     101* Added nonce-protected guided connection with short-lived state and PKCE.
     102* Added automatic public widget configuration after Call Talk account approval.
     103* Kept restricted connection credentials server-side and outside REST settings.
     104* Added account/site connection status and remote revocation with safe local disabling.
     105* Preserved optional manual token configuration and ordinary Call Talk dashboard sign-in.
    85106
    86107= 0.3.0 =
  • call-talk-widget/trunk/assets/admin.css

    r3753670 r3753703  
    2424        font-weight: 600;
    2525        padding-block: 10px;
     26        min-height: 44px;
     27        box-sizing: border-box;
    2628}
    2729
    … …  
    3032        outline-offset: 2px;
    3133}
     34
     35.call-talk-widget-settings .call-talk-connection-card {
     36        background: #fff;
     37        border: 1px solid #c3c4c7;
     38        padding: 16px 20px;
     39        margin-block: 20px;
     40        max-width: 800px;
     41}
     42
     43.call-talk-widget-settings .call-talk-connection-card h2 {
     44        margin-block-start: 0;
     45}
     46
     47.call-talk-widget-settings .call-talk-connect-form {
     48        margin-block-start: 20px;
     49}
     50
     51.call-talk-widget-settings .call-talk-connection-card .button {
     52        white-space: normal;
     53        height: auto;
     54}
  • call-talk-widget/trunk/call-talk-widget.php

    r3753670 r3753703  
    44 * Plugin URI: https://call-talk.app/
    55 * Description: Connect your website to the Call Talk cloud service for visitor calls and live chat.
    6  * Version: 0.3.0
     6 * Version: 0.4.0
    77 * Requires at least: 5.8
    88 * Requires PHP: 7.4
    … …  
    2424}
    2525
    26 const CALL_TALK_WIDGET_VERSION            = '0.3.0';
     26const CALL_TALK_WIDGET_VERSION            = '0.4.0';
    2727const CALL_TALK_WIDGET_TOKEN_KEY          = 'call_talk_widget_token';
    2828const CALL_TALK_WIDGET_COMPANY_KEY        = 'call_talk_widget_company_key';
    … …  
    3434const CALL_TALK_WIDGET_LANGUAGE_KEY       = 'call_talk_widget_language';
    3535const CALL_TALK_WIDGET_DEFAULT_SCRIPT_URL = 'https://call-talk.app/widget.js';
     36
     37require_once __DIR__ . '/includes/connection.php';
    3638
    3739add_action( 'admin_init', 'call_talk_widget_register_settings' );
    … …  
    113115                <h1><?php esc_html_e( 'Call Talk Widget', 'call-talk-widget' ); ?></h1>
    114116                <?php // WordPress options-head.php already renders Settings API notices for this Settings page. ?>
    115                 <p><?php esc_html_e( 'Connect this website to your Call Talk account. Your team answers calls and chats in the Call Talk dashboard.', 'call-talk-widget' ); ?></p>
    116                 <p>
    117                         <a class="button button-secondary" href="https://call-talk.app/admin/widget-installation" target="_blank" rel="noopener noreferrer"><?php esc_html_e( 'Open Call Talk Dashboard', 'call-talk-widget' ); ?><span class="screen-reader-text"> <?php esc_html_e( '(opens in a new tab)', 'call-talk-widget' ); ?></span></a>
    118                         <a href="https://call-talk.app/register" target="_blank" rel="noopener noreferrer"><?php esc_html_e( 'Create an account', 'call-talk-widget' ); ?><span class="screen-reader-text"> <?php esc_html_e( '(opens in a new tab)', 'call-talk-widget' ); ?></span></a>
    119                 </p>
    120                 <ol>
    121                         <li><?php esc_html_e( 'Add this website domain in Call Talk under Widget Installation and copy its production widget token.', 'call-talk-widget' ); ?></li>
    122                         <li><?php esc_html_e( 'Paste the public token below, review the service connection, then enable the widget and save.', 'call-talk-widget' ); ?></li>
    123                         <li><?php esc_html_e( 'Open a public page of this website to check the widget. Remove any older Call Talk embed to avoid loading it twice.', 'call-talk-widget' ); ?></li>
    124                 </ol>
     117                <?php call_talk_widget_render_connection_panel(); ?>
     118                <details class="call-talk-manual-setup" <?php echo $url_error || ( '' !== $token && ! call_talk_widget_connection() ) ? 'open' : ''; ?>>
     119                        <summary><?php esc_html_e( 'Manual Token Setup (Optional)', 'call-talk-widget' ); ?></summary>
     120                        <p><?php esc_html_e( 'You can also connect manually: open Widget Installation in Call Talk, add this domain, and paste its public production token below.', 'call-talk-widget' ); ?> <a href="https://call-talk.app/admin/widget-installation" target="_blank" rel="noopener noreferrer"><?php esc_html_e( 'Open Call Talk', 'call-talk-widget' ); ?><span class="screen-reader-text"> <?php esc_html_e( '(opens in a new tab)', 'call-talk-widget' ); ?></span></a></p>
    125121                <?php if ( $enabled && ( ! $consent || ( '' === $token && '' === $company ) ) ) : ?>
    126122                        <div class="notice notice-warning inline"><p><?php esc_html_e( 'The widget is not loading yet. Add a public widget token and allow the service connection below, then save.', 'call-talk-widget' ); ?></p></div>
    … …  
    187183                        <?php submit_button( __( 'Save Call Talk Settings', 'call-talk-widget' ) ); ?>
    188184                </form>
     185                </details>
    189186        </div>
    190187        <?php
    … …  
    257254        return is_array( $parts )
    258255                && isset( $parts['scheme'], $parts['host'] )
    259                 && 'https' === strtolower( $parts['scheme'] )
     256                && ( 'https' === strtolower( $parts['scheme'] )
     257                        || ( 'http' === strtolower( $parts['scheme'] ) && call_talk_widget_allows_local_http()
     258                                && in_array( strtolower( $parts['host'] ), array( 'localhost', '127.0.0.1', '[::1]', 'host.docker.internal' ), true ) ) )
    260259                && '' !== $parts['host']
    261260                && ! isset( $parts['user'] )
    262261                && ! isset( $parts['pass'] )
    263262                && ! isset( $parts['fragment'] )
    264                 && esc_url_raw( $url, array( 'https' ) ) === $url;
     263                && esc_url_raw( $url, call_talk_widget_allows_local_http() ? array( 'https', 'http' ) : array( 'https' ) ) === $url;
    265264}
    266265
  • call-talk-widget/trunk/readme.txt

    r3753670 r3753703  
    55Tested up to: 7.1
    66Requires PHP: 7.4
    7 Stable tag: 0.3.0
     7Stable tag: 0.4.0
    88License: GPLv2 or later
    99License URI: https://www.gnu.org/licenses/gpl-2.0.html
    … …  
    1313== Description ==
    1414
    15 Call Talk Widget connects public WordPress pages to the hosted Call Talk communication service. Add the public installation token for your website, allow the service connection, and enable the widget.
     15Call Talk Widget connects public WordPress pages to the hosted Call Talk communication service. Choose Connect to Call Talk, sign in or create an account in Call Talk, and approve this website. The plugin installs the public widget token and enables the widget automatically. Manual token setup remains available.
    1616
    1717Your team answers visitors in the separate Call Talk dashboard. Calls, messages, conversation history, and recordings, where available and enabled, are managed by the service rather than stored in the WordPress database by this plugin. Available channels and features depend on your Call Talk account, plan, and widget configuration.
    1818
    19 * Public, domain-specific widget token setup under Settings > Call Talk Widget.
     19* Guided, administrator-initiated connection under Settings > Call Talk Widget. No manual token copying is needed for this flow.
     20* Optional public, domain-specific token setup for existing integrations.
    2021* Separate service-connection permission and frontend enable switch, both off by default.
    21 * No Call Talk request on activation, in the WordPress admin, or before the service is allowed and the widget enabled with a public token or legacy public key.
     22* No Call Talk request on activation or when opening plugin settings. Connection and disconnection requests run only after an administrator submits the relevant form. Visitor widget loading requires service permission and enabled settings.
    2223* Links to your Call Talk dashboard and account registration.
    2324* Advanced settings for the HTTPS service script, legacy company public keys, and supported theme, language, and channel preferences. The Call Talk service remains authoritative for channels and account features; some display preferences apply only in developer setup mode.
    2425
    25 This plugin does not embed the operator dashboard in WordPress or require Call Talk administrator credentials. Use only the public installation token, which is intended to appear in the website source. Never enter a WordPress password, Call Talk password, private API key, or account access token.
     26This plugin does not embed the operator dashboard or ask for your Call Talk password in WordPress. Account registration and sign-in take place on the Call Talk website. The WordPress administrator identity is not used as a Call Talk login. Dashboard links use your ordinary Call Talk browser session; the plugin does not grant automatic access to your full Call Talk account.
     27
     28For manual setup, use only the public installation token, which is intended to appear in the website source. Never enter a WordPress password, Call Talk password, private API key, or account access token.
    2629
    2730= External service and visitor data =
    … …  
    2932This plugin requires the external Call Talk service at https://call-talk.app and an active account with a plan that supports the configured widget. Service fees or plan limits may apply; see the service website. Installing the plugin does not create an account or purchase a plan.
    3033
    31 After a site administrator explicitly allows the connection and enables the widget, visitor browsers download the hosted widget JavaScript from https://call-talk.app/widget.js. The script provides the cloud service's visitor interface and communicates with its API and real-time services. The plugin itself does not make a server-side Call Talk API request.
     34After a site administrator explicitly allows the connection and enables the widget, visitor browsers download the hosted widget JavaScript from https://call-talk.app/widget.js. The script provides the cloud service's visitor interface and communicates with its API and real-time services. Ordinary page loads do not trigger a server-side Call Talk API request. The explicit Connect and Disconnect actions use server-side integration requests as described below.
     35
     36When an administrator submits Connect after granting permission, the WordPress server sends its site URL, callback URL, random state, and a PKCE code challenge to the configured Call Talk service. No WordPress password, email address, or user database is included. Call Talk asks the user to sign in or register, verify their account where required, and approve the website. A short-lived single-use code is exchanged server to server for the public widget token and a restricted connection credential. The credential is stored in a non-autoloaded WordPress option and is never included in page HTML or visitor JavaScript. It can manage this connection only; it cannot sign in to a full Call Talk account. Temporary state and its verifier are bound to the initiating WordPress administrator and expire after 10 minutes.
     37
     38Disconnect sends the restricted credential to the Call Talk connection endpoint to revoke the link and turns the widget off locally. It does not delete the Call Talk account or conversation history. If the service is unavailable, local widget loading stops immediately and the restricted credential is retained for a retry.
    3239
    3340When the widget loads, the service receives the public widget token or legacy company public key, website origin, full page URL (including its query string), page title, and ordinary network request information such as the visitor IP address and browser information. These are used to load and authorize the website widget. Avoid putting sensitive information in public page URLs or titles.
    … …  
    4552
    46531. Upload the call-talk-widget folder to /wp-content/plugins/, or install the plugin ZIP through Plugins > Add New > Upload Plugin.
    47 2. Activate Call Talk Widget. No service connection is made by activation.
    48 3. Open Settings > Call Talk Widget, then open the Call Talk dashboard in a new tab. Create an account if needed.
    49 4. In Call Talk > Widget Installation, add the exact website domain, complete the widget setup, and copy its production widget token. The domain, including www if used, must match the public website.
    50 5. Paste the public token into WordPress. Read the service disclosure, select Allow this website to connect visitor browsers to the Call Talk service, select Show the widget on public pages, and save.
     542. Activate Call Talk Widget. Activation does not contact Call Talk or create an account.
     553. Open Settings > Call Talk Widget. Review the connection disclosure, select the permission checkbox, and choose Connect to Call Talk.
     564. In Call Talk, sign in to an existing account or create and verify an account. Review the website and approve the connection. An active account and plan supporting the widget are required.
     575. You return to WordPress with the website connected and the widget enabled automatically. No token copying is needed.
    51586. Open a public website page to verify the widget. Remove any previous manual Call Talk embed to avoid duplicate loading, and clear page caches after setup changes.
     59
     60For manual setup, expand Manual Token Setup, open Widget Installation in Call Talk, add the exact public website domain, copy its production widget token, paste it into WordPress, allow the service connection, enable the widget, and save. The domain, including www if used, must match the public website.
     61
     62The guided connection requires HTTPS for both WordPress and Call Talk. Local development may explicitly opt in to HTTP using CALL_TALK_WIDGET_ALLOW_LOCAL_HTTP=true together with WP_ENVIRONMENT_TYPE=local or development; that exception is restricted to local testing and is not enabled by the plugin.
    5263
    5364== Frequently Asked Questions ==
    … …  
    6374= Can I use the same WordPress login for Call Talk? =
    6475
    65 No automatic account linking is provided by this plugin. Sign in to Call Talk separately. The plugin does not read WordPress users or export the WordPress user database.
     76The guided connection links this website to a Call Talk company after you sign in to Call Talk and approve. It does not use your WordPress administrator login as Call Talk authentication, automatically create an account on activation, or export WordPress users. The Call Talk login page may offer WordPress.com sign-in if the service administrator has configured it; WordPress.com is a separate identity provider from a self-hosted WordPress administrator account.
    6677
    6778= Why is the widget not visible? =
    … …  
    7586= Can I stop sending data to the service? =
    7687
    77 Uncheck Service Connection or Enable Widget and save, or deactivate the plugin. This stops loading on subsequent page loads. Clear page caches if necessary. Removing the plugin does not delete your Call Talk account or service conversation history; manage those in Call Talk under its policies.
     88Choose Disconnect to revoke the guided connection and turn the widget off. You can also uncheck Service Connection or Enable Widget in Manual Token Setup and save, or deactivate the plugin; these local controls stop widget loading but do not revoke the server-side connection. Clear page caches if necessary. Removing the plugin does not delete your Call Talk account or service conversation history; manage those in Call Talk under its policies.
    7889
    7990== Upgrade Notice ==
     91
     92= 0.4.0 =
     93Adds guided connection with account sign-in or registration, explicit approval, automatic widget setup, and connection revocation. Existing manual settings remain supported. No account or connection is created by activation or upgrade.
    8094
    8195= 0.3.0 =
    … …  
    8397
    8498== Changelog ==
     99
     100= 0.4.0 =
     101* Added nonce-protected guided connection with short-lived state and PKCE.
     102* Added automatic public widget configuration after Call Talk account approval.
     103* Kept restricted connection credentials server-side and outside REST settings.
     104* Added account/site connection status and remote revocation with safe local disabling.
     105* Preserved optional manual token configuration and ordinary Call Talk dashboard sign-in.
    85106
    86107= 0.3.0 =
Note: See TracChangeset for help on using the changeset viewer.