Commit Graph
6772 Commits
Author SHA1 Message Date
spacedandy-agents-simplex a7886e4eab ci: open another chat before the desktop Claude test's name search
Desktop always lists the chat open in the right pane, so with ci_channel open its Directory row was rightly hidden and step C.3 had nothing to click (run 39001925386). Also runs the iOS names session again: that run's backend stopped when the directory could not connect to a channel's link.

[claude-test] [ci-backend]
2026-10-17 04:58:29 +00:00
spacedandy-agents-simplex 3e3e27da38 ci: scope the iOS Claude sessions to the names cases again, with the setup step fixed
One-hand: the names setup, N1-N11, the New chat cases with names and the full search in both lists, checking that a row opened from goes away; N11 uses #cinews_weekly so the top bar's N1 still finds cinews unopened. Top bar: N1, N4 and the full search on the chat list.

[claude-test] [ci-backend]
2026-10-17 04:16:02 +00:00
spacedandy-agents-simplex 868033ce68 ci: say in the iOS prompt that a server's roles show once it is used for new connections
A session found no role pickers on the names server it added, so no name resolved and the names cases were blocked (run 38993332306); a later session added the server twice.
2026-10-17 04:15:55 +00:00
spacedandy-agents-simplex b3d5fa92b7 ci: check in the desktop Claude test that a joined channel's Directory row goes away 2026-10-17 04:15:53 +00:00
spacedandy-agents-simplex 0c66b087ad ci: check in the iOS smoke test that a joined channel's Directory row goes away
The smoke test searches ci_cards by its name, joins it from its Directory row, and then expects the chat in the results and no Directory row for it.
2026-10-17 04:15:52 +00:00
spacedandy-agents-simplex 4e01032a2e android, desktop: hide a search result once the chat opened from it is listed
The same change as on iOS: the rows without a local chat look it up again when a connection started from one ends, so a group or channel opened from its row is no longer listed twice until the next search.
2026-10-17 04:15:50 +00:00
spacedandy-agents-simplex 1c24109730 ios: hide a search result once the chat opened from it is listed
A result's local chat was looked up only when the search ran, so a group or channel opened from its row stayed listed twice, as the chat and as the row, until the next search (a test run joined cinews_digest from the Directory part and saw both). The rows without a chat look it up again when a connection started from one ends.
2026-10-17 04:15:47 +00:00
spacedandy-agents-simplex 7165bb7d02 ci: base the desktop search test's part C on what the chat list lists
ci_channel's description matches "seed", so the list showed it and the step's premise was wrong; a name narrows the list instead. Desktop keeps the open chat in the filtered list, so "No chats found" can't be required while a chat is open (run 38994540038).
2026-10-17 03:01:18 +00:00
spacedandy-agents-simplex 03f488c85c ci: add joining and duplicate checks to the desktop Claude search test
Part C joins a channel from its Directory row, then checks that the joined chat is not listed again by the directory when the local list shows it, that it is when the list doesn't, the empty result, an unregistered name, and that only the Search key resolves names. The session gets 120 turns for it.

[claude-test:desktop] [ci-backend]
2026-10-17 02:20:28 +00:00
spacedandy-agents-simplex 1f702e29a3 ci: scope the iOS Claude sessions to the names cases and the full search
One-hand: the names setup, N1-N11, the New chat cases with names, the full search in both lists, G3 again, and whether a row stays next to the chat opened from it; top bar: N1, N4 and the full search on the chat list.

[claude-test:ios] [ci-backend]
2026-10-17 02:02:15 +00:00
spacedandy-agents-simplex 78be139bc8 ci: fit the iOS plan's D15 and W4 to both layouts, and time held searches in the prompt
D15 said the search bar is above the onboarding pages, which holds only with the top bar; W4 assumed a contact matches. A session tapped the pencil for G3 after the held search had already failed (app log), so the prompt asks for the action as the next command.
2026-10-17 02:02:00 +00:00
spacedandy-agents-simplex 5399b6e133 ci: scope the iOS Claude sessions to the online search plan without names
One-hand: the chat list, directory results, de-duplication, New chat and regression cases; top bar: the cases this layout draws differently. The names cases run in a separate session.

