fix(inplace,embed): input set back mid-flight, report inputs, ambiguous anchors
Four items owed after S5b, reported by design-dev during the anti-slop run:
- carry() measured a sent-then-changed form against its OLD DEFAULTS. An
answer set back mid-flight to the value the page first showed read as
untouched, and the swap put the just-saved value over it. A form sent and
then changed is now measured against its sent snapshot (sentSet.snapOf).
- The embed's clean-batch reload saw only our own forms. A report's own
inputs lost whatever the operator had typed into them. Unsaved text in
any control we don't own now holds the reload, and the page says so.
- Two r2b.toml rows ("D3 a stored theme...", "D3 forced light...") matched
twice, so they proved only by where the first match fell. Both are
re-anchored, and scripts/mutation_check.py now refuses any anchor that
matches more than once. A new tool control covers that.
- The r2_flow contract's C3 steps 2 and 4 now say what S5b superseded. U3
gains the report-input rule.
Mutation rows: u3_submit_all +1, r2_submit_all +1. Four rows were
re-anchored onto the moved lines.
This commit is contained in:
@@ -96,15 +96,24 @@ label = "a sent form counts as sent even when it changed after the press"
|
||||
file = "booth/templates/base.html"
|
||||
test = "tests/test_flow_browser.py::test_a_change_to_a_sent_pick_during_the_flight_is_kept"
|
||||
old = '''
|
||||
if (recs[i].key === k && recs[i].snap === serial(f)) return true;'''
|
||||
return snap !== null && snap === serial(f);'''
|
||||
new = '''
|
||||
if (recs[i].key === k) return true;'''
|
||||
return snap !== null;'''
|
||||
|
||||
[[mutation]]
|
||||
label = "no form counts as sent (a saved note's text carries back as a draft)"
|
||||
file = "booth/templates/base.html"
|
||||
test = "tests/test_flow_browser.py::test_a_saved_notes_box_comes_back_empty"
|
||||
old = '''
|
||||
if (recs[i].key === k && recs[i].snap === serial(f)) return true;'''
|
||||
if (recs[i].key === k) return recs[i].snap;'''
|
||||
new = '''
|
||||
if (false) return true;'''
|
||||
if (false) return recs[i].snap;'''
|
||||
|
||||
[[mutation]]
|
||||
label = "a sent-then-changed form is measured against its OLD defaults (a value set back mid-flight is lost)"
|
||||
file = "booth/templates/base.html"
|
||||
test = "tests/test_flow_browser.py::test_a_sent_pick_set_back_to_its_first_value_mid_flight_is_kept"
|
||||
old = '''
|
||||
var snap = isSent.snapOf ? isSent.snapOf(el.form) : null;'''
|
||||
new = '''
|
||||
var snap = null;'''
|
||||
|
||||
Reference in New Issue
Block a user