• 
      

    Add settings for controlling the Trojan Code confusables checks.

    Review Request #12787 — Created Jan. 13, 2023 and submitted — Latest diff uploaded

    Information

    Review Board
    release-5.0.x

    Reviewers

    This introduces new settings in the Diff Viewer Settings page to control
    whether Trojan Code confusable checks should be enabled or which
    languages should be considered safe.

    This is shown in-between the "Limits" and "Advanced" section. The list
    of languages is presented as a series of checkboxes. There aren't too
    many there, and we don't really have a better widget for displaying this
    list at this time (ideally we'd use the Related Object selector, but
    it's not built for this, and I wanted to minimize the UI work for this
    particular change).

    These settings are stored in a general way, opening the door for future
    code safety checker preferences. They're available to the diff machinery
    through the new DiffSettings object, and used in the chunk generator
    when performing a check.

    Changing these settings will automatically invalidate any caches/ETags,
    ensuring they take effect immediately.

    Unit tests pass.

    Tested with a Trojan Code sample set, tested with confusable checks on,
    on with excluded languages, and off. Verified that the caches always
    reflected the new settings, and that the results were what I expected.

    Commits

    Files