----------------------------------------------------------------------

ELOQUENCE B.08.40 - patch PE84-2507280

----------------------------------------------------------------------

This patch adds enhancements or fixes defects of the Eloquence WEBDLG2
as released with Eloquence B.08.40 2501-5. This patch will be integrated
in the Eloquence B.08.40 release, it will be included in all versions
newer than B.08.40 2501-5.

Eloquence B.08.40 2501-5 must be installed before applying this patch.

Severity:
 PE84-2507280: ENHANCEMENT, BUG FIX

Superseded patches:
 PE84-2507110: BUG FIX
 PE84-2507070: BUG FIX
 PE84-2507040: ENHANCEMENT, BUG FIX


Patch PE84-2507280
------------------

Platforms: All

New functionality:

* eloqwebd2.app: Added the $uri token to resolve the WebSocket request
  URI when the application is started. This does not include a query
  sting if present in the original request URI.

* eloqwebd2.app: Added the $http(HEADERNAME) token to resolve the value
  of a WebSocket request header when the application is started.
  The specified HEADERNAME is case-insensitive.

* The WebSocket application URI is now relative to the start document.
  For example, assuming an URI [/app] Handler=App configuration, the
  WebSocket application URI would then be like: /app/APPLICATION

  This simplifies the configuration of reverse proxy redirection rules
  for WEBDLG2.

  Please note that the document and the eq-webdlg.js script need to
  share the same origin, otherwise a toplevel application URI is used,
  eg.: /APPLICATION

  A path= query string argument may be set for the eq-webdlg.js script
  to specify a different WebSocket application URI path.

Fixed problems:

* eloqwebd2.app: Fixed resolving $(VARIABLENAME) token, did not work
  when a process environment variable name is used.

* WEBDLG2 version: 2.1.3

Please note:

* The eloqwebd2.app configuration template file has been updated.
  It is installed in the newconfig/config directory.

* The eloqwebd2.cfg configuration template file has been updated
  with previous patch PE84-2507040. It is included in this patch
  for completeness and installed in the newconfig/config directory.

Documentation:

* Please refer to the WEBDLG2 documentation located at:
  https://eloquence.marxmeier.com/doc/webdlg2/


Patch PE84-2507110
------------------

Platforms: All

Fixed problems:

* ListBox: Fixed incrementally selected line not reported to application,
  fixed incrementally selected line not scrolled into view.

* ListBox, PopText: Fixed incremental selection on entries with leading
  spaces.

* WEBDLG2 version: 2.1.2 (not changed)


Patch PE84-2507070
------------------

Platforms: All

Fixed problems:

* Fixed an internal race condition when executing DLG SET System.notify[]
  potentially causing a receiving session to hang.

  The fix in previous patch PE84-2507040 was incomplete.

* Revised clipboard menu and ListBox column context menu, now open on the
  secondary mouse button regardless of how the rmbmask attribute is set.

* Revised opening menus right-to-left if otherwise the menu would overflow
  the right Dialog edge.

* WEBDLG2 version: 2.1.2 (not changed)


Patch PE84-2507040
------------------

Platforms: All

New functionality:

* ComboBox, EditText: The clipboard menu is now functional.

  The clipboard menu opens when clicking the context menu mouse button
  (or tap-holding / long pressing on touch user interfaces) unless it
  is disabled or a context menu has been configured.

  The strings configuration has been updated to define the default text
  of the clipboard menu labels:

  clipboardMenu : "&Undo|Cu&t|&Copy|&Paste|&Delete|Select &All"

  This may be overriden with a customized eq.strings() configuration.

  Alternatively, the Application.clipboardcontextmenu attribute or
  the common clipboardcontextmenu attribute may be set.

  The clipboard menu is disabled by setting the label string to "off".

  Please note that clipboard access is typically restricted:
  - The web browser allows to access the clipboard only in a secure
    context (HTTPS).
  - Using the Cut/Copy/Paste clipboard menu options may cause the browser
    to request permission or confirmation by the user.

* ListBox, PopText: Entries can now be incrementally selected by typing
  the leading character. On multi-column ListBoxes this affects the first
  visible column (i.e., the leftmost column).

* eloqwebd2.cfg: The new J log flag has been added.

  If set to L_DEBUG (2) any client-side JavaScript error messages are
  written to the eloqwebd2 log file. For example, set LogFlags = *1J2
  to enable regular log messages and client-side JavaScript errors.

Fixed problems:

* Fixed an internal race condition when executing DLG SET System.notify[]
  potentially causing a receiving session to hang with an 'apiReceived ...
  invalid, current Dialog pending' JavaScript client error or similar.

* TabBox: The selectedtab attribute did not work on insensitive tabs.
  DLG GET returned an empty string. DLG SET selected the next sensitive
  tab if present.

* WEBDLG2 version: 2.1.2


Installation:
-------------

Please download the patch archive that corresponds with the installed
release. The patch files follow the conventions below:

   PE84-2507280-linux-86_64-el8.tar.gz
        ^       ^     ^
        |       |     Architecture / OS specific build
        |       Operating system
        Patch ID


