Repository navigation
v3.32.0 — exports that read like a report
The saved export is now a session report that reads like a Quarto or R Markdown document, not a copy of the chat panel. It records which model produced it. Also a fix for private deployments that opt out of the export in config.json, and a docs catch-up.
See it: sample report, re-exported from a real TPL Protected Lands Explorer session.
The export is a session report (#388, #389)
- One section per question, headed by the user's words verbatim, with a table of contents (floating on wide screens).
- Code chunks with output. Each SQL-carrying call (
query,register_hex_tiles,render_chart,filter_by_query) is a folded code chunk with its output beneath it, in the order it ran, followed by the model's answer as prose. Show all / Hide all code plus the existing R · Python · SQL switch. - Charts are figures. Each
render_chartthe session drew is re-drawn at report width as a captioned figure under its chunk, even if the user closed its panel. A chart drawn from rows the model passed inline (rather than SQL) says so. - Intermediate calls are summarised, not dumped. Schema and catalog lookups become one Consulted … line, map actions one line each, and failed or retried calls a count.
- A session log appendix, collapsed, keeps every call with its arguments and result, lookups and failures included. The body is curated; the log shows nothing was hidden. It stays folded when printed.
- Model disclosure. Under the title: "Outputs generated with GLEN using <model> on <date>", plus a note that the prose was written by the model. The model is recorded per question, so a mid-session switch shows, and each section names its own when more than one was used. The link goes to the project docs site; set
export.project_urlto point it elsewhere. - Colophon with the GLEN version the app is pinned to, read off the jsDelivr URL.
- Fixed: every query used to appear twice (once in the call row, once in the result row).
The export is now built from a structured record of the session rather than a clone of the chat DOM. The renderer is a new DOM-free module, app/export-report.js, with 99% line coverage.
Fix
"export"inconfig.jsonis now honoured (#393). The guide told private deployments to opt out with"export": falsein the deploy-timeconfig.json, butmain.jsnever merged that key. An app that opted out only in its ConfigMap still offered the export. If you run a private app, check it actually has the export off after upgrading.
Docs (#392)
- New sections: GeoJSON upload (
upload_enabled), including the bucket's anonymous-PUT + CORS requirement, and the read-tool memo (tool_memo). - A table of the
config.jsonkeys the app reads. - The top-level fields table now lists every opt-in feature block.
- Corrected deployment guidance that predated version pinning, and updated stale example pins.
Upgrading
Drop-in from v3.31.x. No config changes needed.
- Exported files are now named
glen-session-YYYY-MM-DD-HHMM.html(wasglen-chat-…). ChatUItakes an optional fifth constructor argument, theChartRenderer.main.jspasses it, so this only matters to custom bootstraps.- Moving live chart panels into the sidebar is planned separately (#391); they still float over the map in this release.
Full changelog: v3.31.0...v3.32.0