Commit Graph

6200 Commits

Author SHA1 Message Date
Evgeny @ SimpleX Chat 2d1effc041 fewer avatars 2026-05-31 14:01:30 +00:00
Evgeny @ SimpleX Chat 1d44abe07c fix reactions 2026-05-31 13:54:23 +00:00
Evgeny @ SimpleX Chat 037e42fc33 reactions 2026-05-31 13:47:09 +00:00
Evgeny @ SimpleX Chat 8aa04071a6 image sizes 2026-05-31 11:50:06 +00:00
Evgeny @ SimpleX Chat ff5d9d9256 markdown colors 2026-05-31 11:40:53 +00:00
Evgeny @ SimpleX Chat 7606fdc31c tails 2026-05-31 11:38:14 +00:00
Evgeny @ SimpleX Chat 97fd4c1a13 some fixes 2026-05-31 11:32:06 +00:00
Evgeny @ SimpleX Chat 85d86a8687 images 2026-05-31 11:20:33 +00:00
Evgeny @ SimpleX Chat c964bf35a5 layout 2026-05-31 11:16:15 +00:00
Evgeny @ SimpleX Chat f41ba24311 better layout 2026-05-31 11:07:43 +00:00
Evgeny @ SimpleX Chat f03d8fd0c0 rename options 2026-05-31 10:48:30 +00:00
Evgeny @ SimpleX Chat a605be5bcf default avatar 2026-05-31 10:02:08 +00:00
Evgeny @ SimpleX Chat 8c2ac6f25a sample channel page 2026-05-31 09:52:29 +00:00
Evgeny Poberezkin 91a3bfd25a Merge branch 'master' into ep/channel-web-render 2026-05-31 10:39:00 +01:00
Evgeny Poberezkin 6538b15270 Revert "cli: fix redraw slowness (#6735)"
This reverts commit b801d77c74.
2026-05-31 10:38:12 +01:00
Evgeny Poberezkin 35e03be99e Revert "cli: fix redraw slowness (#6735)"
This reverts commit b801d77c74.
2026-05-31 10:36:32 +01:00
Evgeny @ SimpleX Chat 49e1fe2a0f channel preview renderer 2026-05-31 08:03:28 +00:00
Evgeny Poberezkin 87bd4dc30e remove directory.js 2026-05-31 08:36:56 +01:00
Evgeny @ SimpleX Chat b831816102 JSC files 2026-05-31 07:30:27 +00:00
Evgeny @ SimpleX Chat 1769a6b81f website: use cpp to inject JS functions 2026-05-31 07:28:29 +00:00
Evgeny @ SimpleX Chat 5b733f0d71 core: render channel preview data in relays 2026-05-30 22:02:41 +00:00
Evgeny @ SimpleX Chat 9fa503c1c7 core: render channel preview data 2026-05-30 17:34:43 +00:00
Evgeny Poberezkin 5b4b51b1b1 Merge branch 'ep/channel-web' into ep/channel-web-render 2026-05-30 17:19:42 +01:00
Evgeny 16982b6111 core: rename migrations (#7028) 2026-05-30 17:16:56 +01:00
Evgeny Poberezkin c51a457f35 rename migrations 2026-05-30 16:28:00 +01:00
Evgeny Poberezkin 9f93e87f56 Merge branch 'stable' 2026-05-30 16:01:27 +01:00
Evgeny Poberezkin fdbcc270b6 update schema 2026-05-30 10:56:43 +01:00
Evgeny Poberezkin d2b57b5756 update schema and api types 2026-05-30 10:28:24 +01:00
sh 68fc1b5d22 core, ui: split SimplexNameDomain out of SimplexNameInfo (#7024)
* core, ui: split SimplexNameDomain out of SimplexNameInfo

* core: bump simplexmq to b3f28948 (SimplexNameDomain split)

* core: bump simplexmq to 4e2c9fc3 (StrEncoding split)

* core: bump simplexmq to ee2ff402 (#1788 squash merge)

* update sha256map.nix
2026-05-30 09:39:14 +01:00
Narasimha-sc 553f98adf4 desktop: don't copy non-message items when selecting message text (#6993)
* desktop: don't copy non-message items when selecting message text

Selecting text across messages also copied the text of event/info
items (e.g. "connected") that fell inside the selection, even though
those items are never highlighted as selected.

getSelectedCopiedText emitted text for every merged item between the
selection bounds. Event/info items have no msgContent but a non-empty
text, so as interior items their text was copied. Skip items whose
content has no msgContent - only real messages are copyable.

* plans: add 2026-05-20-fix-copy-non-msg-items.md
2026-05-30 09:01:16 +01:00
Evgeny @ SimpleX Chat 6970169eda migrations 2026-05-30 07:43:02 +00:00
Evgeny Poberezkin 853a8d5672 Merge branch 'stable' into ep/channel-web 2026-05-30 08:37:30 +01:00
Evgeny @ SimpleX Chat 65e10e9ce8 fix 2026-05-30 07:29:08 +00:00
Evgeny @ SimpleX Chat a9dc496059 types for recipient side to support channel web previews and domain names 2026-05-30 07:25:18 +00:00
Narasimha-sc 5aace8401c core: fix /start remote host parser when iface name contains a space (#7025)
* core: fix /start remote host parser when iface name contains a space

The iface= field used jsonP (which calls takeByteString and strict-decodes
the entire remaining input as JSON). When port= followed iface=, the strict
decode failed on the trailing data and the text1P fallback stopped at the
first space inside the JSON-quoted interface name (e.g. "Ethernet 2"),
leaving unparseable junk and producing "Failed reading: empty".

Replace jsonP with a bounded quotedP that consumes only up to the closing
quote, leaving port=… for the next parser.

* plan: document fix for /start remote host iface-with-space parser bug
2026-05-30 07:33:10 +01:00
sh 39717d3327 directory: add rtsopts (#7006) 2026-05-29 09:38:14 +01:00
Evgeny Poberezkin 507a4de61c Merge branch 'stable' 2026-05-28 23:19:54 +01:00
Evgeny @ SimpleX Chat 7244d47992 plan: web previews for channels 2026-05-28 08:59:09 +00:00
Evgeny 68abd805d4 rfc: namespace (#7001)
* rfc: namespace

* update rfc

* markdown for names

* record type, app "upgrade" alerts

* update api types

* rfc: change namespace syntax - now it is the usual namespace

* update bot types

* move types to simplexmq

* core: refactore markdown

* update simplexmq

* better names

* new names

* update nix content hashes

* fix

* change valid name function

* update simplexq, update valid name conditions

* fixes

Co-authored-by: simplex-chat-agent[bot] <287173099+simplex-chat-agent[bot]@users.noreply.github.com>

* update simplexmq

* fix localization

* simpler

* refactor

* refactor

* fix

---------

Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com>
Co-authored-by: simplex-chat-agent[bot] <287173099+simplex-chat-agent[bot]@users.noreply.github.com>
2026-05-28 08:44:43 +01:00
spaced4ndy 037c05cd29 core: fix races on member removal / delivery of their messages (#7010) 2026-05-26 09:07:26 +00:00
spaced4ndy 12fbf61f32 core, ui: require update for public groups (#7009) 2026-05-26 09:03:41 +00:00
Narasimha-sc f3abb7aa76 android, desktop: fix E2E encryption section divider rendered inside card (#7012)
Move SectionDividerSpaced() out of the SectionView { ... } block so it acts
as inter-section spacing instead of being rendered as the section's last
child. Matches the pattern used by every other section in ChatInfoLayout.

Plan: plans/2026-05-25-fix-e2e-encryption-section-divider.md
2026-05-25 19:34:32 +01:00
Narasimha-sc ff36d401ce desktop: fix video playback hang caused by stuck preview snapshot (#6983)
* desktop: fix video playback hang caused by stuck preview snapshot

Problem: clicking play on a video did nothing when an earlier video's
preview generation was stuck — every subsequent VideoPlayer.play() was
queued behind it on the shared playerThread.

Cause: helper player reuse across previews exhausted the libavcodec h264
frame-buffer pool with --avcodec-hw=none (PR #6924), and the synchronous
libvlc snapshots().get() call then hung waiting for a frame that was
never decoded.

Fix: drop the helper-player pool (release each helper after use) and run
preview generation on a dedicated previewThread so a stuck preview can
no longer block playback.

* plans: add 2026-05-15-fix-video-preview-snapshot-hang.md

* desktop: capture preview via callback surface, keep helper pool

Follows up on the previous commit (4a964c66). The actual hang was in
libvlc's synchronous snapshots().get() on a reused helper, not in the
pooling itself. Replace the polling loop with a CallbackVideoSurface
(the existing SkiaBitmapVideoSurface) wrapped in withTimeoutOrNull —
the wait is bounded, so a non-decoding helper can't block previewThread.
Restore the helper-player pool that the previous commit dropped.

* plans: update 2026-05-15-fix-video-preview-snapshot-hang.md for final fix
2026-05-25 16:10:55 +01:00
Narasimha-sc 9bd9e6a16c desktop: fix in-app updater on Windows, AppImage, and aarch64 (#6985)
* desktop: fix in-app updater silently failing on Windows

chooseGitHubReleaseAssets ran `which dpkg` unconditionally to probe for
Debian-derivative systems. On Windows there is no which.exe, so
Runtime.exec threw IOException, which the outer catch in checkForUpdate
logged and swallowed -- the update dialog never appeared. Gate the
probe on desktopPlatform.isLinux().

* desktop: fix in-app updater install step on AppImage

xdg-open on the downloaded .AppImage opened it in whatever the desktop
environment's default handler for the AppImage MIME type is -- usually
an archive viewer, which reports 'Archive format not recognized'. The
running AppImage was never replaced.

Detect $APPIMAGE (set by the AppImage runtime to the path of the
running .AppImage file). Copy the downloaded file to a staging file in
the target's own directory, mark it executable, then atomic-move it
onto $APPIMAGE. Staging in the target directory keeps the final move a
same-filesystem rename(2), so an interrupted copy never leaves the
running AppImage partially overwritten. On failure (permission denied,
target read-only, etc.) fall back to opening the parent directory so
the user can install manually -- the same fallback the existing
xdg-open path already used.

* desktop: fix in-app updater silently failing on aarch64 AppImage

The LINUX_AARCH64 githubAssetName had a literal leading space
(" simplex-desktop-aarch64.AppImage"), so the exact-name filter in
chooseGitHubReleaseAssets never matched the real release asset name
"simplex-desktop-aarch64.AppImage". The asset list came back empty
and checkForUpdate's early-return at "No assets to download for
current system" suppressed the dialog. Same silent-failure pattern as
the Windows bug.

* plans: justify desktop in-app updater fixes
2026-05-25 16:08:48 +01:00
Narasimha-sc ca4d78a502 docs: update security assessment schedule (#7007) 2026-05-25 14:20:17 +01:00
sh 9a812c8a8a flatpak: update metainfo (#7008) 2026-05-25 14:12:52 +01:00
spaced4ndy c017c25d0f core, ui: member full delete with messages (#6994) 2026-05-25 10:43:36 +00:00
Evgeny fe6b5186e1 core: update simplexmq (receiving services) (#6212)
* core: update simplexmq

* update agent api

* update simplexmq

* core: add flag to User to use client services

* update simplexmq

* cli command to toggle service for a user

* test, fix

* query plans, core/bot api types

* remove local package reference

* increase server queue size in tests

* show client service status in users list

* update query plans

* cli: fix redraw slowness (#6735)

* cli: add pland to fix redraw slowness

* updtae doc

* cli: decouple key reading from processing via TQueue

* schema and bot types

---------

Co-authored-by: sh <37271604+shumvgolove@users.noreply.github.com>
2026-05-25 10:37:13 +01:00
SimpleX Chat 1a82732f88 6.5.3: android 351, desktop 144 v6.5.3 2026-05-23 15:40:30 +01:00
SimpleX Chat 25ab10ffa3 6.5.3: ios 333 2026-05-23 15:39:53 +01:00