• 
      

    Improve UX with auto-renewing licenses.

    Review Request #15023 — Created April 30, 2026 and submitted

    Information

    Review Board
    master

    Reviewers

    When a license is set to auto-renew, especially on a month-to-month
    basis, the experience with the banner and the licenses page was sub-par.
    The banner would always appear saying that the license was expiring soon
    (since it was < 30 days away), and the licenses page would show that the
    license is "expiring on" rather than the license is "renewing on".

    This change makes it so we track the auto-renew state (provided during
    license checks). In the case that a license is set to auto-renew, we
    hide the banner (up to 3 days past the soft expiration date) and change
    the text shown in the licenses page.

    • Ran unit tests.
    • Ran JS tests.
    • Set a license to auto-renew monthly. Verified that the banner was not
      shown and the licenses page showed "renews ..."
    • Set up an auto-renew license with an expiration date 5 days past. Saw
      that the banner was correctly shown and the licenses page showed that
      the license(s) were expired.
    • Set up a month-to-month license and turned off auto-renew. Saw that
      the banner was shown and the licenses page showed "expires ..."
    Summary ID
    Improve UX with auto-renewing licenses.
    When a license is set to auto-renew, especially on a month-to-month basis, the experience with the banner and the licenses page was sub-par. The banner would always appear saying that the license was expiring soon (since it was < 30 days away), and the licenses page would show that the license is "expiring on" rather than the license is "renewing on". This change makes it so we track the auto-renew state (provided during license checks). In the case that a license is set to auto-renew, we hide the banner (up to 3 days past the soft expiration date) and change the text shown in the licenses page. Testing Done: - Ran unit tests. - Ran JS tests. - Set a license to auto-renew monthly. Verified that the banner was not shown and the licenses page showed "renews ..." - Set up an auto-renew license with an expiration date 5 days past. Saw that the banner was correctly shown and the licenses page showed that the license(s) were expired. - Set up a month-to-month license and turned off auto-renew. Saw that the banner was shown and the licenses page showed "expires ..."
    lvxvmmrnqwwmwpmnktxmozkzwtpllxor
    Description From Last Updated

    The emdash seems wrong here. This should just be a new sentence. Actually, everything after the emdash is pretty hard …

    chipx86 chipx86

    This isn't needed. The whole class is new in 8.0.

    chipx86 chipx86

    Not 100% sure what "summaries and detail rows" is really meaning here. Can we either spell it out, or be …

    chipx86 chipx86

    This isn't needed.

    chipx86 chipx86

    The heading?

    chipx86 chipx86

    Rather than "no warning chrome," can we just say (maybe as a new sentence) that Review Board will not show …

    chipx86 chipx86

    This isn't needed, since all this is new in 8.0.

    chipx86 chipx86
    chipx86
    1. Most of this seems fine, but the wording in docs confuses me in several places.

    2. reviewboard/licensing/license.py (Diff revision 1)
       
       
       
      Show all issues

      The emdash seems wrong here. This should just be a new sentence. Actually, everything after the emdash is pretty hard for me to parse. It needs rewording and maybe split up a bit?

    3. reviewboard/licensing/license.py (Diff revision 1)
       
       
       
       
      Show all issues

      This isn't needed. The whole class is new in 8.0.

    4. reviewboard/licensing/license.py (Diff revision 1)
       
       
      Show all issues

      Not 100% sure what "summaries and detail rows" is really meaning here. Can we either spell it out, or be more generic saying "the UI won't show auto-renewing licenses a expiring" or something (if that's the case)?

    5. reviewboard/licensing/license.py (Diff revision 1)
       
       
       
       
      Show all issues

      This isn't needed.

    6. reviewboard/licensing/license.py (Diff revision 1)
       
       
       
      Show all issues

      The heading?

    7. Show all issues

      Rather than "no warning chrome," can we just say (maybe as a new sentence) that Review Board will not show a license that's auto-renewing as expiring soon?

    8. Show all issues

      This isn't needed, since all this is new in 8.0.

    9. 
        
    david
    chipx86
    1. Ship It!
    2. 
        
    david
    Review request changed
    Status:
    Completed
    Change Summary:
    Pushed to release-8.x (d785a1c)