beatrina 1.0.0 → 1.0.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.
@@ -0,0 +1 @@
1
+ {"schema":1,"sources":"bb6f92def208844cdcdae81c15aa6b467805474f5af7643329a02082f7832f82","artifact":"09e3f48d132de6ca4045edb229ca8e00f44bda89ff95dcab69ed5b7790da6092"}
package/build-info.json CHANGED
@@ -1 +1 @@
1
- {"version":"1.0.0","commit":"a6fc7c8783793a5ab6e7627c077bc10843f0e5a9","dirty":false}
1
+ {"version":"1.0.1","commit":"f97df507a6083f9b9c2ba603d7c7055f67b29057","dirty":false}
@@ -1745,8 +1745,12 @@ var BEATRINA_CSS = `
1745
1745
  margin-top:10px;border:1px solid #cbd8e6;border-radius:var(--cn-radius-md);
1746
1746
  background:#f7fafd;overflow:hidden;
1747
1747
  }
1748
+ /* z-index 210: BELOW the header (220). The header is a stacking context, so every menu it opens
1749
+ lives at its level \u2014 above 820 a floating AI panel covered them all, and a document switcher
1750
+ opened beside it could not be clicked (journey windows, 2026-09-24). The panel is kept below the
1751
+ header's edge instead (ai-shell.js clampIntoView). */
1748
1752
  .cn-root .beatrina-ai-panel.is-float{
1749
- position:fixed;z-index:820;margin:0;box-shadow:var(--cn-shadow-lg);
1753
+ position:fixed;z-index:210;margin:0;box-shadow:var(--cn-shadow-lg);
1750
1754
  /* A float panel had NO height cap, so it grew with its thread until the
1751
1755
  composer was below the fold and its Send button could not be clicked at
1752
1756
  all \u2014 the panel is position:fixed, so nothing scrolls it back. The docked
@@ -1810,7 +1814,7 @@ var BEATRINA_CSS = `
1810
1814
  document MAKES ROOM rather than being covered. A floating panel is fine for
1811
1815
  a glance and wrong for a conversation \u2014 it sits on the thing being read. */
1812
1816
  .cn-root .beatrina-ai-panel.is-side{
1813
- position:fixed;top:0;bottom:0;z-index:820;margin:0;border-radius:0;
1817
+ position:fixed;top:0;bottom:0;z-index:210;margin:0;border-radius:0;
1814
1818
  width:var(--beatrina-ai-side-w,400px);max-height:none;height:auto;
1815
1819
  box-shadow:var(--cn-shadow-lg);
1816
1820
  }
@@ -5236,11 +5240,11 @@ var BEATRINA_CSS = `
5236
5240
  .cn-root .beatrina-tolatex.is-latex::before{content:"\u25CF ";}
5237
5241
  .cn-root .beatrina-tolatex.is-latex:hover{filter:none;}
5238
5242
  /* Write's one control of its own, and LaTeX's: the page beside the text. */
5239
- .cn-root .beatrina-preview-toggle,.cn-root .beatrina-latex-pdf{height:28px;border:1px solid var(--beatrina-hdr-line-soft,rgba(255,255,255,.28));border-radius:6px;padding:0 12px;background:transparent;color:var(--beatrina-hdr-fg,#fff);font:500 var(--cn-fs-sm,12.5px) var(--cn-font);line-height:1;cursor:pointer;align-items:center;justify-content:center;box-sizing:border-box;}
5240
- .cn-root .beatrina-latex-pdf{display:inline-flex;align-self:center;flex:0 0 auto;}
5243
+ .cn-root .beatrina-preview-toggle,.cn-root .beatrina-latex-page-toggle{height:28px;border:1px solid var(--beatrina-hdr-line-soft,rgba(255,255,255,.28));border-radius:6px;padding:0 12px;background:transparent;color:var(--beatrina-hdr-fg,#fff);font:500 var(--cn-fs-sm,12.5px) var(--cn-font);line-height:1;cursor:pointer;align-items:center;justify-content:center;box-sizing:border-box;}
5244
+ .cn-root .beatrina-latex-page-toggle{display:inline-flex;align-self:center;flex:0 0 auto;}
5241
5245
  .cn-root .beatrina-preview-toggle{display:none;}
5242
5246
  .cn-root[data-beatrina-mode="writing"] .beatrina-preview-toggle{display:inline-flex;}
5243
- .cn-root .beatrina-preview-toggle.on,.cn-root .beatrina-latex-pdf.on{background:#fff;color:#141a3a;border-color:#fff;font-weight:600;}
5247
+ .cn-root .beatrina-preview-toggle.on,.cn-root .beatrina-latex-page-toggle.on{background:#fff;color:#141a3a;border-color:#fff;font-weight:600;}
5244
5248
  /* A decision that replaces a file is not read at the size of a tooltip. */
5245
5249
  .cn-root .beatrina-modal-panel.is-large{width:min(560px,94vw);}
5246
5250
  .cn-root .beatrina-modal-panel.is-large .beatrina-modal-title{font-size:17px;}
@@ -10672,7 +10676,7 @@ var BEATRINA_CSS = `
10672
10676
  cut off under it (journey windows, 720 px, 2026-09-24). One or the other
