Commit Graph

80 Commits

Author SHA1 Message Date
sim 6ab0f3222a Add commands to verify and deleted saved ntf token 2025-08-19 17:29:47 +02:00
sim c3618c1b0d Treat ntf servers as other user servers
Once ntf servers will be able to send webpush requests
they won't be tight to an application developer like for
iOS where ntf servers have to know a secret. They will
all have their own VAPID key. So it will be possible for
users to choose what servers they want to use.
2025-06-18 15:45:34 +02:00
sim 36739fdf04 List and set ntf servers 2025-05-29 15:02:52 +02: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
spaced4ndy 1a80ecfc29 core, ui: allow to delete member support chat; rename reject action (#5927) 2025-05-20 09:07:44 +00:00
spaced4ndy fa81df24ee core, ui: allow files and links in support scope (#5925) 2025-05-19 11:31:10 +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 98f35a38e8 core: fix member introduction when inviting admin accepts member; fix order of items for accepted member (#5924) 2025-05-19 09:08:28 +00:00
spaced4ndy 041807c870 core: decrease membersRequireAttention counter when member is deleted or leaves (#5919) 2025-05-16 15:03:15 +00:00
spaced4ndy a8da7c1c44 ios: fix auto-closing support chat for invitee when accepted; core: add accepted item to main scope (#5916) 2025-05-15 16:05:18 +00:00
spaced4ndy b97e1e0f11 ui: show new messages from support scope in main chat preview when invitee is pending (#5909) 2025-05-14 15:14:34 +00:00
spaced4ndy d3bc22726a core: fix group being displayed as connecting after join (#5908) 2025-05-14 11:25:24 +00:00
spaced4ndy db1ffb2cf2 core: create "accepted by you" item for moderator (#5901) 2025-05-13 12:35:54 +00:00
spaced4ndy 671dc2537d core: accepted message to older clients (#5897) 2025-05-12 16:50:30 +00:00
spaced4ndy 9190c2a772 core: reset unanswered counter for support chats with members only if moderator message is newer (#5889) 2025-05-12 12:19:20 +00:00
spaced4ndy 79991e84c9 core: member requires attention counter (#5881) 2025-05-09 15:36:06 +00:00
spaced4ndy 79dadabf61 Merge branch 'master' into group-knocking 2025-05-07 13:48:55 +04:00
Evgeny 05de019ecd ios: deliver notifications instantly when server has no more messages and better concurrency (#5872)
* core: return error and message absence when getting notifications

* ios: do not wait for notification messages when server says "no"

* do not postpone some notification events, comments

* refactor

* simplexmq (mapM)

* simplexmq (release lock)

* ios: inline, more aggressive GHC RTC settings for garbage collection

* simplexmq

* corrections

Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com>

* refactor ntf delivery

* ios: 6.3.4 (build 274)

* simplexmq (fix updating last ts)

* improve notification for multiple messages

* simplexmq

---------

Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com>
2025-05-07 07:33:00 +01:00
Evgeny Poberezkin c3bb1e660d Merge branch 'master' into group-knocking 2025-05-05 12:53:05 +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 Poberezkin 92787df8a3 Merge branch 'master' into group-knocking 2025-05-04 23:25:50 +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
spaced4ndy 524daf178b Merge branch 'master' into group-knocking 2025-05-02 17:05:40 +04:00
Evgeny e7a4611be9 ios: deliver notifications even if iOS fails to fire expiration notice, prevent repeat delivery of stale notifications (#5861)
* ios: deliver notification when iOS fails to fire expiration notice for NSE

* update core api

* update ui

* sha256map.nix

* do not enable background processes in maintenance mode

* fix ios

* fix parser

* ios: fix command

* compatible parser for connection ID

* log

* pass DB queue ID

* simplexmq

* query plans

* fix broadcast bot test
2025-05-02 12:23:05 +01:00
spaced4ndy ca2f019249 Merge branch 'master' into group-knocking 2025-04-29 20:28:45 +04:00
spaced4ndy 6abffeb295 core: only introduce to supporting moderators 2025-04-28 15:03:17 +04:00
spaced4ndy dd01ef5ae8 core: create knocking message for moderators (#5857) 2025-04-28 10:45:42 +00:00
spaced4ndy 60bfd9933a core: correctly communicate group acceptance state (#5852) 2025-04-28 06:28:40 +00:00
Evgeny 7cac164b84 core: use /feed command in broadcast bot (#5854) 2025-04-27 12:38:51 +01:00
Evgeny 7b11d8514a core, ui: option to use web port by default for preset servers only (#5847)
* core: option to use web port by default for preset servers only

* ui

* refactor

* simplexmq
2025-04-25 11:17:27 +01:00
Evgeny Poberezkin 82be7d00fd Merge branch 'master' into group-knocking 2025-04-25 07:54:13 +01:00
spaced4ndy 18fa5dbf04 core, ui: admission message (#5848) 2025-04-24 16:29:27 +00:00
Evgeny Poberezkin 96b962809f core: fix connecting via short links 2025-04-23 13:09:16 +01:00
spaced4ndy 805a69da94 android, desktop: group knocking (#5816) 2025-04-21 15:17:21 +00:00
spaced4ndy 3095b980cb Merge branch 'master' into group-knocking 2025-04-15 19:27:36 +04:00
Evgeny 45e395d35a core, ui: short connection links with stored data (#5824)
* core, ui: optionally use short links (#5799)

* core: optionally use short links

* update test

* update simplexmq, short group links

* fix query

* fix parser for _connect

* ios: use short links

* shorten links to remove fingerprint and onion hosts from known servers

* fix parser

* tests

* nix

* update query plans

* update simplexmq, simplex: schema for short links

* simplexmq

* update ios

* fix short links in ios

* android: use short links

* fix short group links, test short link connection plans

* core: fix connection plan to recognize own short links

* update simplexmq

* space

* all tests

* relative symlinks in simplexmq to fix windows build

* core: improve connection plan for short links (#5825)

* core: improve connection plan for short links

* improve connection plans

* update UI

* update simplexmq

* ios: add preset server domains to entitlements, add short link paths to .well-known/apple-app-site-association

* update simplexmq

* fix group short link in iOS, fix simplex:/ scheme saved to database or used for connection plans

* update simplexmq

* ios: delay opening URI from outside until the app is started

* update simplexmq
2025-04-14 21:25:32 +01:00
spaced4ndy c9f398b106 core: group knocking - acceptance to group chat item (#5810) 2025-04-07 07:55:56 +00:00
spaced4ndy d85ac4af04 core: member support chat stats (#5803)
* core: member support chat stats

* schema

* update counts

* mark read wip

* dec counts on read

* rename

* plans

* test, fixes

* plans

* refactor

* rename

---------

Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com>
2025-04-05 12:25:45 +01:00
spaced4ndy c12817ac81 core: rework knocking protocol (#5802) 2025-04-03 09:36:28 +00:00
spaced4ndy 9654e193af core: member admission (#5798) 2025-04-03 08:55:32 +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
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 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 e9893989df Merge branch 'stable' 2025-02-14 23:59:41 +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