Release Notes
Discover the latest updates, features, and improvements.
Strict Downward-Only Hierarchy Resolution (/api/hierarchy): Scoped direct teams strictly to teams where team.managerId === managerId. Removed the userProfile.teamIds lookup so a sub-manager's membership in a senior manager's team can never be interpreted as team ownership.
Hook Isolation (useSubManagerHierarchy): Enforced that directTeams and potential sub-managers are strictly derived from teams directly managed by the current user. Updated state handlers to cleanly reset and persist empty sub-manager hierarchies when a manager has no sub-managers.
Dashboard Visibility Scoping (CombinedTeamOverview): Explicitly constrained direct team displays to team.managerId === currentUserId, restricted sub-teams strictly to verified reports within direct teams, and removed the orphan team fallback.
Team Activity & Project Isolation: Restricted manager views on the team activity page and dashboard project aggregations to projects and teams where the sub-manager is the designated manager.
Payload Optimization via Column-Level Formula Inheritance: Formula and linked date configurations are now promoted to the column level (defaultLinkedDate) rather than duplicated inside every row. All newly created rows automatically inherit these column-level date calculations. Empty string and null values are pruned so they do not consume document space.
97% Document Payload Reduction: Adding 137 formatted rows was reduced from ~1,180,000 bytes down to ~38 KB (a ~97% size reduction), keeping milestone tracker documents well within Firestore's strict 1 MB single-document limit.
Full Compatibility with Date Calculations & Status Tracking: Date picker dialogs, linked date resolution (linkedTrackerDate, vLookupDate), milestone completion indicators, overdue calculations, and project status charts now seamlessly fall back to the column's defaultLinkedDate, while any row can still override a column's default link with its own custom date or link whenever needed.
Accurate Error Reporting: Updated Firestore error handling in the project provider to only emit permission warnings for true permission-denied authentication responses. Document size warnings and validation errors are now distinguished with clear, descriptive feedback rather than misleading "permission error" popups.
Consistent Linked Date Inspector Dialog: Clicking any linked date cell in a project data table now opens the Linked Date Inspector with the exact visual layout and styling used in the tracker section.
Source Reference Details & Status Badges: Displays source indicators with styled badges for Project Schedule, Project Data Table, and Tracker Column, along with Source Reference (milestone, workstation, table, row, column), Source Base Date, Evaluated Result, and chips for all Applied Day Offsets (including Saturday, Sunday, and public holiday skip rules).
Dynamic Interaction Actions: Added interactive controls to Edit Link & Offsets (pre-populating existing values to adjust days, addition/subtraction, and weekend/holiday exclusion rules), Change Source (seamlessly swapping between Project Schedule and another Project Data Table), and Unlink Date (reverting to an editable static date).
Unified Date Cell Experience: For unlinked/static cells, clicking opens a clean calendar date picker accompanied by quick buttons to connect to dynamic sources.
Dependent Column Preservation: Both single and grouped sub-column VLookup configuration selectors now preserve your previously selected Dependent Column when you select or switch the Lookup Table.
Accurate Field Clearing: Only the destination table's fields (Lookup Column and Return Column) are cleared upon table selection so that they align with the chosen table's schema, without resetting your source column.
Light Bluish Glow Perimeter: Applied the light bluish glowing perimeter (tracker-container-glow) to the top two containers on the project detail page (the Project Info / Team Members card and the Project Status card), ensuring all project section containers share this consistent light bluish glowing border and shadow styling.
Greenish Glow Status Bar: Added an emerald progress bar with a glowing ambient shadow displaying each section's completion percentage.
Comprehensive Task Metrics: Displayed standardized badges for Total Tasks (accounting for subtasks using standard task calculation logic), Outstanding Tasks, Overdue Tasks (with active alert styling when items are overdue), and Completed Tasks.
Purplish Plus Button & Dropdown Menu: Replaced the text button with a circular perimeter button featuring a light purplish glowing Plus icon and hover glow effect, positioned adjacent to a section management dropdown menu.
Compact Empty Section Sizing: Empty project sections now match the compact profile of a collapsed section container, removing bulky empty-state inner padding while preserving full header functionality.
Section Expansion & Default Visibility: Project sections containing incomplete tasks automatically expand by default, while sections where all tasks are completed are collapsed by default. Empty sections remain visible by default, with an option in the Filter menu to hide them if desired.
Role-Based Task Visibility & Toggles: Project Managers see all project tasks by default, while Team Members see only their assigned tasks by default with a convenient "My Tasks / All Tasks" toggle in the toolbar. Completed tasks are hidden by default for both managers and team members.
Completed Tasks Tag & Strikethrough Eye Toggle: Each section's completed tasks tag features a strikethrough eye icon (EyeOff). Clicking the tag unhides completed tasks within that specific section, switches to an open eye (Eye), and automatically expands the section accordion. Clicking again toggles it back to hidden.
Consistent Task Calculation Logic: Section metrics are computed directly against the unfiltered tasks of the section, ensuring the total, outstanding, overdue, and completed numbers match the calculation logic of the Project Status chart in the top-right container.
Vertical Tag & Button Alignment: Standardized explicit widths across all header elements (progress bar, total tasks, outstanding tasks, overdue tasks, completed tasks tag, add button, and dropdown menu) so status bars, task badges, and buttons align in clean vertical columns across all project sections.
Accurate Task & Subtask Assignee Resolution: Updated the task tracking engine to accurately inspect both main task and subtask assignees, accounting for inherited parent assignees whenever subtasks do not have dedicated assignments.
Section Auto-Expansion for Incomplete Work: Refined the default and manual toggle behaviors for "My Tasks" and "All Tasks" views to reliably expand sections containing outstanding, incomplete tasks or subtasks.
Section Collapsible State & Fallbacks: Corrected the fallback evaluation when viewing assigned tasks so that general and categorized sections with outstanding deliverables display seamlessly.
KPI Task Mapping Consistency: Ensured task descriptions, details, and multi-assignee lookups align across task and subtask KPI mapping views.
Isolated Add Task Dialog: Extracted the Add Task modal into a dedicated, self-contained component. Keystrokes inside the description and date fields are completely isolated—typing a task description will no longer trigger re-renders across the main project page or its 760 tasks, ensuring instantaneous and smooth typing.
Non-Blocking Background Completion Recalculation: Recalculations execute seamlessly in the background without blocking the user interface. Clicking Add Task closes the dialog and creates the task immediately without waiting for network downloads across hundreds of documents.
Task Card Memoization: Memoized individual task components so that state updates in the project view skip re-rendering task cards whose data has not changed, significantly reducing CPU usage and browser lag on large projects.
Vertical Alignment & Metadata Consistency: Implemented standard alignment across both the Project Category Summary table and all Custom Tables using shared, vertically aligned metadata columns for progress bar, completion percentage, total count, outstanding count, and completed count tags.
Table Overall Summary Badge: Added the Table Overall summary badge to the header of every custom table to match the category summary.
General Tasks Section Visibility: Ensured the default General Tasks section is always displayed in the Project Category Summary table (as well as available for custom section/category tables), even when it has zero tasks.
Exclude Project Sections & Account Persistence: Added a Table Settings dropdown menu (⚙) to both the Project Category Summary and each Custom Table with an Exclude Project Sections (or Exclude Tags) modal. Preferences and sub-task exclusion toggles are saved directly to the user's profile in Firestore and automatically synchronized across devices.
Tag Manager Suite: Implemented the Tag Manager dialog located directly to the right of the Add Category button, supporting creating, renaming (with custom color selection), and deleting tags with automatic cleanup of assigned tasks across standard and ECR projects.
Interactive Tag Matrix Table: Features a full matrix table with tags as columns and checkboxes for each main task. Main tasks with sub-tasks can be dropped down to assign or remove tags from individual sub-tasks independently, with automatic persistence to Firestore.
Fixed Freeze Pane Overlap & Bleed-through: Replaced semi-transparent background layers on the sticky freeze pane with solid, fully opaque card backgrounds (bg-card and group-hover:bg-muted) paired with a defined border divider and subtle elevation shadow so scrolling cells glide smoothly behind the frozen column without bleed-through.
Auto-Scrolling Text on Hover: Built an auto-scroll hover effect (AutoScrollText) for both tag headers and task/sub-task descriptions, smoothly scrolling text horizontally on hover whenever names exceed column boundaries without clipping or wrapping.
Expanded Layout & Optimized Proportions: Increased dialog width by 20% to max-w-[1440px] w-[97vw], widened task description columns, and added an optional Hide/Show Category Column toggle in the toolbar to maximize tag visibility.
Hide Tagged Tasks Quick-Toggle: Added a Hide Tagged Tasks quick-toggle button in the toolbar that instantly hides all main tasks that already have tags assigned, displaying only untagged tasks.
Multi-Mode Tag Filter & Active Filter Banner: Added a tag filter selector allowing you to view All Tasks, Untagged Only, Tagged Only, or isolate tasks assigned to a specific tag, complete with real-time counts and an active filter banner with a one-click "Show All Tasks" reset button.