Simple policy reasons for instance specific policies
This is for be-mr pleroma!2964 (closed) and issue pleroma#1850 (closed)
The idea is to also give a reason instead of only a list of rejected/muted/etc. instances. It's my first time working on vue and first time working on js in a project of this size, so pls don't be too hard on me, but do be strict so I can learn
What I did
- In the BE I added two extra keys in the nodeinfo to get this extra info (so we wouldn't break backwards compatibility). The keys are
mrf_simple_info
andquarantined_instances_info
. It is of the form
"quarantined_instances_info": {
"quarantined_instances": {
"example.com": {
"reason": "whatever reason"
},
"other.example.com": {
"reason": "other reason"
}
}
}
- The about page now has a table for the instances and reasons. The first column is 180px wide which should be enough for more than 25 characters. I checked my DB and instance names of 26 characters and more are much less common then 25, so this seems like a good default width to me. I also added some padding to the left and bottom of the tables.
length|count|
------|-----|
| 15|
61| 4|
60| 2|
50| 1|
43| 2|
41| 1|
37| 4|
35| 1|
34| 1|
33| 2|
32| 15|
31| 6|
30| 9|
29| 31|
28| 12|
27| 49|
26| 61|
25| 120|
24| 189|
23| 563|
22| 351|
21| 335|
20| 562|
19| 766|
18| 1156|
- BE's without these changes in nodeinfo can still use this FE and older FE's work on BE's with these changes in nodeinfo.
- I added localisation for English and Dutch (I don't feel comfortable enough to do other languages). When no reason is provided a localised N/A is shown.
- I extracted the css to a seperate file and added new css for the table.
Example
Edited by Ilja