Commit Graph

65069 Commits

Author SHA1 Message Date
Lauryn Menard
3aadb86225 analytics: Update labels for mobile apps for Flutter launch.
Updates the labels in the"Messages set by client" chart so that
the Flutter app is no longer labeled as "beta".

The React Native app is now labeled as "old". And the older
Android and iOS apps are now labeled as "ancient".
2025-06-13 17:00:55 -07:00
Alex Vandiver
dfadc9fa39 puppet: Remove zephyr configuration and hosts. 2025-06-13 16:54:26 -07:00
Karl Stolley
4dff3dfba6 selects: Improve concord with custom, native selects.
This commit cleans up the data URIs for the custom
chevron icons, and sets the same color as used on
select text.

Additionally, the background-image size now scales as
expected, so that browser-native <select> elements
have chevrons that much more closely resemble those
of button-based selects for our custom widgets.
2025-06-13 16:53:46 -07:00
Karl Stolley
9e2ffe7fd5 inputs: Set default text-color explicitly.
This removes the previous slightly-lighter text shade
in light mode, and gets away from the trickiness of
`color: inherit` in dark mode.

While we could probably go with inheritance
everywhere, simply by removing the color: value on
these element, setting an explicit color variable on
the inputs here builds better confidence as to what
the color value will ultimately be.
2025-06-13 16:53:46 -07:00
Shubham Padia
a25000298f help-beta: Add styling for ordered lists to be similar to Steps.
Fixes #34705.
We just copied the css from Steps component of Astro and applied it to
all ordered lists in our case. Future starlight upgrades have the
potential to break this css if they change the underlying variable
names, but the breaks would be obvious when testing the upgrade and if
it becomes a consistent issue, we can look into some other solution.
2025-06-12 11:34:39 -07:00
PieterCK
a5a2adf23d integration-doc: Add instruction to Slack integration.
This adds an instruction on how to configure which Slack channels to
integrate with Zulip.
2025-06-12 09:35:54 -07:00
Anders Kaseorg
717cf60edf python: Use Django 5.2 reverse(…, query=…).
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-06-12 09:32:38 -07:00
Anders Kaseorg
b10bf1dd20 remote_billing_page: Fix redirect on serverlogin/…/confirm/ error.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-06-12 09:32:38 -07:00
Anders Kaseorg
acd6c51b6f manage: Delete custom PYTHONSTARTUP.
In Django 5.2, manage.py shell automatically imports models.

Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-06-12 09:28:00 -07:00
Anders Kaseorg
24e8ba97cb requirements: Upgrade Django from 5.1.10 to 5.2.3.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-06-11 16:25:25 -07:00
Anders Kaseorg
927ea011d3 upgrade-postgresql: Get PostgreSQL version without manage.py shell.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-06-11 16:25:25 -07:00
Anders Kaseorg
d12601fbee migrations: Add through_fields for NamedUserGroup.direct_subgroups.
https://code.djangoproject.com/ticket/36061

Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-06-11 16:25:25 -07:00
Anders Kaseorg
4e31948f90 requirements: Upgrade django-cte from 1.3.3 to 2.0.0.dev.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-06-11 16:25:25 -07:00
Anders Kaseorg
b3f218bc41 user_groups: Convert realm_groups QuerySet to list.
It’s a list in the other branch.

Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-06-11 16:25:25 -07:00
Anders Kaseorg
f4f8f66961 user_groups: Fix get_members_and_subgroups_of_groups type.
zerver.lib.streams.get_anonymous_group_membership_dict_for_streams
calls it with a QuerySet[int].

Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-06-11 16:25:25 -07:00
Sahil Batra
79c2972232 tests: Move test to check permission to update message retention setting.
This commit moves test to check permission to update message retention
setting of a stream to test_channel_permissions.py.
2025-06-11 15:41:50 -07:00
Sahil Batra
0dee5f4c0d tests: Move subscription properties test to new file.
This commit moves subscription properties test to
test_subscription_settings.py.
2025-06-11 15:41:50 -07:00
Sahil Batra
62579b5b24 tests: Move tests to get streams and subscriptions to test_channel_fetch. 2025-06-11 15:41:50 -07:00
Sahil Batra
679a8363cb tests: Move test for updating default stream to test_default_channels.
This commit moves test for add or removing a stream as default using
"/json/streams/{stream_id}" endpoint to test_default_channels.py.
2025-06-11 15:41:50 -07:00
Sahil Batra
5228c2c97c tests: Create new test_default_channels.py file.
This commit moves tests for default streams and default
stream groups to a new file.

