Commit Graph

67026 Commits

Author SHA1 Message Date
Aman Agrawal
aa17bc20cd message_list_view: Fix failing test.
It was throwing error when running test for
message_list_view without failing the entire test suite.
2025-10-21 08:27:39 -07:00
Sahil Batra
2abbc058ab settings: Live update role text in "Profile" panel. 2025-10-20 16:40:01 -07:00
Sahil Batra
53a221dff9 user-profile: Redirect to profile panel when admin becomes non-admin.
This commit adds code to redirect to profile panel when an admins
changes their role to become a non-admin user from user profile
modal.
2025-10-20 16:40:01 -07:00
whilstsomebody
2378d7700b user_profile: Disable role dropdown for only owner.
This commit adds code to disable the role dropdown
when an owner is editing their own profile and they
are the only owner in the organization and a tooltip
is shown mentioning that.

We already keep the role dropdown disabled when an
admin user was managing an owner's profile.

Fixes #34830.
2025-10-20 16:40:01 -07:00
Sahil Batra
e10f1ef260 user-profile: Rename class for edit pencil buttons.
This commit renames classes used for edit pencil button in
the profile modal header so that class names are clear enough
to specify what the buttons do. This rename is needed because
admins can now see "Edit profile" tab, i.e. the "Manage user"
tab for other users, in their own profile modal.

Co-Authored-by: Aman Vishwakarma <vishwakarmarambhawan572@gmail.com>
2025-10-20 16:40:01 -07:00
whilstsomebody
f5af6f9d7f user_profile: Use "Edit profile" label for user's own profile.
This commit renames tab heading, tooltip and aria-label for the
pencil edit icon in the profile modal header from "Manage user"
to "Edit profile" for admin's own profile.

Fixes part of #34830.
2025-10-20 16:40:01 -07:00
Sahil Batra
c58ae7f4f0 user-profile: Update header edit icon for admin's own profile.
For admin users, clicking on pencil edit icon in the profile
modal header opens the "Manage user" tab.

For non-admins, "Profile" settings panel is opened as before.

Fixes part of #34830.

Co-Authored-by: Aman Vishwakarma <vishwakarmarambhawan572@gmail.com>
2025-10-20 16:40:01 -07:00
whilstsomebody
9813f11abf user_profile: Show manage profile tab for admin's own profile.
Previouly admins did not see "Manage user" tab in their own
profile modal. This commit updates it to show the "Manage user"
tab to admins in their own profile modal as well.

Fixes part of #34830.
2025-10-20 16:40:01 -07:00
whilstsomebody
30c6b35b95 custom_profile_fields: Refactor code for handling date type fields.
The currrent behavior is to auto-save field immediately on changing
the value only in "Profile" settings panel but not in "Manage user"
modal where we save the changes only after clicking "Save changes"
button.

To enable this behavior we checked if the date type field is being
changed for user's own account or for other user. But now we will
show "Manage user" modal in user's own profile as well so to enable
the above mentioned behavior we now use for_profile_settings_panel
boolean field.
2025-10-20 16:40:01 -07:00
Sahil Batra
feaaf9ff03 drodpown: Do not use fa-ban icon for disabled option. 2025-10-20 16:30:06 -07:00
Sahil Batra
60074db0ed dropdown-widget: Remove left padding for icons.
This commit removes left padding for the stream privacy
and disabled icon in dropdown widgets. There is already
a padding in grid container and we are fine with removing
the 2px padding to avoid maintaining more pixel values.
2025-10-20 16:30:06 -07:00
Sahil Batra
46f338f54f dropdown-widget: Fix alignment of disabled option.
The alignment of icon and text of the disabled option in
dropdown widget was somewhow broken due to an extra span
element present which broke the grid layout used for
rendering the icon and text properly.

This also makes the layout consistent with other options
shown with icon.

This was due to e643d7e6fd which resulted in space
between icon and text. We could have fix that by using
"~" character to remove whitespace in handlebar templates
but making the layout consistent felt a better choice.
2025-10-20 16:30:06 -07:00
Pratik Chanda
81ca9e1b36 message_list: Hide group DMs where everyone is muted.
This commit hides group DMs where all recipients are muted from
different views.

Fixes: zulip#34886.

Co-authored-by: Aman Agrawal <amanagr@zulip.com>
2025-10-20 15:42:15 -07:00
Lauryn Menard
6b6a02f932 demo-orgs: Fix configure email banner action button on modals.
Fixes the action button on the configure email banner that appears
before a demo organization owner has added an email address on the
invite user and convert demo organization modals.

