This button was previously found when hovering on the CHANNELS
header, but now that we've removed that header, we show the
button here instead, and always visible.
This component no longer exists with the new design.
Everything removed here that's still relevant (unread counts, special
logic for spectator view) is added back, at the section/channel folder
layer, over the next several commits.
In #27186, we updated the help center documentation on
reading conversations and removed the article from the
left sidebar.
Removes remaining links to the article in "Printing
messages" and adds a redirect to go to the main article
on "Direct messages".
In the "Reading strategies" and "Getting started with Zulip"
articles, we inline the h4 headers that were directly followed by
h3 headers.
Moves the shared content in those two files to the existing
`help/include/reading-conversations` file that was already being
used for the relevant content sections in those two articles.
This commit removes the DEVELOPMENT guard from the new
'send_push_notifications' function in 'handle_push_notification'
and 'handle_remove_push_notification'.
This commit shows a loading indicator in the recipient bar when the
user resolves or unresolves a topic from the topic actions menu.
Since we do not have a unresolve icon button in the recipient bar
following commit 23ac87606a, we
first render a icon button with a placeholder icon in the recipient bar,
and then show the loading indicator when the user clicks on the
"Mark as unresolved" option in the topic actions menu.
This commit simplifies the CSS selectors in the left sidebar styles by
replacing generic `a` selectors with more specific class selectors.
This change enhances the specificity of the styles, and improves the
selectors' performance.
This commit addresses the issue where pressing the ENTER key on the
"back to channels" link in the zoomed in topics list did not perform
the intended action by adding the `trigger-click-on-enter` class to
the element.
This commit addresses the issue where pressing the ENTER key on the
"back to channels" link in the zoomed in direct messages list did not
perform the intended action by adding the `trigger-click-on-enter`
class to the element.
This commit addresses the issue where pressing the ENTER key on the
"more conversations" link in the direct messages list did not perform
the intended action by adding a `trigger-click-on-enter` class to the
element.
This allows the `process_enter_key` function to explicitly trigger a
click event on the element when the ENTER key is pressed, ensuring that
the associated click handler is called.
Earlier, we were passing a map `device_id_to_encrypted_data`
and http headers as separate fields to bouncer.
The downside of that approach is it restricts the bouncer to
process only one type of notice i.e. either notification for
a new message or removal of sent notification, because it
used to receive a fixed priority and push_type for all the
entries in the map.
Also, using map restricts the bouncer to receive only one
request per device_id. Server can't send multiple notices
to a device in a single call to bouncer.
Currently, the server isn't modelled in a way to make a
single call to the bouncer with:
* Both send-notification & remove-notification request data.
* Multiple send-notification request data to the same device.
This commit replaces the old protocol of sending data with
a list of objects where each object has the required data
for bouncer to send it to FCM or APNs.
This makes things a lot flexible and opens possibility for
server to batch requests in a different way if we'd like to.
'get_apns_payload_data_to_encrypt' was added in commit
0ae34ddb65, in parallel
to 'get_message_payload_apns' - to use in E2EE codepath.
The intent was to avoid nesting in the payload returned
by 'get_message_payload_apns' function, just like FCM
payload returned by 'get_message_payload_gcm'.
Turned out, the nesting is helpful in APNs case for various
reasons. So, this commit reverts that function and we'll
continue to use the older structure returned by the function
'get_message_payload_apns'.
This commit updates the subscribers and group members table CSS to
use fixed layout. This helps in having user pill take the width if
available and we can show more characters.
Previously the width of name in user pill was set to have a max
width of 165px which meant the there was some empty unused space in
the rows especially on narrow screens when email column was hidden.
Fixes#35157.
This is only `text/plain`, currently. In such cases where the
client-provided content-type also does not specify a `charset`, we use
`chardet` to make a guess, and store that guess to provide later when
serving the content. The detection is done in a streaming fashion,
and thus should not require re-downloading the full content.
Previously, the `user_file.content_type` only contained the MIME type
of the uploaded file; no other parameters were included, meaning that
a file a client specified as `content-type: text/plain; charset=big5`
would be stored with an `Attachment.content_type` of `text/plain`.
Re-construct the full content-type header from `content_type_extra`,
which includes those parameters.
We do not include a test because Django does not support specifying
such parameters in the upload path.