issue: Settings - JS error prevents saving due to RAGConfig.ALLOWED_FILE_EXTENSIONS being array #5249

Closed
opened 2025-11-11 16:15:35 -06:00 by GiteaMirror · 1 comment
Owner

Originally created by @brainboutique on GitHub (May 20, 2025).

Check Existing Issues

  • I have searched the existing issues and discussions.
  • I am using the latest version of Open WebUI.

Installation Method

Docker

Open WebUI Version

v0.6.10

Ollama Version (if applicable)

No response

Operating System

Linux

Browser (if applicable)

Chrome

Confirmation

  • I have read and followed all instructions in README.md.
  • I am using the latest version of both Open WebUI and Ollama.
  • I have included the browser console logs.
  • I have included the Docker container logs.
  • I have listed steps to reproduce the bug in detail.

Expected Behavior

In Settings "Documents", I would expect "Save" to save changes all the time.

Actual Behavior

It seems as if "Allowed File Extensions" is not modified (even if nulled), saving only saves a subset of the settings of that page.

Developer console shows

Documents.svelte:173 Uncaught (in promise) TypeError: b.ALLOWED_FILE_EXTENSIONS.split is not a function
    at T (Documents.svelte:173:73)

ANY change in that field - even if it just adds and then removes a character, allows the settings to be saved once. On subsequent save (without any changes) it gives same error as above.

Also it seems as if the post to /api/v1/retrieval/embedding/update only contains a subset of the overall settings object:

{
  "embedding_engine": "ollama",
  "embedding_model": "nomic-embed-text",
  "embedding_batch_size": 10,
  "ollama_config": {
    "key": "",
    "url": "http://host.docker.internal:11434"
  },
  "openai_config": {
    "key": "",
    "url": "https://api.openai.com/v1"
  }
}

Steps to Reproduce

  1. Go to settings
  2. Attempt a save
  3. A banner is displayed "Embedding model set to "xxx"" - but NO banner like "Settings saved successfully!"
  4. In developer console, error above is displayed

Logs & Screenshots

+layout.svelte:549 Backend config: {status: true, name: 'Selecta JAI - Powered by OpenWebUI (on GPU) (Open WebUI)', version: '0.6.10', default_locale: '', oauth: {…}, …}
+layout.svelte:89 connected swnPZxhpP7ztfb2_AABF
+layout.svelte:108 user-list {user_ids: Array(2)}
+layout.svelte:113 usage {models: Array(0)}
SearchModal.svelte:30 search 
+layout.svelte:108 user-list {user_ids: Array(2)}
General.svelte:62 {current: '0.6.10', latest: '0.6.10'}
General.svelte:65 false
Documents.svelte:173 Uncaught (in promise) TypeError: b.ALLOWED_FILE_EXTENSIONS.split is not a function
    at T (Documents.svelte:173:73)
T @ Documents.svelte:173
await in T
(anonymous) @ Documents.svelte:251
(anonymous) @ dom.js:371
ConfirmDialog.svelte:35 Escape
Documents.svelte:173 Uncaught (in promise) TypeError: b.ALLOWED_FILE_EXTENSIONS.split is not a function
    at T (Documents.svelte:173:73)
T @ Documents.svelte:173
await in T
(anonymous) @ Documents.svelte:251
(anonymous) @ dom.js:371
Documents.svelte:173 Uncaught (in promise) TypeError: b.ALLOWED_FILE_EXTENSIONS.split is not a function
    at T (Documents.svelte:173:73)
T @ Documents.svelte:173
await in T
(anonymous) @ Documents.svelte:251
(anonymous) @ dom.js:371
Documents.svelte:173 Uncaught (in promise) TypeError: b.ALLOWED_FILE_EXTENSIONS.split is not a function
    at T (Documents.svelte:173:73)
T @ Documents.svelte:173
await in T
(anonymous) @ Documents.svelte:251
(anonymous) @ dom.js:371
Documents.svelte:173 Uncaught (in promise) TypeError: b.ALLOWED_FILE_EXTENSIONS.split is not a function
    at T (Documents.svelte:173:73)
T @ Documents.svelte:173
await in T
(anonymous) @ Documents.svelte:251
(anonymous) @ dom.js:371
Documents.svelte:173 Uncaught (in promise) TypeError: b.ALLOWED_FILE_EXTENSIONS.split is not a function
    at T (Documents.svelte:173:73)
T @ Documents.svelte:173
await in T
(anonymous) @ Documents.svelte:251
(anonymous) @ dom.js:371
Documents.svelte:173 Uncaught (in promise) TypeError: b.ALLOWED_FILE_EXTENSIONS.split is not a function
    at T (Documents.svelte:173:73)
T @ Documents.svelte:173
await in T
(anonymous) @ Documents.svelte:251
(anonymous) @ dom.js:371
Documents.svelte:173 Uncaught (in promise) TypeError: b.ALLOWED_FILE_EXTENSIONS.split is not a function
    at T (Documents.svelte:173:73)
T @ Documents.svelte:173
await in T
(anonymous) @ Documents.svelte:251
(anonymous) @ dom.js:371

RAGConfig.ALLOWED_FILE_EXTENSIONS = RAGConfig.ALLOWED_FILE_EXTENSIONS.split(',')
			.map((ext) => ext.trim())
			.filter((ext) => ext !== '');

Image

Additional Information

The variable RAGConfig.ALLOWED_FILE_EXTENSIONS is already an array if not changed!

