strom-research 1.21.0-beta.2 → 1.22.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.cs.md +9 -1
- package/CHANGELOG.de.md +10 -1
- package/CHANGELOG.md +9 -1
- package/dist/cli/human.js +9 -2
- package/dist/core/phone-watch.js +3 -3
- package/dist/core/tree.js +1 -1
- package/dist/core/widget.js +1 -1
- package/package.json +1 -1
package/CHANGELOG.cs.md
CHANGED
|
@@ -5,9 +5,17 @@
|
|
|
5
5
|
Změny každé verze ve zkratce. Úplné poznámky a instalační řádky jsou na
|
|
6
6
|
[GitHub Releases](https://github.com/ACiDekCZ/strom-research/releases) (anglicky).
|
|
7
7
|
|
|
8
|
+
## 1.22.0
|
|
9
|
+
|
|
10
|
+
*Připravuje se: bety do 1.22.0-beta.1. Oddíl bude úplný s vydáním.*
|
|
11
|
+
|
|
12
|
+
- **Jméno jednou v tom, co čeká.** Úkol k materiálu poslanému z aplikace Strom jmenoval ve widgetu a na stránce
|
|
13
|
+
telefonu každého člověka dvakrát (podruhé v hranatých závorkách) a jeho text bez jmen nechal prázdné závorky; menu,
|
|
14
|
+
`strom plan`, aplikace Strom i soubor GEDCOM ukazovaly jméno s jeho ID zopakované. Každé teď jméno řekne jednou.
|
|
15
|
+
|
|
8
16
|
## 1.21.0
|
|
9
17
|
|
|
10
|
-
*
|
|
18
|
+
*26. 10. 2026 · patří k aplikaci Strom 3.16.0.*
|
|
11
19
|
|
|
12
20
|
- **„Čeká“ říká, co aplikace Strom neukazuje.** Řádek v menu a `strom plan` řekne, kolik z čekajícího je jen tady
|
|
13
21
|
v terminálu a kolik čeká na odpověď; zbytek je číslo, které ukazuje aplikace Strom, takže se obě shodují.
|
package/CHANGELOG.de.md
CHANGED
|
@@ -5,9 +5,18 @@
|
|
|
5
5
|
Die Änderungen jeder Version in Kürze. Die vollständigen Hinweise und die Installationszeilen stehen bei
|
|
6
6
|
[GitHub Releases](https://github.com/ACiDekCZ/strom-research/releases) (auf Englisch).
|
|
7
7
|
|
|
8
|
+
## 1.22.0
|
|
9
|
+
|
|
10
|
+
*In Vorbereitung: die Betas bis 1.22.0-beta.1. Der Abschnitt ist mit dem Release vollständig.*
|
|
11
|
+
|
|
12
|
+
- **Jeder Name einmal in dem, was wartet.** Eine Aufgabe zu Material, das aus der Strom-App gesendet wurde, nannte im
|
|
13
|
+
Widget und auf der Seite des Telefons jede Person zweimal (das zweite Mal in eckigen Klammern), und ihr Text ohne
|
|
14
|
+
Namen ließ leere Klammern stehen; Menü, `strom plan`, die Strom-App und die GEDCOM-Datei zeigten den Namen mit
|
|
15
|
+
seiner ID wiederholt. Jedes nennt den Namen jetzt einmal.
|
|
16
|
+
|
|
8
17
|
## 1.21.0
|
|
9
18
|
|
|
10
|
-
*
|
|
19
|
+
*26.10.2026 · gehört zur Strom-App 3.16.0.*
|
|
11
20
|
|
|
12
21
|
- **„Wartet“ sagt, was die Strom-App nicht zeigt.** Die Zeile im Menü und `strom plan` sagt, wie viel des Wartenden
|
|
13
22
|
nur hier im Terminal ist und wie viel auf Antwort wartet; der Rest ist die Zahl, die die Strom-App zeigt, sodass
|
package/CHANGELOG.md
CHANGED
|
@@ -5,9 +5,17 @@ English · [Čeština](CHANGELOG.cs.md) · [Deutsch](CHANGELOG.de.md)
|
|
|
5
5
|
The changes of each version in short. The full notes and the install lines are on
|
|
6
6
|
[GitHub Releases](https://github.com/ACiDekCZ/strom-research/releases).
|
|
7
7
|
|
|
8
|
+
## 1.22.0
|
|
9
|
+
|
|
10
|
+
*In preparation: the betas up to 1.22.0-beta.1. The section is complete with the release.*
|
|
11
|
+
|
|
12
|
+
- **Each name once in what waits.** A task for material sent from the Strom app named each person twice in the
|
|
13
|
+
widget and on the phone's page (the second time in brackets), and its text without names kept empty brackets; the
|
|
14
|
+
menu, `strom plan`, the Strom app and the GEDCOM file showed the name with its ID repeated. Each says the name once.
|
|
15
|
+
|
|
8
16
|
## 1.21.0
|
|
9
17
|
|
|
10
|
-
*
|
|
18
|
+
*2026-10-26 · goes with the Strom app 3.16.0.*
|
|
11
19
|
|
|
12
20
|
- **"Waiting" says what the Strom app does not show.** The line in the menu and `strom plan` says how many of the
|
|
13
21
|
waiting things are only here in the terminal and how many wait for a reply; the rest is the number the Strom app
|
package/dist/cli/human.js
CHANGED
|
@@ -136,7 +136,8 @@ function namesOne(word, names) {
|
|
|
136
136
|
/**
|
|
137
137
|
* What the agent wrote into a task, for the user: the records it names by ID by their names ("S0001" → its title).
|
|
138
138
|
* `asWritten`: a person's ID right after their name in the text stays the bare ID in brackets ("Václava Nováka P0001" →
|
|
139
|
-
* "Václava Nováka [P0001]"), never the name said twice — the short lines of What waits.
|
|
139
|
+
* "Václava Nováka [P0001]"), never the name said twice — the short lines of What waits. A person's ID in brackets right
|
|
140
|
+
* after their name, as strom writes it ("Karel Němec [P0001]"), stays as it is either way.
|
|
140
141
|
*/
|
|
141
142
|
export function humanTask(tree, text, lang, o = {}) {
|
|
142
143
|
const named = (id, before) => {
|
|
@@ -161,5 +162,11 @@ export function humanTask(tree, text, lang, o = {}) {
|
|
|
161
162
|
return r.title;
|
|
162
163
|
};
|
|
163
164
|
// A list of IDs as a list of names, each once (two sessions of one day read as one).
|
|
164
|
-
|
|
165
|
+
const names = (ids, at) => o.asWritten && !ids.includes(",") && named(ids, text.slice(0, at)) ? `[${ids}]` : [...new Set(ids.split(", ").map(name))].join(", ");
|
|
166
|
+
return text.replace(/(\[)?\b([PFSBN]\d{4,}\b(?:, [PFSBN]\d{4,}\b)*)(\])?/g, (all, open, ids, close, at) => {
|
|
167
|
+
// a person's ID in brackets as strom writes it ("Karel Němec [P0001]"): kept after their name, else their name in its place
|
|
168
|
+
if (open && close && !ids.includes(",") && tree.get(ids)?.type === "person")
|
|
169
|
+
return named(ids, text.slice(0, at)) ? all : name(ids);
|
|
170
|
+
return `${open ?? ""}${names(ids, at + (open ? 1 : 0))}${close ?? ""}`;
|
|
171
|
+
});
|
|
165
172
|
}
|
package/dist/core/phone-watch.js
CHANGED
|
@@ -118,7 +118,7 @@ export function forPhone(text) {
|
|
|
118
118
|
}
|
|
119
119
|
return /[\p{L}\p{N}]/u.test(s) ? s : "";
|
|
120
120
|
}
|
|
121
|
-
const taskText = (tree, t) => forPhone(humanTask(tree, t.what, tree.lang));
|
|
121
|
+
const taskText = (tree, t) => forPhone(humanTask(tree, t.what, tree.lang, { asWritten: true }));
|
|
122
122
|
function head(root) {
|
|
123
123
|
const r = runGit(root, ["rev-parse", "HEAD"]);
|
|
124
124
|
return r.status === 0 ? r.stdout.trim() : "";
|
|
@@ -202,8 +202,8 @@ export function treeOverview(root, env) {
|
|
|
202
202
|
}
|
|
203
203
|
/** One of what waits as the phone shows it, whole; a text of nothing but IDs, paths and links: said in general. */
|
|
204
204
|
function waitingLine(tree, { item }) {
|
|
205
|
-
const on = item.on ? forPhone(humanTask(tree, item.on, tree.lang)) : "";
|
|
206
|
-
return { what: forPhone(humanTask(tree, item.what, tree.lang)) || ui(tree.lang, "ui.phone.waiting.item"), ...(on ? { on } : {}) };
|
|
205
|
+
const on = item.on ? forPhone(humanTask(tree, item.on, tree.lang, { asWritten: true })) : "";
|
|
206
|
+
return { what: forPhone(humanTask(tree, item.what, tree.lang, { asWritten: true })) || ui(tree.lang, "ui.phone.waiting.item"), ...(on ? { on } : {}) };
|
|
207
207
|
}
|
|
208
208
|
/**
|
|
209
209
|
* More of what waits than the overview gives: `limit` of them (at most WAITING_ASKED) from `from`, of the same list the
|
package/dist/core/tree.js
CHANGED
|
@@ -29,7 +29,7 @@ export const TREE_FILE = "strom.json";
|
|
|
29
29
|
export const SEAL_FOREIGN = "seal.foreign";
|
|
30
30
|
// between releases the candidate being made (a bridge run from the sources says what it is: the Strom app goes by it);
|
|
31
31
|
// at a release the release's own (package.json)
|
|
32
|
-
export const VERSION = "1.
|
|
32
|
+
export const VERSION = "1.22.0-beta.1";
|
|
33
33
|
const GITIGNORE = `# Strom Research — local state and large files are not versioned
|
|
34
34
|
.strom/
|
|
35
35
|
/media/
|
package/dist/core/widget.js
CHANGED
|
@@ -285,7 +285,7 @@ export function widgetTree(root, env, opts) {
|
|
|
285
285
|
const finds = treeFinds(root, env, new Date(windowStart).toISOString(), now);
|
|
286
286
|
const waits = pendingOf(tree, env);
|
|
287
287
|
const pendingItems = waits.slice(0, WIDGET_PENDING).map(({ item }) => {
|
|
288
|
-
const text = forPhone(humanTask(tree, item.what, lang)) || ui(lang, "ui.phone.waiting.item");
|
|
288
|
+
const text = forPhone(humanTask(tree, item.what, lang, { asWritten: true })) || ui(lang, "ui.phone.waiting.item");
|
|
289
289
|
const none = withoutNames(text, stems);
|
|
290
290
|
return { text, ...(none ? { textNoNames: none } : {}) };
|
|
291
291
|
});
|