Thank you for the reply. We have implemented a standalone script as a workaround and have removed the cleanInterval and cleanThreshold extensions.
Posts made by mmoye
-
RE: Issue with cleanup extensionposted in general forum
-
RE: Issue with cleanup extensionposted in general forum
Here are the logs after restarting the VM we have JSR running on.
2026-04-28T19:28:17.650Z - info: Initializing jsreport (version: 4.8.0, configuration file: jsreport.config.json, nodejs: 22.14.0) 2026-04-28T19:28:17.651Z - info: Searching for available extensions in C:\apps\jsreportapp\ 2026-04-28T19:28:19.551Z - info: Extensions location cache contains up to date information, skipping crawling in C:\apps\jsreportapp\ 2026-04-28T19:28:19.884Z - info: Found 36 extension(s) 2026-04-28T19:28:19.893Z - warn: Filtering out duplicated extension "handlebars" from C:\apps\jsreportapp\node_modules\@jsreport\jsreport-handlebars, using C:\apps\jsreportapp\node_modules\@jsreport\.jsreport-handlebars-l3SNQned 2026-04-28T19:28:19.931Z - info: Using extension handlebars@4.0.1 2026-04-28T19:28:19.932Z - info: Using extension authentication@4.2.3 2026-04-28T19:28:19.934Z - info: Using extension base@4.0.0 2026-04-28T19:28:19.934Z - info: Using extension child-templates@4.1.0 2026-04-28T19:28:19.935Z - info: Using extension cli@4.1.0 2026-04-28T19:28:19.935Z - info: Using extension components@4.0.2 2026-04-28T19:28:19.935Z - info: Using extension data@4.1.0 2026-04-28T19:28:19.936Z - info: Using extension express@4.2.0 2026-04-28T19:28:19.937Z - info: Using extension freeze@4.0.0 2026-04-28T19:28:19.937Z - info: Using extension fs-store@4.1.0 2026-04-28T19:28:19.940Z - info: Using extension import-export@4.0.6 2026-04-28T19:28:19.940Z - info: Using extension jsrender@4.0.0 2026-04-28T19:28:19.940Z - info: Using extension licensing@4.0.4 2026-04-28T19:28:19.941Z - info: Using extension localization@4.0.1 2026-04-28T19:28:19.941Z - info: Using extension npm@4.0.0 2026-04-28T19:28:19.943Z - info: Using extension pdf-utils@4.3.0 2026-04-28T19:28:19.943Z - info: Using extension reports@4.1.3 2026-04-28T19:28:19.944Z - info: reports extension has enabled old reports cleanup with interval 30000ms, threshold 60000ms and undefined report(s) deletion per run 2026-04-28T19:28:19.944Z - info: Using extension tags@4.0.1 2026-04-28T19:28:19.944Z - info: Using extension text@4.0.2 2026-04-28T19:28:19.944Z - info: Using extension version-control@4.1.0 2026-04-28T19:28:19.945Z - info: Using extension assets@4.2.1 2026-04-28T19:28:19.946Z - info: Using extension authorization@4.1.0 2026-04-28T19:28:19.946Z - info: Using extension browser-client@4.1.0 2026-04-28T19:28:19.946Z - info: Using extension chrome-pdf@4.1.1 2026-04-28T19:28:19.948Z - info: Using extension docx@4.7.0 2026-04-28T19:28:19.948Z - info: Using extension html-to-xlsx@4.2.0 2026-04-28T19:28:19.949Z - info: html-to-xlsx detected chrome as available html engine 2026-04-28T19:28:19.949Z - info: Using extension pptx@4.4.0 2026-04-28T19:28:19.949Z - info: Using extension scheduling@4.1.0 2026-04-28T19:28:19.950Z - info: Using extension scripts@4.2.0 2026-04-28T19:28:19.951Z - info: Using extension static-pdf@4.1.0 2026-04-28T19:28:19.951Z - info: Using extension studio@4.3.0 2026-04-28T19:28:19.963Z - info: Using extension xlsx@4.4.0 2026-04-28T19:28:19.963Z - info: Using extension public-templates@4.0.0 2026-04-28T19:28:19.964Z - info: Using extension sample-template@4.0.1 2026-04-28T19:28:19.964Z - info: Using extension studio-theme-dark@4.0.0 2026-04-28T19:28:19.965Z - info: Code sandboxing is disabled, users can potentially penetrate the local system if you allow code from external users to be part of your reports 2026-04-28T19:28:19.965Z - info: Using general timeout for rendering (reportTimeout: 12000000) 2026-04-28T19:28:19.965Z - info: Using fs provider for template store. 2026-04-28T19:28:19.966Z - info: fs store is persisting using fs for C:\apps\jsreportapp\data 2026-04-28T19:28:20.070Z - info: fs store is loading data 2026-04-28T19:28:20.315Z - info: fs store is initialized successfully 2026-04-28T19:28:20.325Z - info: Creating default express app. 2026-04-28T19:28:20.340Z - error: Error when starting http server on port 5488 Error: listen EADDRINUSE: address already in use :::5488 at Server.setupListenHandle [as _listen2] (node:net:1937:16) at listenInCluster (node:net:1994:12) at Server.listen (node:net:2099:7) at C:\apps\jsreportapp\node_modules\@jsreport\jsreport-express\lib\main.js:22:12 at new Promise (<anonymous>) at startAsync (C:\apps\jsreportapp\node_modules\@jsreport\jsreport-express\lib\main.js:16:10) at C:\apps\jsreportapp\node_modules\@jsreport\jsreport-express\lib\main.js:50:14 at Object.start (C:\apps\jsreportapp\node_modules\@jsreport\jsreport-express\lib\main.js:125:13) at Object.<anonymous> (C:\apps\jsreportapp\node_modules\@jsreport\jsreport-express\lib\main.js:333:30) at async ListenerCollection.fire (C:\apps\jsreportapp\node_modules\@jsreport\jsreport-core\lib\shared\listenerCollection.js:157:21) 2026-04-28T19:28:20.340Z - error: Error occurred during reporter init: Error: listen EADDRINUSE: address already in use :::5488 at Server.setupListenHandle [as _listen2] (node:net:1937:16) at listenInCluster (node:net:1994:12) at Server.listen (node:net:2099:7) at C:\apps\jsreportapp\node_modules\@jsreport\jsreport-express\lib\main.js:22:12 at new Promise (<anonymous>) at startAsync (C:\apps\jsreportapp\node_modules\@jsreport\jsreport-express\lib\main.js:16:10) at C:\apps\jsreportapp\node_modules\@jsreport\jsreport-express\lib\main.js:50:14 at Object.start (C:\apps\jsreportapp\node_modules\@jsreport\jsreport-express\lib\main.js:125:13) at Object.<anonymous> (C:\apps\jsreportapp\node_modules\@jsreport\jsreport-express\lib\main.js:333:30) at async ListenerCollection.fire (C:\apps\jsreportapp\node_modules\@jsreport\jsreport-core\lib\shared\listenerCollection.js:157:21) 2026-04-28T19:28:20.776Z - info: docx generation was finished rootId=pbp9huzgxenxetv, id=pbp9huzgxenxetv 2026-04-28T19:28:21.115Z - info: Rendering request 3 finished in 46396 ms rootId=pbp9huzgxenxetv, id=pbp9huzgxenxetvI generated 2 reports at 7:28 UTC.


They are both still in storage (7:37 UTC)

-
RE: Issue with cleanup extensionposted in general forum
Thank you for the quick reply. We are using version 4.8.0. Template store is fs. There is nothing in the logs related to cleanup other than an acknowledgement of the settings. What does the last part of the statement refer to with 'undefined report(s) deletion per run'?
info: reports extension has enabled old reports cleanup with interval 900000ms, threshold 1800000ms and undefined report(s) deletion per runHere is the entire config:
{ "httpPort": 5488, "store": { "provider": "fs" }, "blobStorage": { "provider": "fs" }, "logger": { "console": { "transport": "console", "level": "debug" }, "file": { "transport": "file", "level": "info", "filename": "logs/reporter.log" }, "error": { "transport": "file", "level": "error", "filename": "logs/error.log" } }, "trustUserCode": true, "reportTimeout": 12000000, "workers": { "numberOfWorkers": 8 }, "extensions": { "authentication": { "cookieSession": { "secret": "xxxxxxxxxx" }, "admin": { "username": "xxxxxxxxxx", "password": "xxxxxxxxxxx" }, "enabled": true }, "sample-template": { "createSamples": true }, "reports": { "cleanInterval": "15m", "cleanThreshold": "30m" } } } -
Issue with cleanup extensionposted in general forum
We have enabled cleanup to run every 15 minutes on reports older than 30 minutes. This works one or two times when initiated, then seems to work haphazardly. That is, checking the status of a report older than 30 minutes will return "report not found" but the document persists in storage. Is it possible we have conflicting settings in the config?
"reports": { "cleanInterval": "15m", "cleanThreshold": "30m" }
Timestamps are UTC, but you can see many old ones here, including the one that is "not found" in the screenshot above.

-
RE: docxChild with imagesposted in general forum
Great, thank you! I look forward to any updates on that topic!
-
RE: docxChild with imagesposted in general forum
Thank you for the quick reply! We are building a sort of photo log with photos rendered via url coming from an outside source. Photos will be both portrait and landscape, have different resolutions/sizes etc. The easiest way to do all this is to pass an orientation variable (boolean) in the data and then include the appropriate child template that contains nothing more than the image placeholder (that way we can use docxImage in the child template and take advantage of usePlaceholderSize, etc.). For example:
{{#each photos}}{{#if landscape}}{{docxChild "landscape_template.docx"}}{{else}}{{docxChild "portrait_template.docx"}}{{/if}}{{/each}} -
docxChild with imagesposted in general forum
Hello! Can docxChild render child templates that contain images?
-
Tags attributes through API call for specific templateposted in general forum
Is it possible to get the other attributes of the tags through an API call for a specific template? When I run something like this
localhost:5488/odata/templates?$select=tags,name,shortid&$filter=shortid eq 'myShortId'I get a return like this
{ "@odata.context": "localhost:5488/odata/$metadata#templates(tags,name,shortid)", "value": [ { "tags": [ { "shortid": "-myTagId" } ], "name": "my_template", "shortid": "myShortId" } ] }What I really need is something like this
{ "@odata.context": "localhost:5488/odata/$metadata#templates(tags,name,shortid)", "value": [ { "tags": [ { "shortid": "-myTagId", "name": "myTagName", "description": "myTagDesc" } ], "name": "my_template", "shortid": "myShortId" } ] } -
RE: child-template html into docxposted in general forum
Any update on this? We have the need to compile multiple templates into a single Word doc, either through docxChild or child templates utilizing html recipe. While the html child template works with a very simple straight text structure, any formatting or html tags that are applied results in an error pop up.

-
RE: User cannot save new templateposted in general forum
Ah, thank you! I did not realize it was under the Edit menu. I was looking at the Properties panel where permissions are assigned for individual entities. Cheers!
-
User cannot save new templateposted in general forum
Hello, I have created a new user and given them edit permissions on a few templates that are in a nested directory structure. While they can create a new template, they are unable to save it. There are other templates within the outermost directory that they do not have permission for. For example:
MainDir
-- SubDir1
--T1: no permission
--T2: no permission
-- SubDir2
--T1: user permission
--T2: user permissionThe user has edit permissions on SubDir2/T1 and T2. They can create a new template within SubDir2 but are not able to save it. They get an error message either that they are not authorized, or, upon save, a popup appears asking for the username and password over and over. There do not appear to be any permissions that can be set on the directories themselves, only the templates within. Will I, as admin, have to create and save blank templates for them or can they create them themselves?
I am using version 2.7.2
-
RE: page-break-inside: avoid in a CSS grid repeat?posted in general forum
FYI I ditched the grid for a div with columns and it works just great. no JS required. Love simple solutions!
-
RE: page-break-inside: avoid in a CSS grid repeat?posted in general forum
Thank you for the quick reply! Yes that does sound like a complex work around. I will see what I can come up with. I appreciate your response and ideas for a solution.
-
page-break-inside: avoid in a CSS grid repeat?posted in general forum
I have a div of a set of divs that I am using in a CSS grid repeat so that the column of text shows up as four columns across the page
#container { display: grid; grid-template-columns: repeat(4, 1fr); }I am having trouble eliminating a page break in the middle of a set of divs:

Any ideas how to avoid this break? The incoming data content and number of sets will be dynamic, and the comments (the last line) will be of varying length. I have tried page-break-inside: avoid everywhere I can think of to no avail.