Add timezone-safe date handling for mobile API#3200
Merged
gloriafolaron merged 12 commits intomasterfrom Jan 12, 2026
Merged
Conversation
- Add dateString parameter for mobile/API time entry submission - Use user's stored timezone preference instead of session timezone - Add getUserTimezone() helper to fetch timezone from user settings - Support timestamp, dateString, and date formats for flexibility This ensures mobile time entries use the same timezone as the web app, preventing the "different timezone" warning and allowing entries to be editable in the web UI. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add dateString parameter for parsing dates in user's stored timezone - Add getUserTimezone() helper to fetch timezone from settings - Add stopActiveTimer() method for mobile timer functionality - Support dateString in both logTime() and upsertTime() methods This ensures mobile time entries don't trigger timezone warnings in the web UI and remain editable. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
|
|
Add migration 30411 to add 'color' column to zp_canvas table for storing notebook color preferences. Default value is 'ocean'. This supports the Notes plugin color picker feature for both web and mobile app synchronization. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Contributor
Author
|
@marcelfolaron Added database migration (30411) for notebook |
Introduces a `color` column with a default value of 'ocean' to the tasks table definition in the Install repository. This allows tasks to have an associated color attribute.
Removed the dependency on SettingService and the getUserTimezone method from the Timesheets service. Date parsing for 'dateString' now uses dtHelper()->parseUserDateTime for consistency and simplification.
Updated the dbVersion property in AppSettings to reflect the new database version 3.4.11.
Introduced new language entries for the Notes plugin to support filtering, sorting, and additional actions such as duplicate, share, export, and download options.
- Add getTicketPlanHours() to Timesheets repository for getRemainingHours API - Fix code style issues flagged by pint Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add missing PDO use statement for getTicketPlanHours method. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Both FileManagerTest and TicketsServiceTest use dtHelper() which requires session values for timezone, language, and date/time formats. Added session setup in setUp() methods to ensure dtHelper initializes correctly. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The tests use dtHelper() which requires Environment and Language classes to be properly bound in the container. Added: - Environment mock with defaultTimezone and language properties - Language mock with __() method returning date/time formats - CarbonMacros registration for proper date parsing Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
dateStringparameter for mobile/API time entry submissiongetUserTimezone()helper to fetch timezone from user settingsstopActiveTimer()method for mobile timer functionalitydateString,timestamp, anddateformats for flexibilityThis ensures mobile time entries use the same timezone as the web app, preventing the "different timezone" warning and allowing entries to be editable in the web UI.
Test plan
🤖 Generated with Claude Code