Linux:

In order to install this patch, you need to unpack it with tar.
Installation requires root privileges.

cd /opt/eloquence/8.4
tar xzf /path/to/PE84-2507280-linux-86_64-el8.tar.gz

Files:

   bin/eloqwebd2
   newconfig/config/eloqwebd2.cfg
   newconfig/config/eloqwebd2.app
   share/webdlg2/htdocs/eq-webdlg.js
   share/webdlg2/htdocs/eq-webdlg.src.js
   share/webdlg2/htdocs/eq-webdlg.src.map
   share/webdlg2/htdocs/eq-webdlg-ui.js
   share/webdlg2/htdocs/eq-webdlg-ui.src.js
   share/webdlg2/htdocs/eq-webdlg-ui.src.map
   share/webdlg2/htdocs/eq-webdlg-api.js
   share/webdlg2/htdocs/eq-webdlg-api.src.js
   share/webdlg2/htdocs/eq-webdlg-api.src.map
   share/webdlg2/htdocs/eq-webdlg.css
   share/webdlg2/htdocs/eq-webdlg.src.css
   share/webdlg2/htdocs/eq-webdlg-status.js
   share/webdlg2/htdocs/eq-webdlg-status.src.js
   share/webdlg2/htdocs/eq-webdlg-status.src.map
   share/webdlg2/htdocs/eq-webdlg-status.css
   share/webdlg2/htdocs/eq-webdlg-status.src.css
   share/doc/PE84-2507280-README


HP-UX Itanium:

In order to install this patch, you need to unpack it with gzip and tar.
Gzip is included with HP-UX. Installation requires root privileges.

cd /opt/eloquence/8.4
gzip -dc /path/to/PE84-2507280-hpux-ia64.tar.gz | tar xf -

Files:

   bin/eloqwebd2
   newconfig/config/eloqwebd2.cfg
   newconfig/config/eloqwebd2.app
   share/webdlg2/htdocs/eq-webdlg.js
   share/webdlg2/htdocs/eq-webdlg.src.js
   share/webdlg2/htdocs/eq-webdlg.src.map
   share/webdlg2/htdocs/eq-webdlg-ui.js
   share/webdlg2/htdocs/eq-webdlg-ui.src.js
   share/webdlg2/htdocs/eq-webdlg-ui.src.map
   share/webdlg2/htdocs/eq-webdlg-api.js
   share/webdlg2/htdocs/eq-webdlg-api.src.js
   share/webdlg2/htdocs/eq-webdlg-api.src.map
   share/webdlg2/htdocs/eq-webdlg.css
   share/webdlg2/htdocs/eq-webdlg.src.css
   share/webdlg2/htdocs/eq-webdlg-status.js
   share/webdlg2/htdocs/eq-webdlg-status.src.js
   share/webdlg2/htdocs/eq-webdlg-status.src.map
   share/webdlg2/htdocs/eq-webdlg-status.css
   share/webdlg2/htdocs/eq-webdlg-status.src.css
   share/doc/PE84-2507280-README


Windows:

Two options are available for patch installation. The patch is
available as self extracting archive for automatic installation
and as a zip archive for manual installation. Both patches are
equivalent. Installation requires administrative capabilities.

For automatic installation of this patch, please download the
patch file PE84-2507280-win32.exe.

Before installation, please consider stopping the WEBDLG2 server,
then execute the patch installation program. Installation does not
require a reboot unless the patched files were active.

For a manual installation of the patch, please download the patch
file PE84-2507280-win32.zip and unpack its contents. Then perform
the following steps:

* Please make sure the eloqwebd service is stopped before installing
  the patch (in the Service Control Manager or with net stop eloqwebd).

* Please copy the eloqwebd64.exe file into the Eloquence bin directory.
  (Default location: C:\Program Files\Eloquence\8.4\bin)

* Please copy the eloqwebd2.cfg and eloqwebd2.app files into the Eloquence
  newconfig\config directory.
  (Default location: C:\Program Files\Eloquence\8.4\newconfig\config)

* Please copy the eq-webdlg* files into the Eloquence share\webdlg2\htdocs
  directory.
  (Default location: C:\Program Files\Eloquence\8.4\share\webdlg2\htdocs)

* Please copy the PE84-2507280-README.txt file into the Eloquence
  share\doc directory.
  (Default location: C:\Program Files\Eloquence\8.4\share\doc)

Files:

   eloqwebd64.exe
   eloqwebd2.cfg
   eloqwebd2.app
   eq-webdlg.js
   eq-webdlg.src.js
   eq-webdlg.src.map
   eq-webdlg-ui.js
   eq-webdlg-ui.src.js
   eq-webdlg-ui.src.map
   eq-webdlg-api.js
   eq-webdlg-api.src.js
   eq-webdlg-api.src.map
   eq-webdlg.css
   eq-webdlg.src.css
   eq-webdlg-status.js
   eq-webdlg-status.src.js
   eq-webdlg-status.src.map
   eq-webdlg-status.css
   eq-webdlg-status.src.css
   PE84-2507280-README.txt
