Commit Graph

61771 Commits

Author SHA1 Message Date
Aman Agrawal feb6ba6c52 message_events: Remove non matching edited msgs from search result. 2024-11-22 13:01:40 -08:00
Aman Agrawal 99a79ed8f4 message_events: Fix live update for search narrow on content update.
For messages whose content was edited, we ask the server if the
message matches the current search narrow.
2024-11-22 13:01:40 -08:00
Aman Agrawal bbc71cb91a message_events: Update cached msg list data when moving messages. 2024-11-22 13:01:40 -08:00
Aman Agrawal 452d378e1c message_view: Avoid initial fetch if we have enough context to render.
We don't contact the server at all when rendering a narrow if the
locally cached data has enough number of messages.
2024-11-22 13:01:40 -08:00
Aman Agrawal 88d0328e49 message_view: Attempt rendering cached data without contacting server.
For narrows for which we cannot filter the messages locally,
we attempt to select a message without contacting the server.
2024-11-22 13:01:40 -08:00
Aman Agrawal 4b6fd4057c message_events: Avoid populating from outdated cached msg data.
When we will no longer clear cached data on moving messages in
later commits, we have to clear cached data for the new filter when
changing narrow to avoid the message list from being populated
from it since the cached msg data is not updated as per the moved
topic and needs to be updated.
2024-11-22 13:01:40 -08:00
Aman Agrawal fb6432a77d message_events: Add comment. 2024-11-22 13:01:40 -08:00
Aman Agrawal 5e9fe4a83c message_view: Copy fetch status of superset data to msg data.
We can rely on the fetch status of the superset data since it
is now live update for message events.
2024-11-22 13:01:40 -08:00
Aman Agrawal 4dc8cc80fa message_fetch: Extract part of post message fetch process.
This will be useful to separately call when restoring msg list
from cached msg list data.
2024-11-22 13:01:40 -08:00
Aman Agrawal e34b96cb7e message_events: Update cached msg list data for msg property update.
We extend the existing logic that updates message events for
rendered message lists to apply for cached message list data
objects as well.

Manually tested for common message property narrows to test
update of the message property.
2024-11-22 13:01:40 -08:00
Karl Stolley 6e0913d742 right_sidebar: Match invite-user grid to others. 2024-11-22 13:00:28 -08:00
Pratik Chanda 46651a1591 navbar: Make login button work with keyboard navigation.
Earlier in navbar navigation, keyboard events only worked with `gear-
menu`, `personal-menu` and `help-menu`.

This commit introduces the ability to navigate to login in spectator
mode by adding `navbar-item` class and trigger focus to it.

Fixes: zulip#28037.
2024-11-22 10:55:11 -08:00
Pratik Chanda 633ae45f1d navbar: Make login button focusable.
This commit allows login button in navbar draw focus to
them.

Fixes part of zulip#28037.
2024-11-22 10:55:11 -08:00
Pratik Chanda bb6b25d0d1 navbar_menu: Make userlist-toggle-button work with keyboard navigation.
Earlier in navbar navigation, keyboard events only worked with `gear-
menu`, `personal-menu` and `help-menu`. Now that userlist-toggle is
introduced in navbar, we should make it navigable.

This commit introduces the ability to navigate from `help-menu` to
userlist button by adding `navbar-item` class and trigger focus to it.

