<?xml version="1.0" encoding="utf-8"?>
<!--RSS generated by Flaimo.com RSS Builder [2026-10-20 10:34:09]-->
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"><channel><docs>https://bugs.limesurvey.org/</docs><link>https://bugs.limesurvey.org/</link><description><![CDATA[LimeSurvey bugs and feature requests - Issues]]></description><title>LimeSurvey bugs and feature requests - Issues</title><image><title>LimeSurvey bugs and feature requests - Issues</title><url>https://bugs.limesurvey.org/images/mantis_logo.png</url><link>https://bugs.limesurvey.org/</link><description><![CDATA[LimeSurvey bugs and feature requests - Issues]]></description></image><language>en</language><category>All Projects</category><ttl>10</ttl><dc:language>en</dc:language><sy:updatePeriod>hourly</sy:updatePeriod><sy:updateFrequency>1</sy:updateFrequency><item><title>20778: Configurable default values for notification fields (admin, adminemail, bounce_email) at survey creation</title><author></author><link>https://bugs.limesurvey.org/view.php?id=20778</link><description><![CDATA[Currently, when a new survey is created, the three notification fields below inherit their&lt;br /&gt;
values from the parent survey group (or from the global defaults). There is no built-in way&lt;br /&gt;
to define what those defaults should be, nor to auto-fill the bounce address from the survey&lt;br /&gt;
owner's email.&lt;br /&gt;
&lt;br /&gt;
We would like to be able to set, per instance (or per survey group), the following defaults&lt;br /&gt;
applied automatically to every newly created survey:&lt;br /&gt;
&lt;br /&gt;
  1. &quot;Administrator&quot; (admin)            -&gt; Inherit: OFF, field left empty&lt;br /&gt;
  2. &quot;Administrator email&quot; (adminemail) -&gt; Inherit: OFF, field left empty&lt;br /&gt;
  3. &quot;Bounce email&quot; (bounce_email)      -&gt; auto-filled with the survey owner's email address&lt;br /&gt;
                                           (Inherit: OFF)&lt;br /&gt;
&lt;br /&gt;
Motivation / Use case&lt;br /&gt;
---------------------&lt;br /&gt;
We manage many surveys, each owned by a different person. We want bounce/delivery-error&lt;br /&gt;
notifications to go directly to the survey owner, without having to manually edit the&lt;br /&gt;
&quot;Notification &amp; data management&quot; tab of every single survey after creation. Today this is a&lt;br /&gt;
repetitive, error-prone manual step: if an administrator forgets to switch &quot;Inherit&quot; off and&lt;br /&gt;
to set the correct bounce address, error notifications silently go to the wrong recipient (or&lt;br /&gt;
to the global admin), which can mean lost feedback and undetected invalid addresses.&lt;br /&gt;
&lt;br /&gt;
Desired behaviour&lt;br /&gt;
-----------------&lt;br /&gt;
At survey creation (UI and RemoteControl2 API), the three fields above should be initialized&lt;br /&gt;
from a configurable default policy rather than blindly inheriting:&lt;br /&gt;
&lt;br /&gt;
  - a global / per-group setting defining the default state of inheritan, inheritema,&lt;br /&gt;
    inheritbnc and the default content of admin / adminemail / bounce_email;&lt;br /&gt;
  - a special token/placeholder (e.g. {owner_email}) usable as the default for bounce_email,&lt;br /&gt;
    resolved to the email of the user who owns the survey (users.email of owner_id).&lt;br /&gt;