Adds the banner-wrapper class so that the general CSS rules for
banners are applied.

Removes the extra padding on the button as it does not appear to
be necessary any longer as the font and line height for the banner
label and action buttons is now the same.
2025-10-20 11:29:05 -07:00
Niloth P
f317af2e1d integration-docs: Add Git integration screenshot config and image.
Temporarily exclude Git from `test_integration_doc_endpoints`,
until the doc is updated.

The screenshot for this integration is added separately since this
adds a new screenshot for an integration whose doc is in the
python-zulip-api repo.
Since this breaks the sync between the docs and the screenshots, an
exclusion is added to make the tests pass.
2025-10-20 10:24:49 -07:00
Niloth P
f6e847d026 integration-docs: Add jira-plugin screenshot config and image.
Temporarily exclude jira-plugin from `test_integration_doc_endpoints`,
until the doc is updated.

The screenshot for this integration is added separately since this
adds a new screenshot for an integration whose doc is in the
python-zulip-api repo.
Since this breaks the sync between the docs and the screenshots, an
exclusion is added to make the tests pass.
2025-10-20 10:24:49 -07:00
Niloth P
883c27e991 test_docs: Add support for excluding certain integration screenshots.
The integration doc and the screenshot images are in different repos.
So, we cannot avoid going out of sync when adding or deleting image
files.

Added a new set to allow temporarily adding exclusions to the
`test_integration_doc_endpoints` test.
2025-10-20 10:24:49 -07:00
Niloth P
be5189774b test_integrations: Extend tests to cover fixtureless integrations.
Tests for:
- Missing screenshot configs
- Extra/unmatched screenshot configs (since the screenshot configs are
hardcoded)
- Missing screenshot files
2025-10-20 10:24:49 -07:00
Niloth P
b1376a8cac test_integrations: Improve test coverage for webhook screenshot configs.
Added testing for unmatched screenshot configs and conflicting entries,
which can be caused by manual error, since the screenshot configs are
hardcoded.
2025-10-20 10:24:49 -07:00
Niloth P
0048902853 test_integrations: Improve test_no_missing_screenshot_path.
Previously, the test would fail at the first missing occurrence, and
not report about any other missing files.
Now, all missing cases are collected and presented together in a single
error message, every run.
2025-10-20 10:24:49 -07:00
Niloth P
7b5e4db7ee integrations: Add a set NO_SCREENSHOT_CONFIG.
to track the integrations without a screenshot config.

This will be used for automated testing.
2025-10-20 10:24:49 -07:00
Niloth P
e7922e2472 integrations: Add a new category "Video calling".
For video and audio call integrations.

The new category is a subset of the "Communication" category, as all
"Video calling" integrations are also listed under "Communication".
2025-10-20 10:13:31 -07:00
Alex Vandiver
326c7d6383 openapi: Link server_thumbnail_formats to image formatting docs. 2025-10-20 10:10:24 -07:00
Alex Vandiver
24437963e2 openapi: Fix typo. 2025-10-20 10:09:55 -07:00
Aman Agrawal
d1cedb7f1d inbox: Fix collapsed note missing user only has unread DMs.
When there are only unread DMs and it is collapsed, the all rows
collapsed not is not shown.

This occurred since we didn't check for that.
2025-10-19 17:40:27 -07:00
Aditya Kumar Kasaudhan
fe99ed9993 navigation_view: Add reminders to built-in view fragments.
This omission had no effect on current users, but will be important once view 
customization is implemented.