Originally created by @brainboutique on GitHub (May 20, 2025). ### Check Existing Issues - [x] I have searched the existing issues and discussions. - [x] I am using the latest version of Open WebUI. ### Installation Method Docker ### Open WebUI Version v0.6.10 ### Ollama Version (if applicable) _No response_ ### Operating System Linux ### Browser (if applicable) Chrome ### Confirmation - [x] I have read and followed all instructions in `README.md`. - [x] I am using the latest version of **both** Open WebUI and Ollama. - [x] I have included the browser console logs. - [x] I have included the Docker container logs. - [x] I have listed steps to reproduce the bug in detail. ### Expected Behavior In Settings "Documents", I would expect "Save" to save changes all the time. ### Actual Behavior It seems as if "Allowed File Extensions" is not modified (even if nulled), saving only saves a subset of the settings of that page. Developer console shows ``` Documents.svelte:173 Uncaught (in promise) TypeError: b.ALLOWED_FILE_EXTENSIONS.split is not a function at T (Documents.svelte:173:73) ``` ANY change in that field - even if it just adds and then removes a character, allows the settings to be saved once. On subsequent save (without any changes) it gives same error as above. Also it seems as if the post to /api/v1/retrieval/embedding/update only contains a subset of the overall settings object: ``` { "embedding_engine": "ollama", "embedding_model": "nomic-embed-text", "embedding_batch_size": 10, "ollama_config": { "key": "", "url": "http://host.docker.internal:11434" }, "openai_config": { "key": "", "url": "https://api.openai.com/v1" } } ``` ### Steps to Reproduce 1. Go to settings 2. Attempt a save 3. A banner is displayed "Embedding model set to "xxx"" - but NO banner like "Settings saved successfully!" 4. In developer console, error above is displayed ### Logs & Screenshots ``` +layout.svelte:549 Backend config: {status: true, name: 'Selecta JAI - Powered by OpenWebUI (on GPU) (Open WebUI)', version: '0.6.10', default_locale: '', oauth: {…}, …} +layout.svelte:89 connected swnPZxhpP7ztfb2_AABF +layout.svelte:108 user-list {user_ids: Array(2)} +layout.svelte:113 usage {models: Array(0)} SearchModal.svelte:30 search +layout.svelte:108 user-list {user_ids: Array(2)} General.svelte:62 {current: '0.6.10', latest: '0.6.10'} General.svelte:65 false Documents.svelte:173 Uncaught (in promise) TypeError: b.ALLOWED_FILE_EXTENSIONS.split is not a function at T (Documents.svelte:173:73) T @ Documents.svelte:173 await in T (anonymous) @ Documents.svelte:251 (anonymous) @ dom.js:371 ConfirmDialog.svelte:35 Escape Documents.svelte:173 Uncaught (in promise) TypeError: b.ALLOWED_FILE_EXTENSIONS.split is not a function at T (Documents.svelte:173:73) T @ Documents.svelte:173 await in T (anonymous) @ Documents.svelte:251 (anonymous) @ dom.js:371 Documents.svelte:173 Uncaught (in promise) TypeError: b.ALLOWED_FILE_EXTENSIONS.split is not a function at T (Documents.svelte:173:73) T @ Documents.svelte:173 await in T (anonymous) @ Documents.svelte:251 (anonymous) @ dom.js:371 Documents.svelte:173 Uncaught (in promise) TypeError: b.ALLOWED_FILE_EXTENSIONS.split is not a function at T (Documents.svelte:173:73) T @ Documents.svelte:173 await in T (anonymous) @ Documents.svelte:251 (anonymous) @ dom.js:371 Documents.svelte:173 Uncaught (in promise) TypeError: b.ALLOWED_FILE_EXTENSIONS.split is not a function at T (Documents.svelte:173:73) T @ Documents.svelte:173 await in T (anonymous) @ Documents.svelte:251 (anonymous) @ dom.js:371 Documents.svelte:173 Uncaught (in promise) TypeError: b.ALLOWED_FILE_EXTENSIONS.split is not a function at T (Documents.svelte:173:73) T @ Documents.svelte:173 await in T (anonymous) @ Documents.svelte:251 (anonymous) @ dom.js:371 Documents.svelte:173 Uncaught (in promise) TypeError: b.ALLOWED_FILE_EXTENSIONS.split is not a function at T (Documents.svelte:173:73) T @ Documents.svelte:173 await in T (anonymous) @ Documents.svelte:251 (anonymous) @ dom.js:371 Documents.svelte:173 Uncaught (in promise) TypeError: b.ALLOWED_FILE_EXTENSIONS.split is not a function at T (Documents.svelte:173:73) T @ Documents.svelte:173 await in T (anonymous) @ Documents.svelte:251 (anonymous) @ dom.js:371 ``` ``` RAGConfig.ALLOWED_FILE_EXTENSIONS = RAGConfig.ALLOWED_FILE_EXTENSIONS.split(',') .map((ext) => ext.trim()) .filter((ext) => ext !== ''); ``` <img width="324" alt="Image" src="https://github.com/user-attachments/assets/5429803c-aa58-4424-9b06-a51cb6f6dcff" /> ### Additional Information The variable RAGConfig.ALLOWED_FILE_EXTENSIONS is already an array if not changed!
GiteaMirror added the bug label 2025-11-11 16:15:35 -06:00
Author
Owner

@tjbck commented on GitHub (May 20, 2025):

Should be addressed with 82716f3789 in dev, testing wanted here.

@tjbck commented on GitHub (May 20, 2025): Should be addressed with 82716f3789147585862f56f9f18fb2a77d92ed39 in dev, testing wanted here.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/open-webui#5249