Commit Graph
6919 Commits
Author SHA1 Message Date
Evgeny @ SimpleX Chat d94981224a docs: names conditions of use (#8135)
* docs: names conditions of use

* docs: capitalize SimpleX Network

* docs: state transfer rule after registration ends
2026-11-11 18:38:56 +00:00
spaced4ndyandspaced4ndy-agents 3469bc7514 ui: update list filters when a chat is added (#8107)
* ui: update list filters when a chat is added

* ui: count list filters on the main thread and after chat list reloads

* android, desktop: check and add a known chat on the main thread

* docs: list filter counts in the apps' specs

* docs: correct the list filter gaps in the apps' specs

* ui: revert the recounts, replaceChat change and main-thread moves

* docs: revert the list filter notes in the apps' specs

---------

Co-authored-by: spaced4ndy-agents <342056592+spaced4ndy-agents@users.noreply.github.com>
2026-11-11 16:57:32 +00:00
spaced4ndyandspaced4ndy-agents f7c91cbeb9 ui: fix chat rows showing the date 01/01/70 (#8055)
* core: fix chat rows showing the date 01/01/70

* ios: show favourite, mute and unread icons on chat rows without items

* core: remove an outdated comment from a chat list test

* ios: add a preview of a chat row without items marked unread

* ios: place the icons of a chat row without items at the row's end

* ios: references of the chat row without items

* core, ios: undo leaving the chat banner out of chat list previews

* ui: fix chat rows showing the date 01/01/70

---------

Co-authored-by: spaced4ndy-agents <342056592+spaced4ndy-agents@users.noreply.github.com>
2026-11-11 16:55:05 +00:00
spaced4ndyandspaced4ndy-agents 1a931cd8f1 ios: remove "LIVE" from a finished live message at once (#8109)
Co-authored-by: spaced4ndy-agents <342056592+spaced4ndy-agents@users.noreply.github.com>
2026-11-11 16:40:49 +00:00
spaced4ndyandspaced4ndy-agents 57cee6ca5c android, desktop: show "Enter password in search" after hiding a profile (#8050)
Co-authored-by: spaced4ndy-agents <342056592+spaced4ndy-agents@users.noreply.github.com>
2026-11-11 16:40:12 +00:00
spaced4ndyandspaced4ndy-agents 66b22f6869 ui: keep default contact preferences when allowing a feature (#8105)
* ui: keep default contact preferences when allowing a feature

* ui: take the time to disappear only from the contact's preferences

---------

Co-authored-by: spaced4ndy-agents <342056592+spaced4ndy-agents@users.noreply.github.com>
2026-11-11 16:28:03 +00:00
Evgeny @ SimpleX Chat d142283c3e types: typescript is a development dependency (#8124)
* ci: a change of the types package.json releases the types

* types: typescript is a development dependency, not installed with the types
2026-11-11 13:47:04 +00:00
Evgeny Poberezkin ec46571ef5 Merge branch 'stable' 2026-11-11 13:37:01 +00:00
SimpleX Chat 19889b1a0e 7.1.3: android 395, desktop 174 v7.1.3 2026-11-11 13:33:50 +00:00
Evgeny @ SimpleX Chat 8be45eea3e android, desktop: show What's new once while conditions are pending (#8123)
* android, desktop: show What's new once while conditions are pending

* core: document how changed conditions are announced
2026-11-11 13:32:43 +00:00
shandEvgeny @ SimpleX Chat 879fde5b36 ios: update to 371 v7.1.2, reduce app size (#8129)
* ios: reduce app download size

* ios: reduce app download size without changing optimisation level

* ios: update to 370 v7.1.3

* update version

---------

Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com>
2026-11-11 13:31:06 +00:00
Evgeny @ SimpleX Chat 65c2ff8a6a core: accept updated conditions automatically 31 days after the notice (#8125)
* core: test the conditions deadline after a late notice

* core: accept updated conditions automatically 31 days after the notice

* core: fixes from review of the conditions deadline
2026-11-11 12:44:08 +00:00
Evgeny @ SimpleX Chat 2205de390f android, desktop: show What's new once while conditions are pending (#8123)
* android, desktop: show What's new once while conditions are pending

* core: document how changed conditions are announced
2026-11-11 11:44:59 +00:00
Evgeny Poberezkin 3b5152d6ed Revert "ui: show What's new once when usage conditions are updated (#8088)"
This reverts commit d18539d1bb.
2026-11-11 11:36:47 +00:00
spaced4ndyandspaced4ndy-agents e097466325 ios: update the chat banner after connecting or joining (#8106)
* ios: update the chat banner after connecting or joining

* ios: rebuild visible rows when a chat opens over another

---------

Co-authored-by: spaced4ndy-agents <342056592+spaced4ndy-agents@users.noreply.github.com>
2026-11-11 07:42:43 +00:00
Evgeny @ SimpleX Chat f8776692df core: update simplexmq (prevent hanging on closed PostgreSQL store) (#8104) 2026-11-10 15:47:53 +00:00
Evgeny @ SimpleX Chat d18539d1bb ui: show What's new once when usage conditions are updated (#8088)
* ui: show What's new once when usage conditions are updated

* ui: minimize the What's new and usage conditions sheet change

* ui: mark conditions in What's new as before
2026-11-10 07:31:26 +00:00
Evgeny @ SimpleX Chat 3320b21b1d desktop: do not suggest file names starting with "<" (#8103) 2026-11-10 07:15:11 +00:00
Evgeny @ SimpleX Chat 3ff3a124e4 docs: mark pull requests ready for review before the approval (#8059) 2026-11-09 22:40:23 +00:00
Evgeny @ SimpleX Chat 4a41d4bc5e core: evaluate the new TVar state in stateTVar updates (#8102) 2026-11-09 22:39:06 +00:00
Evgeny @ SimpleX Chat 04ad40c1cc ios, desktop: previews show a fixed version and the App Store layout (#8075)
* ios, desktop: previews show a fixed version and the App Store layout

* ios, desktop: record Settings and Support SimpleX references
2026-11-09 21:44:43 +00:00
Evgeny @ SimpleX Chat 1eccf836e7 core: update simplexmq (complete file uploads in background) (#8090) 2026-11-09 14:58:34 +00:00
Evgeny @ SimpleX Chat ee7eb5987f website: redirect livestream page to webinar registration (#8077) 2026-11-08 17:02:16 +00:00
Evgeny @ SimpleX Chat 2abd48450b core: accept group file chunks only from the member who sent the file (#8057)
* core: accept group file chunks only from the member who sent the file

* core: inline group file chunk member filter in query
2026-11-07 16:19:02 +00:00
Evgeny @ SimpleX Chat 3b9882ccf6 ui: show "Already connected?" when connecting via a used one-time link (#7813) 2026-11-07 14:57:06 +00:00
SimpleX Chat 50a575e448 7.1.2: android 393, desktop 173, ios 369 v7.1.2 2026-11-07 13:24:56 +00:00
sh-agentsandsh-agents 97e906c9ed ios: send no audio from senders without a track (#8069)
Co-authored-by: sh-agents <350651734+sh-agents@users.noreply.github.com>
2026-11-07 10:55:16 +00:00
Evgeny @ SimpleX Chat 4f6fc5fb3a ci: publish the MCP server from build.yml (#8049)
* ci: publish @simplex-chat/mcp from build.yml

* ci: publish MCP after PyPI, notice for a version held back

* ci: test the MCP server as a scope of build-linux
2026-11-07 10:02:01 +00:00
sh-agentsandsh-agents f3de496006 ios: fix video in calls between updated apps and freezing on hang-up (#7983)
* ios: start the simulator's file capturer when created

* ios: send and receive call video as VP8 only

* ios: end a call once when it is ended twice at once

---------

Co-authored-by: sh-agents <350651734+sh-agents@users.noreply.github.com>
2026-11-07 09:34:32 +00:00
Evgeny @ SimpleX Chat 5699d5d1bc ios: free call media frame buffers, drop frames that fail crypto (#8065) 2026-11-07 09:23:36 +00:00
Evgeny Poberezkin 438275c20b core: 7.1.2.0 (simplexmq 7.1.0.17) 2026-11-07 08:54:53 +00:00
8b5b8f33b7 ios: v7.1.1 (#8067)
* ios: buy a badge with an App Store purchase (#8044)

* ios: buy a badge with an App Store purchase

* ios: say why the app transaction decides the environment

* ios: do not offer a badge purchase that cannot be credited

* Apply batched suggestions from code review

Co-authored-by: Evgeny <evgeny@poberezkin.com>

---------

Co-authored-by: spacedandy-agents-simplex <342056592+spacedandy-agents-simplex@users.noreply.github.com>
Co-authored-by: Evgeny <evgeny@poberezkin.com>

* ios: 7.1.1, build 368

---------

Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com>
Co-authored-by: spacedandy-agents-simplex <342056592+spacedandy-agents-simplex@users.noreply.github.com>
2026-11-07 08:45:07 +00:00
Evgeny @ SimpleX Chat 93f9f3734c desktop: show the preview when a received image cannot be decoded (#8062) 2026-11-06 22:42:33 +00:00
Evgeny @ SimpleX Chat 5888ab5bc9 android: limit source and decoded image dimensions (#8063) 2026-11-06 22:26:30 +00:00
Evgeny @ SimpleX Chat b2e4731ec6 ios: clamp voice and video durations (#8056) 2026-11-06 22:14:19 +00:00
Evgeny @ SimpleX Chat 76cc59eb7a core: keep forwarded messages in order when a batch is full (#8058)
* tests: order of forwarded messages when a batch is full

* core: keep forwarded messages in order when a batch is full
2026-11-06 22:10:35 +00:00
Evgeny @ SimpleX Chat be668564df mcp server: files, /leave and library methods (#7962)
* bots, nodejs: document chat, connection, member contact and network commands, typed commands in library

* bots, nodejs: restore apiConnect, wrap domain once, test all connect responses

* nodejs: JSDoc for new methods

* docs: plan for bot API commands and typed Node library methods

* tests: channel prepared with a domain has a verified SimpleX name

* docs: apply review fixes to the plan for bot API commands

* docs: apply second review pass to the plan for bot API commands

* docs: refer the bot API plan to the rewritten test commit

* docs: record decisions in the plan for bot API commands

* docs: plan tests of the generated Python command strings

* python: test the generated strings of the documented commands

* docs: plan for files, /leave and library methods in the MCP server

* docs: wait at stop in the MCP plan

* docs: library methods and /leave mechanics in the MCP plan

* mcp: typed library methods for chat commands

* docs: plan the message information command for bots

* mcp: /leave CHAT owner command to leave a chat at once

* docs: file servers, GIF and video choices decided in the MCP plan

* docs: file mechanics in the MCP plan

* mcp: files of received messages

* bots, nodejs: message information with the file servers for bots

* docs: plan the relay approval option of receiving files in Node

* mcp: download of received files with owner approval

* docs: name the xftp-server test helper in the files plan

* nodejs: receive files without approving unknown relays

* docs: plan the user servers command for bots

* bots, nodejs: user servers and relays by operator for bots

* nodejs: document the message information method

* docs: plan the file upload progress event for bots

* mcp: send files with owner approval, refusing private keys

* bots: file upload progress event for bots

* mcp: /leave template in the agent control chat menu

* docs: sent copies are deleted for contacts too, at sndFileCompleteXFTP

* bots: drop the file upload progress event

* docs: drop the upload progress event plan

* nodejs: document user servers and relay approval of received files

* mcp: download cards name unknown file servers after the upload

* docs: record the wait for the file description in the files plan

* mcp: fixed wait at stop for cancelled cards, without /sql

* docs: record decision C4, a fixed wait at stop, in the files plan

* ci: test the MCP server package on pull requests

* ci: state when the MCP workflow can be dispatched

* ci: run the MCP server tests when its libraries change

* mcp: log the errors of image previews and resizing

* mcp: keep files in transfer in the data folder

* mcp: restrict sent files by the real paths of refused folders

* mcp: validate the file at the send by its inode and change time

* mcp: limit ffmpeg and ffprobe to local files and no input commands

* mcp: ask the owner for unknown file servers; read approvals at creation

* mcp: name downloaded files by their ID; return paths of downloads only

* mcp: end each download with a result for the agent and the card

* mcp: show files above their sender's size limit as failed

* mcp: refuse empty files, as without file and captions too long to send

* mcp: tell the owner about failed uploads and unposted received files

* mcp: delete resized copies left by the last run at start

* mcp: name downloads and leaving in the help and greeting, align docs

* mcp: compute the download path for received files only

* mcp: send a /receive file to the owner under its name

* mcp: keep files received without a download in the chat's folder

* mcp: keep a left chat's files and delete them with /delete CHAT files

* mcp: test that sent images are resized by the core

* mcp: wait 30 minutes for a download's progress before cancelling it

* mcp: end a download as deleted only when its message is not found

* mcp: delete the copy of a /receive file whose post fails

* mcp: count the quoted content in a message's length, as the core sends it

* mcp: name received bytes, unknown-server downloads and left chat files plainly

* mcp: test refused folders, file changes and download approvals

* docs: align MCP server docs with refused folders, leaves and download waits

* mcp: move received files only in full, delete partials only of downloads

* mcp: report a received file missing from its folder as failed

* mcp: move received files of a group's member chats into its folder

* mcp: read a video's preview and duration as an MP4 or QuickTime file

* mcp: 0.2.0 on simplex-chat 7.1.0-beta.10.1

* mcp: file folders by chat type, /delete cancels downloads, files reply

* docs: MCP server specs and plan for 0.2.0

* mcp: /receive gives the agent a file, /forward sends it to the owner

* docs: MCP server specs for /receive and /forward of download cards

* docs: MCP plan records the temp folder command as a library exception

* mcp: /delete cancels resumed downloads; /forward quote fits the limit

* docs: MCP specs and plans for /forward quotes and resumed downloads

* docs: MCP specs name the source commit they are checked against

* docs: MCP PLAN states the /forward quote and move rules

* mcp: a download moves its completed file whatever its size

* mcp: /receive N all covers its card and later files, not pending ones

* docs: MCP files approval scope, reply text and README server wording

* mcp: a download approves relays only for a card naming unknown servers

* mcp: files in member chats of a group are tracked as in the main chat

* docs: MCP relay approval of downloads and files in member chats

* mcp: a rejected file gets a card again under the files approval

* docs: MCP rejected files under the files approval, README scope

* mcp: an offered file without a description gets no card or action

* docs: MCP a file without a description is not downloaded

* mcp: 0.2.0 on simplex-chat 7.1.0-beta.10.2

* ci: test the MCP server as a scope of build-linux
2026-11-06 18:38:34 +00:00
Evgeny @ SimpleX Chat 911f8986e5 core: ignore introductions of own member and from non-announcing members (#7874)
* core: ignore introductions of own member and from non-announcing members

* core: check member introduction in the same transaction

* core: reject introductions of removed members

* tests: describe the channel introduction test by what it checks
2026-11-06 08:09:20 +00:00
Evgeny @ SimpleX Chat 998815c788 libs: nodejs 7.1.0-beta.10.2 (#8048) 2026-11-05 22:33:02 +00:00
Evgeny @ SimpleX Chat c16200e574 ios: update WebRTC to M156 (#7878)
* ios: use only VP8 and Opus codecs in calls

* ios: update WebRTC to M156
2026-11-05 21:45:54 +00:00
Evgeny @ SimpleX Chat 091db10525 core: 7.1.0.20 (#8046) 2026-11-05 20:53:15 +00:00
Evgeny @ SimpleX Chat 868b0c33bd core: list received file servers only from a complete description (#8047)
* core: list received file servers only from a complete description

* core: treat an incomplete file description as invalid
2026-11-05 20:52:52 +00:00
Evgeny @ SimpleX Chat e495e01998 blog: correct the date of the 5-year name perk (#8045)
* blog: correct the date of the 5-year name perk

* blog: simpler wording of the early bird terms
2026-11-05 20:21:35 +00:00
Evgeny @ SimpleX Chat e97cc8ac3d directory, support bot: bold texts use double stars (#8040) 2026-11-05 17:19:01 +00:00
Evgeny @ SimpleX Chat 2554c358d4 core: prevent chunks of completed or cancelled inline files (#8042) 2026-11-05 17:08:25 +00:00
Evgeny @ SimpleX Chat 97062013e2 website: channel pages show every empty line of a message (#8028) 2026-11-05 13:52:40 +00:00
Evgeny @ SimpleX Chat 93e2207603 core, ui: report reason with rule text, ios gaps as in plain text (#8035)
* ui: references of the flat layout names, italic and paragraphs

* ui: what's new references with the crowdfunding link

* core, ui: report reason with rule text, ios gaps as in plain text

* ui: references of report reason, ios gaps and right-to-left text
2026-11-05 13:50:56 +00:00
Narasimha-sc 8593d30149 android, desktop: a report stays active in an open support chat after its message is moderated (#7908)
* android, desktop: do not throw when a deleted group item was sent by the user

* android, desktop: update the open support chat when its reports are deleted

* plans: moderated report stays active in the open support chat

* plans: correct the trigger and the exception location

* plans: correct statements found by fact-checking

* plans: align with the verified behaviour of the iOS handler

* plans: correct statements found by a second fact-check

* plans: correct statements found by a third fact-check

* plans: record the Android verification
2026-11-05 12:12:11 +00:00
Narasimha-sc 94d0f7ed42 desktop: a profile created when no profile exists shows its picture as bio text and loses the typed bio (#7960)
* ui: fix the first chat profile's avatar stored as its description

Profile is (displayName, fullName, shortDescr, description, image, ...),
so passing image as the fourth positional argument stored it in
description and the avatar was dropped; #7256 inserted description
before image and this call was not updated. Pass it by name.

The bio typed on the same screen was never passed on this path; pass it
as shortDescr, as createProfileInProfiles does.

* plans: first chat profile's avatar stored as its description

* plans: profile with no active local profile: wording, alternatives

* plans: profile with no active local profile: routes, navigation

* plans: profile with no active local profile: line refs, title

* plans: profile with no active local profile: trace, flag wording

* plans: profile with no active local profile: tested routes
2026-11-05 12:05:53 +00:00
Evgeny @ SimpleX Chat 39780d5b23 ui: references of the flat layout names, italic, paragraphs and what's new (#8034)
* ui: references of the flat layout names, italic and paragraphs

* ui: what's new references with the crowdfunding link
2026-11-05 10:31:01 +00:00