{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":1155276,"defaultBranch":"main","name":"vncdotool","ownerLogin":"sibson","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2010-12-10T04:28:41.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/125162?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1703248716.0","currentOid":""},"activityList":{"items":[{"before":"c99498e6fa9c9ef31553b6b566593cef0f9357b3","after":"2b5f10c2115a695b3d106d70bd2ed461a6e60c74","ref":"refs/heads/main","pushedAt":"2023-12-22T12:42:48.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"sibson","name":"Marc Sibson","path":"/sibson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/125162?s=80&v=4"},"commit":{"message":"remove python3.7 support","shortMessageHtmlLink":"remove python3.7 support"}},{"before":null,"after":"09278be1c7f617b4e108f375aa4bdca33515837e","ref":"refs/heads/dependabot/pip/pillow-10.0.1","pushedAt":"2023-12-22T12:38:36.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"},"commit":{"message":"build(deps): bump pillow from 9.3.0 to 10.0.1\n\nBumps [pillow](https://github.com/python-pillow/Pillow) from 9.3.0 to 10.0.1.\n- [Release notes](https://github.com/python-pillow/Pillow/releases)\n- [Changelog](https://github.com/python-pillow/Pillow/blob/main/CHANGES.rst)\n- [Commits](https://github.com/python-pillow/Pillow/compare/9.3.0...10.0.1)\n\n---\nupdated-dependencies:\n- dependency-name: pillow\n dependency-type: direct:production\n...\n\nSigned-off-by: dependabot[bot] ","shortMessageHtmlLink":"build(deps): bump pillow from 9.3.0 to 10.0.1"}},{"before":"7b5845021ab7e1cdf737994e4dd04b0f8464e3b1","after":"c99498e6fa9c9ef31553b6b566593cef0f9357b3","ref":"refs/heads/main","pushedAt":"2023-12-22T12:37:35.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"sibson","name":"Marc Sibson","path":"/sibson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/125162?s=80&v=4"},"commit":{"message":"use makefile.venv","shortMessageHtmlLink":"use makefile.venv"}},{"before":"a4bb988aa8959d9d5ded621bde87dda6cf1ba472","after":"7b5845021ab7e1cdf737994e4dd04b0f8464e3b1","ref":"refs/heads/main","pushedAt":"2023-12-22T12:31:38.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"sibson","name":"Marc Sibson","path":"/sibson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/125162?s=80&v=4"},"commit":{"message":"bump version to 1.3.0","shortMessageHtmlLink":"bump version to 1.3.0"}},{"before":"d61eaf53c95a1dbc5cb153f143ceff1fcf1df31f","after":"a4bb988aa8959d9d5ded621bde87dda6cf1ba472","ref":"refs/heads/main","pushedAt":"2023-09-30T15:50:18.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"sibson","name":"Marc Sibson","path":"/sibson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/125162?s=80&v=4"},"commit":{"message":"Improve special key handling (#270)\n\n* refactor(api): timeout variable\r\n\r\nproperty setter and getter are unnecessary as they add no logic.\r\n\r\n* refactor(api): early attribute access\r\n\r\nto improve readability move the case to handle a non-callable attribute\r\nfirst as all the other code is only relevant for the callable case.\r\n\r\n* fix: key-down / key-up discrepancy\r\n\r\nVersions before Qemu 2.12 (from ~2016) had a bug in handling keys\r\nrequiring modifiers, e.g. Shift for upper-case letters: While the\r\noriginal VNC protocol was designed for remoting X11 applications, where\r\nhigh-level KeySyms are used (for example \"Upper-case 'A'), Qemu (and\r\nother hardware virtualization tools) are required to translate that back\r\ninto low-level KeyCode events:\r\n1. Left-Shift down\r\n2. 'A' down\r\n3. 'A' up\r\n4. Left-Shift up\r\n\r\nWith the default `force_caps = False` this is fully done by Qemu, where\r\nversion 2.8 shows the following bug: After sending a capital \"A\" even\r\nthe next lower-case \"a\" is still received as an upper-case \"A\". This\r\ncontinues until the next upper-case letter is sent.\r\n\r\nWith `force_capse = True` `vncdotool` does part of that translation and\r\nadds KeySyms for Shift-Down and Shift-Up itself, but reversed 3. and 4:\r\n3. Left-Shift up\r\n4. 'a' up\r\n\r\nAgain this triggers a Qemu bug as now there is a discrepancy: 2. downs\r\nan *upper*-case \"A\" while 4. releases a *lower*-case \"a\". For `vndotool`\r\nis is irrelevant, but graphical VNC clients were affected.\r\n\r\nTo not confuse Qemu release the keys in reverse order.\r\n\r\nSwitch to logging the actual KeySyms sent to the VNC server.","shortMessageHtmlLink":"Improve special key handling (#270)"}},{"before":"729602a59b17d2b6339e95a809ccc48cfad64d04","after":"d61eaf53c95a1dbc5cb153f143ceff1fcf1df31f","ref":"refs/heads/main","pushedAt":"2023-08-28T03:02:02.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"sibson","name":"Marc Sibson","path":"/sibson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/125162?s=80&v=4"},"commit":{"message":"Simplify RPM support to Python 3 only (#268)\n\nNow that the VNCDoTool no longer officially supports Python 2 we\r\ncan simplify the RPM spec file and restore compatibility with most\r\nrecent RPM packager distros.\r\n\r\nSigned-off-by: Plamen Dimitrov ","shortMessageHtmlLink":"Simplify RPM support to Python 3 only (#268)"}},{"before":"0355a94e634b5d4a7bc5ad69e3a1e06497ea92e5","after":"729602a59b17d2b6339e95a809ccc48cfad64d04","ref":"refs/heads/main","pushedAt":"2023-08-17T01:20:22.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"sibson","name":"Marc Sibson","path":"/sibson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/125162?s=80&v=4"},"commit":{"message":"create readthedocs config\n\nhttps://blog.readthedocs.com/use-build-os-config/","shortMessageHtmlLink":"create readthedocs config"}},{"before":"7a8fd3d1605028e1b4ab72f62249fe8f9873c78d","after":"0355a94e634b5d4a7bc5ad69e3a1e06497ea92e5","ref":"refs/heads/main","pushedAt":"2023-07-06T17:49:13.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"sibson","name":"Marc Sibson","path":"/sibson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/125162?s=80&v=4"},"commit":{"message":"tweak badges","shortMessageHtmlLink":"tweak badges"}},{"before":"e466e3cdc43e975a9b1b9449447a68f672dee1e2","after":"7a8fd3d1605028e1b4ab72f62249fe8f9873c78d","ref":"refs/heads/main","pushedAt":"2023-07-06T17:46:23.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"sibson","name":"Marc Sibson","path":"/sibson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/125162?s=80&v=4"},"commit":{"message":"update for 1.2.o","shortMessageHtmlLink":"update for 1.2.o"}},{"before":"b27224ae837bf84511d425d89af3681bcfc9086c","after":"e466e3cdc43e975a9b1b9449447a68f672dee1e2","ref":"refs/heads/main","pushedAt":"2023-04-28T23:25:32.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"sibson","name":"Marc Sibson","path":"/sibson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/125162?s=80&v=4"},"commit":{"message":"fix README badges","shortMessageHtmlLink":"fix README badges"}},{"before":"609d156c313f4f7e0d16b4cb3f7c57e2a0f85834","after":null,"ref":"refs/heads/black","pushedAt":"2023-04-28T23:24:18.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"sibson","name":"Marc Sibson","path":"/sibson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/125162?s=80&v=4"}},{"before":"717684fc8a15a2fddd872626a14bcc2ab11f9d7d","after":"b27224ae837bf84511d425d89af3681bcfc9086c","ref":"refs/heads/main","pushedAt":"2023-04-28T23:24:17.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"sibson","name":"Marc Sibson","path":"/sibson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/125162?s=80&v=4"},"commit":{"message":"run black code formatter (#258)","shortMessageHtmlLink":"run black code formatter (#258)"}},{"before":null,"after":"609d156c313f4f7e0d16b4cb3f7c57e2a0f85834","ref":"refs/heads/black","pushedAt":"2023-04-22T18:40:50.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"sibson","name":"Marc Sibson","path":"/sibson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/125162?s=80&v=4"},"commit":{"message":"run black code formatter","shortMessageHtmlLink":"run black code formatter"}},{"before":"bfa80890fcd931799aafb3960ef6a8266d07475f","after":null,"ref":"refs/heads/improve-exception-handling","pushedAt":"2023-04-22T11:45:07.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"sibson","name":"Marc Sibson","path":"/sibson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/125162?s=80&v=4"}},{"before":"9d47ba13871545c36761a48d1d5c6ddc18524cc7","after":"717684fc8a15a2fddd872626a14bcc2ab11f9d7d","ref":"refs/heads/main","pushedAt":"2023-04-22T11:45:06.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"sibson","name":"Marc Sibson","path":"/sibson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/125162?s=80&v=4"},"commit":{"message":"rework handling of error, ref #256, #189 (#257)\n\n* rework handling of error, ref #256, #189\r\n\r\nrevert #189, connectionLost is called after the deferred was called for\r\na successful or failed connection. Leading to AlreadyCalledError being\r\nraised\r\n\r\nFurther investigation uncovered a few bugs\r\n - api.ahutdown() if called multiple times would try to join a dead\r\n thread\r\n - renamed functions to be more readable to aid debugging\r\n - ensure we shutdown the reactor and associated threads when exiting\r\n program due to an exception. This prevents hangs because the\r\n reactor creates a ThreadPool with non-daemon threads\r\n - BREAKING, may now raise Twisted Exceptions rather than VNCDoException\r\n wrapping the underlying exceptions","shortMessageHtmlLink":"rework handling of error, ref #256, #189 (#257)"}},{"before":"e22bd5575eb21abe0270ab7c4e8a345b8d861af1","after":"bfa80890fcd931799aafb3960ef6a8266d07475f","ref":"refs/heads/improve-exception-handling","pushedAt":"2023-04-22T11:29:45.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"sibson","name":"Marc Sibson","path":"/sibson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/125162?s=80&v=4"},"commit":{"message":"add typing info","shortMessageHtmlLink":"add typing info"}},{"before":"5c25a1652cfa05a8a5a344c94ffa8d76956b0fc0","after":"e22bd5575eb21abe0270ab7c4e8a345b8d861af1","ref":"refs/heads/improve-exception-handling","pushedAt":"2023-04-22T11:26:27.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"sibson","name":"Marc Sibson","path":"/sibson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/125162?s=80&v=4"},"commit":{"message":"fix whitespace/formatting","shortMessageHtmlLink":"fix whitespace/formatting"}},{"before":"87e70b24dccf6fd2d1839696156132a7feb9beaa","after":"5c25a1652cfa05a8a5a344c94ffa8d76956b0fc0","ref":"refs/heads/improve-exception-handling","pushedAt":"2023-04-20T23:47:26.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"sibson","name":"Marc Sibson","path":"/sibson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/125162?s=80&v=4"},"commit":{"message":"whitespace\n\nCo-authored-by: Philipp Hahn ","shortMessageHtmlLink":"whitespace"}},{"before":"3dcc52f0e9419edc5be8e024d0d243f45b902982","after":"87e70b24dccf6fd2d1839696156132a7feb9beaa","ref":"refs/heads/improve-exception-handling","pushedAt":"2023-04-20T23:46:56.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"sibson","name":"Marc Sibson","path":"/sibson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/125162?s=80&v=4"},"commit":{"message":"fix types\n\nCo-authored-by: Philipp Hahn ","shortMessageHtmlLink":"fix types"}},{"before":"955c414ab5fee0bc8dde14dc07e5792be626a169","after":"3dcc52f0e9419edc5be8e024d0d243f45b902982","ref":"refs/heads/improve-exception-handling","pushedAt":"2023-04-20T23:46:26.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"sibson","name":"Marc Sibson","path":"/sibson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/125162?s=80&v=4"},"commit":{"message":"whitespace\n\nCo-authored-by: Philipp Hahn ","shortMessageHtmlLink":"whitespace"}},{"before":"b2ed04038c44a74f333dc36e3cd7e8615c46cca6","after":"955c414ab5fee0bc8dde14dc07e5792be626a169","ref":"refs/heads/improve-exception-handling","pushedAt":"2023-04-20T23:46:07.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"sibson","name":"Marc Sibson","path":"/sibson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/125162?s=80&v=4"},"commit":{"message":"remove whitespace\n\nCo-authored-by: Philipp Hahn ","shortMessageHtmlLink":"remove whitespace"}},{"before":null,"after":"b2ed04038c44a74f333dc36e3cd7e8615c46cca6","ref":"refs/heads/improve-exception-handling","pushedAt":"2023-04-20T00:55:42.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"sibson","name":"Marc Sibson","path":"/sibson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/125162?s=80&v=4"},"commit":{"message":"rework handling of error, ref #256, #189\n\nrevert #189, connectionLost is called after the deferred was called for\na successful or failed connection. Leading to AlreadyCalledError being\nraised\n\nFurther investigation uncovered a few bugs\n - api.ahutdown() if called multiple times would try to join a dead\n thread\n - renamed functions to be more readable to aid debugging\n - ensure we shutdown the reactor and associated threads when exiting\n program due to an exception. This prevents hangs because the\n reactor creates a ThreadPool with non-daemon threads\n - BREAKING, may now raise Twisted Exceptions rather than VNCDoException\n wrapping the underlying exceptions","shortMessageHtmlLink":"rework handling of error, ref #256, #189"}},{"before":"528e74a4f9bba9f3813ea93cab3e572286189ca4","after":"9d47ba13871545c36761a48d1d5c6ddc18524cc7","ref":"refs/heads/main","pushedAt":"2023-04-01T18:19:45.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"sibson","name":"Marc Sibson","path":"/sibson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/125162?s=80&v=4"},"commit":{"message":"add twine to dev requirements","shortMessageHtmlLink":"add twine to dev requirements"}},{"before":"8492abf347566c36f67ea368d70ddaabf931719b","after":"528e74a4f9bba9f3813ea93cab3e572286189ca4","ref":"refs/heads/main","pushedAt":"2023-04-01T18:19:14.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"sibson","name":"Marc Sibson","path":"/sibson","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/125162?s=80&v=4"},"commit":{"message":"skip functional tests on relaese as they don't reliably work","shortMessageHtmlLink":"skip functional tests on relaese as they don't reliably work"}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAD0FijCQA","startCursor":null,"endCursor":null}},"title":"Activity ยท sibson/vncdotool"}