• 
      

    Remove the old Quick Access action machinery.

    Review Request #14695 — Created Nov. 14, 2025 and submitted

    Information

    Review Board
    release-7.1.x

    Reviewers

    Early in Review Board 7.1's development, a Quick Access feature for
    actions was created in order to give people control over actions they
    wanted in their hot bar. This was implemented as special, duplicated
    actions that used a mixin to indicate they should appear in the hot bar,
    and settings that managed the list of configured actions.

    That work set the stage for much of the new action infrastructure,
    separating out rendering/placement from core functionality, since we
    didn't have any easy way to put the action in both places when that
    feature was implemented.

    This change tears out much of the custom code for Quick Access actions.
    The mixin, custom JS-side attributes, and custom view handling have all
    been removed.

    Now, actions can simply be placed in the Quick Access attachment point,
    which will render them as buttons by default. Any action placed there
    will activate the action's behavior.

    The Unified Banner builds new menu items for each available action and
    simultaneously ties its enabled state to the visibility of the
    particular action view, keeping that code all consolidated.

    Since we're now reusing core action IDs and not using special subclasses
    with their own quickaccess- ID prefixes, we need to migrate legacy
    actions over for RBCommons customers. This is done by moving to an
    all-new per-user setting, quick_access_action_ids. If set, this is
    returned directly. If not set, but the previous quick_access_actions
    is set, those actions will be moved over, In time, we can get rid of
    this logic entirely.

    Unit tests pass.

    Tested that all Quick Access actions migrated over.

    Tested enabling, disabling, and re-enabling all actions.

    Verified the resulting settings were correct.

    Summary ID
    Remove the old Quick Access action machinery.
    Early in Review Board 7.1's development, a Quick Access feature for actions was created in order to give people control over actions they wanted in their hot bar. This was implemented as special, duplicated actions that used a mixin to indicate they should appear in the hot bar, and settings that managed the list of configured actions. That work set the stage for much of the new action infrastructure, separating out rendering/placement from core functionality, since we didn't have any easy way to put the action in both places when that feature was implemented. This change tears out much of the custom code for Quick Access actions. The mixin, custom JS-side attributes, and custom view handling have all been removed. Now, actions can simply be placed in the Quick Access attachment point, which will render them as buttons by default. Any action placed there will activate the action's behavior. The Unified Banner builds new menu items for each available action and simultaneously ties its enabled state to the visibility of the particular action view, keeping that code all consolidated. Since we're now reusing core action IDs and not using special subclasses with their own `quickaccess-` ID prefixes, we need to migrate legacy actions over for RBCommons customers. This is done by moving to an all-new per-user setting, `quick_access_action_ids`. If set, this is returned directly. If not set, but the previous `quick_access_actions` is set, those actions will be moved over, In time, we can get rid of this logic entirely.
    30e617c251185cd0ab3b6948da9734557636d088
    Description From Last Updated

    Can we add a log statement in here indicating that we're doing the migration?

    david david

    Should we change this to use this.listenTo?

    david david

    It looks like everything else that's using this class has been removed. Do we still need it?

    david david
    david
    1. 
        
    2. reviewboard/accounts/models.py (Diff revision 1)
       
       
       
      Show all issues

      Can we add a log statement in here indicating that we're doing the migration?

    3. Show all issues

      Should we change this to use this.listenTo?

    4. Show all issues

      It looks like everything else that's using this class has been removed. Do we still need it?

    5. 
        
    chipx86
    chipx86
    david
    1. Ship It!
    2. 
        
    maubin
    1. Ship It!
    2. 
        
    chipx86
    Review request changed
    Status:
    Completed
    Change Summary:
    Pushed to release-7.1.x (d71e93b)