D-47905 Community - Analyzer window doesn't close after using Delete All option
Description
Analyzer window doesn't refresh after using Delete All option

Resolution Details
Corrected a defect in the Delete All function's cleanup routine. We have standardized the logic to explicitly close the Analyzer window upon completion of the deletion, ensuring the UI remains synchronized regardless of the active Bids tab or prior analyzer state.
D-50196 Community - Bid submission sticks and fails to complete
Description
Fixed: Training Bid Submission Timeout/Hang
Issue: Identified and resolved a specific edge case where certain crew member profiles encountered a persistent loading state when submitting Training Bids.
Correction: Optimized the submission logic to handle complex bid data more efficiently, ensuring the submission confirmation is returned correctly and the loading state is cleared.

Resolution Details
Refinement: Standardized the FollowedBy bidline attribute to consistently return an array of preferences.
Reason: Previously, single-element preferences were handled differently than multi-element lists. This change ensures uniform data parsing across the application, mirroring the main bid preference logic.
D-48311 Community - Blank bid page displayed after multiple change bid calls with different employee ID values
Description
Fixed a bug where the bid page would fail to load after switching between multiple employee profiles. The system now properly clears and updates local data (IndexedDB) to match the active employee ID, ensuring a consistent and accurate display.
Resolution Details
Update to Session Validation Logic
Refinement: Standardized user metadata retrieval to prevent stale data in Persistent Storage from impacting subsequent sessions.
New Logic: The application now follows a strict hierarchy for user validation:
Check in-memory cache.
Request fresh data from the server.
Fall back to local storage only if the server is unreachable.
Result: Eliminates "Change Bid" conflicts where the previous user's attributes (like Submit IDs) were incorrectly referenced for the new user.
D-49485 Community - 'Hamburger' menu is missing for the second and subsequent selected lines
Description
Fixed a bug where the options menu was only visible for the first selected bid line. The menu is now correctly displayed for the second and all subsequent selected lines, ensuring full functionality across your entire selection.

Resolution Details
UI Fix: Bidline Selection and Menu Visibility
Technical Update: Revised the bidline enumeration logic used during the Bids tab initialization.
Refinement: Previously, a two-step selection process failed to clear all selection marker values, resulting in a state where lines were "selected" but the menu UI was suppressed. The logic now ensures both markers are fully reset, allowing the selection method to correctly display the hamburger menu for all active lines.
D-49138 Community - Help hover message is not closed when mouse is moved away from Help button
Description
Fixed a bug where the Help button’s hover message would not automatically close after its first use. The hover behavior is now consistent, correctly appearing and disappearing based on your mouse movement.

Resolution Details
UI Fix: Help Popover State Management
Issue: The Help popover failed to deactivate because the application captured the "hover" state immediately as a dialogue box gained focus.
Correction: Integrated a new closeHelpPopover function within the Help Controller. The system now explicitly checks for dialogue activation and programmatically clears the popover to prevent it from persisting in the UI.
D-49526 NOC Community - NOC Award File - API Credentials issue
Description
Fixed an issue where the Raido Crew Roster Export was using hardcoded API credentials. The system now correctly references the RAIDO API USERNAME and RAIDO API PASSWORD values defined in your /navtech/parm/NAVNWSParams.xml file, allowing for flexible configuration across different environments.

Resolution Details
Resolved: Hardcoded Credentials in Crew Roster Exports
Issue: Fixed a vulnerability where API credentials were hardcoded in the CrewRosterData XML section.
Correction: Refactored the report to pull xmlns:api, api:Username, and api:Password from the central configuration file.
Stability: The report now utilizes the standard RaidoHelper class. If parameters are missing or incorrect, the system will generate an explicit error log rather than attempting to export with invalid data, ensuring higher data integrity.
D-49341 Community - Pairing filter 'Duty on' can not be updated when sidebar was
changed before
Description
Fixed a technical defect where navigating away from the Pairings page via the sidebar caused the 'Duty on' filter to malfunction upon return. This fix addresses a JavaScript error (forEach) and ensures that all pairing filters remain functional and accurate throughout your session.

