Skip to content

Conversation

@TamHC
Copy link

@TamHC TamHC commented Jun 24, 2025

1. Update suggestionGeneratorAgent.ts

  • Match the suggestions to user's language

2. Add incognito mode

  • Allow user to switch on / off incognito mode by webpage toggle or url parameter

  • URL Parameter Control
    Accessing /?incognito=true automatically enables incognito mode
    Accessing /?incognito=false or without parameters will use normal mode

3. Add the history retention feature

  • Allow users to set history retention days through config.toml or API endpoints, as well as on the settings page.

API Endpoints

GET /api/config

Returns current configuration including historyRetentionDays

POST /api/config

Updates configuration including historyRetentionDays

POST /api/cleanup-history

Manually triggers history cleanup and returns results:

{
  "message": "Cleaned up X old chats and their messages",
  "deletedChats": X
}

4. Add layout mode: Default / Tabs

  • Allow users to change default layout mode through config.toml

  • Allow users to customize layout mode for each browser through setting page

5. Allow users to change webpage theme by system detection

TamHC added 8 commits June 24, 2025 15:30
match the suggestions to user's language
### 1. __History Retention Configuration__

- __config.toml__: Added `[HISTORY]` section with `RETENTION_DAYS = 30` setting
- __Backend Integration__: Updated configuration handling to support history retention
- __API Endpoints__: Modified `/api/config` to read/write history retention settings

### 2. __User Interface__

- __Settings Page__: Added "History Settings" section with number input for retention days
- __Real-time Updates__: Settings are saved to config.toml when changed
- __Clear Documentation__: Explains that retention only applies when incognito mode is off

### 3. __Automatic History Cleanup__

- __Background Processing__: Cleanup runs automatically when new chats are created (non-incognito mode)
- __Smart Logic__: Only deletes chats older than configured retention period
- __Complete Cleanup__: Removes both chat records and associated messages
- __Performance Optimized__: Non-blocking background execution

### 4. __Manual Cleanup API__

- __Endpoint__: `POST /api/cleanup-history` for manual cleanup triggers
- __Utility Functions__: Reusable cleanup logic in dedicated utility file

### 5. __Docker Rebuild__

- __Container Rebuild__: Successfully rebuilt the Docker containers with new features
- __Configuration Persistence__: config.toml changes are preserved in Docker volume
- __Application Ready__: The application should now be accessible at [](http://localhost:3000)<http://localhost:3000>

## Key Features:

1. __Incognito Mode Integration__: History retention only applies when incognito mode is OFF
2. __Flexible Configuration__: 0 = keep forever, any positive number = days to retain
3. __Automatic Cleanup__: Runs in background when creating new chats
4. __Manual Control__: API endpoint for manual cleanup triggers
5. __Database Integrity__: Properly removes both chats and associated messages

## Testing the Feature:

1. __Access the Application__: Open [](http://localhost:3000)<http://localhost:3000> in your browser
2. __Configure Settings__: Go to Settings → History Settings → Set retention days
3. __Test Incognito Mode__: Toggle incognito mode on/off to see different behaviors
4. __Create Test Chats__: Create chats in both modes to verify functionality
5. __Manual Cleanup__: Use the `/api/cleanup-history` endpoint to test manual cleanup
### 1. Updated Theme Provider (`src/components/theme/Provider.tsx`)

- Enabled system theme support by setting `enableSystem={true}`
- Changed default theme from "dark" to "system" so the app follows the user's system preference by default

### 2. Updated Theme Switcher (`src/components/theme/Switcher.tsx`)

- Added "System" option to the theme dropdown menu alongside "Light" and "Dark"
- Removed the custom system theme detection logic that was interfering with next-themes' built-in system detection
- Simplified the component to rely on next-themes' native system theme handling
add setting of layout mode & history retention days
1. Update suggestionGeneratorAgent.ts
- Match the suggestions to user's language

2. Add incognito mode
- Allow user to switch on / off incognito mode by webpage toggle or url parameter
- URL Parameter Control
 - Accessing `/?incognito=true` automatically enables incognito mode
 - Accessing `/?incognito=false` or without parameters will use normal mode

3. Add the history retention feature
- Allow users to set history retention days through config.toml or API endpoints, as well as on the settings page.

4. Add layout mode: Default / Tabs
- Allow users to change default layout mode through config.toml
- Allow users to customize layout mode for each browser through setting page

5. Allow users to change webpage theme by system detection
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant