{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":23129458,"defaultBranch":"main","name":"aseprite","ownerLogin":"aseprite","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2014-08-19T23:44:50.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/3853896?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1712668654.0","currentOid":""},"activityList":{"items":[{"before":"f0cb9bd17198dcd152679101f3b8ee7f1a8e98b2","after":"c4380d90aae7162fa8a7d4b5f8a08181b269b0d1","ref":"refs/heads/beta","pushedAt":"2024-05-03T22:20:50.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dacap","name":"David Capello","path":"/dacap","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39654?s=80&v=4"},"commit":{"message":"Use Widget's cached TextBlob in Theme::measureLayer()","shortMessageHtmlLink":"Use Widget's cached TextBlob in Theme::measureLayer()"}},{"before":"7de9efcc6063a3167fbc852623032b7c4b04a47c","after":"f0cb9bd17198dcd152679101f3b8ee7f1a8e98b2","ref":"refs/heads/beta","pushedAt":"2024-05-03T19:48:14.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"dacap","name":"David Capello","path":"/dacap","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39654?s=80&v=4"},"commit":{"message":"Mark ui::Graphics::drawText() that use text::DrawTextDelegate as deprecated","shortMessageHtmlLink":"Mark ui::Graphics::drawText() that use text::DrawTextDelegate as depr…"}},{"before":"2942abae3ec2cd280c988308963f6c340ced29fe","after":"92edd5f70059a03af90e461156284a9388d66bdb","ref":"refs/heads/main","pushedAt":"2024-05-03T15:01:48.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"dacap","name":"David Capello","path":"/dacap","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39654?s=80&v=4"},"commit":{"message":"Add Brush::clone() functions to fix/simplify some Brush-related code\n\nThis refactor includes:\n\n- In Lua now we can clone a custom brush with Brush(Image) and the new\n brush doesn't share the image with the original one (added a new test\n for this).\n\n- Avoid creating extra images when it's not needed using\n Brush::cloneWithExistingImages() (we can inject existing images in\n the brush itself).\n\n- Delete Brush-copy contructor & assign operator to use\n Brush::clone() functions instead (which are more explicit).\n\n- Some code from 12d81352647e96c8ac6d70e4a252c37ce5a29ade (#4023)\n reverted to avoid recreating brushes on left-click or in the brush\n preview, i.e. moving the mouse (#4013 refers only to right-click, so\n only on right-click we have to adjust the custom brush).","shortMessageHtmlLink":"Add Brush::clone() functions to fix/simplify some Brush-related code"}},{"before":"648ff61d1abe5def7a28c415fd472a315a457bae","after":"2942abae3ec2cd280c988308963f6c340ced29fe","ref":"refs/heads/main","pushedAt":"2024-04-26T21:16:44.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dacap","name":"David Capello","path":"/dacap","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39654?s=80&v=4"},"commit":{"message":"Fix get-ninja action","shortMessageHtmlLink":"Fix get-ninja action"}},{"before":"c904a78994857c7a0d049a14233551ad11ec2807","after":"7de9efcc6063a3167fbc852623032b7c4b04a47c","ref":"refs/heads/beta","pushedAt":"2024-04-25T19:15:49.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dacap","name":"David Capello","path":"/dacap","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39654?s=80&v=4"},"commit":{"message":"Calculate underline position using FontMetrics","shortMessageHtmlLink":"Calculate underline position using FontMetrics"}},{"before":"422d74a271e43c6f8846c09bed6a993b1d097ff1","after":"c904a78994857c7a0d049a14233551ad11ec2807","ref":"refs/heads/beta","pushedAt":"2024-04-23T18:41:26.000Z","pushType":"push","commitsCount":12,"pusher":{"login":"dacap","name":"David Capello","path":"/dacap","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39654?s=80&v=4"},"commit":{"message":"Merge branch 'main' into beta","shortMessageHtmlLink":"Merge branch 'main' into beta"}},{"before":"5ad969466b4636839fd620bc9c64ffcf798e15ac","after":"422d74a271e43c6f8846c09bed6a993b1d097ff1","ref":"refs/heads/beta","pushedAt":"2024-04-23T18:03:40.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"dacap","name":"David Capello","path":"/dacap","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39654?s=80&v=4"},"commit":{"message":"Replace jpeglib with libjpeg-turbo","shortMessageHtmlLink":"Replace jpeglib with libjpeg-turbo"}},{"before":"4d18200b0c6a1c557d4f05f757bc264338104aa9","after":"648ff61d1abe5def7a28c415fd472a315a457bae","ref":"refs/heads/main","pushedAt":"2024-04-22T22:00:08.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"dacap","name":"David Capello","path":"/dacap","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39654?s=80&v=4"},"commit":{"message":"Update laf module","shortMessageHtmlLink":"Update laf module"}},{"before":"d1ea2eaff150aea24b1abd10547d1e6594bbcd84","after":"4d18200b0c6a1c557d4f05f757bc264338104aa9","ref":"refs/heads/main","pushedAt":"2024-04-22T15:14:42.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dacap","name":"David Capello","path":"/dacap","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39654?s=80&v=4"},"commit":{"message":"[lua] Fix bugs handling errors inside app.transaction()\n\nThis errors was reported in #4431: The Tx wasn't rolled back correctly\nin case of a Lua error inside the transaction because Lua needs to be\ncompiled as C++ to avoid longjmps and support stack\nunwinding (i.e. calling destructors).","shortMessageHtmlLink":"[lua] Fix bugs handling errors inside app.transaction()"}},{"before":"f64e8065e7a24ff4172544f937f37fa5e3846e63","after":"d1ea2eaff150aea24b1abd10547d1e6594bbcd84","ref":"refs/heads/main","pushedAt":"2024-04-22T02:04:12.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"dacap","name":"David Capello","path":"/dacap","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39654?s=80&v=4"},"commit":{"message":"Avoid warnings about redefining LUA_USE_WINDOWS","shortMessageHtmlLink":"Avoid warnings about redefining LUA_USE_WINDOWS"}},{"before":"a6d9e5243fececa99c10c17d8f7c4ae03a1baf1d","after":"5ad969466b4636839fd620bc9c64ffcf798e15ac","ref":"refs/heads/beta","pushedAt":"2024-04-19T18:44:03.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dacap","name":"David Capello","path":"/dacap","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39654?s=80&v=4"},"commit":{"message":"[win] Insert emojis with Windows key + . (period) correctly","shortMessageHtmlLink":"[win] Insert emojis with Windows key + . (period) correctly"}},{"before":"99e6e7bd8256cfdbb0d0c3b0ab28098ddb8a038a","after":"f64e8065e7a24ff4172544f937f37fa5e3846e63","ref":"refs/heads/main","pushedAt":"2024-04-15T14:50:02.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dacap","name":"David Capello","path":"/dacap","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39654?s=80&v=4"},"commit":{"message":"Update laf module","shortMessageHtmlLink":"Update laf module"}},{"before":"d886e20f6cd40a8f26ad6427c869ed4e5f93f0cd","after":"99e6e7bd8256cfdbb0d0c3b0ab28098ddb8a038a","ref":"refs/heads/main","pushedAt":"2024-04-12T13:42:25.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dacap","name":"David Capello","path":"/dacap","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39654?s=80&v=4"},"commit":{"message":"Fix nested tag with \"Ping-Pong\" repeat mode causes to skip the first frame of the parent tag (fix #4271)","shortMessageHtmlLink":"Fix nested tag with \"Ping-Pong\" repeat mode causes to skip the first …"}},{"before":"6a12c7014de0d2eb5803f369e9025d43fa71527e","after":"d886e20f6cd40a8f26ad6427c869ed4e5f93f0cd","ref":"refs/heads/main","pushedAt":"2024-04-10T16:14:15.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dacap","name":"David Capello","path":"/dacap","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39654?s=80&v=4"},"commit":{"message":"[lua] Secure io.popen() access (and enable popen on Linux)","shortMessageHtmlLink":"[lua] Secure io.popen() access (and enable popen on Linux)"}},{"before":"56357e68ce51b92da2a40509f5d25c6e4596c17c","after":"a6d9e5243fececa99c10c17d8f7c4ae03a1baf1d","ref":"refs/heads/beta","pushedAt":"2024-04-09T15:52:26.000Z","pushType":"push","commitsCount":12,"pusher":{"login":"dacap","name":"David Capello","path":"/dacap","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39654?s=80&v=4"},"commit":{"message":"Merge branch 'main' into beta","shortMessageHtmlLink":"Merge branch 'main' into beta"}},{"before":"4d5bf53be85d3f993b797a42e2aa205077b375a7","after":"6a12c7014de0d2eb5803f369e9025d43fa71527e","ref":"refs/heads/main","pushedAt":"2024-04-08T16:42:50.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dacap","name":"David Capello","path":"/dacap","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39654?s=80&v=4"},"commit":{"message":"Select \"English\" if the current language is not found in Preferences\n\nIf the user preferences file (aseprite.ini) contained a non-existent\nlanguage, the first option of the languages combo box was selected,\nwhich might lead to a confusing situation where just opening the\npreferences dialog will change from English to other\nlanguage (non-English, the first language in the combobox).","shortMessageHtmlLink":"Select \"English\" if the current language is not found in Preferences"}},{"before":"fd2a98c0e68ecd92b233bfde4fcf433421009439","after":"4d5bf53be85d3f993b797a42e2aa205077b375a7","ref":"refs/heads/main","pushedAt":"2024-04-08T13:44:46.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dacap","name":"David Capello","path":"/dacap","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39654?s=80&v=4"},"commit":{"message":"Fix crash accessing empty list of sprites updating ContextBar fields (fix #4407)\n\nNot sure if this will be the final solution for this crash, as a Doc\nshouldn't have an empty list of sprites.","shortMessageHtmlLink":"Fix crash accessing empty list of sprites updating ContextBar fields (f…"}},{"before":"86ae7024d2ba6763c64f94d7178e0b33cc477681","after":"fd2a98c0e68ecd92b233bfde4fcf433421009439","ref":"refs/heads/main","pushedAt":"2024-04-07T14:43:05.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dacap","name":"David Capello","path":"/dacap","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39654?s=80&v=4"},"commit":{"message":"[win] Fix title bar flickering selecting menus/dialogs","shortMessageHtmlLink":"[win] Fix title bar flickering selecting menus/dialogs"}},{"before":"e21859c4afe6a60c494248c880d481434dbf8b78","after":"86ae7024d2ba6763c64f94d7178e0b33cc477681","ref":"refs/heads/main","pushedAt":"2024-04-06T01:49:26.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dacap","name":"David Capello","path":"/dacap","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39654?s=80&v=4"},"commit":{"message":"Update laf","shortMessageHtmlLink":"Update laf"}},{"before":"e21859c4afe6a60c494248c880d481434dbf8b78","after":null,"ref":"refs/heads/clip","pushedAt":"2024-03-26T17:01:39.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"dacap","name":"David Capello","path":"/dacap","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39654?s=80&v=4"}},{"before":"ec4e82bdc01e8bcfb56fcf64cbd0ec1ad7e6394a","after":"e21859c4afe6a60c494248c880d481434dbf8b78","ref":"refs/heads/main","pushedAt":"2024-03-26T17:00:59.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dacap","name":"David Capello","path":"/dacap","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39654?s=80&v=4"},"commit":{"message":"Migrate clip module from aseprite to laf","shortMessageHtmlLink":"Migrate clip module from aseprite to laf"}},{"before":null,"after":"e21859c4afe6a60c494248c880d481434dbf8b78","ref":"refs/heads/clip","pushedAt":"2024-03-26T16:31:34.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dacap","name":"David Capello","path":"/dacap","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39654?s=80&v=4"},"commit":{"message":"Migrate clip module from aseprite to laf","shortMessageHtmlLink":"Migrate clip module from aseprite to laf"}},{"before":"427ee6f5b5d83daa61d0ab2c46969cea549b2413","after":"ec4e82bdc01e8bcfb56fcf64cbd0ec1ad7e6394a","ref":"refs/heads/main","pushedAt":"2024-03-25T22:54:11.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dacap","name":"David Capello","path":"/dacap","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39654?s=80&v=4"},"commit":{"message":"Fix crashes with SpriteJob(s) that weren't locking the doc correctly (fix #4315)\n\nThis was mainly found in SpriteSizeJob crash reports. In these reports\ndeleted image buffers were still used to paint the Editor canvas\nbecause the doc was write-locked in the main thread (same thread where\nthe canvas is painted). This produced a re-entrant lock in the\nEditor::onPaint() as we can still read-lock from the same thread where\nwe write-locked the doc.\n\nWith this change we write-lock the doc from the SpriteJob background\nthread (not the main thread) only if it's necessary (i.e. when the doc\nis not already locked in the main thread, e.g. when running a script).\nThis makes that the main thread (Editor::onPaint) cannot read the doc\nuntil we finish the whole SpriteJob transaction/Tx.","shortMessageHtmlLink":"Fix crashes with SpriteJob(s) that weren't locking the doc correctly (f…"}},{"before":"571a3965e960a58e7a6a906b0f13fded3eef4e50","after":"427ee6f5b5d83daa61d0ab2c46969cea549b2413","ref":"refs/heads/main","pushedAt":"2024-03-19T20:04:46.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dacap","name":"David Capello","path":"/dacap","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39654?s=80&v=4"},"commit":{"message":"Use target_sources() instead of variables to list app-lib sources\n\ntarget_sources() was added on cmake 3.1, long time ago, although we\nstarted with the 2.6 versions, so now we can modernize the cmake file\na little.","shortMessageHtmlLink":"Use target_sources() instead of variables to list app-lib sources"}},{"before":"8709219d68ec1b97cb8b950909de71bd18b7de40","after":"571a3965e960a58e7a6a906b0f13fded3eef4e50","ref":"refs/heads/main","pushedAt":"2024-03-15T14:47:04.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"dacap","name":"David Capello","path":"/dacap","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39654?s=80&v=4"},"commit":{"message":"Fix copy+move cursor icon bug (fix #3887)\n\n Add logic to show the correct curson icon when holding the\n copy key (alt) while hovering over a selected layer.","shortMessageHtmlLink":"Fix copy+move cursor icon bug (fix #3887)"}},{"before":"e129fefb2e50e3abe8b9f4b0be177476966ce2be","after":"8709219d68ec1b97cb8b950909de71bd18b7de40","ref":"refs/heads/main","pushedAt":"2024-03-15T14:25:59.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dacap","name":"David Capello","path":"/dacap","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39654?s=80&v=4"},"commit":{"message":"Update laf (fix #4368)","shortMessageHtmlLink":"Update laf (fix #4368)"}},{"before":"a0e469624a2b47d23c8a118ab92538fe9df2b727","after":"e129fefb2e50e3abe8b9f4b0be177476966ce2be","ref":"refs/heads/main","pushedAt":"2024-03-12T19:43:43.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"dacap","name":"David Capello","path":"/dacap","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39654?s=80&v=4"},"commit":{"message":"Hide \"Play subtags\" option in File > Export if there are no tags (fix #4308)","shortMessageHtmlLink":"Hide \"Play subtags\" option in File > Export if there are no tags (fix #…"}},{"before":"ab18cd986c8e501e0178a689fff424e2c985f9da","after":"56357e68ce51b92da2a40509f5d25c6e4596c17c","ref":"refs/heads/beta","pushedAt":"2024-03-11T21:18:53.000Z","pushType":"push","commitsCount":7,"pusher":{"login":"dacap","name":"David Capello","path":"/dacap","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39654?s=80&v=4"},"commit":{"message":"Merge branch 'main' into beta","shortMessageHtmlLink":"Merge branch 'main' into beta"}},{"before":"7f659d2f86fc7d36b1506049a3c414511e57dc50","after":"a0e469624a2b47d23c8a118ab92538fe9df2b727","ref":"refs/heads/main","pushedAt":"2024-03-11T21:10:41.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"dacap","name":"David Capello","path":"/dacap","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39654?s=80&v=4"},"commit":{"message":"Use make_shader() helper function to create ColorSelector shaders","shortMessageHtmlLink":"Use make_shader() helper function to create ColorSelector shaders"}},{"before":"50d4f9d8028dc56686b7f0720ef4775db7b2f782","after":"7f659d2f86fc7d36b1506049a3c414511e57dc50","ref":"refs/heads/main","pushedAt":"2024-03-11T14:29:20.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"dacap","name":"David Capello","path":"/dacap","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39654?s=80&v=4"},"commit":{"message":"Handle exceptions that DocDestroyer can throw (probably #4367)","shortMessageHtmlLink":"Handle exceptions that DocDestroyer can throw (probably #4367)"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEQScE5gA","startCursor":null,"endCursor":null}},"title":"Activity · aseprite/aseprite"}