Commit Graph

64631 Commits

Author SHA1 Message Date
bedo
c04558fe31 stream: Add subscriber_count field.
Fixes #34246.

Add subscriber_count field to Stream model to track number of
non-deactivated users subscribed to the channel.
2025-05-13 17:36:53 -07:00
Alya Abbott
54702ba2a0 help: Clean up "Deactivate your organization" help page. 2025-05-13 17:22:33 -07:00
Saubhagya Patel
70e45f45c0 settings: Add setting for marking resolved-topic notices as read.
This commit adds a new personal setting
`resolved_topic_notice_auto_read_policy` which controls how
resolved-topic notices are marked as read for a user.

Fixes #33599.
2025-05-13 16:23:21 -07:00
Saubhagya Patel
3d33a05455 test_classes: Add functions to get read/unread user IDs for a message.
This commit adds two functions in `zerver/lib/test_classes.py`. The
first function returns the `user_ids` of users for whom the message
is marked as unread. The second function returns the `user_ids` of
users for whom the message is marked read, based on the `message_id`.
2025-05-13 16:04:43 -07:00
Saubhagya Patel
934042d47e zerver: Extract function to parse Enum from string value.
This commit extracts a function from `zerver/views/realm.py` used
for `message_edit_history_visibility_policy` so it can be reused
for other settings.
2025-05-13 16:04:43 -07:00
Tim Abbott
6b26b828b3 test_topic_link_util: Remove unused import. 2025-05-13 16:04:42 -07:00
Kislay Verma
316d1cf285 topic_link_util: Use module to generate correct links.
In this commit, we use the said module instead of using
the `#**..**` syntax for channel and topic links.

Fixes #34608
2025-05-13 15:56:57 -07:00
Kislay Verma
ff27c568c5 topic_link_util: Add module to generate working topic links.
Similar to the frontend `web/src/topic_link_util.ts`, we
introduce a backend module to avoid generating broken
channe/topic links.

Fixes part of #34608
2025-05-13 15:56:46 -07:00
Maneesh Shukla
11a620fefb buttons: Modify the styles of buttons in user group settings.
This commit changes the intent of "Leave group" to neutral color (grey),
while keeping "Join group" brand-colored.
2025-05-13 15:16:14 -07:00
Karl Stolley
59788f01d4 markdown: Apply correct color var to RTL blockquotes. 2025-05-13 15:15:59 -07:00
Tim Abbott
64aa890645 i18n: Update translations from Transifex. 2025-05-13 12:51:11 -07:00
Evy Kassirer
d82bd57cef two_pane_settings: Calculate body height from resize instead of fiddly CSS.
Having a set height is necessary for simplebar to work, and the height
will change depending on whether the header is one or two lines.
2025-05-13 12:06:47 -07:00
Evy Kassirer
a5c77cc017 settings: Move settings page CSS out of subscriptions.css. 2025-05-13 12:06:47 -07:00
Evy Kassirer
4f7c65d255 two_pane_settings: Clean up padding and width on creation window footer.
This changes the vertical padding to be the same top and bottom, instead
of 9px top and 15px bottom, and updates the width to properly account
for the left/right padding.

Note: This footer is currently only used for stream/usergroup creation.
2025-05-13 12:06:47 -07:00
Evy Kassirer
1778bea8fa two_pane_settings: Remove unused text-align on list-toggler-container.
This seems only relevant for the text in the `.tab-switcher .ind-tab`
which already have `text-align: center`.
2025-05-13 12:06:47 -07:00
Evy Kassirer
9ab4954fe8 two_pane_settings: Use transform with transition instead of left.
This is more performant.
2025-05-13 12:06:47 -07:00
Evy Kassirer
3edbd5983c two_pane_settings: Clean up top border for body on narrow screens.
It seems like the only impact of removing `top` here is the bottom
border of the header appears, but we can just remove that directly.

`border-top: none` doesn't seem like it was doing anything here
(the element had no border).
2025-05-13 12:06:47 -07:00
Evy Kassirer
ce78543fcd two_pane_settings: Remove redundant height for narrow screens.
This is already set on `.left` and `.right` for wide screens
and doesn't change on narrow screens.
2025-05-13 12:06:47 -07:00
Daniel Krol
b336c54dc3 navbar: Fix fallback avatar in navbar.
Match the behavior of the user list for loading avatar images: if the
image does not load, maintain the grey fallback background color.

Before this change, the avatar in the navbar started as a grey box while
it was waiting for the image to load, but it disappeared after it failed
to do so. This is because the grey background was attached to the `img`
element, which is hidden after it fails to load the image.

In this change, we attach the necessary styling, including background
color and size, to a new surrounding `div` tag instead of the `img`.
(The existing surrounding `a` tag has its own size styles that we should
leave alone.)

