From the README: "[git-forge is a] simple CLI tool for basic interactions with issues and pull requests across GitHub, GitLab, Gitea, and Forgejo".
Right now, I am looking into better testing. Currently, I do testing by mocking the forge APIs and then running git-forge against them with TypeScript. But not everything is testable that way. The TUI is pretty much untested. So I now want to port at least the tests to Rust (I am probably gonna leave the mock API in TS) and need to look into how to tests TUIs, which is a bit of a challenge since not only is Rust my first "systems programming language", I am also not knowledgable in Terminal/TUIs...
The problem is that the extension experience can be really bad. There is no extension API; instead Extensions have (almost) full access to GNOME Shell's code.
This makes them incredibly powerful and flexible... but also fragile. Extensions can crash GNOME Shell/mutter. On Wayland that means your entire session goes down with GNOME Shell. Extensions can interfere with each other, and if you are an extension developer, you may need to update (or at least check) your extension every 6 months (GNOMEs release cycle).
Extension lives in the same memory space as the shell, so it’s up to the developer to restrict themselves to not touch internal API. Also, GNOME give you plenty of warning in the changelog (and the changes are usually small).
From the README: "[git-forge is a] simple CLI tool for basic interactions with issues and pull requests across GitHub, GitLab, Gitea, and Forgejo".
Right now, I am looking into better testing. Currently, I do testing by mocking the forge APIs and then running git-forge against them with TypeScript. But not everything is testable that way. The TUI is pretty much untested. So I now want to port at least the tests to Rust (I am probably gonna leave the mock API in TS) and need to look into how to tests TUIs, which is a bit of a challenge since not only is Rust my first "systems programming language", I am also not knowledgable in Terminal/TUIs...
reply