internal/app: copy parts of config to state
All checks were successful
Test / Create distribution (push) Successful in 35s
Test / Sandbox (push) Successful in 2m12s
Test / Hakurei (push) Successful in 3m7s
Test / Hpkg (push) Successful in 4m4s
Test / Sandbox (race detector) (push) Successful in 4m30s
Test / Hakurei (race detector) (push) Successful in 5m20s
Test / Flake checks (push) Successful in 1m34s

This is less error-prone than passing the address to the entire hst.Config struct, and reduces the likelihood of accidentally clobbering hst.Config. This also improves ease of testing.

Signed-off-by: Ophestra <cat@gensokyo.uk>
This commit is contained in:
2025-10-10 03:19:09 +09:00
parent 22ee5ae151
commit 109aaee659
8 changed files with 45 additions and 25 deletions

View File

@@ -18,7 +18,7 @@ type spWaylandOp struct {
}
func (s *spWaylandOp) toSystem(state *outcomeStateSys) error {
if state.config.Enablements.Unwrap()&hst.EWayland == 0 {
if state.et&hst.EWayland == 0 {
return errNotEnabled
}
@@ -33,14 +33,14 @@ func (s *spWaylandOp) toSystem(state *outcomeStateSys) error {
socketPath = a
}
if !state.config.DirectWayland { // set up security-context-v1
appID := state.config.ID
if appID == "" {
if !state.directWayland { // set up security-context-v1
appId := state.appId
if appId == "" {
// use instance ID in case app id is not set
appID = "app.hakurei." + state.id.String()
appId = "app.hakurei." + state.id.String()
}
// downstream socket paths
state.sys.Wayland(state.instance().Append("wayland"), socketPath, appID, state.id.String())
state.sys.Wayland(state.instance().Append("wayland"), socketPath, appId, state.id.String())
} else { // bind mount wayland socket (insecure)
state.msg.Verbose("direct wayland access, PROCEED WITH CAUTION")
state.ensureRuntimeDir()