# Clear the mountpoint before starting, so a start that follows a crash lands
# on clean ground.
#
# This service provides the fuse mount at /run/user/$UID/doc, and bwrap binds
# doc/by-app/<id> into every flatpak sandbox it builds. No mount, no sandbox,
# no application -- all of them, not one, because they all share this.
#
# The shipped unit is Type=dbus with Restart=no, so nothing restarts it on
# failure: it comes back only when something next calls its bus name. On this
# machine that was a flatpak launching two seconds after the daemon exited
# 21, and the activation raced the dying instance's fuse state and came up
# with no mount at all. systemctl then reports active (running) -- the
# fusermount3 helper is even still there as a child -- while every new sandbox
# fails. Nothing running at the time notices, because a sandbox needs the
# mount only while it is being built, so the breakage surfaces whenever you
# next open something you had not opened yet. Here that was three days later,
# and it was the second time: the first was written off as a one-off.
#
# `-` because a clean start has nothing to unmount and fusermount3 exits 1
# saying so, which is not a failure to start on.
[Service]
ExecStartPre=-/usr/bin/fusermount3 -u /run/user/%U/doc
