Report #3546
removing ns-persona source does not remove stock personas from "personalities" menu
source | armelthelae |
---|---|
version | 0.5.1 |
status | RES |
priority | TRI |
target fix | 0.5.2 |
report date | 2024-08-30 15:55:40 |
report | Unmounting the "ns-persona" mount does not remove the default personas from the "personalities" menu, even after things such as "@fs scan", "@fs rebuild ns-persona" (which understandably throws an error while ns-persona is unmounted), and (even if the source is removed from fs.source in the database) a full =ddt reset. The mount does not show up in the returned list for "@fs" but these personas persist in the menu regardless. |
2 months ago
rhet0rica:
I wasn't able to reproduce this on 0.5.2, so I'm marking it closed for now. But here's the full breakdown of what needs to be done to add/remove personas from ns-persona in the actual personalities menu:
- _storage downloads the index of the ns-persona web source from my.nanite-systems.com and saves it in LSD:fs:ns-persona
- _storage tells _fs to rebuild LSD:fs:root, first by removing all files that claim to be from the ns-persona source, then re-adding all files currently in LSD:fs:ns-persona. At the same time, _fs builds the filesystem view LSD:fs:persona according to its spec (*.p); this is the list @persona sees.
- When the persona menu is opened, the 'refresh' button is automatically pressed. This executes '@libmenu rebuild persona', which looks for a matching view (LSD:fs:persona) and generates buttons for them in m:persona.d
- When the refresh command is finished, _menu is sent a job receipt (SIGNAL_DONE) and redisplays the menu, which is then sent out over the appropriate protocol (variatype or light bus) to the actual display device.