Fixed an issue with the current owner property of backfeeds when used with iQx and Qor.
Backfeed messaging in iQx and Qor differs in how it presents backfeed sourcing compared with Fusion.
This required adding some custom code to handle backfeed current owner tracking when Qor and iQx are involved.
Fixed an issue where the Logic Flows simple tree was showing a ToSend property on both the Generic Emulator and on the emulator's tcp/udp client.
The latter should have been API only as you should use ToSend on the emulator itself.
Fixed an issue where the friendly name property was incorrect on Device Emulators causing them to sometimes lose their name representation in the logic flow tree.
Did some minor optimization in the name lookup for logic blocks with io names for large routing systems.
Originally a name lookup queried the entire Router Manager for the pathio to name lookup.
This version more intelligently queries the information accessing the object path hash table.
This improves performance when switching between flow folders where start and end points use audio and gpio route points.
Fixed a bug with inner panels relying on panelmemoryslots as described in 1.5.8.07 that was causing indicators that should have been displaying the value from the internal panel memory slot to display blank instead.
This was broken in 1.5.9.09.
There was an assumption that the first message return with a done set system item was a response from the initial state request of the panel and that was not the case.
Now it looks for done set with a specific transaction id to make sure the initial get state is complete before applying the internal panelmemory states.
Fixed a problem with the xy matrix where it would require a browser refresh in order to pick up newly added or removed IOs.
Fixed an issue where the drop down selectors would not work in the user panel property editor on Firefox.
Fixed a issue in Firefox where the bind button height was inordinately short.
Fixed an issue with the audio alarm editor where clicking on the ellipsis for a source or destination that is defined in the audio alarm but no longer exists as an io in the router would throw an error silently and fail to open the io selection dialog.
Fixed an issue with the lines between flow items in the user panel editor not displaying properly in edge and Firefox.
Added Firefox and ms user-select none options to other css places where we had selected user-select:none in the css.
Fixed an issue with executing user panels in Firefox where dragging a fader or knob would cause items to be selected.
Fixed a bug with gradient meters not displaying in Firefox.
Fixed some button sizing issues when simple mode was used on console buttons in Microsoft Edge.
Fixed some text centering issues with buttons when used in Microsoft Edge.
Added a 1500 ms delay to the UI for router deletion to make sure the UI has a chance to send the command to the equipment before reloading the routers list.
Fixed a bug where virtual routers with base points referencing other virtual routers would cause a problem in the base point display which if resubmitted during editing could cause additional IOs in funky ways.
Essentially the UI was requesting and presenting an infinite depth list rather than just the base IOs under the current IO.
This has been fixed.
Fixed a bug with auto resizing when the panel is running in the core pro browser with menu system rather than a pop up or standalone panel.
This bug was introduced approximately 2 months ago when we changed the name of one of the parent divs.
This build should theoretically be identical functionally to 184.108.40.206.
It is the result of merging the beta branch changes into the master branch in preparation for a new release.
Fixed a bug with set time from pc and hardware clock management.
Pathfinder Core PRO should be set to sync to an NTP clock for accurate time services.
This issue is not a problem for PathfinderCore PRO instances which are properly set to sync to NTP.
In the case where NTP is not configured properly or is unreachable, setting the time using the set time from pc would cause the clock to look correct until a reboot.
After a reboot though the clock might be off by the time zone offset amount.
Ntp if configured would correct this automatically.
The problem was caused by not properly informing the hardware clock that the time being set was a local time and should be adjusted accordingly to utc so that the hardware clock is utc and the os clock is then derived from that based on the utc offset.
Fixed a bug where with Logic flow folder renaming.
While you could not create a logic flow folder with a forward or back slash in the name, after creating a folder using a legitimate name you could rename it to one with a bad name.
The result could be funky behavior where certain flows would be nested incorrectly after a reboot and might not work properly.
Slashes are used in os file system and are therefore illegal in the name.
This version tightens the validation to prevent folders from being created or renamed using these illegal characters.
Fixed a potential memory leak with continuing device reconnection attempts.
Also improved socket cleanup and disposal code.
Made the metering device reuse its client socket rather than destroying and creating a new one.
Fixed an issue where hardware mapped buttons would not work with the mouse up event properly.
Fixed a bug where enabled state changes were not hooking to licensing properly sometimes requiring a restart to update license usage counts.
User panel element ids must start with a letter to be fully browser compatible.
If you enter an element id that starts with a number, that first number will be converted to the equivalent numerical word followed by an underscore when the id is stored.
Previously trying to enter an id that started with a numeral would cause the item to jump to the top corner of the panel and become inaccessible.
Removed the links to the legacy client applications as they are deprecated.
Updated the Date/Time stamp for manual links in the systemstatus page.
Updated email web page to Say SSL/TLS instead of just SSL as it figures out the request to upgrade to TLS so this label was confusing.
Fixed a bug when deleting a pass thru combiner that left a residual half complete flow that would also have to be deleted.
Reworked licensing names to better match marketing materials.
Updated the logic flows simple tree to present friendly names for Quasar buttons.
Fixed a display bug with time on the system time web page when utc offset was positive rather than negative.
Added a localtime property to the System#0.Time#0 object.
Added a local time field to the system time web page and made the original time printout display using iso format.
In Virtual Router IO editing, added the paging and entry count selection fields to the BaseIo package table for use with larger base ios.
Fixed a bug where if you delete a device that had hardware mapped buttons, you then would not be able to change the hardware mapping of the button due to an error in the web page when trying to find the missing device path.
Added a cell-autoscale property to the saroutingmatrix user panel component which is true by default on panel route matrixes and false in the routes table version.
When false the cells stay roughly the same height and width rather than expand to fix the matrix.
Fixed a bug in saroutingmatrix that was causing the listed rows to run over the end of the component and not allow scrolling to the last row in situations where no search was in place and the horizontal scroll bar was hidden.
Modified the saroutingmatrix styles a bit for better header display.
Changed the code in saroutingmatrix such that filtering (searching) with small numbers of returns will change cell size if autoscaling is on but not if it is off.
Fixed a bug where a blank "from" value in a logic flow translation conversion item would cause the UI to hang in an endless loop.
Added Startup state to the memory slot grid view.
Changed the Quasar monitor section friendly name to be Master_TS_Monitor as that is more intuitive.
Switched off the use of begin/end on metering commands as the devices were not respecting that optimization anyway and the iports/engines were actually throwing error messages.
Added Lwrp CMD support into PCP gpio node.
Added the command (Lwrp CMD) item to gpi and gpo and exposed it in the API logic flow tree.
It is important to note that while CMD on GPO ports works across all devices, CMD on GPI ports only works on software nodes such as the windows driver and the Pathfinder Core PRO gpio node.
Made the Command item of gpios clear after 100ms inside the Pathfinder Core PRO data structures and SapV2.
Note that if your logic requires this clear state to not hit the logic endpoints, it can be skipped by making a conversion item where the from is bank and the to is <NoChange>
Fixed a bug where restricted by license translators were not displaying with the dark color as they should.
Added a note to the hover balloon for translators that have been restricted by license.
Changed the license counting such that you no longer need to specify whether an extension license applies to logic or audio and all licenses including the base licenses function as a shared pool.
Starting with this version the total license count is a pool that is shared between audio and logic points.
Therefore the base license which used to be 500 audio and 500 logic is now just a shared 1000 point pool used for audio and logic.
Updated the licensing display on the system page and license editing page to reflect the license counts and pool utilization.
Internal Task 572
Internal Task 573
Internal Task 574
Added an option to silence and clipping alarms where you can select Left, Right, All, or Any in order to specify which channels need to be silent or clipping in order to trip the alarm.
By default existing alarms will function in the Any state to match previous functionality.
Fixed a bug where editing and changing a silence or clipping alarm could leave it in an unknown state until the next message.
Now if the subscription state already exists it will adopt the correct change which may trigger a count.
Set Quasar monitor button count to 32.
Added an AllInternalServicesLoaded property for use by the web pages in case a device emulator has problems starting.
Previously some web pages would recycle their websocket connection until all services were loaded.
This change excludes Device Emulators from that restriction.
Added some 30 second crosschecking to discover any device emulators that did not hook into the main application properly during startup due to a bound cpu and need to be relaunched.
Added a ClearRoute value to SapPropertyRouter available in the router translation button.
When a property route is cleared, by default the value of the destination property is not changed.
This field can be used to specify a value to be sent to destination property when the source assigned to it in the Property Router is cleared.
Note that currently this field requires knowledge of the correct value to send. In the future we may add additional helpers for this field.
The default value is <NoChange> in order to match functionality from the previous build.
Updated some Quasar monitor section button naming with more friendly names in the logic flow tree.
Fixed an issue in User Panel editing where internal sub panels using the IFrame might re-grab the focus while trying to edit the src link of the IFrame.
Added a function to strip out Kaspersky injected header code before saving a panel if it exists.
Some versions of Kaspersky have been known to inject code into every web page that is accessed.
In previous versions, this injected code was sometimes being saved out to the panel definition.
Made the switch of fader and meter orientation more intuitive by swapping the height and width at the same time.
Adding some titling in the SapProperty Router translation dialog for hover pop up explanations.
Added a SapProperty Router for using any properties PathfinderCore PRO knows about as sources and destinations in a router.
Added an advanced field in the logic flow translation dialog for manually editing the selected conversion list item if necessary.
This field allows you to bypass the helper fields such as the color selector and directly enter data into the conversion.
Added Regular Expression capabilities to Generic Emulation watchers and translator from-conversion list items.
Also added a TriggeredValue property.
Added a NoChange option to logic flow translation to-conversion list items.
Fixed a bug with hardware mapped buttons that make use of the disabled option.
Fixed a bug with the ToSend option of Generic Emulators that might incorrectly strip off carriage returns and line feeds at the end or beginning of a message that should be passed through.
Fixed a bug that has existed since the ui overhaul in 220.127.116.11 where the advanced link in logic flow translation was not working.
Fixed a bug that has existed since the ui overhaul in 18.104.22.168 where the clear route would only work after selecting a source in the take list.
Altered the take and cancel button style in XYMatrix slightly to prevent overlap with low io counts.
Fixed a bug in the XYMatrix where after doing a search and resize of the xy grid, the vertical scroll bar and the preset rotation controls would overlap.
Fixed a delay when opening a router with no ios in the web ui.
Reworked the advanced options translation display code to be more intuitive across user panels and SapProperty router.
Fixed some bugs in scenes related to cluster synchronization in the 22.214.171.124 build.
These primarily caused issues in the case where a scene design was modified while one of the nodes was offline and then re-synced.
Fixed a bug with scenes in 126.96.36.199 where the correct version stamp was not being written into the storage file.
Completed an editor webpage for creating and editing scenes.
Initial feedback on the xy matrix from 188.8.131.52 determined that the cell resizing when using search filters was distracting.
This version maintains cell size during search filtering.
This also addresses an issue where when filtering, the display list could extend beyond the bottom of the component without the scroll bar appearing.
Quasar button support.
Added fader user buttons and monitor module user buttons to the button list available when hardware mapping in user panels.
Improved some performance issues when initially entering the panel designer related to populating the data selection tables.
Added additional styles (simple and touchbar) to fader and consolefader user panel objects.
Added an orientation property for horizontal and vertical display of fader user panel objects.
Added a number of additional styling properties to the fader and consolefader user panel objects.
Added a router xy matrix both as a user panel object and on the route details web page for routers.
Please review the Beta Manual for details on these new features.
Added some minor optimizations to io state changes in the router details tables.
Added hover titles for properties in the user panel property list in order to better display long property names.
From: 1.4.20.00: Added some changes to the metering device object to correct the possibility of a crash during a lost connection disabling of the timers.
We have seen two sites that have exhibited crashes with a logged stack trace on the same line of code.
This line of code deals with the disabling/enabling of certain timers during a loss of connection to the equipment of a metering device.
While we have not been able reproduce in the lab we believe the changes in this version should correct the problem.
Made some minor performance improvements in fader manipulation.
Please review the release notes and beta documentation for 184.108.40.206 as well.
Please review the Beta Manual for details on all of the features listed below.
Added support for the LwcpSs control protocol within Iqx and Qor based consoles.
This adds many new control points in logic flows for Iq/Qor based consoles.
This option may be disabled via the configuration advanced options page by adding the following line:
SET Devices#0 LwcpSs=False
Added a monitor section Html5 userpanel component for use with Iqx and Qor based consoles.
This option may be disabled via the configuration advanced options page by adding the following line:
SET Devices#0 QorMonitor=False
Added a border gradient property with values of simple and complex to saconsole buttons.
Added an autoscale property to html5 user panels.
Known Issues: there is a known issue with the height_and_width value and consolefaders.
This issue is discussed in the beta documentations as well.
This build reflects a major refactoring of the web ui underlying code.
Also includes updates to the web ui data tables to a newer api and deferred rendering option.
Almost all of the files in the web ui were manipulated in some fashion during this rework.
Please report any issues you encounter so that we may fix them as soon as possible.
Please review the Beta Manual for details on these changes.
Added a new sort icon at the beginning of the routes table in routers that sorts based on the destination path io for a more natural ordering.
Removed some unnecessary links to jquery in panel definition files.
Added code to clean up unnecessary jquery links when an existing panel is saved.
Fixed a bug with the Pathfinder gpio and multicast which broke receive multicast communications in situations where both livewire and office nics were active and the gateway was on the office nic.
Fixed an issue with the stop button for livewire endpoint discovery not updating after discovery was stopped.
Fixed a bug where save was not available when editing an existing user that was not an administrator.
This bug was introduced in 220.127.116.11.
The problem occurred because we moved to a progressive tree where not all data is loaded up front but rather it is loaded as the branches were being expanded.
Unlocking the save required a full load of the data which would not occur.
In this version we still do not fully load but we do a cross check on save and assume that originally selected settings that do not exist in the current instance of the tree were never expanded and changed and should therefore retain the value from the original setting.
Fixed a bug in a custom meter handler when unassigned meters are on the panel.
Fixed a bug where the property dialog in user panels was showing endpoint options as opposed to start point options in some situations.
Added a timestamp memory slot type.
Fixed a bug where passing false to the Zip One drop property would also drop the call when only True should cause a drop.
Cleaned up some unused files in the Web UI folders.
Clean build on OS.
The changes in this version relate to html5 user panel components.
Please review the Beta Manual for details on these features.
Updated the Fader control to be able to manipulate numeric and non-numeric properties in addition to the normal fader mapping.
Added a rotary knob control.
Updated the user panel analog and digital countdown timers with additional properties for stop, reset, pause, elapsed complete, and count up functionality.
Faders and knobs now will display their value when hovering with the mouse.
Faders and knobs will now work with the mouse wheel.
Added a drop down component.
Configuration is complex at this point in time and currently should be for advanced users only.
More intuitive user interfaces for configuration will be coming in the future.
Please review the beta manual documentation for details.
Added source profile selection to console faders.
This feature may also be disabled using the allowsourceprofilechange property.
Exposed the transform css property to user panels.
Holding the shift key while clicking into the property fields for user panel component will now allow direct text editing bypassing the normal helper dialogs.
Qor LwcpSs support - hidden for internal testing only at this point in time. Will be released in a later build. (552 notes)
Qor Monitor section panel component support - hidden for internal testing only at this point in time. Will be released in a later build. (553 notes)
Added a write only append property to memory slots that allows you to append data into a memory slot as the endpoint of a logic flow.
From 1.4.19.00: Included the VMware paravirtualized scsi driver in the vm and vm installer images.
This version only makes a change in the vm version.
The driver has been included for testing with VMware sites where ISCSI is being used for the host storage.
Added support for Zip One Control including phonebook dialing and management.
Added support for Iport specific Lwrp commands.
Both of these features should be considered beta features.
Please report any issues you experience and be prepared to roll back to a previous version/bank if you encounter any difficulties.
From 1.4.18.00: Reworked day of week timer threading to prevent day of week timers from getting stuck in an elapsed state when they are supposed to flip back to not elapsed 10 seconds after execution.
Added an hourly safety catch to catch any that are in the wrong state.
Improved performance of timer lookups and moved some of the dayofweek elapsed resetting into each day of week object.
From 1.4.18.00: Fixed a bug in object translators where if the input was a specific property rather than an object but the output was an object, the system would process other properties on the input side than just the one selected.
From 1.4.18.00: Cleaned up some css around meters.
From 1.4.18.00: Fixed a problem with html5 gradient meter off colors shifting the transition points if they were not all the same color.
From 1.4.18.00: Fixed a bug that was causing the schedule column for DayOfWeek events to switch to a number rather than the correct value until the web page was refreshed.
Please review the notes on 18.104.22.168 and 22.214.171.124 regarding the gpio that now exists in the beta branch.
From 1.4.17.00: Fixed a bug with user log rotation that was causing rotated files to have large blocks of NUL characters at the beginning in certain situations.
From 1.4.17.00: Fixed an issue where activate scene did not submit the scene messages to the system in the order specified.
It is important to understand that even though the scene will now submit the change messages in order that does not guarantee they will be completed in order.
Each Scene item is sent to the system without waiting for completion.
From 1.4.17.00: Added code to the silence alarms to more quickly detect device failures.
Currently the default Linux settings will only raise an error on tcp send failures after approximately 15 minutes of failed retry attempts.
This is much longer than the similar windows defaults.
Device management relies on application level ping messages to detect failures quicker but this was not implemented in silence alarm device connections.
In this version silence alarm device connections will also drop the tcp connection and will start counting down the failure after approximately 45 seconds of failed ping (VER) messages.
From 1.4.17.00: Switched the SRC Rtpp property to be read/write.
From 1.4.17.00: Fixed a bug where opening an object translator created with an API property while the Simple tree is selected and then selecting the item in the translation convert list might leave the property name field blank which after committing would wipe out that api property name in the conversion.
From 1.4.17.00: Disallowed most punctuation in panel names.
This fixes some panel incorrect functionality when certain characters such as the slash are used in the panel or page name.
From 1.4.17.00: Moved the meters and scenes to startup prior to logic flows in the service startup list.
From 1.4.17.00: Added some thread locking around device online/offline state in router IO DeviceOnline property setting to prevent a potential race condition where offline to online messages in quick succession especially during initial load could theoretically interfere with each other.
From 1.4.17.00: Fixed an issue with gpi dynamic additions not getting an index in the device io collection.
This can cause the ios not to show online/offline correctly.
Added the ability to insert a pause as a scene item for situations where a pause in the scene execution is necessary.
This feature can only be used via the API at this point in time until we complete the Scene editor UI.
When initing the scene item use a changemessage property of: nop . Pause=5000
Where 5000 is the pause timeout in milliseconds.
Example: init Scenes#0.Scene#Off.SceneItem order=4, changeMessage="nop . Pause=5000"
Added an offset property to Html5 faders which can be used to offset the fader gain range similar to the custom property in the fusion and Qor consoles.
Since the offset property in the console is not exposed to Pathfinder for reading we cannot detect the console setting, so this parameter must be set for each fader in the Html5 panel designer if you want it to be anything other than the default 0 offset.
For example setting the offset value to -10 will cause the top of the fader to be 0 rather than +10.
You can also use the optimum property to change what value the fader double click will move to.
Please review the notes on 126.96.36.199 as this version builds upon the internal gpio node added in that version.
This version adds cluster synchronization to the internal Gpio node in Pathfinder Core PRO.
Please review the Beta Manual for details on the nuances related to synchronization of this feature.
The internal Gpio node is still a new feature to PathfinderCore PRO so report any issues you encounter as you start using it.
Fixed a bug where loopback (127.0.0.1) snake gpio routing that was in external gpio devices was either not matched or showing up as pcpgpio sources in the gpio router.
Fixed an issue in the internal gpio node where adding and removing ports would be picked up by the gpio router, but not on subsequent adds because some data was not being cleaned up in the devices tree.
Fixed some issues with connection recycling in the internal gpio node.
Added some code to prevent looping Lwrp ERROR 1000 messages in the internal gpio node between clustered Pathfinder Core PROs.
Fixed an issue with added ports in the internal gpio node when a global ADD GPI or ADD GPO had been requested.
In the previous build the new ports would not be subscribed to.
Fixed some issues with Pathfinder Core PRO routing and object updating when internal gpio port counts are changed.
Added code to clear internal snake subscriptions when an internal gpio port is removed from the system.
Fixed a bug in the web page with sensing whether the internal Pathfinder Core PRO gpio node was in the devices list or not
Fixed an issue where the connection to the internal Pathifnder Core PRO gpio node was occasionally recycling based on a poll lack of response timer.
This was a fault in the polling when the device was local and therefore could respond threading wise before the poll send date/time stamp was set.
This version adds a virtual gpio node into PathfinderCore PRO that can interact with both snake routing and multicast gpio.
From 1.4.16.00: Fixed a bug with case sensitivity of On/ON and Off/OFF with html5 buttons.
From 1.4.16.00: Fixed an issue where changing backcolor on or off on an html5 button while a flash was in progress would not change the flashing color without turning flash off and back on again.
From 1.4.16.00: Added a None option to the hwmap list to be used to unmap a mapped button.
From 1.4.16.00: Added the ability to hwmap buttons to the over bridge display on fusion button modules as this was missing and should have been there.
Added hardware map binding to label and input box. Still needs testing.
From 1.4.15.00: Fixed a bug where removing a virtual route point's base ios would cause the underlying audio point to become unmounted from the device DST/SRC object.
This could break routing for that IO until a reboot takes place.
Also fixed some issues with mount point meta data after a removal which only came to light after this change which made remounting problematic.
Mounting and umounting primarily occurs in routers where fast direct access (mounting) of the underlying DST/SRC objects from the devices tree is necessary.
From 1.4.15.00: Fixed an issue with rediscovery of deleted audio ios where the DST/SRC object still exists.
From 1.4.15.00: Added some code to re-query the resulting DST/SRC after a manual reconnect request of the device.
From 1.4.15.00: Fixed a bug with removing ios from the devicepath lookup collection probably introduced in 1.4.9.00.
From 1.4.15.00: Fixed a bug where removing an IO (or other object that was mounting other objects) in some cases could cause the base device object (mounted object) to get removed from the lookup collection.
This would mean the object would show up in the lists when walking the tree but would return INDI NONE when accessed directly.
From 1.4.15.00: Added a chunk of code to make sure Html5 panels clean up any residual unused bindings on save.
From 1.4.15.00: Fixed some outdated unit tests.
Fixed an issue with API trees and branch selection.
Fixed issues with api tree auto selection.
Added support for the Omnia Volt device type.
Added hp202 as a device type.
We do not have one of these so this is completely untested and may or may not work with the equipment.
Stored the DEVN from the device into the devices database so that if the device is an unknown device and is offline on startup the sapobject type would be correct rather than generic.
For existing unknown devices this field will be updated in the database when the device is connected to and the SapObjectType changed based on the DEVN discovery.
Added an additional cross check when loading from the device to change an unknown device type to a known one at load time if the DEVN can be interpreted based on the new coded devices.
Fixed an issue where devices list web page was not always updating background page data without a browser refresh.
From 1.4.14.00:Fixed a memory leak in database record updating.
Checks to determine if we needed to insert or update were spawning a datareader object which was never being closed and therefore never released from ram.
This was causing more and more of these to exist in ram as data writes occurred.
This was especially prevalent when writing regularly changing memory slots that were set to the LastKnown state.
If this is your situation please also review the notes on LastKnown state for memory slots.
The LastKnown option should only be used when necessary as it causes additional disk I/O.
Use the LastKnown option only when the memory slot state cannot and will not be able to be determined via flows by the existing state of the system on startup.
From 1.4.13.00: Fixed a bug introduced in 1.4.9.00 that was only removing ios from ram on either gpio or audio when a device was removed rather than both.
The database was being cleaned properly so a restart was necessary to fully remove those ios prior to this version.
This could also lead to clustering anomalies if the device was added back into the system before a restart occurred.
A restart of both could also be used to clear those anomalies.
Fixed an issue from 188.8.131.52/12 where the API tree in logic flows was not displaying.
This is a quick fix to get the API tree working again for those that need it.
Known Issue: There is still an issue with double clicking start and endpoints that are already assigned when the API tree is selected where it may not find and select the property in the tree.
Known Issue: We will work on a fix for this issue in the next build.
Fixed an issue with pulse on html5 buttons and lcd buttons where the flash would not stop if the indicator was in a blank (unset) state when the pulse started.
Now that is considered to be an off state.
Fixed an issue where the disable property in Html5 buttons added in 184.108.40.206 did not work properly with mapped hardware buttons.
Added a folder enable and disable option in logic flows that allows the enabling or disabling of all flows in the folder.
A recurse option also exists to change the enable/disable state on flows in the sub folders as well.
Known Issue: This version has a broken API tree in logic flows. Simple tree is working with the optimizations from 220.127.116.11/12. Targeting a fix for version 18.104.22.168.
From 1.4.12.00: Fixed an issue where the omnia one would still show as offline if it was in the database prior to the update to 1.4.11.00.
Since the Lwcp connection was already in the database it would still get loaded.
Now it gets skipped.
Known Issue: This version has a broken API tree in logic flows. Simple tree is working with the optimizations from 22.214.171.124/12. Targeting a fix for version 126.96.36.199.
From 1.4.11.00: The Omnia-one device type incorrectly had LWCP options enabled. This is fixed.
This was causing the device to appear as offline in some cases.
Added the pulse option to html5 panel button indicators and LCD button states.
Known Issue: If the button state is blank flashing may not stop. Working on a fix for this in 188.8.131.52.
Please review notes for 184.108.40.206 and 12 below as well.
Fixed an issue where the logic flows simpletree json file did not have versioning in the ajax request and so would require a Ctrl-Refresh of the browser to obtain the new changes.
Fixed an issue from the rework of the json file in 220.127.116.11/12 which caused some devices and routers to be presented in the property tree by their id rather than their friendly name.
Reworked the branch loading in logic flows property tree to allow large groups to be loaded at once without frequent rendering.
This improves load performance of some branches such as the main audio router branch.
Applied the same changes as above to the logic flows folder tree.
Added Xnode mix points back into the simple tree now that the property tree is filled on demand rather than being pre-filled.
Made some minor improvements to router web page loading for large systems.
Work is continuing on this optimization and should improve more in future versions.
Changed the logic flows loading page to not pre load router resources.
Changed the logic flows simple tree to load branches on demand rather than pre-loading data.
This improves a cpu hang during the initial logic flows page load on larger systems.
Changed all pages that were using json pulls to use SapV2 streamed messages instead.
This improves cpu and memory utilization in Core PRO during large list loading as it removes the need to build large json blobs in ram.
Changed the message counter during router loads to only change on every hundred rather than every message to reduce rendering load.
Fixed an issue where DeviceEmulators were not appearing in the property grid when accessed from html5 panel designer.
Added a UseStagedWrites option to MemorySlotManager to control the frequency of updates to the cf card to no faster than every minute on vm and r2 and no faster than every 15 minutes for fanless.
This is to save the cf card if the customer uses a fast changing memory slot with the lastknown option enabled despite the warnings against this in the manual.
The option can be disabled via the options file if necessary.
Fixed a bug that was preventing object translation properties to appear in the to field of the translation dialog in certain cases.
It looks like this has been there for a while but may have been masked in previous versions by the lower level rfs pulls which are now staged in this version.
From 1.4.10.00: Fixed a bug introduced in 18.104.22.168 with time zones that was not setting one of the operating system shortcuts to the correct time zone symlink.
If you suspect the need to reset the time zone first update to this version and then switch the time zone to something else and then back to the desired time zone, set the time using ntp or the set time from pc link and then reboot.
From 1.4.10.00: Fixed a bug introduced in 22.214.171.124 where the set time from pc web ui link was not working.
Fixed an issue introduced in 1.5.9.09 where the web page during the reboot after a bank update might navigate away from the correct system web page.
Fixed a bug introduced in 1.5.9.09 that was causing cluster data to show up as routers on the routers web page.
Added a new property to allow the enabling and disabling of html5 user buttons.
Made the browser page title reflect the panel name when opening an html user panel.
Added a ping/pong message every 10 seconds on html user panels to act as a keepalive if network proxies or security try to close the websocket due to inactivity.
Added code to reconnect user panels automatically if the websocket loses connection.
This will attempt to reconnect to the Pathfinder Core PRO currently in use first.
If that connection fails it will cycle through the other livewire and office tcp connections in the cluster.
From 1.4.9.00: Improved device removal performance.
Certain recursive, redundant, and non-optimized calls were causing high cpu load in larger systems during a device removal while cleaning up the device's route points.
Added some code to prevent a device removal from making redundant database calls to the router database.
Made optimizations in the router io removals for a device removal by including hashed lookups of ios by device.
Made io removal messages when initiated by a device removal cluster quiet as they should be handled by the device removal cluster message.
This reduces unnecessary cluster messaging.
Fixed the sub cache descendent branch removals by querying the object for the additional branches to be removed rather than looping through all items repeatedly.
From 1.4.9.00: Improved the io lookup collection for theoretically better performance.
From 1.4.9.00: Very minor performance improvement to router load times.
From 1.4.9.00: Added an exception to not cache messages for response for Device Emulator ToSend when forwarding them to the emulator.
From 1.4.9.00: Made a couple of other minor optimizations which may improve performance slightly.
Demo option (Notes 517).
Added control option to html5 panel fader and console fader controls to support Lwch in addition to Fach as well as QOR based consoles.
Made Lwch objects for a specific console follow the fader gain value of the console's fach object that currently has that channel loaded.
The subscribe command in LWCP for fader gain states in the consoles does not support a similar variation for Lwch objects so this keeps them in sync within Pathfinder Core Pro's objects.
Hid the A/B buttons in html5 console fader controls when the control property is directed at a Qor Fach object since Radius and Iq do not have the A/B buttons.
From 1.4.8.00: Extended the disk device timeout in the OS to 180 for the vm build for better compatibility with network (iscsi) backing storage.
Added support for Imagine Logical Router Control Routers.
Please note: This feature is very much a beta feature at this point in time and is still undergoing testing.
Please review the Beta Manual for details how how to add an Imagine router to your Pathfinder Core PRO system.
Added a load event to the web browser Html5 panel control (iframe) which cycles false when the frame starts to load and true when the loading is complete.
Hid the network connection icon during initial panel loading in frame min to prevent its momentary appearance during launch and subpanel loading.
Added support for the lwrp STAT DST, STAT SRC, STAT ICH, and STAT SYNC commands to Axia audio devices.
These features are currently only in the API tree of logic flows under the device.
Note: Because STAT SYNC will be infrequently used and can generate lots of traffic in large systems, it is disabled by default.
Enable STAT SYNC with an API command like: SET Devices#0.XNodeCombo#[tcp://172.16.1.95:93].LwrpInterpreter#0 SubscribeToSync=True
Please review the Beta Manual for details on properties and functionality exposed via the STAT command.
Exposed route destination lock states in the logic flows simple tree.
Added an html5 panel input box for capturing user input.
This input box can be displayed in several different types for capturing different kinds of data.
Please review the Beta Manual for details on this new Html5 panel control.
Added a setlocal property to html5 main panels that can be used to set properties on components in the panel, its parent, or subpanels.
Syntax is target|elementid|propertyname=propertyvalue.
Target can either be local for the local panel, parent for the parent panel, or the name of an iframe.
For details on using the feature please review the Beta Manual.
Added a panelmemoryslot control to html5 panels.
This control is similar to a normal memory slot except that its scope is internal to a specific instance of the panel.
Please review the Beta Manual for details on this new Html5 panel control.
From 1.4.7.00: Added some code to swap a device path in the legacy Panel device cache if the object path changes relative to the ip:port.
If a device type changes (engineacl to fusion), it must be removed and readded to PathfinderCore PRO to generate the new object paths.
If the device type changes (for example engineacl to fusion) and the device is removed and re-added, legacy hardware maps are not valid without a restart.
This version allows a save of the legacy panel to regenerate the hardware maps with the new device type object path after the device has been removed and re-added without a restart.
Io mapping on legacy panels may have to be recreated in this case due to io number changes after removing and adding the device.
This situation should be virtually non existent as device types do not change unless you replace the device with one of a different type.
From 1.4.7.00: Added an exception to prevent log messages for duplicate inits when the objects are the default none, previous, and other ios.
From 1.4.7.00: Added a DataIndex property to better track the internal database index for ios.
From 1.4.7.00: Fixed an issue where adding audio ios via a cluster message was not incrementing the max index which meant a virtual io addition after that might try to reuse an index causing it to get created in ram but not stored to the database with a database error in the log.
From 1.4.7.00: Added cluster synchronization of the routers MaxDataIndex.
From 1.4.6.00: Fixed a bug where Ios returned from the equipment with no rtpaddress or enabled fields (vx and intercom) could replace the none source in some routes causing those sources rather than none to display and causing corresponding virtual destinations to report an other state rather than a none route.
Please review all release notes from 1.5.5.05 and 1.4.5.00 as this is just a quick patch on top of those changes.
Fixed a bug introduced in 1.5.5.05 that was preventing flow editing within html5 panels because the link to the advanced options was not present when viewing the flows from user panels.
From Patch 1.4.5.00 => Please review all release notes for version 1.4.5.00 as well as they apply to this version also.
Worked on an analysis tool for missing mount points.
Fixed an issue where the execution limit property could be incorrectly affecting logic flow license count.
Added an option in the logicflows root to change the default settings for recursion.
Changing this will also update all translators that are currently at the default settings.
Property is DefaultRecursionSettings and is in the format iterations/ms.
For example 50/1000 means recursion will disable if the translator executes more than 50 times in 1000 ms.
Added execution limit settings to the translator dialog to allow adjusting the recursion detection settings.
Moved skip initial startup and recursion settings into an advanced settings in the translator ui.
From 1.4.4 Patch: Fixed an issue with rtpstream address swapping such as happens with vxengine that can leave source to destination routing unresolved after rtp addresses (livewire channel number) has been changed.
From 1.4.4 Patch: Fixed a bug where legacy panels with IO mapping were not resolving the map path when very large routers were involved because the routers had not finished loading yet.
This corrects an issue where the subscription to those router loading states was not passing the correct source or destination state on newly added ios during the load process.
Fixed a bug in Logic Flows introduced in 1.5.0.01 where the ExecutionLimit propety change was being raised by EvalSuccess causing poor performance due to that property raise generating repeated saves to the cf card.
Fixed a bug with Logic Flow license counting introduced in 1.5.3.03 or earlier.
From 1.4.3 Patch: Fixed bugs with backfeed switching. Names and owners were sometimes getting confused when backfeed sources moved between faders.
From 1.4.3 Patch: Fixed a bug with memory slots where changing the startup state when editing an existing slot was not always getting stored to the backing storage and so could revert after a restart.
From 1.4.3 Patch: Removed an unnecessary lookup and debug message.
From 1.4.3 Patch: Added code into the logic flows ui to issue a re-query of the show profile or source profile list when the corresponding object/property is selected.
The consoles do not announce additions or removals of source and show profiles but they also happen too infrequently to warrant polling so this change allows the ui to request updates when configuring those parameters.
From 1.4.3 Patch: Fixed an issue where None (-1) was not an option in FaCH source profiles to be used for unloading a profile from a fader and indicating that unloaded state.
Updated the vm iso installers, update packages, and images to support /dev/hda and /dev/vda as root OS disks in addition to the normal /dev/sda.
Required for some vm hypervisors such as Stratus.
Added device objects for infinity devices so they would appear as inifinity objects rather than generic livewire devices.
Added a write only property called SendToRestApi to Inifinity objects which accepts strings in the format: OPERATOR PATH VALUE (i.e. PUT /api/s/main/audio/speakerMute true) to sent http commands.
Responses are not functioning yet but PUTS should work.
It is important to know if the value needs to be wrapped in quotes and to use those quotes if necessary.
Added a write only property to MemorySlotsManager to change the value of all slots that have a certain value.
Example: SET MemorySlots#0 ChangeAllByValue=oldvalue-->newvalue
Use --> to separate the old from new value.
Added a CopyValue property to memory slots that allows you to copy a value from one memory slot to another via a command.
Example: SET MemorySlots#0 CopyTo=slot1-->slot2
Use --> to separate the old from new value.
Useful for dynamically altering the copy source and/or target via a logic flow translator.
From 1.4.2 Patch: Fixed a bug where the bindings file for html5 panels was sometimes being cached by the browser causing settings to appear to not stick or revert when making changes.
This file is now pulled with a no cache option and with a version stamp of current time to prevent the browser from using a cached value for the json data.
From 1.4.1 Patch: Saving panels was sometimes generating css in both the html and css file and it was possible at times for them to conflict - especially with hardware mapping.
The save now strips out any inline styles in the html leaving all styles in the css file only.
From 1.4.1 Patch: Fixed an issue where changing a color on one button and then moving to the next and clicking the color again would sometimes update immediately to the color of the previously changed button.
Fixed an issue where the log message generated by translator recursion detection was not including the path to the translator being disabled.
Changed the link to the new beta features manual for 1.5 and set display to visible again for it.
Added an init messages field to generic emulators in order to send a login or other init message on connect.
Added a Connected Property to Device Emulators for logic flows to determine whether the emulator has any successfully connected clients.
Added a ConnectedCount Property to Device Emulators for logic flows to start based on the number of connected clients.
Added a ConnectionLost Property to Device Emulators for logic flows to trigger off of when connections get lost.
This property pulses true then false when a connection gets lost.
Added a ConnectionObtained Property to Device Emulators for logic flows to trigger off of when connections get obtained.
This property pulses true then false when a connection gets obtained.
First beta build after 1.4 release.
Added swap as an option in html5 panel and control's visible property.
Switches between visible and hidden values.
Added a SendCriticalMessage Property to the email host object that can be used to send messages to the critical event email address.
Property should be set with a subject and message where the subject will be split from the message at the first carriage return and line feed.
May not be usable via logic flows yet, only via the API.
Added recursion detection to translators to prevent a badly formed recursive or looping logic flow from killing the cpu or causing a stack overflow.
The default functionality is to disable the translator if the translator is being analyzed for execution more than 50 times per 1000 milliseconds.
These parameters may be changed via the api by setting the ExecutionLimit property on the translator.
For example, to make the flow get disabled if it is executed more than 20 times per 1000 ms, use the command:
set LogicFlows#0.LogicFlowFolder#Test.ListTranslator#6ef05ca8-e530-4326-8a35-85e9e41495af ExecutionLimit="20/1000"
In the case that a translator gets disabled by recursion detection, a log message will be generated and an attempt will be made to send an email to the critical event email address.
There is no UI yet for editing the recursion detection settings to anything other than the default.
It currently must be changed to anything other than the default via the API.