&lt;br /&gt;
Proposed implementation (suggestions, not prescriptive)&lt;br /&gt;
-------------------------------------------------------&lt;br /&gt;
  - Add new global settings in the &quot;Global survey settings&quot; panel for the three fields.&lt;br /&gt;
  - When a survey is created, apply these defaults instead of pure group inheritance.&lt;br /&gt;
  - Support a {owner_email} placeholder for bounce_email, resolved at save time from the&lt;br /&gt;
    owner's account.]]></description><category>Installation</category><pubDate>Tue, 20 Oct 2026 09:57:51 +0200</pubDate><guid>https://bugs.limesurvey.org/view.php?id=20778</guid><comments>https://bugs.limesurvey.org/view.php?id=20778#bugnotes</comments></item><item><title>20777: Attempting to duplicate a question group on a active survey causes an error</title><author></author><link>https://bugs.limesurvey.org/view.php?id=20777</link><description><![CDATA[-]]></description><category>Translation</category><pubDate>Mon, 19 Oct 2026 17:16:59 +0200</pubDate><guid>https://bugs.limesurvey.org/view.php?id=20777</guid><comments>https://bugs.limesurvey.org/view.php?id=20777#bugnotes</comments></item><item><title>20776: Survey question group settings are untranslated</title><author></author><link>https://bugs.limesurvey.org/view.php?id=20776</link><description><![CDATA[-]]></description><category>Translation</category><pubDate>Mon, 19 Oct 2026 13:27:59 +0200</pubDate><guid>https://bugs.limesurvey.org/view.php?id=20776</guid><comments>https://bugs.limesurvey.org/view.php?id=20776#bugnotes</comments></item><item><title>20774: Survey saving error message is untranslated</title><author></author><link>https://bugs.limesurvey.org/view.php?id=20774</link><description><![CDATA[Fix should be as simple as wrapping the string in t() on editor/src/components/wrappers/SurveyLogicProvider.js:197.]]></description><category>Translation</category><pubDate>Mon, 19 Oct 2026 08:48:37 +0200</pubDate><guid>https://bugs.limesurvey.org/view.php?id=20774</guid><comments>https://bugs.limesurvey.org/view.php?id=20774#bugnotes</comments></item><item><title>20773: React Date Range Picker is untranslated</title><author></author><link>https://bugs.limesurvey.org/view.php?id=20773</link><description><![CDATA[The react-date-range library does have a locale property for the picker component, I imagine this could be used: &lt;a href=&quot;https://www.npmjs.com/package/react-date-range&quot; rel=&quot;noopener,nofollow&quot;&gt;https://www.npmjs.com/package/react-date-range.&lt;/a&gt; The package also appears to be unmaintained.. perhaps there is a better alternative?]]></description><category>Translation</category><pubDate>Fri, 16 Oct 2026 15:52:50 +0200</pubDate><guid>https://bugs.limesurvey.org/view.php?id=20773</guid><comments>https://bugs.limesurvey.org/view.php?id=20773#bugnotes</comments></item><item><title>20772: CLI updatedb does not clear the web schema cache: admin pages show 500 DB errors for up to 1 hour after the update</title><author></author><link>https://bugs.limesurvey.org/view.php?id=20772</link><description><![CDATA[After a database update with the CLI (`php application/commands/console.php updatedb`), the web side can keep using the OLD table schema from its cache for up to 1 hour. During this time, admin pages show &quot;500 Database error&quot;.&lt;br /&gt;
