flowviant 0.63.0 → 0.63.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.
Files changed (2) hide show
  1. package/bin/lib/work.mjs +29 -7
  2. package/package.json +1 -1
package/bin/lib/work.mjs CHANGED
@@ -907,12 +907,27 @@ export function createWorkManager({ repoRoot, baseDir, baseRef, getMcpUrl, getLe
907
907
  * long as the server lived.
908
908
  */
909
909
  if (job?.action === 'resolve') {
910
- if (liveDevRuns.has(sessionId)) continue;
911
- if (devRunClaiming.has(sessionId)) continue;
910
+ /**
911
+ * EVERY SKIP SAYS SO. These were silent `continue`s, and that cost real
912
+ * time: a request sat unclaimed and the only sentence anyone got was
913
+ * "the machine did not pick this up — it may be offline", which was
914
+ * false — the machine was polling throughout. A job dropped without a
915
+ * trace in the row OR the log is undiagnosable from either end, so the
916
+ * skips are narrated even though they are all legitimate states.
917
+ */
918
+ if (liveDevRuns.has(sessionId)) {
919
+ note(`dev ${sessionId.slice(0, 8)}: already serving this tab — ignoring the request`);
920
+ continue;
921
+ }
922
+ if (devRunClaiming.has(sessionId)) continue; // in flight this tick; not news
912
923
  devRunClaiming.add(sessionId);
913
924
  void (async () => {
914
925
  try {
915
- if (!(await claimDevRun(sessionId))) return; // somebody else has it
926
+ if (!(await claimDevRun(sessionId))) {
927
+ note(`dev ${sessionId.slice(0, 8)}: another process holds this request`);
928
+ return;
929
+ }
930
+ note(`dev ${sessionId.slice(0, 8)}: working out how to start this project…`);
916
931
  const wt = placeDir(sessionId);
917
932
  const out = await chainFor(placeOf(sessionId), () =>
918
933
  resolveDevCommandOnMachine({
@@ -963,14 +978,21 @@ export function createWorkManager({ repoRoot, baseDir, baseRef, getMcpUrl, getLe
963
978
  continue;
964
979
  }
965
980
  // Already serving this tab. Re-starting would kill a server somebody is
966
- // looking at right now.
967
- if (liveDevRuns.has(sessionId)) continue;
968
- if (devRunClaiming.has(sessionId)) continue;
981
+ // looking at right now. Narrated for the same reason the resolve branch
982
+ // is: a silent skip is invisible from the browser AND from the machine.
983
+ if (liveDevRuns.has(sessionId)) {
984
+ note(`dev ${sessionId.slice(0, 8)}: already serving this tab — ignoring the request`);
985
+ continue;
986
+ }
987
+ if (devRunClaiming.has(sessionId)) continue; // in flight this tick; not news
969
988
  devRunClaiming.add(sessionId);
970
989
 
971
990
  void (async () => {
972
991
  try {
973
- if (!(await claimDevRun(sessionId))) return; // somebody else has it
992
+ if (!(await claimDevRun(sessionId))) {
993
+ note(`dev ${sessionId.slice(0, 8)}: another process holds this request`);
994
+ return;
995
+ }
974
996
  const wt = placeDir(sessionId);
975
997
  const r = await startDevServer({
976
998
  sessionId,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "flowviant",
3
- "version": "0.63.0",
3
+ "version": "0.63.1",
4
4
  "description": "Run your own coding CLIs as build agents for Flowviant — Claude Code, Codex or Antigravity, on your own credentials. Holds your sessions, keeps a worktree per tab, and ships branches on your word.",
5
5
  "type": "module",
6
6
  "bin": {