{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":154051642,"defaultBranch":"master","name":"Mantis","ownerLogin":"guoyingtao","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2018-10-21T20:57:49.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/26723384?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1714097378.0","currentOid":""},"activityList":{"items":[{"before":"4bf98b5da29ccb479f79000b5a719441806c624a","after":"862bbe6e62fe34e7b6548f704146dafd0d33e3d3","ref":"refs/heads/release-v2.21.1","pushedAt":"2024-04-26T13:10:54.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"chore: release 2.21.1","shortMessageHtmlLink":"chore: release 2.21.1"}},{"before":"2ad632377a099824990e15303c5caf736f73bf91","after":"29b6fec55cfe2d7c5bb59324d0cfb75bd7426c7a","ref":"refs/heads/master","pushedAt":"2024-04-26T13:10:28.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"guoyingtao","name":"Yingtao Guo","path":"/guoyingtao","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26723384?s=80&v=4"},"commit":{"message":"fix: fix undo redo rotation issues when flipped (#396)","shortMessageHtmlLink":"fix: fix undo redo rotation issues when flipped (#396)"}},{"before":"aad3aa680cbf59adb3a93542da21b17a44e518fe","after":"ed8bc33b5206a2743e12b4923f2543e8fbb89fe2","ref":"refs/heads/fix-flip-undoredo-issue","pushedAt":"2024-04-26T02:32:49.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"guoyingtao","name":"Yingtao Guo","path":"/guoyingtao","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26723384?s=80&v=4"},"commit":{"message":"refactor: remove local function getRotationWhenFlipped()","shortMessageHtmlLink":"refactor: remove local function getRotationWhenFlipped()"}},{"before":"0aa49bc4a9b3d9a7d74fc07429a1d5d2b9a6d2dc","after":"aad3aa680cbf59adb3a93542da21b17a44e518fe","ref":"refs/heads/fix-flip-undoredo-issue","pushedAt":"2024-04-26T02:30:21.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"guoyingtao","name":"Yingtao Guo","path":"/guoyingtao","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26723384?s=80&v=4"},"commit":{"message":"fix: update the condition logic for updating newTransform's rotation when flipped","shortMessageHtmlLink":"fix: update the condition logic for updating newTransform's rotation …"}},{"before":null,"after":"0aa49bc4a9b3d9a7d74fc07429a1d5d2b9a6d2dc","ref":"refs/heads/fix-flip-undoredo-issue","pushedAt":"2024-04-26T02:09:38.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"guoyingtao","name":"Yingtao Guo","path":"/guoyingtao","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26723384?s=80&v=4"},"commit":{"message":"fix: fix undo redo rotation issues when flipped","shortMessageHtmlLink":"fix: fix undo redo rotation issues when flipped"}},{"before":"2ad632377a099824990e15303c5caf736f73bf91","after":"4bf98b5da29ccb479f79000b5a719441806c624a","ref":"refs/heads/release-v2.21.1","pushedAt":"2024-04-25T13:22:34.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"chore: release 2.21.1","shortMessageHtmlLink":"chore: release 2.21.1"}},{"before":null,"after":"2ad632377a099824990e15303c5caf736f73bf91","ref":"refs/heads/release-v2.21.1","pushedAt":"2024-04-25T13:22:32.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"fix: fix the rotation issue when undo/redo for a flipped image (#393) (#394)","shortMessageHtmlLink":"fix: fix the rotation issue when undo/redo for a flipped image (#393) ("}},{"before":"b936dd0899b946c0cc261e22335c1cd9c5e8376d","after":"2ad632377a099824990e15303c5caf736f73bf91","ref":"refs/heads/master","pushedAt":"2024-04-25T13:21:44.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"guoyingtao","name":"Yingtao Guo","path":"/guoyingtao","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26723384?s=80&v=4"},"commit":{"message":"fix: fix the rotation issue when undo/redo for a flipped image (#393) (#394)","shortMessageHtmlLink":"fix: fix the rotation issue when undo/redo for a flipped image (#393) ("}},{"before":null,"after":"7679cf46e37374c6ac8eb305341ec92bf866f8f7","ref":"refs/heads/fix-undoredo-flipissue","pushedAt":"2024-04-25T04:54:51.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"guoyingtao","name":"Yingtao Guo","path":"/guoyingtao","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26723384?s=80&v=4"},"commit":{"message":"fix: fix the rotation issue when undo/redo for a flipped image (#393)","shortMessageHtmlLink":"fix: fix the rotation issue when undo/redo for a flipped image (#393)"}},{"before":"ad424c806b50700864be962e85c2845e4ce75180","after":null,"ref":"refs/heads/add-final-to-classes","pushedAt":"2024-04-25T04:50:01.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"guoyingtao","name":"Yingtao Guo","path":"/guoyingtao","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26723384?s=80&v=4"}},{"before":"ccc498ea429774d948a0a8aacacde207f7ffff48","after":"b936dd0899b946c0cc261e22335c1cd9c5e8376d","ref":"refs/heads/master","pushedAt":"2024-04-14T14:14:52.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"guoyingtao","name":"Yingtao Guo","path":"/guoyingtao","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26723384?s=80&v=4"},"commit":{"message":"chore: bump version to 2.21.0","shortMessageHtmlLink":"chore: bump version to 2.21.0"}},{"before":"c0f892c4756eeccbf3544739bfa210b88de1d1eb","after":"ccc498ea429774d948a0a8aacacde207f7ffff48","ref":"refs/heads/master","pushedAt":"2024-04-14T14:08:36.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"guoyingtao","name":"Yingtao Guo","path":"/guoyingtao","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26723384?s=80&v=4"},"commit":{"message":"chore: release 2.21.0 (#388)\n\nCo-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>","shortMessageHtmlLink":"chore: release 2.21.0 (#388)"}},{"before":"6236e9b5eea7f77aff27ca0c974d58c2c18519ad","after":"b0bc81caa2b58d6f9aa0609351e7ea4541fbf3db","ref":"refs/heads/release-v2.21.0","pushedAt":"2024-04-10T02:56:39.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"chore: release 2.21.0","shortMessageHtmlLink":"chore: release 2.21.0"}},{"before":"e08e3419a65a26bc09194684f8d7ccfbcf39e5b4","after":"c0f892c4756eeccbf3544739bfa210b88de1d1eb","ref":"refs/heads/master","pushedAt":"2024-04-10T02:56:13.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"guoyingtao","name":"Yingtao Guo","path":"/guoyingtao","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26723384?s=80&v=4"},"commit":{"message":"fix: fix image zoom center issue (#390)\n\nuse image center as zoom center","shortMessageHtmlLink":"fix: fix image zoom center issue (#390)"}},{"before":null,"after":"a0d73102e3575607dbe041418ffa75f2abdd0783","ref":"refs/heads/fix-zoom-center","pushedAt":"2024-04-10T02:03:58.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"guoyingtao","name":"Yingtao Guo","path":"/guoyingtao","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26723384?s=80&v=4"},"commit":{"message":"fix: fix image zoom center issue\n\nuse image center as zoom center","shortMessageHtmlLink":"fix: fix image zoom center issue"}},{"before":"e08e3419a65a26bc09194684f8d7ccfbcf39e5b4","after":"6236e9b5eea7f77aff27ca0c974d58c2c18519ad","ref":"refs/heads/release-v2.21.0","pushedAt":"2024-03-27T00:50:58.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"chore: release 2.21.0","shortMessageHtmlLink":"chore: release 2.21.0"}},{"before":null,"after":"e08e3419a65a26bc09194684f8d7ccfbcf39e5b4","ref":"refs/heads/release-v2.21.0","pushedAt":"2024-03-27T00:50:57.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"feat: support updating image while cropping (#387)\n\n* feat: allow user to update image while cropping\r\n\r\n* fix: make sure image in the CropView is updated","shortMessageHtmlLink":"feat: support updating image while cropping (#387)"}},{"before":"fac649db1b93a992ae4030fec0b937ed479aa17f","after":"e08e3419a65a26bc09194684f8d7ccfbcf39e5b4","ref":"refs/heads/master","pushedAt":"2024-03-27T00:50:31.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"guoyingtao","name":"Yingtao Guo","path":"/guoyingtao","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26723384?s=80&v=4"},"commit":{"message":"feat: support updating image while cropping (#387)\n\n* feat: allow user to update image while cropping\r\n\r\n* fix: make sure image in the CropView is updated","shortMessageHtmlLink":"feat: support updating image while cropping (#387)"}},{"before":null,"after":"62650c838f3ce82cf04dc3425710d236d9d5f3c1","ref":"refs/heads/changeImage-whileCropping","pushedAt":"2024-03-26T17:50:13.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"guoyingtao","name":"Yingtao Guo","path":"/guoyingtao","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26723384?s=80&v=4"},"commit":{"message":"fix: make sure image in the CropView is updated","shortMessageHtmlLink":"fix: make sure image in the CropView is updated"}},{"before":"8444856d23b21ebac8f1114fe2351492587b5c69","after":"fac649db1b93a992ae4030fec0b937ed479aa17f","ref":"refs/heads/master","pushedAt":"2024-03-25T14:08:14.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"guoyingtao","name":"Yingtao Guo","path":"/guoyingtao","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26723384?s=80&v=4"},"commit":{"message":"chore: bump version to 2.2.0.0","shortMessageHtmlLink":"chore: bump version to 2.2.0.0"}},{"before":"1c25b0964f26edb7917de461a0b3731f9e7f8107","after":"8444856d23b21ebac8f1114fe2351492587b5c69","ref":"refs/heads/master","pushedAt":"2024-03-25T14:04:17.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"guoyingtao","name":"Yingtao Guo","path":"/guoyingtao","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26723384?s=80&v=4"},"commit":{"message":"chore: release 2.20.0 (#383)\n\nCo-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>","shortMessageHtmlLink":"chore: release 2.20.0 (#383)"}},{"before":"fce162ce38ed3ebcdf34cc0f4b00890571c867d8","after":"27aa2a1b20781b038c92d28be44378a57aa552f1","ref":"refs/heads/release-v2.20.0","pushedAt":"2024-03-25T03:54:25.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"chore: release 2.20.0","shortMessageHtmlLink":"chore: release 2.20.0"}},{"before":"9a1e67af3e7d078d4629d43997d4248d2c4cf7a1","after":"1c25b0964f26edb7917de461a0b3731f9e7f8107","ref":"refs/heads/master","pushedAt":"2024-03-25T03:54:03.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"guoyingtao","name":"Yingtao Guo","path":"/guoyingtao","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26723384?s=80&v=4"},"commit":{"message":"refactor: update CropToolbarDelegate and remove warnings (#384)\n\n* refactor: update CropToolbarProtocol\r\n\r\nremove toolbarDelegate in EmbededCropViewController\r\n\r\n* refactor: remove warnings\r\n\r\n* chore: stop supporting iOS 11.0\r\n\r\nremove more warnings\r\n\r\n* chore: restore public init for Transformation","shortMessageHtmlLink":"refactor: update CropToolbarDelegate and remove warnings (#384)"}},{"before":"4ed88671efb157a947e5c138a8803d37df454752","after":"d1aeecf29f3ede997e40ba68427e4221f0623efc","ref":"refs/heads/improve-remove-warnings","pushedAt":"2024-03-24T15:47:19.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"guoyingtao","name":"Yingtao Guo","path":"/guoyingtao","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26723384?s=80&v=4"},"commit":{"message":"chore: restore public init for Transformation","shortMessageHtmlLink":"chore: restore public init for Transformation"}},{"before":"7078ea68900997374812a5b9e898d9387f8eef30","after":"4ed88671efb157a947e5c138a8803d37df454752","ref":"refs/heads/improve-remove-warnings","pushedAt":"2024-03-24T15:44:25.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"guoyingtao","name":"Yingtao Guo","path":"/guoyingtao","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26723384?s=80&v=4"},"commit":{"message":"chore: stop supporting iOS 11.0\n\nremove more warnings","shortMessageHtmlLink":"chore: stop supporting iOS 11.0"}},{"before":"514027c2402eba6187a13132b5a8f2023188b1cc","after":"7078ea68900997374812a5b9e898d9387f8eef30","ref":"refs/heads/improve-remove-warnings","pushedAt":"2024-03-24T15:29:17.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"guoyingtao","name":"Yingtao Guo","path":"/guoyingtao","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26723384?s=80&v=4"},"commit":{"message":"refactor: remove warnings","shortMessageHtmlLink":"refactor: remove warnings"}},{"before":null,"after":"514027c2402eba6187a13132b5a8f2023188b1cc","ref":"refs/heads/improve-remove-warnings","pushedAt":"2024-03-24T15:11:58.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"guoyingtao","name":"Yingtao Guo","path":"/guoyingtao","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26723384?s=80&v=4"},"commit":{"message":"refactor: update CropToolbarProtocol\n\nremove toolbarDelegate in EmbededCropViewController","shortMessageHtmlLink":"refactor: update CropToolbarProtocol"}},{"before":"9a1e67af3e7d078d4629d43997d4248d2c4cf7a1","after":"fce162ce38ed3ebcdf34cc0f4b00890571c867d8","ref":"refs/heads/release-v2.20.0","pushedAt":"2024-03-24T14:59:42.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"chore: release 2.20.0","shortMessageHtmlLink":"chore: release 2.20.0"}},{"before":null,"after":"9a1e67af3e7d078d4629d43997d4248d2c4cf7a1","ref":"refs/heads/release-v2.20.0","pushedAt":"2024-03-24T14:59:41.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"feat: Undo/Redo Feature for Mantis (#379)\n\n* Undo/Redo Feature for Mantis\r\n\r\n* Addressing comments in PR\r\n\r\n* Add MantisExampleTests target back to project - somehow got deleted.\r\n\r\n* Adressing Comments in Chante List:\r\n- added \"enableUndo\" flag in Config\r\n- undo/redo/reset logic checks the \"enableUndo\" flag in cropViewController to enable functionality\r\n- abstracted the TransformRecord logic into the CropViewController class\r\n- removed UIButtons from TransformDelegate\r\n- moved TransformDelegate in to new file in the Protocols folder\r\n\r\n* added logic to validate the Catalyst menus (disable undo menus when \"enableUndo\" is false in Config file.\r\n\r\n* Address latest round of comments\r\n- More private variables.\r\n- Embedded controller uses proxy functions to communicate with CropViewController state.\r\n- Defaults function implementations in delegate methods.\r\n\r\n* Rename some delegate methods:\r\ncropViewControllerDidEnableUndo -> cropViewControllerDidUpdateEnableStateForUndo\r\ncropViewControllerDidEnableRedo -> cropViewControllerDidUpdateEnableStateForRedo\r\ncropViewControllerDidEnableReset -> cropViewControllerDidUpdateEnableStateForReset\r\n\r\n* TransformStack private now\r\n\r\n* changed actionString declaration.\r\n\r\n* removed unwanted space\r\n\r\n* Removed some old code, that was not needed anymore when the function signature changed.\r\n\r\n* removed func cropViewControllerDidImageTransformed(_ cropViewController: CropViewController) from CropViewControllerDelegate\r\n\r\n* Remove spaces\r\n\r\n* removed public from some data types:\r\nTransformType\r\nTransformRecord\r\nTransformStack\r\n\r\n* TransformDelegate methods no longer public\r\n\r\n* moved opening brackets up to end of function declarations\r\n\r\n* removed public modifier in all variables and function signatures in TransformRecord\r\n\r\n* removed public modifier from all variables and function signatures in TransformStack\r\n\r\n* Placeholder localization strings for \"Change Crop\" and \"Reset Changes\"\r\n\r\n* Localized \"Change Crop\" and \"Reset Changes\" using Google Translate.\r\n\r\n* updated the README.md file to describe Undo/Redo support.\r\n\r\n* Changed Chinese language localization strings\r\n\r\n* Refactoring work:\r\n- rename TransformDelegate methods\r\n- make TransformStack init a private method\r\n\r\n* - Fixed a localization bug\r\n- Removed a dead deprecation directive\r\n\r\n* cleaned up property list for TransformRecord\r\n\r\n* made dictionary passed to TransformRecord have strong type in value field\r\n\r\n* changed transformDelegate to an optional\r\n\r\n* made private some variables in TransformStack\r\n\r\n* Add new files to Mantis.xcodeproj:\r\n- TransformStack.swift\r\n- TransformRecord.swift\r\n- TransformDelegate.swift\r\n\r\n* remove dead code\r\n\r\n* Rename delegate methods in CropViewControllerDelegate:\r\n- cropViewControllerDidUpdateEnableStateForUndo(_ enable: Bool) -> cropViewController(_ cropViewController: CropViewController, didUpdateEnableStateForUndo enable: Bool)\r\n\r\n- cropViewControllerDidUpdateEnableStateForRedo(_ enable: Bool) -> cropViewController(_ cropViewController: CropViewController, didUpdateEnableStateForRedo enable: Bool)\r\n\r\n- cropViewControllerDidUpdateEnableStateForReset(_ enable: Bool) -> cropViewController(_ cropViewController: CropViewController, didUpdateEnableStateForReset enable: Bool)\r\n\r\n* Remove blanl line\r\n\r\n* Simplify an optional value boolean test\r\n\r\n* Remove three unused variables from TransformStack\r\n\r\n* Address a SwiftLint warning in TransformRecord\r\n\r\n* Address a SwiftLint warning in TransformRecord\r\n\r\n* Fixed Unit Tests in Mantis.xcodeproj related to new API for undo/redo feature.\r\n\r\n* remove first call to transform() in applyCropState() and just set the viewModel's cropBoxFrame to the transform.maskFrame\r\n\r\n* moved function \"pushTransformRecordOntoStack\" out of CropViewController and in to TransformStack class\r\n\r\n* added bounds check in TransformStack.popTransformStack()\r\n\r\n* added Unit Test for TransformStack\r\n\r\n* Updated TransformStack Unit Test.","shortMessageHtmlLink":"feat: Undo/Redo Feature for Mantis (#379)"}},{"before":"3cc370772fcc38046901110af6df818866e6b47f","after":"9a1e67af3e7d078d4629d43997d4248d2c4cf7a1","ref":"refs/heads/master","pushedAt":"2024-03-24T14:59:20.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"guoyingtao","name":"Yingtao Guo","path":"/guoyingtao","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/26723384?s=80&v=4"},"commit":{"message":"feat: Undo/Redo Feature for Mantis (#379)\n\n* Undo/Redo Feature for Mantis\r\n\r\n* Addressing comments in PR\r\n\r\n* Add MantisExampleTests target back to project - somehow got deleted.\r\n\r\n* Adressing Comments in Chante List:\r\n- added \"enableUndo\" flag in Config\r\n- undo/redo/reset logic checks the \"enableUndo\" flag in cropViewController to enable functionality\r\n- abstracted the TransformRecord logic into the CropViewController class\r\n- removed UIButtons from TransformDelegate\r\n- moved TransformDelegate in to new file in the Protocols folder\r\n\r\n* added logic to validate the Catalyst menus (disable undo menus when \"enableUndo\" is false in Config file.\r\n\r\n* Address latest round of comments\r\n- More private variables.\r\n- Embedded controller uses proxy functions to communicate with CropViewController state.\r\n- Defaults function implementations in delegate methods.\r\n\r\n* Rename some delegate methods:\r\ncropViewControllerDidEnableUndo -> cropViewControllerDidUpdateEnableStateForUndo\r\ncropViewControllerDidEnableRedo -> cropViewControllerDidUpdateEnableStateForRedo\r\ncropViewControllerDidEnableReset -> cropViewControllerDidUpdateEnableStateForReset\r\n\r\n* TransformStack private now\r\n\r\n* changed actionString declaration.\r\n\r\n* removed unwanted space\r\n\r\n* Removed some old code, that was not needed anymore when the function signature changed.\r\n\r\n* removed func cropViewControllerDidImageTransformed(_ cropViewController: CropViewController) from CropViewControllerDelegate\r\n\r\n* Remove spaces\r\n\r\n* removed public from some data types:\r\nTransformType\r\nTransformRecord\r\nTransformStack\r\n\r\n* TransformDelegate methods no longer public\r\n\r\n* moved opening brackets up to end of function declarations\r\n\r\n* removed public modifier in all variables and function signatures in TransformRecord\r\n\r\n* removed public modifier from all variables and function signatures in TransformStack\r\n\r\n* Placeholder localization strings for \"Change Crop\" and \"Reset Changes\"\r\n\r\n* Localized \"Change Crop\" and \"Reset Changes\" using Google Translate.\r\n\r\n* updated the README.md file to describe Undo/Redo support.\r\n\r\n* Changed Chinese language localization strings\r\n\r\n* Refactoring work:\r\n- rename TransformDelegate methods\r\n- make TransformStack init a private method\r\n\r\n* - Fixed a localization bug\r\n- Removed a dead deprecation directive\r\n\r\n* cleaned up property list for TransformRecord\r\n\r\n* made dictionary passed to TransformRecord have strong type in value field\r\n\r\n* changed transformDelegate to an optional\r\n\r\n* made private some variables in TransformStack\r\n\r\n* Add new files to Mantis.xcodeproj:\r\n- TransformStack.swift\r\n- TransformRecord.swift\r\n- TransformDelegate.swift\r\n\r\n* remove dead code\r\n\r\n* Rename delegate methods in CropViewControllerDelegate:\r\n- cropViewControllerDidUpdateEnableStateForUndo(_ enable: Bool) -> cropViewController(_ cropViewController: CropViewController, didUpdateEnableStateForUndo enable: Bool)\r\n\r\n- cropViewControllerDidUpdateEnableStateForRedo(_ enable: Bool) -> cropViewController(_ cropViewController: CropViewController, didUpdateEnableStateForRedo enable: Bool)\r\n\r\n- cropViewControllerDidUpdateEnableStateForReset(_ enable: Bool) -> cropViewController(_ cropViewController: CropViewController, didUpdateEnableStateForReset enable: Bool)\r\n\r\n* Remove blanl line\r\n\r\n* Simplify an optional value boolean test\r\n\r\n* Remove three unused variables from TransformStack\r\n\r\n* Address a SwiftLint warning in TransformRecord\r\n\r\n* Address a SwiftLint warning in TransformRecord\r\n\r\n* Fixed Unit Tests in Mantis.xcodeproj related to new API for undo/redo feature.\r\n\r\n* remove first call to transform() in applyCropState() and just set the viewModel's cropBoxFrame to the transform.maskFrame\r\n\r\n* moved function \"pushTransformRecordOntoStack\" out of CropViewController and in to TransformStack class\r\n\r\n* added bounds check in TransformStack.popTransformStack()\r\n\r\n* added Unit Test for TransformStack\r\n\r\n* Updated TransformStack Unit Test.","shortMessageHtmlLink":"feat: Undo/Redo Feature for Mantis (#379)"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEOyyN6wA","startCursor":null,"endCursor":null}},"title":"Activity · guoyingtao/Mantis"}