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

ELOQUENCE B.08.40 - patch PE84-2509160

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

This patch adds enhancements or fixes defects of the Eloquence WEBDLG2
as released with Eloquence B.08.40 2501-8. 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-8.

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

Severity:
 PE84-2509160: BUG FIX

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


Patch PE84-2509160
------------------

Platforms: All

Fixed problems:

* ListBox: Column context menu did not preserve last visible column.

* MenuItem: Propagate sensitive state to checkbox/radiobutton child.

* WEBDLG2 version: 2.1.4 (not changed)

Please note:

* The eloqwebd2.app configuration template file has been updated
  with previous patch PE84-2507280. It is included in this patch
  for completeness and 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-2509090
------------------

Platforms: All

Fixed problems:

* Fixed clipboard menu cut, paste, delete modification not reported
  to application.

* Fixed clipboard menu copy, select all not possible on objects not
  focused or read-only.

* WEBDLG2 version: 2.1.4 (not changed)


Patch PE84-2509030
------------------

Platforms: All

Fixed problems:

* Revised clipboard menu, did not open on the secondary mouse button
  if a context menu is set on the ComboBox or EditText object.

* WEBDLG2 version: 2.1.4 (not changed)


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
  string 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


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-2509160-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-2509160-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-2509160-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-2509160-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-2509160-README


Windows:

Execute the PE84-2509160-win32.exe patch installation program.
Installation requires administrative capabilities.

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.

Files:

   bin\eloqwebd64.exe
   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-2509160-README.txt