Fixes: zulip#29465.
2024-11-22 10:55:11 -08:00
Pratik Chanda e0e81aa47c navbar_menu: Use switch/case to handle navbar menu toggle.
This commit refactors `change_active_navbar_menu` to use switch/case
to toggle open target menu after closing any open popovers.
2024-11-22 10:55:11 -08:00
Pratik Chanda d4bcf5bae3 navbar_menu: Refactor `change_active_navbar_menu` to use target menu.
This commit introduces `navbar-item` class for each navbar menus and
`active-navbar-menu` class to indicate active navbar menu. Also
introduces new function `get_target_navbar_menu` to return target
navbar menu from keyboard event. `change_active_navbar_menu` uses target
menu to switch between navbar items.
2024-11-22 10:55:11 -08:00
Pratik Chanda 566e5e688b navbar_menu: Refactor keyboard events for navbar menu.
This commit extracts menu switching logic from `handle_keyboard_events`
to separate `change_active_navbar_menu` to toggle between the current
active navbar menu and the adjacent navbar menu.
2024-11-22 10:55:11 -08:00
Pratik Chanda 9d578247a7 navbar_menu: Add keyboard event check for navbar navigation.
This commit adds a keyboard event check statement for navbar navigation.
2024-11-22 10:55:11 -08:00
Sahil Batra f197d881ca streams: Fix handling empty groups when computing setting values.
Since "Nobody" and other user-defined empty groups has no
members or subgroups, we need a UserGroup query.

Since we are doing UserGroup query, updated the code to
check whether the setting is set to anonymous group or
not just after doing UserGroup query and not in membership
queries.

Also, added tests to check query count when setting is set
to anonymous group.
2024-11-22 10:48:41 -08:00
Nicklas Steen 90e42ca8ed settings: Fix filter alignment under headings in all settings panels.
Previously, when resizing the window, the filters/buttons and the
header did not fit on the same row, the filters/buttons were pushed
onto the next row but not put directly below the heading. This
changes the settings_panel_list_header and
add_default_streams_button_container into flex containers and
properly aligns the items below the heading when changing window
size.
Fixes: #30353
2024-11-22 10:46:39 -08:00
Prakhar Pratyush ded6bfd3f2 add_new_user_history: Remove the RECENT_MESSAGES_TIMEDELTA limit.
We give the new users some messages in their feed.

Earlier, we were including upto 1000 messages which were sent
within the last 12 weeks.

For realms with low-traffic it results in very few messages
being included in the new user's feed.

This commit removes the 12 week limit.
Now, we simply include upto 1000 recent messages.
2024-11-22 10:41:27 -08:00
Sahil Batra 7a6159eee2 streams: Do not show archived streams in dropdown.
Dropdown widget in compose box and in message move modal should
not show archived streams in dropdown as we do not allow sending
messages or moving messages to archived streams.

We need a more focused audit of code for fixing other things
where archived streams are shown.
2024-11-22 10:40:59 -08:00
Harsh c570194ff2 tests: Add assertion for database queries count.
This commit extends the test for the `/api/v1/register` endpoint
for spectator users by adding an assertion to check the number
of database queries.

Fixes: #32409
2024-11-21 19:02:09 -08:00
evykassirer 28376bf353 buddy_list: Center toggle arrow. 2024-11-21 19:01:48 -08:00
evykassirer 17de265116 buddy_list: Redesign view user links.
As discussed here:
https://chat.zulip.org/#narrow/channel/101-design/topic/.22View.20all.22.20links.20in.20right.20sidebar/near/1976275
2024-11-21 15:17:44 -08:00
evykassirer d43e3c31ea right_sidebar: Redesign invite users link.
Fixes #32266 (second half).
2024-11-21 15:16:45 -08:00
evykassirer d168ff2a0f left_sidebar: Redesign create a channel link.
Fixes part of #32266.
2024-11-21 15:16:45 -08:00
Prakhar Pratyush c5b3d2e434 custom_check: Add rule to avoid creating savepoints.
This commit adds a custom rule to check python files
and raise lint error if they have transaction.atomic used
without any argument or savepoint=True is used.

It helps to avoid creating unintended savepoints in the future.
2024-11-21 14:55:15 -08:00
Prakhar Pratyush 62b3e49075 transaction: Add 'savepoint=True' explicitly in tests, if used.
We create savepoint at a couple of places in backend tests
to avoid rollback due to error raised within test's transaction.