10673
10677
  is on screen; \xD7 gives the document back. !important beats the inline
10674
10678
  left/right/width ai-shell.js writes for the wide layout. */
10675
- .cn-root .beatrina-ai-panel.is-side{left:0 !important;right:0 !important;width:auto !important;}
10679
+ .cn-root .beatrina-ai-panel.is-side{left:0 !important;right:0 !important;width:auto !important;top:var(--beatrina-hdr-h,0px);}
10676
10680
  .cn-root .beatrina-ai-panel.is-side .beatrina-ai-sedge{display:none;}
10677
10681
  }
10678
10682
 
package/kernel/job-run.R CHANGED
@@ -34,7 +34,10 @@ if (is.na(sentinel) || !nzchar(sentinel)) {
34
34
  stop("job-run.R needs a sentinel argument", call. = FALSE)
35
35
  }
36
36
  suppressPackageStartupMessages(library(jsonlite))
37
- here <- dirname(normalizePath(sub("^--file=", "", grep("^--file=", commandArgs(FALSE), value = TRUE)[1L])))
37
+ # R writes a space in the --file= path as "~+~" (its front end's encoding), so a script
38
+ # installed under "Beatrina Note.app" read its own folder as "Beatrina~+~Note.app" and could not
39
+ # find its siblings: every Typst/render job died with exit 1 (owner, 2026-09-24). Decoded here.
40
+ here <- dirname(normalizePath(gsub("~+~", " ", sub("^--file=", "", grep("^--file=", commandArgs(FALSE), value = TRUE)[1L]), fixed = TRUE)))
38
41
  source(file.path(here, "kernel.R"))
39
42
  source(file.path(here, "jobs.R"))
40
43
  source(file.path(here, "latex.R"))
@@ -1 +1 @@
1
- 1.0.0
1
+ 1.0.1
@@ -16,7 +16,8 @@
16
16
  local({
17
17
  file_arg <- grep("^--file=", commandArgs(FALSE), value = TRUE)
18
18
  here <- if (length(file_arg)) {
19
- dirname(normalizePath(sub("^--file=", "", file_arg[1L]), mustWork = FALSE))
19
+ # R writes a space in --file= as "~+~" ("Beatrina Note.app"): decoded, or the folder is wrong.
20
+ dirname(normalizePath(gsub("~+~", " ", sub("^--file=", "", file_arg[1L]), fixed = TRUE), mustWork = FALSE))
20
21
  } else getwd()
21
22
  sys.source(file.path(here, "worker.R"), envir = globalenv(), keep.source = FALSE)
22
23
  })
package/kernel/worker.R CHANGED
@@ -201,7 +201,8 @@ import_sources <- local({
201
201
  file_arg <- grep("^--file=", commandArgs(FALSE), value = TRUE)
202
202
  here <- if (nzchar(env_dir)) env_dir
203
203
  else if (length(file_arg)) {
204
- dirname(normalizePath(sub("^--file=", "", file_arg[1L]), mustWork = FALSE))
204
+ # R writes a space in --file= as "~+~" ("Beatrina Note.app"): decoded, or the folder is wrong.
205
+ dirname(normalizePath(gsub("~+~", " ", sub("^--file=", "", file_arg[1L]), fixed = TRUE), mustWork = FALSE))
205
206
  } else getwd()
206
207
  file.path(here, c("fileio.R", "sniff.R", "project.R", "workspace-keep.R", "deployment.R"))
207
208
  })
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "beatrina",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
4
  "description": "Beatrina is a modern, powerful, feature-rich integrated development environment (IDE) for R, Python, and JavaScript.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -25,8 +25,8 @@
25
25
  "menu",
26
26
  "app",
27
27
  "build-info.json",
28
- "beatrina_V1.0.0.html",
29
- "beatrina_V1.0.0.html.inputs.json",
28
+ "beatrina_V1.0.1.html",
29
+ "beatrina_V1.0.1.html.inputs.json",
30
30
  "README.md",
31
31
  "LICENSE",
32
32
  "NOTICES"
@@ -1 +0,0 @@
1
- {"schema":1,"sources":"a33f44a76c0d333972320d15cc45ddf55b7726569601e3dfeaddc383cb0dfca1","artifact":"ce5aed2f8650b593385976e6f1131fbcff26602f7b5682c3a6314f979d6105d3"}