Resolution Details
Fix: Array Handling in Persistent Filter Objects
Issue: When recreating filters from browser storage, a dates array containing a single element was being incorrectly restored as a standalone object. This triggered a forEach function error in the UI.
Correction: Updated the filter initialization logic to ensure that single-date values are correctly wrapped back into an array structure upon restoration. This ensures full compatibility with the application's filtering functions across all user sessions.
D-48874 Community - Some pairing filters do not store selected values while switching between tabs
Description
Fixed a bug in the Preference Editor where the Pairing Check-In, Duty On, and Pairing Number Departing On filters would lose their saved values during tab switching. These filters now correctly store and display your selected days or date ranges, even after navigating to other pages and returning.
Resolution Details
Enhanced Date/Time Accuracy and Filter Persistence We’ve implemented two significant fixes to improve the reliability of your filters in the Preference Editor.
Standardized Time Calculations: Resolved an issue where Pairing Check-In Time and Duty On filters would lose or change values due to inconsistent date format conversions. The system now performs all time-related calculations in UTC, ensuring your selections remain accurate regardless of time zone differences.
Improved Calendar Persistence: Fixed a bug where the Pairing Number Departing On filter would appear empty after switching tabs. We have now implemented "state saving" for the calendar, meaning your selected dates will be remembered even if you navigate to the Bids tab and back.
D-48870 Community - The Bid Analyzer is not showing results when additional bid line is added from the pairing tab
Description
Fixed a bug where bid lines added from the Pairing tab were not being included in Bid Analyzer calculations. The system now correctly initializes these new lines—marked by the selection checkbox, ensuring the Analyzer reflects your most recent changes in real-time.

Resolution Details
Fix: Inter-Tab Signaling for Bidline Updates
Issue: The Bid Analyzer failed to update its internal state when new bid lines were generated via the Pairings tab UI (Award/Avoid buttons). This resulted in an empty Analyzer or missing checkboxes for new lines.
Correction: Added a signaling mechanism to the bidline creation logic. The application now explicitly notifies the Analyzer component of structural changes to the bid list, triggering a re-enumeration of lines and ensuring data parity across the Bids and Pairings tabs.
D-49682 Community - Too many calls to NAVNWSParams during import
Description
Resolved: Database Connection Bottleneck
Issue: Identified a performance lag where the system was repeatedly querying the NAVNWSParams.xml file for connection limits during large imports, adding significant overhead to the run time.
Correction: Modified the logic to load the MaxConnections value once on initialization.
Impact: This optimization reduces import times by roughly 15% for large datasets. Please note that updates to connection limits now require a service restart to be recognized.

Resolution Details
Updated the NAVNWSParams logic to cache configuration values after the initial read. This eliminates redundant file-reading processes, leading to smoother performance and faster execution times for backend routines.
D-49380 Community - Training - Line selection is lost after last line is deleted and deletion is done below 'Avoid Voluntary Training'
Description
Fixed a defect where deleting a training line situated below the "Avoid Voluntary Training" line caused the selection to be lost. This fix ensures that the system always highlights a new line after a deletion, preventing a scenario where buttons appear active but have no selected data to act upon.

Issue exist only when Avoid Voluntary Training line is above deleted line. When Avoid Voluntary Training line is below deleted line then next line after deleted one is selected.

Resolution Details
Update to Bidline Selection Routines
Refinement: Optimized the selection index logic triggered by delete and cut operations in both Training and Pairing/Reserve Bid Groups.
Logic: The routine now filters out system-defined constants (such as "Award Training" and "Award Pairings") when determining the next active index.
Result: Selection focus is maintained exclusively on user-defined bid lines, preventing UI "dead states" where system-generated lines are erroneously highlighted for editing.
D-49136 Community - Training - Number of all trainings is incorrect when filter is used
Description
Fixed a bug where the "Total" training count was being overwritten by the "Filtered" count. The interface now correctly displays the number of trainings matching your filter relative to the actual total number of available training items.

Resolution Details
Fix: Scope Variable Assignment in Trainings Controller
Issue: An incorrect assignment order in the applyFilter() function caused $scope.totalTrainingsLength to be updated with the filtered array length instead of the master array length.
Correction: Refactored trainingscontroller.js to move the total length assignment above the filtering logic. This ensures the persistent storage of the full dataset size before the scope is reduced by user-defined filters.
D-49892 Community - Waive and Set Condition with set precedence jump over each other while editing is applied
Description
Fixed a bug where Waive and Set Condition bid lines would intermittently change positions during the editing process. The precedence logic has been stabilized to ensure that lines stay in their correct order while you are making modifications.

