Skip to content

Should long clocks shows a banner until acknowledged or resolved#197

Open
Dharp02 wants to merge 56 commits into
devfrom
should-long-clocks-shows-a-banner-until-acknowledged-or-resolved
Open

Should long clocks shows a banner until acknowledged or resolved#197
Dharp02 wants to merge 56 commits into
devfrom
should-long-clocks-shows-a-banner-until-acknowledged-or-resolved

Conversation

@Dharp02
Copy link
Copy Markdown
Collaborator

@Dharp02 Dharp02 commented May 19, 2026

No description provided.

mfisher31 and others added 30 commits May 14, 2026 22:48
- Add reportsToUserId field to OrganizationAdminUser interface
- Create /v1/org/users/:userId endpoint to update reportsToUserId
- Add Reports To dropdown to OrganizationMembersPage with None option
- Update backend GET /admin/organization/users to fetch reportsToUserId
- Make dropdowns fill entire table cell width with flex-1 class
- Support null values for clearing the Reports To field
Introduce a global command menu (Cmd+K / Ctrl+K) using cmdk so users can jump to any sidebar route with search, subtle backdrop, elevated shadow, and minimal scrollbar styling.

Co-authored-by: Cursor <cursoragent@cursor.com>
- Add OrganizationPage: full-viewport org chart display based on reportsTo
- Add OrganizationChart: YChartEditor-based org structure visualization
- Add Organization link to Manage sidebar section with faSitemap icon
- Register /app/organization route in AppLayout
- Add seed-hierarchy.ts: deterministic multi-level manager structure for seeded users
- Add seed-org-hierarchy.ts: standalone script to reapply hierarchy without full reseed
- Wire hierarchy seeding into standard seed flow (npm run seed)
- Add npm run seed:hierarchy command for hierarchy-only updates
Add shared GitHub issue helpers, green preview with title and description, Enter-to-create flow, and tickets list refresh; drop Redmine URL support on TicketsPage.

Co-authored-by: Cursor <cursoragent@cursor.com>
…lock monitoring for breaks and auto clock-out

Co-authored-by: Copilot <copilot@github.com>
…dels, services, and tests

Co-authored-by: Copilot <copilot@github.com>
…esh, cmdk entry

- Replace ychart built-in info panel with a centered modal showing Name,
  @handle, and a View Profile link (patches showNodeDetails on the instance)
- Add username field to OrganizationChartMember and pass it through from
  OrganizationPage so the handle is available in the modal
- Move Members/Refresh control from top to bottom-right of the chart canvas
- Add Org Chart entry to the command palette (Manage group, faSitemap icon)
- Override --yc-color-success and --yc-shadow-node-selected in ychart-dark.css
  to use the brand primary color instead of the hardcoded Material Blue (#2196F3)
  that was conflicting with the orange brand on node selection and canvas focus
- Add public /v1/organization and /v1/organization/users backend endpoints
  accessible to any authenticated user (not admin-only)
- Add orgApi client in src/lib/api.ts for the new public endpoints
- Update OrganizationPage to use orgApi instead of admin API
- Hide ychart UI chrome (field selector, YAML editor, toggle/filter
  buttons, POI selector wrapper) via injected CSS in OrganizationChart
- Fix unused import lint errors in OrganizationPage and ProfilePage
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Add Roles/Permissions to Tickets & Default Organization Layer With Chart
fix: show work items across all teams on WorkPage
Dharp02 and others added 4 commits May 19, 2026 13:26
- Updated clock test cases to reflect changes in break segments to breaks.
- Added new tests for shrinking overlapping break periods and manual break edits.
- Enhanced TimesheetPage to manage editable breaks, including validation and rendering.
- Refactored TimesheetRow to build a timeline of work and break segments.
- Updated API to support breaks in clock event updates.
- Added unit tests for TimesheetRow to ensure correct rendering and functionality.

Co-authored-by: Copilot <copilot@github.com>
- Add UserAvatar wrapper component (src/ui/UserAvatar.tsx) for DRY avatar rendering
- Migrate all Avatar usages across the app to UserAvatar
- Fix /v1/me endpoint to join profilesCollection and return the uploaded avatar URL
- Fix getMembers service to batch-fetch profiles and return avatarUrl per member
- Add memberImages state to MessagesPage to show avatars in DM list and channel member picker
- Fix absolute URL conversion for TimecoreUser.image in getMe API call
- Add ProfileAvatarCropModal for cropping avatar uploads
- Add prune-avatars script to clean up orphaned avatar files (backend/scripts/prune-avatars.ts)
- Fix ProfileAvatarCropModal: remove unused useRef, fix Modal onClose→onOpenChange, type callback params
@Dharp02 Dharp02 self-assigned this May 19, 2026
mfisher31 and others added 22 commits May 19, 2026 20:48
- Add profileMedia.ts helper: profileMediaDir, buildProfileMediaFilename,
  profileMediaUrl, parseProfileMediaUrl
- Rewrite profile.controller.ts to use profileMedia helpers
- Add uploadBackground / deleteBackground controller + routes
- Add backgroundUrl to Profile model, toPublicUser, and /v1/me response
- Add PublicUser.backgroundUrl to frontend types + userApi.uploadBackground
  / deleteBackground / deleteAvatar
- Update ProfilePage hero to show uploaded background with overlay + upload UI
- Rename prune-avatars.ts → prune-profile-media.ts (scans both avatarUrl +
  backgroundUrl)
- Fix timer start timezone bug: pass client tz in startSession API call;
  backend isPreviousDate now uses Intl.DateTimeFormat with timezone to
  correctly determine 'today' in the user's local timezone
- Fix route schema: add tz to /timers/entries/:id/start body properties
  (additionalProperties: false was stripping the tz field)
Restores Tailwind dark-mode gradient classes (dark:from-neutral-900
dark:to-black) that were accidentally replaced with lighter hex values
when the background image feature was added.
tickets: fix problems changing assignee
- Introduced ClockBreak type to manage break entries with metadata.
- Implemented auto-classification for breaks based on duration (rest vs meal).
- Updated compute functions to accurately calculate work and break seconds.
- Refactored clock service methods to utilize new break handling logic.
- Removed deprecated fields from clock events and added migration scripts for data consistency.
- Enhanced tests to cover new break classification logic and ensure accurate time calculations.
- Added AdminTimesheetPanel to display timesheet information in the TeamsPage.

Co-authored-by: Copilot <copilot@github.com>
… models

- Added `clockbreaks` collection to store break intervals as separate documents.
- Updated `ClockEvent` and `ClockBreak` interfaces to reflect the new structure.
- Modified database indexes to support efficient querying of breaks.
- Refactored clock service methods to handle breaks from the new collection.
- Updated API responses to include breaks in the new format.
- Adjusted migration scripts to extract existing breaks from `clockevents` to `clockbreaks`.
- Revised tests to accommodate changes in break handling and notifications.

Co-authored-by: Copilot <copilot@github.com>
… refactor routes for cleaner structure

Co-authored-by: Copilot <copilot@github.com>
…ows-a-banner-until-acknowledged-or-resolved

# Conflicts:
#	src/features/teams/TeamsPage.tsx
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants