Fix showing the temp unit instead of wind unit#164
Merged
mattisssa merged 1 commit intoraycast:mainfrom Oct 21, 2021
mathieudutour:patch-1
Merged
Fix showing the temp unit instead of wind unit#164mattisssa merged 1 commit intoraycast:mainfrom mathieudutour:patch-1
mattisssa merged 1 commit intoraycast:mainfrom
mathieudutour:patch-1
Conversation
mattisssa
approved these changes
Oct 21, 2021
Contributor
mattisssa
left a comment
There was a problem hiding this comment.
Good catch, thanks for improving that! 👍
FezVrasta
pushed a commit
to FezVrasta/extensions
that referenced
this pull request
Nov 24, 2021
jfox85
added a commit
to jfox85/raycast-extensions
that referenced
this pull request
Sep 19, 2025
- add old n8n to gitignore - Restore static prompt placeholders - Prepare Raycast extension for store submission - Update Raycast metadata assets and placeholder prompts - Polish ToneClone node for submission - Handle training uploads inside ToneClone node - Add ToneClone node tests and align client header - chore: ignore backup directories in .gitignore - chore: remove old n8n node structure files - chore: add .gitignore for build artifacts and development files - feat: migrate ToneClone n8n node to official 2025 CLI structure - Fix ToneClone test import to avoid dist dependency - feat: prepare Raycast extension for store submission - fix: resolve Raycast knowledge card loading and persona switching issues - Merge pull request raycast#236 from toneclone/jf-android-pt-2 - feat: complete Raycast migration from profiles to knowledge cards - feat: add IsEnabled and DisabledAt fields to KnowledgeCardResponse - fix: resolve JWT authentication tests and frontend build issues - Resolve merge conflicts with main branch - feat: Complete frontend rename from Profile to KnowledgeCard - Rename Profile to KnowledgeCard throughout codebase - Merge pull request raycast#234 from toneclone/jf-billing-fixes - chore(backend): use Go 1.24-alpine in Dockerfile to match go.mod (fix prod deploy build) - chore(stripe): guard against missing invoice customer - Merge pull request raycast#232 from toneclone/jf-billing-fixes - fix: Use proper plan constants for trial cancellation - fix: Resolve TypeScript build errors after merge - Merge branch \'main\' into jf-billing-fixes - fix: Resolve backend test failures and DynamoDB field naming inconsistencies - Merge pull request raycast#231 from toneclone/codex/update-prompt-templates-for-missing-data-policy - Fix backend test failures - feat: add missing data policy placeholders - Update cancellation email text - Improve payment failed email system - Fix trial-to-Pro upgrade and Stripe time handling - Merge pull request raycast#230 from toneclone/jf-remove-fine-tuning-test - fix: resolve OpenAI provider test failures with mock client issues - feat: implement comprehensive payment failed user handling - Merge pull request raycast#229 from toneclone/codex/add-query-logging-to-toneclone - Implement comprehensive subscription expiration handling - Merge pull request raycast#220 from toneclone/codex/update-api-endpoints-for-renaming - feat(logging): unify query response logs to variants envelope and add schema/version metadata; stop shallow copying requests\n\n- Exclude attachments from QueryRequest JSON; marshal request directly\n- Add LogSchemaVersion and RequestFormat on initial log write\n- Log responses as JSON envelope with variants[] and done for single/streaming/multi-variant\n- Add ResponseFormat and UpdatedAt on update\n- Update tests to assert JSON envelope in logs - Fix cancellation banner not appearing - chore: ignore Go build caches; remove cached test artifacts from index - test: make DynamoDB mocks resilient to query log writes; allow QUERYLOG PutItem/UpdateItem when unmocked to avoid test flakiness\n\n- Add panic-safe handling in PutItem/UpdateItem to treat QUERYLOG writes as successful no-ops when no expectations are set\n- Remove broad default expectations to ensure test-specific Run hooks still fire\n- Verified all backend tests pass with ENVIRONMENT=test - Resolve merge conflicts: Update terminology from \'profile\' to \'Knowledge Card\' - Merge branch \'codex/add-query-logging-to-toneclone\' of github.com:toneclone/toneclone into codex/add-query-logging-to-toneclone - Merge pull request raycast#228 from toneclone/codex/rename-voice-evolution-to-smartstyle - Update marketing page - rename AI Tell filtering to StyleGuard - Fix TypeScript build error - remove extra closing brace - Resolve merge conflicts in writing components - billing: scheduled downgrade detection and banners - Downgrade scheduling: use subscription schedules; detect existing schedule; create then update phases; anchor phase1 start to current_period_start; phase1 iterations=1 then switch to lower price; end_behavior=release - Merge pull request raycast#225 from toneclone/jf-document-handling - fix: Critical fixes to address CI failures and Claude feedback - Merge pull request raycast#224 from toneclone/codex/add-ui-for-prompt-presets-in-frontend - Fix frontend test failures after usePromptPresets hook implementation - Downgrade UX: personalize impact; caps old→new when under; usage→cap when over; conditional warning/info icon; support Priority→Standard row; neutral data handling copy; renamed button to ‘Confirm downgrade for next cycle’; wired usage from user + entitlements; annual Pro opens upgrade dialog and closes downgrade; PostHog reason tracking - Implement shared usePromptPresets hook for performance optimization - Fix TypeScript null safety issues in WritingStarter - Fix remaining \'0\' display issue in WritingStarter - Fix duplicate key warnings and infinite loading cycle - Billing: add GSI retry in findOrCreateUserByStripeCustomer; safeguard NO_PLAN recovery in subscription.updated; ensure uppercase DynamoDB attrs; Stripe proration immediate invoicing; richer checkout logging; frontend 402 handling + upgrade/downgrade flows; add TIME_ADJUSTMENT_CHANGES.md - chore(android): rename voiceEvolution to smartStyle - Log query responses asynchronously - Log user queries and responses - fix: Address high priority code review feedback - Merge pull request raycast#226 from toneclone/codex/rename-profiles-to-knowledge-in-frontend - Merge pull request raycast#227 from toneclone/codex/update-profiles-to-knowledge-in-marketing-site - Rename Voice Evolution feature to SmartStyle - chore: rename profiles to knowledge cards in marketing copy - fix: update knowledge card label in extension - Merge pull request raycast#222 from toneclone/codex/rename-profiles-to-knowledge-in-android-app - deps: Add document processing libraries for PDF and DOCX support - feat: Implement robust document processing with proper text extraction - fix: update keyboard repository for knowledge URIs - Rename profiles to knowledge in Android app - fix: update knowledge card field mappings - Add prompt preset buttons to writing pages - Merge pull request raycast#221 from toneclone/codex/rename-profiles-to-knowledge-in-raycast-extension - Merge pull request raycast#223 from toneclone/codex/rename-profiles-to-knowledge-in-n8n-extension - feat(n8n): rename profiles to knowledge cards - Rename profiles to knowledge in Android app - Merge pull request raycast#219 from toneclone/codex/fix-handling-of-rejected-stripe-events - Rename profiles to knowledge in Raycast extension - refactor: use knowledgeCardID param - Handle stale Stripe webhook processing - Rename profile endpoints to knowledge - fix stripe event retry handling - Merge pull request raycast#218 from toneclone/jf-built-in-personas - Fix Codex review feedback: security, error handling, and test imports - Add placeholder key to test script - Fix TypeScript build errors and improve type safety - Fix getPlanEntitlements warning in frontend tests - fix: Use atomic DynamoDB ADD operation for API key usage tracking - Fix frontend test failures and linting errors - Add built-in persona support to CLI - Fix Raycast profile loading errors for built-in personas - Add built-in persona support to n8n client - fix: handle built-in personas properly in Raycast extension - feat: add built-in personas to Raycast generate text commands - Merge pull request raycast#216 from toneclone/jf-prod-infra - Fix missing SendGrid environment variables in GitHub Actions workflow - feat: replace hardcoded built-in personas with dynamic API calls - Merge pull request raycast#214 from toneclone/jf-banned-words - fix: Resolve StyleGuard word update 404 errors - security: Remove test_training_simple.go to prevent real OpenAI API calls - docs: Add StyleGuard feature description to PRD - fix: Update function signatures and remove legacy aliases - feat: Complete StyleGuard rebranding from \'banned words\' - Merge pull request raycast#213 from toneclone/jf-client-metrics - Fix critical client tracking issues - Merge pull request raycast#212 from toneclone/jf-add-marketing-metrics - Update marketing package-lock.json after PostHog installation - Add client tracking to Android app and keyboard module - Add PostHog analytics to marketing site - Update devx config - Merge remote-tracking branch \'origin/main\' into jf-client-metrics - Merge pull request raycast#211 from toneclone/jf-android-pt-2 - Update Android app to use backend built-in personas API - feat: add client tracking to n8n node using X-Client header - Improve API key service security and code quality - refactor: remove unused getClientVersion function - feat: add client tracking to CLI using X-Client header - feat: replace all toneclone.com domain references with toneclone.ai - Merge main into jf-android-pt-2 branch - Add persona_routes.go - Restore valid built-in persona tests that were accidentally removed - feat: Add frontend client tracking with query parameters - Add missing personas package to fix CI compilation - feat: Add client tracking middleware for PostHog analytics - Fix test failures in concurrent and rate limiting tests - Fix API key authentication with scalable GSI-based lookup - Merge pull request raycast#209 from toneclone/jf-raycast-pt2 - Refactor Raycast extension with security improvements and better architecture - Address security concerns from code review - Merge pull request raycast#210 from toneclone/codex/mock-openai-endpoint-in-tests - Mock OpenAI fine-tuning tests - Fix test issues and improve validation - Merge branch \'main\' into jf-raycast-pt2 - Add comprehensive Raycast extension with multiple ToneClone commands - Merge pull request raycast#208 from toneclone/jf-frontend-cleanup - Merge remote-tracking branch \'origin/main\' into jf-frontend-cleanup - Enhance Raycast extension with persona icons and simplified auth - Fix live UI update after persona deletion - Merge pull request raycast#207 from toneclone/jf-fix-onboarding - Add SendGrid environment variables to Terraform configuration - Fix email URLs and add missing Stripe customer validation - Refactor email service to use Go templates and environment variables - Resolve merge conflicts with main branch - Fix failing tests and TypeScript build errors - Merge pull request raycast#206 from toneclone/jf-client-cleanup - Add DynamoDB field naming conventions to prevent data conflicts - Fix Cloudflare Pages deployment file size issue for marketing site - Fix persona enabled/disabled flickering by standardizing DynamoDB field names - Fix TypeScript build error: remove unused Code import - Add comprehensive CLI marketing page and update frontend apps listing - Fix devx config - Merge pull request raycast#205 from toneclone/jf-fix-devx-config - Address PR feedback with improved error handling and validation - Fix devx port conflicts by replacing background processes with named pipes - Merge pull request raycast#204 from toneclone/jf-frontend-cleanup - Change model reference in test - Remove TypeScript build info from version control - Enhance banned words UI with bundle types and normalization settings - Optimize streaming banned word replacement with smart buffering - Fix flaky test issues that caused CI failures - Fix streaming banned word replacement with smart buffering - Implement no-plan architecture for post-email-confirmation users - Merge pull request raycast#203 from toneclone/jf-fix-onboarding - Merge remote-tracking branch \'origin/main\' into jf-fix-onboarding - Improve user signup flow with dedicated success page - Merge pull request raycast#202 from toneclone/jf-android-pt-2 - Fix persona profiles endpoint to return 200 with empty array instead of 404 - Prepare CLI for open source release - Implement efficient batch file upload with integrated persona association - Update ResponseScreen header to match MainScreen branding - Fix profile loading for built-in personas - Add multiple profile support to CLI generate command - Enable multi-variant feature with settings toggle - Update API domain from toneclone.com to toneclone.ai - Merge pull request raycast#200 from toneclone/jf-prod-infra - Remove build artifacts - Fix file association updates to work for all training scenarios - Fix Cron job to update persona with fine-tuned model on completion - Merge pull request raycast#198 from toneclone/jf-prod-infra - Remove unused encoding/base64 import from supabase_jwt.go - Fix combine Lambda timeout issue - Fix App Runner IAM policy for Step Function access - Merge pull request raycast#196 from toneclone/jf-prod-infra - Fix GPT-5 parameter compatibility in combine Lambda - Merge pull request raycast#194 from toneclone/jf-frontend-cleanup - Merge pull request raycast#192 from toneclone/jf-prod-infra - Fix Lambda deployment by reverting to always_run triggers - Merge pull request raycast#190 from toneclone/jf-prod-infra - Fix working directory issue in Lambda build scripts - Merge pull request raycast#188 from toneclone/jf-prod-infra - Fix shell compatibility: Use bash interpreter for pipefail support - Merge pull request raycast#186 from toneclone/jf-prod-infra - Address PR feedback: Fix timeout, build triggers, and error handling - Fix Terraform formatting - Fix Lambda builds and add build verification to CI - Merge remote-tracking branch \'origin/main\' into jf-prod-infra - Improve Lambda build process with better error handling and debugging - Merge pull request raycast#185 from toneclone/jf-prod-infra - Fix API response field name expectations in test - Fix PostHog mock Enqueue method for Personal plan API access test - Implement API key regeneration with confirmation dialog - Fix backend tests for Personal plan API access change - Merge pull request raycast#184 from toneclone/jf-prod-infra - Fix Next.js client component issues for CloudFlare Pages - Merge pull request raycast#180 from toneclone/jf-update-marketing-site - Resolve merge conflicts with main - Merge pull request raycast#182 from toneclone/jf-prod-infra - Remove setup files that never should\'ve been committed :( - Merge pull request raycast#181 from toneclone/jf-prod-infra - Update to limit to main/prod branches - Fix Terraform plan check in CI validation - Fix Terraform security scan false positives - Fix marketing site CloudFlare build issues - Fix Terraform formatting for CI validation - Fix remaining nested interactive elements with asChild pattern - Fix HTML validity: remove nested interactive elements - Fix CloudFlare Pages Node.js compatibility for marketing site - Implement Claude\'s additional security and stability suggestions - Merge pull request raycast#179 from toneclone/jf-prod-infra - Merge pull request raycast#178 from toneclone/jf-android-pt-2 - Refactor marketing site to use shared components and improve content - SECURITY FIX: Address Claude PR feedback - Address Claude\'s PR feedback: improve code quality and add comprehensive tests - Update test workflows to run on both main and prod branches - Update production workflows to trigger on prod branch - Remove CloudFlare Pages domain creation to prevent conflicts - Fix CloudFlare Pages deployment issues - Improve UI color contrast and accessibility across keyboard and main app - Remove CloudFlare Pages import step from workflow - Add comprehensive GitHub Actions IAM policy - Fix output configuration for production deployment - Add CloudFlare Pages import step to deployment workflow - Add GitHub source configuration to CloudFlare Pages projects - Merge pull request raycast#177 from toneclone/jf-android-pt-2 - Fix test compilation issues and add focused unit tests - Address high-priority PR feedback: Add comprehensive tests and real-time validation - Merge pull request raycast#176 from toneclone/jf-update-models - Update training test to expect new default model gpt-4.1-mini-2025-04-14 - Fix CI test failures by preventing real OpenAI API calls during tests - Address PR feedback: Fix race conditions and add validation - Enhance AI prompt templates and training pipeline with advanced style profiling - Reorganize settings page structure for better UX - Implement hidden dev mode feature and UI improvements - Fix AWS provider configuration for GitHub Actions - Fix step-function.json path after merge from main - Merge remote-tracking branch \'origin/main\' into jf-prod-infra - Commit the step function definition - Fix step-function.json file path in training module - Fix test failures by updating FilterExpression field name case - Add non-sensitive terraform.prod.tfvars for GitHub Actions - Remove AWS profile from S3 backend config for GitHub Actions compatibility - Configure S3 backend for shared Terraform state - Handle App Runner service not in RUNNING state before deployment - Fix GitHub Actions App Runner deployment wait command - Fix Docker build context in GitHub Actions workflow - Add debugging for AWS credentials in GitHub Actions workflow - Merge pull request raycast#174 from toneclone/jf-android-pt-2 - Update fine-tuning model to gpt-4.1-mini-2025-04-14 and fix styleProfile support - Fix AndroidTest compilation and runtime issues - Add a toneclone cli readme - Fix unit test compilation and implementation issues - Fix plans.json: revert personal plan popular flag and enable API access - Update marketing site with app links, favicon, and branding - Add comprehensive test coverage for persona functionality - Merge branch \'main\' of github.com:toneclone/toneclone - Merge pull request raycast#175 from toneclone/jf-prod-infra - Fix compilation errors from Claude feedback implementation - Address critical security issues from PR review - Fix critical security and performance issues - Add production deployment workflows and CloudFlare Pages configuration - Add Android build artifacts and IDE files to gitignore - Add built-in personas with proper sorting and color support - Update logos and optimize launcher icons with adaptive padding - Update app logo to high-res version and fix launcher icons - Make label text sizes consistent with selector/button text - Complete profile reselection fix - consolidate rebuild logic - Fix profile reselection issue with signature-based rebuild logic - Add CloudFlare deployment script to frontend package.json - Update production infrastructure for CloudFlare Pages deployment - Add terraform.prod.tfvars to .gitignore to protect production secrets - Add plans.json file to backend Docker image to fix Stripe plan validation - Enhance .devx development environment with service logging and process management - Add .worktrees to gitignore - Simplify landing page: clean white background with logo, ToneClone text, and coming soon - Add simple landing page with ToneClone logo and coming soon message - Update package-lock.json for vaul@1.1.2 compatibility with React 19 - Fix marketing site React 19 compatibility - Remove whitespace around Android app header logo - Upgrade app logos with high-resolution ToneClone branding - Implement Supabase authentication with secure configuration management - Merge pull request raycast#172 from toneclone/jf-add-billing - Merge pull request raycast#173 from toneclone/jf-add-logins - Fix CI test failures - frontend TypeScript and backend mocks - Fix CI test failures - correct supabase import inconsistency - Implement code review improvements and comprehensive test suite - Fix backend CI test failures - Fix linting issues in OAuth authentication files - Implement Claude\'s PR feedback recommendations - Clean up debug logging from OAuth authentication flow - Enhance OAuth authentication with GitHub login and improved UX - Fix GitHub Actions test failures - Extend billing integration to persona and profile management components - Add billing-related enhancements to core components - Add draft limit warning system with progress bar and upgrade links - Enhance billing system with improved user management and Supabase integration - Clean up debug logging from Google OAuth implementation - Merge remote-tracking branch \'origin/main\' into jf-add-logins - Add Google OAuth authentication support - Merge pull request raycast#171 from toneclone/jf-add-billing - Complete URL configuration and security logging fixes - Security fix: Replace fmt.Printf with log.Printf in critical route handlers - Fix URL configuration: remove hardcoded fallback URL from CORS - Address security and configuration feedback from PR review - Remove compiled binary from repository - Update .gitignore to exclude build artifacts and logs - Update marketing copy to remove \'no credit card required\' messaging - Fix TestHandleQueryWithBannedWords to work with new AI service architecture - Merge main into jf-add-billing branch - Remove binaries - Merge pull request raycast#170 from toneclone/jf-openai-sdk - Fix OpenAI integration tests to skip in CI environment - Add Stripe billing integration with frontend payment flow - Add comprehensive training functions testing suite - Fix model support: Add gpt-4o-mini-2024-07-18 to supported models - Complete AI service integration and fix all test failures - Implement backend enforcement of plan limits with atomic usage tracking - Complete Deliverable 3.2: Refactor query routes and tests for AI service - Complete Deliverable 3.1: Initialize service in main.go with DI - Implement monthly usage tracking for draft limits - Complete Deliverable 2.3: Migrate fine-tuning operations - Update project todo list: Mark D2.2 as completed - Complete Deliverable 2.2: Enhanced Streaming Support - Complete Deliverable 2.1: OpenAI Provider with Responses API - Implement Customer Billing Portal Integration (Deliverable 6) - Implement comprehensive Stripe webhook processing with idempotent event handling - Update project todo list: Mark D1.2 as completed - Implement Deliverable 1.2: Service factory and provider registry - Update project todo list: Mark D1.1 as completed - Implement Deliverable 1.1: Provider-agnostic AI service interface - Implement Stripe Checkout Session API with isolated mock testing - Add Stripe integration with webhook endpoint and v82 SDK - Add Stripe environment variables to configuration example - Add plans configuration and update marketing pricing page - Add plans management system for billing entitlements - Add billing system foundations with user trials and plan management - Fix marketing site service setup in Devx - Merge pull request raycast#169 from toneclone/jf-marketing - Update teh devx config - Add ToneClone marketing site with Next.js and shadcn/ui components - Merge pull request raycast#168 from toneclone/jf-update-sign-up-flow - Fix TypeScript compilation errors to resolve CI build failures - Fix backend test failures and enhance filter expression consistency - Merge remote-tracking branch \'origin/main\' into jf-update-sign-up-flow - Merge pull request raycast#167 from toneclone/jf-android-app-clean - feat: Add memory pressure handling for multi-variant response caching - security: Remove debug logging and improve IME security - feat: Add complete Android app with multi-variant AI response functionality - Fix final 3 frontend test failures - all tests now passing - Fix frontend test failures and improve test reliability - Enhance persona and writing components - Update frontend components and UI improvements - Fix banned words custom flag bug - Remove duplicate AI Tells Bundle and Banned Words sections - Fix banned words API authentication issues - Fix banned words API authentication issues - Add skeleton loader and improve writing canvas UX - Update navigation and routing for Apps/Integrations page - Add persona color customization and consistent avatar system - Enhanced persona management UI and writing flow improvements - Comprehensive UI improvements and new account management - Update sign-up flow: streamline onboarding and improve UX - Merge pull request raycast#153 from toneclone/jf-add-deny-list - fix: Make test order-independent after LRU cache changes - Merge branch \'main\' into jf-add-deny-list - security: Address critical security and performance issues - test: Add comprehensive test coverage and fix CI failures - feat: Add AI Tells Bundle feature with loading indicators - feat: Improve banned words UX with latency warnings and better defaults - feat: Implement conditional buffering for optimal streaming performance - Update devx config for removing Auth0 - Merge pull request raycast#165 from toneclone/jf-supabase-migration - Fix CI test failures: Add missing Supabase environment variables - Address Claude PR feedback: Security enhancements and ESLint improvements - Resolve merge conflicts with main branch - Complete Supabase JWT migration with comprehensive test coverage - feat: Add JWT authentication tests and deprecate Auth0 session tests - fix: Update persona validation test to use required name field - test: Add comprehensive JWT authentication test coverage - fix: Allow JWT authentication for API key management - fix: Make parentModel optional with default value for persona creation - fix: Enhance banned word spacing and punctuation preservation - feat: Complete banned words deny list implementation with streaming integration - fix: Support Auth0 user IDs in writing routes - fix: Add banned routes registration and fix test compilation - Add Supabase integration setup - Merge branch \'main\' into jf-add-deny-list - Merge pull request raycast#164 from toneclone/jf-writing-ui - Fix CI test failures by mocking scrollIntoView globally - Suppress harmless test environment errors to fix CI - Fix CI test failures in WritingStarter component - Clean up failing tests to achieve reliable CI pipeline - Fix frontend CI test failures - localStorage parameter fixes - Clean up lint warnings in test files - Add comprehensive test coverage for document versioning and React components - Fix TypeScript compilation errors in writing-canvas.tsx - Merge branch \'main\' into jf-writing-ui - Fix ESLint warnings and improve code quality - Address Claude PR feedback - security and reliability improvements - Fix test failures and lint errors - Merge pull request raycast#163 from toneclone/jf-raycast-plugin - Add comprehensive test suite and fix remaining ESLint warnings - test: Add comprehensive unit test suite for Raycast plugin - Add document versioning system and user preferences - fix: Address critical PR feedback issues - Complete writing UI integration with API and full functionality - fix: Address code review feedback for Raycast plugin - feat: Add complete Raycast plugin for ToneClone - Merge pull request raycast#162 from toneclone/jf-n8n-module - Refactor writing interface with starter flow and enhanced canvas - Add comprehensive testing framework for ToneClone n8n module - Add training content submission to ToneClone n8n module - Add writing canvas feature with navigation and UI improvements - feat: Add n8n ToneClone integration node - Merge pull request raycast#158 from toneclone/jf-api-part-2 - Address Claude\'s PR review feedback: improve test robustness and constants - Complete Group 6: Input Validation & Edge Cases with Critical Security Fix - Complete Group 5: Rate Limiting & Authentication Security - Token Rotation Race Conditions - Complete Group 5: Rate Limiting & Authentication Security Testing (3/4 sections) - Complete Group 4: Training Workflow Robustness Testing - Merge pull request raycast#161 from toneclone/codex/update-handlequery-to-support-multiple-profile-ids - Hide invalid profile IDs - Fix failing concurrent operations tests in Group 3 AI testing - Allow multiple profile IDs for queries - Complete Group 3: AI Service Integration & Resilience Testing - New unit tests - Complete Group 2 persona profile association tests and mark Group 2 complete - pkg/types: add JSON round-trip and method tests for core types (Persona, associations, TrainingJob, FileMetadata, APIKey, User, Session) to establish baseline coverage and validate helper methods. - Complete Group 2: Persona Management Comprehensive Testing - pkg/training: add comprehensive tests for training job creation and persona-based job initiation; cover success and error paths using existing mocks; increase coverage to ~66% for package. - Complete Group 1 API testing: File Upload & Storage Testing - Complete Phase 4.1: Advanced Security Testing - Complete Phase 3: Workflow Integration Tests - feat: comprehensive writing routes test coverage with 10x improvement - Merge pull request raycast#156 from toneclone/jf-api-part-2 - Address Claude\'s PR feedback - implement minor improvements - Fix all remaining ESLint errors (9 → 0 errors) - Fix GitHub Actions permissions and reduce ESLint errors - Fix frontend ESLint errors and PostHog integration issues - Merge pull request raycast#157 from toneclone/add-claude-github-actions-1755540604470 - "Claude Code Review workflow" - "Claude PR Assistant workflow" - Complete Phase 2.9: Writing Sessions Tests with authentication fixes - Complete Phase 2.8: Training Management Tests - Complete Phase 2.7: AI Query & Generation Tests with Security Fixes - Complete Phase 2.6: Persona Management Tests with Critical Security Fix - Complete Phase 2.5: File Management Tests - Implement Phase 2.4: Comprehensive Profile Management Tests - Complete Phase 2.3: API Key Management Integration Tests - Add comprehensive ToneClone Backend API documentation - Implement comprehensive authentication and middleware testing (Phase 2.1) - Add optional non-streaming mode to query endpoint - Add tmp directories to gitignore - Remove tmp build artifacts from git tracking and add to gitignore - Add comprehensive test infrastructure for API endpoint testing - Merge pull request raycast#154 from toneclone/jf-update-devx-config - Merge branch \'main\' of github.com:toneclone/toneclone into jf-update-devx-config - Update devx config - feat: Implement Phase 3 of Not-Allowed Filter System - Automatic Output Rewriting Pipeline - feat: Implement Phase 2 of Not-Allowed Filter System - LLM prompt integration - Merge pull request raycast#152 from toneclone/cursor/add-unit-tests-for-middleware-package-1905 - Add middleware package tests with comprehensive auth middleware coverage - Merge pull request raycast#149 from toneclone/jf-toneclone-cli - More small fixes for frontend tests - Fix dependencies - Move linting to just info for now - Add frontend tests, add them to the github action - Merge pull request raycast#150 from toneclone/cursor/fix-backend-tests-workflow-and-coverage-path-fe37 - Fix Codecov coverage file path in backend tests workflow - Add backend test Github actions - Merge pull request raycast#147 from toneclone/jf-toneclone-cli - Merge pull request raycast#148 from toneclone/cursor/fix-global-directory-change-in-tests-5942 - Refactor template path resolution using runtime.Caller for dynamic paths - Complete backend testing infrastructure with 100% test success rate - Merge pull request raycast#145 from toneclone/jf-toneclone-cli - Hide future binaries in gitignore - Remove the binary from the repo - Merge pull request raycast#146 from toneclone/cursor/fix-rate-limit-token-consumption-bug-fad0 - Fix rate limit remaining requests calculation method - Add API key management routes and frontend components - Add backend authentication fixes and feature planning documentation - Complete ToneClone CLI implementation with all 8 deliverables - Merge pull request raycast#144 from toneclone/jf-setup-tooling - Add some basic claude tooling - Merge branch \'main\' of github.com:toneclone/toneclone - Fix some devx config - Merge pull request raycast#143 from toneclone/one-more-time - Fixes for localhost cookie management - Merge pull request raycast#142 from toneclone/jf-add-new-devx - Some fixes and clean up - Merge pull request raycast#141 from toneclone/jf-add-new-devx - Update devx config - Add auth0 callback handler script - Add some more devx config - Some clean up in process of adding devx - Some fixes for handling the toneclone-api.jonefox.com domain - Add knowledge management to the popup menu instead. Closes raycast#101 - Handle logged out status when running inline edit prompts. Closes raycast#132 - Add login menu on Tone Clone buttons when the user is no longer logged in - Add simple script to help with version management of the extension - Fix smart fill integration for inline editing - Update the browser extension icon in the popup and right click menus - Minor fixes to make the build happy - Add initial support for Outlook - Add a simple privacy policy since we need one for the Chrome Web Store submission - Update the text area button to use new logo - Add support for multiple API domain aliases - Clean up and simplify a few small things in the onboarding flow - Fix stylesheet reference - Fix sidebar in Brave browser - Merge branch \'main\' of github.com:toneclone/toneclone - Update createWritingSession call to use service worker - Fix white space issues in selection verification - Update color theme, icons - Fix hiding the toolbar if the selection goes away without a click - Add basic Twitter/X support and get Gmail toolbar working - Add WIP twitter integration - Add the URL and potentially some additional context to the prompt. Closes raycast#123 - Change the icon to reset the sidebar session and add a confirmation dialog box. Closes raycast#120 and closes raycast#119 - Filter out and replace characters. Fixes raycast#114 - Fix bug with the sidebar, add some build debug logs, and don\'t include content_script.js on gmail pages since it gets bundled with gmail.js - Fix the merge and related bugs - Merge pull request raycast#130 from toneclone/jf-wip-inline-editing - Merge branch \'jf-wip-inline-editing\' of github.com:toneclone/toneclone into jf-wip-inline-editing - Small bug fix for opening the sidebar - Merge pull request raycast#129 from toneclone/jf-wip-inline-editing - Merge branch \'main\' into jf-wip-inline-editing - Fix bug with multiple compose windows. - Move gmail features to their own script. Closes raycast#127 - Add the handler to the power button to add a modal to disable Tone Clone. Also adds a list of disabled sites in the popup menu where you can remove sites from the disabled list. Closes raycast#125 - Replace old Tone Clone button menu with the new one - Add caching and request de-duping to presets service - Fix minor typos in prompt template - Pending history icon insertion and minor fixes on prompt history handling - finish prompt history implementation - Fix bug with sumamry modal on loading screen and add caching to email summaries - Initial summarize thread implementation and add emails as writing samples - Wire up the menu features - Wire up suggested preset replies - Add hot key execution to Gmail - Fix placement issues with the prompt window - Make the prompts actually work - Make smart replies actually work and add opening animation for prompt window - Use loaded presets instead of hard coded onees - Swap icon and text order on the buttons - WIP prompt menu - More work on the menu - WIP Gmail Integration - hover on button - Add some example places to get samples in training-intro page. Closes raycast#110 - Add a glowing circle around the Tone Clone icon in the textarea to make it more obvious clicking it is the next step. Closes raycast#113 - Update the selected persona when it changes in another component - Migration to services and background-services-client - WIP form fills and prompt suggestions - Fix merge conflicts - Add a bunch of small changes from product feedback session on onboarding - Update color theme - Don\'t delete the extension folder when deploying the frontend - Add initial version of hotkey trigger from textareas on the page directly. - Fix PostHog CSP errors for tracking events in the extension. Closes raycast#99 - Fix -\'s in extractor autocomplete matching - Switch to using AWS App Runner instead of API Gateway and Lambda for the API. This should be a bit faster and give us more control, but also fixes streaming responses in preview environment. - Add a reset session button to the sidebar to reset everything. Closes raycast#63 - Don\'t update the prompt placeholder every document change, just update it if there is or isn\'t document text - Add support for a summarized email thread in Gmail as an extractor/smart fill - Allow pressing enter to save the name when creating a new persona and make sure we update the sample count and goal when selecting new personas in the popup menu - Add auto training at sample levels 1, 3, 10, 20, and 50 - Change persona output to be levels instead - Add \'calm it down\' and \'make it spicier\' buttons - Add support for Slack and append a space after autocompleted extractors - Rename extractors \'smart fill\' and add multiple placeholders for prompt text including ones that use @\'s, different ones for starter vs someone who\'s used it a bit, and different ones for doc revisions vs new doc draft prompts - Add support for Google Voice text messages - Fix @ extractor handling - Add basic document history feature - Add a basic prompt history feature - Add multiple levels of goals for writing samples. - Add error message for Safari since we don\'t support it. - Be a bit smarter about adding our icons to pages to make things more performant. Closes raycast#78 - Some minor clean up to the build and put some bounds on when we insert the Tone Clone icon into pages. Closes raycast#77 - Special case training data being added from the training-intro page and just show them a helpful message instead of actually adding it. Closes raycast#98 - Don\'t show the personas in the sidebar if they only have 1. Closes raycast#96 and closes raycast#97 - Change the order of the onboarding flow to make the writing section 2nd instead of last. Closes raycast#95 - Finish new onboarding flow. Closes raycast#81, closes raycast#86, closes raycast#83 - WIP new onboarding flow - Don\'t add the sidebar to a page until we try to open it. Closes raycast#76 - Add ability to upload and paste writing samples in the popup-menu in the extension. Closes raycast#87 and closes raycast#88 - Simplify the right click context menu text and make them more distinct so they\'re easy to scan. Closes raycast#80 - Add screenshots to extension installation page. Detect if they don\'t have personas yet and direct them to persona picker in extension popup (if on toneclone or not). Closes raycast#72 and closes raycast#82 - Add a way to detect when the extension is installed on the install extension page. Both if it\'s already installed and if it is actively installed at the time. Closes raycast#75 - Add a pick-persona page (accessible if you don\'t have any personas yet). Closes raycast#73 and closes raycast#74 - Update sidebar auth styles - Add support for markdown files - Draggable sidebar - Hook up context manager interactions - Merge branch \'main\' of github.com:toneclone/toneclone - Add support for extracting diff summaries and commit messages on compare pages in GitHub, and add a preset for generating Pull Requests - Merge remote-tracking branch \'origin/main\' - Add context manager to sidebar - Only show the add from library option in the persona editor if there are new files that aren\'t already added to the persona - Fix CSRF token cookie issue with preview domains - Refactor the create initial persona code, make sure it\'s on both the welcome page and the intro to training page, and default Voice Evolution to be on for new personas by default - Bold the persona name in extension popup to make it more clear, change the copy button in sidebar to be copy and close so it\'s not a surprise to users, and try to make writing contexts more intuitive in the persona editor - For now just log CSRF failures, don\'t actually block. - Strip console.log from production builds - Add CSRF tokens to prevent attacks. Closes raycast#21 - Move writer/persona and context inline raycast#32 - Merge remote-tracking branch \'origin/main\' - Move writer/persona and context inline raycast#32 - Remove background on icons and make the textarea icon larger - minor clean up for frontend build - Add nicer save dialog and delete option for query presets. Closes raycast#56. Closes 5 - Allow sidebar prompt textfield to autoexpand. Closes raycast#80 - Fix formatting when copying existing text from content editable elements to the textarea in the sidebar. - Add URL filter list for query presets and add a few more static ones for emails. - Add right click menu option to send selected text to the document in Tone Clone - Add right click context menu to add selected text to the prompt. - Add right click menu on selected to text to add the text to a persona as a writing sample - Fix line breaks when sending text to contenteditable elements - Add training intro page, getting started menu item, and update links in welcome page. Closes raycast#62 - Add support for content editable elements and fix URL filtering for extractors. Closes raycast#64. - Minor clean up and word smithing for clarity from walkthrough with Katie - Add basic version of extractors - Add query preset API endpoints to API Gateway - Move prompts to Golang templates and split out different ones for updating a doc vs creating one from scratch. Closes raycast#57 - Simplify extension detection - Add a new metrics.toneclone.ai to proxy PostHog requests and add PostHog to browser extension. Closes raycast#47 - Add a little banner to suggest installing the extension if they don\'t have it yet. Closes raycast#44 - Add a welcome page for new users who just signed up. Closes raycast#45 - Add script to deploy extension - Add option for no context/profile - Make the sidebar icons actually work - Add ability to save prompt presets, make them dynamic, and make them actually work. Closes raycast#53 - Add voice evolution support in the extension. Closes raycast#23 - Fix small build error - Fix training bug with trainingStatus. Closes raycast#27 - Add a new persona type for untrained personas - Minor fixes for persona editor page - Add a welcome blurb to the popup. Closes raycast#12 - Add missing background script - Make persona sticky to the domain/site. Closes raycast#42 - Add Posthog to website. Closes raycast#46 - Fix the sidebar close button and other small UI tweaks - Broadcast auth changes to all existing injected sidebars. Closes raycast#20 - Add a message when opening the ToneClone extension on a ToneClone.ai site. Closes raycast#43 - Hook up add persona button in popup - Fix AI generated writing session titles and auto-select of persona on new session - More buttons in sidebar, lots more buttons - Profile -> Context for sidebar dropdown - Writer and profile side-by-side in sidebar - Add training in progress message to popup. - Add new persona from popup - Upload success/fail styles, submit icon change - Upload success/fail styles, submit icon change - Allow writing with untrained personas. Closes raycast#13 and Closes raycast#41. Also fixes a few small bugs in ai-writing.tsx (infinite polling and failing to fetch profiles if no persona is selected). - Wire up the undo button. Closes raycast#14 - Merge - Add extractors examples - Sidebar layout and buttons - Handle 0 and 1 personas use cases. Closes raycast#10 - Don\'t show double spinners when submitting samples from the extension. Just show a spinner on the one you click and show the other as disabled. Closes raycast#8 - Don\'t show the settings icon in the popup menu if the user is logged out. Closes raycast#11 - Disable add selected text button if no text is selected. Fixes raycast#16 - Fix the toggleSidebar handler - Clean up the workflow a little with the sidebar, page, and menu interactions when finishing writing - Sync content between target textarea and the sidebar - Merge branch \'main\' of github.com:toneclone/toneclone - Add icon to text areas - Buttons -> ActionIcons - Add skeleton loader - Remove sidebar debug auto-toggling - Add copy button to sidebar + loaderProps for buttons - Add background / async training. Closes raycast#25 - Fix minor bug with showing Add from Library button as disabled - Add metric events to the training lambas. Closes raycast#22 - Fix broken tests - De-dupe and reorganize structs and constants between packages - Reorganize golange code into one main folder - Add posthog to backend API calls - Adds voice evolution to the website writing interface and closes raycast#24. Also adds source tracking to writing samples to know how the sample got added (website file upload, extension add page, voice evolution on website, etc). - Update sidebar layout and styles - Make the persona sticky in the sidebar and keep it in sync with the one in the popup - Block opening the sidebar on *.toneclone.ai - Fix bug and race condition in login/logout flow - Fix the status of the sidebar in the popup menu - Merge branch \'main\' of github.com:toneclone/toneclone - Truncate long filenames in writing samples - Fix add page and add selected text uploads to actually associate them with the current persona - Fix broken links in popup menu - Make persona sticky in the popup, will need to update writing sidebar later - Add sidebar spacing - Inject styles into sidebar, split into separate components - Merge branch \'main\' of github.com:toneclone/toneclone - Initialize API client in sidebar - Update lock file - Update lock file - Add home link, updated settings - Merge remote-tracking branch \'origin/main\' - Pop up refinements, fixed logged out layout - Add new routes to terraform - Minor fix for old ai-training page - Fix merge conflicts - Update the persona editor to handle writing samples, writing contexts, and voice evolution settings. Other minor clean up and fixing support for file associations and training markers on them - Add new popup design - Clean up the writing page a bit - Add more sub clients to make API interaction easier - Clean up the profile-editor and give it a routing path - Update terraform for new session endpoints - Fix the header active class on sub pages - Fix the HTTPClient in main.go - Mega merge... - Fix persona detail page rendering - Fix all the tests - Finish extension login/logout handling - Add the existing logged in path for the extension - Initial commit of new auth / session management - Merge pull request raycast#1 from toneclone/mknepprath/v0 - Prevent sidebar refresh on submit - Add TextArea to embed - Merge conflicts - Merge branch \'refs/heads/main\' into mknepprath/v0 - Linted, routing changes, etc - Don\'t cache index.html in Cloudfront because it\'s not versioned - Fix link to the writing page with a specific persona - Add a cmd/control+enter handler for easier submission - Add response streaming - Fix build errors - Add prompt only training and support for both prompt and model training on same persona - Merge branch \'refs/heads/main\' into mknepprath/v0 - Add an undo button to undo the most recent change from AI - Remove the chat features - Ignore .bak files in git - Removed sliders, added close button to sidebar, fixed type issues - Merge branch \'main\' into mknepprath/v0 - Add method and endpoints to associate profiles with personas - Merge branch \'main\' into mknepprath/v0 - Update profiles to be a freeform textbox instead of a map of key/value pairs - Add associations between files and personas and new endpoints to manage them, also add a new training endpoint to train on all untrained files - Popup work - Add a function to create a screenshot of the browser tab - Merge branch \'main\' into mknepprath/v0 - Fix auth config for extension to eliminate race condition and alternate Auth0 config - Init commit - Add polling when creating a new writing session to make sure we get the initial message and response loaded correctly - More prompt enhancements - Move the common axios library stuff into a new api-client lib file instead - Update the prompt building based on new framework - Add option for adding full pages to the training data - Make the filename for selected text uploads a bit more meaningful - Add method to grab selected text and add it as training data to a persona - Attempt to handle refresh tokens and kick to a login page when session expires - Add text upload route and fix unit tests - Add localhost:5173 to the accepted CORS origins for now for easier local testing of the frontend - Small fixes to make build happy, add error modal when can\'t load from backend, add persona and profile descriptionand fix bug with delete files - Fixes for the extension - Get extension working with auth and clean up a bug in AI writing page - More clean up of Supertokens -> Auth0 and fix a few small bugs with file uploads - A few more additions to .gitignore - Add example env.local - Frontend changes to migrate from Supertokens to Auth0 - Add backend changes for Auth0 migration - Terraform updates to migrate to Auth0 and clean up - Fix the website build - Initial commit
raycastbot
added a commit
that referenced
this pull request
Oct 7, 2025
* Add toneclone extension - add old n8n to gitignore - Restore static prompt placeholders - Prepare Raycast extension for store submission - Update Raycast metadata assets and placeholder prompts - Polish ToneClone node for submission - Handle training uploads inside ToneClone node - Add ToneClone node tests and align client header - chore: ignore backup directories in .gitignore - chore: remove old n8n node structure files - chore: add .gitignore for build artifacts and development files - feat: migrate ToneClone n8n node to official 2025 CLI structure - Fix ToneClone test import to avoid dist dependency - feat: prepare Raycast extension for store submission - fix: resolve Raycast knowledge card loading and persona switching issues - Merge pull request #236 from toneclone/jf-android-pt-2 - feat: complete Raycast migration from profiles to knowledge cards - feat: add IsEnabled and DisabledAt fields to KnowledgeCardResponse - fix: resolve JWT authentication tests and frontend build issues - Resolve merge conflicts with main branch - feat: Complete frontend rename from Profile to KnowledgeCard - Rename Profile to KnowledgeCard throughout codebase - Merge pull request #234 from toneclone/jf-billing-fixes - chore(backend): use Go 1.24-alpine in Dockerfile to match go.mod (fix prod deploy build) - chore(stripe): guard against missing invoice customer - Merge pull request #232 from toneclone/jf-billing-fixes - fix: Use proper plan constants for trial cancellation - fix: Resolve TypeScript build errors after merge - Merge branch \'main\' into jf-billing-fixes - fix: Resolve backend test failures and DynamoDB field naming inconsistencies - Merge pull request #231 from toneclone/codex/update-prompt-templates-for-missing-data-policy - Fix backend test failures - feat: add missing data policy placeholders - Update cancellation email text - Improve payment failed email system - Fix trial-to-Pro upgrade and Stripe time handling - Merge pull request #230 from toneclone/jf-remove-fine-tuning-test - fix: resolve OpenAI provider test failures with mock client issues - feat: implement comprehensive payment failed user handling - Merge pull request #229 from toneclone/codex/add-query-logging-to-toneclone - Implement comprehensive subscription expiration handling - Merge pull request #220 from toneclone/codex/update-api-endpoints-for-renaming - feat(logging): unify query response logs to variants envelope and add schema/version metadata; stop shallow copying requests\n\n- Exclude attachments from QueryRequest JSON; marshal request directly\n- Add LogSchemaVersion and RequestFormat on initial log write\n- Log responses as JSON envelope with variants[] and done for single/streaming/multi-variant\n- Add ResponseFormat and UpdatedAt on update\n- Update tests to assert JSON envelope in logs - Fix cancellation banner not appearing - chore: ignore Go build caches; remove cached test artifacts from index - test: make DynamoDB mocks resilient to query log writes; allow QUERYLOG PutItem/UpdateItem when unmocked to avoid test flakiness\n\n- Add panic-safe handling in PutItem/UpdateItem to treat QUERYLOG writes as successful no-ops when no expectations are set\n- Remove broad default expectations to ensure test-specific Run hooks still fire\n- Verified all backend tests pass with ENVIRONMENT=test - Resolve merge conflicts: Update terminology from \'profile\' to \'Knowledge Card\' - Merge branch \'codex/add-query-logging-to-toneclone\' of github.com:toneclone/toneclone into codex/add-query-logging-to-toneclone - Merge pull request #228 from toneclone/codex/rename-voice-evolution-to-smartstyle - Update marketing page - rename AI Tell filtering to StyleGuard - Fix TypeScript build error - remove extra closing brace - Resolve merge conflicts in writing components - billing: scheduled downgrade detection and banners - Downgrade scheduling: use subscription schedules; detect existing schedule; create then update phases; anchor phase1 start to current_period_start; phase1 iterations=1 then switch to lower price; end_behavior=release - Merge pull request #225 from toneclone/jf-document-handling - fix: Critical fixes to address CI failures and Claude feedback - Merge pull request #224 from toneclone/codex/add-ui-for-prompt-presets-in-frontend - Fix frontend test failures after usePromptPresets hook implementation - Downgrade UX: personalize impact; caps old→new when under; usage→cap when over; conditional warning/info icon; support Priority→Standard row; neutral data handling copy; renamed button to ‘Confirm downgrade for next cycle’; wired usage from user + entitlements; annual Pro opens upgrade dialog and closes downgrade; PostHog reason tracking - Implement shared usePromptPresets hook for performance optimization - Fix TypeScript null safety issues in WritingStarter - Fix remaining \'0\' display issue in WritingStarter - Fix duplicate key warnings and infinite loading cycle - Billing: add GSI retry in findOrCreateUserByStripeCustomer; safeguard NO_PLAN recovery in subscription.updated; ensure uppercase DynamoDB attrs; Stripe proration immediate invoicing; richer checkout logging; frontend 402 handling + upgrade/downgrade flows; add TIME_ADJUSTMENT_CHANGES.md - chore(android): rename voiceEvolution to smartStyle - Log query responses asynchronously - Log user queries and responses - fix: Address high priority code review feedback - Merge pull request #226 from toneclone/codex/rename-profiles-to-knowledge-in-frontend - Merge pull request #227 from toneclone/codex/update-profiles-to-knowledge-in-marketing-site - Rename Voice Evolution feature to SmartStyle - chore: rename profiles to knowledge cards in marketing copy - fix: update knowledge card label in extension - Merge pull request #222 from toneclone/codex/rename-profiles-to-knowledge-in-android-app - deps: Add document processing libraries for PDF and DOCX support - feat: Implement robust document processing with proper text extraction - fix: update keyboard repository for knowledge URIs - Rename profiles to knowledge in Android app - fix: update knowledge card field mappings - Add prompt preset buttons to writing pages - Merge pull request #221 from toneclone/codex/rename-profiles-to-knowledge-in-raycast-extension - Merge pull request #223 from toneclone/codex/rename-profiles-to-knowledge-in-n8n-extension - feat(n8n): rename profiles to knowledge cards - Rename profiles to knowledge in Android app - Merge pull request #219 from toneclone/codex/fix-handling-of-rejected-stripe-events - Rename profiles to knowledge in Raycast extension - refactor: use knowledgeCardID param - Handle stale Stripe webhook processing - Rename profile endpoints to knowledge - fix stripe event retry handling - Merge pull request #218 from toneclone/jf-built-in-personas - Fix Codex review feedback: security, error handling, and test imports - Add placeholder key to test script - Fix TypeScript build errors and improve type safety - Fix getPlanEntitlements warning in frontend tests - fix: Use atomic DynamoDB ADD operation for API key usage tracking - Fix frontend test failures and linting errors - Add built-in persona support to CLI - Fix Raycast profile loading errors for built-in personas - Add built-in persona support to n8n client - fix: handle built-in personas properly in Raycast extension - feat: add built-in personas to Raycast generate text commands - Merge pull request #216 from toneclone/jf-prod-infra - Fix missing SendGrid environment variables in GitHub Actions workflow - feat: replace hardcoded built-in personas with dynamic API calls - Merge pull request #214 from toneclone/jf-banned-words - fix: Resolve StyleGuard word update 404 errors - security: Remove test_training_simple.go to prevent real OpenAI API calls - docs: Add StyleGuard feature description to PRD - fix: Update function signatures and remove legacy aliases - feat: Complete StyleGuard rebranding from \'banned words\' - Merge pull request #213 from toneclone/jf-client-metrics - Fix critical client tracking issues - Merge pull request #212 from toneclone/jf-add-marketing-metrics - Update marketing package-lock.json after PostHog installation - Add client tracking to Android app and keyboard module - Add PostHog analytics to marketing site - Update devx config - Merge remote-tracking branch \'origin/main\' into jf-client-metrics - Merge pull request #211 from toneclone/jf-android-pt-2 - Update Android app to use backend built-in personas API - feat: add client tracking to n8n node using X-Client header - Improve API key service security and code quality - refactor: remove unused getClientVersion function - feat: add client tracking to CLI using X-Client header - feat: replace all toneclone.com domain references with toneclone.ai - Merge main into jf-android-pt-2 branch - Add persona_routes.go - Restore valid built-in persona tests that were accidentally removed - feat: Add frontend client tracking with query parameters - Add missing personas package to fix CI compilation - feat: Add client tracking middleware for PostHog analytics - Fix test failures in concurrent and rate limiting tests - Fix API key authentication with scalable GSI-based lookup - Merge pull request #209 from toneclone/jf-raycast-pt2 - Refactor Raycast extension with security improvements and better architecture - Address security concerns from code review - Merge pull request #210 from toneclone/codex/mock-openai-endpoint-in-tests - Mock OpenAI fine-tuning tests - Fix test issues and improve validation - Merge branch \'main\' into jf-raycast-pt2 - Add comprehensive Raycast extension with multiple ToneClone commands - Merge pull request #208 from toneclone/jf-frontend-cleanup - Merge remote-tracking branch \'origin/main\' into jf-frontend-cleanup - Enhance Raycast extension with persona icons and simplified auth - Fix live UI update after persona deletion - Merge pull request #207 from toneclone/jf-fix-onboarding - Add SendGrid environment variables to Terraform configuration - Fix email URLs and add missing Stripe customer validation - Refactor email service to use Go templates and environment variables - Resolve merge conflicts with main branch - Fix failing tests and TypeScript build errors - Merge pull request #206 from toneclone/jf-client-cleanup - Add DynamoDB field naming conventions to prevent data conflicts - Fix Cloudflare Pages deployment file size issue for marketing site - Fix persona enabled/disabled flickering by standardizing DynamoDB field names - Fix TypeScript build error: remove unused Code import - Add comprehensive CLI marketing page and update frontend apps listing - Fix devx config - Merge pull request #205 from toneclone/jf-fix-devx-config - Address PR feedback with improved error handling and validation - Fix devx port conflicts by replacing background processes with named pipes - Merge pull request #204 from toneclone/jf-frontend-cleanup - Change model reference in test - Remove TypeScript build info from version control - Enhance banned words UI with bundle types and normalization settings - Optimize streaming banned word replacement with smart buffering - Fix flaky test issues that caused CI failures - Fix streaming banned word replacement with smart buffering - Implement no-plan architecture for post-email-confirmation users - Merge pull request #203 from toneclone/jf-fix-onboarding - Merge remote-tracking branch \'origin/main\' into jf-fix-onboarding - Improve user signup flow with dedicated success page - Merge pull request #202 from toneclone/jf-android-pt-2 - Fix persona profiles endpoint to return 200 with empty array instead of 404 - Prepare CLI for open source release - Implement efficient batch file upload with integrated persona association - Update ResponseScreen header to match MainScreen branding - Fix profile loading for built-in personas - Add multiple profile support to CLI generate command - Enable multi-variant feature with settings toggle - Update API domain from toneclone.com to toneclone.ai - Merge pull request #200 from toneclone/jf-prod-infra - Remove build artifacts - Fix file association updates to work for all training scenarios - Fix Cron job to update persona with fine-tuned model on completion - Merge pull request #198 from toneclone/jf-prod-infra - Remove unused encoding/base64 import from supabase_jwt.go - Fix combine Lambda timeout issue - Fix App Runner IAM policy for Step Function access - Merge pull request #196 from toneclone/jf-prod-infra - Fix GPT-5 parameter compatibility in combine Lambda - Merge pull request #194 from toneclone/jf-frontend-cleanup - Merge pull request #192 from toneclone/jf-prod-infra - Fix Lambda deployment by reverting to always_run triggers - Merge pull request #190 from toneclone/jf-prod-infra - Fix working directory issue in Lambda build scripts - Merge pull request #188 from toneclone/jf-prod-infra - Fix shell compatibility: Use bash interpreter for pipefail support - Merge pull request #186 from toneclone/jf-prod-infra - Address PR feedback: Fix timeout, build triggers, and error handling - Fix Terraform formatting - Fix Lambda builds and add build verification to CI - Merge remote-tracking branch \'origin/main\' into jf-prod-infra - Improve Lambda build process with better error handling and debugging - Merge pull request #185 from toneclone/jf-prod-infra - Fix API response field name expectations in test - Fix PostHog mock Enqueue method for Personal plan API access test - Implement API key regeneration with confirmation dialog - Fix backend tests for Personal plan API access change - Merge pull request #184 from toneclone/jf-prod-infra - Fix Next.js client component issues for CloudFlare Pages - Merge pull request #180 from toneclone/jf-update-marketing-site - Resolve merge conflicts with main - Merge pull request #182 from toneclone/jf-prod-infra - Remove setup files that never should\'ve been committed :( - Merge pull request #181 from toneclone/jf-prod-infra - Update to limit to main/prod branches - Fix Terraform plan check in CI validation - Fix Terraform security scan false positives - Fix marketing site CloudFlare build issues - Fix Terraform formatting for CI validation - Fix remaining nested interactive elements with asChild pattern - Fix HTML validity: remove nested interactive elements - Fix CloudFlare Pages Node.js compatibility for marketing site - Implement Claude\'s additional security and stability suggestions - Merge pull request #179 from toneclone/jf-prod-infra - Merge pull request #178 from toneclone/jf-android-pt-2 - Refactor marketing site to use shared components and improve content - SECURITY FIX: Address Claude PR feedback - Address Claude\'s PR feedback: improve code quality and add comprehensive tests - Update test workflows to run on both main and prod branches - Update production workflows to trigger on prod branch - Remove CloudFlare Pages domain creation to prevent conflicts - Fix CloudFlare Pages deployment issues - Improve UI color contrast and accessibility across keyboard and main app - Remove CloudFlare Pages import step from workflow - Add comprehensive GitHub Actions IAM policy - Fix output configuration for production deployment - Add CloudFlare Pages import step to deployment workflow - Add GitHub source configuration to CloudFlare Pages projects - Merge pull request #177 from toneclone/jf-android-pt-2 - Fix test compilation issues and add focused unit tests - Address high-priority PR feedback: Add comprehensive tests and real-time validation - Merge pull request #176 from toneclone/jf-update-models - Update training test to expect new default model gpt-4.1-mini-2025-04-14 - Fix CI test failures by preventing real OpenAI API calls during tests - Address PR feedback: Fix race conditions and add validation - Enhance AI prompt templates and training pipeline with advanced style profiling - Reorganize settings page structure for better UX - Implement hidden dev mode feature and UI improvements - Fix AWS provider configuration for GitHub Actions - Fix step-function.json path after merge from main - Merge remote-tracking branch \'origin/main\' into jf-prod-infra - Commit the step function definition - Fix step-function.json file path in training module - Fix test failures by updating FilterExpression field name case - Add non-sensitive terraform.prod.tfvars for GitHub Actions - Remove AWS profile from S3 backend config for GitHub Actions compatibility - Configure S3 backend for shared Terraform state - Handle App Runner service not in RUNNING state before deployment - Fix GitHub Actions App Runner deployment wait command - Fix Docker build context in GitHub Actions workflow - Add debugging for AWS credentials in GitHub Actions workflow - Merge pull request #174 from toneclone/jf-android-pt-2 - Update fine-tuning model to gpt-4.1-mini-2025-04-14 and fix styleProfile support - Fix AndroidTest compilation and runtime issues - Add a toneclone cli readme - Fix unit test compilation and implementation issues - Fix plans.json: revert personal plan popular flag and enable API access - Update marketing site with app links, favicon, and branding - Add comprehensive test coverage for persona functionality - Merge branch \'main\' of github.com:toneclone/toneclone - Merge pull request #175 from toneclone/jf-prod-infra - Fix compilation errors from Claude feedback implementation - Address critical security issues from PR review - Fix critical security and performance issues - Add production deployment workflows and CloudFlare Pages configuration - Add Android build artifacts and IDE files to gitignore - Add built-in personas with proper sorting and color support - Update logos and optimize launcher icons with adaptive padding - Update app logo to high-res version and fix launcher icons - Make label text sizes consistent with selector/button text - Complete profile reselection fix - consolidate rebuild logic - Fix profile reselection issue with signature-based rebuild logic - Add CloudFlare deployment script to frontend package.json - Update production infrastructure for CloudFlare Pages deployment - Add terraform.prod.tfvars to .gitignore to protect production secrets - Add plans.json file to backend Docker image to fix Stripe plan validation - Enhance .devx development environment with service logging and process management - Add .worktrees to gitignore - Simplify landing page: clean white background with logo, ToneClone text, and coming soon - Add simple landing page with ToneClone logo and coming soon message - Update package-lock.json for vaul@1.1.2 compatibility with React 19 - Fix marketing site React 19 compatibility - Remove whitespace around Android app header logo - Upgrade app logos with high-resolution ToneClone branding - Implement Supabase authentication with secure configuration management - Merge pull request #172 from toneclone/jf-add-billing - Merge pull request #173 from toneclone/jf-add-logins - Fix CI test failures - frontend TypeScript and backend mocks - Fix CI test failures - correct supabase import inconsistency - Implement code review improvements and comprehensive test suite - Fix backend CI test failures - Fix linting issues in OAuth authentication files - Implement Claude\'s PR feedback recommendations - Clean up debug logging from OAuth authentication flow - Enhance OAuth authentication with GitHub login and improved UX - Fix GitHub Actions test failures - Extend billing integration to persona and profile management components - Add billing-related enhancements to core components - Add draft limit warning system with progress bar and upgrade links - Enhance billing system with improved user management and Supabase integration - Clean up debug logging from Google OAuth implementation - Merge remote-tracking branch \'origin/main\' into jf-add-logins - Add Google OAuth authentication support - Merge pull request #171 from toneclone/jf-add-billing - Complete URL configuration and security logging fixes - Security fix: Replace fmt.Printf with log.Printf in critical route handlers - Fix URL configuration: remove hardcoded fallback URL from CORS - Address security and configuration feedback from PR review - Remove compiled binary from repository - Update .gitignore to exclude build artifacts and logs - Update marketing copy to remove \'no credit card required\' messaging - Fix TestHandleQueryWithBannedWords to work with new AI service architecture - Merge main into jf-add-billing branch - Remove binaries - Merge pull request #170 from toneclone/jf-openai-sdk - Fix OpenAI integration tests to skip in CI environment - Add Stripe billing integration with frontend payment flow - Add comprehensive training functions testing suite - Fix model support: Add gpt-4o-mini-2024-07-18 to supported models - Complete AI service integration and fix all test failures - Implement backend enforcement of plan limits with atomic usage tracking - Complete Deliverable 3.2: Refactor query routes and tests for AI service - Complete Deliverable 3.1: Initialize service in main.go with DI - Implement monthly usage tracking for draft limits - Complete Deliverable 2.3: Migrate fine-tuning operations - Update project todo list: Mark D2.2 as completed - Complete Deliverable 2.2: Enhanced Streaming Support - Complete Deliverable 2.1: OpenAI Provider with Responses API - Implement Customer Billing Portal Integration (Deliverable 6) - Implement comprehensive Stripe webhook processing with idempotent event handling - Update project todo list: Mark D1.2 as completed - Implement Deliverable 1.2: Service factory and provider registry - Update project todo list: Mark D1.1 as completed - Implement Deliverable 1.1: Provider-agnostic AI service interface - Implement Stripe Checkout Session API with isolated mock testing - Add Stripe integration with webhook endpoint and v82 SDK - Add Stripe environment variables to configuration example - Add plans configuration and update marketing pricing page - Add plans management system for billing entitlements - Add billing system foundations with user trials and plan management - Fix marketing site service setup in Devx - Merge pull request #169 from toneclone/jf-marketing - Update teh devx config - Add ToneClone marketing site with Next.js and shadcn/ui components - Merge pull request #168 from toneclone/jf-update-sign-up-flow - Fix TypeScript compilation errors to resolve CI build failures - Fix backend test failures and enhance filter expression consistency - Merge remote-tracking branch \'origin/main\' into jf-update-sign-up-flow - Merge pull request #167 from toneclone/jf-android-app-clean - feat: Add memory pressure handling for multi-variant response caching - security: Remove debug logging and improve IME security - feat: Add complete Android app with multi-variant AI response functionality - Fix final 3 frontend test failures - all tests now passing - Fix frontend test failures and improve test reliability - Enhance persona and writing components - Update frontend components and UI improvements - Fix banned words custom flag bug - Remove duplicate AI Tells Bundle and Banned Words sections - Fix banned words API authentication issues - Fix banned words API authentication issues - Add skeleton loader and improve writing canvas UX - Update navigation and routing for Apps/Integrations page - Add persona color customization and consistent avatar system - Enhanced persona management UI and writing flow improvements - Comprehensive UI improvements and new account management - Update sign-up flow: streamline onboarding and improve UX - Merge pull request #153 from toneclone/jf-add-deny-list - fix: Make test order-independent after LRU cache changes - Merge branch \'main\' into jf-add-deny-list - security: Address critical security and performance issues - test: Add comprehensive test coverage and fix CI failures - feat: Add AI Tells Bundle feature with loading indicators - feat: Improve banned words UX with latency warnings and better defaults - feat: Implement conditional buffering for optimal streaming performance - Update devx config for removing Auth0 - Merge pull request #165 from toneclone/jf-supabase-migration - Fix CI test failures: Add missing Supabase environment variables - Address Claude PR feedback: Security enhancements and ESLint improvements - Resolve merge conflicts with main branch - Complete Supabase JWT migration with comprehensive test coverage - feat: Add JWT authentication tests and deprecate Auth0 session tests - fix: Update persona validation test to use required name field - test: Add comprehensive JWT authentication test coverage - fix: Allow JWT authentication for API key management - fix: Make parentModel optional with default value for persona creation - fix: Enhance banned word spacing and punctuation preservation - feat: Complete banned words deny list implementation with streaming integration - fix: Support Auth0 user IDs in writing routes - fix: Add banned routes registration and fix test compilation - Add Supabase integration setup - Merge branch \'main\' into jf-add-deny-list - Merge pull request #164 from toneclone/jf-writing-ui - Fix CI test failures by mocking scrollIntoView globally - Suppress harmless test environment errors to fix CI - Fix CI test failures in WritingStarter component - Clean up failing tests to achieve reliable CI pipeline - Fix frontend CI test failures - localStorage parameter fixes - Clean up lint warnings in test files - Add comprehensive test coverage for document versioning and React components - Fix TypeScript compilation errors in writing-canvas.tsx - Merge branch \'main\' into jf-writing-ui - Fix ESLint warnings and improve code quality - Address Claude PR feedback - security and reliability improvements - Fix test failures and lint errors - Merge pull request #163 from toneclone/jf-raycast-plugin - Add comprehensive test suite and fix remaining ESLint warnings - test: Add comprehensive unit test suite for Raycast plugin - Add document versioning system and user preferences - fix: Address critical PR feedback issues - Complete writing UI integration with API and full functionality - fix: Address code review feedback for Raycast plugin - feat: Add complete Raycast plugin for ToneClone - Merge pull request #162 from toneclone/jf-n8n-module - Refactor writing interface with starter flow and enhanced canvas - Add comprehensive testing framework for ToneClone n8n module - Add training content submission to ToneClone n8n module - Add writing canvas feature with navigation and UI improvements - feat: Add n8n ToneClone integration node - Merge pull request #158 from toneclone/jf-api-part-2 - Address Claude\'s PR review feedback: improve test robustness and constants - Complete Group 6: Input Validation & Edge Cases with Critical Security Fix - Complete Group 5: Rate Limiting & Authentication Security - Token Rotation Race Conditions - Complete Group 5: Rate Limiting & Authentication Security Testing (3/4 sections) - Complete Group 4: Training Workflow Robustness Testing - Merge pull request #161 from toneclone/codex/update-handlequery-to-support-multiple-profile-ids - Hide invalid profile IDs - Fix failing concurrent operations tests in Group 3 AI testing - Allow multiple profile IDs for queries - Complete Group 3: AI Service Integration & Resilience Testing - New unit tests - Complete Group 2 persona profile association tests and mark Group 2 complete - pkg/types: add JSON round-trip and method tests for core types (Persona, associations, TrainingJob, FileMetadata, APIKey, User, Session) to establish baseline coverage and validate helper methods. - Complete Group 2: Persona Management Comprehensive Testing - pkg/training: add comprehensive tests for training job creation and persona-based job initiation; cover success and error paths using existing mocks; increase coverage to ~66% for package. - Complete Group 1 API testing: File Upload & Storage Testing - Complete Phase 4.1: Advanced Security Testing - Complete Phase 3: Workflow Integration Tests - feat: comprehensive writing routes test coverage with 10x improvement - Merge pull request #156 from toneclone/jf-api-part-2 - Address Claude\'s PR feedback - implement minor improvements - Fix all remaining ESLint errors (9 → 0 errors) - Fix GitHub Actions permissions and reduce ESLint errors - Fix frontend ESLint errors and PostHog integration issues - Merge pull request #157 from toneclone/add-claude-github-actions-1755540604470 - "Claude Code Review workflow" - "Claude PR Assistant workflow" - Complete Phase 2.9: Writing Sessions Tests with authentication fixes - Complete Phase 2.8: Training Management Tests - Complete Phase 2.7: AI Query & Generation Tests with Security Fixes - Complete Phase 2.6: Persona Management Tests with Critical Security Fix - Complete Phase 2.5: File Management Tests - Implement Phase 2.4: Comprehensive Profile Management Tests - Complete Phase 2.3: API Key Management Integration Tests - Add comprehensive ToneClone Backend API documentation - Implement comprehensive authentication and middleware testing (Phase 2.1) - Add optional non-streaming mode to query endpoint - Add tmp directories to gitignore - Remove tmp build artifacts from git tracking and add to gitignore - Add comprehensive test infrastructure for API endpoint testing - Merge pull request #154 from toneclone/jf-update-devx-config - Merge branch \'main\' of github.com:toneclone/toneclone into jf-update-devx-config - Update devx config - feat: Implement Phase 3 of Not-Allowed Filter System - Automatic Output Rewriting Pipeline - feat: Implement Phase 2 of Not-Allowed Filter System - LLM prompt integration - Merge pull request #152 from toneclone/cursor/add-unit-tests-for-middleware-package-1905 - Add middleware package tests with comprehensive auth middleware coverage - Merge pull request #149 from toneclone/jf-toneclone-cli - More small fixes for frontend tests - Fix dependencies - Move linting to just info for now - Add frontend tests, add them to the github action - Merge pull request #150 from toneclone/cursor/fix-backend-tests-workflow-and-coverage-path-fe37 - Fix Codecov coverage file path in backend tests workflow - Add backend test Github actions - Merge pull request #147 from toneclone/jf-toneclone-cli - Merge pull request #148 from toneclone/cursor/fix-global-directory-change-in-tests-5942 - Refactor template path resolution using runtime.Caller for dynamic paths - Complete backend testing infrastructure with 100% test success rate - Merge pull request #145 from toneclone/jf-toneclone-cli - Hide future binaries in gitignore - Remove the binary from the repo - Merge pull request #146 from toneclone/cursor/fix-rate-limit-token-consumption-bug-fad0 - Fix rate limit remaining requests calculation method - Add API key management routes and frontend components - Add backend authentication fixes and feature planning documentation - Complete ToneClone CLI implementation with all 8 deliverables - Merge pull request #144 from toneclone/jf-setup-tooling - Add some basic claude tooling - Merge branch \'main\' of github.com:toneclone/toneclone - Fix some devx config - Merge pull request #143 from toneclone/one-more-time - Fixes for localhost cookie management - Merge pull request #142 from toneclone/jf-add-new-devx - Some fixes and clean up - Merge pull request #141 from toneclone/jf-add-new-devx - Update devx config - Add auth0 callback handler script - Add some more devx config - Some clean up in process of adding devx - Some fixes for handling the toneclone-api.jonefox.com domain - Add knowledge management to the popup menu instead. Closes #101 - Handle logged out status when running inline edit prompts. Closes #132 - Add login menu on Tone Clone buttons when the user is no longer logged in - Add simple script to help with version management of the extension - Fix smart fill integration for inline editing - Update the browser extension icon in the popup and right click menus - Minor fixes to make the build happy - Add initial support for Outlook - Add a simple privacy policy since we need one for the Chrome Web Store submission - Update the text area button to use new logo - Add support for multiple API domain aliases - Clean up and simplify a few small things in the onboarding flow - Fix stylesheet reference - Fix sidebar in Brave browser - Merge branch \'main\' of github.com:toneclone/toneclone - Update createWritingSession call to use service worker - Fix white space issues in selection verification - Update color theme, icons - Fix hiding the toolbar if the selection goes away without a click - Add basic Twitter/X support and get Gmail toolbar working - Add WIP twitter integration - Add the URL and potentially some additional context to the prompt. Closes #123 - Change the icon to reset the sidebar session and add a confirmation dialog box. Closes #120 and closes #119 - Filter out and replace characters. Fixes #114 - Fix bug with the sidebar, add some build debug logs, and don\'t include content_script.js on gmail pages since it gets bundled with gmail.js - Fix the merge and related bugs - Merge pull request #130 from toneclone/jf-wip-inline-editing - Merge branch \'jf-wip-inline-editing\' of github.com:toneclone/toneclone into jf-wip-inline-editing - Small bug fix for opening the sidebar - Merge pull request #129 from toneclone/jf-wip-inline-editing - Merge branch \'main\' into jf-wip-inline-editing - Fix bug with multiple compose windows. - Move gmail features to their own script. Closes #127 - Add the handler to the power button to add a modal to disable Tone Clone. Also adds a list of disabled sites in the popup menu where you can remove sites from the disabled list. Closes #125 - Replace old Tone Clone button menu with the new one - Add caching and request de-duping to presets service - Fix minor typos in prompt template - Pending history icon insertion and minor fixes on prompt history handling - finish prompt history implementation - Fix bug with sumamry modal on loading screen and add caching to email summaries - Initial summarize thread implementation and add emails as writing samples - Wire up the menu features - Wire up suggested preset replies - Add hot key execution to Gmail - Fix placement issues with the prompt window - Make the prompts actually work - Make smart replies actually work and add opening animation for prompt window - Use loaded presets instead of hard coded onees - Swap icon and text order on the buttons - WIP prompt menu - More work on the menu - WIP Gmail Integration - hover on button - Add some example places to get samples in training-intro page. Closes #110 - Add a glowing circle around the Tone Clone icon in the textarea to make it more obvious clicking it is the next step. Closes #113 - Update the selected persona when it changes in another component - Migration to services and background-services-client - WIP form fills and prompt suggestions - Fix merge conflicts - Add a bunch of small changes from product feedback session on onboarding - Update color theme - Don\'t delete the extension folder when deploying the frontend - Add initial version of hotkey trigger from textareas on the page directly. - Fix PostHog CSP errors for tracking events in the extension. Closes #99 - Fix -\'s in extractor autocomplete matching - Switch to using AWS App Runner instead of API Gateway and Lambda for the API. This should be a bit faster and give us more control, but also fixes streaming responses in preview environment. - Add a reset session button to the sidebar to reset everything. Closes #63 - Don\'t update the prompt placeholder every document change, just update it if there is or isn\'t document text - Add support for a summarized email thread in Gmail as an extractor/smart fill - Allow pressing enter to save the name when creating a new persona and make sure we update the sample count and goal when selecting new personas in the popup menu - Add auto training at sample levels 1, 3, 10, 20, and 50 - Change persona output to be levels instead - Add \'calm it down\' and \'make it spicier\' buttons - Add support for Slack and append a space after autocompleted extractors - Rename extractors \'smart fill\' and add multiple placeholders for prompt text including ones that use @\'s, different ones for starter vs someone who\'s used it a bit, and different ones for doc revisions vs new doc draft prompts - Add support for Google Voice text messages - Fix @ extractor handling - Add basic document history feature - Add a basic prompt history feature - Add multiple levels of goals for writing samples. - Add error message for Safari since we don\'t support it. - Be a bit smarter about adding our icons to pages to make things more performant. Closes #78 - Some minor clean up to the build and put some bounds on when we insert the Tone Clone icon into pages. Closes #77 - Special case training data being added from the training-intro page and just show them a helpful message instead of actually adding it. Closes #98 - Don\'t show the personas in the sidebar if they only have 1. Closes #96 and closes #97 - Change the order of the onboarding flow to make the writing section 2nd instead of last. Closes #95 - Finish new onboarding flow. Closes #81, closes #86, closes #83 - WIP new onboarding flow - Don\'t add the sidebar to a page until we try to open it. Closes #76 - Add ability to upload and paste writing samples in the popup-menu in the extension. Closes #87 and closes #88 - Simplify the right click context menu text and make them more distinct so they\'re easy to scan. Closes #80 - Add screenshots to extension installation page. Detect if they don\'t have personas yet and direct them to persona picker in extension popup (if on toneclone or not). Closes #72 and closes #82 - Add a way to detect when the extension is installed on the install extension page. Both if it\'s already installed and if it is actively installed at the time. Closes #75 - Add a pick-persona page (accessible if you don\'t have any personas yet). Closes #73 and closes #74 - Update sidebar auth styles - Add support for markdown files - Draggable sidebar - Hook up context manager interactions - Merge branch \'main\' of github.com:toneclone/toneclone - Add support for extracting diff summaries and commit messages on compare pages in GitHub, and add a preset for generating Pull Requests - Merge remote-tracking branch \'origin/main\' - Add context manager to sidebar - Only show the add from library option in the persona editor if there are new files that aren\'t already added to the persona - Fix CSRF token cookie issue with preview domains - Refactor the create initial persona code, make sure it\'s on both the welcome page and the intro to training page, and default Voice Evolution to be on for new personas by default - Bold the persona name in extension popup to make it more clear, change the copy button in sidebar to be copy and close so it\'s not a surprise to users, and try to make writing contexts more intuitive in the persona editor - For now just log CSRF failures, don\'t actually block. - Strip console.log from production builds - Add CSRF tokens to prevent attacks. Closes #21 - Move writer/persona and context inline #32 - Merge remote-tracking branch \'origin/main\' - Move writer/persona and context inline #32 - Remove background on icons and make the textarea icon larger - minor clean up for frontend build - Add nicer save dialog and delete option for query presets. Closes #56. Closes 5 - Allow sidebar prompt textfield to autoexpand. Closes #80 - Fix formatting when copying existing text from content editable elements to the textarea in the sidebar. - Add URL filter list for query presets and add a few more static ones for emails. - Add right click menu option to send selected text to the document in Tone Clone - Add right click context menu to add selected text to the prompt. - Add right click menu on selected to text to add the text to a persona as a writing sample - Fix line breaks when sending text to contenteditable elements - Add training intro page, getting started menu item, and update links in welcome page. Closes #62 - Add support for content editable elements and fix URL filtering for extractors. Closes #64. - Minor clean up and word smithing for clarity from walkthrough with Katie - Add basic version of extractors - Add query preset API endpoints to API Gateway - Move prompts to Golang templates and split out different ones for updating a doc vs creating one from scratch. Closes #57 - Simplify extension detection - Add a new metrics.toneclone.ai to proxy PostHog requests and add PostHog to browser extension. Closes #47 - Add a little banner to suggest installing the extension if they don\'t have it yet. Closes #44 - Add a welcome page for new users who just signed up. Closes #45 - Add script to deploy extension - Add option for no context/profile - Make the sidebar icons actually work - Add ability to save prompt presets, make them dynamic, and make them actually work. Closes #53 - Add voice evolution support in the extension. Closes #23 - Fix small build error - Fix training bug with trainingStatus. Closes #27 - Add a new persona type for untrained personas - Minor fixes for persona editor page - Add a welcome blurb to the popup. Closes #12 - Add missing background script - Make persona sticky to the domain/site. Closes #42 - Add Posthog to website. Closes #46 - Fix the sidebar close button and other small UI tweaks - Broadcast auth changes to all existing injected sidebars. Closes #20 - Add a message when opening the ToneClone extension on a ToneClone.ai site. Closes #43 - Hook up add persona button in popup - Fix AI generated writing session titles and auto-select of persona on new session - More buttons in sidebar, lots more buttons - Profile -> Context for sidebar dropdown - Writer and profile side-by-side in sidebar - Add training in progress message to popup. - Add new persona from popup - Upload success/fail styles, submit icon change - Upload success/fail styles, submit icon change - Allow writing with untrained personas. Closes #13 and Closes #41. Also fixes a few small bugs in ai-writing.tsx (infinite polling and failing to fetch profiles if no persona is selected). - Wire up the undo button. Closes #14 - Merge - Add extractors examples - Sidebar layout and buttons - Handle 0 and 1 personas use cases. Closes #10 - Don\'t show double spinners when submitting samples from the extension. Just show a spinner on the one you click and show the other as disabled. Closes #8 - Don\'t show the settings icon in the popup menu if the user is logged out. Closes #11 - Disable add selected text button if no text is selected. Fixes #16 - Fix the toggleSidebar handler - Clean up the workflow a little with the sidebar, page, and menu interactions when finishing writing - Sync content between target textarea and the sidebar - Merge branch \'main\' of github.com:toneclone/toneclone - Add icon to text areas - Buttons -> ActionIcons - Add skeleton loader - Remove sidebar debug auto-toggling - Add copy button to sidebar + loaderProps for buttons - Add background / async training. Closes #25 - Fix minor bug with showing Add from Library button as disabled - Add metric events to the training lambas. Closes #22 - Fix broken tests - De-dupe and reorganize structs and constants between packages - Reorganize golange code into one main folder - Add posthog to backend API calls - Adds voice evolution to the website writing interface and closes #24. Also adds source tracking to writing samples to know how the sample got added (website file upload, extension add page, voice evolution on website, etc). - Update sidebar layout and styles - Make the persona sticky in the sidebar and keep it in sync with the one in the popup - Block opening the sidebar on *.toneclone.ai - Fix bug and race condition in login/logout flow - Fix the status of the sidebar in the popup menu - Merge branch \'main\' of github.com:toneclone/toneclone - Truncate long filenames in writing samples - Fix add page and add selected text uploads to actually associate them with the current persona - Fix broken links in popup menu - Make persona sticky in the popup, will need to update writing sidebar later - Add sidebar spacing - Inject styles into sidebar, split into separate components - Merge branch \'main\' of github.com:toneclone/toneclone - Initialize API client in sidebar - Update lock file - Update lock file - Add home link, updated settings - Merge remote-tracking branch \'origin/main\' - Pop up refinements, fixed logged out layout - Add new routes to terraform - Minor fix for old ai-training page - Fix merge conflicts - Update the persona editor to handle writing samples, writing contexts, and voice evolution settings. Other minor clean up and fixing support for file associations and training markers on them - Add new popup design - Clean up the writing page a bit - Add more sub clients to make API interaction easier - Clean up the profile-editor and give it a routing path - Update terraform for new session endpoints - Fix the header active class on sub pages - Fix the HTTPClient in main.go - Mega merge... - Fix persona detail page rendering - Fix all the tests - Finish extension login/logout handling - Add the existing logged in path for the extension - Initial commit of new auth / session management - Merge pull request #1 from toneclone/mknepprath/v0 - Prevent sidebar refresh on submit - Add TextArea to embed - Merge conflicts - Merge branch \'refs/heads/main\' into mknepprath/v0 - Linted, routing changes, etc - Don\'t cache index.html in Cloudfront because it\'s not versioned - Fix link to the writing page with a specific persona - Add a cmd/control+enter handler for easier submission - Add response streaming - Fix build errors - Add prompt only training and support for both prompt and model training on same persona - Merge branch \'refs/heads/main\' into mknepprath/v0 - Add an undo button to undo the most recent change from AI - Remove the chat features - Ignore .bak files in git - Removed sliders, added close button to sidebar, fixed type issues - Merge branch \'main\' into mknepprath/v0 - Add method and endpoints to associate profiles with personas - Merge branch \'main\' into mknepprath/v0 - Update profiles to be a freeform textbox instead of a map of key/value pairs - Add associations between files and personas and new endpoints to manage them, also add a new training endpoint to train on all untrained files - Popup work - Add a function to create a screenshot of the browser tab - Merge branch \'main\' into mknepprath/v0 - Fix auth config for extension to eliminate race condition and alternate Auth0 config - Init commit - Add polling when creating a new writing session to make sure we get the initial message and response loaded correctly - More prompt enhancements - Move the common axios library stuff into a new api-client lib file instead - Update the prompt building based on new framework - Add option for adding full pages to the training data - Make the filename for selected text uploads a bit more meaningful - Add method to grab selected text and add it as training data to a persona - Attempt to handle refresh tokens and kick to a login page when session expires - Add text upload route and fix unit tests - Add localhost:5173 to the accepted CORS origins for now for easier local testing of the frontend - Small fixes to make build happy, add error modal when can\'t load from backend, add persona and profile descriptionand fix bug with delete files - Fixes for the extension - Get extension working with auth and clean up a bug in AI writing page - More clean up of Supertokens -> Auth0 and fix a few small bugs with file uploads - A few more additions to .gitignore - Add example env.local - Frontend changes to migrate from Supertokens to Auth0 - Add backend changes for Auth0 migration - Terraform updates to migrate to Auth0 and clean up - Fix the website build - Initial commit * Clean up Raycast TypeScript build * Align Raycast prefs typing with generated definitions * Update ToneClone extension dependencies and metadata - Upgrade @raycast/utils to version 2.2.0 - Add @raycast/eslint-plugin as a dependency - Update @raycast/eslint-config to version 2.1.1 - Bump esbuild packages to version 0.25.10 - Standardize subtitles in package.json for ToneClone commands * Update CHANGELOG.md and optimise images --------- Co-authored-by: Per Nielsen Tikær <per@raycast.com> Co-authored-by: raycastbot <bot@raycast.com>
erykksc
pushed a commit
to erykksc/raycast-extensions
that referenced
this pull request
Oct 8, 2025
* Add toneclone extension - add old n8n to gitignore - Restore static prompt placeholders - Prepare Raycast extension for store submission - Update Raycast metadata assets and placeholder prompts - Polish ToneClone node for submission - Handle training uploads inside ToneClone node - Add ToneClone node tests and align client header - chore: ignore backup directories in .gitignore - chore: remove old n8n node structure files - chore: add .gitignore for build artifacts and development files - feat: migrate ToneClone n8n node to official 2025 CLI structure - Fix ToneClone test import to avoid dist dependency - feat: prepare Raycast extension for store submission - fix: resolve Raycast knowledge card loading and persona switching issues - Merge pull request raycast#236 from toneclone/jf-android-pt-2 - feat: complete Raycast migration from profiles to knowledge cards - feat: add IsEnabled and DisabledAt fields to KnowledgeCardResponse - fix: resolve JWT authentication tests and frontend build issues - Resolve merge conflicts with main branch - feat: Complete frontend rename from Profile to KnowledgeCard - Rename Profile to KnowledgeCard throughout codebase - Merge pull request raycast#234 from toneclone/jf-billing-fixes - chore(backend): use Go 1.24-alpine in Dockerfile to match go.mod (fix prod deploy build) - chore(stripe): guard against missing invoice customer - Merge pull request raycast#232 from toneclone/jf-billing-fixes - fix: Use proper plan constants for trial cancellation - fix: Resolve TypeScript build errors after merge - Merge branch \'main\' into jf-billing-fixes - fix: Resolve backend test failures and DynamoDB field naming inconsistencies - Merge pull request raycast#231 from toneclone/codex/update-prompt-templates-for-missing-data-policy - Fix backend test failures - feat: add missing data policy placeholders - Update cancellation email text - Improve payment failed email system - Fix trial-to-Pro upgrade and Stripe time handling - Merge pull request raycast#230 from toneclone/jf-remove-fine-tuning-test - fix: resolve OpenAI provider test failures with mock client issues - feat: implement comprehensive payment failed user handling - Merge pull request raycast#229 from toneclone/codex/add-query-logging-to-toneclone - Implement comprehensive subscription expiration handling - Merge pull request raycast#220 from toneclone/codex/update-api-endpoints-for-renaming - feat(logging): unify query response logs to variants envelope and add schema/version metadata; stop shallow copying requests\n\n- Exclude attachments from QueryRequest JSON; marshal request directly\n- Add LogSchemaVersion and RequestFormat on initial log write\n- Log responses as JSON envelope with variants[] and done for single/streaming/multi-variant\n- Add ResponseFormat and UpdatedAt on update\n- Update tests to assert JSON envelope in logs - Fix cancellation banner not appearing - chore: ignore Go build caches; remove cached test artifacts from index - test: make DynamoDB mocks resilient to query log writes; allow QUERYLOG PutItem/UpdateItem when unmocked to avoid test flakiness\n\n- Add panic-safe handling in PutItem/UpdateItem to treat QUERYLOG writes as successful no-ops when no expectations are set\n- Remove broad default expectations to ensure test-specific Run hooks still fire\n- Verified all backend tests pass with ENVIRONMENT=test - Resolve merge conflicts: Update terminology from \'profile\' to \'Knowledge Card\' - Merge branch \'codex/add-query-logging-to-toneclone\' of github.com:toneclone/toneclone into codex/add-query-logging-to-toneclone - Merge pull request raycast#228 from toneclone/codex/rename-voice-evolution-to-smartstyle - Update marketing page - rename AI Tell filtering to StyleGuard - Fix TypeScript build error - remove extra closing brace - Resolve merge conflicts in writing components - billing: scheduled downgrade detection and banners - Downgrade scheduling: use subscription schedules; detect existing schedule; create then update phases; anchor phase1 start to current_period_start; phase1 iterations=1 then switch to lower price; end_behavior=release - Merge pull request raycast#225 from toneclone/jf-document-handling - fix: Critical fixes to address CI failures and Claude feedback - Merge pull request raycast#224 from toneclone/codex/add-ui-for-prompt-presets-in-frontend - Fix frontend test failures after usePromptPresets hook implementation - Downgrade UX: personalize impact; caps old→new when under; usage→cap when over; conditional warning/info icon; support Priority→Standard row; neutral data handling copy; renamed button to ‘Confirm downgrade for next cycle’; wired usage from user + entitlements; annual Pro opens upgrade dialog and closes downgrade; PostHog reason tracking - Implement shared usePromptPresets hook for performance optimization - Fix TypeScript null safety issues in WritingStarter - Fix remaining \'0\' display issue in WritingStarter - Fix duplicate key warnings and infinite loading cycle - Billing: add GSI retry in findOrCreateUserByStripeCustomer; safeguard NO_PLAN recovery in subscription.updated; ensure uppercase DynamoDB attrs; Stripe proration immediate invoicing; richer checkout logging; frontend 402 handling + upgrade/downgrade flows; add TIME_ADJUSTMENT_CHANGES.md - chore(android): rename voiceEvolution to smartStyle - Log query responses asynchronously - Log user queries and responses - fix: Address high priority code review feedback - Merge pull request raycast#226 from toneclone/codex/rename-profiles-to-knowledge-in-frontend - Merge pull request raycast#227 from toneclone/codex/update-profiles-to-knowledge-in-marketing-site - Rename Voice Evolution feature to SmartStyle - chore: rename profiles to knowledge cards in marketing copy - fix: update knowledge card label in extension - Merge pull request raycast#222 from toneclone/codex/rename-profiles-to-knowledge-in-android-app - deps: Add document processing libraries for PDF and DOCX support - feat: Implement robust document processing with proper text extraction - fix: update keyboard repository for knowledge URIs - Rename profiles to knowledge in Android app - fix: update knowledge card field mappings - Add prompt preset buttons to writing pages - Merge pull request raycast#221 from toneclone/codex/rename-profiles-to-knowledge-in-raycast-extension - Merge pull request raycast#223 from toneclone/codex/rename-profiles-to-knowledge-in-n8n-extension - feat(n8n): rename profiles to knowledge cards - Rename profiles to knowledge in Android app - Merge pull request raycast#219 from toneclone/codex/fix-handling-of-rejected-stripe-events - Rename profiles to knowledge in Raycast extension - refactor: use knowledgeCardID param - Handle stale Stripe webhook processing - Rename profile endpoints to knowledge - fix stripe event retry handling - Merge pull request raycast#218 from toneclone/jf-built-in-personas - Fix Codex review feedback: security, error handling, and test imports - Add placeholder key to test script - Fix TypeScript build errors and improve type safety - Fix getPlanEntitlements warning in frontend tests - fix: Use atomic DynamoDB ADD operation for API key usage tracking - Fix frontend test failures and linting errors - Add built-in persona support to CLI - Fix Raycast profile loading errors for built-in personas - Add built-in persona support to n8n client - fix: handle built-in personas properly in Raycast extension - feat: add built-in personas to Raycast generate text commands - Merge pull request raycast#216 from toneclone/jf-prod-infra - Fix missing SendGrid environment variables in GitHub Actions workflow - feat: replace hardcoded built-in personas with dynamic API calls - Merge pull request raycast#214 from toneclone/jf-banned-words - fix: Resolve StyleGuard word update 404 errors - security: Remove test_training_simple.go to prevent real OpenAI API calls - docs: Add StyleGuard feature description to PRD - fix: Update function signatures and remove legacy aliases - feat: Complete StyleGuard rebranding from \'banned words\' - Merge pull request raycast#213 from toneclone/jf-client-metrics - Fix critical client tracking issues - Merge pull request raycast#212 from toneclone/jf-add-marketing-metrics - Update marketing package-lock.json after PostHog installation - Add client tracking to Android app and keyboard module - Add PostHog analytics to marketing site - Update devx config - Merge remote-tracking branch \'origin/main\' into jf-client-metrics - Merge pull request raycast#211 from toneclone/jf-android-pt-2 - Update Android app to use backend built-in personas API - feat: add client tracking to n8n node using X-Client header - Improve API key service security and code quality - refactor: remove unused getClientVersion function - feat: add client tracking to CLI using X-Client header - feat: replace all toneclone.com domain references with toneclone.ai - Merge main into jf-android-pt-2 branch - Add persona_routes.go - Restore valid built-in persona tests that were accidentally removed - feat: Add frontend client tracking with query parameters - Add missing personas package to fix CI compilation - feat: Add client tracking middleware for PostHog analytics - Fix test failures in concurrent and rate limiting tests - Fix API key authentication with scalable GSI-based lookup - Merge pull request raycast#209 from toneclone/jf-raycast-pt2 - Refactor Raycast extension with security improvements and better architecture - Address security concerns from code review - Merge pull request raycast#210 from toneclone/codex/mock-openai-endpoint-in-tests - Mock OpenAI fine-tuning tests - Fix test issues and improve validation - Merge branch \'main\' into jf-raycast-pt2 - Add comprehensive Raycast extension with multiple ToneClone commands - Merge pull request raycast#208 from toneclone/jf-frontend-cleanup - Merge remote-tracking branch \'origin/main\' into jf-frontend-cleanup - Enhance Raycast extension with persona icons and simplified auth - Fix live UI update after persona deletion - Merge pull request raycast#207 from toneclone/jf-fix-onboarding - Add SendGrid environment variables to Terraform configuration - Fix email URLs and add missing Stripe customer validation - Refactor email service to use Go templates and environment variables - Resolve merge conflicts with main branch - Fix failing tests and TypeScript build errors - Merge pull request raycast#206 from toneclone/jf-client-cleanup - Add DynamoDB field naming conventions to prevent data conflicts - Fix Cloudflare Pages deployment file size issue for marketing site - Fix persona enabled/disabled flickering by standardizing DynamoDB field names - Fix TypeScript build error: remove unused Code import - Add comprehensive CLI marketing page and update frontend apps listing - Fix devx config - Merge pull request raycast#205 from toneclone/jf-fix-devx-config - Address PR feedback with improved error handling and validation - Fix devx port conflicts by replacing background processes with named pipes - Merge pull request raycast#204 from toneclone/jf-frontend-cleanup - Change model reference in test - Remove TypeScript build info from version control - Enhance banned words UI with bundle types and normalization settings - Optimize streaming banned word replacement with smart buffering - Fix flaky test issues that caused CI failures - Fix streaming banned word replacement with smart buffering - Implement no-plan architecture for post-email-confirmation users - Merge pull request raycast#203 from toneclone/jf-fix-onboarding - Merge remote-tracking branch \'origin/main\' into jf-fix-onboarding - Improve user signup flow with dedicated success page - Merge pull request raycast#202 from toneclone/jf-android-pt-2 - Fix persona profiles endpoint to return 200 with empty array instead of 404 - Prepare CLI for open source release - Implement efficient batch file upload with integrated persona association - Update ResponseScreen header to match MainScreen branding - Fix profile loading for built-in personas - Add multiple profile support to CLI generate command - Enable multi-variant feature with settings toggle - Update API domain from toneclone.com to toneclone.ai - Merge pull request raycast#200 from toneclone/jf-prod-infra - Remove build artifacts - Fix file association updates to work for all training scenarios - Fix Cron job to update persona with fine-tuned model on completion - Merge pull request raycast#198 from toneclone/jf-prod-infra - Remove unused encoding/base64 import from supabase_jwt.go - Fix combine Lambda timeout issue - Fix App Runner IAM policy for Step Function access - Merge pull request raycast#196 from toneclone/jf-prod-infra - Fix GPT-5 parameter compatibility in combine Lambda - Merge pull request raycast#194 from toneclone/jf-frontend-cleanup - Merge pull request raycast#192 from toneclone/jf-prod-infra - Fix Lambda deployment by reverting to always_run triggers - Merge pull request raycast#190 from toneclone/jf-prod-infra - Fix working directory issue in Lambda build scripts - Merge pull request raycast#188 from toneclone/jf-prod-infra - Fix shell compatibility: Use bash interpreter for pipefail support - Merge pull request raycast#186 from toneclone/jf-prod-infra - Address PR feedback: Fix timeout, build triggers, and error handling - Fix Terraform formatting - Fix Lambda builds and add build verification to CI - Merge remote-tracking branch \'origin/main\' into jf-prod-infra - Improve Lambda build process with better error handling and debugging - Merge pull request raycast#185 from toneclone/jf-prod-infra - Fix API response field name expectations in test - Fix PostHog mock Enqueue method for Personal plan API access test - Implement API key regeneration with confirmation dialog - Fix backend tests for Personal plan API access change - Merge pull request raycast#184 from toneclone/jf-prod-infra - Fix Next.js client component issues for CloudFlare Pages - Merge pull request raycast#180 from toneclone/jf-update-marketing-site - Resolve merge conflicts with main - Merge pull request raycast#182 from toneclone/jf-prod-infra - Remove setup files that never should\'ve been committed :( - Merge pull request raycast#181 from toneclone/jf-prod-infra - Update to limit to main/prod branches - Fix Terraform plan check in CI validation - Fix Terraform security scan false positives - Fix marketing site CloudFlare build issues - Fix Terraform formatting for CI validation - Fix remaining nested interactive elements with asChild pattern - Fix HTML validity: remove nested interactive elements - Fix CloudFlare Pages Node.js compatibility for marketing site - Implement Claude\'s additional security and stability suggestions - Merge pull request raycast#179 from toneclone/jf-prod-infra - Merge pull request raycast#178 from toneclone/jf-android-pt-2 - Refactor marketing site to use shared components and improve content - SECURITY FIX: Address Claude PR feedback - Address Claude\'s PR feedback: improve code quality and add comprehensive tests - Update test workflows to run on both main and prod branches - Update production workflows to trigger on prod branch - Remove CloudFlare Pages domain creation to prevent conflicts - Fix CloudFlare Pages deployment issues - Improve UI color contrast and accessibility across keyboard and main app - Remove CloudFlare Pages import step from workflow - Add comprehensive GitHub Actions IAM policy - Fix output configuration for production deployment - Add CloudFlare Pages import step to deployment workflow - Add GitHub source configuration to CloudFlare Pages projects - Merge pull request raycast#177 from toneclone/jf-android-pt-2 - Fix test compilation issues and add focused unit tests - Address high-priority PR feedback: Add comprehensive tests and real-time validation - Merge pull request raycast#176 from toneclone/jf-update-models - Update training test to expect new default model gpt-4.1-mini-2025-04-14 - Fix CI test failures by preventing real OpenAI API calls during tests - Address PR feedback: Fix race conditions and add validation - Enhance AI prompt templates and training pipeline with advanced style profiling - Reorganize settings page structure for better UX - Implement hidden dev mode feature and UI improvements - Fix AWS provider configuration for GitHub Actions - Fix step-function.json path after merge from main - Merge remote-tracking branch \'origin/main\' into jf-prod-infra - Commit the step function definition - Fix step-function.json file path in training module - Fix test failures by updating FilterExpression field name case - Add non-sensitive terraform.prod.tfvars for GitHub Actions - Remove AWS profile from S3 backend config for GitHub Actions compatibility - Configure S3 backend for shared Terraform state - Handle App Runner service not in RUNNING state before deployment - Fix GitHub Actions App Runner deployment wait command - Fix Docker build context in GitHub Actions workflow - Add debugging for AWS credentials in GitHub Actions workflow - Merge pull request raycast#174 from toneclone/jf-android-pt-2 - Update fine-tuning model to gpt-4.1-mini-2025-04-14 and fix styleProfile support - Fix AndroidTest compilation and runtime issues - Add a toneclone cli readme - Fix unit test compilation and implementation issues - Fix plans.json: revert personal plan popular flag and enable API access - Update marketing site with app links, favicon, and branding - Add comprehensive test coverage for persona functionality - Merge branch \'main\' of github.com:toneclone/toneclone - Merge pull request raycast#175 from toneclone/jf-prod-infra - Fix compilation errors from Claude feedback implementation - Address critical security issues from PR review - Fix critical security and performance issues - Add production deployment workflows and CloudFlare Pages configuration - Add Android build artifacts and IDE files to gitignore - Add built-in personas with proper sorting and color support - Update logos and optimize launcher icons with adaptive padding - Update app logo to high-res version and fix launcher icons - Make label text sizes consistent with selector/button text - Complete profile reselection fix - consolidate rebuild logic - Fix profile reselection issue with signature-based rebuild logic - Add CloudFlare deployment script to frontend package.json - Update production infrastructure for CloudFlare Pages deployment - Add terraform.prod.tfvars to .gitignore to protect production secrets - Add plans.json file to backend Docker image to fix Stripe plan validation - Enhance .devx development environment with service logging and process management - Add .worktrees to gitignore - Simplify landing page: clean white background with logo, ToneClone text, and coming soon - Add simple landing page with ToneClone logo and coming soon message - Update package-lock.json for vaul@1.1.2 compatibility with React 19 - Fix marketing site React 19 compatibility - Remove whitespace around Android app header logo - Upgrade app logos with high-resolution ToneClone branding - Implement Supabase authentication with secure configuration management - Merge pull request raycast#172 from toneclone/jf-add-billing - Merge pull request raycast#173 from toneclone/jf-add-logins - Fix CI test failures - frontend TypeScript and backend mocks - Fix CI test failures - correct supabase import inconsistency - Implement code review improvements and comprehensive test suite - Fix backend CI test failures - Fix linting issues in OAuth authentication files - Implement Claude\'s PR feedback recommendations - Clean up debug logging from OAuth authentication flow - Enhance OAuth authentication with GitHub login and improved UX - Fix GitHub Actions test failures - Extend billing integration to persona and profile management components - Add billing-related enhancements to core components - Add draft limit warning system with progress bar and upgrade links - Enhance billing system with improved user management and Supabase integration - Clean up debug logging from Google OAuth implementation - Merge remote-tracking branch \'origin/main\' into jf-add-logins - Add Google OAuth authentication support - Merge pull request raycast#171 from toneclone/jf-add-billing - Complete URL configuration and security logging fixes - Security fix: Replace fmt.Printf with log.Printf in critical route handlers - Fix URL configuration: remove hardcoded fallback URL from CORS - Address security and configuration feedback from PR review - Remove compiled binary from repository - Update .gitignore to exclude build artifacts and logs - Update marketing copy to remove \'no credit card required\' messaging - Fix TestHandleQueryWithBannedWords to work with new AI service architecture - Merge main into jf-add-billing branch - Remove binaries - Merge pull request raycast#170 from toneclone/jf-openai-sdk - Fix OpenAI integration tests to skip in CI environment - Add Stripe billing integration with frontend payment flow - Add comprehensive training functions testing suite - Fix model support: Add gpt-4o-mini-2024-07-18 to supported models - Complete AI service integration and fix all test failures - Implement backend enforcement of plan limits with atomic usage tracking - Complete Deliverable 3.2: Refactor query routes and tests for AI service - Complete Deliverable 3.1: Initialize service in main.go with DI - Implement monthly usage tracking for draft limits - Complete Deliverable 2.3: Migrate fine-tuning operations - Update project todo list: Mark D2.2 as completed - Complete Deliverable 2.2: Enhanced Streaming Support - Complete Deliverable 2.1: OpenAI Provider with Responses API - Implement Customer Billing Portal Integration (Deliverable 6) - Implement comprehensive Stripe webhook processing with idempotent event handling - Update project todo list: Mark D1.2 as completed - Implement Deliverable 1.2: Service factory and provider registry - Update project todo list: Mark D1.1 as completed - Implement Deliverable 1.1: Provider-agnostic AI service interface - Implement Stripe Checkout Session API with isolated mock testing - Add Stripe integration with webhook endpoint and v82 SDK - Add Stripe environment variables to configuration example - Add plans configuration and update marketing pricing page - Add plans management system for billing entitlements - Add billing system foundations with user trials and plan management - Fix marketing site service setup in Devx - Merge pull request raycast#169 from toneclone/jf-marketing - Update teh devx config - Add ToneClone marketing site with Next.js and shadcn/ui components - Merge pull request raycast#168 from toneclone/jf-update-sign-up-flow - Fix TypeScript compilation errors to resolve CI build failures - Fix backend test failures and enhance filter expression consistency - Merge remote-tracking branch \'origin/main\' into jf-update-sign-up-flow - Merge pull request raycast#167 from toneclone/jf-android-app-clean - feat: Add memory pressure handling for multi-variant response caching - security: Remove debug logging and improve IME security - feat: Add complete Android app with multi-variant AI response functionality - Fix final 3 frontend test failures - all tests now passing - Fix frontend test failures and improve test reliability - Enhance persona and writing components - Update frontend components and UI improvements - Fix banned words custom flag bug - Remove duplicate AI Tells Bundle and Banned Words sections - Fix banned words API authentication issues - Fix banned words API authentication issues - Add skeleton loader and improve writing canvas UX - Update navigation and routing for Apps/Integrations page - Add persona color customization and consistent avatar system - Enhanced persona management UI and writing flow improvements - Comprehensive UI improvements and new account management - Update sign-up flow: streamline onboarding and improve UX - Merge pull request raycast#153 from toneclone/jf-add-deny-list - fix: Make test order-independent after LRU cache changes - Merge branch \'main\' into jf-add-deny-list - security: Address critical security and performance issues - test: Add comprehensive test coverage and fix CI failures - feat: Add AI Tells Bundle feature with loading indicators - feat: Improve banned words UX with latency warnings and better defaults - feat: Implement conditional buffering for optimal streaming performance - Update devx config for removing Auth0 - Merge pull request raycast#165 from toneclone/jf-supabase-migration - Fix CI test failures: Add missing Supabase environment variables - Address Claude PR feedback: Security enhancements and ESLint improvements - Resolve merge conflicts with main branch - Complete Supabase JWT migration with comprehensive test coverage - feat: Add JWT authentication tests and deprecate Auth0 session tests - fix: Update persona validation test to use required name field - test: Add comprehensive JWT authentication test coverage - fix: Allow JWT authentication for API key management - fix: Make parentModel optional with default value for persona creation - fix: Enhance banned word spacing and punctuation preservation - feat: Complete banned words deny list implementation with streaming integration - fix: Support Auth0 user IDs in writing routes - fix: Add banned routes registration and fix test compilation - Add Supabase integration setup - Merge branch \'main\' into jf-add-deny-list - Merge pull request raycast#164 from toneclone/jf-writing-ui - Fix CI test failures by mocking scrollIntoView globally - Suppress harmless test environment errors to fix CI - Fix CI test failures in WritingStarter component - Clean up failing tests to achieve reliable CI pipeline - Fix frontend CI test failures - localStorage parameter fixes - Clean up lint warnings in test files - Add comprehensive test coverage for document versioning and React components - Fix TypeScript compilation errors in writing-canvas.tsx - Merge branch \'main\' into jf-writing-ui - Fix ESLint warnings and improve code quality - Address Claude PR feedback - security and reliability improvements - Fix test failures and lint errors - Merge pull request raycast#163 from toneclone/jf-raycast-plugin - Add comprehensive test suite and fix remaining ESLint warnings - test: Add comprehensive unit test suite for Raycast plugin - Add document versioning system and user preferences - fix: Address critical PR feedback issues - Complete writing UI integration with API and full functionality - fix: Address code review feedback for Raycast plugin - feat: Add complete Raycast plugin for ToneClone - Merge pull request raycast#162 from toneclone/jf-n8n-module - Refactor writing interface with starter flow and enhanced canvas - Add comprehensive testing framework for ToneClone n8n module - Add training content submission to ToneClone n8n module - Add writing canvas feature with navigation and UI improvements - feat: Add n8n ToneClone integration node - Merge pull request raycast#158 from toneclone/jf-api-part-2 - Address Claude\'s PR review feedback: improve test robustness and constants - Complete Group 6: Input Validation & Edge Cases with Critical Security Fix - Complete Group 5: Rate Limiting & Authentication Security - Token Rotation Race Conditions - Complete Group 5: Rate Limiting & Authentication Security Testing (3/4 sections) - Complete Group 4: Training Workflow Robustness Testing - Merge pull request raycast#161 from toneclone/codex/update-handlequery-to-support-multiple-profile-ids - Hide invalid profile IDs - Fix failing concurrent operations tests in Group 3 AI testing - Allow multiple profile IDs for queries - Complete Group 3: AI Service Integration & Resilience Testing - New unit tests - Complete Group 2 persona profile association tests and mark Group 2 complete - pkg/types: add JSON round-trip and method tests for core types (Persona, associations, TrainingJob, FileMetadata, APIKey, User, Session) to establish baseline coverage and validate helper methods. - Complete Group 2: Persona Management Comprehensive Testing - pkg/training: add comprehensive tests for training job creation and persona-based job initiation; cover success and error paths using existing mocks; increase coverage to ~66% for package. - Complete Group 1 API testing: File Upload & Storage Testing - Complete Phase 4.1: Advanced Security Testing - Complete Phase 3: Workflow Integration Tests - feat: comprehensive writing routes test coverage with 10x improvement - Merge pull request raycast#156 from toneclone/jf-api-part-2 - Address Claude\'s PR feedback - implement minor improvements - Fix all remaining ESLint errors (9 → 0 errors) - Fix GitHub Actions permissions and reduce ESLint errors - Fix frontend ESLint errors and PostHog integration issues - Merge pull request raycast#157 from toneclone/add-claude-github-actions-1755540604470 - "Claude Code Review workflow" - "Claude PR Assistant workflow" - Complete Phase 2.9: Writing Sessions Tests with authentication fixes - Complete Phase 2.8: Training Management Tests - Complete Phase 2.7: AI Query & Generation Tests with Security Fixes - Complete Phase 2.6: Persona Management Tests with Critical Security Fix - Complete Phase 2.5: File Management Tests - Implement Phase 2.4: Comprehensive Profile Management Tests - Complete Phase 2.3: API Key Management Integration Tests - Add comprehensive ToneClone Backend API documentation - Implement comprehensive authentication and middleware testing (Phase 2.1) - Add optional non-streaming mode to query endpoint - Add tmp directories to gitignore - Remove tmp build artifacts from git tracking and add to gitignore - Add comprehensive test infrastructure for API endpoint testing - Merge pull request raycast#154 from toneclone/jf-update-devx-config - Merge branch \'main\' of github.com:toneclone/toneclone into jf-update-devx-config - Update devx config - feat: Implement Phase 3 of Not-Allowed Filter System - Automatic Output Rewriting Pipeline - feat: Implement Phase 2 of Not-Allowed Filter System - LLM prompt integration - Merge pull request raycast#152 from toneclone/cursor/add-unit-tests-for-middleware-package-1905 - Add middleware package tests with comprehensive auth middleware coverage - Merge pull request raycast#149 from toneclone/jf-toneclone-cli - More small fixes for frontend tests - Fix dependencies - Move linting to just info for now - Add frontend tests, add them to the github action - Merge pull request raycast#150 from toneclone/cursor/fix-backend-tests-workflow-and-coverage-path-fe37 - Fix Codecov coverage file path in backend tests workflow - Add backend test Github actions - Merge pull request raycast#147 from toneclone/jf-toneclone-cli - Merge pull request raycast#148 from toneclone/cursor/fix-global-directory-change-in-tests-5942 - Refactor template path resolution using runtime.Caller for dynamic paths - Complete backend testing infrastructure with 100% test success rate - Merge pull request raycast#145 from toneclone/jf-toneclone-cli - Hide future binaries in gitignore - Remove the binary from the repo - Merge pull request raycast#146 from toneclone/cursor/fix-rate-limit-token-consumption-bug-fad0 - Fix rate limit remaining requests calculation method - Add API key management routes and frontend components - Add backend authentication fixes and feature planning documentation - Complete ToneClone CLI implementation with all 8 deliverables - Merge pull request raycast#144 from toneclone/jf-setup-tooling - Add some basic claude tooling - Merge branch \'main\' of github.com:toneclone/toneclone - Fix some devx config - Merge pull request raycast#143 from toneclone/one-more-time - Fixes for localhost cookie management - Merge pull request raycast#142 from toneclone/jf-add-new-devx - Some fixes and clean up - Merge pull request raycast#141 from toneclone/jf-add-new-devx - Update devx config - Add auth0 callback handler script - Add some more devx config - Some clean up in process of adding devx - Some fixes for handling the toneclone-api.jonefox.com domain - Add knowledge management to the popup menu instead. Closes raycast#101 - Handle logged out status when running inline edit prompts. Closes raycast#132 - Add login menu on Tone Clone buttons when the user is no longer logged in - Add simple script to help with version management of the extension - Fix smart fill integration for inline editing - Update the browser extension icon in the popup and right click menus - Minor fixes to make the build happy - Add initial support for Outlook - Add a simple privacy policy since we need one for the Chrome Web Store submission - Update the text area button to use new logo - Add support for multiple API domain aliases - Clean up and simplify a few small things in the onboarding flow - Fix stylesheet reference - Fix sidebar in Brave browser - Merge branch \'main\' of github.com:toneclone/toneclone - Update createWritingSession call to use service worker - Fix white space issues in selection verification - Update color theme, icons - Fix hiding the toolbar if the selection goes away without a click - Add basic Twitter/X support and get Gmail toolbar working - Add WIP twitter integration - Add the URL and potentially some additional context to the prompt. Closes raycast#123 - Change the icon to reset the sidebar session and add a confirmation dialog box. Closes raycast#120 and closes raycast#119 - Filter out and replace characters. Fixes raycast#114 - Fix bug with the sidebar, add some build debug logs, and don\'t include content_script.js on gmail pages since it gets bundled with gmail.js - Fix the merge and related bugs - Merge pull request raycast#130 from toneclone/jf-wip-inline-editing - Merge branch \'jf-wip-inline-editing\' of github.com:toneclone/toneclone into jf-wip-inline-editing - Small bug fix for opening the sidebar - Merge pull request raycast#129 from toneclone/jf-wip-inline-editing - Merge branch \'main\' into jf-wip-inline-editing - Fix bug with multiple compose windows. - Move gmail features to their own script. Closes raycast#127 - Add the handler to the power button to add a modal to disable Tone Clone. Also adds a list of disabled sites in the popup menu where you can remove sites from the disabled list. Closes raycast#125 - Replace old Tone Clone button menu with the new one - Add caching and request de-duping to presets service - Fix minor typos in prompt template - Pending history icon insertion and minor fixes on prompt history handling - finish prompt history implementation - Fix bug with sumamry modal on loading screen and add caching to email summaries - Initial summarize thread implementation and add emails as writing samples - Wire up the menu features - Wire up suggested preset replies - Add hot key execution to Gmail - Fix placement issues with the prompt window - Make the prompts actually work - Make smart replies actually work and add opening animation for prompt window - Use loaded presets instead of hard coded onees - Swap icon and text order on the buttons - WIP prompt menu - More work on the menu - WIP Gmail Integration - hover on button - Add some example places to get samples in training-intro page. Closes raycast#110 - Add a glowing circle around the Tone Clone icon in the textarea to make it more obvious clicking it is the next step. Closes raycast#113 - Update the selected persona when it changes in another component - Migration to services and background-services-client - WIP form fills and prompt suggestions - Fix merge conflicts - Add a bunch of small changes from product feedback session on onboarding - Update color theme - Don\'t delete the extension folder when deploying the frontend - Add initial version of hotkey trigger from textareas on the page directly. - Fix PostHog CSP errors for tracking events in the extension. Closes raycast#99 - Fix -\'s in extractor autocomplete matching - Switch to using AWS App Runner instead of API Gateway and Lambda for the API. This should be a bit faster and give us more control, but also fixes streaming responses in preview environment. - Add a reset session button to the sidebar to reset everything. Closes raycast#63 - Don\'t update the prompt placeholder every document change, just update it if there is or isn\'t document text - Add support for a summarized email thread in Gmail as an extractor/smart fill - Allow pressing enter to save the name when creating a new persona and make sure we update the sample count and goal when selecting new personas in the popup menu - Add auto training at sample levels 1, 3, 10, 20, and 50 - Change persona output to be levels instead - Add \'calm it down\' and \'make it spicier\' buttons - Add support for Slack and append a space after autocompleted extractors - Rename extractors \'smart fill\' and add multiple placeholders for prompt text including ones that use @\'s, different ones for starter vs someone who\'s used it a bit, and different ones for doc revisions vs new doc draft prompts - Add support for Google Voice text messages - Fix @ extractor handling - Add basic document history feature - Add a basic prompt history feature - Add multiple levels of goals for writing samples. - Add error message for Safari since we don\'t support it. - Be a bit smarter about adding our icons to pages to make things more performant. Closes raycast#78 - Some minor clean up to the build and put some bounds on when we insert the Tone Clone icon into pages. Closes raycast#77 - Special case training data being added from the training-intro page and just show them a helpful message instead of actually adding it. Closes raycast#98 - Don\'t show the personas in the sidebar if they only have 1. Closes raycast#96 and closes raycast#97 - Change the order of the onboarding flow to make the writing section 2nd instead of last. Closes raycast#95 - Finish new onboarding flow. Closes raycast#81, closes raycast#86, closes raycast#83 - WIP new onboarding flow - Don\'t add the sidebar to a page until we try to open it. Closes raycast#76 - Add ability to upload and paste writing samples in the popup-menu in the extension. Closes raycast#87 and closes raycast#88 - Simplify the right click context menu text and make them more distinct so they\'re easy to scan. Closes raycast#80 - Add screenshots to extension installation page. Detect if they don\'t have personas yet and direct them to persona picker in extension popup (if on toneclone or not). Closes raycast#72 and closes raycast#82 - Add a way to detect when the extension is installed on the install extension page. Both if it\'s already installed and if it is actively installed at the time. Closes raycast#75 - Add a pick-persona page (accessible if you don\'t have any personas yet). Closes raycast#73 and closes raycast#74 - Update sidebar auth styles - Add support for markdown files - Draggable sidebar - Hook up context manager interactions - Merge branch \'main\' of github.com:toneclone/toneclone - Add support for extracting diff summaries and commit messages on compare pages in GitHub, and add a preset for generating Pull Requests - Merge remote-tracking branch \'origin/main\' - Add context manager to sidebar - Only show the add from library option in the persona editor if there are new files that aren\'t already added to the persona - Fix CSRF token cookie issue with preview domains - Refactor the create initial persona code, make sure it\'s on both the welcome page and the intro to training page, and default Voice Evolution to be on for new personas by default - Bold the persona name in extension popup to make it more clear, change the copy button in sidebar to be copy and close so it\'s not a surprise to users, and try to make writing contexts more intuitive in the persona editor - For now just log CSRF failures, don\'t actually block. - Strip console.log from production builds - Add CSRF tokens to prevent attacks. Closes raycast#21 - Move writer/persona and context inline raycast#32 - Merge remote-tracking branch \'origin/main\' - Move writer/persona and context inline raycast#32 - Remove background on icons and make the textarea icon larger - minor clean up for frontend build - Add nicer save dialog and delete option for query presets. Closes raycast#56. Closes 5 - Allow sidebar prompt textfield to autoexpand. Closes raycast#80 - Fix formatting when copying existing text from content editable elements to the textarea in the sidebar. - Add URL filter list for query presets and add a few more static ones for emails. - Add right click menu option to send selected text to the document in Tone Clone - Add right click context menu to add selected text to the prompt. - Add right click menu on selected to text to add the text to a persona as a writing sample - Fix line breaks when sending text to contenteditable elements - Add training intro page, getting started menu item, and update links in welcome page. Closes raycast#62 - Add support for content editable elements and fix URL filtering for extractors. Closes raycast#64. - Minor clean up and word smithing for clarity from walkthrough with Katie - Add basic version of extractors - Add query preset API endpoints to API Gateway - Move prompts to Golang templates and split out different ones for updating a doc vs creating one from scratch. Closes raycast#57 - Simplify extension detection - Add a new metrics.toneclone.ai to proxy PostHog requests and add PostHog to browser extension. Closes raycast#47 - Add a little banner to suggest installing the extension if they don\'t have it yet. Closes raycast#44 - Add a welcome page for new users who just signed up. Closes raycast#45 - Add script to deploy extension - Add option for no context/profile - Make the sidebar icons actually work - Add ability to save prompt presets, make them dynamic, and make them actually work. Closes raycast#53 - Add voice evolution support in the extension. Closes raycast#23 - Fix small build error - Fix training bug with trainingStatus. Closes raycast#27 - Add a new persona type for untrained personas - Minor fixes for persona editor page - Add a welcome blurb to the popup. Closes raycast#12 - Add missing background script - Make persona sticky to the domain/site. Closes raycast#42 - Add Posthog to website. Closes raycast#46 - Fix the sidebar close button and other small UI tweaks - Broadcast auth changes to all existing injected sidebars. Closes raycast#20 - Add a message when opening the ToneClone extension on a ToneClone.ai site. Closes raycast#43 - Hook up add persona button in popup - Fix AI generated writing session titles and auto-select of persona on new session - More buttons in sidebar, lots more buttons - Profile -> Context for sidebar dropdown - Writer and profile side-by-side in sidebar - Add training in progress message to popup. - Add new persona from popup - Upload success/fail styles, submit icon change - Upload success/fail styles, submit icon change - Allow writing with untrained personas. Closes raycast#13 and Closes raycast#41. Also fixes a few small bugs in ai-writing.tsx (infinite polling and failing to fetch profiles if no persona is selected). - Wire up the undo button. Closes raycast#14 - Merge - Add extractors examples - Sidebar layout and buttons - Handle 0 and 1 personas use cases. Closes raycast#10 - Don\'t show double spinners when submitting samples from the extension. Just show a spinner on the one you click and show the other as disabled. Closes raycast#8 - Don\'t show the settings icon in the popup menu if the user is logged out. Closes raycast#11 - Disable add selected text button if no text is selected. Fixes raycast#16 - Fix the toggleSidebar handler - Clean up the workflow a little with the sidebar, page, and menu interactions when finishing writing - Sync content between target textarea and the sidebar - Merge branch \'main\' of github.com:toneclone/toneclone - Add icon to text areas - Buttons -> ActionIcons - Add skeleton loader - Remove sidebar debug auto-toggling - Add copy button to sidebar + loaderProps for buttons - Add background / async training. Closes raycast#25 - Fix minor bug with showing Add from Library button as disabled - Add metric events to the training lambas. Closes raycast#22 - Fix broken tests - De-dupe and reorganize structs and constants between packages - Reorganize golange code into one main folder - Add posthog to backend API calls - Adds voice evolution to the website writing interface and closes raycast#24. Also adds source tracking to writing samples to know how the sample got added (website file upload, extension add page, voice evolution on website, etc). - Update sidebar layout and styles - Make the persona sticky in the sidebar and keep it in sync with the one in the popup - Block opening the sidebar on *.toneclone.ai - Fix bug and race condition in login/logout flow - Fix the status of the sidebar in the popup menu - Merge branch \'main\' of github.com:toneclone/toneclone - Truncate long filenames in writing samples - Fix add page and add selected text uploads to actually associate them with the current persona - Fix broken links in popup menu - Make persona sticky in the popup, will need to update writing sidebar later - Add sidebar spacing - Inject styles into sidebar, split into separate components - Merge branch \'main\' of github.com:toneclone/toneclone - Initialize API client in sidebar - Update lock file - Update lock file - Add home link, updated settings - Merge remote-tracking branch \'origin/main\' - Pop up refinements, fixed logged out layout - Add new routes to terraform - Minor fix for old ai-training page - Fix merge conflicts - Update the persona editor to handle writing samples, writing contexts, and voice evolution settings. Other minor clean up and fixing support for file associations and training markers on them - Add new popup design - Clean up the writing page a bit - Add more sub clients to make API interaction easier - Clean up the profile-editor and give it a routing path - Update terraform for new session endpoints - Fix the header active class on sub pages - Fix the HTTPClient in main.go - Mega merge... - Fix persona detail page rendering - Fix all the tests - Finish extension login/logout handling - Add the existing logged in path for the extension - Initial commit of new auth / session management - Merge pull request raycast#1 from toneclone/mknepprath/v0 - Prevent sidebar refresh on submit - Add TextArea to embed - Merge conflicts - Merge branch \'refs/heads/main\' into mknepprath/v0 - Linted, routing changes, etc - Don\'t cache index.html in Cloudfront because it\'s not versioned - Fix link to the writing page with a specific persona - Add a cmd/control+enter handler for easier submission - Add response streaming - Fix build errors - Add prompt only training and support for both prompt and model training on same persona - Merge branch \'refs/heads/main\' into mknepprath/v0 - Add an undo button to undo the most recent change from AI - Remove the chat features - Ignore .bak files in git - Removed sliders, added close button to sidebar, fixed type issues - Merge branch \'main\' into mknepprath/v0 - Add method and endpoints to associate profiles with personas - Merge branch \'main\' into mknepprath/v0 - Update profiles to be a freeform textbox instead of a map of key/value pairs - Add associations between files and personas and new endpoints to manage them, also add a new training endpoint to train on all untrained files - Popup work - Add a function to create a screenshot of the browser tab - Merge branch \'main\' into mknepprath/v0 - Fix auth config for extension to eliminate race condition and alternate Auth0 config - Init commit - Add polling when creating a new writing session to make sure we get the initial message and response loaded correctly - More prompt enhancements - Move the common axios library stuff into a new api-client lib file instead - Update the prompt building based on new framework - Add option for adding full pages to the training data - Make the filename for selected text uploads a bit more meaningful - Add method to grab selected text and add it as training data to a persona - Attempt to handle refresh tokens and kick to a login page when session expires - Add text upload route and fix unit tests - Add localhost:5173 to the accepted CORS origins for now for easier local testing of the frontend - Small fixes to make build happy, add error modal when can\'t load from backend, add persona and profile descriptionand fix bug with delete files - Fixes for the extension - Get extension working with auth and clean up a bug in AI writing page - More clean up of Supertokens -> Auth0 and fix a few small bugs with file uploads - A few more additions to .gitignore - Add example env.local - Frontend changes to migrate from Supertokens to Auth0 - Add backend changes for Auth0 migration - Terraform updates to migrate to Auth0 and clean up - Fix the website build - Initial commit * Clean up Raycast TypeScript build * Align Raycast prefs typing with generated definitions * Update ToneClone extension dependencies and metadata - Upgrade @raycast/utils to version 2.2.0 - Add @raycast/eslint-plugin as a dependency - Update @raycast/eslint-config to version 2.1.1 - Bump esbuild packages to version 0.25.10 - Standardize subtitles in package.json for ToneClone commands * Update CHANGELOG.md and optimise images --------- Co-authored-by: Per Nielsen Tikær <per@raycast.com> Co-authored-by: raycastbot <bot@raycast.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
See https://raycastcommunity.slack.com/archives/C02HEMAF2SJ/p1634831608039700 for some context. The
getTempfunction was using the wind unit instead of temperature unitType of change
Checklist
512x512