Adjusted the geojson that is assembled to add Geoman's internal properties to identify a circle, adjusted to always add and send the hex color code (#) to the backend, and adjusted the map loading order to wait for the map loading before inserting the data into the map.
Adjusted so that the exact search is through the "eq " prefix and also added in the other search fields.
Added keepAlive validation on the socket connection that receives authentication data from the backend; if no response is received from the backend, redo the login to authenticate again.
[Device] Clicking details in the device list makes duplicate requests; fixed.
Adjust device status sending when generating timeout by redis.
Remove notification sending from child tenant to parent.
Restructure device domain.
Implemented button to rotate image and move the image, saving the image after exiting edit mode.
Restructured so that focus only sets the selected device in the list and where change is needed it listens to the status change, so with this map handling to place the location and in the popup set as open in initial status and as collapsed.
Date/time component adjusted for the PM/AM version.
Creation of design system for RemotaSafe.
[Map] Marker is moving out of position when zooming on the map.
As aligned with @Gabriel Castellani de Oliveira, cherry-picked only the password level feature into master.
Changed the variable that the useEffect was listening to apply the selected device change in the component.
Implemented communication via endpoint and websocket for notifications.
Implemented a rule when using * at the beginning of the search: a search will be performed on the exact value of all columns.
[Map] Visual adjustments with Figma.
[Notifications] - Include boolean field in return to inform if data exists to be queried.
[Notifications] - Create route to mark user notification as read.
[Notifications] - Create route to return the number of unread notifications for user.
[Notifications] - Created route to mark all user notifications as seen.
[Notifications] - Redo websocket.
Change DeviceStatus notification structure.
Remove unnecessary message sending to eventbus in Indoor notifications.
[Routes] Search with * for specific research.
Finalize restructuring of device state notifications.
Change device notification forwarding to Eventbus.
A project was carried out for validation of the features we have today in leaflet with MapLibre and all are possible to implement.
[Map] Migration from leaflet to MapLibre.
New notebook configuration.
Contract evaluation.
Preparation for the Review presentation.
Converting indoor feature to maplibre lib.
Adjust socket channel to receive connections with TXRoIP.
Development done to be able to dynamically render different providers registered on the platform and component to select between them, also adjustment made to load the default provider defined in the tenant when opening the map.
Backlog definition.
Develop device SVG markers for each status and apply shadow.
Added new filters in report screen: All Emergency, No emergency.
Implemented 3 new fields in the Socket-type channel registration to define the authentication type, communication type, and authentication key.
Restructure Socket project in Safe to consume from lib.
[DEV] Adjust new Tenant registration screen to use the new phone component.
Device type list is defined in the backend: /devices/types.
Include ICOM Sat device type in Safe integration.
Adjust device import routine to include in current tenant.
Improve device status route.
Implement beacon list for to:from with platform x radio.
Adjust device import task to do in batch.
Adjust DateTimePicker component to inform AM/PM when the selected language is English.
Creation of design system for RemotaSafe.
Added a tab for tenant device settings, and added 4 new fields for default device settings.
In this backlog, the following adjustments were made: Removal of TargetHandle field from WorkflowNodeEdges table of TaskScheduler; Fixed a null reference error when device status has no Location; Removed restriction preventing creating workflows without functions; Adjustments to generate workflow execution history without functions; Inclusion of Params field in the workflow execution history return; Handling to avoid error when seeking details of a non-existent execution.
Could not simulate this problem after adjustments.
Manual calculation done to focus on text field with tag where problem was occurring, as this component is not a standard input; it is a span that accepts HTML inside because of TAGS.
Removal of shift function inside ReactFlow component.
Adjusted to set the entity and trigger properties when loading a workflow in edit or view mode; now task and function nodes can be successfully viewed/changed.
Added version number and version author fields in execution history return.
Developed handling so that job error messages (JobExecutionLogsHistory.ErrorMessage) are translated when returning value to user.
Throw error when trying to include devices with duplicate identifiers.
Added new parameter for execution history search routes to filter executions that are workflow or not. bool? WorkflowExecutions: true: brings workflow execution logs; false: brings non-workflow execution logs; null: brings both cases.
Adjustment to filter both in nodes sidebar and within Function Node and Task Node settings so that properties and entities used are only those allowed by the selected trigger.
PendingDevices creation routines were generating non-stop errors for every unknown device message from Collector. A treatment was made so that when the creation attempt comes from Collector, no error will be thrown; only if the creation attempt is manual.
Adjusted logic to clear trigger, functions, and tasks when switching workflow to edit or view and closing the modal.
[Map - Responsive - Mobile] Device menu.
[Notification] Configuration of the Toast base structure.
[Notification] Implementation of basic Toast functions.
[Notification] Create ToastFactory with simple methods.
[Notification] Create toast method with custom content in ToastFactory.
[Notification] Develop notification card according to model in Figma.
[Notification] Sidebar creation according to model in Figma.
[Notification] Notifications tab content.
[Notification] Channels tab.
Internal aids - Henrique.
[Environment] Updating HML environment with workflow.
[Password Security] Notify that Current Password is incorrect.
[Password Security] Password lifetime validation.
[Notification] Build card with new JSON structure.
Integrate Suntech ST-4945S device.
[Routes - Map] Route history on map.
All SVGs were generated and attached to this backlog.
Improvement made to notification center structure and toasts to fetch data and update using only redux, avoiding local states.
[Map] Use SVGs for device status.
Adjustment done to the device phone field to be able to select a country where the area code and mask will be applied if the country has one.
Corrected on switch to maplibre lib.
Corrected on switch to maplibre lib.
Adjustments in phone fields to accept only numbers (researching how masking is done on these fields globally).
Implemented entire database structure for Notifications table and user relation table. Implemented logic at Recorder domain level and WebSocket message processing for queries. Implemented domain structure and Application API with Recorder integration via WebSocket. Creating notifications via Eventbus is pending (Application or Scheduler).
[Components] Develop Datepicker component according to Figma.
Adding point clustering option in route history.
[Password Security] Include validation for password creation - Finalize implementation.
Adjust default user password when creating a company.
Adjustment in onSelectAll not to use PrimeReact default but to keep control on our side in logic and visual.
Create resource for password already used.
Adjusted not to show authentication buttons via Google or Microsoft if tenant has not configured them; logic shows only the configured one(s).
Return country code when authenticating.
Applied useEffect to synchronize between redux state and local LevelControl state to sync indoor data on the map.
[Devices] Adjustment in phone field, breaking in HML.