feat(imp): handle COUNTER accept/decline workflows and proposal updates#67
Merged
Merged
Conversation
* add counter accept/decline actions for iTIP viewer/request handler * update attendee state with proposal persistence on counter flows * add unit tests for counter accept/decline/update action paths
ralflang
requested changes
Jun 18, 2026
Catch Horde_Exception with logging on counter-decline, use HordeString in DECLINECOUNTER mail body, and import Variables in test stub.
Contributor
Author
|
PR adapted. |
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
Horde_Exceptionwith logging on counter-decline errorsHordeStringinstead of legacyHorde_Stringin DECLINECOUNTER mail bodyuseimport forVariablesin the ItipRequest test stubMotivation
Review on #67 requested tighter exception handling, modern string API usage, and import style in new code.
Changes
lib/Ajax/Imple/ItipRequest.phpcounter-decline: catchHorde_Exceptioninstead ofException; log viaHorde::log($e, Horde_Log::ERR)before user notification_sendDeclineCounter():HordeString::wrap()withuse Horde\Util\HordeStringExpected exceptions on counter-decline:
Horde_Exception— missing attendee address, identity lookup, MIME assembly/send failurestest/Imp/Stub/ItipRequest.phpuse Horde\Util\Variablesfor thehandle()union type parameterTest plan
vendor/bin/phpunit -c phpunit.xml.dist test/Imp/Unit/Ajax/Imple/ItipRequestCounterTest.phpReview responses
Exceptionwithout loggingHorde_Exception; log withHorde::log()before notificationHordeStringoverHorde_StringHordeString::wrap()in_sendDeclineCounter()useinstead of FQCN in stubuse Horde\Util\Variables