This commit explicitly adds 'savepoint=True' at those places.
2024-11-21 14:55:15 -08:00
Prakhar Pratyush fdcd518e26 test_user_groups: Add `durable=True` to the independent transaction.
This commit adds `durable=True` to the short independent db transaction
in `UserGroupRaceConditionTestCase.tearDown` method.

This is as a part of our plan to explicitly mark all the
transaction.atomic calls with either 'savepoint=False' or
'durable=True' as required.
2024-11-21 14:55:15 -08:00
Prakhar Pratyush b369177341 embed_links: Add `savepoint=False` to avoid creating savepoints.
It helps to avoid creating unintended savepoints in the future.

This is as a part of our plan to explicitly mark all the
transaction.atomic calls with either 'savepoint=False' or
'durable=True' as required.
2024-11-21 14:55:15 -08:00
Prakhar Pratyush 175104ea01 streams: Add 'ChannelEmailAddress' model.
This commit removes the 'email_token' field from the
'Stream' model, introduces a new model 'ChannelEmailAddress',
and backfills it.

This is a prep work towards our plan to generate unique
channel emails for different users, which can be used
to check post permissions at message send time.
2024-11-21 14:53:28 -08:00
Anders Kaseorg 801e267e00 integrations: Properly pass data-categories as a JSON array.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2024-11-21 14:41:36 -08:00
Tim Abbott 77cac403ee integrations: Fix jQuery .data mishandling translated category names.
Apparently `.data("category")` would be come back as a single-element
array for some French translations, rather than a string.

We fix this by using `.attr("data-category")` across this file, which
is our preferred coding pattern anyway.
2024-11-21 14:41:36 -08:00
Sahil Batra b6f895f61c streams: Optimize DB queries for computing permission setting values.
This commit updates code to use union so that we can compute values
for permission settings using a single DB query.
2024-11-21 11:28:54 -08:00
Sahil Batra 90ae342af2 stream-settings: Add info to can_remove_subscribers_group label.
Mention that admins can unsubscribe others from any channel
in the setting label.
2024-11-21 11:28:54 -08:00
Sahil Batra d1e76a9281 streams: Allow admins to unsubscribe others irrespective of setting. 2024-11-21 11:28:54 -08:00
Niloth P 02049fbbf3 tools/screenshots: Create integration bots using display_name.
Will be adding the updated screenshots of affected integrations as soon
as the PR with the new logos and example screenshots gets merged.
2024-11-21 11:10:12 -08:00
Niloth P 29ef4a05fe tools/screenshots: Fix custom headers crash when using custom options. 2024-11-21 11:10:12 -08:00
Niloth P 619ada36ed integrations: Refine Mention example screenshot. 2024-11-21 11:09:40 -08:00
Niloth P 5de2a7115c integrations: Refine Gitea example screenshot. 2024-11-21 11:09:40 -08:00
Niloth P e1f256c905 integrations: Refine Basecamp example screenshot. 2024-11-21 11:09:40 -08:00
Niloth P 8e17ef3507 integrations: Refine CircleCI example screenshots.
- Removed the extra screenshot.
- Updated the fixture used to generate the screenshot to use a more
suitable topic name and commit message description.
2024-11-21 11:09:40 -08:00
Niloth P ab7d5ceacc integrations: Refine Zendesk example screenshot. 2024-11-21 11:09:40 -08:00
Niloth P 8582e78f02 integrations: Refine Front example screenshot. 2024-11-21 11:09:40 -08:00
Niloth P 1a89357394 integrations: Update Front logo. 2024-11-21 11:09:40 -08:00
Niloth P 42a4aa86b0 integrations: Update Raygun logo. 2024-11-21 11:09:40 -08:00
Niloth P 2c04159bfd integrations: Update Zendesk logo. 2024-11-21 11:09:40 -08:00
Niloth P f078ca86c2 integrations: Update Radarr logo. 2024-11-21 11:09:40 -08:00
Niloth P 2c94506cb5 integrations: Update Patreon logo. 2024-11-21 11:09:40 -08:00