Skip to content

Aditya Dhayapulay - Split timer time across assigned tasks - #5784

Open
adit24dhaya wants to merge 2 commits into
developmentfrom
feat/split-timer-session
Open

adit24dhaya wants to merge 2 commits into
developmentfrom
feat/split-timer-session

Conversation

@adit24dhaya

@adit24dhaya adit24dhaya commented Nov 5, 2026 •

Copy link
Copy Markdown
Contributor

Description

Add an optional Worked on multiple tasks? flow to Add Tangible Time Entry. Users can divide the timer total between assigned tasks, with separate descriptions and reference links. The unchecked default keeps the existing single-entry form.

Original task request

HGN Phase I Bugs and Needed Functionalities — Split One Timer Session Across Multiple Assigned Tasks

Original assignment: (PRIORITY HIGH) (FEATURE REQUEST) Aditya Dhayapulay: Split One Timer Session Across Multiple Assigned Tasks, estimated 15 hours.

Task-request-part1-004

Task-request-part2-005

Task-request-visual-006

Related PRS (if any):

Backend: OneCommunityGlobal/HGNRest#2472. Both task branches are required to test split saves; merge the backend first.

Main changes explained:

  • Add task-allocation rows with hours/minutes, live session/allocated/remaining totals, add/remove controls and dark-mode styling.
  • Block empty or duplicate tasks, invalid times and totals that do not match the session.
  • Keep the exact submitted split in local recovery storage, lock uncertain saves, and retry with the same server-issued session key.
  • Recover the original receipt if another tab saved first. Retry timer-stop confirmation without submitting the entries again; leave a newer timer running when recovering an older split.
  • Refresh profile, time entries and task hours after saving.

How to test:

  1. Run this branch with the paired backend and an isolated database. Use an active account with two assigned tasks.
  2. Start and pause a timer after at least two minutes, then open Add Tangible Time Entry.
  3. Verify Worked on multiple tasks? starts unchecked and the usual Project/Task form is available.
  4. Check it, select two different assigned tasks and allocate the displayed session total. Enter at least ten words and an https reference in each description.
  5. Verify under/over-allocation and incomplete rows block submission; adding/removing a third row updates the totals. Check mobile widths and both themes.
  6. Submit and confirm separate task entries. Simulate a lost response and retry/reload: allocations remain, and saved entries are not duplicated. Simulate a missing timer-stop acknowledgement and use Finish timer without another POST.

Validation: 46 frontend tests passed, including existing Timer/TimeEntryForm suites and new recovery/parent-flow checks. 13 browser cases passed across 320/390/768/1280px, both themes, lost responses, stop failure, rejected assignments, receipt recovery and disconnection. Production build, changed-file JS lint and CSS lint passed. Backend validation: 92 passing tests with a disposable local replica set.

Screenshots or videos of changes:

Split allocation - 1280px - light

Split allocation - 1280px - dark

Note:

Splitting is available for the signed-in user's timer entries. Recovery requires browser site storage; the form fails safely before sending if storage is unavailable. Browser tests use real form components with synthetic tasks and mocked API/stop acknowledgements; backend transaction tests use a disposable local MongoDB replica set. No shared data writes, merges or manual deployments were performed.

Implement the Phase I Split One Timer Session Across Multiple Assigned Tasks request. Let users allocate the session total with separate task descriptions, preserve uncertain saves for safe retry and confirm timer completion without reposting entries.

Task: HGN Phase I Bugs and Needed Functionalities, Split One Timer Session Across Multiple Assigned Tasks

Validation: 46 frontend tests, 13 browser cases, production build and changed-file JS/CSS lint.
@netlify

netlify Bot commented Nov 5, 2026 •

Copy link
Copy Markdown

✅ Deploy Preview for highestgoodnetwork-dev ready!

Name Link
🔨 Latest commit 74759d1
🔍 Latest deploy log https://app.netlify.com/projects/highestgoodnetwork-dev/deploys/6aed03bd01630de797210736
😎 Deploy Preview https://deploy-preview-5784--highestgoodnetwork-dev.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
🤖 Make changes Run an agent on this branch

To edit notification comments on pull requests, go to your Netlify project configuration.

Use native status outputs, clarify input label spacing, simplify submit labels and separate form presentation helpers to reduce cognitive complexity. Preserve the existing single-task behavior and split recovery flow.

Validation: 46 passing frontend tests, 13 browser cases, and JS/CSS lint.
@adit24dhaya
adit24dhaya marked this pull request as ready for review November 5, 2026 22:31
@sonarqubecloud

sonarqubecloud Bot commented Nov 5, 2026

Copy link
Copy Markdown

@one-community one-community added the High Priority - Please Review First This is an important PR we'd like to get merged as soon as possible label Nov 6, 2026

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

High Priority - Please Review First This is an important PR we'd like to get merged as soon as possible

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants