Skip to content

Comments

Update version and release date in DESCRIPTION - v3.1.0#282

Open
shawntz wants to merge 38 commits intodevfrom
v3.1.0
Open

Update version and release date in DESCRIPTION - v3.1.0#282
shawntz wants to merge 38 commits intodevfrom
v3.1.0

Conversation

@shawntz
Copy link
Owner

@shawntz shawntz commented Jan 28, 2026

Bump version to 3.1.0 and update release date.

Summary by CodeRabbit

  • Chores
    • Bumped package version to 3.1.0 and narrowed build-ignore rules for figure artifacts
  • New Features
    • Report output now omits or summarizes large/epoch-related parameters and always regenerates metadata to keep reports concise
  • Documentation
    • Updated README (version/date, install notes, system requirements) and added docs for the omission behavior
  • Tests
    • Added comprehensive tests for omission, sanitization, truncation, and serialization size reductions

✏️ Tip: You can customize this high-level summary in your review settings.

Copilot AI and others added 7 commits December 22, 2025 23:30
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.
@shawntz shawntz self-assigned this Jan 28, 2026
Copilot AI review requested due to automatic review settings January 28, 2026 00:17
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 Version from 3.0.1 to 3.1.0
  • Update Date to 2026-01-28

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@shawntz shawntz changed the title Update version and release date in DESCRIPTION Update version and release date in DESCRIPTION - v3.1.0 Jan 28, 2026
Fix HTML rendering on older pandoc versions by including sticker.png in package
@coderabbitai
Copy link

coderabbitai bot commented Jan 28, 2026

Warning

.coderabbit.yaml has a parsing error

The CodeRabbit configuration file in this repository has a parsing error and default settings were used instead. Please fix the error(s) in the configuration file. You can initialize chat with CodeRabbit to get help with the configuration file.

💥 Parsing errors (1)
Validation error: String must contain at most 250 character(s) at "tone_instructions"
⚙️ Configuration instructions
  • Please see the configuration documentation for more information.
  • You can also validate your configuration using the online YAML validator.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json
📝 Walkthrough

Walkthrough

Updates build ignore rules and bumps package version; adds helpers to omit large epoch-related parameters and safe deparsing/truncation in call-stack sanitization/formatting; always rewrites metadata JSON; adds docs and extensive tests for omission, summarization, and truncation behavior.

Changes

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.13.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 ⚠️ Warning 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.

shawntz and others added 15 commits January 27, 2026 16:29
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>
shawntz and others added 9 commits January 27, 2026 16:34
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.
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 format errors for this function. Run air format locally 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_stack branch (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.
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

shawntz and others added 4 commits January 29, 2026 15:04
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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[bug] large epoch call stacks creating pandoc 137 out of memory errors [bug] HTML rendering broken by missing sticker path

2 participants