&lt;br /&gt;
This is a minor issue: it fixes itself after the cache expires, and deleting the cache fixes it at once. But right after an update, it looks like the update has failed, and an admin may restore the DB or run the update again.&lt;br /&gt;
&lt;br /&gt;
I found this while testing for &lt;a href=&quot;https://bugs.limesurvey.org/view.php?id=20771&quot;&gt;20771&lt;/a&gt; (it is the second &quot;related problem&quot; at the end of that report).&lt;br /&gt;
&lt;br /&gt;
**Cause**&lt;br /&gt;
- `application/commands/console.php` defines `YII_DEBUG` as true. So in the CLI, the cache component is `CDummyCache` (`application/config/internal.php`, around line 192).&lt;br /&gt;
- At the end of the update, `$oDB-&gt;schema-&gt;refresh()` and `Yii::app()-&gt;cache-&gt;flush()` (in `updatedb_helper.php`) only clear this dummy cache. The web uses `CFileCache` in `tmp/runtime/cache`, and these files are not touched.&lt;br /&gt;
- The web caches the table schema for 3600 seconds (`schemaCachingDuration`).&lt;br /&gt;
- If a web page is opened while the DB is still old (for example the &quot;database update is already in progress&quot; page), the old schema is written to the web cache. After the CLI update ends, the web still uses it.&lt;br /&gt;
&lt;br /&gt;
**What we saw (6.17.19 -&gt; 7.3.0)**&lt;br /&gt;
- On `/index.php/dashboard/view`: `CException: Property &quot;Survey.preselectnoanswer&quot; is not defined` (`SurveysGroupsettings.php`)&lt;br /&gt;
- Right after login: `CDbException: Unknown column 'survey.nokeyboard'`&lt;br /&gt;
- The cache file for the `lime_surveys` schema still had `nokeyboard` (removed by `Update_702`) and did not have `preselectnoanswer` (added by `Update_712`). Its time matched the moment we opened the &quot;update in progress&quot; page.&lt;br /&gt;
- With `debug` = 1 (no cache), the error went away. With `debug` = 0, it came back. After deleting `tmp/runtime/cache/*`, it was fixed at once.&lt;br /&gt;
- The same code is still in 7.5.1 and master (`console.php`, `internal.php`, `updatedb_helper.php`). `updatedb_helper.php` even has the comment &quot;Try to clear tmp/runtime (database cache files)&quot; before `Yii::app()-&gt;cache-&gt;flush()`, but in the CLI this only flushes `CDummyCache`.&lt;br /&gt;
&lt;br /&gt;
**Workaround**&lt;br /&gt;
Delete `tmp/runtime/cache/*` manually after a CLI update. We now do this in our update procedure.&lt;br /&gt;
&lt;br /&gt;
**Idea for a fix**&lt;br /&gt;
After a successful CLI update, also clear the web cache (`tmp/runtime/cache`), for example by flushing a `CFileCache` instance for that directory.&lt;br /&gt;
&lt;br /&gt;
**Environment**&lt;br /&gt;
LimeSurvey 7.3.0 (build 260922) / MariaDB 10.5.26 / PHP 8.2.33 / Linux (shared hosting)]]></description><category>Installation</category><pubDate>Fri, 16 Oct 2026 13:23:08 +0200</pubDate><guid>https://bugs.limesurvey.org/view.php?id=20772</guid><comments>https://bugs.limesurvey.org/view.php?id=20772#bugnotes</comments></item><item><title>20771: Update_700 re-run irreversibly destroys timing data and ranking subquestions; migrated 6.x surveys then fail with 500 DB error</title><author></author><link>https://bugs.limesurvey.org/view.php?id=20771</link><description><![CDATA[When Update_700 (6.x -&gt; 7.x migration, DBVersion 651 -&gt; 700) runs on a database where some or all tables are already migrated, data is deleted without any error.&lt;br /&gt;
&lt;br /&gt;
What is lost:&lt;br /&gt;
1. Timing data. Already migrated tables &quot;lime_timings_&lt;sid&gt;&quot; and &quot;lime_old_timings_&lt;sid&gt;_&lt;date&gt;&quot; are replaced by EMPTY tables &quot;lime_&lt;sid&gt;&quot; and &quot;lime_old_&lt;sid&gt;_&lt;date&gt;&quot;. The original rows are dropped.&lt;br /&gt;
2. Ranking questions. All subquestions of ranking (type R) questions are deleted and cannot be rebuilt (subquestions 3 -&gt; 0; the answers were already removed by the first run).&lt;br /&gt;
Response tables (lime_responses_&lt;sid&gt;) are not affected.&lt;br /&gt;
&lt;br /&gt;
The damage cannot be undone inside LimeSurvey: the original tables are dropped and no copy is kept, so the only way back is a backup taken before the update.&lt;br /&gt;
&lt;br /&gt;
Impact on a real site: our staging server (updated from 6.x to 7.x on 2026-06-20, now 7.3.0) lost timing and ranking data in the same way. Since then, opening any survey that was created in 6.x as a respondent always shows:&lt;br /&gt;
  &quot;500: Internal Server Error - Database error!&quot;&lt;br /&gt;
