Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Official 5.0 Beta Release Thread
This thread is not for discussion, so please don't post here. It is for official 5.0 beta release information.

This thread is intended to provide an always updated indication of the latest available unreleased (beta) version of the product, for those folks who are interested in trying out the latest and greatest or who are desperate for some feature that has been added in preparation for an upcoming release.

A link will be provided to that most recent version, plus a 'confidence factor' from 0 to 100, indicating our belief of its level of readiness for use (which of course is also based on reports from you guys who used the previous one.) And there will be a list of bugs/fixes included since the last official release.

Beta releases will be in the .900 range. So the betas for 5.0 will be in the 4.8.900 range, to distinguish them from formal 4.8.x releases already released or 4.8.x follow-up releases before 5.0 is out.


These are now late betas of the 5.0 stuff. They aren't 100% baked but are really close and the issues at this point are likely to be smallish and quickly fixed. They are fairly safe to upgrade to as long as you are willing to accept that you might have some stuff not working for short periods of time while a fix is gotten into place. There hasn't been a major issue for the last three or four drops at least, so it's looking pretty good.


The current (known) list of limitations and issues are below. Let us know if you find others.

Template editor stuff
  • There's no way currently to visually control widget z-order, though you can still do it via the popup menu.

Interface viewer

New Admin Client
  • The app shell service management stuff isn't implement yet (it was under Shell Log in the host admin dialog before.) It'll probably become a tab in the admin client. Likely it's going to get left for 5.1 at this point.

  • The overall area of the admin window is remembered and restored, but it's not currently trying to save and restore all of the previously loaded tabs.

  • There's no support in the triggered event filters tab for the comparison value's popup menu items for the trigger class and trigger source. Still need to get those little dialogs done.

  • The driver monitor tab should show offline fields in red or some such thing.

Driver Stuff

RIVA Stuff

Miscellaneous Stuff
  • Remove any state configuration for programs that no longer exist (because they were consolidated into the new admin client.)

  • The bulk loader program isn't updated yet

  • The tray monitor should be marked as requiring admin privs so that it will run correctly if the user starts it manually. The auto-start does this, but manual start does not.


Just some basic hints for existing users, since there's no docs yet, of improvements that might not be obvious:
  • Lots of things are 'edit in place'. If there's no obvious way to edit something, then likely you just edit in place by clicking on it. Everything is sort of moving in that direction where possible.
  • In the Intf. Editor, the lasso type selection has been improved. The normal lasso picks up any widgets that intersect the dragged out area. If you hold down Alt while you swipe, then only those that are completely contained within the dragged out area are selected. This can make things much easier.
  • Also, when you select widgets and use the alignment tools (in the Tools tab to the right of the editor area), the normal scenario is that everything is aligned by the first widget selected (if you lasso select then the one with the lowest z-order.) If you hold down Ctrl, it aligns to the left-most, right-most, etc... i.e. the side you are aligning to (left/top most if centering.) If you hold down Ctrl-Shift, then it does the opposite of Ctrl, i.e. if left aligning it alights to the right most, if top aligning to the bottom-most and so forth. Again, offering a lot more options.
  • You can now lasso select even if you hit a locked widget at the start of the swipe, so that's a lot more convenient. You don't have to make sure to start a swipe on the template background.
  • Grouping is much more flexible now in that you can individually select widgets within a group and move them around and change their configuration. Any operations that require the whole group to be selected will be ignored when you have any partial groups selected. Use Ctrl click to select (or Ctrtl-Shift click to toggle) individual widgets in a group.
  • Alt-Click drills down so that you can select widgets that are layered under other widgets. Each click in the same place drills down to the next deepest one, going back to the top-most one again when it hits the bottom.
  • When whole groups are selected (along with other groups or individual widgets), alignment operations affect the group as a whole. If individual widgets within a group are selected or just a single group is fully selected, then alignment affects the individual widgets.


Latest Version: 4.8.941
Confidence Level: 99%
Download Link:

