Removes the extra side margin on tip, warning and keyboard tips when
they are in ordered lists.
Removes the extra bottom margin for h3 elements in the integrations
docs.
Removes the unordered list style for the integrations docs.
Revises section to use headers for the possible parameters so that
they can be linked to directly from other documentation pages.
Updates base URL text to read more clearly when rendered.
Restructures the integration documentation pages to use a style
that's more similar to the help center documentation, with an
instruction block for setting up the integration, and sections
for additional configuration information and related documentation
links.
Updates the doc pages for the airbrake, azuredevops and gitlab
integrations as examples of the updated style.
Also updates the URL specification section of the incoming webhook
overview in the API documentation so that the documented URL
parameters can be linked to directly in the integration doc pages.
Co-authored-by: Alya Abbott <alya@zulip.com>
Closing overlay before switching narrow takes sets the previous
hash of the new narrow incorrectly, which results in browser
back taking user the previous narrow instead of opening the overlay
again.
Fixed by switching narrow before closing the overlay.
Display manage this user in the three-dot menu on the user card
regardless of is_active.
Similarly, display edit user icon in deactivated users list.
Do not hide edit button when user is deactivated.
Fixes#29486.
Fix extraneous shadow at bottom of link preview
in stream messages in dark theme, in private
messages for both themes and in mentions, group
mentions and direct mentions.
This is done by applying the same color, used
in the background, to the shadow. There are CSS
variables that hold the values of the background
color.
Fixes#28853.
Adds an option to the generate bot URL modal to filter for events
that will trigger notifications. This option is conditionally
displayed when only `all_event_types` is defined for the selected
integration.
If selected, the URL will display all events by default. There
are "check all" and "uncheck all" buttons to easily include or
remove all the events from the URL.
Fixes#27628.
Previously, the stream dropdown remained active regardless of whether
an integration type was selected.
This commit addresses the issue by disabling
the stream dropdown widget when no integration type is selected
Previously, when a topic name was included in the URL
and the user unchecked the button for including a
topic, the URL was not being updated accordingly.
Expands the check for setting the topic parameter for
the topic not being an empty string and having the
include topic option checked.
The padding on the sides of the Drafts button is reduced from 5 to 3px
at smaller width, so that it's not right up against the textareas when
hovered.
The text is also aligned to the Send button's edge, like at larger
widths.
Fixes#25964
We can fail to load emojiset if browser is unable to connect to
internet or fetch failed midway due to a network error. We simply
wait for browser to come back online and retry.
This contains two more complex changes:
- The default versions of sorter and matcher assume that ItemType is a
string. But the Typeahead class works on a generic ItemType and I'm
not aware of a way to assert that this function is only called for
typeaheads with string items. For `matcher`, we can assert that the
items are strings. `sorter` is now a required option instead of an
optional one that could fall back to the default.
- `element` can be either an `input` element or a `contenteditable`
`div`. We distinguish between them using `.is("[contenteditable]"))`
but TypeScript doesn't understand that. So we replaced `this.$element`
with `this.input_element` where `input_element` is an object with the
`$element` and also a `type` specifying which type of element it is
(input or contenteditable).
`final_items` is a list of `ItemType` so it doesn't
make sense to wrap it in `$()`. Intead of creating a
"jquery list of objects", we generate a list of JQuery
objects. I also removed the unused `_index` in the
`map` call.
`this.source` will always be of type `function`,
so we can remove the ternary statement. And `source`
always takes one argument, so we can remove the
second argument.