Fixes part of #19123.
2025-05-13 12:05:28 -07:00
Daniel Krol
12d36ebfee tests: Remove unused .css = noop.
The front end tests pass without these removed lines. There are a few
such lines that are still necessary.
2025-05-13 12:05:28 -07:00
Maneesh Shukla
975f86581f banners: Redesign "configure your email" demo organization banners.
Fixes: #34448.
2025-05-13 12:04:24 -07:00
Lauryn Menard
3a87b467e9 demo-orgs: Enable admin of auth methods for owner without email.
There is no technical reason to block updating the authentication
methods for the demo organization when the owner has not yet set
an email.

If they get locked out of the demo organization when they set an
email address for their account, they can just create another demo
organization. These organizations are primarily intended to be
temporary sandboxes for trying out Zulip.

Co-authored-by: Maneesh Shukla <shuklamaneesh24@gmail.com>
2025-05-13 12:04:24 -07:00
Aman Agrawal
36b63adc03 inbox_ui: Fix empty view text for both channel and normal view visible.
Fixed by hiding inbox view empty text when channel view is visible.
To ensure normal inbox view empty text is hidden, we make it think
there is visible unread topics.
2025-05-13 10:21:50 -07:00
Shubham Padia
dfc2a7d19a help-beta: Convert include files to mdx along with required conversion.
Earlier, we were just renaming the files in help/include and copying
them over. Which meant that none of the mdx features or any of the
components we add could be used there. We could also not support nested
imports which are a part of the help/include files.

