Commit Graph

48801 Commits

Author SHA1 Message Date
Alex Vandiver 3bb13a1f58 message_fetch: Switch to using show_error, which is equivalent. 2022-10-18 08:20:22 -07:00
Alex Vandiver 2d406aa9d0 message_fetch: Improve retry logic for matches_narrow re-checks.
Previously, we retried all failed requests to
`/json/messages/matches_narrow` forever, with a fixed 5s retry.  This
meant infinite retries even on 4xx responses, for instance on invalid
narrows -- and _each_ new message would add another infinite every-5s
retry.

Skip retries on 400 responses, and put an upper limit on the number of
retries.  At the same time, change the retries to be
exponential-backoff with full jitter, to be more responsive in the
event of a one-off failure, and more forgiving in response to a longer
outage.

Failures that exhaust the 5 attempts are silent to the user -- since
this is likely an uncommon edge case (requiring Tornado to be serving
events to the client, Django to be unresponsive, and the client to be
narrowed to a filter it cannot apply locally), and the failure mode is
not bad (it will simply fail to live-update with new matching
messages).

Fixes: #20165.
2022-10-18 08:20:22 -07:00
madrix01 550a32bb20 recent_topics: Add Private message to recent_topics.
This commit adds private messages to the Recent topics view, to make
it an all-encompassing overview of recent activity visible to the user.

We add a filter "Include PM" to toggle whether PMs should be shown in
recent topics.

Fixes #19449.
2022-10-17 15:02:01 -07:00
Lauryn Menard a3f6220fe4 analytics: Add summary statistic for guest users in realm.
Adds the count of users with the role of guest to the stats view
`page_params` via a database query. This information is then added
to the summary statistics section of the analytics page after being
formatted by `stats.js`.

Creates Bassanio as a guest user in the database for the analytics
realm.

Fixes #20162.
2022-10-17 11:53:59 -07:00
Florian Pritz f37ac80384 import_realm: Speed up first_message_id calculation.
On my data (about 10 million messages in 1600 streams) this used to take
about 40 hours, while the improved statement completes in roughly 30
seconds.

The old solution had postgres go through the entire table until the
first match for each stream. Thus, the time spent scanning the table
got longer and longer for each stream because postgres always started at
the beginning (and somehow it did not use any indices) and had to skip
over all rows until it found the first message from the stream that is
was looking for each time.

This new statement just performans a bulk operation, scanning the table
only once and then inserts the results directly into the destination
table.

Slightly more verbose inforation about this change can be found in:
https://chat.zulip.org/#narrow/stream/31-production-help/topic/Import.20Rocketchat.20data/near/1408867

Signed-off-by: Florian Pritz <bluewind@xinu.at>
2022-10-17 11:43:21 -07:00
David Rosa ebd4181ae0 help: Update message menu documentation.
Updates all help center documentation according to the latest changes to
the three-dot message menu and the UI for moving and editing messages.

Fixes #23217.
2022-10-17 11:37:03 -07:00
Zixuan James Li 46329a2710 test_classes: Create a dedicate helper for query count check.
This adds a helper based on testing patterns of using the "queries_captured"
context manager with "assert_length" to check the number of queries
executed for preventing performance regression.

It explains the rationale of checking the query count through an
"AssertionError" and prints the queries captured as assert_length does,
but with a format optimized for displaying the queries in a more
readable manner.

Signed-off-by: Zixuan James Li <p359101898@gmail.com>
2022-10-17 11:32:52 -07:00
Zixuan James Li 9117db8887 test_helpers: Tighten type annotation for queries_captured.
This adds CapturedQueryDict to provide a more accurate type annotation
for the return value of queries_captured. We also replace "Generator"
with "Iterator" because the latter two type parameters were unused.

Signed-off-by: Zixuan James Li <p359101898@gmail.com>
2022-10-17 11:32:52 -07:00
Aman Agrawal a351d34462 portico_signin: Fix signup text overflowing to icon in Russian.
This is not the right fix for this, but a temporary adjustment
to make it look good with minimal impact on other languages and
other pages.