It was missed in zulip#32528.
2025-10-19 17:39:13 -07:00
Greg Price
5ee9ae7eab docs: Request showing touches/clicks in screencast videos. 2025-10-17 15:49:27 -07:00
Greg Price
88dddc8090 docs: Clarify and sharpen request for screenshots vs videos. 2025-10-17 15:49:27 -07:00
Alex Vandiver
75c0f0286f semgrep: Lint unnecessary type=str in argparse. 2025-10-17 15:34:34 -07:00
Alex Vandiver
1e943ae7df python: Elide type=str from argparse arguments. 2025-10-17 15:34:34 -07:00
Alex Vandiver
ca01de84be emoji: Fix aliases for dotted_six_pointed_star.
CLDR 46 added this alias, which is not accurate; remove it.
2025-10-17 15:34:16 -07:00
Alya Abbott
de19741613 help: Open intro modal when checking out CZO. 2025-10-17 10:54:42 -07:00
Alya Abbott
36a63f7963 docs: Clarify how security releases are done. 2025-10-17 10:54:14 -07:00
Alex Vandiver
52ba675a26 Revert "compose: Track when the recipient box has recently had focus."
This reverts commits 5ce956c9bb and
14c51bd0ec, which broke the compose box
in channels with "only general chat" set.
2025-10-16 19:02:15 +00:00
Karl Stolley
90054890f3 api_docs: Add section on transcoded images. 2025-10-14 15:37:17 -07:00
Karl Stolley
19e5c8b8c9 api_docs: Clean up intro text on image placeholders. 2025-10-14 15:35:27 -07:00
Karl Stolley
35aac76176 api_docs: Reference example images as example.png. 2025-10-14 15:35:27 -07:00
Karl Stolley
85e6cec1db api_docs: Better structure Image previews section. 2025-10-14 15:35:27 -07:00
Alex Vandiver
bdb2c921ba docs: Document wal-g restore process. 2025-10-14 15:07:33 -07:00
Alex Vandiver
dd92036550 docs: Trim PostgreSQL support table.
Remove versions which we have also removed from ReadTheDocs.
2025-10-14 15:06:01 -07:00
Alex Vandiver
9815db9811 upload: Use normpath when comparing to LOCAL_UPLOADS_DIR.
This prevents a development-mode-only directory traversal attack,
where the Django development server could be made to respond to
requests for `/user_avatars/../../../../../../etc/passwd`.

The production server is not affected by this vulnerability, as
nginx's configuration sets `PATH_INFO` to `$document_uri`, which is
normalized[^1] -- that is, by the time uwsgi and Django see it, the path
has been percent-decoded once, and all `../` path components have been
applied[^2].

Close this by explicitly normalizing the paths before comparing; the
`LOCAL_UPLOADS_DIR` side is unlikely to require normalization as well,
but is also normalized for consistency.  The failure here is left as
an assertion failure, and not a JsonableError, because it only affects
the development server.

[^1]: https://nginx.org/en/docs/http/ngx_http_core_module.html#var_uri
[^2]: https://nginx.org/en/docs/http/ngx_http_core_module.html#location
2025-10-14 12:56:10 -07:00
Lauryn Menard
5d7adcbc00 typing: Use people.emails_string_to_user_ids for "dm" narrow term.
Updates the logic for getting the typists for a specific direct
message conversation to mirror narrow_state.set_compose_defaults
for the current filter's "dm" narrow term.
2025-10-14 12:19:53 -07:00
Lauryn Menard
c2d008aadb test-signup: Confirm all invalid email field error messages.
In Django, when cleaning a form field, all validators are run on
the field and all validation error messages are all collected.
Updates our test for invalid email addresses when creating a new
realm to confirm all expected error messages from the various
validators that are run on that field.
2025-10-14 12:19:07 -07:00
Lauryn Menard
f55c89a87f forms: Call superclass clean method for CaptchaRealmCreationForm.
Ensures that the form fields set in the superclass are validated.
2025-10-14 12:19:07 -07:00
Lauryn Menard
7185f2c236 forms: Set realm_creation field one time when initializing form.
In commit c7a08f3b77, we started setting the realm_creation field
in both the RegistrationForm and its superclass, RealmDetailsForm,
which was likely a copy and paste error.

Since we only need to set the realm_creation field once when
initializing the form fields, we set it in the RealmDetailsForm,
which also removes any confusion related to the comment about
removing extra kwargs in the RegistrationForm initialization.
2025-10-14 12:19:07 -07:00
PieterCK
b36f09c67f slack_importer_doc: Fix outdated links.
Existing links redirects to irrelevant documentation pages.
2025-10-14 12:17:45 -07:00
Niloth P
ad122af6f8 integrations: Use dir_name instead of name for default view fn.
Use the directory name as the template literal in the default view
function path.
2025-10-14 12:17:05 -07:00
Niloth P
23740c97a4 integrations: Remove redundant arguments. 2025-10-14 12:17:05 -07:00
Niloth P
f33ef8f206 integrations: Rename IFTTT view function to match conventions. 2025-10-14 12:17:05 -07:00
Tim Abbott
e4ba536eae migrations: Add merge migration for backport of 0753.
Systems upgrading from 11.x will have 0753 and not 0752, while systems
upgrading from main may have 0752 and not 0753, so a merge migration
is required to smoothly handle upgrades from both states.
2025-10-14 11:56:57 -07:00