This commit also moves test_guest_user_access_to_streams
test to a different class in test_subs.py since it was
present in DefaultStreamTest class before.
2025-06-11 15:41:50 -07:00
apoorvapendse
378dc7a97d typeahead_helper: Cache diacritic-less names for performance.
This code path now uses the full name with removed diacritics cache,
just like the right sidebar buddy list search.

This fixes a major performance issue with trying to mention users in
organizations with 10,000s of total users.

Fixes:
https://chat.zulip.org/#narrow/channel/9-issues/topic/Mention.20typeahead.20performance/with/2157415.
2025-06-11 15:14:34 -07:00
apoorvapendse
cb0a598481 people: Extract name diacritics removal logic.
This is done as a prep commit to use this new function in
`query_matches_person` to introduce caching on the diacritic-less full
name.
2025-06-11 15:14:34 -07:00
apoorvapendse
1bcf05b13d typeahead: Remove diacritics only for valid queries.
Where a valid query is a string whose lowercase version
contains only ASCII lowercase letters.

@timabbott said:
>Note that the query being ascii is important
to how the comparisons are done, so that queries
with diacritics are handled properly to match
the exact diacritics used, for example.
2025-06-11 15:14:34 -07:00
apoorvapendse
e0c786c7a0 typeahead: Extract matching logic into a new function.
This is a non-functional change done as a part of
a series of commits to eventually cache and use
diacritic-less full names instead of computing them
every time.

The eventual aim is to pass cached diacritic-less
full names directly to
`query_matches_string_in_order_assume_canonicalized`
when the query is plain ascii.
2025-06-11 15:14:34 -07:00
Saubhagya Patel
b82bc1a738 settings: Add button to reset channel notifications to default.
This commit adds a "Reset to default notifications" button in the
Notifications menu, to the right of the channel name, for which a
user has selected custom notifications and a confirmation
dialog to confirm this action.

Fixes #19860.
2025-06-11 15:08:25 -07:00
Saubhagya Patel
a925511a11 settings: Update unmute icon in Personal settings > Notifications.
This commit contains the following changes:
- Updates the unmute stream icon in Personal settings
  > Notifications to use the `icon-button-brand` CSS class.
- Adjusts the tooltip delay for the unmute icon.
- Removes unused CSS.

Prep commit for #19860.
2025-06-11 15:08:25 -07:00
Shubham Padia
7eb9c9deef Groups: Can perform any join, leave, add, remove for deactivated group.
Fixes #33804.

We still do not allow permission settings to be set to deactivated
groups.
2025-06-11 14:58:14 -07:00
Karl Stolley
74b0d8ff61 rendered_markdown: Correct presentation of nested lists.
To properly increment counters, and display lists of the
correct type when nested, we need to use child selectors
and not the previous, overly generic descendant selectors.
2025-06-11 14:56:35 -07:00
Prakhar Pratyush
4e43c2f32d list_util: Narrow event type to JQuery.KeyDownEvent only.
The `inside_list`, `go_down`, and `go_up` function defined
in `list_util.ts` is used in `hotkey.js`.

We made changes in 45e91daa14
to use `keydown` only in `hotkey.js`.

The event type of those three functions should be
`JQuery.KeyDownEvent` only.

This commit fixes that.
2025-06-11 10:18:31 -07:00
Prakhar Pratyush
c98bc0bd01 web: Replace the deprecated keypress event with keydown.
Unlike the deprecated `keypress` event, the `keydown` event is fired
for all keys, regardless of whether they produce a character value.

Our handlers only care about whether Enter key was pressed or not,
so even though the handlers will be executed for modifier keys
like `Option`, `Ctrl`, etc there is no change in the behaviour
practically.
2025-06-11 10:18:31 -07:00
Alex Vandiver
6f1950ac0e restart-server: Send client reload events in the background.
For deploys with --skip-puppet, this makes the output visible much
more promptly.
2025-06-11 10:16:46 -07:00
Sahil Batra
e243fc67fa populate_db: Use channel folder in dev database.
This commit creates "Engineering" channel folder and
adds "devel", "errors" and "test" channels to it.
2025-06-10 11:59:07 -07:00
Sahil Batra
1e67b1d23f settings: Do not show channel folder UI in production.
This commit hides channel folder widgets in production
till we are ready to launch this feature.
2025-06-10 11:51:58 -07:00
Sahil Batra
32287a084b channel-folders: Add UI to create new channel folder.
This commit adds a button besides the folder dropdowin in
stream settings UI which can be used to create a new folder.
2025-06-10 11:51:58 -07:00
Sahil Batra
7c01e61e5a streams: Add UI to add or remove stream from a folder.
This commit adds UI to add a stream to a folder while
creating them and also for adding/removing an existing
stream from a folder.
2025-06-10 11:51:58 -07:00
Sahil Batra
403b73e1a6 channel_folders: Add support for channel folders in webapp.
This commit adds code to handle channel folders data in
webapp.
2025-06-10 11:51:58 -07:00
Sahil Batra
e643d7e6fd dropdown-list-widget: Allow customization for "Disable" option.
We currently always show fa-ban icon and "Disable" text for
"Disabled" or "None selected" option in dropdown-list widget.

