Commit Graph

6287 Commits

Author SHA1 Message Date
another-simple-pixel 2650f57e4f Show the wallpaper gradient on bubbles in the theme preview
The wallpaper-picker preview already draws the SIMPLEX sunrise gradient
as its background, but the sample message bubbles stayed flat: bubbles
anchor their gradient to the chat viewport, which the preview never
provided. Give the preview its own viewport (with the same expanded
axis the preview background uses), so the sample bubbles show the same
gradient they do in a real chat, aligned with the background.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-07 17:18:35 -07:00
another-simple-pixel f40589743f Use the theme colour for the file icon in the SIMPLEX chat list
A chat whose last message is a file showed the file icon in the chat
wallpaper's warm tint, so it turned yellow under the "cats" wallpaper.
In the chat list the icon should match the neighbouring list icons, so
on SIMPLEX it now uses the theme's secondary colour there; inside the
chat, over the gradient, the icon keeps the warm tint.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-05 16:13:56 -07:00
another-simple-pixel 4f1d2e5095 Tint disabled feature icons on SIMPLEX
The group banner and the feature-change notices show feature icons; a
feature that is off draws in the model's secondary colour — a blue on
SIMPLEX — which reads cold over the sunrise gradient while the label
beside it already uses the warm tint. On SIMPLEX, route the off
(secondary) feature icon through simplexSecondaryTint(), in both the
collapsed icon row and the full notice. The green "on" and yellow
"partly on" colours, and every other theme, are untouched. This also
warms the "you changed a feature" notice icon, which passed a flat
secondary.
2026-07-04 04:48:13 -07:00
another-simple-pixel 590d89553c Tint the website-preview link on SIMPLEX
The website link-preview card shows the page URL under the title in
the flat secondary colour — a blue on SIMPLEX — which reads cold over
the sunrise gradient while the card's title uses content colour and
the message link itself the accent. Route that URL line through
simplexSecondaryTint() on SIMPLEX; other themes keep secondary. The
compose-bar preview is left as-is — it sits on the flat sent-message
colour, not the gradient.
2026-07-04 04:35:07 -07:00
another-simple-pixel 16df57837f Tint the chat-link preview and quoted-item icons on SIMPLEX
Sweeping the message area for the remaining secondary-role content
that read cold over the sunrise gradient — SIMPLEX secondary is a
blue (#8B99D6) and the file/link icons used the grey FileDark /
FileLight. This covers the chat-link preview card (avatar, short
description, info line) and the file / voice / chat-link icons shown
inside a quoted reply. Route them through simplexSecondaryTint() on
SIMPLEX; every other theme keeps its exact colours.
2026-07-03 16:41:12 -07:00
another-simple-pixel 8f99809741 Tint the framed-header icons and go-to arrows on SIMPLEX
On the SIMPLEX theme the raw secondary colour is a cool blue
(#8B99D6) and the framed-header icons drew in the grey FileDark /
FileLight — both read cold over the warm sunrise gradient, while the
text around them already uses the warm tint. Route the framed-header
icon (forward / flag / moderation / deleted markers) and the resting
go-to arrow (jump-to-source on forwarded items, jump-to search hit)
through simplexSecondaryTint() on SIMPLEX. Every other theme keeps
its exact colours.
2026-07-03 16:11:22 -07:00
another-simple-pixel bb9bba9492 Tint the framed-header caption and feature icon on SIMPLEX
On the SIMPLEX theme these two elements still drew in the flat
secondary colour over the sunrise gradient, while every sibling —
the quoted author above the caption, the feature label beside the
icon — already switched to the warm tint made to stay legible on
that gradient. Route both through simplexSecondaryTint(), which
returns the unchanged secondary colour for every other theme.
2026-07-03 15:53:31 -07:00
another-simple-pixel 61aa89a924 Remove the now-dead SIMPLEX link CompositionLocal
Making links a static accent left LocalSimplexLinkColor providing
exactly what linkStyle already falls back to (the primary colour),
so the CompositionLocal, its provider in FramedItemView, and the
elvis fallback no longer change anything. Remove all three.

Also clean up two comments the earlier subtraction left behind: the
axis comment still said secondary text samples the gradient (it uses
a flat tint now), and an orphaned line that had introduced the
removed LINK_STOPS.
2026-07-03 15:51:00 -07:00
another-simple-pixel ef3e356786 Make links a static accent and default avatars a flat tint
Links now use the flat accent colour and default avatars the same
semi-transparent warm tint as dates and delivery ticks, instead of
sampling the sunrise gradient by on-screen position.

The sampling machinery did real work on every frame: link colour
recomposed as items scrolled, and each default avatar rendered
through an offscreen compositing layer to mask the gradient onto the
icon. Both are gone — links are a plain span colour, avatars set
their icon tint directly. Bubbles keep the position-sampled gradient
(they can't be flat-tinted: the wallpaper pattern would show through
and hurt text legibility). Non-SIMPLEX themes are unaffected.
2026-07-03 15:06:21 -07:00
another-simple-pixel 871978bf31 SIMPLEX theme: sunrise gradient on chat bubbles, avatars and text
Paints the SIMPLEX chat over one screen-spanning "sunrise" gradient:
- bubbles, avatars and links sample the gradient by on-screen position (a shared
  20°-tilted axis anchored to the chat viewport);
- small text (dates, delivery checks, names, quoted authors, event notices,
  call/voice/deleted secondary text) uses a per-wallpaper semi-transparent warm
  tint, so it stays evenly legible over the gradient;
- decryption/integrity-error and deleted/marked-deleted bubbles use the received
  gradient instead of a flat grey;
- wallpaper stops and secondary colours resolve from the composition, so per-chat
  wallpaper overrides and the wallpaper-picker preview render correctly.

Side effects for all themes (details in the PR): event/feature text follows the
active theme instead of a start-up-frozen colour, and the via-proxy meta icon
matches the meta row on media bubbles.
2026-07-02 15:02:00 -07:00
another-simple-pixel c644c9ab7a Add gradient chat backgrounds to the SIMPLEX theme
Each preset wallpaper in the SIMPLEX theme now paints a per-wallpaper colour
gradient behind the chat (the pattern still shows on top) instead of a flat
background — the "sunrise" look the theme was designed around. Other themes
are unchanged. Bubble/text colours and the pattern-image refresh follow in
later PRs.
2026-07-01 06:34:59 -07:00
Evgeny Poberezkin 517611965e Merge branch 'stable' 2026-06-29 21:41:26 +01:00
Evgeny 8714e2e023 readme: github-banner (#7172)
* readme: github-banner

* update readme
2026-06-29 21:41:13 +01:00
Evgeny 1f2a7266af readme: github-banner (#7172)
* readme: github-banner

* update readme
2026-06-29 21:40:11 +01:00
Narasimha-sc b3944af735 desktop: fix crash when opening a video full screen (#7167)
Opening a video full screen could crash with NoSuchElementException from
VLC native-library discovery. Each MediaPlayerFactory() runs a JDK
ServiceLoader (not thread-safe), and the second preview factory added in
#6924 let the render thread and preview thread construct factories
concurrently. Serialize the two constructions behind a shared lock.
2026-06-29 15:43:31 +01:00
spaced4ndy 4da6e99d38 desktop, android: fix sections layout in Lock view and "connect to remote desktop" views (#7163) 2026-06-29 08:49:14 +00:00
spaced4ndy 249c5495da desktop, android: fix file chat item meta layout (#7156) 2026-06-29 08:48:29 +00:00
spaced4ndy 936e132c51 desktop: hide "Calls on lock screen" setting (#7154) 2026-06-29 08:48:12 +00:00
spaced4ndy 6816e1a1ff desktop, android: improve custom relay and user address text fields design (#7155) 2026-06-29 08:48:00 +00:00
spaced4ndy 894e44b8ed ui: fix channel contributor being able to "send message" without relays (#7139) 2026-06-27 12:12:47 +01:00
Narasimha-sc e979b7efdc android, desktop, ios: remove left padding on consecutive received messages in channels (#7108)
* android, desktop, ios: remove left padding on consecutive received messages in channels

In channels, a received message that does not show an avatar (a consecutive post from the same sender) drops the avatar-sized left padding and sits flush-left. Applies to both owner broadcasts (ChannelRcv) and contributor posts (GroupRcv); the first message of each run still shows the avatar. Gated on ChatInfo.isChannel, so regular groups, business and direct chats, sent messages, and avatar-shown messages are unchanged.

* docs: add plan justifying removing left padding on consecutive received messages in channels

* ios: fix right gap on consecutive received messages in channels

Removing the avatar-sized left padding from no-avatar received messages
(this PR) shifted those bubbles ~44pt left, but maxWidth still reserved
the avatar inset, so consecutive messages stopped ~44pt short of the
first (avatar) message on the right.

Widen maxWidth for no-avatar channel-received items so their right edge
matches the avatar-shown first message. The no-avatar predicate reuses
the exact shouldShowAvatar expression from the render path (lifted to a
file-scope function so the maxWidth site can call it), so the width and
the rendered layout can never disagree.

Android is unaffected: Compose derives content width from padding, so
reducing the start padding already widened the row there.

* ios: increase left padding

* kotlin: increase left gap

---------

Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com>
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com>
2026-06-26 22:12:39 +01:00
spaced4ndy 3a38c39d35 desktop: fix remote desktop channel and connection issues (#7137) 2026-06-26 15:42:47 +00:00
SimpleX Chat 1785132691 7.0.0-beta.2: android 361, desktop 150, ios 339 v7.0.0-beta.2 2026-06-26 11:07:49 +01:00
Evgeny Poberezkin 66e6233e78 core: 7.0.0.6 2026-06-26 07:35:19 +01:00
spaced4ndy e49a5ec6b5 core: XGrpMemNew checks (#7132) 2026-06-25 11:42:01 +00:00
spaced4ndy aa9b147aa8 ui: show subsriber roles in list; contributor list for subscribers (#7126) 2026-06-25 08:28:54 +00:00
spaced4ndy 4f855e6bba core: support connecting to channels via cli (#7131) 2026-06-24 14:55:21 +00:00
spaced4ndy 8d478b7167 core: don't create member role change chat item in channels (#7124) 2026-06-24 14:33:12 +00:00
SimpleX Chat 15ea3f83ba 7.0.0-beta.1: android 360, desktop 149, ios 338 v7.0.0-beta.1 2026-06-23 14:43:04 +01:00
Narasimha-sc 96c662d068 android, desktop: fix crash on opening chat with extremely wide image (#7123)
* android, desktop: fix crash on opening chat with extremely wide image

An image with an extreme aspect ratio (e.g. 4000x1) made the chat
unopenable: the framed item's Box clamped its aspectRatio only on the
low side (coerceAtLeast(1f / 2.33f)), leaving very wide images
unbounded. During an intrinsic measure pass Compose derives
width = height * ratio, which for a 4000:1 image overflows Constraints
and throws IllegalArgumentException on every render.

Add the symmetric upper bound (coerceIn(1f / 2.33f, 2.33f)), matching
the existing tall-image height cap in PriorityLayout
(constraints.maxWidth * 2.33f).

* docs: add plan justifying wide-image chat crash fix
2026-06-23 12:24:35 +01:00
Evgeny Poberezkin ebaa13df0e core: 7.0.0.5 2026-06-23 08:27:47 +01:00
sh a29ee24722 fix(core): annotate ambiguous memberRole record update (#7120)
The armv7a-android cross-compiler GHC refuses to disambiguate the bare
record update m {memberRole = role} (the field is shared by many record
types), failing the lib:simplex-chat build with "Record update is
ambiguous, and requires a type signature".

Annotate the updated record as (m :: GroupMember), matching the existing
workaround already used a few lines below in the same function.
2026-06-23 08:25:03 +01:00
Evgeny Poberezkin 864ceba0a8 ios: update core library 2026-06-22 19:35:48 +01:00
Evgeny 6d7de61326 website: translations (#7033)
* Translated using Weblate (Russian)

Currently translated at 87.5% (324 of 370 strings)

Translation: SimpleX Chat/SimpleX Chat website
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/website/ru/

* Translated using Weblate (Hungarian)

Currently translated at 100.0% (370 of 370 strings)

Translation: SimpleX Chat/SimpleX Chat website
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/website/hu/

* Translated using Weblate (Russian)

Currently translated at 87.5% (324 of 370 strings)

Translation: SimpleX Chat/SimpleX Chat website
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/website/ru/

* Translated using Weblate (Hungarian)

Currently translated at 100.0% (370 of 370 strings)

Translation: SimpleX Chat/SimpleX Chat website
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/website/hu/

* Translated using Weblate (Hungarian)

Currently translated at 100.0% (370 of 370 strings)

Translation: SimpleX Chat/SimpleX Chat website
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/website/hu/

* Translated using Weblate (Italian)

Currently translated at 100.0% (370 of 370 strings)

Translation: SimpleX Chat/SimpleX Chat website
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/website/it/

* Translated using Weblate (German)

Currently translated at 100.0% (370 of 370 strings)

Translation: SimpleX Chat/SimpleX Chat website
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/website/de/

* Translated using Weblate (French)

Currently translated at 74.5% (276 of 370 strings)

Translation: SimpleX Chat/SimpleX Chat website
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/website/fr/

* Translated using Weblate (French)

Currently translated at 75.6% (280 of 370 strings)

Translation: SimpleX Chat/SimpleX Chat website
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/website/fr/

* Translated using Weblate (Indonesian)

Currently translated at 95.1% (352 of 370 strings)

Translation: SimpleX Chat/SimpleX Chat website
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/website/id/

* Translated using Weblate (Hungarian)

Currently translated at 100.0% (373 of 373 strings)

Translation: SimpleX Chat/SimpleX Chat website
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/website/hu/

* Translated using Weblate (Italian)

Currently translated at 100.0% (373 of 373 strings)

Translation: SimpleX Chat/SimpleX Chat website
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/website/it/

* Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 99.1% (370 of 373 strings)

Translation: SimpleX Chat/SimpleX Chat website
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/website/zh_Hans/

* Translated using Weblate (German)

Currently translated at 100.0% (373 of 373 strings)

Translation: SimpleX Chat/SimpleX Chat website
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/website/de/

* Translated using Weblate (Persian)

Currently translated at 60.5% (226 of 373 strings)

Translation: SimpleX Chat/SimpleX Chat website
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/website/fa/

* website: fix translation errors found in review

- id: why-p6 had a stray Devanagari word "चाहे" mid-sentence → "baik … maupun"
- zh_Hans: "Community Credits" mistranslated as 社区声望 (reputation) → 社区积分 (x2)
- fr: why-p1 used informal "Tu es né" in a formal vous block → "Vous êtes né"
- hu: dropped added words not in source — "ismeretlen" (index-nextweb-p1),
  "kedvenc" (index-directory-p2)
- ru: file-desc "с сквозным" → "со сквозным" (preposition); file-e2e-note
  restored "end-to-end" → "Сквозное шифрование"
- it: index-token-p2 "gestione" → "governance" della rete

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* Translated using Weblate (Russian)

Currently translated at 87.5% (324 of 370 strings)

Translation: SimpleX Chat/SimpleX Chat website
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/website/ru/

* Translated using Weblate (Hungarian)

Currently translated at 100.0% (370 of 370 strings)

Translation: SimpleX Chat/SimpleX Chat website
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/website/hu/

* Translated using Weblate (Hungarian)

Currently translated at 100.0% (370 of 370 strings)

Translation: SimpleX Chat/SimpleX Chat website
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/website/hu/

* Translated using Weblate (Italian)

Currently translated at 100.0% (370 of 370 strings)

Translation: SimpleX Chat/SimpleX Chat website
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/website/it/

* Translated using Weblate (German)

Currently translated at 100.0% (370 of 370 strings)

Translation: SimpleX Chat/SimpleX Chat website
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/website/de/

* Translated using Weblate (French)

Currently translated at 74.5% (276 of 370 strings)

Translation: SimpleX Chat/SimpleX Chat website
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/website/fr/

* Translated using Weblate (French)

Currently translated at 75.6% (280 of 370 strings)

Translation: SimpleX Chat/SimpleX Chat website
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/website/fr/

* Translated using Weblate (Indonesian)

Currently translated at 95.1% (352 of 370 strings)

Translation: SimpleX Chat/SimpleX Chat website
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/website/id/

* Translated using Weblate (Hungarian)

Currently translated at 100.0% (373 of 373 strings)

Translation: SimpleX Chat/SimpleX Chat website
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/website/hu/

* Translated using Weblate (Italian)

Currently translated at 100.0% (373 of 373 strings)

Translation: SimpleX Chat/SimpleX Chat website
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/website/it/

* Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 99.1% (370 of 373 strings)

Translation: SimpleX Chat/SimpleX Chat website
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/website/zh_Hans/

* Translated using Weblate (German)

Currently translated at 100.0% (373 of 373 strings)

Translation: SimpleX Chat/SimpleX Chat website
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/website/de/

* Translated using Weblate (Persian)

Currently translated at 60.5% (226 of 373 strings)

Translation: SimpleX Chat/SimpleX Chat website
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/website/fa/

* website: fix Indonesian why-p6 (replace stray Hindi word चाहे with 'entah')

---------

Co-authored-by: Skyward Copied <skywardcopied@users.noreply.hosted.weblate.org>
Co-authored-by: summoner001 <summoner@disroot.org>
Co-authored-by: Random <random-r@users.noreply.hosted.weblate.org>
Co-authored-by: mlanp <github@lang.xyz>
Co-authored-by: Retis2025 <retis@tuta.io>
Co-authored-by: N4TH4NOT <n4th4not@gmail.com>
Co-authored-by: Arif Budiman <arifpedia@gmail.com>
Co-authored-by: 大王叫我来巡山 <hamburger2048@users.noreply.hosted.weblate.org>
Co-authored-by: Reg3xp <reg3xp@protonmail.com>
Co-authored-by: Narasimha-sc <166327228+Narasimha-sc@users.noreply.github.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 18:16:56 +01:00
Evgeny 54e4404627 ui: translations (#7112)
* Translated using Weblate (Hungarian)

Currently translated at 100.0% (2392 of 2392 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/hu/

* Translated using Weblate (Arabic)

Currently translated at 100.0% (2768 of 2768 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/ar/

* Translated using Weblate (Italian)

Currently translated at 100.0% (2768 of 2768 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/it/

* Translated using Weblate (Italian)

Currently translated at 100.0% (2392 of 2392 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/it/

* Translated using Weblate (Hungarian)

Currently translated at 100.0% (2768 of 2768 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/hu/

* Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (2767 of 2767 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/zh_Hans/

* Translated using Weblate (Hungarian)

Currently translated at 100.0% (2767 of 2767 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/hu/

* Translated using Weblate (Arabic)

Currently translated at 100.0% (2767 of 2767 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/ar/

* Translated using Weblate (Russian)

Currently translated at 100.0% (2392 of 2392 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/ru/

* Translated using Weblate (Russian)

Currently translated at 99.9% (2765 of 2767 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/ru/

* Translated using Weblate (Russian)

Currently translated at 99.9% (2765 of 2767 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/ru/

* Translated using Weblate (Czech)

Currently translated at 91.1% (2523 of 2767 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/cs/

* Translated using Weblate (Hungarian)

Currently translated at 100.0% (2392 of 2392 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/hu/

* Translated using Weblate (Hungarian)

Currently translated at 100.0% (2767 of 2767 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/hu/

* Translated using Weblate (Italian)

Currently translated at 100.0% (2767 of 2767 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/it/

* Translated using Weblate (German)

Currently translated at 100.0% (2767 of 2767 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/de/

* Translated using Weblate (German)

Currently translated at 100.0% (2392 of 2392 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/de/

* Translated using Weblate (Czech)

Currently translated at 94.6% (2619 of 2767 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/cs/

* Translated using Weblate (Spanish)

Currently translated at 100.0% (2392 of 2392 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/es/

* Translated using Weblate (Spanish)

Currently translated at 100.0% (2767 of 2767 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/es/

* Translated using Weblate (Hungarian)

Currently translated at 100.0% (2392 of 2392 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/hu/

* Translated using Weblate (Hungarian)

Currently translated at 100.0% (2768 of 2768 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/hu/

* Translated using Weblate (Hungarian)

Currently translated at 100.0% (2783 of 2783 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/hu/

* Translated using Weblate (Italian)

Currently translated at 100.0% (2783 of 2783 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/it/

* Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (2783 of 2783 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/zh_Hans/

* Translated using Weblate (German)

Currently translated at 100.0% (2783 of 2783 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/de/

* Translated using Weblate (Arabic)

Currently translated at 100.0% (2783 of 2783 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/ar/

* Translated using Weblate (Turkish)

Currently translated at 89.6% (2145 of 2392 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/tr/

* Translated using Weblate (Hungarian)

Currently translated at 100.0% (2783 of 2783 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/hu/

* Translated using Weblate (Hungarian)

Currently translated at 100.0% (2392 of 2392 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/hu/

* Translated using Weblate (Hungarian)

Currently translated at 100.0% (2793 of 2793 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/hu/

* Translated using Weblate (German)

Currently translated at 100.0% (2392 of 2392 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/de/

* Translated using Weblate (German)

Currently translated at 100.0% (2793 of 2793 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/de/

* Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (2793 of 2793 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/zh_Hans/

* Translated using Weblate (Hungarian)

Currently translated at 100.0% (2795 of 2795 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/hu/

* Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (2795 of 2795 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/zh_Hans/

* Translated using Weblate (Italian)

Currently translated at 100.0% (2795 of 2795 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/it/

* Translated using Weblate (German)

Currently translated at 100.0% (2795 of 2795 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/de/

* Translated using Weblate (Arabic)

Currently translated at 100.0% (2795 of 2795 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/ar/

* Translated using Weblate (Spanish)

Currently translated at 100.0% (2795 of 2795 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/es/

* Translated using Weblate (Czech)

Currently translated at 97.1% (2716 of 2795 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/cs/

* Translated using Weblate (Russian)

Currently translated at 99.0% (2769 of 2795 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/ru/

* Translated using Weblate (Italian)

Currently translated at 100.0% (2800 of 2800 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/it/

* Translated using Weblate (German)

Currently translated at 100.0% (2800 of 2800 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/de/

* Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 100.0% (2800 of 2800 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/zh_Hans/

* Translated using Weblate (Hungarian)

Currently translated at 100.0% (2392 of 2392 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/hu/

* Translated using Weblate (Hungarian)

Currently translated at 100.0% (2800 of 2800 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/hu/

* Translated using Weblate (Hungarian)

Currently translated at 100.0% (2800 of 2800 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/hu/

* Translated using Weblate (Arabic)

Currently translated at 100.0% (2800 of 2800 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/ar/

* Translated using Weblate (Hungarian)

Currently translated at 100.0% (2800 of 2800 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/hu/

* Translated using Weblate (Hungarian)

Currently translated at 100.0% (2392 of 2392 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/hu/

* Translated using Weblate (Hungarian)

Currently translated at 100.0% (2392 of 2392 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/hu/

* Translated using Weblate (Hungarian)

Currently translated at 100.0% (2800 of 2800 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/hu/

* Translated using Weblate (Hungarian)

Currently translated at 100.0% (2392 of 2392 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/hu/

* Translated using Weblate (Hungarian)

Currently translated at 100.0% (2800 of 2800 strings)

Translation: SimpleX Chat/SimpleX Chat Android
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/android/hu/

* Translated using Weblate (German)

Currently translated at 100.0% (2392 of 2392 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/de/

* Translated using Weblate (Japanese)

Currently translated at 50.8% (1216 of 2392 strings)

Translation: SimpleX Chat/SimpleX Chat iOS
Translate-URL: https://hosted.weblate.org/projects/simplex-chat/ios/ja/

* process localizations

---------

Co-authored-by: summoner001 <summoner@disroot.org>
Co-authored-by: jonnysemon <jonnysemon@users.noreply.hosted.weblate.org>
Co-authored-by: Random <random-r@users.noreply.hosted.weblate.org>
Co-authored-by: 大王叫我来巡山 <hamburger2048@users.noreply.hosted.weblate.org>
Co-authored-by: Skyward Copied <skywardcopied@users.noreply.hosted.weblate.org>
Co-authored-by: slrslr <adm@prnet.info>
Co-authored-by: mlanp <github@lang.xyz>
Co-authored-by: zenobit <zenobit@disroot.org>
Co-authored-by: Isaac ALejandro Lopez <anonimoanonymus429@gmail.com>
Co-authored-by: echoloji <mehmetksm@tuta.io>
Co-authored-by: No name <usir.alerts@onionmail.org>
Co-authored-by: Андрей Абрамов <dassgutta@gmail.com>
Co-authored-by: Ghost of Sparta <makesocialfoss32@keemail.me>
Co-authored-by: Sarfaraz Ahmed <sahmed78@protonmail.com>
Co-authored-by: Ikko Eltociear Ashimine <eltociear@gmail.com>
2026-06-22 18:16:01 +01:00
Evgeny Poberezkin 514bfc8519 core: 7.0.0.4 2026-06-22 16:48:01 +01:00
Evgeny Poberezkin 699cca9fa3 Merge branch 'stable' 2026-06-22 16:46:50 +01:00
SimpleX Chat 59fce95d3c 6.5.6: android 358, desktop 148, ios 337 v6.5.6 2026-06-22 16:40:09 +01:00
spaced4ndy 117ed75d40 ui: allow to change member role in channel (#7096) 2026-06-22 12:53:05 +00:00
spaced4ndy 0e09b38ea6 core: public groups - roster of privileged members (#7017) 2026-06-22 10:15:41 +00:00
Evgeny Poberezkin 5d3f016627 core: 7.0.0.3 2026-06-21 23:38:14 +01:00
Evgeny Poberezkin f64030f704 Merge branch 'stable' 2026-06-21 23:37:47 +01:00
Evgeny Poberezkin f0b9006c54 core: 6.5.6.1 2026-06-21 23:37:11 +01:00
Evgeny 6cde614e51 core: fix group link use after admin demotion (#7111)
* Fix group link use after admin demotion

* fix: group role change

* size limit

* fix

* allow delete

* do not remove link

* query plan

* relay test

* refactor

---------

Co-authored-by: Paul Bottinelli <paul.bottinelli@trailofbits.com>
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com>
2026-06-21 23:36:15 +01:00
Evgeny Poberezkin 674e7e19c0 core: 7.0.0.2 (simplexmq 7.0.0.2) 2026-06-21 14:03:08 +01:00
Evgeny Poberezkin 5faa702251 Merge branch 'stable' 2026-06-21 13:33:28 +01:00
Evgeny Poberezkin 687661313f 6.5.6.0 2026-06-21 13:31:55 +01:00
Evgeny c42c121a36 core: improve short link decompression (#7110)
* fix: bound short-link decompression

* core: improve short link decompression

---------

Co-authored-by: Paul Bottinelli <paul.bottinelli@trailofbits.com>
2026-06-21 13:03:57 +01:00
Evgeny Poberezkin 8bf571cf5d Merge branch 'stable' 2026-06-20 22:50:19 +01:00
Narasimha-sc 9b76742c6e desktop: fix in-app updater deleting the download before "Open file location" (#7104)
* desktop: fix updater deleting the download before "Open file location"

The in-app updater downloads to a temp UUID file via createTmpFileAndDelete,
then relies on `file.renameTo(newFile)` to move the bytes to the asset name so
they survive that helper's `finally { tmpFile.delete() }`. The rename's return
value was ignored: if it failed, the bytes stayed at the UUID path and the
finally block deleted the only copy, so the "Download completed" dialog appeared
but "Open file location" opened an empty /tmp/simplex.

Use Files.move with REPLACE_EXISTING instead. It performs the same in-place
rename when possible (verified: inode preserved, no copy), falls back to
copy+delete when an atomic rename isn't possible, and throws on genuine failure
- which the existing outer catch handles - instead of silently losing the file.

* docs: plan for updater open-file-location fix

* docs: plan - note Whonix compatibility (updater previously failed there)
2026-06-20 22:49:29 +01:00