The subsequent posts contain changes in the beta versions... I had to break them out because this one got too big.
Dean Roddey
Explorans limites defectum
These versions have the following significant improvements (plus LOTS of small ones.)

  • Room config/auto-gen is working now
  • Bringing forward drivers from 4.8.x versions should now work well.
  • The browser dialog (where you select individual resources, images, templates, etc...) now provides a preview when browsing images.
  • Finally worked around the issues with listview controls (which are used for all of the variations of multi-column list boxes) so that they now display correctly and show their borders consistently, though they don't handle resizing quite as smoothly as other controls.
  • Some followup fixes to the Leviton Z-Wave V2 driver client interface.

  • CML IDE is done. It's remaining a separate program from the main admin program, for now. We need get to 5.x as fast as possible and it's already hard enough, so keeping it separate is necessary for now. The driver packaging stuff isn't finished yet, and it doesn't yet remember its window positions, but otherwise it should work fine.
  • The action trace is working again, and implemented in the IV, though not in the other places that use it. I just completely forgot about that until I was typing this. I'll add those to the list to fix for next time.
  • LOTS of small fixes in this one.

  • Copy/paste of widget attributes is now working in the interface editor again, and is much, much nicer than it use to be.
  • You can now create and import packages again, and that also is very much nicer than it used to be.
  • The V1 Elk driver is now back up again
  • The remote port server and chat stuff is back up again
  • The RIVA system is back up again (though I just noticed that the cache enable/disable menu command isn't working, so caching is always on for now.)
  • Logs of small fixes and improvements

  • The CML IDE remembers it's window positions now, and I set up some nice infrastructure to make it easy to do and to make sure it recovers correctly if circumstances changed since the last time a program was run. Updated the admin client to use this new scheme.
  • The CML driver IDE had no way to open any files after the main session file was opened, so added a browser tree to it, as as left side pane, restricted to just macros. So you use this to create, view, edit, delete files while working in the IDE.
  • Hot keys were not correctly getting passed to the tabbed window in the admin interface and CML driver IDE, so you couldn't use hot keys to close tabs or toggle to the next tab.
  • Added a RW/RO indicator in the CML driver IDE's status bar
  • The Echo support had gotten broken during the upgrade, but it's fixed now. One of the issues involved could have also affected using a POST to a CML-Bin handler as well.
  • In the action editor, if you select a path, the file open dialog returns a relative path (e.g. /User/SomeMacro) but the parameters for which the value is being selected require a CML class path (e.g. MEng.User.SomeMacro) and the editor is not converting the path, so you get the relative path which won't work when you try to run that action later.
  • The admin interface should not let you edit any spaces into any of the names along the path of a macro, since CML macro paths cannot have spaces in them. So the in place editor should show an error if you try to save one with a space in it.
  • Also, the default name given to a newly created CML macro shouldn't have any spaces in it, and actually just don't create default names with spaces for any new /Customize stuff.
  • Because of a subtle issue related to polymorphism, the system configuration stuff wasn't seeing changes to the main global tab stuff as changes, and so wouldn't save them unless something else had changed that it did see as a change. So changes could get lost and the regeneration would use the previous settings, making it look like the generation had an issue.
  • The way the RIVA system workw, whether template caching is enabled is sent along in the login, so it will only change upon next login. So just move the setting to the logon dialog.
  • The installer was not bringing forward User drivers across the 4.8 to 5.x upgrade because the directory they are stored in changed and it was looking for them in the new 5.x location. For most folks this would be ones they imported from a driver pack, though it would have happened as well for someone doing their own local driver development.

  • Got rid of the annoying system sound that happens by default if you hit enter in an entry field (which is what we use for the in-place editor in lots of places, like the interface editor's attribute pane.)
  • In the admin client, when you run the driver install wizard for a serial device, you won't see any GC-100 based serial ports that were added (either from that admin client or others elsewhere) after the admin client had been run. That's been fixed and it scans for new ones each time you run the driver wizard.
  • The installer was not taking into account that the location of global actions changed, so global actions weren't getting moved forward to the correct placed during the upgrade, and so would appear to have gotten lost.
  • The 'Set Size' option in the interface editor's popup menu had been commented out because the dialog box that gets the size hadn't been converted yet, so reinstate that now.
  • In the 'copy/paste attributes' stuff we want to make sure that some attributes are not part of that, like widget id, area, locked/unlocked, and so forth.
  • The general template scaling interface is converted now.
  • When you right clicked on a widget, and it was one of a set of selected ones, the others were incorrectly being deselected. If the hit widget is selected, then the current selection should remain as is, so that the following menu operation will apply to all of them.
  • In our pane window manager, which provides the resizeable panes in the CQC GUI programs, increase the tolerance for deciding if the mouse is on a divider. It's sort of tricky to hit as it is now.
  • The interface editor used to have a 'flyover border', a box it would draw around the widget that has the mouse over it. That was gotten rid of, but now that makes it hard to find the corners of a widget for resizing if the widget has a transparent background. So change the selection handle scheme to draw one in each corner as well as on each edge. This makes it clear where the boundaries are.
  • When you create a new item or scope in the browser window, go straight to name editing mode, so that the name can be set with minimum hassle.
  • Combo boxes need to have the vertical scroll style so that they can be scrolled if there are more values than ared displayed at once.
  • The action editor doesn't empty the parameter controls when you delete the last command
  • In the action editor, if you inserted an If or If/Else, it was telling the list window to select the If immediately, which would cause a selection event, which would cause the handler of that event to try to find the end of the If statement, but it hasn't been added yet, so this caused an index error. It should wait until the end of the whole insert before it selects the If line.
  • In the interface editor, the paste command had gotten incorrectly put into the code that is only available via menu operations, instead of in the code that can be invoked via either menu or hot key, so Ctrl-V wouldn't work.
  • The alignment/font setting buttons in the interfce editor got broken due to some class restructuring. The editor window wasn't see the click notifications.
  • Update the driver monitor tab (the new version of the field browser) to support easier setting of field values. Add a ... column to the left of writeable fields. Click this to interactively set the value. Else, click the actual value column to directly edit in place.
  • The driver monitor tab now shows you the driver verbosity and allows you to change it.
Dean Roddey
Explorans limites defectum
Per-version changes, continued...

  • Add a new /System section to the browser window
  • Add to the new /System section a new windowed version of the old command line event trigger dump utility, so that it can be done inside the Admin Client. It can also color code them to make them easier to read as well.
  • Add to the new /System section an option for viewing your system license info.
  • Widgets resized via the popup menu weren't actually redrawing themselves at the new size until you click off of them.
  • If something is deleted from the tree browser, and there are tabs open for it, close those tabs and discard any changes.
  • If the user tries to rename something via the tree browser, and it's currently open in a tab, tell them it cannot be renamed, to close it and save changes first before they rename it. It would be name to rename in place but this was not planned for and unfortunately would cause a reworking of the whole browser scheme which can't be tolerated this late in the game. So that'll be for the future.
  • Implement copy and paste within the tree browser. This is a big one in practical terms, probably as big as the ability to drop images into the browser, in terms of getting rid of annoyances from the old system.
  • Got the action trace wired back into the scheduled event editor, for testing of scheduled events.
  • The admin interface wasn't doing such a great job keeping the event server updated in some cases. If you deleted a scope in the events section, the event server wouldn't be updated so it would still be running those events, even though they had been removed from the system configuration. Single event deletion worked, but not whole scopes (or whole branches of the tree.) So that could lead to some unexpected results.
  • The interface editor's bottom align button was actually doing a left align.
  • Because the image editor isn't done yet, double clicking an image was invoking it for editing mode, but the actual tab opened was a viewer. So, if you double clicked again, the main window would see that there was no editor mode tab open for that image and try to open it again, which would be a duplicate of the viewer already opened. For now just support view.
  • The ability to assign template states to widgets got left out by accident. So that is back in there now, via the attribute editor of course.
  • The numeric text widget is loading up the leading text as the value of the trailing text attribute, when it's selected and its attributes are loaded into the attribute editor.
  • Adding a progress bar to a template causes a lockup of the editor because it's going into an infinite loop while loading the direction attribute's value list.
  • A change in the graphics device architecture caused font change notifications not to be sent to RIVA clients. This may also explain why the Android client was having issues, because it was getting pop font requests for fonts that were never pushed.

  • There's a problem with the popup menu with e-mail and user accounts. The Delete/New options aren't correctly enabled or disabled.
  • The log monitor doesn't check to see if there's any items in the list before it tries to select one (after loading or after you change the filters.)
  • The Negate check boxes in the logic server configuration were not toggling when clicked because they weren't marked as 'auto check'.
  • When a new field is selected in the left list of the logic server config, and its source fields loaded on the right, there was no initial selection of a source field.
  • When a new field added in the Variable driver's field editing dialog, automatically select it, make it visible, and invoke in place editing on it so that the user can immediate just rename it.
  • Until we get a more robust solution for the initial sizes of the pane windows, give the interface editor's right side pane more initial size.
  • The event monitor engine wasn't initializing a flag correctly, which could make it a crap shoot at to whether CML level event monitor support would get initialized or not. If not, then they wouldn't run in the event server and couldn't be compiled in the Admin Interface. There were a couple other issues as well, in the editing of the configuration, which were straightened out.
  • The image editor is now ported forward. So double clicking an image now invokes that, at least for User images.
  • The room config wasn't flushing the lists in the global tab before loading. So, if you did a Revert, you'd get double copies in the lists.
  • The standard Windows list oriented controls don't reselect another item if you delete the selected one. Given that the one you delete is almost always the selected one, this is a real PITA that didn't exist with my old stuff. So just update our new windowing framework to enforce this ourself, with the default being to always do it but having the option not to if we ever need it. This avoids a lot of ad hoc busy work.
  • Update the ad hoc in place editing support so that it will special case booleans and enum values as is done elsewhere (like the attribute editor) and just do a drop down instead of requiring that you type in a value. Currently the only place this comes into play is in the GC-100 port config in the two enable/disable columns. Later it'll get used in more places as IPE becomes more and more common.
  • The e-mail account config tab wasn't remember the new stuff when you did a save, so it would always seem to have changes when you closed the tab.

  • When removing a driver, the removal of the entry from the tree browser was the last thing done. But, if an exception occurred while trying to unload it from the CQCServer that hosts it (maybe it's not running or the driver never loaded correctly) that tree item removal was skipped. So move that up to the point just after the driver's configuration is deleted, since that means it's no longer configured, regardless of what happens with the driver removal. The user will still be warned if the driver removal fails.
  • The admin client wasn't dealing correctly with drivers that fail to load. Not CML drivers in which the actual underlying C++ driver really does load and continues to try to load and parse the CML, but a C++ driver in which the driver code cannot be found or loaded for some reason. This situation (though pathological) brought up a number of issues with how the status of drivers was being tracked so that had to be reworked. In the end it came out considerably better anyway.
  • Remove the driver manifest for the old device simulator driver, since it's not going to be supported in the 5.x world.
  • Add verbiage on the new user dialog to indicate that the default password is Welcome.
  • The IV's file open dialog was missing the title text.
  • Port forward change password feature. Enable it in the IV and the Admin Intf.
  • When you remove things from one of the room config's global lists, references to those things aren't always getting removed from the rooms. This is working correctly now, and much simplified internally.
  • The data server browser (the handler for the /Customize section of the browser tree) was using a permanent data server client proxy. If the MS was cycled while the admin client was up, that would get out of date and it wasn't catching such errors and reconnecting. Catching such errors would have been tedious, and the frequency of use of the object was such that it was easier to just create a proxy as needed. This avoids the whole issue. In the case of a short burst of rapid access, the actual underlying connection is kept alive by the ORB for 15 seconds anyway, so the only setup involved is the little bit to create an instance of the client proxy object itself.
  • The log monitor should be showing 24 hour format for the time stamps.
  • Somewhere along the line, as I was trying to figure out various quirks of the list view control, the color coding of log messages by severity in the log monitor got turned off, so turn that back on again.
  • There are some shipped driver manifests that have incorrect category settings in them, so take care of those.
  • The Ctrl-F key in the CML IDE needs to put the focus on the to find entry field. It already puts any selected text into the field, but it doesn't put the focus on it in case you need type something.
  • Intercept the enter key in the CML IDE's search tab and do a find next, so that you can hit Ctrl-F, enter a value (or use the selected text put there automatically) and just hit enter to search. F3 still works as well of course.
  • It looks like it's safe to reinstate the auto-sizing of the last column of multi-column list boxes (where that's appropriate.) The reworking a while back seems to have made that safe and it's awfully convenient so turn it back on.
  • The app control binding driver wizard panel is now ported.
  • There is an issue where, when activation moves from CQC to another window (which always happens when an app control driver sends a command to the tray monitor to make it run a program), it's possible that the code that handles that activation change could cause an exception in the GUI thread, which could make the GUI thread terminate (but leave the actual program running.) So this is a possible explanation for the issue that some folks have seen with the Tray Monitor.
Dean Roddey
Explorans limites defectum
  • The action editor's popup menu is using %() instead of $() when it inserts a field reference.
  • Update the field selection dialog to allow the user to select to insert by name or by reference, where that's relevant.
  • Make the field and variable selection dialogs smarter and more helpful. They will look at the selected part of the parameter text and try to figure out if it's a variable or field name or reference, and will automatically set up the dialog to match those settings.
  • The variable selection cheat sheet wasn't be persisted, so it would always come back blank.
  • The action editor was seriously reworked back early in the process, being one of the most GUI intensive bits, and somewhere along the way a key step got lost. This causes actions with conditional states to get munged. The damage isn't permanent. Just open it and save it again after this upgrade and that will fix it. Sorry about that, though we're doing pretty good so far given the enormous UI changes I guess. The action will either fail upon hitting the first conditional, or worst case it could get into an infinite loop.

  • Due to an issue in accelerator table setup, the CML IDE was not responding to Ctrl-- keys (Ctrl-minus on the main keyboard) to close a class.
  • Do a big rework of the tree browser architecture. Some decisions made early on, now in retrospect, were not optimal. Move more functionality in the brower tree, and hence less in the containing application. This reduces rendundant code in the containing applications and makes it much easie to support tree manipulation functionality in the popup dialog version of the browser, which is necessary for the standalone CML driver IDE, since that will be its only means to create, delete, and rename files.
  • Update the standard CML driver IDE to get rid of the browser window on the left. It will use the popup file selection dialog for file manipulation (as mentioned in the point above.)
  • The CML IDE (embedded and the standalone one) now use the same Ctrl-R and Ctrl-O commands as they always have for opening files for read only or read/write. These are how you open files for editing inside a currently open CML debugger tab. The man browser doesn't do that, so there needs to be a way to indicate you want to open something for editing in an IDE tab. The only difference is that the one on the embedded IDE doesn't provide the popup menu, since it's just for file selection. You still use the main browser window to manipulate the tree.
  • Tighten up the CML editor's use of the status bar for displaying info. It was not always getting some stuff updated correctly when you moved to a new source tab. On the standalone driver IDE, add the full path of the current file to the status bar as well (as it currently is for the embedded one.)
  • When you closed the last tab in the Admin Interface, it could leave one status bar slot with info in it from the last tab closed. Make sure that gets cleaned up.
  • Change the browser so that it no longer creates a file with a default name, then allows you to rename it. Now it creates a blank item in the tree, invokes the in-place editor for that slot, and lets you give the file a name up front. If you cancel, it just deletes the blank item, and nothing has happened. If you commit, then it creates the file. This makes things much cleaner internally and it means we don't have to special case anything (like user accounts) that have to have the name set upon creation and can't be changed.
  • If you do a delete in the tree, instead of just prompting if you really want to delete, it will first check to see if that file is open currently. If so, it gives you a different warning, indicating that it's going to close that tab and discard changes if you do it. If not open currently, it just gives the usual "are you sure?" type of warning.
  • In a triggered event with multiple filters and using the "only one" logic type, if none of them passed, it still reported the filters as having worked, but that should be a failure as well. This is a bug that would have been there for centuries but it was never noticed by anyone in all that time.
  • Add a Test button to the global action tab to be able to test global actions in the action trace.
  • Update the action trace to allow you to enter action parameters for testing where that's applicable, such as the new global action testing indicated above.
  • Any images created under 5.x (dropped on the tree or auto-generated) have munged thumbnails. This currently has no practical significance but obviously needed to be fixed. We may have need for the thumbs again, though so far I don't think they are being used in 5.x.
  • Double clicking in the room lists for things like lights and zones (in the system config) isn't toggling them off and one. Or, more to the point, they are being toggled, then the tab code sees the event and sees the new state and just toggles it back. The checked list box control was incorrectly faulting the 'auto-check' flag to true, when it should only be on when requested.
  • The live tile widget attribute configuration is now working so you can create and edit those guys again.
  • In the generic multi-selection list box, used for instance in selecting security zones for a room in the system config, it was incorrectly marking the first item as though it were a single selection list box, which made it impossible to turn off by Shift-Click in the normal multi-selection way.
  • You could get a list index exception in the system config in security zone selection list as well.
  • The multi-selection driver prompt wasn't correctly getting previously checked items re-checked if you did a reconfigure.
  • The interface editor doesn't run a re-validation after you Undo, so if you re-introduce errors it doesn't show them.
  • Have the tree browser treat new scopes just like new files, and not create them until you've named them. Otherwise it'll be inconsistent.
  • There is a Copy button on the initial exception dialog, but put one on the details dialog as well.
  • In the logic server config tab, if you press ... to select a source field, then cancel, it still tries to use the returned info and you get an error that it can't find the indicated driver moniker.
  • The logic server config tab isn't forcing an initial selection in some of the combo boxes. It should also use the human understandable logical op names that are used elsewhere, not AND, OR, and XOR.

  • The check box is putting the false text into the true text attribute, so you can't edit the true text.
  • The 'log invocations' check box got left off of the scheduled event editor tab.
  • The time text widget doesn't use the regular Text value. It just displays generated text, so remove that attribute from the editor for time text widgets.
  • Once again bitten by the 'auto-check' thing. The generic list multi-selection dialog was marked wrong so it was doing the same toggle it one way and right back the other way thing as happened in another case in the previous drop. The place where I saw it was when selecting template stats to assign to a widget, but anywhere else that generic dialog was used it would have been an issue.
  • In the CML IDE, if you do Ctrl-O or Ctrl-R to open a file and then cancel, it causes an exception because I wasn't initializing something before invoking the selection dialog.
  • In the action editor, the popup menu for Cmd, If, and If/Else hadn't been updated to reflect changes made some time ago to the way the menus work, so if you just hit escape to back out of the menu, it would cause various wierd reactions because the code was making use of a bogus menu selection value.
  • My 'improvement' to the error display dialog in the previous drop proved not such a great improvement.

  • The check box widget's 'text/image layout' attribute got left out of the attribute editor, so you couldn't change it.
  • If you dismissed (by hitting escape or clickin elsewhere) the attribute editor's drop down menu for an enumerated attribute, you'd get an error beep due to an index error. It hadn't been updated to account for a change in how menus report the selection.
  • The font selection dialog was trying to select the previously selected font, but was using the 'has to be there' version of that selection method. So, if the font was no longer available, it would cause an error.
  • The field/variable text widgets were incorrectly removing the foreground colors, instead of the extra colors. The former it uses and the latter it doesn't. So you couldn't set the text color or text shadow color.
  • Port the CQSL Media Repo Manager forward to 5.x. It's just going to be brought forward as is for now. Later we can re-address it and use the new UI capabilities to significantly improve it.
  • There are some dialogs that need to intercept the X button and confirm whether shutdown is ok, which our current dialog box wrapper doesn't support. So add that and start updating dialogs to use it.
  • Use a higher order scaling factor on the auto-gen images, since they aren't as high quality as they could be.
  • The check box widget wasn't including its own attributes (true/false text and layout) in equality testing, so if you changed those, and only those, they wouldn't be seen as a change and wouldn't get saved.
  • There was a recent optimization to allow overlays and templates to pre-scale their background images, which makes them far more efficient if the image is not sized to fit the widget. But, that won't work for RIVA clients, becasue they always see the original image from the image repo. So the image wouldn't be scaled correctly. So turn off this optimization if in RIVA mode.
Dean Roddey
Explorans limites defectum
  • Double clicking an If command in the action editor is not toggling its negate state.
  • A number of the driver install wizard panels were not getting an initial value set on a new driver install, which would make it complain that nothing else selected when you try to move past that panel.
  • Port the PDL driver harness forward.
  • Port the client side driver for the V1 VRC0P Z-Wave driver over to the new UI scheme.
  • I 'fixed' an issue in the previous drop that was caused when you had a widget set to a font face that no longer exists. However, I forgot that there are two different font selection dialogs, and the interface designer uses the one that I didn't fix.
  • In the object spelunking tabs of the CML editor, add a ... column that lets you get more detailed info. It just shows a basic formatting of the object's contents, though this is done by the object itself and not all CML classes have optimal formatting of their values, so that'll be improved over time. In the meantime, make a pass and get a good number of them improved to support this. Since it is just a basic text dump, there's no way to furthrer dig into the data. That also can come later. But, for now, what's there will make it vastly easier to debug issues.
  • If you change the origin of a widget by typing the values into the attribute editor, or make it smaller, the old location is not being invalidated so the old stuff is still there until you click on something else. Note this also means we need to move the selection handles when that happens also since that widget has to be selected in this case.
  • Create new icons for the GUI programs. Initially just one was created but that could be confusing since there was no visual distinction in the task bar. Now there are unique icons for the programs. The installer, uninstaller and tray monitor use the original one. But none of those will be running at the same time. The rest have their own. The IV and Windows RIVA client both use the same one, but there again, not likely to be running at the same time in the same GUI session.
  • The popup menu in the interface editor isn't checking for a dismssal (click off it or hit escape) so it tries to process the 0 value that comes back and that is caught as an unknown menu item error.

  • If you escape out of the in place editor in the attribute editor, it will not revert back to the original value, leaving possibly invalid content to be accepted. Actually, the in place editor should work on a temp copy of the data, and only store it back if it validates, then we avoid this altogther.
  • If you use the attribute editor to change the size or origin of a template, it should be constraining that move such that the template never gets smaller than the child widgets it contains and a widget cannot be moved such that it falls partially or completely off the widget. It will just adjust the entered value to meet that constraint.
  • Related to the previous, you could enter a negative origin for a widget, even the template, which makes no sense at all. It now catches that and shows you the error popup if you try to do that.
  • The main menu bar's Exit command accidentally got its hot key set to Ctrl-X, instead of the Alt-F4 it was supposed to be. Ctrl-X is a cut command. So if you did Ctrl-X and there was nothing visible that would support a Cut (and eat that command) the admin client would exit.
  • Though it requires a bit of hacking, support the user defined hot keys in the IV. They are no longer supported in the Admin Interface, because there are just too many hot keys already in use. It would end up being very inconsistent. But in the IV it's reasonable to do.
  • Improve the initial sizing of panes in the pane manager window. This will allow us to set initial sizes of panes, which means that things like the attribute editor in the interface editor can be initially sized to be fully visible. And these changes set the stage for being able to save and restore previous layouts later.
  • Make the popup remote data browser dialog start in the /User area, if there was no previous value or the previous value was not found.
  • The pattern for the time text widget should allow for visual editing in the attribute editor.
  • The issue with clicking out of or escaping out of the intf editor popup menu I fixed in the last drop wasn't the only place it was happening. I thought it was, so I didn't look any further. But it was also happening sometimes in the tree browser.
  • If you paste into the action editor, and either it was empty before or it's a paste all, which means it'll be empty when the new stuff is pasted, then it doesn't select one of the available new commands. The action editor's logic assumes that there's one always selected if it's not empty so this can cause problems.

  • Add a new logic server field type, called an "On Counter". That's probably not an optimal name, but it will often be used to count how many of a set of things are on, enabled, set, etc... You give it a set of source fields, each of which has an assocaited expression. The value of the field is how many of the source field expressions evaluate to true. Or, you can choose to invert it and have it show the number that evaluate to false.
  • Increase the maximum number of source fields in the logic server to 16 (previously was 8.)
  • Allow Admins and Power Users to reset the passwords of lesser users from the Admin Interface. There's a new button on the user account editing tab to do this.
  • You should be able to copy from System directories, to paste back into the User area for your own use. But that option is greyed out.
  • You can't paste into the User directories themselves, though there's no reason that shouldn't be doable. Though we discourage putting files directly under /User, scopes still need to be at the least. So we should allow pasting to there.
  • In the process of moving the code forward to the 5.x code base, we accidentally dropped the Plex media repo driver from the list so it wasn't getting built.
  • Some changes made to improve our IDL language support for enums broke the PlayMode field of the Sonos Zone Player driver, and possibly some other things that used the UPnP transport query.
  • The changes to the UPnP support to work around limitations in the Windows stuff (which causes failures when talking to some UPnP media renderers) changed the way devices were looked up. A few of these changes somehow didn't get ported forward to the 5.x code base, so device lookup was failing.
  • Add support for .m3u8 type playlists in the file tag repo. These are in UTF-8 format, so they don't have the usual limitations on characters used.
Dean Roddey
Explorans limites defectum
  • A path management snafu caused the triggered/scheduled events and event monitors to be moved to the wrong place, so they appeared to have gone away. Doh!
  • In the logic server, the field list is sorted, and in a few places that was not being taken into account, so you could accidentally change the wrong field, if you deleted a source field, or used the source field move up/down buttons.

  • If you disable the 'use image' attribute of a widget (which uses a single image), it's not clearing out the previuosly set image info, so you can get an error if the image subsequently gets removed.
  • The "Clear messages' button on the driver IDE's remote chat window isn't working.
  • Scintilla (the text editor engine we use now for CML editing) when you tell it to keep a line visible, puts it at the bottom of the window, i.e. it does as little as possible to get it visible. This is really annoying because every time you do a step type trace it moves to the bottom of the screen. So add some more smarts to optionally allow it to keep the current line vertically centered (as much as possible) and set up the CML IDE to use that feature.
  • If you go past the service startup panel of the installer, and change the mode, and then come back, you end up with two radio buttons checked.
  • The C++ exceptions that the CML engine passes through for the HTTP client don't provide enough info to really diagnose what is going on, so add some more when it is available in the underlying C++ error info.
  • Add a new driver for the Yamaha RC-A2050 AV Receiver. This is not one that works with the old 'universal' YNC protocol, because they basically wrecked the whole concept behind that protocol. So now we need per-model drivers. However, this one uses a base class and just a small derived class per-model, so it should still be a lot more efficient, and easy to add new ones.
  • The lexer stuff for the CML IDE doesn't handle escaped quotes. That can get it into an unbalanced quote situation where everything after that escaped quote is displayed as quoted text, in blue. So we should update the lexer to ignore any escaped characters while inside a string.
  • Our custom tabbed window isn't redrawing the header upon resize, so the down arrow can get stuck or corrupted because it's not being updated.
  • Double clicking breakpoints in the CML IDE's breakpoint tab doesn't take you to the position.
  • There's no way to delete breakpoints in the CML IDE, or toggle their enable/disable state.
  • Changing the value of a CML object in the IDE (manually via the object browser tabs) isn't updating the displayed value in the list box until the next debug step or run. It should update it immediately upon setting the value.
  • There's no Save All or Close All menu option in the standalone CML drive IDE
  • The attributes for text f/x and f/x offset are not getting set up in the IE's attribute editor.
  • The dynamic text widget derivatives (field, variable) aren't setting a default appearance that matches the simple default theme the others are using.
  • The package import stuff seems to have gotten left only partially complete. The dialog to deal with ambiguities when selecting a new device in the target system to replace the ones used in the source system wasn't completed. There were also issues with getting pre-5.x packages upgraded to use the new hierarchical naming scheme for macros, images, and templates.
  • Somewhere along the line our code to prevent the list view's annoying habit of deselecting the selected item if you click in its background somewhere, got lost so you could get list items deselected and mess up the logic of the window, which depends on an item being selected if the list is not empty.
  • Somehow the receiver tab of the generic IR/RF/Trigger driver client failed to get really tested, so it was sort of half baked.

  • The new client side interface for the Z-Wave VRCOP driver failed to get back in thecheck for duplicate unit names. So you could create dups. That would in turn make the server side driver try to register a duplicate field, which it would reject and would fail to come online.
  • Though it's got its pros and cons, make the base server side driver class more tolerant of duplicate field names, if they should somehow happen. Have it log an error and ignore the dup instead of throwing an exception and staying/going offline.
  • In the Z-Wave driver, if a unit was not found during the Z-Wave network scan, the user assigned module type info was never loaded up into it. So the fields wouldn't get created, nor would the make/model info show up in the client side user interface. So change the way that the unit type info is managed so that it always gets loaded if the user has assigned a unit type, even if the unit doesn't seem to exist anymore.
  • The Z-Wave VRCOP driver was treating the unit status as runtime only, and therefore not streaming those values. But the client side driver wants to be able to display the status of the units and needs that info, but isn't getting it. Therefore they always show up as Online even if they were never found or somehow failed.
  • Now that we have the correct unit status info, disable buttons that make no sense for a missing or failed unit when such a unit is selected in the list.
  • The VRCOP driver should prevent the user from making any changes while a scan is underway. When the scan completes, the driver is going to reload with the latest data from the driver, and any changes made after the scan started will get lost.

  • The driver monitor tab's in place editing (to set a field value) was calling the wrong method to get the entered value, so it would only work with string fields. For any other type it would just get back an empty string which wouldn't work. And, for convenience, just let it assume the write will work, and update the list window cell with the newly entered value. If it doesn't work, then the old value will just revert on the next poll round.
  • The old file spelunker dialog has been ported forward to a new file spelunker tab, and is improved as well to make it simpler to understand.
  • The Exit menu bar items in the admin intf and CML IDE are both in the wrong place, and a typo in the IDE one.
  • In the tabbed window, if you drop down the tab selection menu (the down area) but then click off of it somewhere, it gets an error because it wasn't updated to reflect a change in how 'no selection' is reported back from the menu.
  • The Leviton VRCZ4 actually sends out scene activation messages (if in scene mode) not scene configuration messages, so add scene activation to its device info file. This should cause it to respond to those scene activiation messages and send out event triggers.
  • The selection logic for the intf editor still wasn't quite right. Shift-Ctrl click was being used as the 'drill down' scheme to select covered up widgets. But, but consistency, it really should be toggling the hit member of a group (or a single if not grouped) in and out of the selection, just as Shift-Click does it for non-grouped widgets. So, make Alt-click the drill down instead.
  • Though it's painful to do this late in the game, we really have to update the alignment logic in the intf editor so that alignment of fully selected groups aligns the whole group. Otherwise, you have to ungroup a group and individually align its members. This makes the grouping mechanism vastly less useful and often sort of annoying. So now, if a whole group is selected, it will be aligned as one thing. If individual members of a group are selected, they are treated the same as ungroup widgets and aligned as single widgets. So this also allows you to do alignment within the group without ungrouping, or to align related widgets in multiple (probably already aligned) groups.
  • When sizing a widget via the mouse, it wouldn't always redraw correctly, sometimes only once you clicked off it.
  • The intf editor makes newly pasted widgets be selected, but it wasn't unselecting any previous selection first, which would allow the template to be selected at the same time as other widgets, which is verboten.
  • You can't invoke the context menu in the intf editor via the standard Shift-F10 key, so get that working. That allows you to get the context menu for a widget that you've drilled down to using Alt-Click.
Dean Roddey
Explorans limites defectum
  • The visual editor for the logo image widget's repo path should be marked to indicate it's an image path, whereas now it's just marked as text, so you don't get the tree based selection dialog.
  • The logo image widget isn't showing a default image when used in the designer.
  • The section of the driver summary screen that shows the serial config info has a one off issue with the stop bits.
  • The intf editor's color palette should have a copy button so that you can copy a color and paste it into the attribute editor on some other tab.
  • Add a prefix option to the field/moniker list in the overlay widget's dynamic overload command. It can be P, meaning allow partial prefix matches (i.e. anything that matches up to that point.) Or, if not present, the matches must be complete. The P is then removed and the rest is parsed as the quoted comma list.
  • Stop jumping through hoops to special case attributes like the size of a template. The origin in cases like that must remain zero, but there's nothing built into the attribute system for areas to enforce that. So, though it's annoying at this late stage, add a new Size type attribute that can be used. This way only the size can be changed and the origin will naturally remain at zero. And provide a new Size:mincx,mincy/maxcx,maxcy attribute limit to use in those cases. This will let us move that sort of checking down into the attribute editor generically and watch for both min and max size limits.
  • In the attribute editor, allow Alt-[arrow key] to be used to adjust the horz/vert values of a point attribute or the origin of an area attribute. This way you can adjust these types of attributes quickly without having to leave the attribute editor.
  • There was one place where the template caching setting of the IV wasn't being honored, so this could cause you to be unable to see template changes in the IV until the timeout expired.
  • The code that limits how far you can drag/size a widget with the mouse is not working correctly, so you can size or drag them off the template.
  • Now that we have the new Size attribute type, extend the stuff done above to allow for adjustment of point or area origin attributes to also allow adjustment of size attributes from the attribute editor. Use Ctrl-[arrow key] to do it, which makes it the same as happens in the editor window.
  • Get the Ctrl-Alt-Minus/Plus hot keys back into the intf editor for adjusting font size of selected widgets when you are in the editor window (not the attribute editor window.)
  • The Undo stack can cause a maximum nodes reached error, which explains the error that a few folks have seen but I hadn't been able to figure out where they came from. The problem is that the it checks to see if the stack is full and dumps old ones. But, it can push more than one item. So, if the stack is one shy of full, and it pushes two items, that second one will overflow the stack.
  • If you have a text width with a blur or drop shadow, and you change between allowing text wrapping back to not allowing it. A bit of the blur from the bottom line will get stuck in the background text renderering bitmap and will show up as a ghost under the new single line text. It's only an issue in the designer, but still.
  • The road to hell is paved with good intentions. The copy/paste attributes stuff. I thought, oh it'll be really easy now, since the attributes are already queryable and settable, so all I have to do is find the ones that are common to source and target widget. The ones that are selected, I just set them as though the attribute editor had set them. But, some of them have the content they have for a reason and that can't be changed or only some parts can. Just pasting another widget's version of that attribute will break it. The image list is one that has come up. Widgets have specific image keys and that can't be changed. Pasting an image list attribute really should be just finding common image keys and copying over the image paths for those. There may be others that are a similar issue though going through the list it doesn't seem that that will be the case.
  • Get the Ctrl-Alt-H/V hot keys back into the Intf Editor, to toggle the horizontal/vertical justification of text for selected widgets when you are in the editor window (not the attribute editor window.)
  • The ability to set the group name of a grouped set of widgets is not available in the attribute editor, so we need to expose that.
  • The group name/id is not being included in the widget level equality test, so changing the grouping status or name doesn't show up as a change and so won't get saved unless other changes have occurred.
  • The 'Define States' content menu option should only be available if the template is the selected widget.

  • The driver info dialog isn't dealing with the fact that new driver prompts can be added, and therefore won't be present in the saved manifest info. So it needs to just indicate it wasn't set. The driver has to just default these, and the info dialog should just indicate that the value isn't present.
  • There must have been a goober in older versions of the Intf Editor that allowed the template itself to get marked as though it was grouped. It can never be grouped and having it thusly marked is causing an error now in some recently added code to get the group name editable in the attribute editor. So just unconditionally force this back off upon loading a template.
  • An important line of code got lost from the driver install wizard during the conversion to 5.0. Upon reconfig, the driver wizard is supposed to force default values for any prompts that are defined in the manifest but not found in the current driver configuration. It was getting the new prompt definitions into the driver config, but not forcing in default values for them. That would make the driver wizard get errors because it expects all prompts to at least have a default value.
  • The admin client isn't initializing the web server's CML classes, so you can't compile a web socket or CML-Bin macro in the macro editor tab.
  • The CML web socket simulator (used when debugging inside the IDE) does a case specific comparison of the URL it created from the macro path of the macro it's debugging and the one it created from the incoming URL. It should be case insensitive.
  • The Plex media renderer driver had a compilation error, due to a change in the underlying media renderer base class that hadn't been accounted for.
  • Get the lastest updates of the Oppo V2 driver into the build.
  • Add a help about dialog to the admin client. Should have thought ahead and made it generic for use with the other programs, but failed to do so. I'll do that later. The admin client is the important one.
  • The CML IDE intercepts class file operations by implementing the class manager interface and then delegating to the containing application's provided class manager. This allows it to do things it needs to do, one of which is watching for saves so that it can clear the 'dirty flag' on the Scintilla editor window. Otherwise, even after saving, if you close a tab or the session or IDE, it will think there are still changes. In a few places it was calling the containing program's class manager directly, and thus bypassing this interception mechanisms, so this changes flag wasn't getting cleared.
  • If you copy all commands and paste them into another action that has existing content. It should insert the pasted commands at the insert point. What is currently happening is that, in the command list window it's treating it like a replacement, so it's removing all the contents then putting in the pasted stuff, but in the actual data behind the scenes it's doing what it should do. So the two are getting out of sync and that can cause all kinds of issues.
  • If you de-select secure connections in the web server installation panel, clear any previously set certificate info.
  • An initial click in the installer's component list can cause an index error because of an initial item not being selected, as usual. This also happens in the case of a non-initial install when you uncheck 'use previous settings'. It needs to select an initial item when that happens.
  • The installer was using the 'app control' flag to control whether the tray monitor panel would should up, instead of the overall tray monitor flag. So, once you were past the initial install, if the tray monitor wasn't previously installed with app control enabled, the options panel would never show up again so you couldn't get it installed correctly.
  • Oops, the iTunes Tray Monitor based media renderer driver didn't get back into the build. So get that in the build and verify that the iTunes repo and renderer both work and that the iTunes panel of the Tray Monitor is working right. And we need to update the TM based renderer and player a bit as well, to match some changes in how CQC interacts with renderers.
Dean Roddey
Explorans limites defectum
  • The 'log invocations' on the scheduled events tab isn't doing anything because the check box needs to be marked as autocheck type. Otherwise the click notification just has the previous state in it, and so we never change it. Triggered events tab is ok.
  • The action editor doesn't handle going back to a previously saved size/position correctly
  • In the remote browser dialog, if we aren't browsing for images and therefore remove the image preview controls, we need to change the edge anchor of the browser tree to be 'size bottom/right' because now it has to size up to fill the available area when the dialog is resized, whereas in image mode the image preview window does that.
  • The static text control sucks at redrawing itself upon resize, so override and force it.
  • Somehow neither I nor anyone else noticed that there's no way to load a license file except when the system is in trial mode (and you get the initial registration dialog.) If you just need to import a new license file, there's no way to do it. So add a Register button in the "/System/License Info" tab for this purpose.
Dean Roddey
Explorans limites defectum
  • Lower the polling interval in the PDL engine to the lowest allowed. This is only used to check for asyncs (and to see if there's any polling messages that are due to be sent) so it's find to minimize it. This will help it deal better with devices that send out lots of data on a continuous basis.
  • Have the PDL engine request that that system create a larger serial real buffer (for serial drivers of course), to help with larger bulks of data being sent in an ongoing way, which might otherwise overwhelm the buffering and cause data to be lost.
  • Another problem similar to the image list issues previously discovered, when pasting attributes, this time for actions. When actions are pasted we have to special case it and not just blindly set the stored action on the target, because that will replace the action events and every command source has specific action events for a reason. So instead, special case it and let the target widget take the opcodes for any events that have the same id. This will cover widgets of the same type, plus any that are not but use some or all of the same action events, which is probably about the best we can do in terms of automatically getting it right.
  • During the conversion of the data server architecture for 5.0, some apparently redundant methods for setting the pause state of events, sunrise event offset, and event schedule were removed, because we can just use the same general purpose interface that the event editor tabs do. But, turns out there was a reason for those specialized calls, in that they don't require administrative rights to do, so that they can be called from the IV which is often logged in as a limited user, whereas the general wholesale editing calls do require admin rights. So suddenly attempts to do these things from the IV were failing with a rights violation. So, put them back, as painful as that is this late in the game.
  • The CML source editor's lexer doesn't deal with a double quote character literal ('"'). It leaves everything after that (up to the next double quote) as string colored since it thinks it's the start of a string.
  • PDL driver IDE isn't getting added to the start menu, or being copied to the release image.

  • The data server will currently, when loading up the configured drivers, stop loading if it gets an error at any point in the process. It should be more tolerant, just logging an error and continuing with the rest of them, if it can.
  • The installer should be failing if there is a failure to upgrade drivers from the old 4.8 scheme to the new 5.0x scheme, which it wasn't doing, so we never knew there was an error during the upgrade other than a message logged to the installer log, and it looked like an error later in the actual running system.
  • The field trigger configuration dialog isn't restoring the previous settings properly. The reason being that the standard Windows radio button control is a waste of digital space. So I just replaced it with a custom one that works like it should.
  • The default value for the minutes parameter of the timed field change action command is 0, which isn't a legal value for that command, so change it to 5 as a reasonable default value.
  • The live tile widget's comparison operator doesn't first check to see if the two widgets have the same number of loadable templates before it tries to compare them. So if they are different, one will likely get an index error when you try to save the containing template after a change.
  • The live tile isn't adding his action to the attribute editor, so you can't edit what he'll do when you click him.
  • The template hot keys editing dialog needs to indicate that the second column is the search column, since the first column is for the check box. Otherwise, first character nagivation doesn't work. Also the same applies to some tabs in the room configuration as well.
  • We aren't adding the named widgets to the target list in the template hot keys dialog when we invoke the action editor, so they aren't available for commands.
  • The method that gathers up the design time ids of all of the widgets isn't flushing the list first. Select All uses this method and if the template is currently selected, then it ends up being selected along with the other stuff, which is not allowed. The template can only be selected by itself. This means that menu options not valid for the template will also be available, which could lead to a mess.
  • Another side effect of the move to the attribute editor. It doesn't directly edit widgets. It deals with packaged up attributes and their associated values. Actions are one of those attributes, and it wasn't packaging up the runtime values of the source widget along with the action data. So only the basic RTVS would show up in the action editor, not any widget-specific ones. So, we need to get the source widget's RTVs into that package as well. This might show up somewhere else as well, but it doesn't seem to the be the case. Actions aren't being editing via the attribute editor anywhere else. And for compound actions like hot keys, template actions, etc... in those cases we are getting all the data since those actions are standalone objects we can edit as is.
  • The room config dialog that let's you add lights or thermos gives an option to add to existing rooms or existing rooms that already have one or more of that thing. The latter isn't working. It currently does either add to all or none, ignoring the add to existing option.
  • Reword the message that is show if a driver is configured but fails to load on the target machine.
  • The logic server config for a new field is not disabling the boolean type radio button for the numeric oriented ones (math, min/max and average) when it should be.

  • The main CML debugger window was adding Ctrl-V, Ctrl-C and Ctrl-X to its accelerator table. This was both unnecessary and a problem because it would prevent its child windows from seeing them, such as the find/replease entry fields. The source editor will handle these keys itself so no need for the main window to do them.
  • Add support for wrap around to the spin box wrapper classes and enable it in those spin boxes we create. It only works with the arrow buttons, the arrow keys don't do it for whatever reason. But with the arrow keys you get auto-repeat so it runs the value up pretty quickly.
  • In the variables driver's edit fields dialog, sort the field list.
  • The GC-100 serial port factory was incorrectly returning a status indicating it had loaded new configuration when it in fact had not changed. So, once it had been called once to get available serial ports, after that it would return an empty configuration object and the caller would take it as new configuration with now GC-100s configured. So ports would show up once during driver install and then not again until the service on tha target machine was cycled.
  • The speech driver can't delete the files it creates, because the audio player still has the file open and locked. So the files just accumulate. So reset the player after we see playback stop, so that we can delete the file.
  • Also, a misunderstanding of how the underlying unique file name creation API works was causing the speech driver to leave zero sized files as well once I changed it to add a .wav extension, because the system was creating a zero sized file for us to use but we weren't using it. So change how the speech driver creates unique files so that we can call them whatever we want.

  • In the room config, if you edit loads after you've unloaded the original driver and loaded another one, it won't pick up the new moniker, so you can't fix it. It also doesn't show the previously set moniker in the field names when it loads in the incoming info.
  • In the room config, if you are editing an existing item, it changes the internal unique id assigned to that load, so it looks like a new one, when it's not, and invalidates any references to that existing one. This can cause a bogus error that you are reusing a load title, because it thinks you are saving a new one with the same name.
  • The code that refreshs the GC-100 serial port config is treating not having any config the same as having failed to load config that does exist, and shows an error during the driver install process (which always refreshs it to make sure any newly configured ones are available for selection.)
  • The is a potential race condition in the loading of tabs in the Admin Intf. When a new tab is loaded, a notification is sent out from the tabbed window to the application to tell it a new tab is the active one. That is being used to set up the status bar slots at the bottom to be correct for the newly active tab. But, that notification is sent async, and it's possible that the new tab can try to access those slots before they get set up. This creates a situation where they never get set up correctly and cause things that would update the status bar to fail (which is stepping through the code and such.)
Dean Roddey
Explorans limites defectum
  • In the CML IDE you can't open a file unless you are edit mode, so you have to stop the debugging session to open a source file. You should be able to open a new file if at a break point in the debugger as well.
  • When you hit go in the IDE and let it run, the IDE marks the source editors as read only so changes can't be made while debugging. However, that read only command seems to reset the position back to the top of the file which is annoying. It would be nicer to just stay where you are. So we need to remember the current position, set the read-only, then put it back, with no selection. This seems to do the trick.
  • The new code in the installer that deals with the fact that driver config has been moved to the MS is assuming that there must be a configuration repository file. But, if the machine being upgraded is a pure client install (just GUI apps) there isn't one because there's no app shell on that machine. So the installer fails because it thinks that the repo file should be there.

  • The field selection helper dialog in the action editor is not showing write-only fields, but it's also used to select fields for writing and whatnot. So let it show non-readable fields and, if the user selects a 'by reference' type selection, warn them if the field is not readable.
  • Let the action editor ignore disabled commands when validating, so that you can temporarily disable commands that you know aren't set up correctly yet, and come back to them later. This doesn't include ones whose targets are not found, which will still get converted to comments upon loading the action editor.
  • The code that converts bad commands to comments was not ported forward in the change to 5.0. So they don't get converted and stay there and cause errors later if they are selected. So put that back.
  • Because of an internal goober you can't edit a widget's action twice in a row. If you select another widget and come back, that reloads the attribute editor and you can edit it again. But if you try to edit the action twice in row it won't bring up the action editor. The widgets load up some info for the attribute editor to use when editing the actions, but upon saving changes, some of that info was not being put back into the attribute. So the next time, it would fail to be able to internalize the flattened data.
  • The cover art browser's equality operator isn't comparing all of the persisted attributes of the CAB, so changes to those are not seen as changes and so won't trigger a save. So they don't get saved unless something else has changed that does trigger one.
  • The live tile source template dialog has no title text
  • An edited value in the CML IDE object display window isn't showing the new value upon edit, it only shows up after the next trace or go command.
  • Search and replace options aren't available in the CML IDE's popup menu.
  • The list browser widgets aren't setting the name correctly for their focus/shadow color, so it's showing up with its default Extra2 name.
  • The numeric text widget isn't exposing the formatting style attribute. It should be exposed and disable some other widget specific attributes as appropriate (because the selected style makes them irrelevant.)
  • We never got the driver statistics stuff ported forward to the 5.0 world, so do that. Update the driver info dialog (gotten to by right clicking on the driver and selecting Info (now Info/Stats) to use a tabbed window. Make the current driver info stuff one tab, and make the statistics another tab.

  • There's an error generated if you change any of a toolbar's buttons then save the changes, where it can't create a bitmap because the newly saved changes aren't updated to download the newly selected images.
  • The toolbar's button config dialog's up/down arrows aren't moving the buttons up and down in the list, because of logic issues with the index manipulation.
  • The web image widget isn't exposing the two optional HTTP header lines in the attribute editor. And it's also not separating its attributes with a separator line.
  • The instructions that the action trace window pressents if you are testing a global action (where it allows you to enter parameters) are incorrect. They indicate the values should be in the command line form (space separated, only have to quote values if they have spaces in them) when in fact they should be in the quoted comma list form.
  • The template shouldn't expose the Rounding attribute since it doesn't support it.
  • Make some changes to address a potential issue related to a change in active application from another program to the IV. These may not fix the issue, but will write off a broad swath of possibilities if not.
  • Update the documentation system to work more like a single page application. This gets rid of a lot of issues. And it makes it possible to bookmark pages in a straightforward way.
  • Now that we can bookmark help pages, add some direct links in the /Help section of the tree browser to get to common help content directly.

  • The thermostat Select All button in the room configuration data sets the check marks but doesn't actually update the room configuration data, so those changes don't stick.
  • The IR/Trigger driver client is checking to see whether the action has changed and not asking if you want to retrain it if no changes occurred. That's correct if it's a new one and they don't end up editing the action. In that case, we just return. But if it's an edit of an existing trigger, we should always ask if they want to retrain.
  • It turns out that, if you move CQC to another machine, and there are drivers configured for that old machine, there's no way to move those drivers to the new machine. They are configured to load on the old machine (by host name) and that doesn't change just because the CQC installation of a given machine was moved, or the machine was renamed. So we need to have an option to right click on a host in the /Devices part of the tree browser and select a new host for the drivers. It has to update the configuration to have the drivers load on the new host, and then it has to ask the old host to unload them all and then ask the target machine to load them up. There's lots of room for things to go wrong because there are so many moving parts, but there has to be a means to do it.
  • When the GUI framework was rewritten for 5.x, the way that Windows windows were mapped to our window wrapper classes was changed, to just store a pointer to the window class object in the Window's extra data. In theory this is a light weight and simple way to do it, but it could cause issues when windows we didn't create are involved, and that happens sometimes. To allay any suspicions on this front, change it to use a mapping hash table instead. This is a guaranteed way to know if a window is one of ours or not and ultimately it's only marginally less performant, unless there were really large number of windows existing at once, which doesn't happen.
Dean Roddey
Explorans limites defectum

Possibly Related Threads…
Thread Author Replies Views Last Post
  5.5 Beta Discussions Thread Dean Roddey 150 15,608 04-18-2020, 06:27 AM
Last Post: Dean Roddey
  Official 5.5 Beta Release Thread Dean Roddey 15 3,083 03-27-2020, 10:58 AM
Last Post: Dean Roddey
  Official 5.4 Beta Discussion Thread Dean Roddey 441 80,343 06-15-2019, 02:33 AM
Last Post: Bugman
  Official 5.4 Beta Release Thread Dean Roddey 55 15,427 06-07-2019, 07:02 PM
Last Post: Dean Roddey
  Official 5.3 Beta Discussion Thread Dean Roddey 815 213,388 07-05-2018, 12:44 PM
Last Post: Dean Roddey
  Official 5.3 Release Thread Dean Roddey 27 12,252 07-05-2018, 12:44 PM
Last Post: Dean Roddey
  Official 5.2 Beta Discussion Thread Dean Roddey 244 107,447 10-14-2017, 07:57 PM
Last Post: Dean Roddey
  Official 5.2 Beta Release Thread Dean Roddey 13 10,642 10-09-2017, 06:49 PM
Last Post: Dean Roddey
  Official 5.1 Beta Discussion Thread Dean Roddey 453 229,121 05-16-2017, 03:45 PM
Last Post: Dean Roddey
  Official 5.1 Beta Release Thread Dean Roddey 28 22,534 05-12-2017, 05:44 PM
Last Post: Dean Roddey

Forum Jump:

Users browsing this thread: 1 Guest(s)