Add a setting for controlling whether to confirm a Ship It! review.
Review Request #14409 — Created April 29, 2025 and submitted
With the modern location for the Ship It action (in the Review menu),
it's much harder to accidentally post a Ship It review. This makes the
confirmation prompt less important than it once was.We now have a setting for controlling whether to prompt for
confirmation. This is managed in My Account -> Settings.The confirmation dialog itself now uses an Ink modal dialog, with some
additional text to help guide users. It also includes a "Do not ask
again" checkbox, which will turn off the confirmation setting as well.
This is a sort of prototype for a suppression dialog that we may want in
Ink.The setting is managed through the User Session resource, which now
accepts a HTTP PUT with asettings:json
JSON Merge Patch of settings.
RB.UserSession
provides an endpoint for this as well. These currently
only accept this newconfirm_ship_it
setting, and they're marked as
for internal use only, but it provides a path for more dynamic settings
down the road.
Python and JavaScript unit tests passed.
Tested the Ship It flow with confirmation turned on and off.
Tested the "Do not ask again" checkbox in the confirmation dialog,
verifying that it turned off the confirmation setting.
Summary | ID |
---|---|
2c03cc3ba8e0fe231e320cbe120a75a1804668f3 |
Description | From | Last Updated |
---|---|---|
Unrelated, but shouldn't this be an icon instead of a blue square? |
|
|
'djblets.util.decorators.augment_method_from' imported but unused Column: 1 Error code: F401 |
![]() |
|
'djblets.util.json_utils.JSONPatchError' imported but unused Column: 1 Error code: F401 |
![]() |
|
Can you type this? |
![]() |
|
Missing documentation and typing. |
![]() |
|
We can use user here instead of request.user. |
![]() |
|
Can you type this as a Mapping? |
|
|
Since setters are just documented like methods, this needs an "Args" section. |
|
|
Here too. |
|
- Change Summary:
-
Removed unused imports.
- Commits:
-
Summary ID 91f08a03d214d5242cb431edf2b67d2db0904d96 47136820c01e7d063fc0d318c92191804d035a15 - Diff:
-
Revision 2 (+1256 -170)
Checks run (2 succeeded)
- Change Summary:
-
- Added missing typing and docs.
- Added some missing unit test updates.
- Updated to use the local
user
instead ofrequest.user
everywhere inserialize_object()
.
- Commits:
-
Summary ID 47136820c01e7d063fc0d318c92191804d035a15 7dce65f66f8cbb2fe820baf638abc8efdbc1ee73 - Diff:
-
Revision 3 (+1332 -176)
Checks run (2 succeeded)
- Change Summary:
-
- Fixed a serialization issue when saving the setting from JavaScript, which affected new settings.
- Fixed some documentation
- Added missing typing.
- Commits:
-
Summary ID 7dce65f66f8cbb2fe820baf638abc8efdbc1ee73 2c03cc3ba8e0fe231e320cbe120a75a1804668f3 - Diff:
-
Revision 4 (+1368 -176)