{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":184303095,"defaultBranch":"master","name":"tvision","ownerLogin":"magiblot","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2019-04-30T17:21:02.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/20713561?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1705859416.0","currentOid":""},"activityList":{"items":[{"before":"93f494c1e8fa27406179d40d7b96d8a92458b8e2","after":"966226d643cd638fb516b621ac90a31f3ec8d1f6","ref":"refs/heads/master","pushedAt":"2024-05-22T22:25:41.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"magiblot","name":null,"path":"/magiblot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20713561?s=80&v=4"},"commit":{"message":"Use GNUInstallDirs\n\nImport and use GNUInstallDirs from CMake","shortMessageHtmlLink":"Use GNUInstallDirs"}},{"before":"d4410aa5d46520b7916276610e15020f6c920f38","after":"93f494c1e8fa27406179d40d7b96d8a92458b8e2","ref":"refs/heads/master","pushedAt":"2024-05-21T00:49:48.000Z","pushType":"push","commitsCount":6,"pusher":{"login":"magiblot","name":null,"path":"/magiblot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20713561?s=80&v=4"},"commit":{"message":"Use 'messageBox' directly without 'ostrstream'\n\nThis is simpler and less prone to memory safety errors.","shortMessageHtmlLink":"Use 'messageBox' directly without 'ostrstream'"}},{"before":"d1fa783e0fa8685c199563a466cdc221e8d9b85c","after":"d4410aa5d46520b7916276610e15020f6c920f38","ref":"refs/heads/master","pushedAt":"2024-05-18T15:17:17.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"magiblot","name":null,"path":"/magiblot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20713561?s=80&v=4"},"commit":{"message":"tvforms: Definitely fix new/delete mismatches in TDataCollection\n\nMismatches arose from the fact that item allocations are done from three different places (datacoll.cpp, listdlg.cpp and genform.cpp) but only genform.cpp knows the actual definition of TDataRec.\n\nnew/delete has been replaced with malloc/free in order to be consistent with the comment in listdlg.cpp that the safety pool should not be used (when building with Borland C++).\n\nAlso fix an uninitialized data access in TButton introduced by the animated key press feature (9a7bcb3).\n\nFixes #160.","shortMessageHtmlLink":"tvforms: Definitely fix new/delete mismatches in TDataCollection"}},{"before":"be6e64f85355c6c96b7c09174986fafb6a411c6a","after":"d1fa783e0fa8685c199563a466cdc221e8d9b85c","ref":"refs/heads/master","pushedAt":"2024-02-28T09:35:19.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"magiblot","name":null,"path":"/magiblot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20713561?s=80&v=4"},"commit":{"message":"Fix -Wextra warnings in public headers\n\nFixes #154.","shortMessageHtmlLink":"Fix -Wextra warnings in public headers"}},{"before":"0917f04206fcfa1973dc49547af74e7399241899","after":"be6e64f85355c6c96b7c09174986fafb6a411c6a","ref":"refs/heads/master","pushedAt":"2024-02-04T22:36:19.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"magiblot","name":null,"path":"/magiblot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20713561?s=80&v=4"},"commit":{"message":"Unix: use 'select' instead of 'poll' for waiting for input\n\nSo that we can support older macOS versions.\n\nSee magiblot/turbo#65.","shortMessageHtmlLink":"Unix: use 'select' instead of 'poll' for waiting for input"}},{"before":"f933af5e18c2bc7b3ead2778447d5b1b171d1df4","after":"0917f04206fcfa1973dc49547af74e7399241899","ref":"refs/heads/master","pushedAt":"2024-01-24T18:18:55.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"magiblot","name":null,"path":"/magiblot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20713561?s=80&v=4"},"commit":{"message":"test: do not hardcode alignment values in Scrncell tests","shortMessageHtmlLink":"test: do not hardcode alignment values in Scrncell tests"}},{"before":"37c13cd5f7e5cbeacead4344ba77e54419b140e9","after":null,"ref":"refs/heads/test-be","pushedAt":"2024-01-21T17:50:16.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"magiblot","name":null,"path":"/magiblot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20713561?s=80&v=4"}},{"before":"bbea05c4cfa7f0a8a8fd958848fe7d7312c53dd4","after":"f933af5e18c2bc7b3ead2778447d5b1b171d1df4","ref":"refs/heads/master","pushedAt":"2024-01-21T17:49:55.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"magiblot","name":null,"path":"/magiblot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20713561?s=80&v=4"},"commit":{"message":"Add initial big endian support\n\nThe largest deterrents to big endian compatibility were:\n\n- In the public API, the unions meant for aliasing and the bit fields:\n - In the case of KeyDownEvent, detecting key presses would become broken. The solution is as simple as reversing the field order in CharScanType.\n - In the case of MessageEvent, reading from 'infoChar', 'infoInt', etc. would not work as expected when the value had been initialized through 'infoPtr', such as when using the 'message' function. It is required to add padding before the non-pointer fields. A concise way of achieving this is by using bit fields. This comes at the expense of not being able to take the address of these fields anymore, but I have found no examples of such usage.\n - In the case of TColorBIOS and TColorRGB, the red and blue components would become swapped. A simple solution is to reorder the bit fields.\n- In the internal classes:\n - In TCellChar, the 'moveInt' method does bit-casting, which is fine as long as the parameter itself is the result of bit-casting from a byte array. However, 'moveChar' was implemented with an invocation to 'moveInt', breaking this rule. As a result, none of the single-byte characters that went through 'moveChar' would be displayed.\n - The TermColor and colorconv_r structs, which had manual bit-casting optimizations. This would result in colors not being displayed at all. Rather than changing the struct's layout, in this case it seems more convenient to simply add code to to reverse the casted bytes when necessary.\n\nSome other issues that I found were:\n\n- The internal method 'utf32To8' does bit-casting from an integer to a byte array, so bytes have to be reversed.\n- In tvdemo, reversing the mouse buttons would not work because the address of 'TEventQueue::mouseReverse' was being treated as an address to a int32_t, even though it is a Boolean.\n- In the far2l terminal extensions, integer values should always be in little-endian format, so bytes have to be reversed.\n- The 'AsciiChar' member of 'KEY_EVENT_RECORD' is meant to alias the least significant byte of 'UnicodeChar', so padding has to be added.\n- In the internal method 'fast_btoa', a little-endian-dependent optimization has been replaced by an endian-safe one.\n\nThe code related to streaming and resource files has not been modified, so files generated in a little endian system may be unreadable in a big endian system and viceversa. This is not so important, though, since it is highly discouraged to use these features.\n\nI also took the oportunity to add tests for several of these points and even a GitHub Actions job to run these tests automatically in a big endian system.\n\nSee magiblot/turbo#65.\nFixes #134. Closes #136.\n\nCo-authored-by: MookThompson <58513526+MookThompson@users.noreply.github.com>","shortMessageHtmlLink":"Add initial big endian support"}},{"before":"2290f29bac0daeebab57d152f5530e69124508c8","after":"37c13cd5f7e5cbeacead4344ba77e54419b140e9","ref":"refs/heads/test-be","pushedAt":"2024-01-18T11:52:42.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"magiblot","name":null,"path":"/magiblot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20713561?s=80&v=4"},"commit":{"message":"Add big endian support\n\nCo-authored-by: MookThompson <58513526+MookThompson@users.noreply.github.com>","shortMessageHtmlLink":"Add big endian support"}},{"before":"5af22a5b24cf03fd00b54ecbc6898b05b058e273","after":"2290f29bac0daeebab57d152f5530e69124508c8","ref":"refs/heads/test-be","pushedAt":"2024-01-18T11:44:31.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"magiblot","name":null,"path":"/magiblot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20713561?s=80&v=4"},"commit":{"message":"Add big endian support\n\nCo-authored-by: MookThompson <58513526+MookThompson@users.noreply.github.com>","shortMessageHtmlLink":"Add big endian support"}},{"before":"6555131c000c28ecc0105242a65dae1fb2c73e15","after":"5af22a5b24cf03fd00b54ecbc6898b05b058e273","ref":"refs/heads/test-be","pushedAt":"2024-01-18T11:38:02.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"magiblot","name":null,"path":"/magiblot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20713561?s=80&v=4"},"commit":{"message":"Add big endian support\n\nCo-authored-by: MookThompson <58513526+MookThompson@users.noreply.github.com>","shortMessageHtmlLink":"Add big endian support"}},{"before":"7ac462c5dcb1d76fde1fc81d20e7e4ed91314fc1","after":"6555131c000c28ecc0105242a65dae1fb2c73e15","ref":"refs/heads/test-be","pushedAt":"2024-01-18T11:30:08.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"magiblot","name":null,"path":"/magiblot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20713561?s=80&v=4"},"commit":{"message":"Add big endian support\n\nCo-authored-by: MookThompson <58513526+MookThompson@users.noreply.github.com>","shortMessageHtmlLink":"Add big endian support"}},{"before":"b25b8fe3c34d2f8e7161ee8d2adca39edac7f03c","after":"7ac462c5dcb1d76fde1fc81d20e7e4ed91314fc1","ref":"refs/heads/test-be","pushedAt":"2024-01-18T11:18:51.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"magiblot","name":null,"path":"/magiblot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20713561?s=80&v=4"},"commit":{"message":"Add big endian support\n\nCo-authored-by: MookThompson <58513526+MookThompson@users.noreply.github.com>","shortMessageHtmlLink":"Add big endian support"}},{"before":"760bb7a778a1627c6e755a75f59587ff400fde3c","after":"b25b8fe3c34d2f8e7161ee8d2adca39edac7f03c","ref":"refs/heads/test-be","pushedAt":"2024-01-18T11:13:08.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"magiblot","name":null,"path":"/magiblot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20713561?s=80&v=4"},"commit":{"message":"Add big endian support\n\nCo-authored-by: MookThompson <58513526+MookThompson@users.noreply.github.com>","shortMessageHtmlLink":"Add big endian support"}},{"before":"512e61811ccf9fa0a28462b7abd26cc19ad534ae","after":"760bb7a778a1627c6e755a75f59587ff400fde3c","ref":"refs/heads/test-be","pushedAt":"2024-01-18T10:11:29.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"magiblot","name":null,"path":"/magiblot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20713561?s=80&v=4"},"commit":{"message":"Add big endian support\n\nCo-authored-by: MookThompson <58513526+MookThompson@users.noreply.github.com>","shortMessageHtmlLink":"Add big endian support"}},{"before":"a26def19d5100195777425bc215eefef4e2573d9","after":"512e61811ccf9fa0a28462b7abd26cc19ad534ae","ref":"refs/heads/test-be","pushedAt":"2024-01-18T09:36:51.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"magiblot","name":null,"path":"/magiblot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20713561?s=80&v=4"},"commit":{"message":"Add big endian support\n\nCo-authored-by: MookThompson <58513526+MookThompson@users.noreply.github.com>","shortMessageHtmlLink":"Add big endian support"}},{"before":"5000edd8013af004addc1d0ad004a1f85aae0584","after":"a26def19d5100195777425bc215eefef4e2573d9","ref":"refs/heads/test-be","pushedAt":"2024-01-18T09:29:38.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"magiblot","name":null,"path":"/magiblot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20713561?s=80&v=4"},"commit":{"message":"Add big endian support\n\nCo-authored-by: MookThompson <58513526+MookThompson@users.noreply.github.com>","shortMessageHtmlLink":"Add big endian support"}},{"before":"1010dadbbf66999707d37d142f983a91cbb16465","after":"5000edd8013af004addc1d0ad004a1f85aae0584","ref":"refs/heads/test-be","pushedAt":"2024-01-18T09:24:09.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"magiblot","name":null,"path":"/magiblot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20713561?s=80&v=4"},"commit":{"message":"Add big endian support\n\nCo-authored-by: MookThompson <58513526+MookThompson@users.noreply.github.com>","shortMessageHtmlLink":"Add big endian support"}},{"before":"8b9b1d6e2f5aed91ebd67b70edeff0904e029e26","after":"1010dadbbf66999707d37d142f983a91cbb16465","ref":"refs/heads/test-be","pushedAt":"2024-01-18T09:16:54.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"magiblot","name":null,"path":"/magiblot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20713561?s=80&v=4"},"commit":{"message":"Add big endian support\n\nCo-authored-by: MookThompson <58513526+MookThompson@users.noreply.github.com>","shortMessageHtmlLink":"Add big endian support"}},{"before":"3dcce84d920b43405cfe68f140893c7856504d56","after":"8b9b1d6e2f5aed91ebd67b70edeff0904e029e26","ref":"refs/heads/test-be","pushedAt":"2024-01-18T09:07:51.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"magiblot","name":null,"path":"/magiblot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20713561?s=80&v=4"},"commit":{"message":"Add big endian support\n\nCo-authored-by: MookThompson <58513526+MookThompson@users.noreply.github.com>","shortMessageHtmlLink":"Add big endian support"}},{"before":null,"after":"3dcce84d920b43405cfe68f140893c7856504d56","ref":"refs/heads/test-be","pushedAt":"2024-01-18T08:58:10.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"magiblot","name":null,"path":"/magiblot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20713561?s=80&v=4"},"commit":{"message":"Add big endian support\n\nCo-authored-by: MookThompson <58513526+MookThompson@users.noreply.github.com>","shortMessageHtmlLink":"Add big endian support"}},{"before":"4510c5f24ec1e651efc7519a492497c0331959f3","after":"bbea05c4cfa7f0a8a8fd958848fe7d7312c53dd4","ref":"refs/heads/master","pushedAt":"2024-01-07T02:08:27.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"magiblot","name":null,"path":"/magiblot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20713561?s=80&v=4"},"commit":{"message":"Enable GitHub Actions in pull requests","shortMessageHtmlLink":"Enable GitHub Actions in pull requests"}},{"before":"f369a73d835c010fc96f3fae505c73766157d13f","after":"4510c5f24ec1e651efc7519a492497c0331959f3","ref":"refs/heads/master","pushedAt":"2024-01-01T16:33:06.000Z","pushType":"push","commitsCount":8,"pusher":{"login":"magiblot","name":null,"path":"/magiblot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20713561?s=80&v=4"},"commit":{"message":"Improve some internal variable/method names in TEditor","shortMessageHtmlLink":"Improve some internal variable/method names in TEditor"}},{"before":"e9fac379992815aaadcba99f55d8d34b7037a311","after":"f369a73d835c010fc96f3fae505c73766157d13f","ref":"refs/heads/master","pushedAt":"2023-11-16T01:02:59.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"magiblot","name":null,"path":"/magiblot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20713561?s=80&v=4"},"commit":{"message":"README.md: do not conceal the extended color API reference","shortMessageHtmlLink":"README.md: do not conceal the extended color API reference"}},{"before":"ba68f9771bab00b4ec432397d11512ee968524fd","after":"e9fac379992815aaadcba99f55d8d34b7037a311","ref":"refs/heads/master","pushedAt":"2023-11-08T18:26:51.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"magiblot","name":null,"path":"/magiblot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20713561?s=80&v=4"},"commit":{"message":"Fix -Wtautological-constant-out-of-range-compare warnings","shortMessageHtmlLink":"Fix -Wtautological-constant-out-of-range-compare warnings"}},{"before":"69f975c05a5df201375fdef9bef88282cc2d7fbb","after":"ba68f9771bab00b4ec432397d11512ee968524fd","ref":"refs/heads/master","pushedAt":"2023-10-16T19:19:44.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"magiblot","name":null,"path":"/magiblot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20713561?s=80&v=4"},"commit":{"message":"CMake: link tvdemo against psapi explicitly\n\nA dependency introduced by d57314a72922233e4fee49d628987371d095e530.","shortMessageHtmlLink":"CMake: link tvdemo against psapi explicitly"}},{"before":"3b25264a9b64029f75602ed2c04cbc83f4cf9091","after":"69f975c05a5df201375fdef9bef88282cc2d7fbb","ref":"refs/heads/master","pushedAt":"2023-10-16T12:21:59.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"magiblot","name":null,"path":"/magiblot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20713561?s=80&v=4"},"commit":{"message":"platform: handle SIG_IGN properly in SignalHandler","shortMessageHtmlLink":"platform: handle SIG_IGN properly in SignalHandler"}},{"before":"cb13e36d12fddc56ae76e7b5859aff44f555506d","after":"3b25264a9b64029f75602ed2c04cbc83f4cf9091","ref":"refs/heads/master","pushedAt":"2023-10-09T23:12:54.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"magiblot","name":null,"path":"/magiblot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20713561?s=80&v=4"},"commit":{"message":"tvdemo: move heap view to the status bar\n\nThis is how the original design was. However, the heap view had been moved to the menu bar in e7f808f45d571d9cd0717f2560045e3be3b55fb7 due to a misunderstanding of how views react to resize events.","shortMessageHtmlLink":"tvdemo: move heap view to the status bar"}},{"before":"1db260665781bf4c9e9a79164101a8a5e113ed32","after":"cb13e36d12fddc56ae76e7b5859aff44f555506d","ref":"refs/heads/master","pushedAt":"2023-10-03T07:14:37.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"magiblot","name":null,"path":"/magiblot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20713561?s=80&v=4"},"commit":{"message":"platform: fix copying string to uninitialized buffer in TermIO::keyModsOn","shortMessageHtmlLink":"platform: fix copying string to uninitialized buffer in TermIO::keyMo…"}},{"before":"82fe19df93fe5336c721537114d87a43d5ea6481","after":"1db260665781bf4c9e9a79164101a8a5e113ed32","ref":"refs/heads/master","pushedAt":"2023-10-02T22:55:29.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"magiblot","name":null,"path":"/magiblot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20713561?s=80&v=4"},"commit":{"message":"Windows: preserve the current window size on exit","shortMessageHtmlLink":"Windows: preserve the current window size on exit"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEUWy5WgA","startCursor":null,"endCursor":null}},"title":"Activity · magiblot/tvision"}