We also set an explcit height and width of 1em for icons, since some odd
behaviour for icon height and width was noticed when writing this
commit. unplugin-icons sets height and width by itself. It was setting
the height to 1024 and 960 for some icons. It is better to set the
height explicitly.
2025-05-13 10:21:17 -07:00
Shubham Padia
b1bf937cad help-beta: Remove BASE_DIR from path.join for output_dir.
BASE_DIR is already part of output_dir. There is no need to specify it
once more.
2025-05-13 10:21:17 -07:00
Shubham Padia
130877615e help-beta: Use .insert to insert string at a particular line.
The previous logic could not handle adding the given string at the 1st
line. We also rename the function to accurately represent what it does,
insert_string_at_line.
2025-05-13 10:21:17 -07:00
Shubham Padia
bb7af6e5c1 help-beta: Refactor convert_string_to_mdx to handle file read as well.
In future, we intend to add a function that will read the include files
and do a conversion to mdx. That conversion will be different from the
conversion that we are doing right now for the main help files. That is
why we have extracted the markdown file reading logic to the
`get_markdown_string_from_file` and renamed `convert_string_to_mdx` to
`convert_help_center_file_to_mdx` to be more specific for help center
files.
2025-05-13 10:21:17 -07:00
Shubham Padia
0f85d6327d help-beta: Fix bug of not rendering font-awesome icons correctly.
In `replace_icons`, when replacing zulip icons, the original
`markdown_string` was being passed instead of the result from the
previous font-awesome icon replacement.
2025-05-13 10:21:17 -07:00
apoorvapendse
edf6b7389f message_row: Add cursor:pointer for edit notices.
Fixes: https://chat.zulip.org/#narrow/channel/137-feedback/topic/.60cursor.3A.20pointer.60.20applied.20to.20whole.20message.20content/near/2172361
2025-05-13 09:51:16 -07:00
Shubham Padia
68ec074a84 help-beta: Add support for displaying zulip icons.
Some checks failed
Code scanning / CodeQL (push) Has been cancelled
Zulip production suite / Ubuntu 22.04 production build (push) Has been cancelled
Zulip CI / ${{ matrix.name }} (zulip/ci:bookworm, true, false, Debian 12 (Python 3.11, backend + documentation), bookworm) (push) Has been cancelled
Zulip CI / ${{ matrix.name }} (zulip/ci:jammy, false, true, Ubuntu 22.04 (Python 3.10, backend + frontend), jammy) (push) Has been cancelled
Zulip CI / ${{ matrix.name }} (zulip/ci:noble, false, false, Ubuntu 24.04 (Python 3.12, backend), noble) (push) Has been cancelled
Zulip production suite / ${{ matrix.name }} (zulip/ci:bookworm, --test-custom-db, Debian 12 production install with custom db name and user, bookworm) (push) Has been cancelled
Zulip production suite / ${{ matrix.name }} (zulip/ci:jammy, , Ubuntu 22.04 production install and PostgreSQL upgrade with pgroonga, jammy) (push) Has been cancelled
Zulip production suite / ${{ matrix.name }} (zulip/ci:noble, , Ubuntu 24.04 production install, noble) (push) Has been cancelled
Zulip production suite / ${{ matrix.name }} (zulip/ci:bookworm-7.0, 7.0 Version Upgrade, bookworm) (push) Has been cancelled
Zulip production suite / ${{ matrix.name }} (zulip/ci:bookworm-8.0, 8.0 Version Upgrade, bookworm) (push) Has been cancelled
Zulip production suite / ${{ matrix.name }} (zulip/ci:jammy-6.0, 6.0 Version Upgrade, jammy) (push) Has been cancelled
Zulip production suite / ${{ matrix.name }} (zulip/ci:noble-10.0, 10.0 Version Upgrade, noble) (push) Has been cancelled
Zulip production suite / ${{ matrix.name }} (zulip/ci:noble-9.0, 9.0 Version Upgrade, noble) (push) Has been cancelled
We're using unplugin-icons to do so.
2025-05-12 18:13:26 -07:00
Shubham Padia
c97cd1c5dd help-beta: Add support for displaying font-awesome icons.
In our app, we use the font-awesome stylesheet, add it to our webpack
bundle and use the appropriate class with the <i> tag.
Here. although for font-awesome, we can use the stylesheet to do the
same, we would need to use `webfonts-loader` for our custom icons.
In this astro project, we want to follow the Astro way, and
unplugin-icons fits better with the Astro way of doing things.
See this topic on the discussion on how we chose unplugin-icons:
https://chat.zulip.org/#narrow/channel/19-documentation/topic/Stage.202.3A.20Icons/near/2168842
2025-05-12 18:13:26 -07:00
Shubham Padia
b378e33136 help-beta: Make it easier to keep track of imports in conversion.
Before this, every function itself was responsible for adding it's own
imports. That is extra string manipulation which we had to think about
everytime we were adding new conversion function.
Now, we have an import statement set that the functions can modify, and
we have a function responsible for adding those imports. This makes it
easier in the future to add more conversion functions which might be
introducing imports.
2025-05-12 18:13:26 -07:00
Karl Stolley
a82921f32c markdown: Experiment with custom bullets, counters. 2025-05-12 18:08:28 -07:00
Karl Stolley
a576ae9fb8 markdown: Restyle block quotes to spec. 2025-05-12 18:08:28 -07:00
Karl Stolley
8419bc3fb8 markdown: Offset list items from markers to spec. 2025-05-12 18:08:28 -07:00
Karl Stolley
054f34a2b5 markdown: Align bullets left, centered with counters. 2025-05-12 18:08:28 -07:00
Karl Stolley
ebb5383fc9 markdown: Align counters flush left. 2025-05-12 18:08:28 -07:00
Vector73
8e400eb283 tools: Update files in api_docs folder along with zulip.yaml. 2025-05-12 16:00:29 -07:00
Vector73
fba724fbb5 api_docs: Fix feature levels. 2025-05-12 16:00:29 -07:00
Vector73
42439b8f09 tools: Update version along with feature level.
Fixed merge-api-changelogs tool to update version too along
with feature level in API docs.
2025-05-12 16:00:29 -07:00
Tim Abbott
97ffd0fd5d users: Use mandatory kwargs in get_user_data. 2025-05-12 15:49:43 -07:00
Aman Agrawal
45d2c8acf5 users: Add parameter to fetch user data for a list of user ids.
This will help us defer loading user data from initial app load
to later when the user data is required.
2025-05-12 15:49:43 -07:00
Aman Agrawal
b459f6f3d2 users: Separate view function to get singer user data.
This will avoid overloading a function with similar parameters when
we add `user_ids` parameter to `get_members_backend`.
2025-05-12 15:13:49 -07:00
Evy Kassirer
25c0b279f7 invite: Fetch full user set for get_unique_subscriber_count_for_streams.
Work towards #34244.
2025-05-12 15:11:50 -07:00
Karl Stolley
3e9d3a8ff4 compose_typeahead: Add gap between topic, New indicator. 2025-05-12 12:12:00 -07:00
Alex Vandiver
1c8cfff0bd postgres: Add knobs for min_wal_size / max_wal_size. 2025-05-12 11:12:45 -07:00
Alex Vandiver
b4c8d2e6f5 postgres: Add knobs for parallelism control. 2025-05-12 11:12:45 -07:00
Alex Vandiver
933871e825 postgres: Double maintenance_work_mem to 1/8th, but cap at 2GiB.
This is based on annotated.conf[^1].

[^1]: c4ebbf1420/postgresql.10.simple.conf (L122-L133)
2025-05-12 11:12:45 -07:00
Alex Vandiver
8850c3f85c postgres: Tune effective_cache_size upwards, to 75%.
The previous 10/16ths is an odd value; various suggestions are around
75% of RAM, and in practice this is closer to what is observed.
2025-05-12 11:12:45 -07:00
Alex Vandiver
49c307e136 postgres: Remove explicit wal_buffers setting.
The value, if unset, defaults to[^1]:

> a size equal to 1/32nd (about 3%) of shared_buffers, but not less
> than 64kB nor more than the size of one WAL segment, typically 16MB

Letting it choose this, by default, but allowing an override via
`zulip.conf`, seems preferable to hard-coding an arbitrary value.

[^1]: https://www.postgresql.org/docs/current/runtime-config-wal.html#GUC-WAL-BUFFERS
2025-05-12 11:12:45 -07:00