mirror of
https://github.com/zulip/zulip.git
synced 2025-10-23 04:52:12 +00:00
If the content-type of the image is not in INLINE_MIME_TYPES, then we do not expect browsers to be able to display it. This behaviour is particularly confusing because the thumbnail will render properly, since that will be in the more widely-supported WebP format, but the lightbox will show a broken image. In these cases, generate a high-resolution (4032x3024) "thumbnail" which clients can choose to use instead. This thumbnail format is not in the listed in the server's advertised thumbnail size list, because it is not reliably generated for every image. The transcoded thumbnail format is set on the `img` tag if it is generated, and the original content-type is always passed to the client, so it can decide how or if to render the original image. This content-type is as the _original uploader_ specified it, so may be incorrect. The transcoded image is not animated, even if the original was. HEIC files can nominally be animated, but in testing libvips was not able to correctly recognize them as such. TIFF files are parsed as being "animated," with one page per frame; this is of dubious utility, so we merely transcode the first page. Always generating a static transcoded image serves to also limit the computational time spent. THUMBNAIL_OUTPUT_FORMATS is switched to be a tuple to ensure that it is not accidentally mutated.
53 lines
2.1 KiB
Python
53 lines
2.1 KiB
Python
import os
|
|
|
|
ZULIP_VERSION = "10.0-dev+git"
|
|
|
|
# Add information on number of commits and commit hash to version, if available
|
|
zulip_git_version_file = os.path.join(
|
|
os.path.dirname(os.path.abspath(__file__)), "zulip-git-version"
|
|
)
|
|
lines = [ZULIP_VERSION, ""]
|
|
if os.path.exists(zulip_git_version_file):
|
|
with open(zulip_git_version_file) as f:
|
|
lines = [*f, "", ""]
|
|
ZULIP_VERSION = lines.pop(0).strip()
|
|
ZULIP_MERGE_BASE = lines.pop(0).strip()
|
|
|
|
LATEST_MAJOR_VERSION = "9.0"
|
|
LATEST_RELEASE_VERSION = "9.3"
|
|
LATEST_RELEASE_ANNOUNCEMENT = "https://blog.zulip.com/2023/12/15/zulip-8-0-released/"
|
|
|
|
# Versions of the desktop app below DESKTOP_MINIMUM_VERSION will be
|
|
# prevented from connecting to the Zulip server. Versions above
|
|
# DESKTOP_MINIMUM_VERSION but below DESKTOP_WARNING_VERSION will have
|
|
# a banner at the top of the page asking the user to upgrade.
|
|
DESKTOP_MINIMUM_VERSION = "5.4.3"
|
|
DESKTOP_WARNING_VERSION = "5.9.3"
|
|
|
|
# Bump the API_FEATURE_LEVEL whenever an API change is made
|
|
# that clients might want to condition on. If we forget at
|
|
# the time we make the change, then bump it later as soon
|
|
# as we notice; clients using API_FEATURE_LEVEL will just not
|
|
# use the new feature/API until the bump.
|
|
#
|
|
# Changes should be accompanied by documentation explaining what the
|
|
# new level means in api_docs/changelog.md, as well as "**Changes**"
|
|
# entries in the endpoint's documentation in `zulip.yaml`.
|
|
|
|
API_FEATURE_LEVEL = 336 # Last bumped for data-original-content-type and data-transcoded-image
|
|
|
|
# Bump the minor PROVISION_VERSION to indicate that folks should provision
|
|
# only when going from an old version of the code to a newer version. Bump
|
|
# the major version to indicate that folks should provision in both
|
|
# directions.
|
|
|
|
# Typically,
|
|
# * adding a dependency only requires a minor version bump;
|
|
# * removing a dependency requires a major version bump;
|
|
# * upgrading a dependency requires a major version bump, unless the
|
|
# upgraded dependency is backwards compatible with all of our
|
|
# historical commits sharing the same major version, in which case a
|
|
# minor version bump suffices.
|
|
|
|
PROVISION_VERSION = (309, 0) # bumped 2024-01-07 to remove spectrum-colorpicker
|