Commit Graph

67011 Commits

Author SHA1 Message Date
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
Aman Agrawal
9ffe31e352 message_list_view: Fix missing bookend when prepending messages.
The logic for inserting bookend when prepending messages was
missing.

Fixed by inserting the bookend at the correct position.

Reproducer:

Modify `message_fetch` parameters to only fetch
one message per fetch to ensure that each message is prepended.

Subscribe to a channel and send a message.

Reload.

Bookend is absent before the latest message without this commit.
2025-10-14 11:52:36 -07:00
Alya Abbott
aac651fa39 updates: Add update message (level=22). 2025-10-13 23:18:00 -07:00
Lauryn Menard
97fc26dd99 create-realm: Remove 'left' and 'center' classes.
The 'left' and 'center' classes have no apparent CSS styles or
frontend code that uses them on the `create_realm.html` template.
2025-10-13 10:08:14 -07:00
Lauryn Menard
69a8ec3ae9 create-realm: Remove margin-top rules for new-organization-button.
The top margin for the submit button on `create_realm.html` is
set by the '#new-realm-creation .register-button' rule in
`portico_signin.css`.

Removes the redundant margin-top rules for new-organization-button
class that are not used.
2025-10-13 10:08:14 -07:00
Lauryn Menard
e98cf5819c create-realm: Remove CSS rule for 'input.new-organization-button'.
In commit 7afbc9d, the button to create a new organization in
`templates/zerver/create_realm.html` was changed from an input
element to a button element.

Removes CSS rule that's been unused since that change.
2025-10-13 10:08:14 -07:00
Lauryn Menard
e4b425c083 docs: Update links for renamed securing-your-zulip-server doc. 2025-10-13 10:06:31 -07:00
Anders Kaseorg
4192d46a0e upgrade-zulip-from-git: Fix fully broken refname parsing.
Commit c903128eb7 (#36214) was evidently
never tested.

Signed-off-by: Anders Kaseorg <anders@zulip.com>
2025-10-12 16:47:53 -07:00
Aman Agrawal
83719cd5be inbox_ui: Allow muting topics without using message object.
Since muting topics doesn't require a complete message, we can
mute topics with the information we have.
2025-10-10 09:57:23 -07:00
Aman Agrawal
97452ea4f8 hotkey: Fix wrong assumption of message_lists.current is defined.
Since we are checking `is_in_focus()` of recent and inbox view,
message_lists.current can be not defined here, also addition
a new view in Zulip will make this fail.
2025-10-10 09:57:23 -07:00
PieterCK
c54dee9fab slack_integration: Audit the Slack bot token scope requirements.
This clarifies which Slack bot token scopes the integration really uses.
Extraneous scopes are: `users:read.email`, `team:read`, and
`emoji:read`.

Fixes part of #30827.
2025-10-10 09:55:38 -07:00
Mateusz Mandera
e65fb2d051 slack: Requote image_url in render_attachment.
Slack attachment urls with white spaces,
e.g. `https://example.com/some file.png`,
were rejected by `check_url`. We want to call `requote_url` to deal with
any url-quoting jankiness that may be present in the exported data.
2025-10-10 09:52:50 -07:00
Mateusz Mandera
d484fd95d8 slack: Add missing block types.
1. `call` is a block type we've observed in the wild in a Slack export,
   despite not being documented in
   https://docs.slack.dev/reference/block-kit/blocks/

2. We already have the logic for converting `condition` block type below
   in the function, but it was erroneously missing from the list of valid
   types.
2025-10-10 09:52:44 -07:00
Mateusz Mandera
a473d05840 slack: Fix formation of bot email addresses with non-ascii chars. 2025-10-10 09:49:35 -07:00
Tom Hubrecht
5ed5fa3315 webhooks_gitea: Use the correct actor for pull_request actions
The user associated to a pull request is always its creator, however,
when closing a pull request, this can be the wrong actor. The paylod
contains the actor in the `sender` value, use this instead.
2025-10-10 09:47:45 -07:00
Evy Kassirer
ab8f6891d6 popovers: Fix name for sidebar channel folders popover. 2025-10-10 09:46:44 -07:00