generated from nhcarrigan/template
style: fix prettier formatting issues
- Format RELEASE_NOTES_v0.3.0.md
- Format AttachmentPreview.svelte
- Format InputBar.svelte
All checks now passing! ✨
This commit is contained in:
@@ -0,0 +1,74 @@
|
||||
# Hikari Desktop v0.3.0 Release Notes
|
||||
|
||||
## New Features
|
||||
|
||||
### AskUserQuestion Tool Support (#51)
|
||||
|
||||
- Claude can now ask you questions with multiple choice options during conversations
|
||||
- A dedicated modal appears with answer choices and support for custom responses
|
||||
- Answers are seamlessly integrated back into the conversation context
|
||||
|
||||
### Slash Commands
|
||||
|
||||
- `/cd <path>` - Change the working directory while preserving conversation context (#55)
|
||||
- `/search <query>` - Search and highlight matches within the conversation (#32)
|
||||
- `/skill <name> [data]` - Invoke Claude Code skills from `~/.claude/skills/` (#57)
|
||||
- `/new`, `/clear`, `/rename`, `/help` commands for conversation management (#6)
|
||||
|
||||
### Auto-Update Checker (#17)
|
||||
|
||||
- Automatically checks for new releases on startup
|
||||
- Notification appears when a newer version is available
|
||||
- Can be disabled in settings
|
||||
|
||||
### Font Size & Zoom (#19)
|
||||
|
||||
- Adjust font size with keyboard shortcuts: `Ctrl++`, `Ctrl+-`, `Ctrl+0`
|
||||
- Font size slider in settings (10-24px range)
|
||||
- Preference persists between sessions
|
||||
|
||||
### Resizable Character Panel (#10)
|
||||
|
||||
- Drag the divider between the character panel and terminal to resize
|
||||
- Panel width is saved and restored on app restart
|
||||
- Sprite now uses full height for better proportions
|
||||
|
||||
### Input History Navigation (#13)
|
||||
|
||||
- Use up/down arrows to navigate through previous messages and commands
|
||||
- Arrow keys only navigate history when input is empty - otherwise they move the cursor (#58)
|
||||
|
||||
### Keyboard Shortcuts (#21)
|
||||
|
||||
- `Ctrl+N` - New conversation
|
||||
- `Ctrl+W` - Close current tab
|
||||
- `Ctrl+Tab` / `Ctrl+Shift+Tab` - Switch between tabs
|
||||
- `Ctrl+L` - Clear conversation
|
||||
- `Ctrl+,` - Open settings
|
||||
|
||||
### Always On Top Toggle (#28)
|
||||
|
||||
- Pin the window to stay above other applications
|
||||
- Toggle in settings
|
||||
|
||||
## Improvements
|
||||
|
||||
### UI/UX
|
||||
|
||||
- Resizable chat input with drag handle (expands upward)
|
||||
- Send button properly aligned with input field
|
||||
- Markdown rendering with syntax-highlighted code blocks (#31, #33)
|
||||
- Light mode text colors improved for better readability
|
||||
- Scroll position persists per conversation tab when switching
|
||||
- Confirmation modal when closing connected tabs
|
||||
- Links in chat now open in default browser (#54)
|
||||
- Spaces allowed when renaming tabs (#52)
|
||||
|
||||
### State Management
|
||||
|
||||
- Stats (tokens, cost) persist across session changes and only reset on disconnect (#59)
|
||||
- Multiple tabs can now request permissions simultaneously without conflicts
|
||||
|
||||
## Closed Issues
|
||||
|
||||
#6, #10, #13, #17, #19, #21, #28, #31, #32, #33, #51, #52, #54, #55, #57, #58, #59
|
||||
@@ -29,7 +29,9 @@
|
||||
{#if attachments.length > 0}
|
||||
<div class="attachment-preview-container">
|
||||
<div class="attachment-header">
|
||||
<span class="attachment-count">{attachments.length} attachment{attachments.length !== 1 ? "s" : ""}</span>
|
||||
<span class="attachment-count"
|
||||
>{attachments.length} attachment{attachments.length !== 1 ? "s" : ""}</span
|
||||
>
|
||||
</div>
|
||||
<div class="attachment-list">
|
||||
{#each attachments as attachment (attachment.id)}
|
||||
@@ -189,7 +191,10 @@
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
opacity: 0;
|
||||
transition: opacity 0.2s, background 0.2s, color 0.2s;
|
||||
transition:
|
||||
opacity 0.2s,
|
||||
background 0.2s,
|
||||
color 0.2s;
|
||||
}
|
||||
|
||||
.attachment-item:hover .remove-button {
|
||||
|
||||
@@ -215,9 +215,7 @@
|
||||
let messageWithAttachments = formattedMessage;
|
||||
if (currentAttachments.length > 0) {
|
||||
const attachmentPaths = currentAttachments.map((a) => a.path).join("\n");
|
||||
const attachmentPrefix = formattedMessage
|
||||
? `${formattedMessage}\n\n`
|
||||
: "";
|
||||
const attachmentPrefix = formattedMessage ? `${formattedMessage}\n\n` : "";
|
||||
messageWithAttachments = `${attachmentPrefix}[Attached files - please read these files to see their contents:]\n${attachmentPaths}`;
|
||||
|
||||
// Log attached files to the output
|
||||
@@ -725,12 +723,7 @@ User: ${formattedMessage}`;
|
||||
</div>
|
||||
|
||||
<div class="button-wrapper">
|
||||
<button
|
||||
type="button"
|
||||
onclick={handleFilePicker}
|
||||
class="attach-button"
|
||||
title="Attach files"
|
||||
>
|
||||
<button type="button" onclick={handleFilePicker} class="attach-button" title="Attach files">
|
||||
<svg
|
||||
width="20"
|
||||
height="20"
|
||||
@@ -759,7 +752,9 @@ User: ${formattedMessage}`;
|
||||
{:else}
|
||||
<button
|
||||
type="submit"
|
||||
disabled={!isConnected || isSubmitting || (!inputValue.trim() && attachments.length === 0)}
|
||||
disabled={!isConnected ||
|
||||
isSubmitting ||
|
||||
(!inputValue.trim() && attachments.length === 0)}
|
||||
class="send-button bg-[var(--accent-primary)] hover:bg-[var(--accent-secondary)]
|
||||
disabled:opacity-50 disabled:cursor-not-allowed"
|
||||
>
|
||||
@@ -780,7 +775,9 @@ User: ${formattedMessage}`;
|
||||
flex-direction: column;
|
||||
gap: 8px;
|
||||
position: relative;
|
||||
transition: border-color 0.2s, background 0.2s;
|
||||
transition:
|
||||
border-color 0.2s,
|
||||
background 0.2s;
|
||||
}
|
||||
|
||||
.input-bar.is-dragging {
|
||||
|
||||
Reference in New Issue
Block a user