Document contains high level release notes for BlueFletch Portal https://ems.bluefletch.com.
Released February 9, 2023
Many new features within this release. A quick list is:
- New multi-organization support.
- Updated the sidebar naviagtion.
- Playbook integration with File Manager.
- Device security updates to provide ability to specify the allowed device network IP Addresses and ability to block specific devices from accessing EMS resources.
- Report updates to allow emailing of Support Dashboards.
- Playbook UI overhaul.
Note: As part of the security updates, the API endpoint 'files/downloadClientFile/' now requires either a key management device token or an organization level API Key.
- Within Chat Message logs, implemented display of audio/image attachments.
- Added support for extensionConfig in AndroidManagement Schema and ApplicationPolicyForm to allow an application to be set as extension application to communicate with Android Device Policy while offline.
- Implemented new designs for Portal Refresh - PlaybookMDM - Playbooks.
- Updated raw configuration view for Launcher configuration editor to display errors in the text editor. Also set to disable the save button if there is an error.
- Updated the Launcher configuration editor with a modal to warn user that changes will be lost if they switch back to tabbed view if there is an error.
- Added logic to reorder configured site groups on the Site version details page.
- Update the Chat Message Logs page with restyled audio attachments. Restructured fetching of audio to allow each audio message object to store its own data URL.
- Updated the Launcher Config Editor Assets tab to remove the .png file extensions from the example.
- Updated the Launcher Config Editor to disallow periods in the key field of the assets page.
- Updated the Launcher Config Editor device finder section logic checker to set default missingThresholdInHours to 12 if left blank.
- Fixed an issue where the options menu was duplicated upon adding a Chat Role without a description.
- On the Downloads page, converted the Downloads table from Material-UI components to BF-UI components in order to maintain consistency with styling.
- Update the Launcher configuration settings section with a boolean field for enforceUniqueLogin.
- Removed 'EMS websites' from the terms and conditions page to align with legality and branding.
- Converted Android EMM Policies page's MUI components to use BF-UI (BfCard, BfTag, BfPagination, BfMenu, BfToast).
- Updated the File Manager to reference the client download URL.
- Updated the User edit page with a checker to disable editing a user's roles if the organization uses IdP group mappings and the group mappings contain specified values.
- Added logic to support snapshot summary dashboards in the email body.
- Fixed the report details display for null timezone condition.
- Added missing "No Devices matching this criteria found" message when there are no results from data services.
- Fixed bug where the "No Devices matching this criteria found" message would render briefly during initial render.
- Added wipeReasonMsgHelperText and wipeDataFlagsHelperText constants for the delete device feature's helper texts.
- Fixed the View Policy back button's behavior (upon clicking the Policy link, under the Policy column, rendering the View Policy UI) to return to Android EMM devices.
- Resolved bug where a user has been flagged as no access under EMM_DEVICE_MANAGE and the loading UI of the table would not take the full width of its container.
- Removed the header/forehead on several Portal Pages. When there is a ‘Back’ button, place the Back button next to the page title, as an inline button.
- Updated the File Manager download URL to reference the client download endpoint.
- Updated the Support Dashboard to use User Profiles endpoint.
- Fixed a bug where whenever a device has an unassigned deployment group, it is still clickable and renders as a link.
- Updated My Account to prevent flickering of user's data when changes are made.
- Updated the styling in the sidebar to allow for on hover boxes around headers.
- Fixed issues with User Edit page when logged in with Super Admin account and editing a user.
- Removed the "Subscribe to Email Alerts" toggle from Account Settings/Create New User/Edit User Pages.
- Made various styling changes to the sidebar nav including: increasing width of logo, decreased spacing between the bottom four links, decreased the height of the bottom box, adjusted the position of the account modal.
- Added the Upload Application/File feature from File Manager to New/Edit Play for File Download and Install Application actions.
- Added 'External' user reference on the Organization User List page.
- Added an Assign User dialog to the Organization User List page.
- Fixed exception when the Super Admin is attempting to assign users to an Organization. The User object now has the organization object, and the code will get the first organization and use that within the Assign User dialog.
- Standardized the look and feel across all filters within the Portal.
- Added Block Devices tab within the Key Management UI.
- Updated the navigation sidebar to include All Organizations button with associated menu to select an organization to switch to.
- Added filter text link "No filters applied. Click here to open filter options" when there are no filters applied.
- Fixed continuous loading spinner on the Create Play page and made sure to show "No Organization Files available" message.
- Removed the edit option from Play Details for View Only users.
- Removed the delete option from Play Details for View Only users.
- Changed "Updated at" dates to display ahead of "Created at" dates in Playbooks, Deployment Groups and Agents.
- Added error checking to ensure that the My Account page doesn't attempt to parse data that doesn't exist. This is to fix a white screen bug.
- Applied Organization theme to BarColumn, Horizontal Bar, and Line Charts within Support dashboard.
- Updated the NodeJS App to not return x-powered-by in the response headers.
- Updated the NodeJS App to not return the Google Frontend.
- Changed "EMS Reporting" and "EMS Support" email address aliases.
- Updated Data Services cloud run to use NodeJS 14.
- Updated the common Download Endpoint with a security check to verify the file being downloaded is not a client specific file.
- Added the BlockedDevices table, with endpoints to add a device and remove a device from the table.
- Fixed the validation middleware to properly check for Auth Device Tokens and API Keys.
- Updated logic that if a device is blocked, then the returned error should be a 403.
- Added originIP information to apiUsage reporting.
- Fixed logic such that a user can not update their own roles via User Profile update, unless they have the appropriate permissions.
- Updated the Launcher configurations to return a Data Service URL, not a cloud storage URL. Launcher Configurations stored in cloud storage will no longer be world readable, but must be read using a data services endpoint.
- Updated Launcher Configuration endpoints to check the Organizaton config to see if it uses Key Management. If not, then will make cloud storage files world readable and use those URLs for file download. If using Key Management, then the URL will reference data services and Launcher configurations must come from data services.
- Updated the validation routine to return the organization configuration model and place into the request object. This allows for reducing database queries for organization configuration values.
- Refactored the User login validation routine to look at their current assigned organizations.
- Fixed the Roles edit and create endpoints to allow for multi org users to be added or removed from a role.
- Updated logic that for blocked devices the return is 403.
- Added logic to write audit log entries for Dashboard edit, creates, and deletes.
- Added new permissions for allowed IP addresses, added IP address management role, and updated all admins with view IP address permissions.
- Created endpoints to create, list, and delete Allowed Ip address records.
- Added new Organization Configuration to indicate if Allowed IP addresses are to be enforced.
- Changed the IP address column to a CIDR column type, but added a Text version column for backup.
- Updated the validation middleware for IP address allow logic.
- Added IP Allowed check routine to device specfic controllers.
- Added an AuditLog for assigning and un-assigning users from an Organization.
- Updated Roles endpoint to provide the member/external indicator for users.
- Updated the database change subscribeEmailAlerts to false.
- Added logic that during Organization creation to create the new IP Management role.
- Updated the Get Roles endpoint to return user membership.
- Updated Allowed IP address endpoint to return user membership.
- Added the server API host to the Deployment Group QR Code.
- Fixed the Allow IP Range logic to parse potential array of IP addresses to a single IP address.
- Fixed the User Contact material view creation to ignore Force Logout events.
- Added a default reporting logo if one is not defined at the Organization Level.
- Changed email information from "EMS Reporting" to “BlueFletch Reporting”.
- Updated the Report Processor to create a snapshot summary for Support Dashboards and add to emails.
- Updated authorization routines within File Service.
- Added the Origin IP address to the Events table.
- Fixed the logic to properly fix recieved data events if received as an array of data.
- Upgraded the GCP Pubsub package to see if can reduce errors.
- Added logic to fix Origin IP address for proxy routing.
Released November 3, 2022
Added new Site Tagging feature, added File management support, fixed the consistency of Date/Time displays, added new SSO Group Roles, updates to the EMM Application for track support.
- Modified the Syntax Guide in DateFormatCollapse.jsx and applied the formatting in DataTableCard.jsx and DataTableCardV2.jsx.
- Added redux support for AndroidManagement API application call and added dropdown component to ApplicationPolicyForm to allow selection from available appTracks for currently selected app in policy.
- Added clearApplication logic to redux, fix redux values for working Android Management application API call, added clear logic to ApplicationPolicyForm and null checks to populate appTrack dropdown choices.
- Fixed DateTime formatting guide.
- Fixed the Support Dashboard Filter Apply button to update when removing the last selected site.
- Fixed the EMM Policy Search to preserve search text/filter.
- Fixed the edit Enterprise display to not allow for blank fields. Checks were added to see if display fields are empty or not. This is was to prevent saving a blank Enterprise name.
- Fixed the Chat Roles editor to make the messaging permissions true and immutable for every chat role communications rule.
- Updated the EMM Policy applications to display version code associated with selected application track and populate the selected application with previous track selection.
- Updated File Manager data table.
- Updated File upload and Application upload.
- Updated File Manager get all files redux call.
- Updated delete client file redux call.
- Updated File Manager to support drop down on Application tab.
- Updated File Manager to support new params requirements of delete client file endpoint.
- Added IP Address to the network card within device details.
- Added new date/time format in timezones.js and used in date/time filters in the portal.
- Removed unused date format variables.
- Added custom component for Site Tag filter.
- Added a Device Finder tab to the Launcher Configuration editor. Added all fields related to Device Finder and added code to set default values when a new configuration is created.
- Updated the Policy Edit page to add a check within the Schedule Policy modal. The check is to make sure that the time being requested is a valid time in the future. If not, the modal will show a red error message indicating that the time must be in the future.
- Fixed bug on activation of an inactive site lists.
- Updated logic to standardize the look and feel of the buttons across the portal.
- Updated the File Manager to show a continuous progress during upload.
- Added maximum height and overflow auto on file upload modal to have scroll bar when uploading multiple files.
- Added checking for files that failed to upload to prevent saving file meta of failed to upload files.
- Removed formData.append('fileName') as it is causing CORS error.
- Added Site Tag filter to the Support Dashboard page.
- Added Site Tagging filter to the Dashboard card render logic.
- Added Site Tagging filter to the Reports page.
- Added select all functionality on Site Tag filter.
- Updated the Portal Chat card to include deviceType attribute of 'PORTAL' to the message object so that devices will know they are chatting with a Portal user.
- Fixed hover on Site Tag modals.
- Updated the default logo on BF Portal to be the BlueFletch Logo (instead of EMS).
- Added a helper function to capitalize strings and added a description helper for accessible application tracks.
- Added logic to save a user's selected Tagged Sites from the Support Dashboard filter.
- Added Site Tagging to Reports.
- Updated the Playbook Tools tab to reorder the list of subtabs to better suit the flow of each subtab.
- Changed the name of the Devices tab to Playbook Devices so it will be easily distinguishable from Android EMM Devices.
- Updated Report Subscription logic when there are no selected sites.
- Added a 'reset to default' option on subscribed reports filter modal.
- Added an error handler on Reports page for old data.
- Added the site tags header data to the Dashboard Card Render endpoint call.
- Within the emmAndroidPolicy Dashboard, removed an unneeded URL redirect that would send the user to the wrong page after applying a policy.
- Within the message logs table, added a formatter method to ensure that messages sent to chat groups will display as the channel name rather than the channel ID.
- Added checking for file property to prevent undefined values in fileName.
- Updated Site Tag filter to save array of tag names instead of the entire tag object.
- Updated logic for Dashboard site filter to use tag names instead of the entire tag object.
- Fixed a bug where incorrect table displays (briefly) when navigating between the Key Management pages.
- Fixed the CSV Export button on the Event Explorer to handle error condition properly.
- Updated the Card Preview logic to supply default date parameters to allow for script / data testing.
- Updated the Login page to accept the SSO domain as part of the URL.
- Updated the DashboardFilterBar logic to handle selectedSites and selectedTaggedSites separately.
- Updated the BlueFletch Logo on the following pages: Forgot Password, Account Activation, Password Reset, Privacy Page, Terms and Conditions Page, About EMS popup, and About EMS page.
- Updated DashboardFilterBar component logic to render sites and taggedSites state separately.
- Updated buttons within the Portal to standardized the look and feel.
- Updated the logic within SSO Login to not display the entered email address.
- Added default values on selectedSites and selectedTaggedSites objects.
- Within the Chat Message logs page, refactored the UI to match current BlueFletch style guidelines, removed the headers for Search Criteria, and added hover on row functionality.
- Added highlight row on hover capabilities to the tables in Chat Roles, Chat Channels, Site list, Users, API Keys, and Device Keys.
- Standardized the look and feel of dialogs.
- Added Group Mapping Roles modal component for SSO Configuration.
- Updated the labels for IdP group display.
- Changed BlueFletch Enterprise Mobility Suite to BlueFletch Enterprise.
- Updated logic to set default sites when there is no selected sites filter on Support Dashboard filter.
- Updated the Dashboard Event Explorer with new UX.
- Updated the favicon.ico to new BlueFletch image.
- Fixed behavior on Reports page when loading sites and site groups content filter.
- Removed the use of the SSO Roles in favor of the new SSO Group Roles. Added new display of the Group Roles.
- Updated the Chat Message UI with icon buttons to represent Audio Attachments and Image Attachments.
- Updated the Support Event Explorer with UX updates.
- Fixed overlapping footer on SSO Config page.
- Removed usage of dataTable.jsx in EventExplorer and used AG Grid directly.
- Changed the IdP Group mappings button text to indicate 'Define' mappings.
- Changed 'EMS' to 'BlueFletch Enterprise" in these areas : About EMS popup and About / EMS page.
- Fixed Reports tab navigation to open "Active" tab.
- Fixed the missing User Roles on the My Account page.
- Updated border color of
to match 's and made the component containg the Event Explorer to adapt its height from the resizable code editor.
- Added condition for checking report description null value to avoid unexpected email result due to null value.
- Updated the Reporting processor to utilize the Site Tags specified on a report.
- Added migration script, models, and controllers for SiteTags and TaggedSites.
- Added endpoints to allow for CRUD operations on SiteTags.
- Added a rebuild method for Tagged Sites when activating a site list or configuring site groups.
- Updated the auth validation middleware used by downloadClientFile from validate.auth to validate.authUserOrApiKeyOrServiceKey.
- Added handler on rebuildTaggedSites controller when there is no active site list.
- Added missing orgId params from Site Meta query on rebuild endpoint.
- Updated Card Render logic to query tagged sites using array of tag names.
- Added validation for valid site tags header.
- Updated logic on cardRender controller to update sitesId option.
- Fixed SSO Configuration update of IdP Group Roles during validation process of 'same' roles used.
- Fixed the error response when there is an issue in SSO Configuration update.
- Added migration script to pull all default SSO Roles into the Group Roles table.
- Updated SSO Configuration logic to update / read the SSO Group table, removing need for SSO default roles.
- Removed the use of the old SSO Roles table in favor of the SSO Group table.
- Fixed the Card Renderer endpoint to set the proper siteId field.
- Fixed the SSO Group Roles seeder logic based on removing relationship in SSO Roles.
- Updated the SSO Login flow to only recreate user roles if roles have changed.
- Updated the SSO Login to only add or remove user roles if the SSO Group has changed.
Released October 13, 2022
Updated the EMS Backend services to support SSO Group to Role mappings, to support uploading large files, and moved EMM pages under the 'Playbook Tools' navigation.
- Fixed create new user flow as backend logic updated for SSO Group support.
- Removed unneeded setting of toastMessage within the handleCloseToast method of the API Keys page to keep the toast from rendering an extra time with no content.
- Implemented sorting for Chat Channels table by channel name, updated on, and updated by.
- Changed UI labels from 'Playbook MDM' to 'Playbook Tools'.
- Changed moment formatting to the BlueFletch custom date utility formatting to be able to standardize the displaying/formatting of date/time.
- Implemented the new File Manager UI.
- Created a DateFormatCollapse component used in CardCreate.jsx and CardEdit.jsx to display and inform the user about the different formats that can be used in date/time values in "Cards".
- Removed EMM Console from side navigation; renamed EMM Console's children (policies and devices) to their new names (Android EMM Policies and Android EMM Devices) and moved these two subtabs under the new Playbook Tools tab.
- Added all four EMM permissions to the list of permissions within the Playbook Tools list of permissions to allow Android EMM Policies and Android EMM Devices to be visible if a user has these permissions.
- Added direct upload to Google Cloud Storage.
- Updated file upload methods to support rollback of uploaded file when Data Services fails to save data.
- Added permission on upload button and delete list item.
- Added File Manager in private routes config.
- Added support for multiple file upload.
- Added progress bar and upload status Disable button when uploading.
- Changed filesToUpload to filesToUpload2 because we are now using filesToUpload2 state for file upload.
- Changed error message when value of "Device Token Expiration Minutes" is less than 5.
- Fixed coded to display proper timestamp when updating the license key for an organization.
- Added active property in BfButtonGroup.
- Added condition to determine which tab should be pointed to after file upload completed.
- Added copy URL in option menu of File Manager 'files' tab.
- Updated code to hide File Manager as it is not ready to be deployed.
- Updated code to hide Date format guide on creating new card.
- Fixed the Reports Details page 'send out time' value to use simple switch statement with the 4 options available.
- Added application upload function to backend services.
- Renamed fileType property to fileCategory as this is confusing. fileType is commonly pictures, documents, executables or applications.
- Renamed database applicationName to name.
- Updated backend logic that if an uploaded file exists do not create new file in storage.
- Added CORs support to the file upload service.
- Updated Get Contacts Endpoint to ensure have Chat Roles prior to looking for Chat Channels. A Channel requires a Role.
- Fixed how SSO Group Configurations are saved.
- Updated the SSO Account login flow to only use Group SSO on existing users or new users. If existing SSO user is logging in, and no Group SSO is defined, leave the user roles alone.
- Added File Manager controller and File Manager model.
- Changed FileManager to FileManagers on data migration.
- Moved description from FileArtifactLocations to FileArtifactMeta.
- Removed applicationName column in FileArtifactLocations.
- Moved fileCategory from FileArtifactLocations to FileArtifactMeta.
- Added new SSO Config Groups table and endpoints. This is for SSO Group login support.
- Added delete validation within Roles to verify a role is not used by SSO Config Groups.
- Within the chatroles-controller, changed the getAllChatRolesPaged method to sort the full dataset by a given rule, then serve up the slice of that data that corresponds to the page requested.
- Added logic to build proper SSO Login role relationships with the user that is logging in via SSO.
- Changed the paged response within getAllChatRolesPaged to use the correct JSON structure.
- Added a filter to the user list that is returned from getContacts to remove users with no communication permissions to possible contact.
- Added Expiration and Issued Date to the data returned within Key Token endpoint that retrieves the public device key.
- Added endpoint to delete only the storage file object.
- Updated SSO Configuration to support SSO IdP Group to Role mappings.
Released September 29, 2022
Updates to Get Contacts endpoints and additional API Key security improvements.
- Implemented revoke Device Key functionality.
- Added confirm dialog during Device Key revoke process.
- Implemented checking to ensure the last Device Key can not be revoked.
- Fixed the SSO Configuration title. Now indicates New or Edit, with spelled out Configuration label.
- Re-enabled the Organization edit Key Managment flag. Renamed API to Legacy API Key and always display it.
- Removed Key Manager menu and moved the location of the items to be within the Admin tab.
- Added Rotation and Expire days cross validation checking. Disabled the save button if any page errors.
- Changed Okay button to Close button in order to maintain proper language and consistency with other modals.
- Added fetch and create endpoints for Card promotion.
- Added image attachment and type to the material view for Chat Messages.
- Updated the Get Contacts endpoint to simplify the Channel determination logic.
- Updated the Get Contacts endpoint to format the Channels with Chat Roles.
- Updated the Service Key middleware logic to read the Organization from the database.
- Fixed sort display of the Device Keys to include the issued date.
- Added logic to set null users to use the Service Account information.
- Updated the QR Code format of the Launcher configuration to contain a downloadable URL.
- Fixed the Config Update to properly generate a QR Code and reformated code to ES6 format.
- Created a script to populate the API Key table with a Legacy API entry.
- When creating a new Organization will now generate a Legacy API entry.
- Changed the API Key validation to use the Legacy API key within the API Keys Meta table.
- Update the Message View to include new columns for Channel information.
- Updated the Get Contacts and Allow Contacts endpoints to check the Organization access to chat.
- Added a Device Key token rotation schedule to run at 4 am ET. Device Key generation is now checked daily.
Released September 15, 2022
Beginning of API and Device Key Management support. This will allow Organizations to add additional layers of security with their device communications. Beginning work to recognize the date/time formats from the user's browser throughout the Portal. New backend support of Chat Contacts.
- Fixed Keys permission names.
- Initial work on Key Manager UI.
- Implemented display of Device Keys.
- Added Key Management to Organization level. Refactored the page some to remove console errors.
- Updated the Key API UI to read the configuration to determine if Key Management is enabled.
- Updated Organization labels for Key Management fields.
- Moved the Support API Key to within the Token Management section of Organization Edit page.
- Implemented generate new API Key button in API Key dashboard, created dialog for creating new API Key flow.
- Changed how Admin > Downloads page downloads .apks / files. The Portal will now download a file directly (without http redirect to Google Cloud Storage link) from Data Services.
- Fixed bug where font in EmptyDashboard is too small.
- Latest DataServices code can now download large files from Google Cloud Storage.
- Fixed the token value display to show the oneTimeAPIKey when generating a new API Key.
- Added data-cy to About link, Terms link, and Privacy link.
- Changed time representation from Moment to timeZone.js, also fixed merge conflict with package.json.
- Created dialog for revoke API Key, implemented revoke key on confirm in said dialog, implemented toast for revoke key.
- Implemented generate new device key button, added success modal to display expiration date and version number.
- Removed double calling of formatDateBasedOnLocale in nativeTable.js to fix whitescreen bug with Australian timezone.
- Changed the copy API Key token to use the correct token field.
- Added default value for description and email description, as null values for description and email description will cause unexpected result in email report template.
- Added different formats for DateTime. Patterned the name constants with Moment's localized formats (https://momentjs.com/docs/#/displaying/format/).
- Temporarily hid Key Management UI until backend fully flushed out.
- Created new Keys Meta tables.
- Implemented the Get Public key for device keys.
- Updated the Get Public API to return the latest public key.
- Added a new function and endpoint to test the bypass of 32mb file.
- Changed artifact.storagePath to artifact.fileName.
- Implemented the device key generation.
- Added new tables for Dashboard/Card migration.
- Added endpoint that downloads files as stream. This will solve the download limit of 32mb.
- Changed function syntax to arrow function.
- Changed validate.auth to validate.authUserOrApiKeyOrServiceKey.
- Cleaned up the Key Generator logic and renamed some variables for clarity.
- Updated the Key Meta table to contain the API Key, sha256 hashed. The value is only returned when the key is initially created. It is sha256 hashed into the database.
- Added index to filename column for faster query.
- After generating new license for Organization, update the Organization updatedAt column.
- Added API endpoint Allow Contact to allow device users to check if another user is a valid contact.
- Updated Key Management for Device Key generation to include signing keys. Added to Secrets.
- Added more error checking in device signing endpoint.
- Added new dashboard migration validation endpoints.
- Updated the API Key endpoints to return list sorted by expiration date descending.
- Updated the Key Device management endpoint to return number of minutes the device token is good for.
- Fixed Key Management configuration settings during organization creation.
- When revoking keys, ensure there is at least one other key to use.
- Updated how the signing keys are saved.
- Changed how the signing keys are saved to secrets.
- Updated encoding/decoding for keys to account for binary information.
- Added a toString onto the privateKey, to properly decode the private signing key.
- Updated the Validate endpoint to support checking device tokens.
- Updated the validation middleware to do device token header checks.
- Added size of the file in response header (content-length) so that Portal can compute and show the download progress.
- Fixed the key isValid method to check for null revoked date. Also added new path to isValid, /keys/:id/check.
- Updated Key Revoke logic to allow for revoking all API keys, but must have at least one device key.
- Refactored Allow Contact endpoint to retrieve all needed data in one query. Created logic to discern this query into a set of contact permissions between one user and another.
- Removed unused inputs from allow contact endpoint.
- Refactored Keys Meta table into 2 tables. New endpoints to support the API Keys were added and allow for new Name field.
- Updated the API middleware to check for a valid API key.
- '/download/:id' will now use the new logic to download file regardless if it's more than 32MB or not.
- Updated the report email description to empty string if description value is null.
Released August 2022
Full release of Chat Manager, with Chat Roles and Chat Channel support. Allow Organizations to disable Device Find Me feature from Portal. And updates to the Support Agent, allowing for device model filtering.
- Added Chat Manager menu with related Chat Roles and Chat Channels items.
- Added delete Chat Role flow and functionality to fix a bug on toast success message.
- Updated Chat Role with new states to for 'allow messaging', 'allow audio' and 'allow video'.
- Fixed a memory leak within the BfMenu component and removed console.logs.
- Implemented logic for sorting by column in Chat Roles page.
- Added toast notification for create, edit, and delete of user.
- Fixed bug where deletion of user from searched results is still in list of searched result after deletion.
- Added logic to show device IdP roles badge and dropdown when there is more than one device IdP roles.
- Added Site field in Message Logs table and added Site field to the exported data.
- Added an API call to use the new dataservices endpoint for message logs CSV export.
- Updated Message logs dashboard export implementation to use the new message logs CSV export service.
- Added Chat Channels routes for Chat Channel list, add Chat Channel, edit Chat Channel and view Chat Channel.
- Added Chat Channels dashboard page Added add Chat channel button with permission.
- Added search layout for Chat Channel.
- Added Chat Channel menu options.
- Added conditional to view Chat Role page to only show the edit button if user has admin.chat.manage permissions.
- Added Html tag IDs to allow for better automated testing. IDs added to Roles Permissions modal, Roles User modal, the Sidebar menu for User name, Account Settings, Documentation, Logout, Privacy, and Terms.
- Added new Chat Channel view and edit pages.
- On Installed Apps card under device details, added Type column, also converted Installed Apps card to use AG grid.
- Fixed a bug where user cannot log in immediately after activation.
- Added device models dropdown filter to the Support Dashboard filters.
- Removed extra padding from device installed applications card to make AG grid flush with top.
- Added logic to allow for deleting a Chat Channel.
- Updated the Organization Edit page to allow for changing the 'allowFindMe' flag.
- Updated the Organization edit page label to reflect that allowFindMe is for Device to Device Find Me.
- Added filtering options to AG grid for installed apps table within device page
- Moved responsibility of toasting unsubscribe from child (report card) to parent (dashboard). This fixes the issue of the unsub toast showing twice because the toast is now rendered from the parent instead of the child.
- Added native table component to fix table columns that have no spaces and to allow consistency in all tables.
- Added new state for disabling save button in new/edit Chat Role page.
- Added checking of object property name for Chat Channel roles in the view/edit Chat Channel page.
- Added Organization limit on number of Chat Channels.
- Removed style from BfListItem.
- Removed access of super admin to downloads page, beta downloads page and roles page.
- Updated Launcher Configuration editor with Chat timeout of video and voice call attempt.
- Updated Chat Roles to display "No Chat Roles available".
- Fixed Support Agent to properly persist device model per user.
- Change EMM Policies list to be sorted by Updated date/time descending.
- Updated Chat Messages text search to lowercase and trim the value to fix the case sensitive issue when filtering and exporting data.
- Added new tables for Chat Channel support.
- Updated Chat Contacts endpoint to return channels.
- Fixed Contacts API to de-dup the IdP group data. Added conflict resolution around the allowMessaging/video/audio calls.
- Added helmet to express app to include needed headers.
- Updated the allowFindMe implementation to block only Device Find Me, not portal user Find Me requests.
- Fixed the Contacts endpoint to reconize no Chat Role associations.
- Changed response on blocked Find Me from device to be 403.
- Added Indexes to Chat Roles / Chat Channels to improve Get Contacts API response.
- Added new Key Management permissions.
- Updated the insert script to create default Key Management Roles.
- Updated helmet.js settings to use custom host values.
- Fixed the upper limit on Chat Contacts API to return up to 1000 users within last 28 days. Also return contacts by userName sorted.
Released July 28, 2022
UI updates and fixes for Enterprise UI. Beginning work for Chat Manager.
- Fixed bug on Report page search field not clearing when a user presses Clear All in the searchbar.
- Refreshed the UI of the Enterprise card.
- Added new Chat Manager support pages.
- Fixed the title on View Policy page.
- Added an export data button to Chat Message Logs UI.
- Added functionality for exporting a CSV file of the current message logs.
- Added logic to display a toast to notify user when CSV download has started and has finished.
- Updated Support Dashboard Cards to be responsive.
- Fixed the Message Logs data exported to correctly format if messages have commas.
- Start of the Chat Roles editing / creation pages.
- Fixed bug within Message Logs displaying duplicate receiver and sender options.
- Fixed bug on Organization Enterprise edit page returns white screen.
- Fixed bug on Organization Enterprise edit page where an organization does not have terms and conditions data. Modified color picker code from using hexToRGB to hexToRGBJSON Adjusted indention from 2 spaces to 4 spaces (default).
- Fixed bug on Enterprises page where not saving changes.
- Fixed a white screen when copying or deleting from Playbook list after searching.
- Fixed bug that added a redirect to home when user cancels creating new policy.
- Fixed update of sites list on reports page by adding a call to refresh reports after updating sites list of a report and after unsubscribing to a report to maintain consistent behavior of order of the reports list.
Released June 2022
General fixes to Report UI and improvements to UI.
- Changed the description for Chat settings within the Launcher Configuration editor.
- Updated the BigQuery events table schema to include device bluetooth settings.
- Removed trailing spaces within toast message descriptions.
- Updated the sort order of draft and inactive reports to be alphabetical.
- Updated the Test Report endpoint to accept a draft object within the body. This will allow for sending test reports from the Draft page or unsaved reports.
- Updated Device Data endpoint to return the 'beaconId', if available.
- Improved the performance of the Device Data endpoint.
- Fixed the Report Update endpoint to allow for removing all subscribers from a report.
- Updated the Launcher Configuration editor with support for Auth4 values, and changed the title to AuthApp/OIDC.
- Changed the way values are stored locally in extended attributes to fix JSON key name bug that occurs in Launcher Configuration editor.
- Updated the Launcher Configuration editor with authorized clients tab.
- Added timezones list for the Report create/edit pages.
- Updated the Report View page to show updated timezone values.
- Updated the Report default timezone to get the closest timezone offset from the list based on the moment 'guess' method.
- Fixed Reports view next page to not scroll the user to the bottom of the page.
- Fixed code per lint checks.
- Added a toast notification when deleting a site.
- Updated Support Dashboard with Site Coordinates and Arrow Edges in World Map.
- Fixed the EMM Console select next page to persist filter/search settings.
- Removed EMM Enterprise option from admin menu if the organization user does not have Android Enterprise support turned on.
- Changed the Searchbar filtering behavior from 'as you type' to 'Enter'.
- Fixed the EMM Policy search to trigger on Enter.
- Fixed paging buttons to not looked disabled.
- Added search field to organizations admin page.
- Update the Support Dashboard Grids hover color and lines to match with the Reports page.
- Added toast notification to unsubscribe and deactivate flow of Report List page.
- Added toast notification to unsubscribe and deactivate flow of Report Details page.
- Update Launcher Configuration editor with device chat tab and the required fields.
Released May 26, 2022
Added new feature for emailing reports to users, updated portal navigation to new sidebar style navigation, and added ability to export event data to a CSV file within Support Events Dashboard.
- Added new report creation, list, and view pages.
- Within Launcher Configuration editor added password field for layouts applications, shortcuts, and folders. This is so users can specify a password for an application, shortcut or folder when accessed by device user.
- Added No Users Found to admin users search display.
- Fixed white screen display within Dashboards when "Rename" toast is displayed.
- Fixed issue where deactivate toast was not showing upon deactivating the active site lists.
- Fixed invalid search message when loading roles.
- Fixed display of update date within Site Version Details page.
- Fixed toolip user and permission hover within the Roles page.
- Fixed issue with clearing Playbook search filters.
- Updated the portal navigation from top level tabs to sidebar.
- Updated the Organization Edit page to allow for adding a logo to be used within reporting emails.
- Fixed console error log by adding a data-cy tag to the Find Me, Remote Control, and Remote View buttons.
- Updated the padding/margins of my-account.jsx and admin pages.
- Fixed loading placement in Enterprise Launcher, Playbook MDM, and EMM Console.
- Fixed footer within the EMM Policies 'New Policy' page.
- Fixed Playbook MDM search bars "Clear All" buttons to function the same.
- Updated user search to allow searching by the user's first name, last name, or full name.
- Added a new tab/page for customField within Launcher Configuration editor.
- Added low battery mode settings to the settings section of the Launcher Configuration editor.
- Changed the formula that generates color theming to better match base color palettes.
- Using the new dashboard download endpoint, added logic to export the Support Dashboard events into a CSV file.
- Fixed loading issue with the Chat button.
- Within Launcher Configuration editor added proper descriptions for shortcut, app, and folder to each password field.
- Changed the Support Dashboard event expiration to 400 days.
- Fixed the BigQuery functions to catch script errors.
- Changed Data Services to NOT connect to MQTT Service, but to forward messages to the Messaging service.
- Fixed the SSO Configuration to Role cleanup. Needed to ensure the proper role relationship record was removed during SSO Configuration deletion.
- Added a new dashboard Event Explorer endpoint to download all query data into a CSV formatted file.
- Updated the CSV dashboard logic to request data in blocks of 10000.
- Updated the Dashboard BigQuery logic to use job references and wait till job is completed.
- Fixed the device type inclusion into BigQuery SQL builder logic.
Released April 21, 2022
Added default roles to the SSO Configuration.
- Added new permission for Find Device.
- Updated the permissions error message to be singular if only one permission is required.
- Cleaned up the Notifications controller to be ES6 compliant.
- Added new Launcher Notification Test permission for BlueFletch Only role.
- Updated the Sites update and upload endpoints to allow access via API Key to allow batch uploads.
- Changed permissions for API Key service to include sites management.
- Updated Organization deletion logic to remove MDM and EMM reference data.
- Updated Organization and User endpoints to remove report information during delete operations.
- Added new reports paged endpoint to allow for get reports via paging.
- Added a new endpoint to return the device types defined within support data events.
- Updated SSO Configuration to allow for setting default roles for newly created users. If default role(s) not set, then will default to User role.
- Fixed the SSO login for setting up the role to user relationship, as SSO login was using incorrect id.
- Added logic to rollback the user creation if an error occurs during SSO login.
- Added logic to support the new Find Device Permission.
- Added minimum height and minimum width on each dashboard chart.
- Added ellipsis and tooltip for overflowing title.
- Fixed the display of the current active site to display the correct creation date.
- Changed dashboard filter button and card option button from using material-ui IconButton to BF-UI button.
- Changed modal confirmation dialog to toast message within Support Dashboards.
- Updated SSO Configuration display and edit to allow for setting default roles within SSO login.
- Added a warning to the disable packages section in Additional tab of the Launcher Configuration editor. This was added because disabling system apps can cause issues with the device software.
- Updated permssions display to how BfTooltip "on hover" for the entire permissions row.
- Added Loading/Circular icon on new dashboard cards.
- Fixed the My Accounts page to hide the password change fields if user has been created via SSO.
- Fixed display of Password Reset menu item within user List for those users that were created via SSO.
- Updated My Accounts page to remove the use of null within page render of password change value.
Released April 7, 2022
MDM Plays and Playbooks UI refresh, with updates to search and filtering within Plays and Playbooks. Various fixes through out the Portal.
- Added tags and deployment group options for playbook filters.
- Fixed an issue with old sites data caching between site lists.
- Updated the filters in MDM Plays.
- Fixed to hide site lists table header when no site lists are available.
- Fixed Dashboard text truncation.
- Fixed capitalization on the playbook card.
- Changed RemoteControlButton to be consistent with naming convention.
- Fixed SSO login error display. If there is an error during SSO login will now display a message.
- Backend work for Email Reporting feature, including new tables and endpoints to support Email Report processing.
- Updated device event data expiration to be 365 days and any MQTT Events to be 90 days.
Released March 24, 2022
Improved the UI for managing Site Lists and for Audit Logs usage. Various Portal fixes.
- Fixes for various UI elements within Downloads.
- Updated Launcher Configuration editor to conditionally show the label and package/url if provided. Also truncate packages, urls, or labels that are too long to display.
- Refreshed the Sites List UI with new styles and layout.
- Refreshed the Application Downloads pages with new styles and layout.
- Fixed a UI discrepancy with the Password Reset pages as should produce toast instead of alert dialog.
- Refreshed the Audit Logs page with new styles and layout.
- Updated the Audit Logs UI to include user, tables, and actions within filtering and search.
- Updated the Chat card display including use of the new Chat publish service.
- Updated the Enterprise EMM dashboard permissions with correct permissions.
- Updated the Launcher Configuration editor to allow setting a folder of layouts as the quick start folder.
- Updated Chat messaging to ensure the MQTT connection is disconnected and sends an online / offline status to device.
- Updated Event Explorer to be able to view MQTT Events.
- Fixed Sites CSV download to properly format the CSV file for extended attributes.
- Enhanced the Device information endpoint to return GPS coordinates.
Released March 10, 2022
Continue the Portal UI refresh and fixes for various bugs.
- Implemented intent extras witin the Playbook MDM plays.
- Updated the Launcher Configuration editor for authorization quickstart icon and quickstart package.
- Released support for horizontal bar and line chart within Support Dashboard.
- Refreshed UI buttons thoughout portal.
- Fixed user roles selection bug within user edit page.
- Fixed the Quality of Service setting within Launcher Notification test page.
- Added new map data visualization card support within Support Dashboard.
- Fixed bug in EMM Policy edit to force a display name.
- Added a button within Launcher Configuration list display to allow for downloading the launcher.json.
- Refresh the Launcher Configuration display.
- Added tooltips to to permssions display.
- Refreshed the Playbook MDM Agent versions list page.
- Fixed Support Dashboard white screen on loading Home dashboard.
- Fixed the Audit Log next query for the return, so will not return twice.
- Updated the Audit Logs query to return up to 100 rows of data, including a next query indicator, and totals rows.
- Added an Audit Log endpoint to get the next bit of Audit Log data.
- Added new Endpoint to get the Audit Log filter parameters for Actions and Tables.
- Added new Report management and view permissions. Updated ALL Admin and User roles to include new permissions.
- Fixed the agent version endpoints to search by id instead of by version number.
Released Februay 11, 2022
Fixed issue with Beta Downloads and My Account password validation.
Released Februay 10, 2022
Introduction of the User Roles and Permissions. This release gives administrators finer control over portal features used by users.
- Continuation of Portal UI refresh, with new styles.
- Added Chat button to Dashboard display.
- Updated the common device details page.
- Refreshed the Organization edit and User edit pages.
- Added UI for editing roles and permissions.
- Created new Organization user list page.
- Updated the System Tokens page.
- Updated the Audit Logs display.
- Update the Date Picker within audit log display.
- Updated Account edit page to allow for updating a user's roles.
- Renamed 'Ping' to 'Find Device' on the common device page.
- Renamed 'Find Me' to 'Find Device' within Support Dashboard.
- Added additional CORS restrictions and removed the 'powered by' header in response.
- Updated the default Production and Staging Launcher configuration files.
- Added an Audit Log for User Activation and User Password Reset requests.
- Added basic Audit Logging for Role creation, update, and delete.
- Added logic that during Organization creation, build a set of default Roles.
- Fixed spelling in Admin Role description.
- Fixed the default BlueFletch Role descriptions.
- Fixed the BlueFletch Role to include the Download Manage permission.
- Fixed the BlueFletch Role creation to reference ALL permissions, not just system permissions.
- Fixed the MQTT Publish to use a valid Quality of Service numeric value of 0, 1, or 2.
Released December 6, 2021
Updated the documentation link.
Released December 2, 2021
Various fixes and UI enhancements.
- Updated Launcher Configuration editor with settings for downloadable assets.
- Fixed issue with dashboard card sizing incorrectly.
- Refreshed the UI for Account Settings.
- Fixed some button alignments in the common device details page.
- Fixed dashboard list display issue with newly created dashboards.
- Added Launcher configuration information to the common device page.
- Renamed EMS Portal to "Enterprise Mobile Security".
Released November 4, 2021
Introduced the new common device details page, and began refresh of the Support Dashboard.
- Updated the UI for the common device details page.
- Completed Playbook details in device detail component.
- Added new line graph card for dashboard use.
- Removed tailwind.css from within the portal code base.
- Added the new BF UI component library.
- Added Chat button support to the Support Dashboard.
- Added Circle Gauge v 2 (Doughnut Chart) in dashboard cards.
- Implemented Data Table Card 2 within Support Dashboard.
- Added a Chat display card within the Portal.
- Removed unneeded source maps during deployment which improves portal site load in browser.
- Implemented the redesign of the Forgot Password page.
- Refreshed the Forgot Password page styles.
- Fixed Login and Forgot Password forms minimum height and width.
- Fixed capitalization of text buttons on Login page.
- Updated Account settings page and Terms & Conditions pop up for new users with new styles.
- Added 'sitelistUrl' setting within Launcher Configuration editor.
- Refreshed the Account activation and Reset password pages.
- Updated Dashboard date time pickers to new version.
- Updated the EMS About page to new format.
- Implemented the new design for the Dashboard List page.
- Fixed Launcher notification to allow sending an empty JSON object.
Released September 30, 2021 ##
Various Portal fixes.
- Changed Playbook version of a copied Playbook to 1.
- Added correct property value to sites table.
- Cleaned up some erroneous code on tokencards.
- Added neccessary methods to display backend version in the about section of the portal.
- Removed unused variables.
- Added support for Demo Organization state.
- Fixed the terms control to be in one component.
- Updated pub / sub subscriptions to never expire.
- Updated Common Device information API with additional data points.
Released September 2, 2021 ##
Updates to Portal for security and performance. Release of Organization Site support using imported Site CSV file.
- Updated all support packages and improved the build process.
- Updated the Portal to allow for uploading and updating versions of Sites.
- Updated the Portal Support Dashboard to use uploaded Sites list.
- Added backend support for processing SITE CSV information.
- Changed Max Partition End to 10,000, so that is the max number of versions for sites.
- Moved the API Usage Middleware creation up prior to the controllers being used. This fixes reporting of API data.
- Updated the default config for Launcher activatesearchbar.
- Updated database schema with new fields 'type' and 'maxCapacity'.
- Changed the activation token expiration to 7 days.
- Added Session Id column to the database schema.
- Allowed for a getting list of applications using API Key.
- Allowed the Render Card API to be invoked using a Service or API key.
Released July 29, 2021 ##
General performance improvements to some pages as well as fixes to SSO Login / Logout. Added Date Range selections for Audit logs.
- Added date/time pickers for audit log display.
- Only render non draft dashboards to be selected as default dashboard on org edit and my account.
- Removed the required playbook setting during Organization creation.
- Updated Organization creation to flag errors within Org Name and Org Code.
- Added logic to remove deleted cards from current state so as to not display them.
- Removed tel from device search pages.
- Added email format validation. When email format is invalid, button 'Continue' will be disabled thus User cannot continue with login.
- Within SSO login, added checking that if user's entered email is different from IdP email, login process will not continue. There will be an error message 'Email from IdP does not match entered email'.
- Added lock in motion and lock in motion confidence to Launcher Configuration editor.
- Reload login page when there's no login data from IdP.
- Fix issue for Launcher Configuration List and Deployment Group List where the Filter Icon was being displayed when not needed. These pages have no filters.
- Fixes for the Filter icon on Organization List and Downloads List.
- Updated Audit Logs to allow the BlueFletch Admin to properly query information.
- Updated the packages for Dataservices for Node 14 support.
- Updated the File Artifact endpoint with true delete of Meta record.
- Fixed how Playbook Updates are processed when only Adding Plays.
Released July 1, 2021
Updated the Support Dashboard with an improved Site Selection. Additionally updated the Date / Time picker within the Dashboard.
- Updated the Support Dashboard Sites list and Date / Time selector.
- Increased the number of sites that a user can select and save per their session.
- Updated the Launcher configuration editor to reflect luggage tag and approved networks.
- Removed 'Sleep' play from available play actions within Playbook.
- Within Event Explorer updated the example query to include date selection, with explanation.
- Fixed the Event Explorer display to handle query formatting errors.
- Updated the Dashboard Create and Edit card layouts to be full screen.
- Updated the site http headers for increased security.
- Added improved email address validation for user creation.
- When the Dashboard receives a 500 error from the server, code was added to properly check the response before using the data values.
- Fixed the Device log download URL to use the correct download host.
- Dashboard API updates for improved database performance.
Released May 27, 2021
Fixed various bugs through out the portal, and gave Organization Admins access to the viewing the Audit Logs for their organizations.
- Removed Deploy button when adding a play.
- Fixed the Dashboard Event Explorer as was showing errors when navigating to next page of results. Also fixed Explorer so the arrows wouldn't show if there are no more results.
- Updated the Downloads feature to redirect if the requested File is Too Large to download.
- Fixed within Launcher Configuration editor to change values for idle time and max session time to INTs
- Added logic to warn if EMM Policy changes haven't been saved during a policy edit.
- Fixed the issue with EMM Policy drafts displaying warning when no changes have been made.
- Fixed pagination show/hide when returning from scheduling a policy in emm console
- Launcher Configuration fix: changing authapp IdP settings for redirect_url.
- Fixed EMM Policy display name change not being detected.
- Fixed issue of EMM Policy cancel button being inconsistent; it now always goes back to policy list on confirmation of warning dialog.
- Removed unneeded code within Dashboard List, which breaks Safari and causes endless API calls on Chrome.
- Expose Audit Log option within ADMIN portion of the Portal.
- Added displayName to audit logging so the user has a more descriptive experience.
- When building PUB SUB subscriptions remove any 'dots' withim the pub sub name.
- Sort Launcher Configurations by the time updated.
- Added Audit logging within EMM batch jobQueues.
- During Device Policy Move, changed how the description within Audit log is written.
Released April 29, 2021
- Remote Control UI updates to allow view only support.
- Limit the number of login attempts. The number of unsuccessful attempts is an organization level setting.
- Updates to the Downloads page.
- Forgot password flow using Google recaptcha.
- Additional events logged within Audit Logs, such as when a device is moved from one EMM policy to another.
- Validation within Plays to ensure there is a name.
- Added links to EMS Documentation
Released November 13, 2020
Playbook Device details received new features for requesting logs. Performance improvements with REST API's.
- Terms of Service Acknowledgement on login. Yes, requiring users to accept TOS.
- Begin logging changes to control records. Viewing the changes coming in a later release of the portal.
- Deployment Groups have been modified to load quicker.
- Management (moving) devices from one Deployment group to another is through the Devices Page.
- Viewing of Device Logs. Yes, any submitted EMS device application log can be retrieved through the Portal.
- Playbook Device Details Page updates to requesting logs from devices and sync Playbooks on devices.
- Playbook Device details allows for linking to the Support Dashboard for a device.
- Lot's of UI cleanup on the Portal, including more consistent dialog usage.
- API usage updates, added "keep" alive options to the REST API's for improved performance.
- EMS Documentation site has been refreshed.
Released October 16, 2020
EMM Provisioning Extra support within EMM Policies and tokens. Ability to copy an EMM Policy.
- Paging updates to EMM Devices.
- EMM Policy copy.
- Organization Edit updates.
- Launcher Configuration editor updates.
- User Activation sent UI updates.
- Added clear X to search boxes.
Released September 19, 2020
Added EMM Policy token edit / list / delete. Support for StageNow XML within Playbook. Various fixes for device paging. Launcher Configuration editor updates.
Released September 11, 2020
Internal project updates, include React Router. Playbook device details page. Various portal fixes.
Released August 27, 2020
Copy to clipboard support on Organization and Deployment group ids. Fixes for Deployment group move of devices.
Released August 14, 2020
Launcher Configuration editor updates. Various portal fixes.
Released August 1, 2020
Introduced the Launcher Configuration editor. Various EMM Policy fixes.
Released June 27, 2020
Support for SSO Login. Batch processing for EMM Policy and device changes. Beginning of EMM Token changes.
Released May 30, 2020
Goolge EMM Support
Released January 26, 2020
Added Google Analytics page load tracking.
Released January 23, 2020
To display a QR Code for Launcher Configuration.
Released November 13, 2019
Support for Event Forwarding. This allows an Organization to forward Support Analytics data to other providers (ie. SumoLogic or Splunk).
Released November 4, 2019
User Activation and Password reset flows.
Released September 29, 2019
Display fix within Playbook Edit
Released September 24, 2019
New Binary Downloads page, to give Admin's ability to download the latests APK's or view past APK's.
Released September 19, 2019
Button styling changes
Released September 12, 2019
Display list of devices connected to the MQTT service, along with connection state.
Released August 9, 2019
Display the Organization License.
Released July 24, 2019
Organization Edit changes.