{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":751389700,"defaultBranch":"master","name":"moulti","ownerLogin":"xavierog","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2024-02-01T14:16:42.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/18504173?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1725854968.0","currentOid":""},"activityList":{"items":[{"before":"20e8727687bb5d3e53f5af260ec14dfe1e4b707f","after":"bd5946feb0fb7f715cdfc2be55c7add71ee18e3f","ref":"refs/heads/devel","pushedAt":"2024-09-10T05:09:18.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"xavierog","name":"Xavier G.","path":"/xavierog","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/18504173?s=80&v=4"},"commit":{"message":"diff: add delta integration.","shortMessageHtmlLink":"diff: add delta integration."}},{"before":"f346abb6b6dd6978800a8361a592d774d65cb06f","after":"20e8727687bb5d3e53f5af260ec14dfe1e4b707f","ref":"refs/heads/master","pushedAt":"2024-09-09T04:09:28.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"xavierog","name":"Xavier G.","path":"/xavierog","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/18504173?s=80&v=4"},"commit":{"message":"Tag v1.18.1.","shortMessageHtmlLink":"Tag v1.18.1."}},{"before":"f346abb6b6dd6978800a8361a592d774d65cb06f","after":"20e8727687bb5d3e53f5af260ec14dfe1e4b707f","ref":"refs/heads/devel","pushedAt":"2024-09-09T04:09:28.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"xavierog","name":"Xavier G.","path":"/xavierog","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/18504173?s=80&v=4"},"commit":{"message":"Tag v1.18.1.","shortMessageHtmlLink":"Tag v1.18.1."}},{"before":"f25d7efcdfa2e9a250403f58ecd712ee55bc5966","after":"f346abb6b6dd6978800a8361a592d774d65cb06f","ref":"refs/heads/master","pushedAt":"2024-09-07T22:09:36.000Z","pushType":"push","commitsCount":24,"pusher":{"login":"xavierog","name":"Xavier G.","path":"/xavierog","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/18504173?s=80&v=4"},"commit":{"message":"Tag v1.18.0.","shortMessageHtmlLink":"Tag v1.18.0."}},{"before":"4524f56d62e233487c49dbdfec0497919c48383f","after":"f346abb6b6dd6978800a8361a592d774d65cb06f","ref":"refs/heads/devel","pushedAt":"2024-09-07T22:09:36.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"xavierog","name":"Xavier G.","path":"/xavierog","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/18504173?s=80&v=4"},"commit":{"message":"Tag v1.18.0.","shortMessageHtmlLink":"Tag v1.18.0."}},{"before":"f25d7efcdfa2e9a250403f58ecd712ee55bc5966","after":"4524f56d62e233487c49dbdfec0497919c48383f","ref":"refs/heads/devel","pushedAt":"2024-09-07T19:22:50.000Z","pushType":"push","commitsCount":23,"pusher":{"login":"xavierog","name":"Xavier G.","path":"/xavierog","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/18504173?s=80&v=4"},"commit":{"message":"Examples: add moulti-needle-haystack.bash.","shortMessageHtmlLink":"Examples: add moulti-needle-haystack.bash."}},{"before":"0016c803a06886e9e16f1ea2696cf9e3bdb6e710","after":"f25d7efcdfa2e9a250403f58ecd712ee55bc5966","ref":"refs/heads/master","pushedAt":"2024-08-25T21:11:56.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"xavierog","name":"Xavier G.","path":"/xavierog","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/18504173?s=80&v=4"},"commit":{"message":"Tag v1.17.0.","shortMessageHtmlLink":"Tag v1.17.0."}},{"before":"7ab759624b5d9b3fc75048c35789322a3c40007e","after":"f25d7efcdfa2e9a250403f58ecd712ee55bc5966","ref":"refs/heads/devel","pushedAt":"2024-08-25T21:11:56.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"xavierog","name":"Xavier G.","path":"/xavierog","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/18504173?s=80&v=4"},"commit":{"message":"Tag v1.17.0.","shortMessageHtmlLink":"Tag v1.17.0."}},{"before":"6ecbd0449c1794ee9a71cdaef2b19160ac0c7e22","after":"7ab759624b5d9b3fc75048c35789322a3c40007e","ref":"refs/heads/devel","pushedAt":"2024-08-25T21:07:38.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"xavierog","name":"Xavier G.","path":"/xavierog","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/18504173?s=80&v=4"},"commit":{"message":"OCI: improve build script.\n\nThis change ensures the moulti-demo image is built upon a base system that has\nat least one upgradable package.","shortMessageHtmlLink":"OCI: improve build script."}},{"before":"5efe894303248242e456c76a19631c5f4d83cf1f","after":"6ecbd0449c1794ee9a71cdaef2b19160ac0c7e22","ref":"refs/heads/devel","pushedAt":"2024-08-25T20:49:30.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"xavierog","name":"Xavier G.","path":"/xavierog","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/18504173?s=80&v=4"},"commit":{"message":"OCI: improve build script.\n\nThis change ensures the moulti-demo image is built upon a base system that has\nat least one upgradable package.","shortMessageHtmlLink":"OCI: improve build script."}},{"before":"7cbf1958979b97a6c36ecd9068b66ded5316e709","after":"5efe894303248242e456c76a19631c5f4d83cf1f","ref":"refs/heads/devel","pushedAt":"2024-08-25T11:33:34.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"xavierog","name":"Xavier G.","path":"/xavierog","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/18504173?s=80&v=4"},"commit":{"message":"Ansible callback plugin: deal with -J.\n\nansible-playbook -J (--ask-vault-password) may leverage getpass.getpass() and\nthus interact with /dev/tty, which is not desirable.\nThis commit replaces those options with environment variable\nANSIBLE_VAULT_PASSWORD_FILE pointing to yet another specialized variant of\nmoulti-askpass.","shortMessageHtmlLink":"Ansible callback plugin: deal with -J."}},{"before":"0016c803a06886e9e16f1ea2696cf9e3bdb6e710","after":"7cbf1958979b97a6c36ecd9068b66ded5316e709","ref":"refs/heads/devel","pushedAt":"2024-08-24T23:12:54.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"xavierog","name":"Xavier G.","path":"/xavierog","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/18504173?s=80&v=4"},"commit":{"message":"Ansible callback plugin: deal with -k and -K.\n\nansible-playbook -k (--ask-pass) and -K (--ask-become-pass) leverage\ngetpass.getpass() and thus interact with /dev/tty, which is not desirable.\nThis commit replaces those options with environment variables pointing to\nspecialized variants of moulti-askpass.","shortMessageHtmlLink":"Ansible callback plugin: deal with -k and -K."}},{"before":"d09fefa69ba6751e6891295c455a552c98995a7f","after":"0016c803a06886e9e16f1ea2696cf9e3bdb6e710","ref":"refs/heads/master","pushedAt":"2024-08-23T21:36:29.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"xavierog","name":"Xavier G.","path":"/xavierog","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/18504173?s=80&v=4"},"commit":{"message":"ChangeLog: fix 1.16.0 title.","shortMessageHtmlLink":"ChangeLog: fix 1.16.0 title."}},{"before":"d09fefa69ba6751e6891295c455a552c98995a7f","after":"0016c803a06886e9e16f1ea2696cf9e3bdb6e710","ref":"refs/heads/devel","pushedAt":"2024-08-23T21:36:29.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"xavierog","name":"Xavier G.","path":"/xavierog","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/18504173?s=80&v=4"},"commit":{"message":"ChangeLog: fix 1.16.0 title.","shortMessageHtmlLink":"ChangeLog: fix 1.16.0 title."}},{"before":"1137ff718a0f5ddd186e718bc6c5594d1d0d302a","after":"d09fefa69ba6751e6891295c455a552c98995a7f","ref":"refs/heads/master","pushedAt":"2024-08-23T21:32:41.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"xavierog","name":"Xavier G.","path":"/xavierog","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/18504173?s=80&v=4"},"commit":{"message":"Tag v1.16.0.","shortMessageHtmlLink":"Tag v1.16.0."}},{"before":"266f2d43e02433ee10c55442b3514aaf80cca1e7","after":"d09fefa69ba6751e6891295c455a552c98995a7f","ref":"refs/heads/devel","pushedAt":"2024-08-23T21:32:41.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"xavierog","name":"Xavier G.","path":"/xavierog","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/18504173?s=80&v=4"},"commit":{"message":"Tag v1.16.0.","shortMessageHtmlLink":"Tag v1.16.0."}},{"before":"533a11662897adb03a5467b8eb43254bd1df99f1","after":"266f2d43e02433ee10c55442b3514aaf80cca1e7","ref":"refs/heads/devel","pushedAt":"2024-08-22T23:41:56.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"xavierog","name":"Xavier G.","path":"/xavierog","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/18504173?s=80&v=4"},"commit":{"message":"moulti pass: significant performance improvement.\n\nThis commit complements the previous one by preventing expensive calls to\nText.from_ansi() for ANSI lines that end with a \"reset\" ANSI escape sequence.","shortMessageHtmlLink":"moulti pass: significant performance improvement."}},{"before":"b21c1569c95d13212f39f862c7a4d14c54c59fb8","after":"533a11662897adb03a5467b8eb43254bd1df99f1","ref":"refs/heads/devel","pushedAt":"2024-08-22T14:09:21.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"xavierog","name":"Xavier G.","path":"/xavierog","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/18504173?s=80&v=4"},"commit":{"message":"moulti pass: significant performance improvement.\n\nThis commit brings a huge revamp that intends to bring much better performance\nwhen ingesting a significant number of lines into a step.\nSpecifically:\n- Step still uses MoultiLog, but MoultiLog no longer leverages Textual's\n RichLog widget.\n- Instead, MoultiLog leverages Textual's Line API to implement fewer features\n in a simpler, faster fashion:\n - ingestion is now a trivial operation\n - rendering is done in a lazy fashion: str and Text lines are not turned into\n Strip lines until they are actually displayed.\n- In return, MoultiLog is more complex to use: it accepts only a list of lines\n (str, Text or Strip) and must be provided with their maximum cell length.\n- Additionally, Step.append_from_queue and related functions were rewritten\n with performance in mind.\n- In particular, computing the maximum cell length was made faster by\n evaluating worst-case scenarios before and during the actual computation.\n- Textual's RichLog widget is still used to implement the console.\n- Step and MoultiConsoleLog share some common code through ToLinesMixin.","shortMessageHtmlLink":"moulti pass: significant performance improvement."}},{"before":"a1cdeac750abe16a6d8790ae6422cd7cbbcaad6d","after":"b21c1569c95d13212f39f862c7a4d14c54c59fb8","ref":"refs/heads/devel","pushedAt":"2024-08-12T10:27:33.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"xavierog","name":"Xavier G.","path":"/xavierog","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/18504173?s=80&v=4"},"commit":{"message":"Step: add control over inner auto-scrolling.","shortMessageHtmlLink":"Step: add control over inner auto-scrolling."}},{"before":"f59eee6a9faf084a3263a317a130cc57754294e8","after":"a1cdeac750abe16a6d8790ae6422cd7cbbcaad6d","ref":"refs/heads/devel","pushedAt":"2024-08-12T08:54:34.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"xavierog","name":"Xavier G.","path":"/xavierog","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/18504173?s=80&v=4"},"commit":{"message":"MoultiLog: remove obsolete workaround.\n\nIt is no longer necessary to alter the behaviour of get_content_height()\nas Textual 0.76.0 introduced this change:\n Widgets with auto dimensions will now grow if there is a scrollbar #4844","shortMessageHtmlLink":"MoultiLog: remove obsolete workaround."}},{"before":"1137ff718a0f5ddd186e718bc6c5594d1d0d302a","after":"f59eee6a9faf084a3263a317a130cc57754294e8","ref":"refs/heads/devel","pushedAt":"2024-08-11T14:36:17.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"xavierog","name":"Xavier G.","path":"/xavierog","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/18504173?s=80&v=4"},"commit":{"message":"MoultiLog: remove obsolete workaround.\n\nIt is no longer necessary to alter the behaviour of get_content_height()\nas Textual 0.76.0 introduced this change:\n Widgets with auto dimensions will now grow if there is a scrollbar #4844","shortMessageHtmlLink":"MoultiLog: remove obsolete workaround."}},{"before":"e424d8cc9580485daa63af32c59096ab2c1cbdb9","after":"1137ff718a0f5ddd186e718bc6c5594d1d0d302a","ref":"refs/heads/master","pushedAt":"2024-08-11T06:04:06.000Z","pushType":"push","commitsCount":12,"pusher":{"login":"xavierog","name":"Xavier G.","path":"/xavierog","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/18504173?s=80&v=4"},"commit":{"message":"Tag v1.15.0.","shortMessageHtmlLink":"Tag v1.15.0."}},{"before":"f6e150c9fabb895cee521d32e37b120bbf73275a","after":"1137ff718a0f5ddd186e718bc6c5594d1d0d302a","ref":"refs/heads/devel","pushedAt":"2024-08-11T06:04:06.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"xavierog","name":"Xavier G.","path":"/xavierog","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/18504173?s=80&v=4"},"commit":{"message":"Tag v1.15.0.","shortMessageHtmlLink":"Tag v1.15.0."}},{"before":"3f34b354c132ffdbcb91b1c18bbfea7b22f79be6","after":"f6e150c9fabb895cee521d32e37b120bbf73275a","ref":"refs/heads/devel","pushedAt":"2024-08-10T14:21:10.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"xavierog","name":"Xavier G.","path":"/xavierog","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/18504173?s=80&v=4"},"commit":{"message":"Ansible callback plugin: introduce MOULTI_ANSIBLE_COLLAPSE.","shortMessageHtmlLink":"Ansible callback plugin: introduce MOULTI_ANSIBLE_COLLAPSE."}},{"before":"aa8c124d80e7e968a31f1f3a43bec223590f7029","after":"3f34b354c132ffdbcb91b1c18bbfea7b22f79be6","ref":"refs/heads/devel","pushedAt":"2024-08-10T07:53:19.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"xavierog","name":"Xavier G.","path":"/xavierog","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/18504173?s=80&v=4"},"commit":{"message":"Ansible callback plugin: introduce MOULTI_ANSIBLE_COLLAPSE.","shortMessageHtmlLink":"Ansible callback plugin: introduce MOULTI_ANSIBLE_COLLAPSE."}},{"before":"3498c68a32754f01618f604cf56b2b66685be131","after":"aa8c124d80e7e968a31f1f3a43bec223590f7029","ref":"refs/heads/devel","pushedAt":"2024-08-09T14:22:07.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"xavierog","name":"Xavier G.","path":"/xavierog","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/18504173?s=80&v=4"},"commit":{"message":"Footer: the `Lock scroll` keybinding now displays \"Unlock scroll\".","shortMessageHtmlLink":"Footer: the Lock scroll keybinding now displays \"Unlock scroll\"."}},{"before":"d2adc9d843aa10c3c71f40762f66e00af9081900","after":"3498c68a32754f01618f604cf56b2b66685be131","ref":"refs/heads/devel","pushedAt":"2024-08-09T12:30:07.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"xavierog","name":"Xavier G.","path":"/xavierog","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/18504173?s=80&v=4"},"commit":{"message":"Remove obsolete statements.\n\nThese statements are no longer required as Moulti now requires\nTextual >= 0.76.0.","shortMessageHtmlLink":"Remove obsolete statements."}},{"before":"96bb30bd71d320b8465769659ce7a6db310976fc","after":"d2adc9d843aa10c3c71f40762f66e00af9081900","ref":"refs/heads/devel","pushedAt":"2024-08-09T12:17:18.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"xavierog","name":"Xavier G.","path":"/xavierog","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/18504173?s=80&v=4"},"commit":{"message":"Remove obsolete statements.\n\nThese statements are no longer required as Moulti now requires\nTextual >= 0.76.0.","shortMessageHtmlLink":"Remove obsolete statements."}},{"before":"2300d5011881350e055a6e42c8556e18675146ba","after":"96bb30bd71d320b8465769659ce7a6db310976fc","ref":"refs/heads/devel","pushedAt":"2024-08-08T10:04:23.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"xavierog","name":"Xavier G.","path":"/xavierog","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/18504173?s=80&v=4"},"commit":{"message":"buttonquestion: improve handling of invalid styles.","shortMessageHtmlLink":"buttonquestion: improve handling of invalid styles."}},{"before":"99fdab502e840b6d8d176dec2f5f4437adf57947","after":"2300d5011881350e055a6e42c8556e18675146ba","ref":"refs/heads/devel","pushedAt":"2024-08-07T10:56:01.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"xavierog","name":"Xavier G.","path":"/xavierog","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/18504173?s=80&v=4"},"commit":{"message":"Collapse/expand both existing and new steps.","shortMessageHtmlLink":"Collapse/expand both existing and new steps."}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0xMFQwNTowOToxOC4wMDAwMDBazwAAAASxn4H0","startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0xMFQwNTowOToxOC4wMDAwMDBazwAAAASxn4H0","endCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOC0wN1QxMDo1NjowMS4wMDAwMDBazwAAAASUEX4_"}},"title":"Activity ยท xavierog/moulti"}