Right fix would require changing the structure of the button, which
was not easy to do and make it look similar to how it looks now.
2022-10-17 11:09:16 -07:00
Aman Agrawal e14e62c24c templates: Remove unused `no-slide` class. 2022-10-17 11:08:16 -07:00
Sahil Batra cebf43903c settings: Fix height of left sidebar for short screens.
It was not possible to scroll to the bottom of the list on
narrow-width when only single column was displayed on the
settings overlay. This commit fixes the height of the sidebar
and set to "100% - height of header - height of tab-container"
which fixes the scroll behavior.

This is not a issue for two-column overlay where height is set
to "100% - height of header" (the tab-container is already
inside the header).

This duplicates some CSS to avoid using "!important". While doing
this duplication, we remove "margin: 0" and "display: block" since
these are already set as default values.

Fixes #22876.
2022-10-16 19:16:53 -07:00
evykassirer 84aeb3a59a compose: Use consistent hover color for buttons in dark mode.
There is some old CSS that was only being applied to some buttons
and not others. This deletes those lines so that only the opacity
changes on hover and not also the color.

Following up from #23059.
2022-10-16 19:05:25 -07:00
PIG208 7db221c8dc
migrations: Remove noop realm filters operations.
We followed a same approach as in #22611 to mark migrations as noops. We
might eventually squash them.

Migration operations that only change the validators should be removed
as they are essentially noops that do not affect the database schema.

However, ./manage.py makemigration still generates a new migration for
validators change regardless. So we still have to keep one migration
that updates the validators to the latest state. We prefer to keep the
earliest one for this purpose.

Signed-off-by: Zixuan James Li <p359101898@gmail.com>
2022-10-14 17:52:28 -07:00
Alex Vandiver f5f6a3789b restart-server: Default to running config and database checks.
If there is a syntax error in `settings.py`, `restart-server` should
provide a reasonable message about this.  It did so prior to
af08bcdb3f, becausde any invocation `./manage.py` without
`--skip-checks` will verify `settings.py`, among several other checks.
After af08bcdb3f, there are no `./manage.py` calls in most restarts,
which fa77be6e6c took further.

Add an explicit `./manage.py check` in the default case.
upgrade-zulip-stage-2 overrides this by passing `--skip-checks`, for
performance.  This also means that `upgrade-zulip-from-git` itself
picks up the same `--skip-checks` flag, since it inherits the same
flag parsing, though that is perhaps of dubious utility.
2022-10-14 13:10:46 -07:00
Yogesh Sirsat e0838ecf93 user_info_popover: Change text of "View private messages to myself". 2022-10-14 13:08:34 -07:00
Mateusz Mandera 9ee7ed7ce3 portico_signin: Tweak .alert to add a bit of bottom space.
That looks a bit better with extra space.
2022-10-14 13:07:58 -07:00
Mateusz Mandera 61de767967 login page: Show form-independent errors even if email auth disabled.
These used to only be shown conditional on the
{% if password_auth_enabled %} in the template. Meaning that if you had
an org with email auth disabled and a deactivated user tried to log in,
they wouldn't see the error shown and get confused.

This switches the position of where these error will be shown (above the
login+password form instead of below it), but it looks fine.
2022-10-14 13:07:58 -07:00
Lauryn Menard 171da34546 events: Send empty list for custom_profile_fields in spectator view.
Send an empty list of `custom_profile_fields` in `page_params` for
spectators, rather than not sending the field at all.

