PDA

View Full Version : Potential Bug with read only modules



Nightstride
October 2nd, 2025, 16:15
I'm not entirely sure if this is a bug or not, but I found that if you manage to modify a record that is a part of a read only record, the state of the record doesn't change to the modified state on the element or in the associated database list, however the revert action still works via the database list.

A way that should be able to reproduce the issue:
- create a new ruleset with, say, an NPC that is only a number field. Do not add any read only handling when the lock is set.
- open the new ruleset as a campaign
- create a new NPC and add some value to the number field and export as a module as a read only module.
- open the exported module in the ruleset
- open the new NPC
- modify the number. (If the number cannot be changed, something isn't setup as intended for this flow)
- observe both the header and the state of the icon in the element database list, the icon either doesn't change from the book icon or doesn't exist in the header
- click the book icon of the modified element, the revert functionality should work as intended.

Given the revert functionality still works makes me think this is a bug. I'm able to see this issue in the Cyberpunk Red ruleset, and in my testing it's only an issue when the module is read only. (Although...I just realized that I may have only tested toggling the lock in the non read only module. I'll update this thread when I get time to test it again)

EDIT: I did some more testing and it appears that when the module is marked not read only, when the lock is locked, it allows no editing whatsoever, but if you force something to change, it will display the revert arrow as expected. However when the module is read only, it allows editing of certain fields regardless of the lock state, and will not display the revert arrow.

Nightstride
October 2nd, 2025, 23:00
I did a little more digging, my issue appears to be related to the root name of the database list. When the module is exported as read only, the element path is something like 'reference.npcs.id-0001@...' however when the module is not exported as read only, the element path is something like 'npc.id-0001@...'. In my case we were checking for the name of the root database to determine if the npc is on the combat tracker or not (since we wanted to allow some actions while the sheet was locked and on the combat tracker).

I have no extensions running.