Evgeny
674a545a33
core: signed messages status ( #6699 )
...
* XOcore: signed messages status
* remove empty lines
Co-authored-by: Evgeny <evgeny@poberezkin.com >
* EOL
* only mark verified as verified
* update API types
* todos
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-03-24 20:05:09 +00:00
Evgeny
2db92ff6ed
core: group member/owner keys for signing important messages ( #6597 )
...
* rfc: member keys
* update plan
* new encoding for message batches
* send new batch encoding in relay-based groups
* mvp launch plan
* update plan
* core: verify group member keys (#6669 )
* core: verify group member keys
* refactor, process forwards
* refactor parsing
* refactor parsing 2
* refactor parser 3
* update rfc
* simplify
* simplify
* log tag
* refactor tag logging
* refactor withVerifiedSig
* simplify
* refactor more
* comment
* fix encoding
* fix sending as group for the new binary batch encoding
* unify types
* update api docs
* clean up
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
* core: signing messages with member keys (#6675 )
* core: signing messages with member keys (types)
* sign messages
* refactor batching
* better
* refactor
* remove unused Eq
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
* core: forward signed messages as unchanged binary strings (#6678 )
* core: forward signed messages as unchanged binary strings
* refactor
* consolidate types
* refactor VerifiedMsg
* refactor more
* undo rename
Co-authored-by: Evgeny <evgeny@poberezkin.com >
* update schema and plans
* add signed status to chat items and events
* test signed chat items
* unify parser
* PostgreSQL fix, remove unused fields, option to send inline files in the tests
* change inline files config
* revert inline config change
* use different characters in batch encoding, to avoid conflict with inline files
* fix test, api docs, query plans
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
---------
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com >
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-03-16 10:46:35 +00:00
Evgeny
628b00eb08
core: channel messages ( #6604 )
...
* core: channel messages (WIP)
* do not include member ID when quoting channel messages
* query plans
* reduce duplication
* refactor
* refactor plan
* refactor 2
* all tests
* remove plan
* refactor 3
* refactor 4
* refactor 5
* refactor 6
* plans
* plans to imrove test coverage and fix bugs
* update plan
* update plan
* bug fixes (wip)
* new plan
* fixes wip
* more tests
* comment, fix lint
* restore comment
* restore comments
* rename param
* move type
* simplify
* comment
* fix stale state
* refactor
* less diff
* simplify
* less diff
* refactor
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com >
2026-02-12 07:11:59 +00:00
Evgeny
5453d8875c
core: filter all messages with links in text when link content filter is used ( #6591 )
...
* core: change msg_content_tag stored as blob to text
* track if items have links and use has_link when searching for links (MCLink_ MsgContentTag is passed)
* fix test (broken in master)
* merge migrations, update api and schema
* minor fixes
* tests
* update plans
* update migrations
2026-01-23 12:31:42 +00:00
spaced4ndy
a65151ba6d
core, ui: replace map of network statuses with subscription status of current chat ( #6353 )
...
* core: subscription status wip
* update
* update
* update
* remove statuses core
* cleanup ios
* comment
* plans
* remove NetworkStatus
* ios wip
* contact sub status
* Revert "contact sub status"
This reverts commit 50cf94beed .
* sub status
* set on connected
* kotlin
* rename
* layout
* member status
* kotlin
* fix chat subscription status
* string
* core: update simplexmq
* client notices
* update simplexmq
* update alert
* update simplexmq
* android/desktop
* formatting
* fix tests
* update plans and API docs
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com >
2025-10-18 22:53:47 +01:00
spaced4ndy
382241fe3e
core: rework synchronous group forwarding in receive loop into asynchronous delivery tasks ( #6178 )
2025-09-12 13:22:34 +00:00
Evgeny Poberezkin
b2f9ee4326
Merge branch 'stable'
2025-07-25 21:16:32 +01:00
Evgeny
7a3b30cca5
core: backward compatible JSON parser for remote controller/host ( #6105 )
...
* core: backward compatible JSON parser for remote controller/host
* forward compatible JSON parsers for chats and content
2025-07-25 21:15:46 +01:00
Evgeny
cf8bd7f6ac
docs: bots API ( #6091 )
...
* docs: bot API commands
* generate API commands doc
* generate commands docs with parameters and responses
* add API types
* more types
* document all types (with some deviations from JSON encodings)
* rename types
* interface objects
* separator
* command syntax
* more syntax
* API events
* event types
* fix all type definitions
* pre-process types outside of rendering
* pre-process event types
* overview
* pre-process commands
* param syntax WIP
* syntax for types in command parameters
* API error response and chat event
* remove unsupported/deprecated command parameters
* reorder
* syntax for choice
* show command errors
* event descriptions
* python syntax for commands and types (#6099 )
* python syntax for commands and types
* python snippets: convert numbers to string
* fixes
* update readme, enable all tests
* fix operators test
* update plans
---------
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com >
2025-07-24 13:12:53 +01:00
spaced4ndy
8094078bee
core: improve message forwarding to better manage support scopes ( #6056 )
...
* core: test forwarding in support scope
* wip
* test
* add to test
* comment
* rework forwarding
* fixes
* refactor tests
* narrow
* forwardMsgs
* support mem
* unfocus tests
* fix, tests
* plans
* add test
* comment
* add scope to reaction and deletion, refactor
* fix del
* refactor
* query plans
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com >
2025-07-12 19:39:41 +01:00
Evgeny
9794829d74
core: show group as sender, add contact card to contact request chats, unify api type for prepared and contact request chats ( #6003 )
...
* core: option to show group as sender of chat item (for the initial items, e.g. welcome message)
* add chat item to contact request chats
* return AChat for prepared chats and contact requests
* update iOS api types, show prepared contact as blue, show preview info when content message is not available (previously was showing feature item)
* ios: remove ContactType
* ios: show group as sender, fix avatar not showing when member message sequence starts with merged items
* ios: update compose UI for all connection scenarios
* address settings
* ios: address settings UI
* fix tests
* fix tests 2
* ios: fix minor issues
2025-06-23 14:42:00 +01:00
spaced4ndy
e84016e1b9
core, ui: update group scope unread stats on item deletions; create reports as read (reports use a different attention mechanism) ( #5930 )
2025-05-20 16:18:23 +00:00
Evgeny
a2577c3df3
core: support observers send messages to admins, CLI commands ( #5921 )
...
* core: allow observers send messages to admins
* improve parser, CLI command to approve members
2025-05-19 11:14:43 +01:00
spaced4ndy
79991e84c9
core: member requires attention counter ( #5881 )
2025-05-09 15:36:06 +00:00
spaced4ndy
5262b8caca
core: support chat unread stats ( #5844 )
2025-04-23 14:15:17 +00:00
spaced4ndy
be1c4018cc
core: group knocking main functionality ( #5726 )
...
* docs: knocking rfc
* types, schema wip
* more comments
* rename
* more types
* change types
* wip compiles
* construct snd scope
* fix tests
* hide output
* sending
* fix member filtration
* plans
* conversations store/api model draft
* xgrpmemnew
* rework types wip
* wip
* wip
* remove tag
* wip (compiles)
* fix parsing
* fix query
* fixes, tests
* plans, comments
* fix member filtration
* wip
* protocol wip
* protocol wip
* fix
* fix tests
* fixes, test
* fix (remove NotInHistory)
* fix
* fix tests
* fix
* output
* fix tests
* tests
* gcsi in view
* fix tests
* plans
* refactor, make scopes Maybe
* remove groupChatFilter
* fix test
* change schema
* refactor
* rename
* rename
* rename
* refactor
* rename
* remove scope from item direction
* rework view
* change apis
* make api for cli
* change text
* refactor
* fixes
* comment
* rename
* refactor fmap/mapM
* refactor includeInHistory
* query plans
* knocking: patch scope (#5796 )
* knocking: patch scope wip
* more patches
* schema
* remove space
* plans
* fix test
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com >
2025-04-02 07:57:18 +00:00
Evgeny
6556e09a33
core: update simplexmq to support PostgreSQL servers ( #5760 )
...
* core: update simplexmq to support postgres
* update simplexmq
* update ios
2025-03-19 07:16:31 +00:00
Evgeny
b2de37a9fb
core: member acceptance ( #5678 )
...
* core: member acceptance
* migration
* move hook
* core: support sending direct messages to members (#5680 )
* fix compilation, todos
* fix test
* predicates
* comment
* extend hook
* wip
* wip
* wip
* wip
* fix test
* mute output
* schema
* better query
* plans
* fix test
* directory
* captcha
* captcha works
* remove column, add UI types and group status icon
* fix test
* query plans
* exclude messages of pending members from history
* commands for filter settings
* core: separately delete pending approval members; other apis validation (#5699 )
* accepted status
* send captcha messages as replies
* fix blocked words
* simpler filter info
* info about /filter and /role after group registration
* update query plans
---------
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com >
2025-03-03 18:57:29 +00:00
Evgeny
3bc822a1e9
core: mentions in history, unread mentions in stats ( #5594 )
...
* core: mentions in history, unread mentions in stats
* fix
* update plans
2025-01-30 17:59:21 +00:00
Evgeny
2d719273a8
core: update message text when forwarding and quoting to reflect changes in mentioned member names ( #5586 )
...
* update message text when forwarding and quoting to reflect changes in mentioned member names
* fix, test
* forward mentions to the same chat, refactor
* comment
* tests
* test markdown conversion to text
* simplify
* unused
* comments
2025-01-30 10:06:26 +00:00
Evgeny
621b291da1
core: member mentions, types and rfc ( #5555 )
...
* core: member mentions, types and rfc
* update
* update rfc
* save/get mentions (WIP)
* markdown
* store received mentions and userMention flag
* sent mentions
* update message with mentions
* db queries
* CLI mentions, test passes
* use maps for mentions
* tests
* comment
* save mentions on sent messages
* postresql schema
* refactor
* M.empty
* include both displayName and localAlias into MentionedMemberInfo
* fix saving sent mentions
* include mentions in previews
* update plans
2025-01-29 13:04:48 +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
Evgeny
eacae74fed
core, ui: errors for blocked files and contact addresses ( #5510 )
...
* core, ui: errors for blocked files and contact addresses
* android
* iOS: How it works, stub for blog post
* android: blocked errors WIP
* android: alert with button
* update
* fix encoding
* nix
* simplexmq
2025-01-12 21:25:25 +00:00
Evgeny
c8c6a832dd
core: fix report count when loading chat ( #5505 )
...
* core: fix report count when loading chat
* remove "deleted" parameter from api
2025-01-10 19:41:01 +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
569832c8de
core: rfc, protocol and types for user reports ( #5451 )
...
* core: rfc, protocol and types for user reports
* add comment
* rfc
* moderation rfc
* api, types
* update
* typos
* migration
* update
* report reason
* query
* deleted
* remove auto-accepting conditions for SimpleX Chat Ltd
* api, query
* make indices work
* index without filtering
* query for unread
* postgres: rework chat list pagination query (#5441 )
* fix query
* fix
* report counts to stats
* internalMark
* fix parser
* AND
* delete reports on event, fix counters
* test
* remove reports when message is moderated on sending side
---------
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com >
2025-01-08 09:42:26 +00:00
spaced4ndy
68be4b4ba5
core: return member records from apiGetReactionMembers ( #5270 )
2024-11-28 13:49:20 +04:00
spaced4ndy
41b7ad01f9
core: apiGetReactionMembers ( #5258 )
2024-11-27 15:51:35 +04:00
Diogo
4d82209a3a
core: pagination API to load items around defined or the earliest unread item ( #5100 )
...
* core: auto increment chat item ids (#5088 )
* core: auto increment chat item ids
* file name
* down name
* update schema
* ignore down migration on schema dump test
* fix testDirectMessageDelete test
* fix testNotes test
* core: initial api support for items around a given item (#5092 )
* core: initial api support for items around a given item
* implementation and tests for local messages
* pass entities down
* unused
* getAllChatItems implementation and tests
* pagination for getting chat and tests
* remove unused import
* group implementation and tests
* refactor
* order by created at for local and direct chats
* core: initial landing api for chat and gaps (#5104 )
* initial work on initial param for loading chat
* support for initial
* controller parse
* fixed sqls
* refactor names
* fix ChatLandingSection serialized type
* total accuracy on landing section
* descriptive view message
* foldr
* refactor to make landingSection reusable
* refactor: use foldr everywhere
* propagate search
* Revert "propagate search"
This reverts commit 01611fd719 .
* throw when search is sent for initial
* gap size wip (needs testing)
* final
* remove order by
* remove index
---------
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com >
* core: fix initial api latest chat items ordering (#5151 )
* core: fix one item missing from latest in initial and wrong check (#5153 )
* core: fix one item missing from latest in initial and wrong check
* final fixes and tests
* clearer tests
* core: remove gaps and make sure page size is always the same (#5163 )
* remove gaps
* consistent pagination size
* proper fix and around fix too
* optimize
* refactor
* core: simplify pagination
* core: first unread queries (#5174 )
* core: pagination nav info (#5175 )
* core: pagination nav info
* wip
* rework
* rework
* group, local
* fix
* rename
* fix tests
* just
---------
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com >
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com >
2024-11-14 08:34:25 +00:00
spaced4ndy
c6ab8ec6b3
core: cleanup empty file on error; check file status on forward ( #4878 )
2024-09-13 23:16:23 +04:00
Evgeny
f6f2044675
core: plan forwarding chat items, api types ( #4865 )
...
* core: plan forwarding chat items, api types
* remove empty content, refactor get items
* another refactor
* plan
* test
* more tests
* text
2024-09-12 15:21:29 +01:00
Evgeny Poberezkin
dfdb4af646
Revert "core: bulk forward missing files error handling ( #4860 )"
...
This reverts commit 46d774a822 .
2024-09-12 08:52:09 +01:00
Diogo
46d774a822
core: bulk forward missing files error handling ( #4860 )
...
* add types
* wip dump
* collect errors
* Update src/Simplex/Chat/View.hs
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com >
* test with not received files
* remove ciFileLoaded
* undo refactoring
* test for skipping missing file with text
* add test for empty message
* remove fdescribes
* copy or cleanup files after collecting errors and forward reqs
* don't forward w/t content
* translate CIFSRcvAborted into FFENotAccepted
* refactor
* refactor
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com >
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com >
2024-09-11 21:30:09 +01:00
spaced4ndy
bcd50019be
core: add more multi send api tests ( #4750 )
2024-08-23 21:05:37 +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
a9d2535292
core: differentiate inactive and forwarded group snd statuses ( #4420 )
...
* core: GroupSndStatus
* rfc
* encoding, db apis
* pending, forwarded statuses
* encoding
2024-07-09 18:29:36 +01:00
spaced4ndy
490e8cead8
core: file errors ( #4261 )
2024-06-05 21:02:13 +04:00
Evgeny Poberezkin
5ac521f6d8
core: commands to debug subscribed SMP queues ( #4253 )
...
* core: commands to debug subscribed SMP queues
* getLastRcvMsgInfo
* DESC
* update
* update commands, ui compiles
* update
* ios: fix type
* swap
* simplexmq
* group member queue info
* copy button in the alert
2024-05-31 12:45:58 +01:00
spaced4ndy
2143eb2d7a
core: batch send pending group messages ( #4242 )
2024-05-28 18:32:29 +04:00
Evgeny Poberezkin
291df6e9d0
core: logging of chat events ( #4216 )
...
* core: update simplexmq (persist server errors)
* fix
* same config
* logging
* logging 2
* log
* log 2
* finally
* catch better
* more logs
* logs
* fix
* more logging, context from PROHIBITED
* warning
* more logs
* logs3
* logs4
* logs in simplexmq
* log locks from simplemq
* log queue size
* log sendMessagesB in simplexmq
* update simplexmq
* logs5
* logs6
* logs7
* logs8
* logs8
* logs9
* logs10
* log11
* log12
* fix test
* more logs
* logging
* clean up
* refactor
* simplify
* tags
* log level
* remove network errors from the log
* rename
2024-05-24 21:09:21 +01:00
spaced4ndy
d2d450d1d7
core: check known relays before file reception, support user approval of unknown relays ( #4043 )
...
* core: check known relays before file reception, support user approval of unknown relays
* comment
* reset on not approved agent error
* add privacyAskToApproveRelays to AppSettings
* filter distinct servers
* update simplexmq
* remember user_approved_relays
* refactor
* rename
* update simplexmq
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com >
2024-05-20 17:23:29 +04:00
spaced4ndy
4c0d47bbd4
core: message statuses for sending proxies ( #4161 )
...
* core: delivery path
* update simplexmq
* via proxy snd flags
* error statuses
* rework errors
* proxy expired errors
* corrections
* move backwards compatibile parser to new type
* update simplexmq
* names
* refactor, style
* simplexmq
* refactor
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com >
2024-05-15 12:30:05 +01:00
spaced4ndy
f40ba6f04d
core: api to differentiate contacts and conversations ( #4111 )
2024-05-13 16:51:54 +04:00
Evgeny Poberezkin
878eea774d
core: save app themes as map with any text key ( #4159 )
...
* core: save app themes as map with any text key
* remove theme preset name
* list of themes
* theme id
* theme IDs
* moar
* colors
* default to dark
* fix
2024-05-12 23:35:14 +01:00
spaced4ndy
ee53377070
core: fix forwarded item deletion ( #4018 )
2024-04-12 12:55:04 +04:00
Evgeny Poberezkin
a5db36469d
core: api to forward messages ( #3968 )
...
* wip
* wip
* test
* mute
* tests
* simplify (only bool flag)
* re-encrypt file
* tests
* more tests (wip)
* fix relative paths, refactor
* more tests
* more locks
* fix, tests
* more tests
* rework (revert from bool to ids)
* update schema
* more tests
* add to info
* ForwardedMsg container
* Revert "ForwardedMsg container"
This reverts commit bb57f12151 .
* parser
* more tests
* rework api
* more locks
* test
* move
* remove from
* view
* prohibit editing
* item info view
---------
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com >
2024-04-09 16:02:59 +04: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
spaced4ndy
366b58ead5
core: don't save async commands records for ack ( #3904 )
2024-03-28 19:52:06 +04: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
654a7885c3
core: read chat items with logical database errors as invalid (don't fail) ( #3736 )
2024-02-19 15:17:14 +04:00