This commit adds code to provide an option for not showing the
fa-ban icon and having the option text be something other than
"Disable". This will be used in channel folder dropdown widget
where we want to have "None" text in the option without icon.
2025-06-10 11:51:58 -07:00
Sahil Batra
647eab4f58 subscriptions: Remove unnecessary ".stream-creation-body" selector.
We do not need ".stream-creation-body" selector for this block
of CSS properties, since we apply these CSS properties to all
the required elements using ".stream-permissions" and
".advanced-configurations-container" selectors.
2025-06-10 11:51:58 -07:00
Sahil Batra
9498213455 subscriptions: Remove unnecessary CSS.
We do not have any dropdown widget buttons in right panel
of groups and streams UI, neither in creation form nor in
stream and group settings UI.
2025-06-10 11:51:58 -07:00
Aman Agrawal
55d9ea95fb inbox_ui: Use list widget to render topics for channel view.
Rendering all the topics of a channel can be very expensive, so we
use list widget to progressively render the items.
2025-06-10 11:49:05 -07:00
Aman Agrawal
9cabf9705a message_feed_bottom_whitespace: Rename for general use.
Renamed file name to be used in other views.
2025-06-10 11:49:05 -07:00
Aman Agrawal
331bb09cdd message_feed_bottom_whitespace: Rename variable for general use.
Rename so that the loading indicator an be used by other views
as well.
2025-06-10 11:49:05 -07:00
Aman Agrawal
bc55c831ea recent_view: Extract function to check when to render more items.
This will be used in inbox channel view for rendering topics list.
2025-06-10 11:49:05 -07:00
apoorvapendse
ed2cdb9435 message_overlay_ui: Remove restore X tooltip function.
We got rid of the only two calls for
`initialize_restore_overlay_message_tooltip`
in the previous commits.
That is why it is safe to get rid of its
definition.

Signed-off-by: apoorvapendse <apoorvavpendse@gmail.com>
2025-06-10 11:08:35 -07:00
apoorvapendse
a27e1aea96 scheduled_messages: Clarify the editing UI.
Fixes: #34380.
Signed-off-by: apoorvapendse <apoorvavpendse@gmail.com>
2025-06-10 11:08:35 -07:00
apoorvapendse
3cd0f87d47 draft_overlay: Clarify the editing UI for drafts.
Co-authored-by: Sayam Samal <sayam@zulip.com>
Signed-off-by: apoorvapendse <apoorvavpendse@gmail.com>
2025-06-10 11:08:35 -07:00
Shubham Padia
3dc54a10d7 filter: Do not set anchor as first_unread for starred messages view.
Fixes
https://chat.zulip.org/#narrow/channel/9-issues/topic/Starred.20messages.20view.20performance/near/2184251.
Anchor for starred messages was `first_unread` and the query to find
first_unread in a user's starred messages can turn out to be expensive.
This commit ensures that we default to newest instead since first_unread
is not of important for the starred messages view.
By excluding starred messages from using `first_unread`, it will default
to newest based on the logic in message_view.ts.
2025-06-09 16:21:09 -07:00
Niloth P
6a1d231689 integrations: Use directory name to get HTTP headers from fixtures.
Previously, the integration's name was directly being used.
Due to this, the GitHub Sponsors integration which is in the same module
as the GitHub integration could not be used with the
`generate-integration-docs-screenshot` script, as it would be unable to
locate the fixtures.
2025-06-09 15:59:39 -07:00
Niloth P
f99772b131 integrations: Add missing parameter to Transifex's screenshot config. 2025-06-09 15:59:39 -07:00
Aman Agrawal
55835bffd3 message_view: Fix error on pressing scroll to latest button.
Reproducer:
* Navigate to a channel using `near` link with no recent history
  such that `all_messages_data` has no history cached for it.
  The data for this channel narrow is not added to `all_messages_data`
  to keep the history of `all_messages_data` contiguous.
* Press scroll down button, you will see an error.

Fixed by checking if the message list data is empty before narrowing
and asking server for messages if that's the case.
2025-06-09 15:52:09 -07:00