feat: use random creative names for conversation tabs
Security Scan and Upload / Security & DefectDojo Upload (pull_request) Successful in 58s
CI / Lint & Test (pull_request) Successful in 16m15s
CI / Build Linux (pull_request) Successful in 20m3s
CI / Build Windows (cross-compile) (pull_request) Successful in 29m56s

This commit is contained in:
2026-03-03 10:56:44 -08:00
committed by Naomi Carrigan
parent 19e28b7ec7
commit 66c65a6ab8
2 changed files with 93 additions and 4 deletions
+9 -2
View File
@@ -20,14 +20,21 @@ When working with issues, pull requests, or other repository operations for this
When asked to commit changes for this project: When asked to commit changes for this project:
- **Always commit as Hikari** using: `--author="Hikari <hikari@nhcarrigan.com>"` - **Always commit as Hikari** using: `--author="Hikari <hikari@nhcarrigan.com>"`
- **Always use `--no-gpg-sign`** since Hikari doesn't have GPG signing set up - **Always sign commits** with Hikari's GPG key: `--gpg-sign=5380E4EE7307C808`
- **Never add `Co-Authored-By` lines** for Gitea commits - **Never add `Co-Authored-By` lines** for Gitea commits
- **Always ask for confirmation** before committing - **Always ask for confirmation** before committing
- **Always ask for confirmation** before pushing
Example commit command: Example commit command:
```bash ```bash
git commit --author="Hikari <hikari@nhcarrigan.com>" --no-gpg-sign -m "your commit message" git commit --author="Hikari <hikari@nhcarrigan.com>" --gpg-sign=5380E4EE7307C808 -m "your commit message"
```
Example push command:
```bash
git push https://hikari:TOKEN@git.nhcarrigan.com/nhcarrigan/hikari-desktop.git <branch>
``` ```
## Testing Requirements ## Testing Requirements
+84 -2
View File
@@ -43,6 +43,88 @@ export interface Conversation {
draftText: string; draftText: string;
} }
const TAB_NAMES = [
// Cosmic & celestial
"Starfall",
"Moonbeam",
"Nebula",
"Aurora",
"Stardust",
"Solstice",
"Comet",
"Eclipse",
"Zenith",
"Celestia",
"Nova",
"Quasar",
"Lyra",
"Andromeda",
"Twilight",
// Magical & fantastical
"Camelot",
"Reverie",
"Arcane",
"Spellbound",
"Mirage",
"Oracle",
"Seraphim",
"Ethereal",
"Labyrinth",
"Enchantment",
// Nature & cosy
"Sakura",
"Ember",
"Cascade",
"Zephyr",
"Serendipity",
"Solace",
"Blossom",
"Whisper",
"Dewdrop",
"Sunbeam",
"Willow",
"Clover",
"Honeybee",
"Buttercup",
"Dandelion",
// Japanese/anime-inspired
"Tsukimi",
"Hanami",
"Yozora",
"Hoshi",
"Koharu",
"Akari",
"Midori",
// Adventure & epic
"Odyssey",
"Wanderer",
"Horizon",
"Voyage",
"Pathfinder",
"Frontier",
// Whimsical & sweet
"Bubblegum",
"Marshmallow",
"Daydream",
"Whimsy",
"Jellybean",
"Sprinkle",
"Cupcake",
// Dreamy & poetic
"Revenant",
"Elysium",
"Halcyon",
"Ephemera",
"Serenade",
"Lullaby",
"Nocturne",
"Rhapsody",
];
function pickRandomTabName(): string {
return TAB_NAMES[Math.floor(Math.random() * TAB_NAMES.length)];
}
function createConversationsStore() { function createConversationsStore() {
const conversations = writable<Map<string, Conversation>>(new Map()); const conversations = writable<Map<string, Conversation>>(new Map());
const activeConversationId = writable<string | null>(null); const activeConversationId = writable<string | null>(null);
@@ -63,7 +145,7 @@ function createConversationsStore() {
const id = generateConversationId(); const id = generateConversationId();
return { return {
id, id,
name: name || `Conversation ${conversationCounter}`, name: name ?? pickRandomTabName(),
terminalLines: [], terminalLines: [],
sessionId: null, sessionId: null,
connectionStatus: "disconnected", connectionStatus: "disconnected",
@@ -91,7 +173,7 @@ function createConversationsStore() {
function ensureInitialized() { function ensureInitialized() {
if (!initialized) { if (!initialized) {
initialized = true; initialized = true;
const initialConversation = createNewConversation("Main"); const initialConversation = createNewConversation();
conversations.update((convs) => { conversations.update((convs) => {
convs.set(initialConversation.id, initialConversation); convs.set(initialConversation.id, initialConversation);
return convs; return convs;