Commit graph

18 commits

Author SHA1 Message Date
95d6baeebb add canonical permacomputer preamble to all source files 2026-02-25 17:39:59 -05:00
bbcd69dea7 switch all source files to AGPL-3.0-only, full GNU AGPL v3 + permacomputer preamble in LICENSE 2026-02-24 19:42:46 -05:00
9d191f24d1 mandatory vault gate: encrypt all localStorage with password before chat
Vault password prompt is now the first thing shown when opening
uncloseai. No chat, no greeting, no data written until the user
creates or unlocks their vault. Each site has its own vault with
AES-256 encryption using password + device-specific salt.

- Add vault gate overlay blocking modal until password entered
- Remove plaintext conversation fallback from storage.js
- Route TTS mode, selected voice, language through vault
- Route custom API config reads through vault in models.js
- Add vault gate i18n strings (26 languages) explaining per-site
  encryption of chat history, API keys, and settings
- Add missing keys to migration (voice, TTS mode)
- Re-show vault gate on lock from settings
- Permacomputer headers across all source files

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 15:38:54 -05:00
f0db6d9589 add public domain license and headers to all source files 2026-02-22 22:27:09 -05:00
ab13f2c19f Disable gpt-oss.ai.unturf.com endpoint (returns 404) 2026-01-27 08:12:07 -05:00
7018490249 Fix TTS URLs to use speech.ai.unturf.com 2026-01-26 18:13:02 -05:00
ed4b599895 Switch TTS to 3090-ai server (20 voices) 2026-01-26 17:32:51 -05:00
3d07909854 Add vault system for encrypted settings storage
- Add vault.js: encrypted settings with AES-256 + 7-day session persistence
- Integrate vault UI in settings modal with friendly messaging
- Update config.js and un.js to use vault for credentials
- Add translation strings for vault UI (en.js)
- Show "Logged in" status with Lock button instead of session info
- Vault password only asked when opening settings
2026-01-23 09:46:56 -05:00
b70b3e0844 Add Italian, Dutch, Polish, Vietnamese, Thai, Ukrainian, Swedish language support 2026-01-03 13:33:30 -05:00
60c3bbcf9f Add language code normalizer for UNCLOSEAI_LANGUAGE 2026-01-03 13:31:23 -05:00
78d526098a Add debug logging for language detection 2026-01-03 13:19:56 -05:00
15decd2ab6 Force UNCLOSEAI_LANGUAGE to override user setting and disable selector 2026-01-03 12:56:33 -05:00
f7adaa1d74 Fix UNCLOSEAI_LANGUAGE to return actual value not boolean 2026-01-03 12:53:10 -05:00
1912076b5b Add UNCLOSEAI_LANGUAGE config for embed default language 2026-01-03 12:43:37 -05:00
bd312f0979 Echo system prompt as final assistant message for attention reinforcement
- Add system prompt as last assistant message in chat history
- Support UNCLOSEAI_SYSTEM_PROMPT_REPLACE flag for custom prompts
- Use configured voice preference in page-reader TTS
- Disable code execution button (sandbox not running)
2026-01-01 12:14:24 -05:00
5426425e3a Add code execution sandbox support to uncloseai.js
Integrated code.ai.unturf.com code execution service into uncloseai.js modal:
- Added CODE_EXEC_URL to config.js
- Created code-execution.js module with executeCode() and result display
- Modified addCodeBlockCopyButtons() to add ▶ Run button next to 📋 Copy
- Auto-detects language from code block class (defaults to Python)
- Uses async job polling with exponential backoff
- Shows execution output, errors, and allows cancellation for long-running jobs
- Results displayed inline below code blocks with monospace formatting

Code blocks in AI responses now have both Copy and Run buttons.
2025-11-10 14:47:25 -05:00
bc70558961 Integrate dynamic voices API endpoint with model:voice selection and localStorage caching 2025-11-09 15:48:27 -05:00
38545721a0 Reorganize project structure: move public files to public/ directory 2025-10-24 13:23:42 -04:00
Renamed from src/config.js (Browse further)