Slack integration requires Slack API key and will make API calls to
Slack. It'll also trip at `validate_account_and_subdomain` when
receiving Slack calls from a dev environemnt. So this commit removes it
from the tool.
Migrate `stream_name` in Integration class to `channel` in
`WebhookScreenshotConfig` and `FixturelessScreenshotConfig` dataclasses.
`stream_name` is being used only when generating screenshots, and
hence belongs better in the screenshot config objects.
In the next commit, the ScreenshotConfig will be added as an Integration
property.
Earlier, while sending notification if `apns_context=None` - we logged:
"APNs: Dropping a notification because nothing configured. Set
ZULIP_SERVICES_URL (or APNS_CERT_FILE)." which is not accurate for E2EE
case.
For the non-E2EE case it is correct because configuring
ZULIP_SERVICES_URL results in transfering the responsbility to
make API call to APNs to the bouncer. Or they can configure
APNS_CERT_FILE if they want to send directly.
In E2EE case, the `send_e2ee_push_notification_apple` is part of
bouncer so configuring `ZULIP_SERVICES_URL` doesn't help. One needs
to configure either `APNS_TOKEN_KEY_FILE` or `APNS_CERT_FILE`.
Message to log is updated accordingly + severity increased from
DEBUG to ERROR.
Signed-off-by: Prakhar Pratyush <prakhar@zulip.com>
If `ANDROID_FCM_CREDENTIALS_PATH` is unset it results in fcm_app=None.
We should log error in this case and return, not doing so will result
in runtime error.
Signed-off-by: Prakhar Pratyush <prakhar@zulip.com>
The port redirect is only needed for document requests. When doing it
for all requests, including astro assets, hot reload in dev server
stopped working since the assets could not be resolved on the hot
reload.
We redirect non /help URLs to port 9991 when help center is running on
9995, since our webapp lives on 9991. When we run `run-dev` with
`--only-help-center` flag, the help center runs directly on port 9991.
Placed text just below the "Create organization" button.
Used styling to match "Learn how to import..." above.
Hidden the checkbox after the verification is done.
The verification text is hidden after 2s with a fadeout after 1s delay.
Fixes#36086
While sending push notifications for a user in
realm with `require_e2ee_push_notifications=true` and no
iOS device registered, it resulted in an error.
Also, while sending notif to revoke in realm with
`require_e2ee_push_notifications=true` and no android
device registered, it resulted in an error.
This commit fixes the bug by improving the checks to apply
the redact logic only if android/iOS device is registered
and it's not a remove event.
Co-authored-by: Tim Abbott <tabbott@zulip.com>
Signed-off-by: Prakhar Pratyush <prakhar@zulip.com>
Slugs in dm urls aren't really passed through url decoding and
shouldn't throw any error currently if hashReplacement aren't enforced.
But we still encode them in this commit to make this consistent.
The error message text had an unfortunate hover effect, resulting
from the error container element being inside the main widget element.
Move the error message element to sit outside the main element; this also
fixes overflow issues with the error element.
Fixes#17571.
This commit adds code to live update the group permissions panel
when user loses access to a stream by removing the stream and its
settings from the UI.
This commit extracts code to hide "Organization permissions",
"Channel permissions" and "User group permissions" headings
in group permissions panel if there are no settings under
these sections and show the empty panel text if group does
not have any assigned permissions.
This new function will help in avoiding duplicate code in next
commit which will add code to live update the permissions
panel when user loses access to a stream.
When resizing subheader heights to be equal on the left and
right sides, the subheader being resized was set to 1px taller
because height_of included borders in its calculation.
This commit fixes that such that subheaders on both sides are
of same height.
This commit restructures the HTML for stream and group
settings overlay such that we first write all the HTML
for left side and then right side.
This change is important so that focus behavior during
keyboard navigation is correct in narrow screens and
does not move to the elements which are hidden after
we fix it in #26941.
This changes the focus behavior on keyboard navigation
in wide screens where first all of the left panel will
be covered from top to bottom and then the right panel,
but it is fine.
Previously, when a user navigated to a private channel that they had
metadata access to but not content access, they would see a confusing
"You are not subscribed" bookend and a generic empty-feed banner. This
was misleading, as the issue is about permissions, not subscription
status.
The empty message feed placeholder displays a more accurate message
for this case. And the logic in `message_list.ts` is changed to
prevent the trailing bookend from rendering at all in this case.
Fixes#36075
Co-authored-by: Lauryn Menard <lauryn@zulip.com>
This adds infrastructure to prevent duplicate custom emails from being
sent to users when the management command is run multiple times
with identical email template content.
The implementation uses RealmAuditLog tracking with a new
CUSTOM_EMAIL_SENT event type (810) that stores a hash of the email
template content.
Fixes: #19529.
This commit adds support to revoke mobile push notifications
for messages when deleted.
Fixes#26584.
Signed-off-by: Prakhar Pratyush <prakhar@zulip.com>