So the surveys inherited from 6.x can no longer be used. (This error stays for months, so it is not the 1-hour schema cache problem described at the end.)&lt;br /&gt;
&lt;br /&gt;
This can happen in real life, not only in a test:&lt;br /&gt;
(a) An update stops in the middle (web timeout, killed process) and the admin starts the update again. Depending on where it stopped, the second run ends with &quot;Database has been successfully upgraded to version 717&quot; and NO error, but the tables that were migrated before the stop are now empty. The admin does not notice.&lt;br /&gt;
(b) DBVersion is below 700 again after a finished migration (for example after a partial DB restore).&lt;br /&gt;
&lt;br /&gt;
Cause (application/helpers/update/updates/Update_700.php, line numbers from 7.5.1 / master; the same code is in 7.3.0 and 7.4.0):&lt;br /&gt;
- getTimingScript() (line ~1199) finds timing tables with TABLE_NAME LIKE '%timings%'. This also matches the NEW name &quot;lime_timings_&lt;sid&gt;&quot;. REPLACE() then makes the new name &quot;lime_&lt;sid&gt;&quot;.&lt;br /&gt;
- These tables are not &quot;handled&quot; by the column conversion, so the loop at lines ~2310-2316 runs CREATE (empty copy with the new name) and then DROP of the original table. No data is copied.&lt;br /&gt;
- up() (line ~2015) first runs deleteRankingSubquestions() (line ~1376), which deletes ALL subquestions of ranking questions without any condition. The answers that are needed to rebuild them were already deleted at the end of the first run.&lt;br /&gt;
- Response tables are found with 'survey_[0-9]*', so already migrated &quot;responses_*&quot; tables are skipped. This is why only timings (and ranking subquestions) are lost.&lt;br /&gt;
&lt;br /&gt;
Expected result:&lt;br /&gt;
Update_700 should skip tables that are already migrated, or stop with a clear error. It should never drop a table that has rows without copying them. Ranking subquestions should only be deleted when there are answers to rebuild them from.&lt;br /&gt;
&lt;br /&gt;
Actual result:&lt;br /&gt;
Timing data and ranking subquestions are deleted silently. In case (a) there is no error message at all.&lt;br /&gt;
&lt;br /&gt;
Ideas for a fix:&lt;br /&gt;
- getTimingScript(): match only the old name pattern (for example &quot;survey\_%\_timings&quot;), not &quot;%timings%&quot;.&lt;br /&gt;
- Before CREATE/DROP of a not handled table, check if it has rows. If yes, copy the data or throw an error.&lt;br /&gt;
- deleteRankingSubquestions(): only delete when the ranking question still has rows in {{answers}}.&lt;br /&gt;
&lt;br /&gt;
Related problems found in the same tests (I can file them separately if you want):&lt;br /&gt;
- After &quot;kill -9&quot; during &quot;console.php updatedb&quot;, maintenancemode stays &quot;hard&quot;, even after a successful second run.&lt;br /&gt;
- CLI updatedb does not clear the web schema cache (tmp/runtime/cache). console.php sets YII_DEBUG=true, so Yii::app()-&gt;cache-&gt;flush() only flushes CDummyCache. If a web page was opened during the update (for example the &quot;update is already in progress&quot; page), the web side caches the old (651) schema for up to 3600 s (schemaCachingDuration) and shows 500 errors after the update: Property &quot;Survey.preselectnoanswer&quot; is not defined / Unknown column 'survey.nokeyboard'.]]></description><category>Installation</category><pubDate>Fri, 16 Oct 2026 09:30:51 +0200</pubDate><guid>https://bugs.limesurvey.org/view.php?id=20771</guid><comments>https://bugs.limesurvey.org/view.php?id=20771#bugnotes</comments></item><item><title>20767: Stracktrace in new editor</title><author></author><link>https://bugs.limesurvey.org/view.php?id=20767</link><description><![CDATA[There is a stacktrace when i click any survey based on the fruity theme with the new editor enabled:&lt;br /&gt;
&lt;br /&gt;
REQUEST_URI=/rest/v1/survey-detail/674933&lt;br /&gt;
2026/10/13 15:16:52 [error] [php] simplexml_load_string(): Entity: line 1: parser error : Extra content at the end of the document (/var/www/limesurvey/application/models/TemplateManifest.php:1457)&lt;br /&gt;
Stack trace:&lt;br /&gt;
#0 /var/www/limesurvey/application/models/TemplateManifest.php(1457): simplexml_load_string()&lt;br /&gt;
#1 /var/www/limesurvey/application/models/services/SurveyThemeConfiguration.php(186): getOptionAttributes()&lt;br /&gt;
#2 /var/www/limesurvey/application/libraries/Api/Command/V1/Transformer/Output/TransformerOutputSurveyDetail.php(406): LimeSurvey\Models\Services\SurveyThemeConfiguration-&gt;updateCommon()&lt;br /&gt;
#3 /var/www/limesurvey/application/libraries/Api/Command/V1/Transformer/Output/TransformerOutputSurveyDetail.php(212): LimeSurvey\Api\Command\V1\Transformer\Output\TransformerOutputSurveyDetail-&gt;transformThemeSettings()&lt;br /&gt;
#4 /var/www/limesurvey/application/libraries/Api/Command/V1/SurveyDetail.php(117): LimeSurvey\Api\Command\V1\Transformer\Output\TransformerOutputSurveyDetail-&gt;transform()&lt;br /&gt;
#5 /var/www/limesurvey/application/libraries/Api/Rest/Endpoint.php(119): LimeSurvey\Api\Command\V1\SurveyDetail-&gt;run()&lt;br /&gt;
#6 /var/www/limesurvey/application/controllers/RestController.php(42): LimeSurvey\Api\Rest\Endpoint-&gt;run()&lt;br /&gt;
#7 /var/www/limesurvey/vendor/yiisoft/yii/framework/web/CWebApplication.php(282): RestController-&gt;run()&lt;br /&gt;
#8 /var/www/limesurvey/vendor/yiisoft/yii/framework/web/CWebApplication.php(141): LSYii_Application-&gt;runController()&lt;br /&gt;
#9 /var/www/limesurvey/vendor/yiisoft/yii/framework/base/CApplication.php(185): LSYii_Application-&gt;processRequest()&lt;br /&gt;
#10 /var/www/limesurvey/index.php(161): LSYii_Application-&gt;run()]]></description><category>Survey editing</category><pubDate>Wed, 14 Oct 2026 16:47:41 +0200</pubDate><guid>https://bugs.limesurvey.org/view.php?id=20767</guid><comments>https://bugs.limesurvey.org/view.php?id=20767#bugnotes</comments></item><item><title>20766: Error when running a different survey, upon closing the current one</title><author></author><link>https://bugs.limesurvey.org/view.php?id=20766</link><description><![CDATA[The error described below blocks blocks the system for the user until session ends. It occurs both for admins and users working on subsequent surveys.&lt;br /&gt;
Re-opening the crashed survey or admin panel on a private window works.&lt;br /&gt;
Note: Looking at the cookies, the Session-ID changes every time a different survey is started. The error appears only after switching page from the welcome to another one.]]></description><category>Other</category><pubDate>Wed, 14 Oct 2026 14:25:58 +0200</pubDate><guid>https://bugs.limesurvey.org/view.php?id=20766</guid><comments>https://bugs.limesurvey.org/view.php?id=20766#bugnotes</comments></item><item><title>20764: "All" string is untranslated in Survey Statistics Expert view</title><author></author><link>https://bugs.limesurvey.org/view.php?id=20764</link><description><![CDATA[-]]></description><category>Translation</category><pubDate>Tue, 13 Oct 2026 12:48:39 +0200</pubDate><guid>https://bugs.limesurvey.org/view.php?id=20764</guid><comments>https://bugs.limesurvey.org/view.php?id=20764#bugnotes</comments></item><item><title>20763: "Search:" string is untranslated in Integration panel view</title><author></author><link>https://bugs.limesurvey.org/view.php?id=20763</link><description><![CDATA[-]]></description><category>Translation</category><pubDate>Tue, 13 Oct 2026 12:48:47 +0200</pubDate><guid>https://bugs.limesurvey.org/view.php?id=20763</guid><comments>https://bugs.limesurvey.org/view.php?id=20763#bugnotes</comments></item><item><title>20761: MS-SQL Survey activation can remove unique index on response table</title><author></author><link>https://bugs.limesurvey.org/view.php?id=20761</link><description><![CDATA[With MS-SQD : there are potential issue about the unique index in response table.&lt;br /&gt;
Sometimes receive an SQL error about a duplicate index after survey is activated: &quot;duplicate index on INDEX_1234  ...&quot;]]></description><category>Other</category><pubDate>Mon, 12 Oct 2026 18:18:31 +0200</pubDate><guid>https://bugs.limesurvey.org/view.php?id=20761</guid><comments>https://bugs.limesurvey.org/view.php?id=20761#bugnotes</comments></item><item><title>20760: All-in-one survey: question stays visible after an answer change although the question group it depends on is hidden</title><author></author><link>https://bugs.limesurvey.org/view.php?id=20760</link><description><![CDATA[In an all-in-one survey, a question whose condition uses a question from a later question group can stay visible after the participant changes an answer, even though that later group is hidden. The question only hides again after another answer change. If the participant fills it in, the answer is dropped on submit.]]></description><category>Expression Manager</category><pubDate>Sat, 10 Oct 2026 08:42:20 +0200</pubDate><guid>https://bugs.limesurvey.org/view.php?id=20760</guid><comments>https://bugs.limesurvey.org/view.php?id=20760#bugnotes</comments></item><item><title>20751: Unclear error message when re-using existing survey alias</title><author></author><link>https://bugs.limesurvey.org/view.php?id=20751</link><description><![CDATA[When you set a survey alias and then use that same alias for a different survey, there is an unclear error message]]></description><category>Survey editing</category><pubDate>Tue, 06 Oct 2026 12:54:39 +0200</pubDate><guid>https://bugs.limesurvey.org/view.php?id=20751</guid><comments>https://bugs.limesurvey.org/view.php?id=20751#bugnotes</comments></item><item><title>20747: missing file "_tutorial_menu.php"</title><author></author><link>https://bugs.limesurvey.org/view.php?id=20747</link><description><![CDATA[After a manual upgrade to version 7.4.0, the following server error occurs:&lt;br /&gt;
&lt;br /&gt;
500: Internal Server Error - DashboardController cannot find the requested view &quot;/admin/super/_tutorial_menu&quot;.&lt;br /&gt;
An internal error occurred while the web server was processing the request.&lt;br /&gt;
Please contact the administrator to report this issue.&lt;br /&gt;
&lt;br /&gt;
Cause:&lt;br /&gt;
Missing file &quot;limesurvey/application/views/admin/super/_tutorial_menu.php&quot;&lt;br /&gt;
&lt;br /&gt;
Workaround:&lt;br /&gt;
Create a file named &quot;_tutorial_menu.php&quot; (even an empty one).]]></description><category>_ Unknown</category><pubDate>Thu, 01 Oct 2026 16:23:46 +0200</pubDate><guid>https://bugs.limesurvey.org/view.php?id=20747</guid><comments>https://bugs.limesurvey.org/view.php?id=20747#bugnotes</comments></item><item><title>20737: Index with question by question mode visually roken + usage of nav</title><author></author><link>https://bugs.limesurvey.org/view.php?id=20737</link><description><![CDATA[With vanilla: the index is visually broken, and don't use nav and navigation]]></description><category>Theme editor</category><pubDate>Tue, 29 Sep 2026 12:48:15 +0200</pubDate><guid>https://bugs.limesurvey.org/view.php?id=20737</guid><comments>https://bugs.limesurvey.org/view.php?id=20737#bugnotes</comments></item><item><title>20736: Better difference between No response and not activated</title><author></author><link>https://bugs.limesurvey.org/view.php?id=20736</link><description><![CDATA[In survey listing : difference between &quot;No response&quot; and &quot;No response tables&quot;  is unclear.]]></description><category>Ergonomy</category><pubDate>Sat, 10 Oct 2026 10:55:31 +0200</pubDate><guid>https://bugs.limesurvey.org/view.php?id=20736</guid><comments>https://bugs.limesurvey.org/view.php?id=20736#bugnotes</comments></item><item><title>20734: When DB have an issue unable to fix it</title><author></author><link>https://bugs.limesurvey.org/view.php?id=20734</link><description><![CDATA[If a survey is set as active== Y but the responses table are deleted or disappears (or any other error ) : no way to login and fix the issue.]]></description><category>Other</category><pubDate>Tue, 29 Sep 2026 12:13:15 +0200</pubDate><guid>https://bugs.limesurvey.org/view.php?id=20734</guid><comments>https://bugs.limesurvey.org/view.php?id=20734#bugnotes</comments></item><item><title>20729: Calling export_responses over JSON-RPC with sDocumentType = "csv" always returns HTTP 500 with a TypeError.</title><author></author><link>https://bugs.limesurvey.org/view.php?id=20729</link><description><![CDATA[Calling export_responses over JSON-RPC with sDocumentType = &quot;csv&quot; always returns HTTP 500 with a TypeError. The same call with &quot;json&quot; or &quot;xls&quot; succeeds on the same survey, same session and same user. CSV export from the admin web UI also works. The problem was already present on 6.x and persisted after upgrading to 7.3.0.&lt;br /&gt;
&lt;br /&gt;
When EXPORT_FORMAT is &quot;xls&quot; or &quot;json&quot; works fine, when &quot;csv&quot; it errors. R code that produces error in step export_b64 &lt;- ls_call:&lt;br /&gt;
&lt;br /&gt;
ls_call &lt;- function(method, params) {&lt;br /&gt;
  body &lt;- jsonlite::toJSON(list(method = method, id = 1, params = params),&lt;br /&gt;
                           auto_unbox = TRUE)&lt;br /&gt;
  resp &lt;- httr::POST(LS_API_URL, httr::content_type_json(), body = body)&lt;br /&gt;
  if (httr::http_error(resp)) {&lt;br /&gt;
    # Server-side failures put the actual reason in the body, usually as an&lt;br /&gt;
    # HTML error page -- strip the markup and show just the readable text&lt;br /&gt;
    txt &lt;- httr::content(resp, as = &quot;text&quot;, encoding = &quot;UTF-8&quot;)&lt;br /&gt;
    txt &lt;- gsub(&quot;(?is)&lt;(head|script|style)\\b.*?&lt;/\\1&gt;&quot;, &quot; &quot;, txt, perl = TRUE)&lt;br /&gt;
    txt &lt;- gsub(&quot;&lt;[^&gt;]+&gt;&quot;, &quot; &quot;, txt)&lt;br /&gt;
    txt &lt;- trimws(gsub(&quot;\\s+&quot;, &quot; &quot;, txt))&lt;br /&gt;
    stop(method, &quot;: HTTP &quot;, httr::status_code(resp), &quot;\n&quot;, substr(txt, 1, 2000))&lt;br /&gt;
  }&lt;br /&gt;
  out &lt;- jsonlite::fromJSON(httr::content(resp, as = &quot;text&quot;, encoding = &quot;UTF-8&quot;))&lt;br /&gt;
  if (!is.null(out$error)) stop(method, &quot;: &quot;, out$error)&lt;br /&gt;
  if (is.list(out$result) &amp;&amp; !is.null(out$result$status)) {&lt;br /&gt;
    stop(method, &quot;: &quot;, out$result$status)&lt;br /&gt;
  }&lt;br /&gt;
  out$result&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
session_key &lt;- ls_call(&quot;get_session_key&quot;, list(LS_USER, LS_PASSWORD))&lt;br /&gt;
&lt;br /&gt;
export_b64 &lt;- ls_call(&quot;export_responses&quot;, list(&lt;br /&gt;
  session_key, survey$survey_id, EXPORT_FORMAT, survey$lang,&lt;br /&gt;
  COMPLETION, HEADING_TYPE, RESPONSE_TYPE&lt;br /&gt;
))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
So exporting in xls is the workaround, but given that csv is the standard for data exchange, it would be good to get the &quot;csv&quot; format working.]]></description><category>Import/Export</category><pubDate>Sun, 11 Oct 2026 06:00:05 +0200</pubDate><guid>https://bugs.limesurvey.org/view.php?id=20729</guid><comments>https://bugs.limesurvey.org/view.php?id=20729#bugnotes</comments></item><item><title>20726: Question attributes diverge between React editor and classic editor</title><author></author><link>https://bugs.limesurvey.org/view.php?id=20726</link><description><![CDATA[This is a problem as fixes don't reach both editors. In some instances it is even worse as different question attributes are attributed to different question themes. For example this blocks a fix for &lt;a href=&quot;https://bugs.limesurvey.org/view.php?id=18721&quot;&gt;18721&lt;/a&gt;]]></description><category>Question theme</category><pubDate>Thu, 24 Sep 2026 21:36:11 +0200</pubDate><guid>https://bugs.limesurvey.org/view.php?id=20726</guid><comments>https://bugs.limesurvey.org/view.php?id=20726#bugnotes</comments></item><item><title>20725: New Question-Editor - missing button/possibility to manual "Data Entry"</title><author></author><link>https://bugs.limesurvey.org/view.php?id=20725</link><description><![CDATA[In the new (!) question editor i can't see a button or possibilty to enter the page &quot;data entry&quot; in a running survey in the category &quot;results&quot;.&lt;br /&gt;
Even not in the &quot;...&quot;-menus.]]></description><category>Other</category><pubDate>Thu, 24 Sep 2026 17:57:30 +0200</pubDate><guid>https://bugs.limesurvey.org/view.php?id=20725</guid><comments>https://bugs.limesurvey.org/view.php?id=20725#bugnotes</comments></item><item><title>20724: Page to define or import label sets is not reachable</title><author></author><link>https://bugs.limesurvey.org/view.php?id=20724</link><description><![CDATA[Page to define or import label sets is not reachable.]]></description><category>Label sets</category><pubDate>Fri, 25 Sep 2026 08:30:13 +0200</pubDate><guid>https://bugs.limesurvey.org/view.php?id=20724</guid><comments>https://bugs.limesurvey.org/view.php?id=20724#bugnotes</comments></item><item><title>20722: When check data integrity : if you have a old response table : it broke</title><author></author><link>https://bugs.limesurvey.org/view.php?id=20722</link><description><![CDATA[When there are old response table  data inetgrity result throiw a DB error]]></description><category>Database design</category><pubDate>Thu, 24 Sep 2026 17:59:53 +0200</pubDate><guid>https://bugs.limesurvey.org/view.php?id=20722</guid><comments>https://bugs.limesurvey.org/view.php?id=20722#bugnotes</comments></item><item><title>20719: Access mode button text is untranslated on state change</title><author></author><link>https://bugs.limesurvey.org/view.php?id=20719</link><description><![CDATA[See screenshot below.]]></description><category>Survey editing</category><pubDate>Fri, 16 Oct 2026 14:32:13 +0200</pubDate><guid>https://bugs.limesurvey.org/view.php?id=20719</guid><comments>https://bugs.limesurvey.org/view.php?id=20719#bugnotes</comments></item><item><title>20718: error trying to update to 7.2</title><author></author><link>https://bugs.limesurvey.org/view.php?id=20718</link><description><![CDATA[Call to undefined function getHtmlLangAttributeValue()&lt;br /&gt;
&lt;br /&gt;
/var/www/limesurvey7/application/core/LSETwigViewRenderer.php(690)&lt;br /&gt;
&lt;br /&gt;
678         // (in the future, should be template dependant done via XML file)&lt;br /&gt;
679         $aData[&quot;aSurveyInfo&quot;] = array_merge($aData[&quot;aSurveyInfo&quot;], $oTemplate-&gt;getClassAndAttributes());&lt;br /&gt;
680 &lt;br /&gt;
681         $languagecode = App()-&gt;getLanguage();&lt;br /&gt;
682         if (!empty($aData['aSurveyInfo']['sid']) &amp;&amp; Survey::model()-&gt;findByPk($aData['aSurveyInfo']['sid'])) {&lt;br /&gt;
683             if (!in_array($languagecode, Survey::model()-&gt;findByPk($aData['aSurveyInfo']['sid'])-&gt;getAllLanguages())) {&lt;br /&gt;
684                 $languagecode = Survey::model()-&gt;findByPk($aData['aSurveyInfo']['sid'])-&gt;language;&lt;br /&gt;
685             }&lt;br /&gt;
686         }&lt;br /&gt;
687 &lt;br /&gt;
688         $aData[&quot;aSurveyInfo&quot;]['languagecode']     = $languagecode;&lt;br /&gt;
689         /* Separate from 'languagecode' since some codes (e.g. 'nl-informal') are not valid values for the HTML lang attribute */&lt;br /&gt;
690         $aData[&quot;aSurveyInfo&quot;]['htmllanguagecode'] = getHtmlLangAttributeValue($languagecode);&lt;br /&gt;
691         $aData[&quot;aSurveyInfo&quot;]['dir']              = (getLanguageRTL($languagecode)) ? &quot;rtl&quot; : &quot;ltr&quot;;&lt;br /&gt;
692 &lt;br /&gt;
693         if (!empty($aData['aSurveyInfo']['sid'])) {&lt;br /&gt;
694             $showxquestions                            = App()-&gt;getConfig('showxquestions');&lt;br /&gt;
695             $aData[&quot;aSurveyInfo&quot;]['bShowxquestions']  = ($showxquestions == 'show' ||&lt;br /&gt;
696                 ($showxquestions == 'choose' &amp;&amp; !isset($aData['aSurveyInfo']['showxquestions'])) ||&lt;br /&gt;
697                 ($showxquestions == 'choose' &amp;&amp; $aData['aSurveyInfo']['showxquestions'] == 'Y'));&lt;br /&gt;
698 &lt;br /&gt;
699 &lt;br /&gt;
700             // NB: Session is flushed at submit, so sid is not defined here.&lt;br /&gt;
701             if (&lt;br /&gt;
702                 isset($_SESSION['responses_' . $aData['aSurveyInfo']['sid']]) &amp;&amp;]]></description><category>Assets</category><pubDate>Wed, 23 Sep 2026 10:39:47 +0200</pubDate><guid>https://bugs.limesurvey.org/view.php?id=20718</guid><comments>https://bugs.limesurvey.org/view.php?id=20718#bugnotes</comments></item></channel></rss>