Also, updates the user info popover to not show the manage user
three-dot menu when in a spectator view.
2022-10-14 13:05:35 -07:00
Ganesh Pawar 4df8c6610f gear menu: Add organization info.
Fixes #22205
2022-10-13 23:45:25 -07:00
Tim Abbott 966e63cc14 migrations: Add noop reverse_code for migration 0419.
This migration is naturally one that should be a noop when
downgrading, so declare it as such.
2022-10-13 23:16:01 -07:00
Anders Kaseorg 0affc7ac6f test_script: Don’t crash on second Puppeteer run.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2022-10-13 19:56:47 -07:00
Alya Abbott faabc0f6ad help center: Document "Marking messages as unread" feature.
Fixes #23052.
2022-10-13 10:14:24 -07:00
David Rosa fc251dba2c help: Cross-link Related articles in "Marking messages as unread".
Cross-links with Reading strategies, Marking messages as read, Star a
message, and Read receipts.
2022-10-13 10:14:24 -07:00
David Rosa cad6ec2456 help: Document "Marking messages as unread" feature.
Documents the new "Mark as unread from here" option in the three-dot
message menu.

Adds new page "Marking messages as unread", just below "Marking
messages as read" in the sidebar index.

Fixes: #23052.
2022-10-13 10:14:24 -07:00
Lauryn Menard 2e23318872 communities: Include orgs without invite or email domain restrictions.
Updates the organizations listed in the open communities directory
to also include organizations that do not require an invite and do
not restrict email domains for new users to join the organization.
2022-10-13 10:11:07 -07:00
Sahil Batra 6423bbe26f docs: Add commas to list of event types supported by integrations.
Fixes #23219.
2022-10-13 10:09:11 -07:00
Lauryn Menard 98074951ef api-docs: Update examples of queue_id for uuid format. 2022-10-13 10:08:42 -07:00
Sahil Batra de257d434f settings: Set min width of role column.
We set minimum width for role column in users list,
deactivated users list and bots list such that role
value always fits in one line.

Fixes #23218.
2022-10-13 10:05:20 -07:00
Alya Abbott 2ff4143aa4 docs: Copy-edit changelog for clarity. 2022-10-12 22:37:33 -07:00
Alex Vandiver c328de3372 cache: Log a warning when attempting to store a whole QuerySet.
As noted in the previous commit, this causes bloat in memcached, for
no purpose.  Log a warning when `cache_with_key` sees a QuerySet
returned from the function it is decorating.
2022-10-12 22:25:48 -07:00
Alex Vandiver 55c0e670d9 cache: Only cache list results of QuerySets, not the QuerySet itself.
Storing a QuerySet rather than the list version of the result in it
has a large overhead -- and, as noted by the type annotations, the
result is only ever used as a list.  This difference is particularly
important because the cached `get_realm_user_dicts` can get extremely
large for realms with large numbers of users, potentially overflowing
the 1MB default object limit in memcached.

Switch all cases of `cache_with_key` which return QuerySets to
returning the list values of them.
2022-10-12 22:25:48 -07:00
Alex Vandiver 204f1b58e8 cache: Drop realm_id from `realm_user_dict_fields`.
Storing this key is superfluous, as it will be the same for all users,
and definitionally already known to fetch the cache for the realm.  It
is also not currently used by the callsites that read rows from the
cache.
2022-10-12 22:25:48 -07:00
Alex Vandiver 01f38c4516 puppet: Bump Grafana version. 2022-10-12 22:00:27 -07:00
Tim Abbott 51f59e9c41 docs: Improve a few changelog descriptions. 2022-10-12 17:38:56 -07:00
Tim Abbott ad90157ec0 Revert "modal: Make the modal content scrollable instead of the whole modal."
This reverts commit c439b9d3af.
2022-10-12 17:20:33 -07:00
Tim Abbott eb60e30c9a Revert "modals: Add `data-simplebar` to `login` and `api key` modal."
This reverts commit 4c32972274.
2022-10-12 17:20:33 -07:00
Julia Bichler 97fd4436da stream settings: Show stream header in narrow view.
This changes the streams overlay so that the header with the stream name or
with 'Create stream' is also visible in a narrow window.

