Commit graph

663 commits

Author SHA1 Message Date
spaced4ndy
430e212a9e
core: name limit (#5724)
* core: name limit

* ios

* trim spaces, test
2025-03-07 14:38:06 +00:00
Evgeny
a6631ce629
core: delete members with messages (#5711)
* core: delete members with messages (WIP)

* remove messages

* fix, test

* update query plans
2025-03-07 07:47:32 +00: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
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
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
spaced4ndy
f701ffa4e0
core: communicate group join rejection (#5661) 2025-02-26 09:25:54 +00:00
Evgeny
511ff1d35c
cli: remove multiple members (#5656)
* cli: remove multiple members

* accept all members joining via link as observers (do NOT release)

* blocked words

* blocked words

* XGrpLinkReject

* core: 6.3.0.6 (simplexmq 6.3.0.6)

---------

Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com>
2025-02-26 09:25:54 +00:00
Evgeny Poberezkin
41ccb14bfa
core: 6.3.0.6 (simplexmq 6.3.0.6) 2025-02-23 23:31:16 +00:00
Evgeny
7c5966df70
core: fix postgres test (#5631) 2025-02-15 17:09:11 +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
a90f255df5
core: adapt simplexmq api for shared msg body (via MsgReq markers) (#5626)
* core: shared msg body 2

* WIP

* compiles

* refactor

* refactor

* refactor

* format

* simplexmq

* refactor

* refactor ChatMsgReq

* agent query plans

* simpler

* test

* test

* fix test

* agent plans

* simplexmq

---------

Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com>
2025-02-14 20:12:32 +00:00
Stanislav Dmitrenko
e7361cf025
ui: archive multiple reports (#5619)
* android, desktop: archive multiple reports

* ios

* change

* changes

* fix changing counter

* fix changing counter2

* fix changing counter3

* unused

* fix android

* android notification

* simplify

* ios notification

* orange

* orange

* core: update api

* buttons

* ios api

* android api

* fix 4 buttons

* buttons and check for member active status

* android colors and member active

* show delete group button when not in the group anymore

* title

---------

Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com>
2025-02-10 15:07:14 +00:00
Evgeny
205ced1c1d
core, ui: report preference (#5620)
* core: report preference

* fix tests

* ios: disable reports toggle until 6.4

* android, desktop: reports preference

* ui: section

* boolean
2025-02-10 09:06:16 +00:00
Evgeny
ff35643533
core: api to archive reports (#5618)
* core: api to archive reports

* fix queries

* query plans

* fix test
2025-02-09 19:16:30 +00:00
Evgeny
844b24be9d
core: forward reports only to moderators and above roles (#5605)
* core: do not forward reports

* test

* core: forward reports only to moderators and above roles (#5606)

* core: forward reports only to moderators and above roles

* test

* name

* name

---------

Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com>
2025-02-05 09:40:42 +00:00
Evgeny
82dffd55a9
core: fixes for mentions (initial chat load, update mentions, markdown) (#5603)
* core: fix mentions markdown

* test

* core: fix initial load for the first unread item

* core: fix updating messages with mentions

* fix CPP

* query plans
2025-02-03 08:55:46 +00:00
spaced4ndy
9e000d6bce
core: optimize group deletion (#5565)
* core: optimize group deletion

* withFastStore

* fix indexes

* updated plans

* remove prints

* remove print

* undo diff

* core: optimize group delete - delayed group cleanup, delete unused contacts before deleting group (#5579)

* core: delete unused group contacts, don't create new ones

* remove from exceptions

* plans

* fix tests

* remove fixtures

* update plans

* update plans

* fix test

* remove unused functino

* update plans

* remove withFastStore

* core: time group deletion (#5596)

* core: time group deletion

* queries

* works, test fails

* fix

* update plans

* update migration, queries

* not null

* remove deleted

---------

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

* cleanup

* remove unused field

* fix

* fix

* plans

* fix plan save

* plans

---------

Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com>
2025-01-31 18:47:59 +04: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
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
Evgeny
1306df81e4
core: role for full delete preference (#5572)
* core: role for full delete preference

* fix
2025-01-27 07:50:58 +00:00
spaced4ndy
d86e6b35be
test: track agent query plans (#5571) 2025-01-24 17:49:31 +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
spaced4ndy
8e609ac507
core: don't subscribe to deleted/left groups, read less data for groups on subscription (#5552) 2025-01-22 12:35:43 +04:00
Evgeny Poberezkin
b491a7e735
core: simplexmq 6.3.0.2 2025-01-20 18:43:25 +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
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
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
Evgeny Poberezkin
49bf3cc673
Merge branch 'stable' 2025-01-13 17:42:14 +00:00
Diogo
0d44e9f0f5
core, ui: clean media filename on forwards (#5522)
* core, ui: clean media name on forwards

* fix forward tests for new jpg files format
2025-01-13 16:51:15 +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
c25d0ea224
directory: option to run service as CLI (#5494)
* directory: option to run service as CLI

* support muting groups when joining

* fix test
2025-01-09 15:58:47 +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
Evgeny Poberezkin
95b19a4947
Merge branch 'stable' 2025-01-04 19:17:19 +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
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
Evgeny Poberezkin
790b0f315e
core: 6.2.2.0 (simplexmq: 6.2.2.0) 2024-12-24 22:01:55 +00:00
Evgeny Poberezkin
323c5d26b5
build: fix test 2024-12-20 17:13:44 +00:00
spaced4ndy
00973d6e13
core: split Chat.hs module (#5397) 2024-12-20 16:54:24 +04: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
b8442d92a4
core: improve performance of marking chat items as read (#5290)
* core: improve performance of marking chat items as read

* fix tests
2024-12-01 13:11:30 +00:00
Evgeny Poberezkin
a9e7635e00
core: disable Flux XFTP servers to prevent unknown server warning for the previous version users 2024-11-30 20:15:11 +00:00