@@ -0,0 +1,41 @@
1++++
2+
3+title = "Clean up generators for managing desks"
4+date = "2023-02-10"
5+
6+[taxonomies]
7+grant_type = ["Bounty"]
8+grant_category = ["Core Dev"]
9+
10+[extra]
11+image = ""
12+description = "Improve tooling to manage misbehaving desks"
13+reward = "1 star"
14+assignee = [""]
15+champion = [""]
16+grant_id = "B0236"
17+completed = false
18+canceled = false
19+work_request_link = "https://airtable.com/shr4qt9t9kz7RaOIa?prefillGrant+ID=&prefillGrant+Name=Clean%20up%20generators%20for%20managing%20desks"
20+
21++++
22+
23+# Clean up generators for managing desks
24+
25+## Overview
26+
27+A common support issue is an installed app blocking the upgrade of the whole system. In a decentralized application distribution environment like Urbit, this is likely to remain an issue for some time. This bounty is to clean up the tooling to 1) identify that an app(s) is blocking upgrade and 2) take corrective action. Landscape has a UI for this, but many support issues end up using the CLI, so there should be parity.
28+
29+## Implementation
30+
31+1. Update the logic of the `+vat` and `+vats` generator to insert a warning when an application is blocking an update. You can see how Landscape determines this [here](https://github.com/tloncorp/landscape/blob/master/ui/src/logic/useSystemUpdate.tsx#L9).
32+
33+2. At the end of the printed report of `+vats` append instructions to suspend the offending apps, eg. `to unblock your upgrade, run |suspend %foo %bar %baz`.
34+
35+3. Update the `|suspend` generator to take multiple desks (it currently would need to be done one at a time).
36+
37+4. Change the `+vat` and `+vats` generators to be called `+dek` and `+deks`.
38+
39+## Compensation
40+
41+1 Star