spaced4ndy
ccf136ca13
core: let a dev build ask the badge service on an interval
2026-10-20 19:03:53 +04:00
spacedandy-agents-simplex
1193ae953f
core: send a badge request at once from a build for the dev badge service
...
/_badge request <userId> sends the profile's badge request now, while
its badge is shown, and runs the badge pass on the answer, so a renewal
or an ended subscription can be watched by hand against the dev
service.
It is allowed only when ChatConfig's badgeDevRequests is set, which no
shipped build does and nothing sets at runtime: the dev-service branch
sets it beside its own badge service overrides. A request off the shared
expiry would tell requests apart, so every other build refuses it, and
it is refused from a paired remote controller.
Run: 011-subscription-tools, slice S3b
2026-10-20 15:37:53 +04:00
spaced4ndy
80b7f96a96
merge master into badge-in-app-checkout
2026-10-08 14:31:30 +04:00
spaced4ndy
27d12f230d
core, ui: buy a badge with an App Store or Google Play purchase ( #7590 )
2026-10-07 14:32:48 +00:00
Evgeny and shum
b79223fe5c
core: call media key HKDF, expire stale calls ( #7642 )
...
* core: call media key HKDF, expire stale calls
* core: expire stale calls in bulk SQL
* core: reduce call tests
* core: remove periodic call cleanup
* core: expire calls with DELETE RETURNING
* core: skip call item update when none expired
---------
Co-authored-by: shum <github.shum@liber.li >
2026-10-04 18:44:52 +01:00
spaced4ndy
6a7eae2751
ui: redeem code ( #7482 )
2026-09-15 14:23:13 +00:00
spaced4ndy
bac8d187ba
Merge branch 'master' into badges
2026-09-14 17:13:58 +04:00
Evgeny and Evgeny @ SimpleX Chat
ca114a7a2a
core: option to limit the max number of loaded chats ( #7499 )
...
* core: option to limit the max number of loaded chats
* update bot api
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-09-13 12:23:39 +01:00
Evgeny and Evgeny @ SimpleX Chat
5ffbe733a8
core: attach badge proofs to files over size limit ( #7455 )
...
* core: attach badge proofs to files over size limit
* types
* more types
* implement file badge proofs
* tests
* move file limits to config, add tests
* more tests, work correctly in "send as group" case
* fix races in tests
* group badge tests
* query plans
* add history support, fixes
* simplify
* refactor
* refactor
* type
* restructure schema for proofs
* rename, refactor
* refactor
* fix, refactor
* refactor
* ui
* comments
* alerts
* update nix, ios library
* updare sharing
* update simplexmq
* update text
* improve messages
* api types
* postgres schema
* fix
* test
* query plans
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-09-12 14:33:52 +01:00
spaced4ndy
f9bab17643
core: renew badges monthly and alert when support ends ( #7448 )
2026-09-09 14:31:05 +00:00
spaced4ndy
c623f4284c
Merge branch 'master' into badges
2026-09-02 13:53:35 +04:00
Evgeny and Evgeny @ SimpleX Chat
f99c474ca6
core: send badge ZK-proofs to XFTP servers, add file expiry time ( #7430 )
...
* core: send badge ZK-proofs to XFTP servers
* update simplexmq, use keys and header from simplexmq
* core: add file expiry time
* refactor
* remove posix module
* rename migrations
* bot api
* update UI
* import
* show item from loaded information
* ios: update core library
* text
* send entitlements in handshake
* simplexmq
* query plans
* update simplexmq
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-09-01 23:16:15 +01:00
spaced4ndy
3ddf17dce5
core: redeem badge codes ( #7438 )
2026-09-01 12:06:51 +00:00
Evgeny Poberezkin
1160215570
Merge stable
2026-08-18 17:16:21 +01:00
Evgeny and Evgeny @ SimpleX Chat
5e45fe1f0e
directory: only create group links after approval ( #7356 )
...
* directory: only create group links after approval
* update test
* update messages
* diff
* get group and link in one query
* reduce database reads
* better errors
* typos
* query plans
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-08-18 16:35:37 +01:00
Evgeny and Evgeny @ SimpleX Chat
e1a349b90f
core: support contact addresses with DR keys, service requests ( #7310 )
...
* core: use double ratchet keys in contact address (#7278 )
* core: use double ratchet keys in contact address
* use PQ from the first message
* query plans
* update simplexmq
* api to rotate keys, option to show full links in CLI
* shorter description
* ui: add error parameters
* disable DR in addresses
* core: parameter for create address command to configure ratchet keys
* add pqRatchet param to address-related commands
* query plan
* fix parser
* fix kotlin
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
* core: contact request rejection and service requests (#7292 )
* update simplexmq
* implement service requests and rejections
* tests
* migration
* fix migration
* add api event and response
* bot api, postgres migration
* nix shas
* bot types, rename property
* update bot type
* sign service requests
* update bots api
* query plan
* update plan
* update simplexmq
* fix test, update bot api
* fix bot api
* resolve name for service request
* refactor
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
* update simplexmq
* update simplexmq
* test delays
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-08-01 12:51:03 +01:00
Evgeny and Evgeny @ SimpleX Chat
adb3fb8cb2
core: render web previews for channels ( #7029 )
...
* plan: web previews for channels
* types for recipient side to support channel web previews and domain names
* fix
* migrations
* update schema and api types
* update schema
* rename migrations
* core: render channel preview data
* core: render channel preview data in relays
* website: use cpp to inject JS functions
* JSC files
* remove directory.js
* channel preview renderer
* Revert "cli: fix redraw slowness (#6735 )"
This reverts commit b801d77c74 .
* sample channel page
* default avatar
* rename options
* better layout
* layout
* images
* some fixes
* tails
* markdown colors
* image sizes
* reactions
* fix reactions
* fewer avatars
* forward icon
* command to change group access parameters
* view public group access changes in CLI
* media metadata color
* ios: group web access ui
* update ui
* add init
* kotlin, labels
* update page
* update relay base URL
* fix
* ios update channel web page info
* update kotlin layout
* use cards
* update layout
* use domains for relay data, path is fixed
* update embed code
* fix bots api
* include only history items and senders
* update preview JS/HTML
* show different error if link is different
* remove stale json files
* better layout
* layout fixes
* improve layout
* improve layout
* update embed code
* web cta
* better layout
* buttons
* layout
* paddings
* desktop cta
* desktop cta
* cta layout
* fonts
* paddings
* paddings
* more paddings
* copy link
* read more
* hide avatar and placeholder when all messages are from channel
* color scheme
* fix color
* improve
* layout
* welcome message
* dark mode colors
* padding
* font size
* overscroll
* font
* logo on button
* better join
* buttons
* refactor
* another logo
* text
* desktop button
* button text
* center
* fix svg
* padding
* smaller gap
* render channel on any message changes etc
* fixes
* atomic file updates, escape attributes
* fix tests
* more tests
* more efficient rendering
* improve security
* sanitize links, include mentioned members
* schema
* fixes
* improve rendering
* fix showing correct subscribers count
* fix member names
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
2026-06-16 14:36:55 +01:00
Evgeny Poberezkin
37f7ed3126
Merge branch 'stable'
2026-06-16 07:40:58 +01:00
ad23da63d0
core: supporter badges using anonymous BBS credentials ( #7040 )
...
* core: supporter badges using anonymous BBS credentials
* badges in profiles
* badge in profiles
* process badges
* update simplexmq
* update simplexmq
* change types
* fix migration
* migration
* update simplexmq
* fix bot API, schema
* fix postgresql build
* refactor
* postgresql schema
* correctly set badges in all cases
* badges ffi
* plan, bot types
* FFI
* FFI: export badge symbols
* add extra field
* refactor badge types to GADT
* configurable badge key
* add badge to profile, test
* ui: badge images
* generate badge key and sign badge
* badge sign in CLI
* fix commands, ui
* rename badges
* Binary
* image size, migration
* update badge images, add public key
* send badges in more cases
* update UI, tests
* bot types, schema
* postgres schema
* tone down badges
* revert formula
* refactor badges
* smaller badges
* badge position
* better badge position
* simpler
* position
* move position
* update simplexmq
* show badge after name
* badge layout
* fix badge
* debug badge height
* shift badge
* fix badge in member name
* bigger badge
* badge layout
* differentiate badge colors
* more avatars for the user's profiles
* refactor
* remove color filter
* alerts
* multiple keys, old expired
* use new BBS api
* update badge keys, bot api
* presentation header
* simplify
* parser
* update iOS images
* update public keys
* query plans
* update simplexmq
* refactor badge types
* simplexmq
* bot api types
* update simplexmq - commoncrypto flag
* update simplexmq
* pass commoncrypto flag to simplexmq in nix iOS build
* ios ui
* update core library, fixes
* badge layout
* badge size
* badge gap
* remove extensions
* simplify
* share badge in more events, reverify badge if verification failed
* larger files with badges
* allow sending larger files
* simpler
* update simplexmq
* better decoder for badge keys
* update simplexmq
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
Co-authored-by: shum <github.shum@liber.li >
2026-06-15 22:25:08 +01:00
Evgeny and sh
fe6b5186e1
core: update simplexmq (receiving services) ( #6212 )
...
* core: update simplexmq
* update agent api
* update simplexmq
* core: add flag to User to use client services
* update simplexmq
* cli command to toggle service for a user
* test, fix
* query plans, core/bot api types
* remove local package reference
* increase server queue size in tests
* show client service status in users list
* update query plans
* cli: fix redraw slowness (#6735 )
* cli: add pland to fix redraw slowness
* updtae doc
* cli: decouple key reading from processing via TQueue
* schema and bot types
---------
Co-authored-by: sh <37271604+shumvgolove@users.noreply.github.com >
2026-05-25 10:37:13 +01:00
spaced4ndy
828b8e8715
core: single relay checks interval ( #6952 )
2026-05-08 09:12:33 +00:00
spaced4ndy
6f8a07e4ea
core, ui: relay management - add, remove relays, synchronization to relay list ( #6917 )
2026-05-08 07:19:16 +00:00
8f66a0cc98
core: fix relay request worker retry limit ( #6931 )
...
* core: fix relay request worker retry limit
* update plan
* update plan
* update plan
* wip
* schema
* wip
* wip
* schema
* update
* remove comment
* rework
* schema
* update
* schema
* update
* plans
* corrections
* add 1 second
* remove + 1
* add +1 to schedule
* changes
* updated schemas
---------
Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com >
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com >
2026-05-02 11:31:03 +01:00
spaced4ndy
a14a66db14
core, ui: chat relay test ( #6736 )
2026-04-02 15:36:36 +00:00
spaced4ndy
b97868d79f
ios: channels and chat relays ui ( #6634 )
2026-03-05 09:13:24 +00:00
spaced4ndy and Evgeny Poberezkin
bd8ba4d5c6
core: chat relays protocol ( #6383 )
...
* core: chat relays protocol wip
* types, notes
* remove file
* removal protocol
* schema
* status
* update
* recovery
* update
* formatting
* rename
* more types
* comment
* more docs
* decrease number of steps
* format
* correct
* update
* update protocol
* update
* typo
* todo
* update doc
* update
* update
* remove added
* update
* update
* XGrpRelayReady
* link to chat relays
* update
* remove from protocol
* update
* json
* wip
* remove comment
* wip
* update
* wip
* wip
* update
* wip
* wip
* plans
* better view
* fix
* fix
* relay acceptance
* rework api
* add relays to link
* comment
* active on con, fix send
* comments
* direct in group plan
* prepare
* member connection wip
* comments
* member connection wip
* fix forwarding
* introduce moderators to new member
* enable relay tests
* plans
* security objectives
* refactor
* add to threat model
* stress test wip
* stress test wip
* Revert "stress test wip"
This reverts commit acde8a1fb3 .
* Revert "stress test wip"
This reverts commit 6435808438 .
* remove stress test
* improve output
* invert relay fkey
* postgres schema
* comments
* group in progress, remove auto-select relays commented code
* comments
* corrections
* comment
* lint
* redundant import
* core: chat relay request worker (#6509 )
* update plans
* strict tables
* core: update group link asynchronously with relay link (#6548 )
* update simplexmq
* docs: connection to chat relays rfc (#6554 )
* add test for 2 relays (doesn't pass)
* create unknown member in same transaction as checking
* fix relays choosing different memberId (XContactRelay)
* plans, api
* use same incognito profile for relays, connect concurrently, save correct link for plan
* test
* don't duplicate items on group connection
* check relay record exists when joining
* use mapConcurrently when adding relays, update schemas
* fix multi-relay join for postgres (savepoint)
* core: async retry connection to chat relays (#6584 )
* update simplexmq
* fix api tests
* prefer throwing temp error on connection
* check group relays when deleting from configuration
* relay_request_err_reason
* relay role
* rename, fix syntax
* plans
* rename, style
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com >
2026-01-21 13:19:06 +00:00
spaced4ndy
d29fd2dfa6
Merge branch 'master' into chat-relays
2026-01-05 11:31:15 +04:00
Evgeny
59b31e2631
core: compress commands in remote connection ( #5776 )
...
* core: compress commands in remote connection
* backwards compatible compression
* show in CLI if compression is enabled
* use aroundWith for ghc 8.10.7 compatibility
* skip bot API tests in GHC 8.10.7
2025-12-30 07:49:17 +00:00
spaced4ndy
ae0dec480d
Merge branch 'master' into chat-relays
2025-12-12 14:04:31 +04:00
spaced4ndy and Evgeny Poberezkin
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
67461d6971
core: manage chat relays initial ( #6369 )
2025-10-20 08:12:45 +00:00
spaced4ndy and Evgeny Poberezkin
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
Evgeny
65e215509b
core: subscribe all queues ( #6347 )
...
* core: subscribe all queues
* tests, plans, fixes
* enable tests
2025-10-09 22:46:42 +01:00
spaced4ndy
17a0c1b53d
core: delivery in channels ( #6278 )
...
* core: channels delivery (#6274 )
* core: optimize member retrieval query for postgres (#6280 )
* core: optimize reading only relays for sending in channels (#6282 )
* fixes
* plans
2025-10-01 15:53:27 +00:00
spaced4ndy and Evgeny Poberezkin
c782e6762b
feature branch: optimize subscriptions ( #6297 )
...
* core: remove contact merge, obsolete group code (#6292 )
* core: remove file connections (#6298 )
* core: rename migration
* corre: remove unused contacts merged event (#6308 )
* core: optimize subscriptions (#6304 )
* core: remove conn ids map from subscriptions (#6309 )
* rename migration (#6316 )
---------
Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com >
2025-09-28 21:31:59 +01:00
Evgeny Poberezkin
e9961ebb8e
Merge branch 'stable'
2025-09-15 14:04:11 +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
spaced4ndy
382241fe3e
core: rework synchronous group forwarding in receive loop into asynchronous delivery tasks ( #6178 )
2025-09-12 13:22:34 +00:00
Evgeny
7988463a47
core: store/get whether short link has large data set ( #6120 )
...
* core: store/get whether short link has large data set
* ui
* core: set shortLinkLargeDataSet flag in updated links
* remove largeLinkData
* remove instance
2025-07-28 16:49:13 +01:00
Evgeny
05dba0bda2
core: compress link data ( #5995 )
2025-06-18 07:39:31 +01:00
Evgeny and spaced4ndy
e3e9ae2ffd
core, ui: create all links with short links, config parameter to use large link data, use short link as address in user profile ( #5991 )
...
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com >
2025-06-17 15:56:33 +04:00
Evgeny
ee2ea152dc
core: refactor types for DB entity ( #5945 )
2025-05-24 21:13:10 +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
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
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 and spaced4ndy
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 and spaced4ndy
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
spaced4ndy and Evgeny Poberezkin
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 and Evgeny Poberezkin
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