{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":381621865,"defaultBranch":"devel","name":"cli","ownerLogin":"transifex","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2021-06-30T08:00:46.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/22542?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1725518381.0","currentOid":""},"activityList":{"items":[{"before":"b0cf262395783f7a5851218354cc70812488f8d9","after":"30dac142446db7bd1919894e9eb93545f58cc980","ref":"refs/heads/master","pushedAt":"2024-09-05T06:37:16.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"kbairak","name":"Konstantinos Bairaktaris","path":"/kbairak","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1336464?s=80&v=4"},"commit":{"message":"Merge pull request #242 from transifex/devel\n\nMerge for 1.6.17","shortMessageHtmlLink":"Merge pull request #242 from transifex/devel"}},{"before":"847d44ab47761fd348c4db33bdb6b3a0cbbc803a","after":null,"ref":"refs/heads/TX-15697-fix_language_mappings","pushedAt":"2024-09-04T13:17:41.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"kbairak","name":"Konstantinos Bairaktaris","path":"/kbairak","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1336464?s=80&v=4"}},{"before":"8f4f7ef6916c2efdda41a2f34673b1bb7692beea","after":"e7feea35c13e2d4cd8d72a9097748776320b0f6c","ref":"refs/heads/devel","pushedAt":"2024-09-04T13:17:40.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"kbairak","name":"Konstantinos Bairaktaris","path":"/kbairak","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1336464?s=80&v=4"},"commit":{"message":"Merge pull request #241 from transifex/TX-15697-fix_language_mappings\n\nMake language mappings deterministic","shortMessageHtmlLink":"Merge pull request #241 from transifex/TX-15697-fix_language_mappings"}},{"before":"c4430f891f0a887e889d2335e48df69599242392","after":"847d44ab47761fd348c4db33bdb6b3a0cbbc803a","ref":"refs/heads/TX-15697-fix_language_mappings","pushedAt":"2024-09-04T12:33:53.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"kbairak","name":"Konstantinos Bairaktaris","path":"/kbairak","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1336464?s=80&v=4"},"commit":{"message":"Make language mappings deterministic\n\nConsider this scenario: Someone has in their config file:\n\n```ini\n[main]\nlang_map = it: it-IT\n\n[RESOURCE_ID]\nlang_map = it: it_IT\n```\n\nBefore we created a local-to-remote map that looked like this:\n\n```json\n{\"it-IT\": \"it\", \"it_IT\", \"it\"}\n```\n\nAnd then, to create the remote-to-local map, we reversed it. The problem\nwas that, since both values are the same, the key that ended up being\nselected was random, so it could either be:\n\n```json\n{\"it\": \"it-IT\"}\n```\n\nor\n\n```json\n{\"it\": \"it_IT\"}\n```\n\nTo fix the issue, we now create remote-to-local first, going over the\nglobal configuration first and the resource-level configuration second\nso that the resource-level will prevail and thus take preference, and\nthen we create the local-to-remote by reversing. So,\n\nFirst, we will consume the global configuration:\n\n```json\n{\"it\": \"it-IT\"}\n```\n\nThen, as the resource-level configuration is consumed, it will replace\nthe old key:\n\n```json\n{\"it\": \"it_IT\"}\n```\n\nAnd then, the local-to-remote will end up being:\n\n```json\n{\"it_IT\": \"it\"}\n```\n\nThis is the deterministic and the intended behaviour, since\nresource-level configuration should take precedence.","shortMessageHtmlLink":"Make language mappings deterministic"}},{"before":"21ee013729415eee4d4969b3373af1a3ba250676","after":"c4430f891f0a887e889d2335e48df69599242392","ref":"refs/heads/TX-15697-fix_language_mappings","pushedAt":"2024-09-04T12:33:07.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"kbairak","name":"Konstantinos Bairaktaris","path":"/kbairak","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1336464?s=80&v=4"},"commit":{"message":"Make language mappings deterministic\n\nConsider this scenario: Someone has in their config file:\n\n```ini\n[main]\nlang_map = it: it-IT\n\n[RESOURCE_ID]\nlang_map = it: it_IT\n```\n\nBefore we created a local-to-remote map that looked like this:\n\n```json\n{\"it-IT\": \"it\", \"it_IT\", \"it\"}\n```\n\nAnd then, to create the remote-to-local map, we reversed it. The problem\nwas that, since both values are the same, the key that ended up being\nselected was random, so it could either be:\n\n```json\n{\"it\": \"it-IT\"}\n```\n\nor\n\n```json\n{\"it\": \"it_IT\"}\n```\n\nTo fix the issue, we now create remote-to-local first, going over the\nglobal configuration first and the resource-level configuration second\nso that the resource-level will prevail and thus take preference, and\nthen we create the local-to-remote by reversing. So,\n\nFirst, we will consume the global configuration:\n\n```json\n{\"it\": \"it-IT\"}\n```\n\nThen, as the resource-level configuration is consumed, it will replace\nthe old key:\n\n```json\n{\"it\": \"it_IT\"}\n```\n\nAnd then, the local-to-remote will end up being:\n\n```json\n{\"it_IT\": \"it\"}\n```\n\nThis is the deterministic and the intended behaviour, since\nresource-level configuration should take precedence.","shortMessageHtmlLink":"Make language mappings deterministic"}},{"before":"f12c1803d374199e22d811e9f6473d95d957e6e7","after":"21ee013729415eee4d4969b3373af1a3ba250676","ref":"refs/heads/TX-15697-fix_language_mappings","pushedAt":"2024-09-04T12:31:00.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"kbairak","name":"Konstantinos Bairaktaris","path":"/kbairak","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1336464?s=80&v=4"},"commit":{"message":"Make language mappings deterministic\n\nConsider this scenario: Someone has in their config file:\n\n```ini\n[main]\nlang_map = it: it-IT\n\n[RESOURCE_ID]\nlang_map = it: it_IT\n```\n\nBefore we created a local-to-remote map that looked like this:\n\n```json\n{\"it-IT\": \"it\", \"it_IT\", \"it\"}\n```\n\nAnd then, to create the remote-to-local map, we reversed it. The problem\nwas that, since both values are the same, the key that ended up being\nselected was random, so it could either be:\n\n```json\n{\"it\": \"it-IT\"}\n```\n\nor\n\n```json\n{\"it\": \"it_IT\"}\n```\n\nTo fix the issue, we now create remote-to-local first, going over the\nglobal configuration first and the resource-level configuration second\nso that the resource-level will prevail and thus take preference, and\nthen we create the local-to-remote by reversing. So,\n\nFirst, we will consume the global configuration:\n\n```json\n{\"it\": \"it-IT\"}\n```\n\nThen, as the resource-level configuration is consumed, it will replace\nthe old key:\n\n```json\n{\"it\": \"it_IT\"}\n```\n\nAnd then, the local-to-remote will end up being:\n\n```json\n{\"it_IT\": \"it\"}\n```\n\nThis is the deterministic and the intended behaviour, since\nresource-level configuration should take precedence.","shortMessageHtmlLink":"Make language mappings deterministic"}},{"before":"3e4c65fcec1543e5e5d7bd8d6b1366dcff9cdf26","after":"f12c1803d374199e22d811e9f6473d95d957e6e7","ref":"refs/heads/TX-15697-fix_language_mappings","pushedAt":"2024-09-04T12:30:32.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"kbairak","name":"Konstantinos Bairaktaris","path":"/kbairak","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1336464?s=80&v=4"},"commit":{"message":"Make language mappings deterministic\n\nConsider this scenario: Someone has in their config file:\n\n```ini\n[main]\nlang_map = it: it-IT\n\n[RESOURCE_ID]\nlang_map = it: it_IT\n```\n\nBefore we created a local-to-remote map that looked like this:\n\n```json\n{\"it-IT\": \"it\", \"it_IT\", \"it\"}\n```\n\nAnd then, to create the remote-to-local map, we reversed it. The problem\nwas that, since both values are the same, the key that ended up being\nselected was random, so it could either be:\n\n```json\n{\"it\": \"it-IT\"}\n```\n\nor\n\n```json\n{\"it\": \"it_IT\"}\n```\n\nTo fix the issue, we now create remote-to-local first, going over the\nglobal configuration first and the resource-level configuration second\nso that the resource-level will prevail and thus take preference, and\nthen we create the local-to-remote by reversing. So,\n\nFirst, we will consume the global configuration:\n\n```json\n{\"it\": \"it-IT\"}\n```\n\nThen, as the resource-level configuration is consumed, it will replace\nthe old key:\n\n```json\n{\"it\": \"it_IT\"}\n```\n\nAnd then, the local-to-remote will end up being:\n\n```json\n{\"it_IT\": \"it\"}\n```\n\nThis is the deterministic and the intended behaviour, since\nresource-level configuration should take precedence.","shortMessageHtmlLink":"Make language mappings deterministic"}},{"before":null,"after":"3e4c65fcec1543e5e5d7bd8d6b1366dcff9cdf26","ref":"refs/heads/TX-15697-fix_language_mappings","pushedAt":"2024-09-04T12:29:54.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"kbairak","name":"Konstantinos Bairaktaris","path":"/kbairak","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1336464?s=80&v=4"},"commit":{"message":"Make language mappings deterministic\n\nConsider this scenario: Someone has in their config file:\n\n```ini\n[main]\nlang_map = it: it-IT\n\n[RESOURCE_ID]\nlang_map = it: it_IT\n```\n\nBefore we created a local-to-remote map that looked like this:\n\n```json\n{\"it-IT\": \"it\", \"it_IT\", \"it\"}\n```\n\nAnd then, to create the remote-to-local map, we reversed it. The problem\nwas that, since both values are the same, the key that ended up being\nselected was random, so it could either be:\n\n```json\n{\"it\": \"it-IT\"}\n```\n\nor\n\n```json\n{\"it\": \"it_IT\"}\n```\n\nTo fix the issue, we now create remote-to-local first, going over the\nglobal configuration first and the resource-level configuration second\nso that the resource-level will prevail and thus take preference, and\nthen we create the local-to-remote by reversing. So,\n\nFirst, we will consume the global configuration:\n\n```json\n{\"it\": \"it-IT\"}\n```\n\nThen, as the resource-level configuration is consumed, it will replace\nthe old key:\n\n```json\n{\"it\": \"it_IT\"}\n```\n\nAnd then, the local-to-remote will end up being:\n\n```json\n{\"it_IT\": \"it\"}\n```\n\nThis is the deterministic and the intended behaviour, since\nresource-level configuration should take precedence.","shortMessageHtmlLink":"Make language mappings deterministic"}},{"before":"16419019e3aa686cfaa6174b39fc3c9951473904","after":"b0cf262395783f7a5851218354cc70812488f8d9","ref":"refs/heads/master","pushedAt":"2024-08-13T14:03:53.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"foteinigk","name":null,"path":"/foteinigk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/112862979?s=80&v=4"},"commit":{"message":"Merge pull request #240 from transifex/devel\n\nRelease v1.6.16","shortMessageHtmlLink":"Merge pull request #240 from transifex/devel"}},{"before":"ba9b695d5989e1b1733f87ee1115a7a7444f1de0","after":null,"ref":"refs/heads/truncate_fix","pushedAt":"2024-08-13T13:59:06.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"foteinigk","name":null,"path":"/foteinigk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/112862979?s=80&v=4"}},{"before":"ca77c867d77c76508ea3d10df8b427dbd94e79e9","after":"8f4f7ef6916c2efdda41a2f34673b1bb7692beea","ref":"refs/heads/devel","pushedAt":"2024-08-13T13:59:04.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"foteinigk","name":null,"path":"/foteinigk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/112862979?s=80&v=4"},"commit":{"message":"Merge pull request #239 from transifex/truncate_fix\n\nFix for truncateMessage function","shortMessageHtmlLink":"Merge pull request #239 from transifex/truncate_fix"}},{"before":"fe8ed193fe04075860bdfbb9e97953a9d83f57f1","after":"ba9b695d5989e1b1733f87ee1115a7a7444f1de0","ref":"refs/heads/truncate_fix","pushedAt":"2024-08-13T13:38:54.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"foteinigk","name":null,"path":"/foteinigk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/112862979?s=80&v=4"},"commit":{"message":"Fix for truncateMessage function","shortMessageHtmlLink":"Fix for truncateMessage function"}},{"before":"61b9cd3e7a4bd016c787446d7ab27c0e1f1d7314","after":"fe8ed193fe04075860bdfbb9e97953a9d83f57f1","ref":"refs/heads/truncate_fix","pushedAt":"2024-08-13T13:33:04.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"foteinigk","name":null,"path":"/foteinigk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/112862979?s=80&v=4"},"commit":{"message":"Fix for truncateMessage function","shortMessageHtmlLink":"Fix for truncateMessage function"}},{"before":null,"after":"61b9cd3e7a4bd016c787446d7ab27c0e1f1d7314","ref":"refs/heads/truncate_fix","pushedAt":"2024-08-13T13:30:05.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"foteinigk","name":null,"path":"/foteinigk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/112862979?s=80&v=4"},"commit":{"message":"Fix for truncateMessage function","shortMessageHtmlLink":"Fix for truncateMessage function"}},{"before":"1ef9d1bca3374f3dcf5a9fa7d4f1a5e19b52a575","after":"16419019e3aa686cfaa6174b39fc3c9951473904","ref":"refs/heads/master","pushedAt":"2024-08-12T06:57:45.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"foteinigk","name":null,"path":"/foteinigk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/112862979?s=80&v=4"},"commit":{"message":"Merge pull request #237 from transifex/devel\n\nRelease v1.6.15","shortMessageHtmlLink":"Merge pull request #237 from transifex/devel"}},{"before":"193022328052f254ab38c73642fb1a07a5c40d59","after":null,"ref":"refs/heads/error_length","pushedAt":"2024-08-08T11:19:12.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"foteinigk","name":null,"path":"/foteinigk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/112862979?s=80&v=4"}},{"before":"6d1a851313382833458342ff2c93498606f84553","after":"ca77c867d77c76508ea3d10df8b427dbd94e79e9","ref":"refs/heads/devel","pushedAt":"2024-08-08T11:19:09.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"foteinigk","name":null,"path":"/foteinigk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/112862979?s=80&v=4"},"commit":{"message":"Merge pull request #236 from transifex/error_length\n\nImprove error messages length output in CLI","shortMessageHtmlLink":"Merge pull request #236 from transifex/error_length"}},{"before":"59f06123ee8ff8d1b94e51a11ecb2a9bd44a42f8","after":"193022328052f254ab38c73642fb1a07a5c40d59","ref":"refs/heads/error_length","pushedAt":"2024-08-07T08:36:47.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"foteinigk","name":null,"path":"/foteinigk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/112862979?s=80&v=4"},"commit":{"message":"Improve error messages length output in CLI","shortMessageHtmlLink":"Improve error messages length output in CLI"}},{"before":"ca780f3d68024f120c7c10306ff12d5d4a9c2866","after":"59f06123ee8ff8d1b94e51a11ecb2a9bd44a42f8","ref":"refs/heads/error_length","pushedAt":"2024-08-07T08:35:18.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"foteinigk","name":null,"path":"/foteinigk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/112862979?s=80&v=4"},"commit":{"message":"Improve error messages length output in CLI","shortMessageHtmlLink":"Improve error messages length output in CLI"}},{"before":"2cb762490779aa3e6763c26e777a2618c0608ab1","after":"ca780f3d68024f120c7c10306ff12d5d4a9c2866","ref":"refs/heads/error_length","pushedAt":"2024-08-07T08:32:10.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"foteinigk","name":null,"path":"/foteinigk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/112862979?s=80&v=4"},"commit":{"message":"test fix","shortMessageHtmlLink":"test fix"}},{"before":"556732446b1af486d77783a261b56a7444fdd63d","after":"2cb762490779aa3e6763c26e777a2618c0608ab1","ref":"refs/heads/error_length","pushedAt":"2024-08-07T08:23:49.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"foteinigk","name":null,"path":"/foteinigk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/112862979?s=80&v=4"},"commit":{"message":"test","shortMessageHtmlLink":"test"}},{"before":"750513acb432a5aac1378a48b8e665c1169f29d1","after":"556732446b1af486d77783a261b56a7444fdd63d","ref":"refs/heads/error_length","pushedAt":"2024-08-07T08:22:07.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"foteinigk","name":null,"path":"/foteinigk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/112862979?s=80&v=4"},"commit":{"message":"Improve error messages length output in CLI","shortMessageHtmlLink":"Improve error messages length output in CLI"}},{"before":"d8edf1a0fd6f17472b29da3fdda7d15b80efc942","after":"750513acb432a5aac1378a48b8e665c1169f29d1","ref":"refs/heads/error_length","pushedAt":"2024-08-07T07:10:27.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"foteinigk","name":null,"path":"/foteinigk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/112862979?s=80&v=4"},"commit":{"message":"test","shortMessageHtmlLink":"test"}},{"before":"cb447190bfc694751fe91f93b22087488c95f16e","after":"d8edf1a0fd6f17472b29da3fdda7d15b80efc942","ref":"refs/heads/error_length","pushedAt":"2024-08-07T06:50:40.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"foteinigk","name":null,"path":"/foteinigk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/112862979?s=80&v=4"},"commit":{"message":"test","shortMessageHtmlLink":"test"}},{"before":"556732446b1af486d77783a261b56a7444fdd63d","after":"cb447190bfc694751fe91f93b22087488c95f16e","ref":"refs/heads/error_length","pushedAt":"2024-08-07T06:36:58.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"foteinigk","name":null,"path":"/foteinigk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/112862979?s=80&v=4"},"commit":{"message":"add term package","shortMessageHtmlLink":"add term package"}},{"before":"e4e0b9988bef9f1048c17d249fee6f6429c4199f","after":"556732446b1af486d77783a261b56a7444fdd63d","ref":"refs/heads/error_length","pushedAt":"2024-08-07T06:32:30.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"foteinigk","name":null,"path":"/foteinigk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/112862979?s=80&v=4"},"commit":{"message":"Improve error messages length output in CLI","shortMessageHtmlLink":"Improve error messages length output in CLI"}},{"before":"d27cab9ea43a7202dc4b939adfd9a8c816d4cde3","after":"e4e0b9988bef9f1048c17d249fee6f6429c4199f","ref":"refs/heads/error_length","pushedAt":"2024-08-07T06:21:21.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"foteinigk","name":null,"path":"/foteinigk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/112862979?s=80&v=4"},"commit":{"message":"test","shortMessageHtmlLink":"test"}},{"before":"fd00084ad05db87d8f0c03506ada104a7f30c460","after":"d27cab9ea43a7202dc4b939adfd9a8c816d4cde3","ref":"refs/heads/error_length","pushedAt":"2024-08-07T06:19:12.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"foteinigk","name":null,"path":"/foteinigk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/112862979?s=80&v=4"},"commit":{"message":"test","shortMessageHtmlLink":"test"}},{"before":"18c977ee21429a6c13bcc6c408fc467e8c563a5d","after":"fd00084ad05db87d8f0c03506ada104a7f30c460","ref":"refs/heads/error_length","pushedAt":"2024-08-07T06:15:37.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"foteinigk","name":null,"path":"/foteinigk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/112862979?s=80&v=4"},"commit":{"message":"test","shortMessageHtmlLink":"test"}},{"before":"afeea9632b96461e6a3fa2aaec7b7d041f97dc48","after":"18c977ee21429a6c13bcc6c408fc467e8c563a5d","ref":"refs/heads/error_length","pushedAt":"2024-08-07T06:04:27.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"foteinigk","name":null,"path":"/foteinigk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/112862979?s=80&v=4"},"commit":{"message":"test","shortMessageHtmlLink":"test"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAErXokOQA","startCursor":null,"endCursor":null}},"title":"Activity ยท transifex/cli"}