[claude-test] [ci-backend]
2026-10-16 22:36:34 +00:00
spacedandy-agents-simplex f1e4b45701 ci: give the desktop smoke test's time with the backend's searches 2026-10-16 22:36:14 +00:00
spacedandy-agents-simplex b8fab259da ci: describe the desktop search checks in the README
Runs the scripted tests of both apps with the test backend: [app-ci] [ci-backend]
2026-10-16 21:02:15 +00:00
spacedandy-agents-simplex 049cff88c7 ci: restore the desktop Claude search test
With the test backend, the Claude job builds the app against the test directory, sets it up at the chat list and gives Claude the online search test; without it, the onboarding path stays.
2026-10-16 21:02:01 +00:00
spacedandy-agents-simplex bad6eda33d ci: point the desktop app at the test directory and restore the smoke test's searches
With the test backend, the app is built against the test directory's address, and the smoke test runs a new search case: after the backend case's checks, in both layouts, "Search in Directory" and the full search with a SimpleX name, and with the toolbar at the bottom the full search in the New chat sheet.
2026-10-16 21:01:30 +00:00
spacedandy-agents-simplex 0176a83299 ci: restore the desktop backend's search request probe
A fresh client sends the directory the search the app sends and follows the cursor to the last page: each result must arrive once with its whole image, over at least two pages. The message search stays.
2026-10-16 21:01:29 +00:00
spacedandy-agents-simplex 37616294a4 ci: describe the iOS directory search checks in the README 2026-10-16 21:01:28 +00:00
spacedandy-agents-simplex 183d0d5356 ci: restore the iOS device test plan for online search, with its prompt and scope
The Claude sessions run the online search plan again: the cases, what each session covers per layout, the prompt's directory search, names and report sections, and the session's start state after the smoke test's searches.
2026-10-16 21:01:26 +00:00
spacedandy-agents-simplex f53eb6ae87 ci: point the iOS app at the test directory and restore the smoke test's search checks
With the test backend, the app is built against the test directory's address, and the smoke test goes on to search it: the Directory header above the results and their avatars in both layouts, the chat list's cards shown while typing and hidden under the results once the profile has a conversation, and "Show more" disabled while its page loads.
2026-10-16 21:01:22 +00:00
spacedandy-agents-simplex 4dc8c357d4 ci: restore the iOS backend's search request probes for directory search
A fresh client sends the directory the search the app sends, and must find ci_group and ci_channel; then "ci seed" and "ci avatar" are followed page by page into seed.md, with each page's entries and size against maxServiceBodyLength. The message search stays. The seeded entries name the cases they serve again.
2026-10-16 21:01:17 +00:00
spacedandy-agents-simplex cbb2480b4e ci: pass the branch name to jq as an argument in the iOS artifact lookup
The branch name was part of the jq program text, so a branch named to close the string could select an artifact from a fork or another branch. Same fix as the desktop lookup.
2026-10-16 21:00:40 +00:00
spacedandy-agents-simplex c67ea513f3 ci: create the iOS backend's probe user before its first named command
A client started with -s gives that server every role, names included, only to the users that exist when it starts, so the name probe's first connect plan on a new database failed with NO_NAME_SERVERS (run 38904976359). The user is now created by a plain run first, as every other peer is and as desktop's backend does.
2026-10-16 21:00:39 +00:00
spacedandy-agents-simplex 17f3011028 Merge branch 'master' into f/directory-search
# Conflicts:
#	apps/multiplatform/product/gaps.md
2026-10-16 20:59:57 +00:00
spaced4ndy 5a80713699 ci: test the desktop app on Linux runners on request, with an optional Claude session (#7736) 2026-10-16 17:34:43 +00:00
spaced4ndy 7c5b6bb3d7 ci: test the iOS app in the simulator on request, with an optional Claude session (#7737) 2026-10-16 17:33:50 +00:00
sh aaa388e570 desktop: add emoji picker (#7708)
* desktop: add emoji picker data and generator

* desktop: emoji picker in compose field

* desktop: document compose emoji picker
2026-10-16 14:34:04 +01:00
spacedandy-agents-simplex 41e9c1284c android, desktop: hide the chat list's banners and cards with one showsCards condition, as iOS does 2026-10-16 13:50:13 +04:00
spacedandy-agents-simplex 48ca4d11ac android, desktop: show the Names and Directory headers above their results in the New chat sheet with the one-hand UI 2026-10-16 13:50:13 +04:00
spacedandy-agents-simplex b402bf4b3e android, desktop: hide the banners and cards above the chats while online search results are shown
While a "Search in Directory" or Search key search runs or shows results, the chat list leaves out its banner slot, the reachable toolbar card and the connect cards. Typing alone, which only filters the chats, keeps them, and they come back when the results go.
2026-10-16 13:50:13 +04:00
spacedandy-agents-simplex 05b8f33f81 android, desktop: show the member and subscriber counts of directory results in the secondary text size
The count used typography.caption, which is 18 sp in this theme, larger than the description above it. It now uses body2, as the other subscriber counts do.
2026-10-16 13:50:13 +04:00
spacedandy-agents-simplex 831396edf6 android, desktop: show the Names and Directory headers above their results with the one-hand UI
The one-hand chat list is reversed, so a header emitted before its rows was drawn below them. searchPart puts the header after the rows in that layout, as the iOS fix does; the rows keep their order, nearest the search field. The onboarding results list, whose first item is now a keyed row, scrolls to its start when name results arrive, since the list would otherwise hold a directory row in place and leave the names below it. Spec links into ChatListView.kt refreshed.
2026-10-16 13:50:13 +04:00
spacedandy-agents-simplex 01eb96c841 ios: show "Show more" in the secondary colour while the next page loads
The row was disabled while loading but kept its primary colour, so it looked tappable. The Kotlin app already does this.
2026-10-16 13:50:13 +04:00
spacedandy-agents-simplex 78627445dd ios: hide the chat list's banner and cards while online search results are shown
After "Search in Directory" or the keyboard's Search key, the results are shown without the Wefunder or badge banner, the one-hand UI card and the "New 1-time link" / "Paste link / Scan" cards. Typing still keeps them, as it only filters the chats, and they come back when the search text is cleared.
2026-10-16 13:50:13 +04:00
spacedandy-agents-simplex ce59e9dc2d ios: show the Names and Directory headers above their results with the one-hand UI
The one-hand chat list is flipped, so a header emitted before its rows was drawn below them. searchPart puts the header after the rows in that layout; the rows keep their order, nearest the search field. Spec links into ChatListView.swift refreshed.
2026-10-16 13:50:13 +04:00
sh fba65d98ee nodejs: ignore local libs directory (#7731) 2026-10-16 09:01:13 +00:00
EvgenyandEvgeny @ SimpleX Chat 5dfe7c1f0e website: downloads page (#7728)
* website: downloads page

* bigger headings

* translations

---------

Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com>
2026-10-15 22:10:59 +01:00
EvgenyandEvgeny @ SimpleX Chat 41f0c429b3 website: update home page (#7724)
* website: update home page

* update

---------

Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com>
2026-10-15 12:50:38 +01:00
spaced4ndy f8cf7266a7 fix compilation 2026-10-15 11:53:26 +04:00
EvgenyandEvgeny @ SimpleX Chat e8c98e8231 core, ios: fix notifications for forwarded and channel messages (#7706)
* plan: add notification flag for forwarded messages

* core, ui: fix notifications for forwarded and relay messages

* improvements

* only send duplicate message event in NSE

* query plans

---------

Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com>
2026-10-15 08:41:57 +01:00
Simplex Operations f5b13f608f packages: release nodejs 7.1.0-beta.6.3 (#7720) 2026-10-15 06:18:30 +00:00
Narasimha-sc 23ca3ea42f desktop: hide SimpleX address and chat preferences rows with no profile and no mobile in use (#7717) 2026-10-15 05:37:37 +01:00
Narasimha-sc 000258224c desktop: fix crash in SimpleX address screen when there is no profile (#7679)
* desktop: fix crash in SimpleX address screen when there is no profile

* desktop: close SimpleX address screen when there is no profile

* desktop: rerun address screen self-close when its modal is reused or the stack changes

* desktop: close SimpleX address screen only when it is the top modal

* plans: correct address no-profile crash triggers and fix description

* plans: correct address no-profile crash fix description and verification

* plans: tighten address no-profile crash wording

* plans: add self-destruct trigger to address no-profile crash

* plans: qualify self-destruct trigger on desktop

* plans: drop desktop-only title from address no-profile crash

* plans: no connected mobile, not no mobile

* spec, product: document isLastModal and address screen without profile

* plans, spec, product: plan sections, address row spec, GAP-08 and GAP-09

* spec, product, plans: fix GAP-08/09 wording, table placement, ModalManager line

* spec, product: GAP-08/09 accuracy, gap count, clickable ModalManager location

* product, plans: GAP-09 at the level the code supports; qualify picker auto-open

* spec, product, plans: fix GAP-09 locations, stale line links, wording

* spec, product, plans: update plain-text line numbers; GAP-09 read wording

* plans: name the picker auto-open condition

* spec, plans: wording; security note

* plans: self-destruct did not crash on Android master; not a trigger

* plans: self-destruct path possible but unconfirmed; Android recovers silently

* spec, product, plans: drop GAP-09 and unrelated line refreshes

* plan: Android self-destruct path confirmed in logcat

* desktop: close Chat preferences screen when there is no profile, as the address screen does
2026-10-14 22:14:55 +01:00
EvgenyandEvgeny @ SimpleX Chat c07d28681f website: update cf links and page (#7722)
* website: update cf links and page

* noopener

---------

Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com>
2026-10-14 21:42:51 +01:00
EvgenyandEvgeny @ SimpleX Chat 1b980de198 website: page events (#7721)
* website: page events

* rename

---------

Co-authored-by: Evgeny @ SimpleX Chat <259188159+evgeny-simplex@users.noreply.github.com>
2026-10-14 20:59:56 +01:00
Evgeny Poberezkin 4c09af0619 tests: fix tests compilation for postgres 2026-10-14 20:08:33 +01:00
sh 489b07ff4f ci: record package releases in simplex-chat-libs (#7719)
* ci: use default registries for empty variables

* ci: drop package publish tags

* ci: record releases in simplex-chat-libs

* ci: skip recorded versions in publish plan

* nodejs: raise default test timeout for migrations

* nodejs: print download progress without console.error

* nodejs: use the default timeout in migrating core tests
2026-10-14 15:10:31 +00:00
spacedandy-agents-simplex ba5f7bd9d7 review: round 1 fixes
R1-1: state OnlineSearchModel's main-thread premise, which iOS's
@MainActor carries and Kotlin otherwise leaves implicit.
R1-2: state the @Transient mechanism that keeps the directory link
check from being bypassed or deferred.
Spec line references into the two files shift by one accordingly.

Run: 003-kotlin-directory-search, review round 1
2026-10-14 14:31:55 +00:00
spacedandy-agents-simplex 7627e2d4eb android, desktop: refresh stale line references in spec documents
CODE.md asks for every line reference in an affected spec document to be
updated. Most of these were already stale on master. Numbers only: no
wording changes. Kept apart from the feature documentation so it can be
reviewed or dropped on its own.

Run: 003-kotlin-directory-search, slice 7
2026-10-14 14:08:04 +00:00
spacedandy-agents-simplex 33bae2658a android, desktop: document online search in spec and product docs
apps/multiplatform/CODE.md requires spec and product updates with every
code change. Mirror the iOS online search docs in the Kotlin docs' own
formats and numbering, stating where Android and desktop differ, and
fix the ConnectProgressManager signatures the branch's owner parameter
had made stale.

Run: 003-kotlin-directory-search, slice 6
2026-10-14 13:53:11 +00:00