Conversation
Instead of excluding the entire inst/figures directory, now only exclude
large demo files (GIFs, adventure-time/, report_example_annotated-1.png)
while keeping sticker.png (~21KB) in the package.
This fixes HTML rendering issues on older pandoc versions (v2.7.3) where
system.file("figures", "sticker.png", package = "eyeris") was returning ""
because the entire figures directory was being excluded.
Excluded files total ~6.3MB, keeping package under CRAN size limits.
Co-authored-by: shawntz <5200266+shawntz@users.noreply.github.com>
… from deparse Co-authored-by: shawntz <5200266+shawntz@users.noreply.github.com>
Co-authored-by: shawntz <5200266+shawntz@users.noreply.github.com>
…e matching Co-authored-by: shawntz <5200266+shawntz@users.noreply.github.com>
Bump version to 3.1.0 and update release date.
There was a problem hiding this comment.
Pull request overview
Bumps the R package metadata to reflect a new release by updating the package version and release date in DESCRIPTION.
Changes:
- Update
Versionfrom3.0.1to3.1.0 - Update
Dateto2026-01-28
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Fix HTML rendering on older pandoc versions by including sticker.png in package
|
Warning
|
| Cohort / File(s) | Summary |
|---|---|
Build Configuration \.Rbuildignore |
Replaced broad ^inst/figures$ ignore with targeted patterns: ^inst/figures/adventure-time$, ^inst/figures/.*\.gif$, and ^inst/figures/report_example_annotated-1\.png$. |
Package Metadata DESCRIPTION |
Version bumped 3.0.1 → 3.1.0; Date updated to 2026-01-28. |
Call-stack formatting R/utils-parsers.R |
Added should_omit_parameter(name, val), safe_deparse, and format_param_value; integrated omission logic and truncation across call, call_stack, and argument deparsing paths; final parameter string limited to 500 chars. |
Sanitization / Rendering R/utils-render_report.R |
Changed sanitize_call_stack(x) → sanitize_call_stack(x, parent_name = NULL, in_parameters = FALSE); now unconditionally writes metadata JSON, omits large epoch-related structures when in parameters, summarizes data.frames as "<data.frame: N rows x M cols>", truncates very long strings/calls, and threads in_parameters context for lists/call stacks. |
Documentation man/should_omit_parameter.Rd |
Added Rd documenting the internal helper should_omit_parameter(name, val) used to decide omission of epoch-related parameters. |
Tests tests/testthat/test-format_call_stack.R |
Added comprehensive tests covering omission rules (case-insensitive keys, scalar vs complex), sanitize_call_stack behavior, JSON size reduction, truncation, and data.frame summarization; exercises both call and call_stack branches. |
README / Misc README.md, README.Rmd, inst/WORDLIST |
Updated version badge and timestamps to 2026, added System Requirements to README.Rmd, shortened Arrow installation instructions, and inserted "SSD" into inst/WORDLIST. |
Estimated code review effort
🎯 4 (Complex) | ⏱️ ~45 minutes
Poem
🐇 I nibbled through stacks and trimmed the weight,
Epoch crumbs tucked safe, no bulky freight,
Badges hopped up to three-dot-one,
Tests snug in burrows when all was done,
A little patch, light-footed—time to celebrate!
🚥 Pre-merge checks | ✅ 2 | ❌ 1
❌ Failed checks (1 warning)
| Check name | Status | Explanation | Resolution |
|---|---|---|---|
| Description check | The description is significantly incomplete. It lacks required sections like Problem Addressed, Key Changes and Enhancements, Acknowledgments, and the Breaking changes checklist from the template. | Add detailed sections covering the problem addressed, key changes (with version bump justification), acknowledgments, and complete the breaking changes checklist as specified in the template. |
✅ Passed checks (2 passed)
| Check name | Status | Explanation |
|---|---|---|
| Title check | ✅ Passed | The title accurately summarizes the main change: updating the version to 3.1.0 and release date in DESCRIPTION, which aligns with the primary metadata changes in the pull request. |
| Docstring Coverage | ✅ Passed | No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. |
✏️ Tip: You can configure your own custom pre-merge checks in the settings.
✨ Finishing touches
🧪 Generate unit tests (beta)
- Create PR with unit tests
- Post copyable unit tests in a comment
- Commit unit tests in branch
v3.1.0
Comment @coderabbitai help to get the list of available commands and usage tips.
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Fix pandoc OOM errors from deparsing large epoch parameters in call stacks
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Enhances sanitize_call_stack to omit large epoch-related parameters (e.g., events, baseline_events) from call stack serialization to prevent memory issues. Adds tests to verify omission and summarization behavior, updates documentation, and refreshes README and figure assets.
There was a problem hiding this comment.
Actionable comments posted: 1
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
R/utils-render_report.R (1)
330-369: Fix formatting issues flagged by pipeline.The CI pipeline failed with
air formaterrors for this function. Runair formatlocally to fix the formatting.Additionally, the epoch-related name detection logic (lines 336-339) duplicates the same logic in
should_omit_parameter(). Consider reusing the helper:♻️ Suggested refactor to reduce duplication
sanitize_call_stack <- function(x, parent_name = NULL, in_parameters = FALSE) { - - # Filter out epoch-related large data structures before JSON serialization - # to prevent memory issues during report rendering - # Only filter when we're inside a "parameters" list - if (in_parameters && !is.null(parent_name)) { - name_lower <- tolower(parent_name) - is_epoch_related <- grepl("epoch", name_lower) || - name_lower == "events" || - name_lower == "baseline_events" - - # Omit complex objects (lists, data.frames) with epoch-related names - if (is_epoch_related && (is.list(x) || is.data.frame(x))) { + # Filter out epoch-related large data structures before JSON serialization + if (in_parameters && !is.null(parent_name)) { + # Reuse the omission logic from should_omit_parameter + if (should_omit_parameter(parent_name, x)) { return("<omitted>") } }
🤖 Fix all issues with AI agents
In `@README.md`:
- Around line 346-352: The indented output lines beginning with "#> ℹ
[2026-01-27 17:35:37] [INFO] Creating progressive summary plot for block_1" and
"#> ✔ [2026-01-27 17:35:38] [OKAY] Progressive summary plot created
successfully!" are being interpreted as indented code by markdownlint (MD046);
replace those indented lines with fenced code blocks using triple backticks and
the language tag (e.g., ```r) so each output snippet is wrapped like ```r ...
``` around the "#> ..." lines (place one fenced block before/after the first
output line group and another fenced block for the final output line) to satisfy
MD046 while keeping the images and surrounding markdown intact.
🧹 Nitpick comments (1)
R/utils-parsers.R (1)
61-75: Consider extracting shared parameter formatting logic.The parameter formatting logic (lines 61-75) is duplicated in the
call_stackbranch (lines 95-109). Extracting this into a helper function would improve maintainability.♻️ Suggested refactor
# Add a helper function at the top of the file: format_parameters <- function(params) { if (length(params) == 0) return("no parameters") param_strs <- sapply(names(params), function(name) { val <- params[[name]] if (should_omit_parameter(name, val)) { return(paste0(name, " = <omitted>")) } if (is.null(val)) { paste0(name, " = NULL") } else if (is.character(val)) { paste0(name, " = '", val, "'") } else if (is.logical(val)) { paste0(name, " = ", val) } else { paste0(name, " = ", deparse(val)) } }) paste(param_strs, collapse = ", ") }Then replace both duplicated blocks with:
param_str <- format_parameters(params)
Enhances format_call_stack and sanitize_call_stack to better handle and truncate large or complex objects, preventing excessive memory usage and improving output readability. Updates include helper functions for safe deparsing, parameter value formatting, and more robust truncation logic. Metadata files are now always regenerated to ensure up-to-date sanitization. Adds comprehensive tests for truncation and full pipeline behavior.
There was a problem hiding this comment.
Actionable comments posted: 3
🤖 Fix all issues with AI agents
In `@R/utils-render_report.R`:
- Around line 328-333: The file fails the project's R formatter; run the
project's air formatter on R/utils-render_report.R (or apply equivalent
formatting) to fix spacing/indentation around the sanitize_call_stack function
and its if block (the in_parameters && !is.null(parent_name) conditional) so the
file passes CI; ensure sanitize_call_stack and its surrounding
braces/indentation match the project's air style.
- Around line 394-403: The current loop over names(x) in sanitize_call_stack
drops unnamed list elements; change to index-based iteration using seq_along(x)
(iterate over i and call sanitize_call_stack(x[[i]], parent_name = names(x)[i],
in_parameters = in_parameters || is_entering_parameters)) so unnamed elements
are preserved, then reassign names(result) <- names(x) to restore original names
(including NULL) — update the block that creates result and sets names to use
seq_along(x) and refer to sanitize_call_stack, x, result, in_parameters, and
is_entering_parameters.
In `@tests/testthat/test-format_call_stack.R`:
- Line 1: Run the Go/air formatter on the failing test file to fix style issues:
execute the formatter command (e.g., `air format
tests/testthat/test-format_call_stack.R`) and commit the resulting formatting
changes; ensure you also format and correct the nearby blocks referenced (around
lines 202-205) so test_that, any multi-line expressions, and function calls in
tests follow the project's air style rules before pushing.
Added minimum and recommended system requirements, including R version, RAM, and storage recommendations. Also noted the use of pandoc for HTML report generation and its memory implications.
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Fix all issues with AI agents
In `@README.Rmd`:
- Around line 231-233: Replace the acronym "SSD" in the README.Rmd line
mentioning storage with the spelled-out phrase "solid-state drive" (keep
surrounding context like the mention of database I/O performance and the bullet
that references `bidsify()` intact) so the spellcheck no longer flags the term;
ensure punctuation and capitalization match the surrounding bullets.
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Bump version to 3.1.0 and update release date.
Summary by CodeRabbit
✏️ Tip: You can customize this high-level summary in your review settings.