Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Entering Due Date Of New TODO Throws Error / Fails To Save #2972

Closed
compumatter opened this issue Mar 4, 2025 · 3 comments
Closed

Entering Due Date Of New TODO Throws Error / Fails To Save #2972

compumatter opened this issue Mar 4, 2025 · 3 comments
Assignees
Milestone

Comments

@compumatter
Copy link
Contributor

compumatter commented Mar 4, 2025

What is your set up?

Self Hosted Server

Version

3.4.3

Describe the issue

When adding a new or editing an existing 'todo' and only IF you enter a Due Date, the record fails to save and throws a message: server error
Image

Video shows it in action:
https://www.youtube.com/watch?v=s_puk6c7jjY

Error Logs (LEANTIMEFOLDER/storage/logs)

However I do not see anything in my nginx or php error logs.
I do see this in the browser console log:
compiled-frameworks.3.4.3.min.js:1 POST https://projects.compumatter.biz/tickets/showTicket/781 500 (Internal Server Error)

@marcelfolaron
Copy link
Contributor

I know you mentioned in the video that there are no logs but could you set LEAN_DEBUG to 1 in your config and check storage/logs/ again? I cannot reproduce this on my local machine for some reasons.

@compumatter
Copy link
Contributor Author

compumatter commented Mar 7, 2025

Well that sure gave me plenty to look at :-)

This console message as before:
Failed to load resource: the server responded with a status of 500 () /tickets/showTicket/781:1

This debug / trace message on the screen