Resolves #22963
2022-10-12 17:01:04 -07:00
Tim Abbott c4a527fedf docs: Update changelog with changes staged for 6.0. 2022-10-12 15:01:45 -07:00
Tim Abbott dc3f63d9dc i18n: Update translation data from Transifex. 2022-10-12 12:59:31 -07:00
Sahil Batra 6b59c3242d settings_panel_menu: Open first section if hash is invalid.
When trying to open settings overlay with invalid hash or
hash of a section which the user cannot view, for example
non-admins cannot view custom profile field section, then
we open the first section by default.

While if a user changes to a invalid hash by typing when
the overlay is already opened, then the previous section
remains open.

Fixes #23163.
2022-10-12 11:07:28 -07:00
Sahil Batra 6867235011 message_edit: Show error, if any, in move topic modal itself. 2022-10-12 10:50:05 -07:00
Sahil Batra 35aab1efed message_edit: Set width to auto for propagate mode dropdown.
This commit sets the width to auto for propagate mode dropdown
in the move message modal such that width is enough to fit
all the options.
2022-10-12 10:50:05 -07:00
Sahil Batra dd939bbbb8 message: Rename "Un-collapse" option to "Expand message".
This commit also update the collapse message help page.
2022-10-12 10:50:05 -07:00
Sahil Batra 6f1d5a29aa stream_popover: Disable topic or stream input in move message modal.
We now disable the topic or stream input in move message modal if
user is not allowed to edit them. Topic input can be disabled only
in the modal opened from message actions popover since permission
to edit topic depends on message and we do not have any message
when we open topic from left sidebar since the message is fetched
from server while submitting.

This commit also does some changes to call ".trim()" on new_topic_name
only when it is undefined. new_topic_name can be undefined when
the new topic input is disabled because "serializeArray" only
considers enabled inputs.
2022-10-12 10:50:05 -07:00
Sahil Batra cdc7183a01 hotkey: Update description for "e" shortcut.
This commit updates description for "e" shortcut to
"Edit selected message or view message source" in
shortcuts menu and to "Edit message or view message source"
in help docs.
2022-10-12 10:50:05 -07:00
Sahil Batra bb2ab065b2 message_edit: Show "Move message" icon on hover if only moving is allowed.
Previously, we showed "View source" icon if content editing was not
allowed, now we show the move message icon instead if moving message
is allowed but content editing is not. We remove the hotkey from
tooltip for now and would add a different hotkey for moving
messages in further commits.

We also add a common class for all the three icons in this commit
to avoid duplication and use different class if required for click
handlers.
2022-10-12 10:50:05 -07:00
Sahil Batra d63f9c8686 message_edit: Use a modal to move message instead of edit UI.
Previously, we allow moving message (both topic and streams) in
the message edit UI and we opened message edit UI when clicked
on "Move message" option in message three-dot menu. Now, we open
the "Move topic" modal (that is opened when using "Move topic"
from topic sidebar) on clicking "Move message" option in
message three-dot menu.

We remove the hotkey "e" from "Move message" option for now since
both edit and move UIs are different now. We will instead add
new hotkey in further commits.

We pass stream_id as undefined when stream is not changed. This is
required for case when only topic editing is allowed. It worked
previously because we show "Move topic" option in left sidebar
only when stream editing is allowed.
2022-10-12 10:50:05 -07:00
Sahil Batra 0fc19732bc message_edit: Allow only content edit in message_edit_form.
We now allow only content edit in message_edit_form which can
be opened by pencil icon in the message row, "Edit message"
option in popover and by using e hotkey.

As a result of this change, we also do not show topic and stream
edit options when using "View source" options.

We would instead support changing stream and topic from the modal
which will be opened from the "Move message" option in message
actions popover.
2022-10-12 10:50:05 -07:00
Sahil Batra 0b67cf0071 stream_popover: Remove unused variable from build_move_topic_to_stream_popover. 2022-10-12 10:50:05 -07:00
Sahil Batra 5883416b14 popovers: Organize message actions popovers into sections.
This commit reorders the options in message actions popover
and divides the options into sections as per #23076.

Fixes #23076.
2022-10-12 10:50:05 -07:00