Resolution Details
Fix: Index Preservation during Bidline Commit
Issue: A logic error in the precedence comparison prevented the system from accurately determining if an edited line was above or below adjacent lines of the same priority. Additionally, a faulty "is editing" check caused lines to lose their index position during a second consecutive "Apply" action.
Correction: Refactored the index-finding routine to preserve existing order among lines with identical precedence. The "editing" status conditional was also corrected to prevent index increments during re-saves where no positional change was made.
D-49407 Community - Waive/Set Condition bid line is not added on top when Award is on top and Prefer Off/Avoid/Award is next
Description
Waive bid line is not added on top:

Resolution Details
Update to getIndexToInsert Function for Award Pairings
Technical Fix: Expanded the getIndexToInsert routine to include explicit support for the Award Pairings bid line type.
Reasoning: Previously, the index calculation failed to correctly identify the "Award Pairings" line as the starting boundary when it occupied the first position in a bid group.
Result: Corrects a defect where adding or editing user-defined bid lines with specific precedence levels resulted in an out-of-order sequence.
D-49422 Community - A .txt file is generated when clicking the "PBS Crew Roster (JSON) Export" button.
Description
Fixed a defect where the PBS Crew Roster Export was generating files with a .txt extension. The system has been updated to correctly trigger the .json file generation logic, ensuring the exported file matches the format specified on the button.



Resolution Details
Update to Export Controller: JSON File Generation
Issue: The export routine lacked the specific case handling required to assign the .json MIME type and extension to the Crew Roster output.
Correction: Refactored the file generation logic to include a dedicated JSON case. The "PBS Crew Roster (JSON) Export" button now correctly invokes this functionality, producing a valid JSON document instead of a standard text string.
D-49615 Community - Active Period does not show a full border in the footer
Description
Fixed a UI defect where the Active Period border did not expand to fit the contained text. The border now displays fully across all screen resolutions and text lengths.

Resolution Details
Enhanced Visual Layout for Active Period
The Fix: We have updated the styling of the Active Period display to ensure the border fully encloses the text.
The Benefit: Previously, the border could appear cut off or too narrow for certain date ranges. Now, the frame automatically adjusts to fit all text, providing a cleaner, professional look and ensuring that all period information is clearly visible.
D-49643 Community - Auto-Save is not working properly when a new bid line from the Training tab is added to the Training Bid Group
Description
Fixed a defect where adding a bid line from the Training tab failed to trigger an automatic save. The system now consistently identifies new training bids and commits them to the server, preventing data loss when the browser cache is empty.
Resolution Details
Optimization of State Persistence and Sync Logic
Refinement: Relocated the isModified state logic from the Bids Page Controller to the global Save service.
Logic: By flagging modifications at the service level, the application maintains a consistent record of "dirty" local data.
Result: This prevents the initial synchronization routine from erroneously overwriting uncommitted local changes with a stale payload from the server, ensuring local-first data integrity.
D-49727 Community - Bid line ordering- When editing a set condition bid, edited bid line is shifted to next line
Description
When editing a set condition bid line3 from minimum credit window to Maximum credit window-foe example:

After clicking Apply button- the edited Set Condition bid line3 is shifted to bid line4:

Resolution Details
Update to getIndexToInsert for Equal Precedence Handling
Issue: The index calculation logic failed to account for "Set Condition" lines when they were part of a block of bids sharing the same precedence level. This resulted in incorrect placement during add/edit operations.
Correction: Refactored the getIndexToInsert function to verify the precedence of subsequent lines. The logic now correctly identifies when a Set Condition belongs to a multi-line precedence group and maintains the correct vertical index.
D-49405 Community - Change Bid from Admin UI with employee number won't redirect to WebApp
Description
Fixed a defect where switching between the Admin and Bidder interfaces on a single browser would fail even after logging out. Logout routines now ensure all portal-specific data is cleared, allowing for a clean transition between URLs for users who manage both sides of the application.
Resolution Details
Fix: Window Name Initialization during Admin Authentication
Issue: Failure to initialize the window.name property during the Admin login sequence caused the Admin interface to inherit stale identifiers from existing Bidder UI windows.
Correction: Integrated a window name reset and initialization routine within the Admin login controller. This ensures that the global browser context is uniquely identified for the Admin application, preventing session collisions between different PBS UI modules.
D-49505 Community - Selected Import Group value disappears when Period is selected in the Archived Imports
Description
Fixed a defect in the setSelectedPeriod function that caused the active selection to be lost during list updates. By capturing the unique ID of the selected group and restoring it after the options are rebuilt, the system now maintains the correct selection automatically.

