Commit Graph
3964 Commits
Author SHA1 Message Date
shum 34bc8f8963 store: accept dev_keys with test payments 2026-10-27 08:58:09 +00:00
shum a4ee5036c3 store: log web handler exceptions as records 2026-10-27 08:58:09 +00:00
shum ea61be175f store: send Stripe idempotency key and order ref 2026-10-27 08:58:08 +00:00
shum acfa356f80 store: credit late and overpaid crypto by share 2026-10-27 08:58:08 +00:00
shum 14ac945fb9 store: clamp due and report closed paidInFull 2026-10-27 08:58:08 +00:00
shum 98effe5358 store: refuse a site build that is not there 2026-10-26 16:10:35 +00:00
shum 0d882b9eb5 store: serve each site on its own port 2026-10-26 16:10:31 +00:00
shum e2a59c21bd scripts: add a dev setup with a local chain 2026-10-26 15:25:29 +00:00
shum e97c79b8c5 store: merge names registration with master 2026-10-26 14:10:23 +00:00
shum 02b828b915 core: merge master into names registration 2026-10-26 14:10:03 +00:00
Evgeny @ SimpleX Chat c3b709a807 docs: CLAUDE.md importing the contributing and CI guides (#7871) 2026-10-26 10:34:31 +00:00
Evgeny @ SimpleX ChatandEvgeny Poberezkin 7810fc4752 core, ui: terminal chat layout for LLM and service bot chats (#7811)
* plan: UI improvements to improve LLM usage via SimpleX

* core, ui: types for chat layout

* core, ui: settings for alternative terminal-like chat layout for managing LLMs or other service bots

* plan: message priority

* fixes

* query plan

* update plans

* remove silent messages plan

* rename migrations

* implement layout

* amend

* fix

* fix

* fix

* improve

* time on the right, sender name in blue

* no avatar in direct chats

* better previews

* update, fixes

* update

* time gap

* changes

* ui: terminal layout line heights, gaps and time placement

* ui: simplify terminal meta layout, correct its docs and tests

* ui: right-to-left emoji edge in terminal rows, time placement tests

* android, desktop: raise Kotlin compiler memory to 4 GB

* ui: terminal captions as follow-up text, classic event separators

* ui: terminal media edge and overlay time, plan decisions

* ui: simplify terminal row separation, correct doc line references

* ui: keep the media time inside terminal rows, restore caption conditions

* ui: terminal heading capitals at large font scales, idle live message time

* ui: rename the classic voice-with-text flag, correct the meta copy docs

* ui: smaller terminal layout diff, sender gap and meta names

* ui: terminal row as tall as the media time

* docs: remove the chat layout section from the bots readme

* docs: shorten the terminal layout section of the chat view

* core: address settings API as on master, /auto_accept reads the stored layout

* ui: smaller terminal headings

* ui: classic sender rows and avatar rule as on master

* ui: classic reply quote text colour as on master

* ios: keep the chat layout setting with other UI settings

* ui: go-to button at the end of terminal rows, no gutter in direct chats

* ui: forwarded arrow on the header line of terminal rows, above the time

* ui: forwarded arrow centred above the time line of terminal rows

---------

Co-authored-by: Evgeny Poberezkin <evgeny@poberezkin.com>
2026-10-25 18:03:11 +00:00
Evgeny @ SimpleX Chat a5cf718b3c core, tests: fix flaky tests; use simplexmq with one thread per agent worker (#7812)
* tests: fix group tests

* fix test

* fix

* fix delivery worker fix

* watch ci

* debug

* fix delivery worker not forwarding to moderators during host acceptance

* add script, update simplexmq

* debug lines

* more debug

* rerun

* debug

* fix, debug

* simplexmq

* simplexmq

* fix

* debug: log member-not-found call sites, restore hang diagnostics, use simplexmq fork

* tests: do not prompt for migration confirmation in strict tables test

* ci: run tests with one capability; simplexmq: end inactive sessions without closing under readers

* ci: run tests on all capabilities

* remote: close the HTTP2 client before its TLS connection

* cabal: use warp that kills timed out connection threads without closing their sockets

* remove diagnostics: member-not-found log, thread dump, CI watchdog; update simplexmq

* badge-service: prevent interleaving of concurrent log lines

* tests: wait for badge group broadcasts before closing members

* tests: log contact connected events received twice

* tests: log member connected events received twice

* core: use simplexmq that logs connections emitting CON twice

* core: keep the team contact above notes in a new user's chat list

* ci: skip macOS and Windows builds while hunting a Linux-only flake

* core: use simplexmq that logs the history of connections emitting CON twice

* tests: remove the logging of connected events received twice

* ci: run macOS and Windows builds again

* core: use simplexmq that runs one thread per agent worker

* core: use the merged simplex-chat/wai warp and the updated simplexmq

* core: use the merged simplexmq

* core: update simplexmq

* core, badge service: comment single writes of terminal segments and log lines
2026-10-25 15:37:06 +00:00
Narasimha-sc d5bab6d9d7 desktop: stop the gsettings theme monitor when the app exits (#7747)
* desktop: stop the gsettings theme monitor when the app exits

On Linux the theme detector library starts `gsettings monitor` to
follow the system theme and never stops it. The process outlived the
app, one per run, each holding a D-Bus connection until the next
theme change. A shutdown hook now stops it.

* plans: gsettings theme monitor left running after the app exits

* desktop: install the gsettings shutdown hook on Linux only

* plans: correct the Ctrl-C note for the gsettings monitor

* plans: gsettings ignores SIGPIPE; the monitor lives until killed or logout
2026-10-24 22:56:23 +01:00
shum 957b362889 scripts: name both sites' paths after the site 2026-10-24 12:46:32 +00:00
shum 4f07245d65 scripts: run the contract cases from the submodule 2026-10-24 12:42:46 +00:00
shum bc44017d7d scripts: build the names site into the image 2026-10-24 12:42:46 +00:00
shum 19975bca9b store: add the names webapp as a submodule 2026-10-24 12:41:34 +00:00
shum dc56f03919 store: allow the webapp's frame script in CSP 2026-10-24 01:24:26 +00:00
shum c4196a03b0 scripts: run the webapp's community cases 2026-10-23 18:40:58 +00:00
shum 78aa50dc78 store: document the signed terms 2026-10-23 14:47:15 +00:00
shum b4ebaaab10 store: refuse orders under changed terms 2026-10-23 14:47:15 +00:00
shum 12427ee0a2 store: answer the agreed terms in the view 2026-10-23 14:19:56 +00:00
shum 45302749f5 store: sign and store the agreed terms 2026-10-23 14:17:01 +00:00
shum de991bc53c store: add the agreed_terms column 2026-10-23 14:03:33 +00:00
shum 80d0721fa6 store: document terms and community names 2026-10-23 13:40:06 +00:00
shum 66fbc457ab store: answer community in the registration view 2026-10-23 13:40:06 +00:00
shum 93e34988a6 store: answer community and terms in search 2026-10-23 13:40:06 +00:00
shum d9b26ad997 store: read the terms and community names 2026-10-23 13:40:06 +00:00
sh 31c4b68189 ui: don't reconnect calls with peers before v22 (#7785) 2026-10-23 10:06:33 +01:00
shum 3d0a9fc695 store: merge the contract run and dev issuer keys 2026-10-23 04:41:30 +00:00
shum 31af674855 store: say each webapp case is its own client 2026-10-23 04:36:32 +00:00
shum b3a3c12a6f store: test that boot checks the node's chain id 2026-10-23 04:13:50 +00:00
shum ba2c9df921 store: say what dev_keys refuse and the run needs 2026-10-22 23:36:53 +00:00
shum ce7917f996 store: check the node's chain id for dev_keys 2026-10-22 23:36:32 +00:00
shum bd6f71c705 store: warn at boot naming the dev key indexes 2026-10-22 23:36:32 +00:00
shum 51d4a1f448 store: refuse dev_keys beside a payment provider 2026-10-22 23:36:32 +00:00
shum 43605ac3cd scripts: sign the names run with a dev issuer key 2026-10-22 23:18:02 +00:00
shum 39257ab8a1 store: trust issuer dev_keys on the local chain 2026-10-22 23:17:58 +00:00
shum 39a4f0b095 store: answer a null deepLink for an unparsed link 2026-10-22 23:17:58 +00:00
shum dbd21b8b22 store: say how to run the webapp cases 2026-10-22 18:00:19 +00:00
Narasimha-sc cfcce1b43c ui: create one group on a double click of Create group (#7759)
* desktop: open a pending connection's "Learn more" and "Incognito" pages once

On desktop the connection view stays clickable in the center pane, so each
click on these rows pushed another modal onto the right pane. Close the
right-pane modals first, as ChatView does when the connection opens. The page
is closed and shown again in one event, so its content is keyed by its
ModalData to start fresh.

Desktop only: on Android the view can itself be the open modal of the shared
manager ("Set contact name"), and the new page already covers the row.

Fixes #6270

* ui: open a modal once when its button is double-clicked

A modal slides in over 250 ms, and until it covers the button that opened it the button still takes clicks, so a double click opened two copies (left-pane pages and most stacked center and right-pane pages on desktop, animated modals on Android). When a modal opens, the page it covers draws an empty pointerInput box over itself while it slides out; when a pane's first modal slides in, the empty page sliding out covers the view under the pane. The page sliding in already takes clicks, and nothing is blocked when a page closes.

* ui: add isTopModalOpen, which ignores modals that are sliding out

A modal closed with animation stays in modalViews until it has slid out, and isLastModalOpen counts it. A check-then-closeModal() on it would close the modal under it. Uses the same index as isLastModal; isLastModalOpen and its callers are unchanged.

* desktop: don't open a second badges page or profile form

These buttons stay clickable on desktop while their page is shown in another pane, so each click opened another copy:
- "Support SimpleX" in the chat's large-file and badge alerts (Badges on the right): the alerts skip while Badges is open, on desktop only, as on Android the page covers the button;
- "+ Add profile" in Your chat profiles and "Create chat profile" in the picker (form in the center): skip while the form is on top, keeping what was typed, before asking for authentication; the picker row still hides the picker.

* desktop: replace a page of the same kind on top instead of stacking another

These buttons stay clickable on desktop while their page is shown in another pane, so each click pushed another copy:
- the chat banner's bio "Read more" (right pane);
- a markdown file clicked in a support chat (viewer in the center);
- message "Info" in the main chat while a support or reports chat is open on the right.
Their content depends on what was clicked and the pane can hold other pages (a support chat), so a page of the same kind on top is replaced. The new page is drawn where the old one was, so its content is keyed by its ModalData to start fresh. The markdown file and Info load on a background thread; their close and show now run on the main thread. The markdown check is desktop only, as on Android the viewer covers its file once it has loaded.

* plans: a page opens again on every click of its button (#6270)

* ui: create one group on a double click of Create group

"Create group" creates the group, opens it and only then closes its
page, and the core does not deduplicate, so a double click created two
groups. The page now ignores a click while its create is in progress,
on desktop and Android.

* plans: a double click on "create group" creates two groups

* plans: D2 is valid at 80 ms only

* ui: ignore a click on Create group until its page has closed after a create
2026-10-22 18:48:32 +01:00
shum 9cdc317b8a store: write each log line in one call 2026-10-22 17:36:23 +00:00
shum bc53ecda46 store: say late Monero needs a threshold of 1 2026-10-22 16:56:47 +00:00
shum 2a526546e2 store: say the BTCPay key reads rates 2026-10-22 16:56:30 +00:00
shum 7842ffe705 store: refuse a funded holder's refund by bhFunded 2026-10-22 16:56:27 +00:00
shum cc9b8b90f7 store: merge the refund command 2026-10-22 16:51:53 +00:00
shum b6e1ef58c1 store: merge the spend endpoint 2026-10-22 16:48:37 +00:00
shum 98e3fb4520 store: say how late money is credited or alerted 2026-10-22 16:34:16 +00:00
shum 2ae70f7136 store: keep coin units with the providers 2026-10-22 16:34:07 +00:00