@maka/maka-cli 5.203.0 → 5.204.0

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.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@maka/maka-cli",
3
- "version": "5.203.0",
3
+ "version": "5.204.0",
4
4
  "type": "module",
5
5
  "summary": "A command line tool for scaffolding Meteor 3.x applications using either React.",
6
6
  "description": "A command line tool for scaffolding Meteor 3.x applications using React.",
@@ -595,7 +595,9 @@ export class CallCommand extends Command {
595
595
  try {
596
596
  const sr = await import('../utilities/shared-run.js');
597
597
  await sr.HubLink.ready(this.game ?? undefined);
598
- const res = await sr.HubLink.call('sideQuest.partyPage', { text: greeting });
598
+ // `from` names the SPEAKER, not the account (t8qhbB3c3PRRkq5sP --
599
+ // see say.ts's party branch for the report this closes).
600
+ const res = await sr.HubLink.call('sideQuest.partyPage', { text: greeting, from: this.actor.name });
599
601
  if (this.actor.activeCallPartner) {
600
602
  this.actor.activeCallPartner.activeCallPartner = undefined;
601
603
  this.actor.activeCallPartner = undefined;
@@ -90,7 +90,9 @@ export class MessageCommand extends Command {
90
90
  }
91
91
  const text = rest.join(' ');
92
92
  try {
93
- const res = await sr.HubLink.call('sideQuest.message', { handle: target.handle, text });
93
+ const res = await sr.HubLink.call(
94
+ // `from` names the SPEAKER (t8qhbB3c3PRRkq5sP) -- see say.ts.
95
+ 'sideQuest.message', { handle: target.handle, text, from: this.actor.name });
94
96
  const landed = res.reach === 'online'
95
97
  ? `They're on the street -- it lands now.`
96
98
  : `They're off the grid; it waits on their link until they jack in.`;
@@ -208,8 +208,16 @@ export class SayCommand extends Command {
208
208
  try {
209
209
  if (channel.party) {
210
210
  // THE PARTY LINE: one say, every accepted seat hears it.
211
+ //
212
+ // `from` NAMES THE SPEAKER (t8qhbB3c3PRRkq5sP, live
213
+ // 2026-09-16: "Ted says Hi, who's Ted?" -- Ted being another
214
+ // character on the speaker's account). This call used to
215
+ // carry the text alone, so the server had nothing to sign it
216
+ // with but the account's presence row, which names whichever
217
+ // runner beat last and can be a day stale. The 1:1 branch
218
+ // below always sent `from`; the party line simply never did.
211
219
  const sr = await import('../utilities/shared-run.js');
212
- await sr.HubLink.call('sideQuest.partyPage', { text: message });
220
+ await sr.HubLink.call('sideQuest.partyPage', { text: message, from: currentPlayer.name });
213
221
  }
214
222
  else {
215
223
  const transport = await this.game?.streetTransport();
@@ -762,5 +762,23 @@
762
762
  // Approach host's key sloughs off..."). Cosmetic, and the same
763
763
  // class of blemish grid-names.ts records at length, because a
764
764
  // reviewer meeting broken prose on a bench doubts the fixture.
765
- export const ENGINE_VERSION = '1.65.0';
765
+ // 1.66.0 (2026-09-16): THE CREW CHANNEL NAMES WHO SPOKE
766
+ // (t8qhbB3c3PRRkq5sP, live: "Ted says Hi, who's Ted?" -- Ted being
767
+ // another character on the speaker's account, who was playing Jynx).
768
+ // A page is signed server-side, and for the PARTY LINE the server had
769
+ // nothing to sign with but the account's presence row: ONE PER
770
+ // ACCOUNT, naming whichever runner heartbeated last, and never written
771
+ // at all by the browser or a hosted session. The reported row was a
772
+ // day stale, so every crew line that evening went out under a
773
+ // character nobody at the table was playing.
774
+ // - say.ts's party branch and call.ts's openPartyLine now send
775
+ // `from` -- the speaking actor -- exactly as the 1:1 branch beside
776
+ // them always has. `message` too.
777
+ // - game.ts's default street `send` stops DROPPING the `from` its own
778
+ // signature documents as "the sending ACTOR, which a multi-human
779
+ // server scene resolves to the right account".
780
+ // The name is still only a claim: the server verifies it against the
781
+ // account's seats and saves before stamping it, and an older client
782
+ // that sends none keeps the presence fallback.
783
+ export const ENGINE_VERSION = '1.66.0';
766
784
  //# sourceMappingURL=engine-version.js.map
@@ -2368,7 +2368,13 @@ export default class Game {
2368
2368
  const players = await fetchPlayers().catch(() => undefined);
2369
2369
  return (players ?? []).map(p => ({ playerName: p.playerName, handle: p.handle }));
2370
2370
  },
2371
- send: ({ handle, text }) => sr.HubLink.call('sideQuest.page', { handle, text }),
2371
+ // `from` IS PASSED ON, NOT DROPPED (t8qhbB3c3PRRkq5sP): the
2372
+ // signature has always named the sending actor so that a
2373
+ // multi-human scene resolves it to the right account -- this
2374
+ // default quietly threw it away, leaving the server to sign the
2375
+ // page from the account's presence row (one per ACCOUNT, naming
2376
+ // whichever runner heartbeated last).
2377
+ send: ({ from, handle, text }) => sr.HubLink.call('sideQuest.page', { handle, text, from }),
2372
2378
  };
2373
2379
  }
2374
2380
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@maka/maka-cli",
3
- "version": "5.203.0",
3
+ "version": "5.204.0",
4
4
  "type": "module",
5
5
  "summary": "A command line tool for scaffolding Meteor 3.x applications using either React.",
6
6
  "description": "A command line tool for scaffolding Meteor 3.x applications using React.",