Repository navigation
[pull] master from gradido:master - #172
Merged
Merged
Conversation
Bernd, 30.09.2026 (E-055): contact from a group should be quick -- say during
a video call running in the Jitsi app in front. Tapping another member's name
in a group (its member list, or over their message) now opens their contact
window over the group's, and "Hallo <username>" already stands in the field
wherever the two have never written: a first word is one tap on the arrow.
- Somebody who is no contact yet gets the window's first form instead of the
send form: face, name, community and address, the thread, and only the text
field -- no Gradido button, no camera, bell or heart, no paperclip. The
first message goes by mail as every first one does (E-024) and makes them a
contact, in this community or another; the window then becomes the whole
one without closing, the page puts the server's contact row in and asks its
list again. Closing leads back into the group.
- A contact without a conversation yet, opened from a group: the whole window
as always, with the greeting in the field (Bernd's choice). Opened from
anywhere else, nothing changes.
- useContactWindow: `open(contact, { fromGroup, known })` sets `greet` and
`firstContact` for the opening; `fillIn` swaps in the server's contact row.
- ChatThread hands the greeting to an empty field unless a start held words
for it; ChatComposeBar takes `textOnly`.
- chatThread.firstContactGreeting in ten languages, worded like the mails'
own greeting (core helloName).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…oved on Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…oup's community A writer tapped over their message carried what the message says of them -- no community name, which the list of members has --, so the window's first form had no community line when opened from the thread (measured in the real bundle). The group names its own community (it lives on its founder's server, E-008): a writer of that community is handed on with its name, a writer of another one as they are. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Measured in the real bundle: the meta line's reserved height stood as an empty band under the head of the window's first form, where no figures can come before the first message. It comes with the first message, with the row. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
feat(frontend): a first word to a group member in one tap
… agree Bernd, 30.09.2026: the settings menu said "Aus" beside "Nachrichten" while the switch for the transfers in the chat and by mail was on. The entry holds two switches since #4007 -- the information mails and the transfers (on unless switched off, as the page reads it) --, but the word was taken from the first alone. Now "Ein" where both are on, "Aus" where both are off, and no word where they differ (Bernd's choice): a wrong word is worse than none. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
fix(frontend): one word beside "Nachrichten" only where both switches agree
Bernd, 30.09.2026 (E-057): a full-text search in every conversation, with
one person and in a group. A magnifier by the window's cross opens a search
bar; what is typed is searched on the device -- the words never leave it --
in the messages' words, subjects and captions and in the transfers' memos.
- useChatThreadSearch: loads the thread's older pages for the search, up to
about a thousand messages (Bernd's choice), the transfers with them; waits
for each page to land before asking for the next; gives up on a page that
does not come. Hits are messages; the newest is shown first, and the
window's arrows step to the older and the newer. Past the limit the bar
says that only the newest were searched.
- chatSearch (utils): compares without regard to case and accents ("cafe"
finds "Café"), and cuts a text at its hits in its own indices -- past emoji
and accents written as marks of their own.
- The hits are marked where they stand (chatSearchMarks): in the words, bold
runs, a link's text, the subject, a transfer's memo; the bubble the search
stands on is ringed. MemoText marks only inside a thread; the booking list
is unchanged.
- ChatSearchBar: field, "3 von 12", ↑ older and ↓ newer; Enter and
Shift+Enter step, Esc closes the search and leaves the window open.
- The contact window and a group's window: the magnifier beside the cross
(not in the first form, E-055), the bar under it; closed with the window
and anew for another conversation (useChatWindowSearch).
- chatSearch.* in ten languages.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The note that only the newest messages were searched said, in es, it, pt, tr and el, that the messages were looked FOR (buscar, cercare, pesquisar, aramak, αναζητώ take what is sought); now the search went through them. ru the same sentence clearer, and "Нет совпадений" in the narrow count slot, as the arrows name their hits "совпадение". Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ves the focus back Two injections got through: an older needle giving way after the pages came in (the box was shown the same hit twice), and the focus going back to the magnifier when the search closes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…or nothing coderabbit (#4025): - The limit counted the messages alone, while the transfers kept pages coming: a pair with few messages and many transfers had no bound. The thousand now counts the messages and the transfers together. - A page that came back without anything new -- a booking page without a transfer between the two -- held the search on "Suche …" for the whole wait meant for a page that does not come. Now the request itself is given 15 s, and a page that came back 2 s to be on screen. - `loadOlder` says whether it asked for a page: false where there is none (not reachable while older pages remain, and so a guard), and a call while a page is on its way -- "load older" pressed a moment before -- waits for that page instead of returning at once. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
feat(frontend): search a conversation's thread
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
See Commits and Changes for more details.
Created by
pull[bot] (v2.0.0-alpha.4)
Can you help keep this open source service alive? 💖 Please sponsor : )