Resolution Details
Fix: State Retention in setSelectedPeriod Routine
Issue: Clearing and rebuilding the option list for Import Groups caused the UI to lose the active selected_index, resetting the dropdown to its default state.
Correction: Modified the selection logic to cache the previous_value (unique ID) of the Import Group. This ID is now used as a reference point to programmatically restore the correct selection from the newly populated array of options.
D-49911 Community - The Apply button is disabled when editing a Prefer Off bid in some scenarios
Description
Fixed a bug that prevented the Apply button from enabling during certain Prefer Off bid edits. This correction ensures that the button properly activates as soon as valid modifications are detected in both Pairing and Reserve Bid Groups.

Resolution Details
Fix: State Initialization in Prefer Off Edit Controller
Issue: The boolean flags tracking the state of "Prefer Off" parameters were not being correctly mapped from the existing bidline upon entering Edit Mode. This caused the UI to treat active selections as new requests, triggering redundant submenu navigation instead of a toggle-off action.
Correction: Updated the Edit initialization routine to properly hydrate the current state of all bidline parameters. This ensures the UI correctly toggles selections and allows the Apply button logic to evaluate the bidline's validity accurately.
D-50094 Community - The date range in the calendar for Prefer Off bid line is not stored
Description
Fixed a defect where the calendar would not load initial values when opening the editor for an existing Prefer Off Dates Range bid. The system now correctly populates the calendar view with your saved date range upon entering edit mode.
Resolution Details
Fix: Heterogeneous Date Range Data Retrieval
Issue: A logic gap existed where the Date Range retrieval routine only queried the $scope variables associated with the Global Filter components, neglecting the specific object structure used for persisted bidlines.
Correction: Refactored the date-checking utility to perform a dual-source validation. The system now evaluates both the filter-state and bid-state objects, ensuring that Date Range parameters are correctly recovered and mapped to the UI during the Edit initialization sequence.
D-49492 Community - The menu options are disabled, and Analyze button is not working after adding new bid line
Description
Fixed a regression where the Analyze button and menu options became disabled or non-functional after injecting a new bid line from the Training tab. The system now correctly refreshes the UI state, ensuring that all bid management tools and the Analyzer trigger as expected.
Resolution Details
Optimization: Automated Bid List Re-Enumeration and Focus
Update: Enhanced the state-management logic for the Bids controller.
Logic: Adding a bidline from an external tab (Training/Pairing) now triggers a silent refresh of the bid collection. Upon tab switching, the system programmatically focuses on the newly created index.
Result: This ensures that the $scope is fully updated with all relevant metadata and UI listeners, providing immediate access to the bidline’s action menu and context-sensitive tools without a hard reload.
D-49725 Community - User session not cleared after logout, allowing re-login via URL manipulation
Description
Fixed a security issue that allowed access to the application via URL modification after a session had ended. The logout process now explicitly clears all authentication tokens from local and session storage, ensuring that proper login credentials are required for every new session.

Resolution Details
Fix: Conditional Token Invalidation Logic
Issue: Inconsistent token clearance in non-SSO environments presented a potential session hijacking risk.
Correction: Modified the logout controller to evaluate the authentication provider type.
Logic: For non-SSO authentication, the routine now invokes localStorage.removeItem() for the user token. For SSO authentication, the token is persisted through the logout redirect to allow the Admin logout callback to complete the lifecycle.
D-49534 Community - Value from the Import Group filters is not fully displayed in the result column
Description
Limited column sizing led to poor visibility for extended text entries. Solution: Adjusted the default column layout to better accommodate varying text lengths and improve overall data clarity.
Resolution Details
Adjusted column dimensions to automatically accommodate text length, improving the overall clarity of the user interface.
D-49651 Community - Bid UI Analyzer/Pairing Search Discrepancy with Scheduler
Description
Resolved: Bid Analyzer and Scheduler Logic Mismatch
Fixed an issue where the Bid Analyzer and Pairing Search were using "inclusive" time logic, while the Scheduler was using "exclusive" logic.
This caused the Analyzer to claim a trip was filtered by a bid (e.g., Duty On Between 00:01 And 04:59) when the Scheduler correctly identified that a trip ending at exactly 00:01 did not fall within that forbidden range. Both systems now operate with the same non-inclusive timing rules.