{ "message": "Undefined constant DateTime::ISO8601_EXPANDED", "exception": "Error", "file": "/SM_DATA/web_projects/public_html/app/Core/Support/DateTimeHelper.php", "line": 93, "trace": [ { "file": "/SM_DATA/web_projects/public_html/app/Domain/Tickets/Services/Tickets.php", "line": 2300, "function": "parseUserDateTime", "class": "Leantime\\Core\\Support\\DateTimeHelper", "type": "->" }, { "file": "/SM_DATA/web_projects/public_html/app/Domain/Tickets/Services/Tickets.php", "line": 1549, "function": "prepareTicketDates", "class": "Leantime\\Domain\\Tickets\\Services\\Tickets", "type": "->" }, { "file": "/SM_DATA/web_projects/public_html/app/Domain/Tickets/Controllers/ShowTicket.php", "line": 236, "function": "updateTicket", "class": "Leantime\\Domain\\Tickets\\Services\\Tickets", "type": "->" }, { "file": "/SM_DATA/web_projects/public_html/app/Core/Controller/Controller.php", "line": 73, "function": "post", "class": "Leantime\\Domain\\Tickets\\Controllers\\ShowTicket", "type": "->" }, { "file": "/SM_DATA/web_projects/public_html/app/Core/Controller/Frontcontroller.php", "line": 184, "function": "callAction", "class": "Leantime\\Core\\Controller\\Controller", "type": "->" }, { "file": "/SM_DATA/web_projects/public_html/app/Core/Controller/Frontcontroller.php", "line": 83, "function": "executeAction", "class": "Leantime\\Core\\Controller\\Frontcontroller", "type": "->" }, { "file": "/SM_DATA/web_projects/public_html/app/Core/Controller/Frontcontroller.php", "line": 91, "function": "dispatch", "class": "Leantime\\Core\\Controller\\Frontcontroller", "type": "->" }, { "file": "/SM_DATA/web_projects/public_html/app/Core/Http/HttpKernel.php", "line": 143, "function": "dispatch_request", "class": "Leantime\\Core\\Controller\\Frontcontroller", "type": "::" }, { "file": "/SM_DATA/web_projects/public_html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php", "line": 144, "function": "Leantime\\Core\\Http\\{closure}", "class": "Leantime\\Core\\Http\\HttpKernel", "type": "->" }, { "file": "/SM_DATA/web_projects/public_html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php", "line": 119, "function": "Illuminate\\Pipeline\\{closure}", "class": "Illuminate\\Pipeline\\Pipeline", "type": "->" }, { "file": "/SM_DATA/web_projects/public_html/app/Core/Http/HttpKernel.php", "line": 143, "function": "then", "class": "Illuminate\\Pipeline\\Pipeline", "type": "->" }, { "file": "/SM_DATA/web_projects/public_html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php", "line": 144, "function": "Leantime\\Core\\Http\\{closure}", "class": "Leantime\\Core\\Http\\HttpKernel", "type": "->" }, { "file": "/SM_DATA/web_projects/public_html/app/Core/Middleware/Localization.php", "line": 62, "function": "Illuminate\\Pipeline\\{closure}", "class": "Illuminate\\Pipeline\\Pipeline", "type": "->" }, { "file": "/SM_DATA/web_projects/public_html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php", "line": 183, "function": "handle", "class": "Leantime\\Core\\Middleware\\Localization", "type": "->" }, { "file": "/SM_DATA/web_projects/public_html/app/Core/Middleware/SetCacheHeaders.php", "line": 57, "function": "Illuminate\\Pipeline\\{closure}", "class": "Illuminate\\Pipeline\\Pipeline", "type": "->" }, { "file": "/SM_DATA/web_projects/public_html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php", "line": 183, "function": "handle", "class": "Leantime\\Core\\Middleware\\SetCacheHeaders", "type": "->" }, { "file": "/SM_DATA/web_projects/public_html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php", "line": 21, "function": "Illuminate\\Pipeline\\{closure}", "class": "Illuminate\\Pipeline\\Pipeline", "type": "->" }, { "file": "/SM_DATA/web_projects/public_html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php", "line": 31, "function": "handle", "class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest", "type": "->" }, { "file": "/SM_DATA/web_projects/public_html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php", "line": 183, "function": "handle", "class": "Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull", "type": "->" }, { "file": "/SM_DATA/web_projects/public_html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php", "line": 21, "function": "Illuminate\\Pipeline\\{closure}", "class": "Illuminate\\Pipeline\\Pipeline", "type": "->" }, { "file": "/SM_DATA/web_projects/public_html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php", "line": 40, "function": "handle", "class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest", "type": "->" }, { "file": "/SM_DATA/web_projects/public_html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php", "line": 183, "function": "handle", "class": "Illuminate\\Foundation\\Http\\Middleware\\TrimStrings", "type": "->" }, { "file": "/SM_DATA/web_projects/public_html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php", "line": 27, "function": "Illuminate\\Pipeline\\{closure}", "class": "Illuminate\\Pipeline\\Pipeline", "type": "->" }, { "file": "/SM_DATA/web_projects/public_html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php", "line": 183, "function": "handle", "class": "Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize", "type": "->" }, { "file": "/SM_DATA/web_projects/public_html/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php", "line": 49, "function": "Illuminate\\Pipeline\\{closure}", "class": "Illuminate\\Pipeline\\Pipeline", "type": "->" }, { "file": "/SM_DATA/web_projects/public_html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php", "line": 183, "function": "handle", "class": "Illuminate\\Http\\Middleware\\HandleCors", "type": "->" }, { "file": "/SM_DATA/web_projects/public_html/app/Core/Middleware/RequestRateLimiter.php", "line": 62, "function": "Illuminate\\Pipeline\\{closure}", "class": "Illuminate\\Pipeline\\Pipeline", "type": "->" }, { "file": "/SM_DATA/web_projects/public_html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php", "line": 183, "function": "handle", "class": "Leantime\\Core\\Middleware\\RequestRateLimiter", "type": "->" }, { "file": "/SM_DATA/web_projects/public_html/app/Core/Middleware/AuthenticateSession.php", "line": 38, "function": "Illuminate\\Pipeline\\{closure}", "class": "Illuminate\\Pipeline\\Pipeline", "type": "->" }, { "file": "/SM_DATA/web_projects/public_html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php", "line": 183, "function": "handle", "class": "Leantime\\Core\\Middleware\\AuthenticateSession", "type": "->" }, { "file": "/SM_DATA/web_projects/public_html/app/Core/Middleware/AuthCheck.php", "line": 78, "function": "Illuminate\\Pipeline\\{closure}", "class": "Illuminate\\Pipeline\\Pipeline", "type": "->" }, { "file": "/SM_DATA/web_projects/public_html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php", "line": 183, "function": "handle", "class": "Leantime\\Core\\Middleware\\AuthCheck", "type": "->" }, { "file": "/SM_DATA/web_projects/public_html/app/Core/Middleware/InitialHeaders.php", "line": 24, "function": "Illuminate\\Pipeline\\{closure}", "class": "Illuminate\\Pipeline\\Pipeline", "type": "->" }, { "file": "/SM_DATA/web_projects/public_html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php", "line": 183, "function": "handle", "class": "Leantime\\Core\\Middleware\\InitialHeaders", "type": "->" }, { "file": "/SM_DATA/web_projects/public_html/app/Core/Middleware/TrustProxies.php", "line": 75, "function": "Illuminate\\Pipeline\\{closure}", "class": "Illuminate\\Pipeline\\Pipeline", "type": "->" }, { "file": "/SM_DATA/web_projects/public_html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php", "line": 183, "function": "handle", "class": "Leantime\\Core\\Middleware\\TrustProxies", "type": "->" }, { "file": "/SM_DATA/web_projects/public_html/app/Core/Middleware/LoadPlugins.php", "line": 32, "function": "Illuminate\\Pipeline\\{closure}", "class": "Illuminate\\Pipeline\\Pipeline", "type": "->" }, { "file": "/SM_DATA/web_projects/public_html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php", "line": 183, "function": "handle", "class": "Leantime\\Core\\Middleware\\LoadPlugins", "type": "->" }, { "file": "/SM_DATA/web_projects/public_html/app/Core/Middleware/Updated.php", "line": 41, "function": "Illuminate\\Pipeline\\{closure}", "class": "Illuminate\\Pipeline\\Pipeline", "type": "->" }, { "file": "/SM_DATA/web_projects/public_html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php", "line": 183, "function": "handle", "class": "Leantime\\Core\\Middleware\\Updated", "type": "->" }, { "file": "/SM_DATA/web_projects/public_html/app/Core/Middleware/Installed.php", "line": 60, "function": "Illuminate\\Pipeline\\{closure}", "class": "Illuminate\\Pipeline\\Pipeline", "type": "->" }, { "file": "/SM_DATA/web_projects/public_html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php", "line": 183, "function": "handle", "class": "Leantime\\Core\\Middleware\\Installed", "type": "->" }, { "file": "/SM_DATA/web_projects/public_html/app/Core/Middleware/StartSession.php", "line": 134, "function": "Illuminate\\Pipeline\\{closure}", "class": "Illuminate\\Pipeline\\Pipeline", "type": "->" }, { "file": "/SM_DATA/web_projects/public_html/app/Core/Middleware/StartSession.php", "line": 101, "function": "handleStatefulRequest", "class": "Leantime\\Core\\Middleware\\StartSession", "type": "->" }, { "file": "/SM_DATA/web_projects/public_html/app/Core/Middleware/StartSession.php", "line": 70, "function": "handleRequestWhileBlocking", "class": "Leantime\\Core\\Middleware\\StartSession", "type": "->" }, { "file": "/SM_DATA/web_projects/public_html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php", "line": 183, "function": "handle", "class": "Leantime\\Core\\Middleware\\StartSession", "type": "->" }, { "file": "/SM_DATA/web_projects/public_html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php", "line": 119, "function": "Illuminate\\Pipeline\\{closure}", "class": "Illuminate\\Pipeline\\Pipeline", "type": "->" }, { "file": "/SM_DATA/web_projects/public_html/app/Core/Http/HttpKernel.php", "line": 144, "function": "then", "class": "Illuminate\\Pipeline\\Pipeline", "type": "->" }, { "file": "/SM_DATA/web_projects/public_html/app/Core/Http/HttpKernel.php", "line": 154, "function": "sendRequestThroughRouter", "class": "Leantime\\Core\\Http\\HttpKernel", "type": "->" }, { "file": "/SM_DATA/web_projects/public_html/app/Core/Bootloader.php", "line": 87, "function": "handle", "class": "Leantime\\Core\\Http\\HttpKernel", "type": "->" }, { "file": "/SM_DATA/web_projects/public_html/app/Core/Bootloader.php", "line": 68, "function": "handleRequest", "class": "Leantime\\Core\\Bootloader", "type": "->" }, { "file": "/SM_DATA/web_projects/public_html/public/index.php", "line": 14, "function": "boot", "class": "Leantime\\Core\\Bootloader", "type": "->" } ] }

@marcelfolaron
Copy link
Contributor

Thank you! Seems someone else was running into the same issue. (#2970) As it turns out the PHP constant DateTime::ISO8601_EXPANDED was added in PHP 8.2 and was not available in previous versions. I will add a fallback for that but generally speaking Leantime will now require 8.2 as the min PHP version given several language features we are already using.

Can you try to update PHP and see if that solves the issue?

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

No branches or pull requests

2 participants