Commit Graph
6675 Commits
Author SHA1 Message Date
Evgeny @ SimpleX Chat e3ece208c9 Merge branch 'master' into ep/parallel-tests 2026-10-05 12:18:58 +00:00
Evgeny @ SimpleX Chat 6e046fe30f update simplexmq 2026-10-05 12:05:56 +00:00
Evgeny @ SimpleX Chat 4d7faa505e simplexmq 2026-10-05 11:42:40 +00:00
Evgeny Poberezkin 680790695e core: update simplexmq 2026-10-05 11:45:16 +01:00
EvgenyandEvgeny @ SimpleX Chat 905df659d3 ios: show error when random database passphrase generation fails (#7621)
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com>
2026-10-05 09:46:55 +01:00
spaced4ndyandEvgeny Poberezkin 86671a1699 core, ui: confirm before connecting a call answered without e2e encryption (#7647)
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com>
2026-10-05 09:45:57 +01:00
Evgenyandshum b79223fe5c core: call media key HKDF, expire stale calls (#7642)
* core: call media key HKDF, expire stale calls

* core: expire stale calls in bulk SQL

* core: reduce call tests

* core: remove periodic call cleanup

* core: expire calls with DELETE RETURNING

* core: skip call item update when none expired

---------

Co-authored-by: shum <github.shum@liber.li>
2026-10-04 18:44:52 +01:00
a9322ff32c android: prevent access to chat list when accepting call in locked state (#7627)
* android: prevent access to chat list when accepting call in locked state

* android: request auth on resume during a call

---------

Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com>
Co-authored-by: shum <github.shum@liber.li>
2026-10-04 12:07:39 +01:00
shandNarasimha-sc be05a46628 android: StrongBox for new keystore keys, show key storage level (#7637)
* android: create new keystore keys in StrongBox

* android: show keystore key storage level

* ui: save keystore key before marking it stored

* android: show keystore storage level in the footer text instead of a separate row

* android: return keystore storage label, drop enum

---------

Co-authored-by: Narasimha-sc <166327228+Narasimha-sc@users.noreply.github.com>
2026-10-04 10:47:46 +01:00
1a969a6cb9 core, ui: remove database backups after key changes (#7628)
* core, ui: remove database backups after key changes

* ui: delete database backups on chat start without delaying encryption marker reset

Keeping encryptionStartedAt set until chat start made DatabaseErrorView show
"The attempt to change database passphrase was not completed" with a Restore
button after every successful passphrase change when the passphrase is not
stored. Restore the marker handling from master and delete backups
unconditionally after chat starts.

* another flag

---------

Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com>
Co-authored-by: Narasimha-sc <166327228+Narasimha-sc@users.noreply.github.com>
2026-10-03 16:56:58 +01:00
Evgenyandshum ec1effd5da website: allowlist raster data URIs in previews (#7643)
Co-authored-by: shum <github.shum@liber.li>
2026-10-03 15:12:06 +01:00
SimpleX Chat 51630d61ef 7.1-beta.6: android 386, desktop 167, ios 362 v7.1.0-beta.6 2026-10-03 13:33:46 +00:00
Evgeny Poberezkin f8c43bf0ef core: 7.1.0.10 2026-10-03 11:07:23 +01:00
Evgeny Poberezkin 6b596c0c35 Merge branch 'stable' 2026-10-03 08:05:19 +01:00
EvgenyandNarasimha-sc 53e6d435bc android, desktop: blur media thumbnails in reply quotes and the chat list (#7639)
"Blur media" hid images and videos in a chat but showed the same media
sharp as the thumbnail of a quoted message and as the last message's
image, video or link preview in the chat list.

Small views are now blurred with the same reveal as chat media. They are
resampled relative to the width they are drawn at, so a thumbnail is
blurred as much on screen as media in a chat, and drawn as the centre
crop the thumbnail shows. In-chat media keeps the same blur.

Blurring the chat list also needs: each last message gets its own blur
state, loaded chat-list videos use it and hide their full-screen play
button while blurred, a right-click on a thumbnail no longer leaves it
revealed on desktop, and leaving a chat mid-scroll no longer undoes
reveals in the list on Android.

Co-authored-by: Narasimha-sc <166327228+Narasimha-sc@users.noreply.github.com>
2026-10-03 07:17:20 +01:00
EvgenyandEvgeny @ SimpleX Chat ffcc2258cc core: prohibit XFTP redirects in sent files (#7617)
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com>
2026-10-02 17:36:24 +01:00
EvgenyandEvgeny @ SimpleX Chat a1cf69e9a9 desktop: allow only one connection from call page (#7619)
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com>
2026-10-02 17:06:48 +01:00
EvgenyandEvgeny @ SimpleX Chat 806943bd62 android, desktop: do not show caller profile in hidden preview mode (#7620)
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com>
2026-10-02 17:02:24 +01:00
Narasimha-sc 205d17e2fa android, desktop: make media blur much lighter on CPU (#7483)
* ui: blur media by resampling the preview, not a per-frame effect

Modifier.blur put a BlurEffect on a display-sized graphics layer, so the
Gaussian was re-evaluated on every frame the media was drawn. It also
requires RenderEffect, which Android applies only from API 31, so below
Android 12 media was drawn unblurred while the setting read as on.

A blur and a downscale discard the same thing - detail finer than their
radius - so the preview is now resampled to about one pixel per radius and
stretched back. That runs once when the item composes, needs no
RenderEffect, and removes the detail irreversibly rather than convolving
it. The first resampling step bounds both sides, so no image, however
shaped, can produce a large intermediate.

While the blur hides the media the file is also left unread, so an image
scrolled past is no longer read, decoded at its full size and kept in the
image cache only to be hidden again. blurHidesMedia() is the single
definition that both the drawing and the loading decision use, so they
cannot disagree about whether the media is on screen.

* plans: blur media by resampling the preview

* ui: shorten comments in media blur

* ui: smooth the media blur and match its strength to the old one

Stretching the resampled preview straight to the screen showed its pixel grid. Double it back
up until its longest side is at least half the reference width before drawing, so the last
stretch is short and the tents compose into a bell. The reference width moves from 360 to 400:
fitted against Gaussians, 360 blurred 5-75% more than Modifier.blur did, 400 is within 10% at
every setting.

(cherry picked from commit c0344a9a61)
2026-10-02 15:59:38 +01:00
spaced4ndy fbf075aa36 core: prohibit assigning owner role in channels (#7631) 2026-10-01 09:01:50 +01:00
spaced4ndy 0ef32c0bcc core: prevent moderators from accepting members with moderator role (#7629) 2026-10-01 09:00:51 +01:00
SimpleX Chat 2158f3039a 7.1-beta.5: android 383, desktop 165, ios 360 v7.1.0-beta.5 2026-09-30 15:58:31 +00:00
Evgeny Poberezkin 93910b80e9 core: 7.1.0.9 (simplexmq 7.1.0.10) 2026-09-30 14:09:11 +01:00
EvgenyandEvgeny @ SimpleX Chat 851ff062da core: compress messages if needed to fit envelope, even if there is no PQ e2ee in connection (#7630)
* core: compress messages if needed to fit envelope, even if there is no PQ e2ee in connection

* simplify

* remove noise

* compress messages without PQ too

* case

* update query plans

---------

Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com>
2026-09-30 14:07:00 +01:00
EvgenyandEvgeny @ SimpleX Chat 80f8757449 core: remove .exported db files when database is removed (#7615)
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com>
2026-09-30 10:09:18 +01:00
EvgenyandEvgeny @ SimpleX Chat 3d3dd421ff desktop: prevent desktop being locked after the call (#7505)
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com>
2026-09-30 09:28:58 +01:00
EvgenyandEvgeny @ SimpleX Chat 485bec5d5d android, desktop: reduce logging (#7618)
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com>
2026-09-30 09:18:26 +01:00
sh 4d0ffbd3e9 calculator bot: add docker setup (#7606) 2026-09-30 08:50:29 +01:00
sh b1dc25dc3e badges: service group with multi-use codes (#7578)
* core: cancel the chat callback on interrupt

* badges: add multi-use codes

* badges: add the managed group

* badges: document multi-use codes and the group

* core: sign test badges with whole-second expiry

* badges: rework tracker and reply texts
2026-09-30 08:48:57 +01:00
EvgenyandEvgeny @ SimpleX Chat 3c0a6f0e29 ios: exclude app data from backup (#7623)
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com>
2026-09-30 08:23:51 +01:00
EvgenyandEvgeny @ SimpleX Chat be39a42121 core: limit the number of skipped keys during remote access (#7622)
* core: limit the number of skipped keys during remote access

* simplify

* core: restrict body size for XRCP commands and responses, limit decompressed size (#7616)

Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com>

---------

Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com>
2026-09-30 07:16:52 +01:00
EvgenyandEvgeny @ SimpleX Chat 8b804a4fba core: restrict body size for XRCP commands and responses, limit decompressed size (#7616)
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com>
2026-09-29 23:01:33 +01:00
EvgenyandEvgeny @ SimpleX Chat e863ee4c27 core: limit depth of forwarded messages (#7614)
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com>
2026-09-29 21:56:03 +01:00
EvgenyandEvgeny @ SimpleX Chat 25d4bb8966 ui: add error constructor (#7610)
* ui: add error constructor

* string

---------

Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com>
2026-09-29 19:25:14 +01:00
EvgenyandEvgeny @ SimpleX Chat a12552d427 relays: remove of files with base64 padding in the name, log errors (#7611)
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com>
2026-09-29 19:22:25 +01:00
EvgenyandEvgeny @ SimpleX Chat 40ac97ff7a ios: fix frame decryptor crash on undersized frame (#7613)
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com>
2026-09-29 19:19:37 +01:00
Evgeny Poberezkin f76dd609dd ios: update core library 2026-09-29 19:12:49 +01:00
Evgeny @ SimpleX Chat b27e05e1f5 update simplexmq and direct-sqlcipher, fixes 2026-09-28 17:38:12 +00:00
Evgeny @ SimpleX Chat 7b055c09c5 fix tests 2026-09-27 17:49:50 +00:00
Evgeny Poberezkin ad0bb59497 ios: update core 2026-09-27 18:04:31 +01:00
Evgeny Poberezkin 6dc41f549d query plans 2026-09-27 17:38:27 +01:00
EvgenyandEvgeny @ SimpleX Chat 643a9afad6 bots: SimpleX Calculator demo bot (#7583)
* bots: SimpleX Calculator demo bot

* refactor

* use local server in test

* simplify

* icon

* simplify

* expression

* replies

* improve

* log

* update name in bot address

* @simplex-chat/type: 0.12.0

* simplex-chat nodejs: 7.1.0-beta.4.2

* update dependencies

* option to add domain to bot address

---------

Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com>
2026-09-27 17:20:40 +01:00
Evgeny @ SimpleX Chat 1e83591ed2 fix tests 2026-09-27 16:12:26 +00:00
Evgeny @ SimpleX Chat 283b47d2d5 update direct-sqlcipher 2026-09-27 11:02:01 +00:00
EvgenyandEvgeny @ SimpleX Chat 4cb244441b website: enable languages on why page (#7600)
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com>
2026-09-26 23:47:31 +01:00
Evgeny @ SimpleX Chat 3855b55dd8 Merge branch 'master' into ep/parallel-tests 2026-09-26 20:05:56 +00:00
Evgeny @ SimpleX Chat c196bda425 update simplexmq 2026-09-26 20:02:08 +00:00
Evgeny Poberezkin 7e7d699fff core: update query plans 2026-09-26 16:24:03 +01:00
SimpleX Chat b3907c9de7 7.0.3: android 381, desktop 164, ios 359 v7.0.3 2026-09-26 14:28:35 +00:00
Evgeny Poberezkin 800f76cd6c core: 7.1.0.8 (simplexmq: 7.1.0.9) 2026-09-26 13:48:22 +01:00