Explanations:

FUNCTIONAL SPECIFICATION
DUTY ON BETWEEN timestamp T1 and T2 where both T1 and T2 have HH:MM format.
T1 and T2 and non inclusive, below two points should further clarify this statement.
Any Duty that ends on T1 should not match.
Any Duty that starts on T2 should not match.
Any Duty that has atleast 1 minute of duty period between T1 and T2 should match.
Resolution Details
Alignment of Time Range Logic Across PBS Modules
The Fix: We have updated the comparison logic for the Duty On time range to be non-inclusive.
The Change: Previously, the system used inclusive operators (like >= or <=) which incorrectly matched pairings that started or ended exactly on the range boundary.
The Result: By changing the comparison to be strictly non-inclusive (using > or <), pairings that end exactly at the start of a range or start exactly at the end of a range will no longer be incorrectly flagged as a match. This ensures the Analyzer's feedback perfectly matches the Scheduler's awarding results.
D-50116 Community - Training - Waive Training line can be added below Award Training
bid line
Description
Fixed a restriction that prevented certain bid sequences in the Training tab. Users can now successfully add a Waive Training line immediately following an Award Training line to better refine their bid priorities.

Resolution Details
Optimization: Standardized Precedence Sorting for Training Lines
Issue: The conditional logic responsible for enforcing vertical bid-line hierarchy based on precedence was not generic enough to include training-specific bid types.
Correction: Relocated the precedence check to a more global scope within the sorting function.
Result: This refactoring ensures that the high-above-low precedence constraint is now applied to the training bid group, preventing out-of-order indexing during line insertion or editing.
D-50696 Community - Traditional Calendar view shows only February month (missing bid-period carry-in/carry-out days)
Description
Fixed a bug where the Traditional Calendar view failed to display carry-in and carry-out dates. The view has been corrected to render the full bid period range (e.g., late January through early March for a February bid) instead of strictly adhering to the calendar month, ensuring Jan 31st is visible by default.
Resolution Details
Update to Calendar Rendering: Period-Aware Boundary Logic
Issue: The calendar component previously defaulted to standard month boundaries, only appending days to complete the Sunday–Saturday week rows.
Correction: Modified the date-generation sequence to check if the rendered month is the "main" month of the active bid period. If so, the system overrides standard month boundaries with the period_range start and end dates.
Result: The calendar first anchors to the full period range and then performs a secondary "fill" to complete the leading and trailing weeks for a proper 7-day grid display.
D-51429 Community - Remove 2 Scheduler Log File Messages Causing Huge Log Files
Description
Resolved a logging verbosity issue in the Scheduler where redundant rule-check messages were causing excessive log file growth. This update significantly reduces disk space requirements and improves log readability.
Resolution Details
Refined the logging verbosity by removing unnecessary rule-check messages. This results in much leaner log files and a cleaner audit trail for system events.
D-49371-Community - Pairings Tab display incorrectly filtered by Bid Analyzer content positions removed, Color coding applied
Description
Resolved a display issue where the Pairings Tab would incorrectly filter positions or show inaccurate color-coding based on Bid Analyzer content. The tab now maintains a full, independent view of all available positions to ensure bidding accuracy.
Resolution Details
We have updated the application architecture to ensure the Bid Analyzer operates on its own independent data set. Actions taken in the analyzer will no longer impact the Pairings Tab, ensuring a stable and accurate view of all available positions.
D-51011-Community - Redo From Line and Forget Bid Line with not proper values after
copy-paste
Description
Resolved an issue where Forget Line and Redo From Line displayed incorrect visual indicators when copied into a pre-populated Pairing Bid Group.

Resolution Details
Streamlined the background processing for bid group updates to ensure consistent line ordering and UI stability.