Skip to content

Bugs found while writing the memory bank docs #120

Closed

Description

@schloerke

These came up while writing the memory-bank/ docs. None are fixed yet. Each is marked confirmed (checked by running or grepping) or from reading code (not run).

R

  • rstudio/reactlog#125 (invalid, test only): Backslashes are halved in the rendered page (confirmed). reactlog_render() (R/renderReactLog.R) puts the JSON into the HTML with sub(fixed = TRUE), but \\ in the replacement is still treated as an escape. A label a\b comes out as "a\b", which JS reads as a backspace. A backslash right before a quote may end the JS string early and break the page.
  • rstudio/reactlog#126 (keeps passing ...; docs fixed instead): reactlog_show() errors on extra args (confirmed). The docs say ... is ignored, but it is passed to reactlog_render(), so reactlog_show(log, foo = 1) gives "unused argument".
  • rstudio/reactlog#127: reactlog_render() prints "Loading required namespace: shiny" (confirmed). requireNamespace("shiny") is not quietly = TRUE.
  • rstudio/reactlog#128: shiny_version_required() breaks if Suggests is reformatted (from reading code). It only finds shiny ( with a space. If that fails, assert_shiny_version() calls it again inside its error message and shows a confusing error.

Viewer (srcjs)

  • rstudio/reactlog#139: invalidateLater is not handled (confirmed). Shiny logs it, but Graph.addEntry() (srcjs/graph/Graph.js) has no case, so each one hits default and calls console.error. Shiny also sends the raw ctx$id without the "ctx" prefix for this action.
  • rstudio/reactlog#140: asyncStop shows "Start asynchronous calculations" (confirmed), the same text as asyncStart (srcjs/layout/logEntry.js).
  • rstudio/reactlog#141: Shift+Right on the last step reads past the end of the log (from reading code). nextTick (srcjs/updateGraph/tick.js) only checks curTick >= log.length, so logEntry.update reads rlog.log[log.length].time.
  • rstudio/reactlog#142: Double-click search is not anchored (from reading code). Double-clicking r3 also matches r30, r31, and labels containing "r3" (srcjs/updateGraph/searchString.js).
  • rstudio/reactlog#143 (filter part invalid; fixes a nearby skipped-mark bug): User-mark navigation ignores the filter (from reading code). nextUserMark / prevUserMark (srcjs/updateGraph/userMarks.js) do not check filteredStepsVisible, so they can land on a hidden step. The comments there also describe the opposite branch.
  • rstudio/reactlog#144: rNoCtx id check never matches (from reading code). Graph.addEntry() skips "rNoCtx", but dependsOn checks "rNoCtxReactId". One of the two checks is dead.
  • rstudio/reactlog#145: Wrong this in displayAtStep() (from reading code). The layoutstop handler is a plain function, so this.cytoLayout = null does not clear the GraphAtStep field (srcjs/graph/GraphAtStep.js).
  • rstudio/reactlog#146 (invalid, doc note only): Layout skipped when edge counts match (from reading code). displayAtStep() does not rerun the layout when the number of added edges equals the number removed, even if they are different edges.
  • rstudio/reactlog#147: Timeline click is slightly off (from reading code). In srcjs/layout/progressBar.js the click position is scaled by length while the fill uses length - 1. The _has(e.originalEvent, "buttons") check is always false and only works by accident.

Build and tooling

  • rstudio/reactlog#129 (partly: hook skips Flow; flow-bin upgrade left for later): npm run flow-report fails on Apple Silicon without Rosetta (confirmed). flow-bin 0.86 has only an x86_64 macOS binary (spawn Unknown system error -86). This also breaks the pre-commit hook for srcjs/ changes.
  • rstudio/reactlog#130: Commit hook stages reactlog.js but not reactlog.js.map (confirmed). The git_add_compiled script in package.json leaves the tracked source map stale.
  • rstudio/reactlog#131: No Flow stubs for jquery/lodash on a fresh clone (confirmed missing; effect from reading code). flow-typed/ is gitignored and postinstall no longer creates it.
  • rstudio/reactlog#132: License scripts say GPL-3 (confirmed). bin/update-license.js and scripts/license_checker.js still print "distributed under GPL-3"; the package is MIT. The header comment in scripts/license_checker.js says to pipe it to LICENSE, which would overwrite the MIT file.

Package build, docs, and release files

  • rstudio/reactlog#133: .Rbuildignore gaps and leftovers (confirmed). .context/ and a worktree's .git file end up in the tarball. ^inst/reactlogAsset/report.html$ points at the old path (should be inst/reactlog/reactlogAsset/). ^_pkgdown\.yml$, ^appveyor\.yml$, ^\.travis\.yml$, ^src_old are stale and ^\.github is listed twice.
  • rstudio/reactlog#134: inst/log-files/old_log.js is unreadable (confirmed). It uses the pre-version-1 format (let log, id, ctx/dep actions), nothing uses it, and it ships in the package.
  • rstudio/reactlog#135: User-mark shortcut disagrees between docs (confirmed). The vignette says Ctrl/Cmd + F4; the README says Ctrl/Cmd + Shift + F3. The vignette also leaves out Space, Shift+arrows, f, and Esc in the search box.
  • rstudio/reactlog#136 (badge and index.html only; cran-comments.md and revdep/ kept on purpose): Stale release files (confirmed). The README badge says Node 12.x; cran-comments.md and revdep/ still hold the 2022 1.1.1 results; root index.html redirects to a docs/ folder that does not exist.
  • rstudio/reactlog#137: scripts/rhub.R uses the old rhub API (from reading code). rhub::check_for_cran() and rhub:::build_package() are gone in rhub 2.x.
  • rstudio/reactlog#138 (invalid, doc note only): pkgdown docsearch uses v2 settings (from reading code). pkgdown/_pkgdown.yml has api_key / index_name with no app_id.

Activity

  1. schloerke commented on Oct 20, 2026

    @schloerke
    CollaboratorAuthor

    All linked PRs (#125–#147) are merged. The flow-bin part of #129 no longer applies: Flow was replaced by TypeScript in #150.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions