spaced4ndy
dcea008fb9
core: batch apis - remove, block, change role of members ( #5674 )
...
* core: core: batch remove members
* order
* foldr
* list
* style
* batch block
* change role
* test
* if
2025-02-28 18:43:39 +00:00
Evgeny
1f8755f941
core: update simplexmq (avoid deleting shared message bodies) ( #5630 )
...
* core: update simplexmq (avoid deleting shared message bodies)
* simplexmq, plans
* simplexmq
* output in failing test
* stabilize test
2025-02-15 16:18:34 +00:00
spaced4ndy
5d18a49726
core: delete unused group contacts, don't create new ones ( #5590 )
...
* core: delete unused group contacts, don't create new ones
* remove from exceptions
* plans
* fix tests
* remove fixtures
* update plans
* update migration
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com >
2025-01-31 10:32:07 +04: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
Evgeny
7e864f9178
core, ui: support chat item TTL per chat and group aliases ( #5415 )
...
* core: support chat item TTL per chat
* ios: UI mockup
* core: chat time to live and group local alias support (#5533 )
* functions and type placeholders
* simplify
* queries to make tests pass
* set chat queries
* fetch queries
* get local aliases for groups
* local alias support for groups
* simplify
* fix tests
* fix
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com >
* migration
* add test for expiration
* expireChatItems
* refactor queries, read objects inside the loop
* add groupId to query
* fix updateGroupAlias
* ios group alias
* ttl
* changes
* fixes and test
* new types for ttl
* chat and groups ttl in ios
* accurate alert
* label
* progress indicator, disable interactions while api running
* just call expire chat items
* android, desktop: add local alias to groups (#5544 )
* android, desktop: add local alias to groups
* different placeholder for chats vs contacts
* improvements and fixes
* only expire chat items, not all items, when chat ttl changes
* refactor, fix conditions
* refactor
* refactor ChatTTLOption
* text
* fix
* make ttl state
* fix crash/remove warnings
* fix for current?
---------
Co-authored-by: Diogo <diogofncunha@gmail.com >
2025-01-20 18:06:00 +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
c9f6f3c053
core: api and protocol support for reporting messages to group moderators ( #5469 )
...
* core: api and protocol support for reporting messages to group moderators
* moderator role
* delete mode
* remove auto-accepting conditions for SimpleX Chat Ltd
* mark as deleted locally
* ui: delete mode type
* store msg_content_tag with chat items, support moderator option on receiving side
* report API
* send reports only to moderators that support them, fail if none support
* fix tests
* test
* remove comment
* revert version
* do not build ghc8107 in stable branch
* skip job
* fix condition
* remove condition
* condition
* exit
* update
2025-01-04 18:33:27 +00:00
Evgeny Poberezkin
9b82cc3303
core: fix feature items when updating preferences in business chats
2024-12-06 10:18:48 +00:00
Evgeny
60e0e454e8
core: only update business chat preferences ( #5325 )
...
* core: only update business chat preferences
* rework
* migration
* test, bump protocol version
* fix tests
2024-12-05 18:32:00 +00:00
Evgeny
89f380400e
core: update business chat profile ( #5313 )
...
* core: update business chat profile
* fix, test
* refactor
* test changing non-title member profile
* fix history
2024-12-04 16:32:01 +00:00
Evgeny
9d992735f4
core, ios: improve business address (connection plan, repeat requests, feature items) ( #5303 )
...
* core, ios: connection plan for business address
* core: store xcontact_id on business groups to prevent duplicate contact requests
* core: create feature items in new groups and in business groups
* fix tests
* error message
2024-12-03 12:11:38 +00:00
spaced4ndy
a62ce9168e
core: fix names created for business request group and member ( #5296 )
2024-12-02 20:30:05 +04:00
Evgeny
5f01dc1a3f
core: support business addresses and chats ( #5272 )
...
* core: support business addresses and chats
* types
* connect plan, add link type
* ios: toggle on address UI
* make compile
* todo
* fix migration
* types
* comments
* fix
* remove
* fix schema
* comment
* simplify
* remove diff
* comment
* comment
* diff
* acceptBusinessJoinRequestAsync wip
* comment
* update
* simplify types
* remove business
* wip
* read/write columns
* createBusinessRequestGroup
* remove comments
* read/write business_address column
* validate that business address is not set to be incognito
* replace contact card
* update simplexmq
* refactor
* event when accepting business address request
* sendGroupAutoReply
* delete contact request earlier
* test, fix
* refactor
* refactor2
---------
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com >
2024-12-02 14:01:23 +00:00
Evgeny
619985730e
core: use random servers for each operator ( #5192 )
...
* core: use random servers for each operator (WIP, compiles with undefined stub)
* compiles
* fix some, break some
* tests pass
* cleanup
* delays in tests
* enable random servers test
* remove new preset servers in down migration
* fix migration
* test
2024-11-18 18:44:28 +00:00
Evgeny
d42cab8e22
core: preset operators and servers ( #5142 )
...
* core: preset servers and operators (WIP)
* usageConditionsToAdd
* simplify
* WIP
* database entity IDs
* preset operators and servers (compiles)
* update (most tests pass)
* remove imports
* fix
* update
* make preset servers lists potentially empty in some operators, as long as the combined list is not empty
* CLI API in progress, validateUserServers
* make servers of disabled operators "unknown", consider only enabled servers when switching profile links
* exclude disabled operators when receiving files
* fix TH in ghc 8.10.7
* add type for ghc 8.10.7
* pattern match for ghc 8.10.7
* ghc 8.10.7 fix attempt
* remove additional pattern, update servers
* do not strip title from conditions
* remove space
---------
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com >
2024-11-14 17:43:34 +00:00
spaced4ndy
9a87f344b5
core: do not regenerate key when accepting connection to avoid invalidating invitation link on bad networks ( #5018 )
...
* core: prepare conn (plan)
* update
* group join
* comment
* comment
* wip
* Revert "wip"
This reverts commit 0849f43377 .
* accept
* save contact_id, reuse contact
* refactor
* simplexmq
* set contactUsed
* support retrying join
* exclude prepared connections from API responses
* avoid race with events
* avoid race better
* fix UI
* update library
* tmp
* update
* display error details on ios cmd prohibited
* underscore instead of empty
* Update apps/ios/Shared/Model/SimpleXAPI.swift
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com >
* test
* update simplexmq
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com >
Co-authored-by: Diogo <diogofncunha@gmail.com >
2024-10-11 15:37:38 +01:00
spaced4ndy
ab034e626f
core: update simplexmq ( #4952 )
2024-09-30 14:53:36 +04:00
Diogo
05e7f35037
core: fix associated agent user for recreated connections ( #4771 )
...
* core: fix associated user for recreated connections
* fix test for connection recreation
2024-08-27 22:12:55 +01:00
spaced4ndy
791489e943
core: multi forward api ( #4704 )
2024-08-22 21:36:35 +04:00
Diogo
d5eb7b7811
core: api to change user of pending connections ( #4681 )
...
* core: add api that enables change of owner user id for pending connections
* old user sends request, incognito handling and coverage
* call agent inside set connection api
* only set user id if servers match
* simplify
* reduce test noise
* return invitation when a newone is created
* add test for profile on different server
* refactor namings
* update simplexmq
* refactor
* test improvements and simplify
* remove fdescribes
* simplify and reduce vars scope
* put if back
* refactor, change error
* refactor view
* refactor
---------
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com >
2024-08-21 13:27:58 +04:00
Evgeny Poberezkin
8bda64a5c1
core: api to delete multiple messages ( #4452 )
...
* core: api proposal (not implemeted) to delete multiple messages
* core: batch delete multiple messages; allow to moderate self (#4513 )
* allow to moderate self, remove saving item-message record on mark delete
* direct batched
* local batched
* group batched
* moderate batched
* refactor
* fix
* fix test
* remove unused event
* direct message batching wip
* direct test
* more tests
* trunk
* batch compressed
* remove unused function
* new agent api
* sendGroupMessages
* forward batched
* refactor
* remove comment
* rename, comment
* refactor
* many chat batches test (doesn't pass)
* refactor
* comment
* rename
* comment
* linearize
* fix
* fix
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com >
* core: check item deletable with margin (#4533 )
* simplexmq
* remove L.singleton (ghc 8.10.7)
* test delay
---------
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com >
2024-07-30 22:59:47 +01:00
spaced4ndy
bfab76ed90
core: allow sending messages immediately on joinConnection, acceptContact ( #4465 )
2024-07-18 20:33:51 +04:00
Evgeny Poberezkin
f12e504828
core: update simplexmq (fast connection handshake) ( #4369 )
...
* core: update simplexmq (fast connection handshake)
* core: update simplexmq (fast connection handshake)
* fix encoding tests
* fix tests
2024-07-04 07:58:13 +01:00
spaced4ndy
d951003191
core: servers summary api ( #4319 )
...
* core: servers summary api
* rework
* server known types
* set stats file path
* rename
* local simplexmq
* update
* rfc
* update
* update
* get servers
* compile summary
* remove sort
* rename
* rename, refactor
* refactor attempt
* refactor attempt 2
* refactor
* fix
* fix2
* remove space
* refactor xftp
* update
---------
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com >
2024-06-25 09:51:55 +04:00
spaced4ndy
6c4c9b172c
core: fix markdown check ( #4334 )
...
* core: fix markdown
* more tests
* enable tests
---------
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com >
2024-06-18 12:44:33 -07:00
Evgeny Poberezkin
93ae1145bc
core: update simplexmq (use MVar for better DB connection concurrency) ( #4183 )
...
* core: update simplexmq (use MVar for better DB connection concurrency)
* focus failing tests
* add timeouts to test
* fix tests
* more delays
* increase timeouts
* prints
* delay
* delay
* empty
* more delays
* enable all
---------
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com >
2024-05-15 11:16:38 +01:00
Evgeny Poberezkin
bc5af35a3e
core: wallpapers api ( #4110 )
...
* core: wallpapers api
* optional colors
* update
* api
* update
* whitespace
* typo
* test, fix
* fix color parsing
* separate UI and Theme color schemes
* update
* enable test
* multiple themes, one per color scheme
* theme overrides as a separate type
* rename
---------
Co-authored-by: Avently <7953703+avently@users.noreply.github.com >
2024-05-08 15:36:20 +01:00
spaced4ndy
7567791866
core: enable PQ encryption for contacts ( #4049 )
...
* wip
* migration
* remove migration
* remove flag wip
* Revert "remove migration"
This reverts commit 9e64663f9d .
* wip
* remove vrange parameterization
* tests mostly pass
* more tests pass
* enable for upgraded contacts
* remove migration
* core: test large messages (#4061 )
* update simplexmq, fix tests
* test test
* another test
* enable tests
* empty
* empty
2024-04-22 17:46:48 +01:00
Evgeny Poberezkin
18efc28d16
core: additional group preferences: prohibit SimpleX links, restrict some features to specific roles ( #3964 )
...
* core: additional group preferences: prohibit SimpleX links, restrict some features to specific roles
* add role to group preference items, tests
2024-04-04 20:41:56 +01:00
spaced4ndy
069395c2a0
core: entity locks ( #3962 )
...
* core: entity locks
* more locks
* update sha256map
* add delay
* clean up
* empty
* fix tests
* empty
* empty
* more delays
* empty
* comment delays
* Revert "comment delays"
This reverts commit 4245b545fb .
* Revert "Revert "comment delays""
This reverts commit f803386945 .
* take lock in the beginning of processing loop
* empty
* empty
* remove lock
* rework file locks
* empty
* fix
* empty
* add connection locks
* empty
* fix test
* empty
* remove commented delays
* add to debug locks
* update
* refactor
* refactor
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com >
2024-04-04 19:24:42 +01:00
spaced4ndy
eebf014ff7
core (pq): integrate agent api, create e2ee info items ( #3859 )
2024-03-05 20:27:00 +04:00
spaced4ndy
c544a636f6
core, ui: remove usage of inline files (send only xftp files) ( #3823 )
2024-02-20 13:56:31 +04:00
Evgeny Poberezkin
868acd18d6
core: support deleting the last profile (always create user record in agent when user is created) ( #3654 )
...
* core: only skip creating agent user when app is first started
* firstTime
* prompt
* fix test
* if
* simplexmq
* ci timeout
* skip test
* add test timeout
* log test times
* simplexmq
* timeout
* simplexmq without new batching
* Revert "simplexmq without new batching"
This reverts commit 9879bcb57c .
* without new batching again
* with builder, without sized builder
* lazy bytestring, same batching logic
* fewer chunks
* remove lazy
* optimize batching in simplexmq
2024-01-17 15:20:13 +00:00
spaced4ndy
f4f8501eb8
core: members profile update, create profile update chat items ( #3644 )
2024-01-15 19:56:11 +04:00
spaced4ndy
9e87fe73a5
core: batch send profile update ( #3618 )
...
* core: batch send profile update
* redundant
* reorder
* remove type
* createSndMessages
* refactor
* batched create internal item
* create feature items for multiple contacts
* comments
* refactor call site
* synonim
* refactor createSndMessages
* more batching
* remove partitionWith
* unite filter and fold
* refactor
* refactor
* refactor
* fix merge
* add test
* rename
* refactor
* refactor
* withExceptT
* refactor
* refactor2
* remove notChanged
* deliver with sendMessagesB (#3646 )
* deliver with sendMessagesB
* refactor
---------
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com >
---------
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com >
Co-authored-by: Alexander Bondarenko <486682+dpwiz@users.noreply.github.com >
2024-01-05 11:35:48 +04:00
spaced4ndy
12d1ada25e
core: support batch sending in groups, batch introductions; send recent message history to new members ( #3519 )
...
* core: batch send stubs, comments
* multiple events in ChatMessage and supporting types
* Revert "multiple events in ChatMessage and supporting types"
This reverts commit 9b239b26ba .
* schema, refactor group processing for batched messages
* encoding, refactor processing
* refactor code to work with updated schema
* encoding, remove instances
* wip
* implement batching
* batch introductions
* wip
* collect and send message history
* missing new line
* rename
* test
* rework to build history via chat items
* refactor, tests
* correctly set member version range, dont include deleted items
* tests
* fix disappearing messages
* check number of errors
* comment
* check size in encodeChatMessage
* fix - don't check msg size for binary
* use builder
* rename
* rename
* rework batching
* lazy msg body
* use withStoreBatch
* refactor
* reverse batches
* comment
* possibly fix builder for single msg
* refactor batcher
* refactor
* dont repopulate msg_deliveries on down migration
* EncodedChatMessage type
* remove type
* batcher tests
* add tests
* group history preference
* test group link
* fix tests
* fix for random update
* add test testImageFitsSingleBatch
* refactor
* rename function
* refactor
* mconcat
* rename feature
* catch error on each batch
* refactor file inv retrieval
* refactor gathering item forward events
* refactor message batching
* unite migrations
* move files
* refactor
* Revert "unite migrations"
This reverts commit 0be7a3117a .
* refactor splitFileDescr
* improve tests
* Revert "dont repopulate msg_deliveries on down migration"
This reverts commit 2944c1cc28 .
* fix down migration
---------
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com >
2023-12-23 13:07:23 +00:00
Evgeny Poberezkin
d29f1bb0cf
core: use fourmolu styles ( #3470 )
2023-11-26 18:16:37 +00:00
spaced4ndy
8722d35278
core: fix deletion of contact without connections ( #3327 )
2023-11-08 13:15:08 +04:00
spaced4ndy
a04dc5d05b
core: preset simplex contact ( #3321 )
2023-11-07 17:45:59 +04:00
spaced4ndy
239765e482
core: create new group with incognito membership ( #3277 )
2023-10-24 20:59:06 +04:00
spaced4ndy
e4c8386f3f
core: replace simplex:/ with simplex.chat links in view; remove trustedUri flag from simplex links markdown format ( #3235 )
2023-10-16 19:23:38 +04:00
spaced4ndy
9ed31261e1
core: check saved links and hashes by both connection request uri schemas for connection plan ( #3233 )
2023-10-16 16:16:03 +04:00
spaced4ndy
4b6df43e97
core: confirm to reconnect via address plan ( #3212 )
...
* core: confirm to reconnect plan
* rework query to prefer connections with contacts
2023-10-16 16:10:56 +04:00
spaced4ndy
7b488c7f1b
tests: improve tests ( #3203 )
2023-10-12 11:52:14 +04:00
spaced4ndy
a67b79952b
core: connection plan api; check connection plan before connecting in terminal api ( #3176 )
2023-10-10 21:19:04 +04:00
Evgeny Poberezkin
38be27271f
core: profile names with spaces ( #3105 )
...
* core: profile names with spaces
* test
* more test
* update name validation, export C API
* refactor
* validate name when creating profile in CLI
* validate display name in all APIs when it is changed
2023-10-02 21:56:11 +01:00
spaced4ndy
c64d1e8361
core: notify contact about contact deletion ( #3131 )
2023-09-27 19:36:13 +04:00
spaced4ndy
43e233f0eb
core: don't create direct connections in group ( #2996 )
2023-09-05 20:15:50 +04:00
spaced4ndy
7a5d4a5a3d
core: communicate connection chat version range ( #2886 )
...
* core: communicate connection chat version range
* encoding
* type
* implementation wip
* contact requests
* tests
* more tests
* refactor
* remove comment
* change encoding
* remove Maybe
---------
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com >
2023-09-01 19:20:07 +04:00
Evgeny Poberezkin
e326227d06
cli: change default member role from "admin" to "member" ( #2915 )
2023-08-14 07:37:04 +01:00