shum
47bfa43d4e
cli: add --user-image-file option
...
Sets the active user's profile image from a .png/.jpg/.jpeg file at
startup. Reads file, base64-encodes as data URL, and updates the user
profile directly in the DB - no notification is sent to existing
contacts. Skips the update if the stored image already matches.
Requires --user-display-name.
2026-05-04 12:49:05 +00:00
shum
e0b6bf114b
cli: add --user-display-name option
...
Selects or creates the active user non-interactively:
- no active user: create one with the given display name
- active user with matching localDisplayName: continue
- active user with different name: exit with error
Mutually exclusive with --create-bot-display-name.
2026-05-04 12:41:55 +00:00
shum
8d45c2cca9
cli: add --relay-address-server option for chat relay
...
New CLI flag --relay-address-server SERVER selects the SMP server used
for the chat relay address link created at startup. Only valid together
with --relay; errors out otherwise.
Threads Maybe SMPServerWithAuth through APICreateMyAddress to the new
agent createConnection parameter.
2026-05-04 12:27:49 +00:00
Evgeny Poberezkin
811e3b4e28
Merge branch 'master' into chat-relays
2026-01-21 13:36:32 +00:00
Evgeny
89964bf15a
bots: support maintenance option ( #6558 )
...
* bots: support maintenance option
* maintenance mode: run pre-start hook, do not create user
2026-01-20 13:28:20 +00:00
spaced4ndy
ae0dec480d
Merge branch 'master' into chat-relays
2025-12-12 14:04:31 +04:00
spaced4ndy
f76e994034
core: forward based on relations vector ( #6464 )
...
* core: forward based on relations vector wip
* fix introductions
* fix forwarding tests
* fix forwarding inside support scope
* fix deduplication test
* fix more tests
* plans, api
* live migration wip
* enable tests
* member locks
* api
* plans
* fix for postgres
* fix for postgres
* rename predicate
* rename predicate
* optimize
* refactor
* fix
* check
* move part of migration to sql
* plans
* core: preserve detailed information in relation vectors (#6484 )
* core: relations vector live migrations; stage 2 migration sql (#6472 )
* rework forwarding in support scope
* move operations inside transactions
* set_member_vector_new_relation function
* read vector ad-hoc
* partition in transaction
* fix postgres
* postgres schema
* api
* plans
* remove comment
* lock before migration computation
* refactor
* simplify set relations
* retreive only support scope members
* fix
* refactor
* fix comment
* enable tests
* 1 second
* for update
* locks
* fix mask
* plans
* fix
* postgres
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com >
2025-12-09 14:48:32 +00:00
spaced4ndy
5ddc454049
core: option to run client as chat relay; cli api to get, set relays ( #6407 )
2025-10-27 12:29:38 +00:00
Evgeny
65e215509b
core: subscribe all queues ( #6347 )
...
* core: subscribe all queues
* tests, plans, fixes
* enable tests
2025-10-09 22:46:42 +01:00
Evgeny
fa9bc1537c
cli: option to disable backup or change backup directory on migration ( #6267 )
...
* cli: option to disable backup or change backup directory on migration
* update nix
* update simplexmq
2025-09-14 14:41:50 +01:00
Evgeny
dc3dcd4fc8
core, ui: safe mode to sanitize URIs when sending ( #6196 )
...
* core: safe mode to sanitize URIs when sending
* ui: use safe sanitize when sending
2025-08-18 12:58:10 +01:00
Evgeny
ef60ceea12
core, ui: markdown for hyperlinks, warn on unsanitized links, option to sanitize sent links ( #6160 )
...
* core: markdown for "hidden" links
* update, test
* api docs
* chatParseUri FFI function
* ios: hyperlinks, offer to open sanitized links, an option to send sanitized links (enabled by default)
* update markdown
* android, desktop: ditto
* ios: export localizations
* core: rename constructor, change Maybe semantics for web links
* rename
2025-08-09 10:52:35 +01:00
Evgeny
4811d663e6
rfc: bot messages and buttons, core: command markdown, supported commands in profile preferences, chat sessions preference, peer type field in profile to identify bots ( #5360 )
...
* rfc: bot messages and buttons
* update
* update bot rfc
* core: add bot commands to chat preferences and peer type to profile
* update postgresql schema
* update query plans
* chat sessions preference
* markdown for bot commands
* schema
* core: file preference, options to create bot from CLI
* core: different command type
* ios: commands menu
* update types
* update ios
* improve command markdown
* core, ios: update types
* android, desktop: clickable commands in messages in chats with bots
* android, desktop: commands menu
* command menu button, bot icon
* ios: connect flow for bots
* android, desktop: connect flow for bots
* icon
* CLI commands to view and set commands, remove "hidden" property of command, bot api docs
* corrections
* fix inheriting profile preferences to business groups
* note on business address
* ios: export localizations
* fix test
* commands to set file preference on user/contact, tidy up layout and display of command and attachment buttons
2025-08-07 11:13:35 +01:00
Evgeny
88547ab704
core: use longer timeouts for background network requests, support retries with increased timeouts ( #6043 )
...
* core: use longer timeouts for background network requests, support retries with increased timeouts
* ios: update types
* ios: allow user retry actions with failed network requests
* build: add exporting API functions with retry
* android, desktop: update types and C APIs
* android, desktop: alert to retry action on network error
* simplexmq
2025-07-07 11:01:03 +01:00
Evgeny
24b0f0290b
core: pass event and response error without dedicated constructor ( #5869 )
...
* core: pass event and response error without dedicated constructor
* ios: WIP
* android, desktop: update UI for new API
* ios: fix parser
* fix showing invalid chats
* fix mobile api tests
* ios: split ChatResponse to 3 enums, decode API results on the same thread
* tweak types
* remove throws
* rename
2025-05-05 11:51:22 +01:00
Evgeny
a0d1cca389
core: split response to two types, to improve iOS parsing memory usage ( #5867 )
...
* core: split response to two types, to improve iOS parsing memory usage
* ios: split core events to separate types
* comment
* limit more events to CLI
* fix parser
* simplemq
2025-05-04 22:14:36 +01:00
Evgeny
8c7df76c24
directory: command to disable all spam filters ( #5709 )
...
* directory: command to disable all spam filters
* correct syntax
* move deviceName to core opts
2025-03-05 11:20:30 +00:00
Evgeny
f3664619ec
test: track query plans ( #5566 )
...
* test: track query plans
* all query plans
* fix postgres build
2025-01-24 09:44:53 +00:00
spaced4ndy
20fa30eacc
core: Mobile.hs postgres interface ( #5545 )
...
* core: Mobile.hs postgres interface
* sqlite
* fix
* errors
* postgres
* rename
* rename, refactor
* merge files
* rename
* update simplexmq
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com >
2025-01-20 17:41:48 +04:00
spaced4ndy
d238a3c18f
core: update simplexmq (reopenStore), fix postgres compilation ( #5543 )
2025-01-17 17:14:33 +04:00
Evgeny
951156f7fb
directory: process group deletion correctly, group of owners ( #5540 )
...
* directory: process group deletion correctly, command to invite owners of listed groups to the group of owners
* dont invite to owners group twice
2025-01-17 10:32:57 +00:00
spaced4ndy
e05a35e26e
core: support postgres backend ( #5403 )
...
* postgres: modules structure (#5401 )
* postgres: schema, field conversions (#5430 )
* postgres: rework chat list pagination query (#5441 )
* prepare cabal for merge
* restore cabal changes
* simplexmq
* postgres: implementation wip (tests don't pass) (#5481 )
* restore ios file
* postgres: implementation - tests pass (#5487 )
* refactor DB options
* refactor
* line
* style
* style
* refactor
* $
* update simplexmq
* constraintError
* handleDBErrors
* fix
* remove param
* Ok
* case
* case
* case
* comment
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com >
2025-01-10 11:27:29 +00:00
Evgeny
206f7898c3
cli: option to disable vacuum on migration ( #5446 )
...
* cli: option to disable vacuum on migration
* update simplexmq
* mobile options
* use option in test
2024-12-28 22:14:06 +00:00
Evgeny
d37d309f85
core: update simplemq (with PostgreSQL support) ( #5444 )
2024-12-28 12:35:34 +00:00
spaced4ndy
00973d6e13
core: split Chat.hs module ( #5397 )
2024-12-20 16:54:24 +04:00
Evgeny Poberezkin
bcd510c913
cli: option to confirm up migrations ( #4150 )
...
* cli: option to confirm up migrations
* fix test
2024-06-16 20:24:37 -07:00
Evgeny Poberezkin
ef30fcf5e2
cli: options for private message routing and fallback mode ( #4256 )
...
* cli: options for private message routing and fallback mode
* remove short options
* fix tests
* encoding
* fix
2024-05-31 23:41:20 +01:00
Evgeny Poberezkin
2bd1a82b7d
core: revert "deps: switch to base64 via simplexmq ( #3957 )" ( #3985 )
...
* Revert "deps: switch to base64 via simplexmq (#3957 )"
This reverts commit d65137882b .
* update simplexmq
2024-04-03 10:47:38 +01:00
Alexander Bondarenko
d65137882b
deps: switch to base64 via simplexmq ( #3957 )
...
* deps: switch to base64 via simplexmq
* update error text
* update nix
* set simplexmq to master
* update paths
2024-03-28 13:09:04 +00:00
spaced4ndy
f3eeb9dcc2
core: temp-folder option ( #3905 )
2024-03-14 10:59:20 +04:00
Evgeny Poberezkin
a1328c287c
core: remove unused events from api ( #3764 )
...
* core: remove unused events from api
* fix test
2024-01-26 18:54:08 +00:00
spaced4ndy
3e0b863b64
core: add cChatJsonLength function ( #3753 )
2024-01-25 18:57:38 +04:00
Evgeny Poberezkin
c65a17fccb
core: output messages and events while executing the CLI command passed via -e option ( #3683 )
...
* core: output messages and events while executing the CLI command passed via -e option
* option
* add option
2024-01-20 14:59:13 +00:00
Stanislav Dmitrenko
58906e1a60
desktop (windows): fixed handling non-utf8 Windows profile names ( #3605 )
2023-12-27 13:56:48 +00:00
Evgeny Poberezkin
f93f68e425
core: agent background mode for iOS NSE ( #3574 )
...
* core: agent background mode for iOS NSE
* change parameter for APIActivateChat
* fix
* update lib
* update lib
* simplexmq
* simplify
2023-12-23 13:06:59 +00:00
Evgeny Poberezkin
7bcda7e54b
core: use ChaChaDRG as the source of randomness ( #3551 )
...
* core: use ChaChaDRG as the source of randomness
* do not use entropy directly
* dont use RNG from agent
* simplexmq
* update iOS
2023-12-21 00:42:40 +00:00
Evgeny Poberezkin
d3059afc99
ios, core: better notifications processing to avoid contention for database ( #3485 )
...
* core: forward notifications about message processing (for iOS notifications)
* simplexmq
* the option to keep database key, to allow re-opening the database
* export new init with keepKey and reopen DB api
* stop remote ctrl when suspending chat
* ios: close/re-open db on suspend/activate
* allow activating chat without restoring (for NSE)
* update NSE to suspend/activate (does not work)
* simplexmq
* suspend chat and close database when last notification in the process is processed
* stop reading notifications on message markers
* replace async stream with cancellable concurrent queue
* better synchronization of app and NSE
* remove outside of task
* remove unused var
* whitespace
* more debug logging, handle cancelled read after dequeue
* comments
* more comments
2023-12-09 21:59:40 +00:00
Evgeny Poberezkin
ee163a6540
core: add missing field
2023-12-06 12:34:10 +00:00
Evgeny Poberezkin
d29f1bb0cf
core: use fourmolu styles ( #3470 )
2023-11-26 18:16:37 +00:00
Evgeny Poberezkin
2d4e99d610
cli: set device name for remote control via CLI option ( #3427 )
...
* cli: set device name for remote control via CLI option
* fix
* add property in tests
2023-11-22 22:11:32 +00:00
Evgeny Poberezkin
cc434cda55
Merge branch 'master' into remote-desktop
2023-11-18 18:03:13 +00:00
spaced4ndy
c0e8740f50
core: group message forwarding ( #3360 )
...
* core: group message forwarding types
* xgrpmemcon
* rework xgrpmemcon to use intros table
* only forward w/t error
* forward msg
* xGrpMsgForward, check integrity outside
* deduplicate group messages
* test
* change error
* item forwarded flag
* intro_chat_protocol_version, bump version
* comment
* highly available client option
* more comments
* notify xgrpmemcon on deduplication
* member vrange
* encoding
* remove MsgForward
* remove import
* exclude files from forwarding
* refactor
* rename to align with protocol
* forward more message types
* add events
* remove unused error, function
* add x.file.cancel, x.info and x.grp.mem.new to forwarded messages
* remove unused x.msg.file.cancel
---------
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com >
2023-11-18 17:52:01 +00:00
Evgeny Poberezkin
16bda26022
core: derive JSON with TH ( #3275 )
...
* core: derive JSON with TH
* fix tests
* simplify events
* reduce diff
* fix
* update simplexmq
* update simplexmq
2023-10-26 15:44:50 +01:00
Evgeny Poberezkin
5d4006f291
Merge branch 'master' into remote-desktop
2023-10-13 17:46:14 +01:00
Evgeny Poberezkin
ab290fb068
core: track network statuses, use in commands/events ( #3211 )
...
* core: track network statuses, use in commands/events
* ui types, test
* remove comment
2023-10-13 11:51:01 +01:00
Evgeny Poberezkin
73652e4bba
Merge branch 'master' into remote-desktop
2023-10-12 10:43:59 +01:00
Evgeny Poberezkin
4ecf94dfad
core: move CLI notifications and active chat to view layer (for remote CLI) ( #3196 )
...
* core: move CLI notifications to view layer (to allow notifications in remote CLI)
* remove unused
* refactor activeTo
* move activeTo to ChatTerminal
* refactor
* move back
* remove extension
2023-10-11 09:50:11 +01:00
Evgeny Poberezkin
2b228a893a
Merge branch 'master' into remote-desktop
2023-10-09 17:21:47 +01:00
Evgeny Poberezkin
f31b4e4632
Merge branch 'stable'
2023-10-09 16:00:24 +01:00
Evgeny Poberezkin
985b9837c3
core: api to close database connection ( #3186 )
2023-10-08 16:22:53 +01:00