aboutsummaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)Author
2024-09-29verbose: test verbose behaviourOphestra Umiker
Signed-off-by: Ophestra Umiker <cat@ophivana.moe>
2024-09-29dbus: test child process handling behaviour via helper stubOphestra Umiker
Signed-off-by: Ophestra Umiker <cat@ophivana.moe>
2024-09-29dbus: configurable xdg-dbus-proxy outputOphestra Umiker
Signed-off-by: Ophestra Umiker <cat@ophivana.moe>
2024-09-29dbus: toggleable xdg-dbus-proxy outputOphestra Umiker
Signed-off-by: Ophestra Umiker <cat@ophivana.moe>
2024-09-29helper: export internal stub functions for cross-package testingOphestra Umiker
Signed-off-by: Ophestra Umiker <cat@ophivana.moe>
2024-09-29helper: test child process handlingOphestra Umiker
The stub child process simulates reading from the argument fd and copies the entire payload unmodified to stdout. If status pipe is enabled it will simulate sync fd behaviour as well. Signed-off-by: Ophestra Umiker <cat@ophivana.moe>
2024-09-29helper: remove unreachable checkOphestra Umiker
Signed-off-by: Ophestra Umiker <cat@ophivana.moe>
2024-09-29helper: stub helper for testsOphestra Umiker
Signed-off-by: Ophestra Umiker <cat@ophivana.moe>
2024-09-28dbus: add more test casesOphestra Umiker
Signed-off-by: Ophestra Umiker <cat@ophivana.moe>
2024-09-28dbus: replace test suffix * with +Ophestra Umiker
Signed-off-by: Ophestra Umiker <cat@ophivana.moe>
2024-09-28dbus: seal test error check for correct error returnedOphestra Umiker
Signed-off-by: Ophestra Umiker <cat@ophivana.moe>
2024-09-28release: 0.0.0-beta.5Ophestra Umiker
Signed-off-by: Ophestra Umiker <cat@ophivana.moe>
2024-09-28dbus: add testsOphestra Umiker
Signed-off-by: Ophestra Umiker <cat@ophivana.moe>
2024-09-27dbus/config: implement file loading functionsOphestra Umiker
Signed-off-by: Ophestra Umiker <cat@ophivana.moe>
2024-09-27dbus: return exported error for nil configOphestra Umiker
Signed-off-by: Ophestra Umiker <cat@ophivana.moe>
2024-09-27dbus/config: remove unused methodOphestra Umiker
Null checking is replaced by helper/args while string building is no longer required. Signed-off-by: Ophestra Umiker <cat@ophivana.moe>
2024-09-25helper/args: simplify argument parsing and eliminate excess memory copiesOphestra Umiker
Signed-off-by: Ophestra Umiker <cat@ophivana.moe>
2024-09-25dbus: use generalised helper.Helper for xdg-dbus-proxyOphestra Umiker
Signed-off-by: Ophestra Umiker <cat@ophivana.moe>
2024-09-25helper: clean up and separate helper process management from dbusOphestra Umiker
The previous code was poorly documented and made little sense in some parts. This is a generalised and cleaned up implementation in the helper package making use of the Args interface. Signed-off-by: Ophestra Umiker <cat@ophivana.moe>
2024-09-24helper/args: hold a read lock in WriteToOphestra Umiker
Signed-off-by: Ophestra Umiker <cat@ophivana.moe>
2024-09-24dbus: assert fmt.Stringer instead of helper.Args on argument sealOphestra Umiker
Signed-off-by: Ophestra Umiker <cat@ophivana.moe>
2024-09-24dbus: seal as io.WriterTo interfaceOphestra Umiker
Signed-off-by: Ophestra Umiker <cat@ophivana.moe>
2024-09-24helper: separate helper args fd builder from dbusOphestra Umiker
This method of passing arguments is used in bubblewrap as well as other tools, this commit separates the argument builder/writer to the helper package and generalise it as an interface. Signed-off-by: Ophestra Umiker <cat@ophivana.moe>
2024-09-24app: improve dbus proxy verbose messagesOphestra Umiker
Signed-off-by: Ophestra Umiker <cat@ophivana.moe>
2024-09-23nix: make bubblewrap available in PATHOphestra Umiker
Signed-off-by: Ophestra Umiker <cat@ophivana.moe>
2024-09-22state: round printed uptime to the secondOphestra Umiker
Signed-off-by: Ophestra Umiker <cat@ophivana.moe>
2024-09-22nix: remove obnoxious shell hookOphestra Umiker
Signed-off-by: Ophestra Umiker <cat@ophivana.moe>
2024-09-22release: 0.0.0-beta.4Ophestra Umiker
Signed-off-by: Ophestra Umiker <cat@ophivana.moe>
2024-09-22app: clean up interactions and handle all application state and setup/teardownOphestra Umiker
There was an earlier attempt of cleaning up the app package however it ended up creating even more of a mess and the code structure largely still looked like Ego with state setup scattered everywhere and a bunch of ugly hacks had to be implemented to keep track of all of them. In this commit the entire app package is rewritten to track everything that has to do with an app in one thread safe value. In anticipation of the client/server split also made changes: - Console messages are cleaned up to be consistent - State tracking is fully rewritten to be cleaner and usable for multiple process and client/server - Encapsulate errors to easier identify type of action causing the error as well as additional info - System-level setup operations is grouped in a way that can be collectively committed/reverted and gracefully handles errors returned by each operation - Resource sharing is made more fine-grained with PID-scoped resources whenever possible, a few remnants (X11, Wayland, PulseAudio) will be addressed when a generic proxy is available - Application setup takes a JSON-friendly config struct and deterministically generates system setup operations Signed-off-by: Ophestra Umiker <cat@ophivana.moe>
2024-09-21acl: define Go type alias for acl_perm_tOphestra Umiker
Define exported type alias for C.acl_perm_t and accept that for UpdatePerm. This makes representing its function signature significantly less cumbersome. Signed-off-by: Ophestra Umiker <cat@ophivana.moe>
2024-09-17release: 0.0.0-beta.3Ophestra Umiker
Signed-off-by: Ophestra Umiker <cat@ophivana.moe>
2024-09-17nix: include package buildInputs in devShellsOphestra Umiker
Signed-off-by: Ophestra Umiker <cat@ophivana.moe>
2024-09-17exit: move final and early code to internal packageOphestra Umiker
Exit cleanup state information is now stored in a dedicated struct and built up using methods of that struct. Signed-off-by: Ophestra Umiker <cat@ophivana.moe>
2024-09-16release: 0.0.0-beta.2Ophestra Umiker
This project started as a Go implementation of https://github.com/intgr/ego. That is clearly no longer what it is anymore and the tagged releases no longer made sense, so we're going back to v0. Signed-off-by: Ophestra Umiker <cat@ophivana.moe>
2024-09-16move acl and xcb binding packages to top levelOphestra Umiker
These packages are reasonably clean and do not interact with other packages. Signed-off-by: Ophestra Umiker <cat@ophivana.moe>
2024-09-16final: refactor for removal of system package and reduction of interactions ↵Ophestra Umiker
to state package State query command has been moved to main where it belongs, "system" information are now fetched in app.New and stored in *App with accessors for relevant values. Exit (cleanup-related) functions are separated into its dedicated "final" package. Signed-off-by: Ophestra Umiker <cat@ophivana.moe>
2024-09-13nix: pass method string directlyOphestra Umiker
Signed-off-by: Ophestra Umiker <cat@ophivana.moe>
2024-09-13flag: move method flag from mainOphestra Umiker
Signed-off-by: Ophestra Umiker <cat@ophivana.moe>
2024-09-12verbose: remove system package interactionOphestra Umiker
Signed-off-by: Ophestra Umiker <cat@ophivana.moe>
2024-09-12app: handle launch method in New functionOphestra Umiker
Signed-off-by: Ophestra Umiker <cat@ophivana.moe>
2024-09-11enable filter in README exampleOphestra Umiker
Signed-off-by: Ophestra Umiker <cat@ophivana.moe>
2024-09-09nix: fix typo in nixos module implementation previously missed due to lazy evalOphestra Umiker
Signed-off-by: Ophestra Umiker <cat@ophivana.moe>
2024-09-09update README documentOphestra Umiker
Signed-off-by: Ophestra Umiker <cat@ophivana.moe>
2024-09-09app/run: empty launcher environmentOphestra Umiker
The launcher process should not receive the child's environment. Signed-off-by: Ophestra Umiker <cat@ophivana.moe>
2024-09-09nix: implement dbus-system option in nixos moduleOphestra Umiker
Signed-off-by: Ophestra Umiker <cat@ophivana.moe>
2024-09-09app/dbus: accept system bus configOphestra Umiker
Signed-off-by: Ophestra Umiker <cat@ophivana.moe>
2024-09-09dbus/config: seal with session and system bus proxyOphestra Umiker
Signed-off-by: Ophestra Umiker <cat@ophivana.moe>
2024-09-09dbus/config: fix builtin defaultsOphestra Umiker
Signed-off-by: Ophestra Umiker <cat@ophivana.moe>
2024-09-09dbus/config: document fields and add --call and --broadcastOphestra Umiker
Signed-off-by: Ophestra Umiker <cat@ophivana.moe>
2024-09-09release: 1.1.0Ophestra Umiker
Signed-off-by: Ophestra Umiker <cat@ophivana.moe>