This commit enhances the user role filter dropdown by displaying the
count of users for each role in the format "Role Name (count)" (e.g.,
"Owners (3)").Additionally, it shows the total user count in the
"All roles" option, formatted as "All roles (total_count)" for easy
visibility of the overall user base.
Fixes: #18618.
Previously, the Notification triggers table in Settings lacked a
direct link to documentation for 'Followed topics'.
This commit updates the AllNotifications type to include an optional
'help_link' field and adds conditional rendering in the template to
show the help icon only if 'help_link' is present.The corresponding
test has been updated to verify the presence of the help link.
This enables direct links to relevant docs, improving usability.
Fixes: #32033.
This commit fixes the code to pass AnonymousSettingGroupDict
value instead of group ID when the setting is set to anonymous
groups in never subscribred streams subscription dicts.
The `SITE` variable mentioned in the removed text seems to no
longer be part of the integrations system.
Removed the second bullet point documenting the macro to create
an incoming webhook instruction.
Updates text of generate-webhook-url-basic.md to replace the use of
the "Create the channel" step.
Removes {!create-channel.md!} from all the integrations docs that
also include {!generate-webhook-url-basic.md!}.
Fixes#32269.
Currently, the user selected invoice option requires manual license
management, and a fixed-price plan offer requires automatic license
management.
If we're offering a fixed-price plan and the user wants to pay by
invoice, then the current system in place require us to create the
invoice in Stripe first and then input it manually via the support
page for the customer.
We wait for settings overlay to be fully visible before
running rest of the tests. Without this, tests were flaky due
to settings overlay not being present when running tests.
This change improves error handling in `do_import_realm` by replacing
the use of a generic Exception with CommandError. The updated approach
provides clearer, user-friendly error messages when there is a version
mismatch between the exported data and the Zulip server.
Fixes#32292.
Fixes#17737
If you write a message in a narrowed view, then go back to an unnarrowed
view, there may now be many unread messages between your new current
position and the message you just wrote. If you then accidentally press
`←`, all of those messages will be marked read unexpectedly, causing you
to lose your place while catching up.
So, we disable the hotkey in this scenario to fix this bug.
This commit updates code to optimize code for computing stream
objects to be sent with stream creation event and in response
for 'GET /streams/{stream_id}' endpoint by optimizing number
of queries while computing values for group permission settings.
This change does not benefit much currently as we only have one
stream group permission setting, but is important before we add
more stream permission settings.
There are a couple of places left where we can still optimize
the code and that would be done in further commits.
This commit adds a new function to compute setting group
values for a list of streams, so we can avoid having duplicate
code for computing setting group IDs from streams.
This commit updates code to compute the values for group permission
settings in send_stream_creation_events_for_previously_inaccessible_streams
only when we need to send the events. This helps us in avoiding
unnecessary DB queries.
There is no need to call "locals()" inside the loop for
stream permission settings. It should just be called once
to get values of all the settings passed to the endpoint.
It was fine as we only had one group permission setting
for stream, but is a good fix before we add more settings.
Since postcss tries to preserve specificity of selectors which
are defined in in a group, a `:not(#does-not-exist)` selector
was added to the non ID selectors (solutions-page and case-study-page).
This caused the CSS styles to override other styles due to
unexpectedly increased specificity.
To fix it, we remove the ID selector `#why-zulip-page` from the
group.
We previously had same ID for setting elements in stream
creation and stream edit form. This commit adds "new_"
prefix before the setting name to avoid duplicate IDs.
Previously, the number of subscribers was displayed on channel pills.
This commit removes the subscriber count from the channel pills and
adds it to the channel cards. The count is styled similarly to the
number of group members in group cards, with the text 'N subscribers'
(or '1 subscriber' for single subscribers).
Fixes: #32235.
`ResizeObserver loop completed with undelivered notifications` errors
have originalEvent.error=null; in that case, it's worth including the
`message` in what we display.
I think we probably want `message` in every case where this code path
is relevant, so I just append it unconditionally.
This commit refactors code to create subscription dicts so
that we can efficiently compute can_remove_subscribers_group
setting when we add support to set the setting to anonymous
groups.