Merged
Conversation
FezVrasta
added a commit
to FezVrasta/extensions
that referenced
this pull request
Nov 24, 2021
Parajulibkrm
added a commit
to Parajulibkrm/raycast-extensions
that referenced
this pull request
Nov 9, 2024
- initial features - Merge pull request raycast#103 from axyut/port-to-oslo - fix: expire session conditional - feat: completely removed lucia-auth dependency - minor changes - fix: 🐛 no day selection on !isSameMonth - feat: ✨ internal package for query - feat: ✨ types package - fix: minor - refactor - deps: change nepali date package - backend: auth, google calendar integration - Basic UI components - minor fixes - Added raycast initial - feat: ✨ Migrated to v51 for expo - initial commit - added gitignore - ignore turbo - Added gitignores - cleanup - feat: ✨ Added announcement - typo - fix: 💄 view all events button not spanning full width - chore: bump date package version - fix: set fixed height of day cells - Merge pull request raycast#64 from nabinkdl/main - Update About.tsx - Merge pull request raycast#60 from pandeysubash404/event-display - Merge pull request raycast#61 from yuvrajdahal/main - Merge pull request raycast#63 from PoskOfficial/fix/issue62 - fix: 🐛 app crashing on switching months - Synchorization issue with previous code - English date converter crashing fixed - English date converter crashing fixed - fix: 🚑 Update user logic on signin bug fix - Updated to display today\'s date - fix: 🐛 Update db information on sign in - Merge pull request raycast#59 from pandeysubash404/event-display - chore: 🐛 Fixed Positioning of Relative Date on Homepage - chore: ♻️ Made the event string logic declarative - conveys the logic in a more declarative manner - adjustments to the relativeTimeFromElapsed function - fixed event issue and hide user data from console - Fixed the issue related event display - Merge pull request raycast#57 from pandeysubash404/fix-date-issue - chore: ➖ Removed Jest Dev Dependency - Removed package-lock.json and added pnpm-lock.yaml as requested - Remove pnpm dependency as requested by repository owner - Fix date issue in input field - Changed readme - Create LICENSE - Updated type definitions - Merge pull request raycast#52 from nabin-kandel/main - Merge branch \'PoskOfficial:main\' into main - chore: ✨ updated screenshots - ScreenShot Updated - Merge pull request raycast#50 from PoskOfficial/develop - fix: 🐛 page reloading in mobile view - Merge pull request raycast#49 from nabin-kandel/main - Added Open graph Description - Update Readme.md - Added og image - Merge pull request raycast#48 from nabin-kandel/main - Added banner image - Merge pull request raycast#47 from PoskOfficial/fix_create_event_date - style: 💄 changed footer border color - fix: 🐛 event end and start date off by 1 - Added missing lock files - Added missing lock files - Merge pull request raycast#46 from PoskOfficial/develop - chore: ✏️ updated translation values - chore: ⚰️ removed unused translations - feat: ✨ added footer - moved imports - Deleted large file - Added update logic - chore: 🚧 Added new SW - Merge pull request raycast#45 from PoskOfficial/datepicker_fix - style: 💄 fixed spinner\'s wrong positioning - fix: 🐛 month date picker value offset by -1 - fix: 🐛 corrected photo url - fix: 🐛 Fixed User Query issue - fix: 🐛 - feat: 🐛 Added offline support to react query - Added calendar picker to event creation modal - fix: 🐛 Fixed width issues in homepage - Removed unused param - Made time field required - fix: 🐛 Removed unnecessary console logs - fix: 🐛 Fixed some UI Bugs - Added missing adhik to english translation of chandrama - fix: ⚰️ Removed redundant code - fix: 🐛 Fixed Spinner Size - perf: ⚡ Refactored for performance and readability - Merge pull request raycast#43 from PoskOfficial/dark_mode - style: 💄 added dark mode to the event dialogue - feat: ✨ Added Analytics to install btn - feat: ✨ added access role to events - feat: ✨ Added endpoint to get calendar list - Merge pull request raycast#42 from PoskOfficial/dark_mode - fix: 💚 fixed build removing unused imports - Merge branch \'main\' into dark_mode - feat: ✨ added styles for dark mode - feat: ✨ Added support for multiple calendars on backend - feat: ✨ Added Analytics - Merge pull request raycast#41 from PoskOfficial/nischal - Merge branch \'nischal\' of https://github.com/PoskOfficial/Nepali-calendar-web into nischal - fix: 🐛 fixed minor bug during language translation in dropdown - fix language issue - Merge remote-tracking branch \'origin/main\' into - changes in translation files - js to ts file - Removed unused files - Merge remote-tracking branch \'origin/main\' into nischal - feat: ✨ Stored Dark Mode setting in local storage - spinner in upcoming events page - hide language change buttons - feat: 🚧 added date difference string to single upcoming event, and setup language translation for date converter page - Fixed ts issues in i18next - Fixed Hamburger color - Added Dark Mode Strategy to tailwind - Refactored - Bug fixes - Added contact details in about page - feat: ✨ Added credits in About Page - bug fixes - docs: 📝 Changed translation of Home - fix: 🐛 Fixed Crash on clear - Merge pull request raycast#40 from PoskOfficial/user_settings_disclosure - refactor: ♻️ used higher quality icon for sign in with google - refactor: ♻️ used sign in with google icon instead of text - feat: ✨ added a disclosure to switch languages - Added missing lock file - Merge branch \'main\' of https://github.com/PoskOfficial/Nepali-calendar-web - Added about page - fix: ✨ Increased cookie life - Merge pull request raycast#39 from PoskOfficial/nischal - refactor: 🚚 moved useLanguage to helper and renamed useUser - fix: 💚 removed unused imports, changed useLangauge name - Merge remote-tracking branch \'origin/main\' into nischal - feat: 🚧 added uselangauge hook, - calendar date , reminder text and upcoming - Merge pull request raycast#38 from poudelsanchit/main - Merge branch \'main\' into pr/poudelsanchit/38 - Fix some linting errors - fix: 🐛 Fixed no update on logout - feat: ✨ Added Install Toaster Popup - feat: ✨ Add PWA Install Button - Added app shortcuts - feat: ✨ Added Screenshots on install screen - feat: 🐛 Added support for offline first in react query - feat: ✨ DateConverter - feat: ✨ Cached api response - fix: 🐛 Fixed No event fetched on month change - Bug fixes - Merge pull request raycast#37 from PoskOfficial/add_react_query - fix: 🩹 checked for loading state for rendering events list - fix: ⚰️ removed unused imports - Merge branch \'main\' into add_react_query - fix: 🐛 off by 1 error in chandrama - feat: ✨ added react query - Added new logo - feat: 🚧 progressed with the feature - docs: 📝 Added Fork and setup instructions - feat: 🚧 language translation - Merge pull request raycast#36 from PoskOfficial/feat_nepali_date_picker - Merge branch \'main\' into feat_nepali_date_picker - fix: 🐛 next month to the selection being selected - Merge branch \'feat_nepali_date_picker\' of github.com:PoskOfficial/Nepali-calendar-web into feat_nepali_date_picker - fix: 🐛 end and start time, timezone error - added node modules to gitignore - Merge pull request raycast#35 from PoskOfficial/nischal - Merge branch \'main\' into nischal - added gitignore - chore: Added single command to install both frontend and backend - feat: ✨ added nepali date picker - feat: ✨ added a popup modal for each reminder - popup modal for single event - Merge pull request raycast#34 from PoskOfficial/google_cal_compatible - refactor: ♻️ made start and end date logic declarative - fix: 🐛 multi day all day events not showing up - Merge remote-tracking branch \'origin/main\' into nischal - feat: 🚧 events popup - feat: ✨ event date time compatible with google calendar - feat: ✨ Added Delete Event Route - feat: ✨ Added event background sync - Merge pull request raycast#14 from PoskOfficial/nischal - fixes in calendar.tsx - feat: ✨ Added event color dot - Added Event Creation and List - feat: ✨ Fetched Event List from backend - Added build step to docs - docs: 📝 Added Readme - added lib to gitignore - feat: 🌱 Added missing files - Added deta space configuration - Merge branch \'main\' of https://github.com/Parajulibkrm/calendar-backend - moved to backend folder - moved files to frontend/ - feat: ✨ Added Google Authentication - feat: ✨ Added Privacy Policy - Merge pull request raycast#13 from nirajacharyaa/main - Merge branch \'main\' into main - fix: 🐛 Escaped APi Route from Client side cache - feat: ✨ Changed hashrouter to browserrouter - Fixed auth links cache issue - fix: 🐛 upcoming events and minor styles - Added Sign In - Styling bug fixes - Added a navbar - Merge pull request raycast#12 from nirajacharyaa/view-added-events - fix: 💚 build fix - feat: ✨ user events modal and view events - added .env to giitignore - initial commit - refactor: 🔥 Removed image for floating action button - Merge pull request raycast#11 from PoskOfficial/popupmodal - Reminder popup modal for indivdual day - Merge branch \'main\' of https://github.com/PoskOfficial/Nepali-calendar-web - added reminder popup - feat: 🐛 fixed off by one error - feat: ✨ Added upcoming events page. credit: @headshigh - feat: ✨ Added Multiple Event List for each day - Merge pull request raycast#10 from PoskOfficial/pwa-setup - chore: 🐛 Fixed PWA issue - chore: ✨ Added PWA configuration - Merge pull request raycast#8 from nirajacharyaa/load_calendar_data - fix: 🐛 Bug Fixes - fix: minor changes - Update issue templates - Update issue templates - Revert "Merge branch \'main\' into load_calendar_data" - Merge branch \'main\' into load_calendar_data - fix: events dots - minor fixes - Bug fixes - fix: 🐛 Fixed off by one error - memoized - set selected day to today - Merge pull request raycast#7 from PoskOfficial/nischal - ts error fix - lockfileversion - improvements - chore: loaded calendar data - upcoming events page incomplete - Merge branch \'main\' of https://github.com/PoskOfficial/Nepali-calendar-web - chore: 🍱 Added Calendar Files - Update issue templates - fixed type warnings - chore: 🎉 Initial Commit
raycastbot
added a commit
that referenced
this pull request
Jul 9, 2025
* Update easydict extension - docs: update changelog (#72) - chore: add maxchang3 as a contributor (#71) - Update dependencies and add DeepLX support (#70) - chore(deps): bump axios from 1.7.4 to 1.8.2 (#69) - feat: support gemini translate (#68) - docs: update changelog - feat: replace api key textfield with password - fix: set bing retry count to 3, avoid too much retry request - fix: remove old Youdao translate API - fix: improve error handling - fix: do not encode text for Youdao translate - chore: npm audit fix - fix: use new Youdao webTranslate API - chore(deps): bump cross-spawn from 7.0.3 to 7.0.6 (#67) - docs: update changelog - Revert "chore: add two issue templates" - Revert "chore: enable to open new issues" - fix: bing host is incorrect if check ip failed - docs: update changelog - docs: update changelog - feat: support AR language for DeepL - docs: update changelog - perf: set gpt-4o-mini as default OpenAI model - chore: update star notification action - chore(deps): bump axios from 1.6.0 to 1.7.4 (#64) - chore: update star notification action - refactor: remove support for Youdao API translate - fix: openai API URL is null will cause crash - fix: ignore first inputChange event, fix for #62 (#63) - Update follower-change-notification.yml - chore(deps-dev): bump braces from 3.0.2 to 3.0.3 (#60) - chore: add two issue templates - chore: enable to open new issues - perf: use Authorization DeepL-Auth-Key instead of auth_key - perf: improve prompt, add few-shot - perf: improve OpenAI prompt - perf: remove unused OpenAI function - feat: add custom DeepL endpoint, remove wild DeepL keys (#54) - Merge pull request #55 from HernandoR/fear-api-update - feat: update raycast api 1.62->1.68 - Merge pull request #53 from izualx/main - Update README.md - Merge pull request #52 from tisfeng/dependabot/npm_and_yarn/follow-redirects-1.15.6 - chore(deps): bump follow-redirects from 1.15.5 to 1.15.6 - perf: revert to openAIAPIURL, avoid breaking user config - Merge pull request #51 from rookiezn/support-openai-http-url - perf: able to set custom OpenAI model - fix: support http protocol for custom OpenAI api url - Merge pull request #50 from tisfeng/dependabot/npm_and_yarn/follow-redirects-1.15.5 - chore(deps): bump follow-redirects from 1.15.1 to 1.15.5 - chore: add @typescript-eslint/eslint-plugin@latest --save-dev - docs: update changelog - perf: update release note - Merge branch \'aidevjoe-main\' - perf: show error toast if serive has no api key - perf: remove default API keys - perf: remove Apple language detect - feat: add enable Baidu language detect option - chore: migrate 1.50.0 - chore: migrate 1.48.8, update .eslintrc.json - chore: npx @raycast/migration@latest - perf: add Baidu as default detection - perf: add Dutch and Ukrainian for Apple Translate - Merge pull request #49 from tisfeng/dependabot/npm_and_yarn/axios-1.6.0 - chore(deps): bump axios from 1.3.4 to 1.6.0 - Merge pull request #48 from tisfeng/dependabot/npm_and_yarn/find-exec-and-play-sound-1.0.3 - chore(deps): bump find-exec and play-sound - Merge pull request #47 from tisfeng/dependabot/npm_and_yarn/crypto-js-4.2.0 - chore(deps): bump crypto-js from 4.1.1 to 4.2.0 - chore: update follower-change-notification - chore: update star-fork-notification - chore: update star-fork-notification - docs: update README - Merge pull request #46 from liyaodong/main - feat: allow to customize OpenAI API URL - fix: rename issue template - fix: rename issue template - chore: update issue templates, remove others template - chore: update issue templates, remove bug and feature template - perf: if only enabled one detect service, use it directly - chore: update issue templates - perf: remove redundant swift file - fix: remove redundant Package.swift - perf: add Package.swift - fix: use executable file instead of swift source file - docs: update changelog - docs: update README and changelog - perf: add test AES link - docs: update changelog - docs: update README - Merge pull request #41 from aidevjoe/main - perf: use execa to run swift directly - perf: add more recognitionLanguages in Swift - chore: upgrade yaml, npm audit fix - perf: improve code - fix: improve OCR Translate - feat: add OCR recognition - Merge pull request #40 from hezhizhen/typo - chore: add spell checker to CI and fix existing typos - docs: update changelog - fix: openai cannot work if no agent, so get agent first - fix: openAI translation may miss first char - perf: remove default Volcano app key - docs: update changelog - Merge pull request #37 from ZhenpengWu/main - fix: check if OpenAI service is enabled in preference before calling OpenAI API - docs: update changelog - chore: update issue templates - docs: update README - perf: turn off some translation services by default - perf: stop loading when OpenAI error - perf: improve prompt - perf: disable OpenAI by default - perf: improve translat prompt - fix: handle OpenAI error ECONNREFUSED - docs: update README - docs: update README - perf: improve language detect, disable Apple detect - perf: improve prompt - perf: improve chat quote handling - perf: try to remove stream quotes - perf: improve chat prompt - perf: improve response error toast - perf: remove default Caiyun token - perf: show up to 6 exam tags - fix: volcano interface property name is wrong - perf: remove loading toast - docs: update README - docs: update README - docs: update package.json - fix: rename file - docs: update release screenshot - docs: update release screenshot - docs: update release note - perf: add searching and finished ✅ emoji - perf: improve OpenAI error toast - perf: improve detect language speed - perf: use proxy for OpenAI by default, remove quote - feat: support getting OpenAI result by stream - perf: add DeepL support for Korean and Norwegian - feat: add support for OpenAI translate - perf: update axios to 1.3.4 - perf: update Node version to 18.10, update dependencies, update google-translate-api to 9.1 - docs: update README - perf: add support for fallbackText - docs: update changelog - fix: youdao web dict meta may be nil - perf: remove log - perf: use user input text instead of selected text when using Fallback Command - docs: update README - docs: update README - docs: update README - chore: update workflows - docs: update release note - chore: update workflows - chore: update workflows - fix: get bing web translate token failed - docs: update release note - perf: try to get system proxy from env first - fix: baidu Burmese language code is wrong - docs: update README - docs: update README - docs: update README - docs: update README - perf: add disabled console.log flag - fix: disable console.log in production env - docs: update README image - chore: update repo icon - Revert "chore: improve multiple string" - chore: improve multiple string - Revert "chore: improve multiple string" - chore: improve multiple string - chore: use <p> instead of <br> - chore: update workflows - chore: update workflows - chore: fix workflows - chore: fix workflows - chore: revert - chore: fix multiple line string error - Revert "chore: fix multiple line string error" - chore: fix multiple line string error - chore(workflows): improve star-fork-notification - chore(workflows): improve star-fork-notification - chore(workflows): star-fork-notification - docs: update changelog - docs: update metadata - perf(UI): improve list accessory tag color - fix: searchText is empty when acivated from arguments - docs: update Eudic icon - perf(UI): use list tag accessory to show exam type - chore: update raycast/api to 1.45.0 - perf(UI): update Eudic icon - chore: update @types/react to 18.0.25 - chore: update @raycast/api to 1.43 - docs: update changelog - docs: update release note - perf: improve release note info - fix: auto get a new deepL key if quota exceeded - chore: add Icon for file - chore: change npm registry to https, npm update some package - chore: fix commintlint error - fix: update French say voice - docs: update README - chore: update @raycast/api and @types/react - docs: update changelog - fix: arguments no longer empty but its properties empty cause crash - docs: update changelog and release note - fix: action list key error - docs: update README - docs: update README - refactor: improve show query webItem action - docs: update metadata - docs: update changelog - docs: update changelog and release note - perf: improve language detect, mark two identical language as prior - feat: add support for new 25 languages including Ukrainian, total support for 48 languages - perf: improve getting Youdao web cookie - perf: change delay get system proxy time to 3000ms - feat: support arguments for Easydict - feat: add open web query in detail page - docs: update README - perf: improve translating multi-line text show details markdown - perf: improve remove self html tag function - feat: add a `Copy Text` action on show more details page - docs: update package.json - perf: change to show `Open in Eudic` first if Eudic is installed by default - fix: unexpected proxy error, use hpagent instead of https-proxy-agent - chore: update agent-base to 6.0.2 - style: improve code - docs: update README - docs: add use with PopClip - perf: change to keep two phonetic if word has - docs: update changelog and release note - perf: handle no cat and no def case, eg 艾 - perf: improve modern Chinese dict subsense and no cat case - perf: improve modern Chinese dict dot color - perf: improve modern Chinese dict markdown, handle subsense - perf: improve modern Chinese dict details markdown - perf: improve Youdao Chinese phonetic - perf: change to always display show more details - perf: add show Copy Text first option, add shortcut for web query action - perf: improve modern Chinese dict detail markdown - feat(UI): add Youdao modern Chinese dict - fix: linguee unfeatured show more details incorrectly - feat: use proxy in Linguee by default - fix: youdao web dictionary guess language may be incorrect - perf: cancel delayed proxy query if input is cleared - perf: improve playing word audio, change to use speechUrl first - fix: improve ts array type - perf: improve show more details - perf: improve word phonetic display - fix: youdao dict miss some word phonetic, eg. record - docs: change google.cn to google.com - docs: update README - docs: update README - docs: update README - docs: update changelog - docs: update package.json - perf: improve language detect - perf: improve handling detect API list, remove Google detect - chore: try to fix greetings.yml - chore: update greetings.yml - perf: when enable system proxy, do not delay Google request - perf: change delay query proxy time to 600ms - perf: improve getting system proxy agent - perf: delay query Google and DeepL with proxy - fix: get system proxy cause slowdown - fix: json.stringfy httpsAgent and parse can cause error - perf: change to use Google tld com and proxy by default - perf: turn on Volcano translate by default - docs: update README and changelog - docs: update metadata - perf: improve Linguee Wikipedia type display - perf: change to use Volcano https - perf: improve translation detail display - perf: improve Linguee check text is word - fix: linguee wikipedia cannot show more detail - perf: improve show more detail markdown - style: rename appleDetectLangChineseName - perf: add default Volcano access key - chore: update @raycast/api to 1.40.0 - docs: update package.json - docs: update README - docs: add github issue template - perf: use file-type to check wav audio file - docs: update README - chore: update github greetings - perf: use execa instead of exec - perf: if downloaded file is wav formate, try covert to m4a - perf: return is Chinese IP if check IP API throw error - perf: only use enabled detect API, except Google and Bing - perf: improve language detect - fix: volcano detection return youdaoLangCode is wrong - perf: change to use lowercase word Youdao web audio - docs: update README - perf: improve language function names - perf: use Samantha instead of Alex as English say command - feat: add show Volcano web translate top action - feat: add Volcano language detect - feat(UI): add Volcano translate display - refactor: improve Volcano generate sign API - fix: set defaultMaxListeners to 15 - Merge branch \'baidu-translate\' - feat: test Volcano translate API - perf: improve show more detail markdown - feat: add shortcut for showing more detail - perf: set Youdao Baike text language to Chinese - perf: improve Chinese and English language code usage - feat: add show detail action - perf: show Youdao dict when has baike or wikipedia - docs: update release note - perf: rename LanguageItem language code - perf: turn off DeepL and Baidu translate by default - perf: change axios timeout to 15s - docs: update README extension icon - docs: update README - Merge pull request #19 from Jax0rz/main - Update play audio icon - 规范图标大小和风格 - Update extension icon with a better look and style with Raycast standard. - fix: get Youdao web cookie may fail, casue crash - perf: change axios default timeout from 15s to 10s - perf: improve language detect - docs: update README - docs: update README - docs: update README - docs: update README - perf: improve Youdao dictionary show empty entry condition - perf: change Apple translate delay time to 1.0s - docs: update package.json - docs: update README and changelog - perf: add token for getting ip info - fix: when switch proxy, bing translate may encounter error - docs: update README and changelog - fix: when deepL get error code 456, return incorrect promise - fix: hide Youdao translate when use it as dictionary translation - perf: change default perferred languages - perf: stop Apple detection temporarily - chore: upgrade @raycast/api to 1.39.2 - fix: apple translate Chinese-Traditional error - perf: improve langauge detection accuracy when disable speed first - docs: update README - feat: add enable Bing translate preference option - feat: add Bing language detection - feat(UI): add Bing translate section - perf: improve to get bing config when fails - perf: change bing token expiration from 10 to 5 min - docs: update package.json - perf: improve if eles condition in setup() - perf: if bing translate result is empty, check ip and tld, then request again - perf: google tld use preferred language check first - perf: if enabled proxy, wait for getting system proxy and get selected text before request - refactor: improve get and update ip info, improve bing tld - perf: improve language detect last fail handing - feat: add bing web translate API - perf: add isChina to queryWordInfo - fix: detect language resovle undefined incrorrect condition - fix: enabled Youdao translate but not star requesting - fix: stop Apple translate if has cleared query - perf: improve word audio, use Youdao web audio first - perf: improve language detect - perf: separate Youdao dictionary and translation request - perf: improve playing audio - perf: improve Youdao web translate cookie - perf: improve download word audio, use Youdao type=2 from JSON - perf: delay auto playing word audio, avoid blocking UI - style: improve code - perf: improve language detect - perf: improve abort Apple script timeout - fix: enable Youdao API translation - perf: improve Apple scripts - refactor: improve language detect, remove local detect timer - perf: improve run execa apple script - refactor: use execa improve exec apple scripte - fix: show error toast may crash - refactor: improve detect language function, use Promise instead of callback - feat: add preferences language detection speed first option - perf: improve language detection - perf: improve Baidu language detect - perf: improve Tencent language detect - perf: improve axios config - perf: improve extension startup response speed, -0.5s - perf: improve language detection - perf: do not use Apple language detect, when preferred languages contain English - feat: add web Baidu language detect API - docs: update changelog - docs: update README and changelog - fix: linguee auto play word audio - perf: improve detect three identical valid language - perf: improve query word info phonetic display - feat: add Linguee phonetic and exam types - refactor: improve md5 function - fix: youdao web translate may return html error - perf: improve wikipedia dot color - feat: test Baidu web translate API - docs: update changelog - feat: only English word can automatically play audio - refactor: improve list display type judgement - feat: add Youdao dict wikipedia digest type - perf: improve Youdao word audio, change to use type=0 - feat: add Youdao dictionary baike type - perf: default turn on auto play audio - fix: change json file format - docs: update changelog - perf: do not show error toast when finish or cancel exec command - perf: return reject(undefined) when cancel request - perf: if exec already finished, do not kill and throw error - fix: handle Tencent translate unsupported language error - perf: kill process if exec shortcut timeout - docs: update changelog - perf: move `Open In Eudic` to first action - fix: youdao web translate may have multiple results - perf: improve translation from-to section title display - docs: update Youdao dictionary demo json - perf: use Youdao dictionary as first sort order - docs: update README - docs: update package.json and README - feat: enable sort dictionary and translation order - perf: improve api detect language, three api mark as true - perf: do not request Youdao translate when has enabled Youdao dictionary - perf: only show Youdao dictionary when has Details section - refactor: improve check dictionary or translation query type - perf: check Youdao web translate from-to language - perf: improve format check if Youdao dictionary has entries - perf: only query text is word enable play audio automatically - fix: show Youdao web translation only key is the same - fix: add check Youdao Chinese --> English isWord - perf: improve Youdao dictionary explanation display - fix: filter explanation empty string text display - perf: improve update Linguee translation - feat: use Youdao translation result as Youdao dictionary translation - perf: improve query Youdao dictionary function - perf: improve request type error toast - fix: youdao Chinese --> English explanation show incorrectly - perf: improve format Youdao web dict model - style: improve code - perf: improve Youdao dict forms display - perf: improve one line translation display - feat: use Youdao dictionary Get api ✨ - fix: handle Youdao web dict invalid result: const - fix: youdao translation one line break display - perf: improve Youdao dictionary translation display - fix: youdao web-translation may be undefined - perf: change Youdao translation from array to string - feat: add Youdao Chinese -> English dictionary - feat: add new Youdao web dictionary api - feat: use new Youdao web translate - chore: update github star workflow - chore: update github star workflow - feat: test Youdao web translate api - chore: update @raycast api to ^1.39.0 - perf: change lib to es2021 - perf: improve check text is word - perf: update check is word for playing word audio - perf: check queryWordInfo is a word - perf: add Youdao translated text too long toast handling - fix: set max trim text length to 1830, for Google web translate - perf: remove default Youdao appId and appKey - docs: update README - docs: update README - docs: update README - docs: update README - perf: only query Youdao dictionary when query text is word - perf: do not request Linguee if query text is not word - feat: add Youdao ai demo api - docs: update README - docs: update README - docs: update release note, style code - perf: only two api detect idential language, and it is preferred, use it - perf: if Baidu detect language is confirmed and perferred, use it - perf: update release note web url - docs: update README - fix: new version release prompt flicker when changing list focus - docs: update README and preference - docs: update release note - docs: update README - docs: update README - docs: update README and changelog - docs: update README and docs - docs: update README - fix: duplicate section key cause section title render incorrectly - refactor: improve Youdao dictionary display section data - style: rename file - docs: update REAMDE - docs: update REAMDE - refactor: improve transform error to errorInfo - docs: migrate docs to blob from wiki - style: add request cost time - style: comment debug log - style: rename enableSelectTargetLanguage - refactor: slim dataManager, move function to utils - refactor: slim dataManager - perf: improve dataManager structure - perf: change abortController to optional - refactor: change to use axios default signal - perf: add 15s timeout for axios default config - perf: add view long text log for debuging - docs: add parse reference - perf: change Portuguese google id to pt - perf: move check if preferred languages conflict to compenents - perf: change useEffect searchText to inputText - style: rename interface - refactor: add wordInfo propery for RequestTypeResult - perf: add emoji to translation section title in detail page - perf: clean code - perf: handle languages not supported by Apple in advance - style: rename LanguageItem properies name - perf: supplement google language id - perf: improve conversion between detected language id and youdao language id - perf: use detected language instead of auto source in Linguee - perf: improve check if preferred languages conflict - style: remove comments - perf: preferred to use Google language detect - refactor: move delay query timer to dataManager - perf: improve return List structure - perf: use Hongkong flag as traditional Chinese emoji - fix: select target language manually casuse cancel query - perf: stop query if text is cleared during language detection - refactor: move queryText() to dataManager - refactor: enable cancel Apple translate - perf: enable cancel Tencent translate request - feat: use axios to request Tencent translate, sign manually - feat: add Baidu translate web action - refactor: improve eudic web url - fix: web url is wrong - feat: use new Youdao dictionary web - refactor: improve access to web url - perf: improve language detect, preferred to use API detect - feat: add Google language detect - fix: detect language tencent and baidu type are wrong - perf: improve youdao error handle - refactor: improve show request error toast - perf: preferrd to use api language detect - style: improve code - perf: enable Google RPC use system proxy - feat: add Google RPC translate - fix: get youdao language id of apple detected language - perf: improve auto select target language - perf: improve google tld - refactor: improve detect language, add support for more Apple system language - fix: linguee web dictionary url is wrong - feat: apple detect language support English system language - feat: add Baidu auto detect language - perf: give priority to franc detect then simple detect language - perf: improve Linguee language support - perf: use undefined instead of null - perf: show the first translation fromTo language title - perf: only when linguee word item is empty, use query word fromTo language - fix: linguee word item is empty cause crash - fix: remove () regex is incorrect - perf: add example translation pos - perf: use emoji in section language title - perf: use country flag emoji as language icon - perf: move open in web to first - perf: change language detect type to enum string - perf: add get system proxy error toast - perf: clear query record list when clear query - perf: improve before querying loading state - perf: improve request loading state - fix: handle cancel request - fix: deepL translation do not display - perf: use DeepL result as Linguee translation - refactor: improve query text function structure - feat: show current query type open in web at the top action - perf: do not update when linguee result is empty - perf: query multiple lines of text, display one line - refactor: use cheerio to parse google translate - fix: google URIError: URI malformed - refactor: adjust query word info structure - perf: improve display section title - perf: dictionary section title add fromTo language - fix: get language of two except Chinese - perf: clear result before new input query - perf: add Linguee German tag_area - refactor: improve request params - feat: add linguee web dictionary action - perf: improve get linguee web url - perf: improve cancel request and clear query - refactor: use AbortController to cancel axios request - perf: filter null query result - feat: add linguee audio url, play word audio automatically - perf: improve French tag forms text - perf: improve French forms - perf: use user deepL key first - perf: improve deepl get a valid key - perf: improve youdao dictionary and translate display - feat: automatically get a valid deepL key - perf: improve code - fix: handle deepL request 456 error - fix: resolve merge conflicts - feat: add enable system proxy switch option - refactor: improve code structure - refactor: adjust types structure - fix: change target language cause crash - fix: show detail display incrorrently - refactor: check if need to show detail according to result - perf: improve linguee request error toast - perf: improve dictionary separator display - perf: change to only sort translation order - perf: change dictionary section title - perf: improve dictionary section title separator display - refactor: sort services order - refactor: separate the translation request - perf: improve dictionary section title display - perf: enable linguee switch - refactor: separate Youdao request - refactor: improve Youdao data structure - refactor: swtich to class to optimize data structure - refactor: improve list item structure, fix Youdao display - perf: change special forms icon color - perf: separate the html parsing function - perf: merge tag and type to frequencyTag - perf: improve query selector multiple class - docs: update changelog - docs: update README - docs: update changelog - docs: update changelog - feat: add show open in eudic option; improve deepL error toast - fix: open in eudic when downloading from web - docs: update changelog and package docs - docs: update package docs - fix: response data is garbled when querying French word - perf: add linguee French word translation example - perf: improve linguee display - fix: english \'good\' common type inrorrect display - perf: improve French display, add tag forms - perf: change default perferred languages - perf: change linguee source language to auto - perf: improve related words display - perf: add linguee example pos - fix: linguee no dictionary element cause crash - perf: add linguee wikipedia - perf: adjust unfeatured type color - perf: change isWord to required - fix: linguee display query word info language are wrong - perf: add linguee almost always used type - perf: show multiple example translations - perf: add word item featured property - perf: add linguee word audio url - perf: add related word type - style: clean up comments - docs: update changelog - perf: improve linguee display list type - feat(UI): add colorful list icon for linguee dictionary - fix: parse html from chinse error - fix: search linguee from chinese to english - feat: add http proxy agent - perf: improve linguee dictionary - perf: add examples - feat: test linguee dictionary - docs: update README - docs: update changelog - refactor: optimize web translation item - fix: get wrong Eudic web url - docs: upate README and changelog - docs: update changelog - docs: update README - docs: update README and changelog - perf: use google.cn if user ip is in China - perf: change the perferred languages to required - fix: youdao web translate language id is wrong - feat: use different Goole Translate domain according to preference languages - feat: add support for Google translation 🎉 - feat: test google crawler translate - docs: update changelog - docs: update changelog - fix: only show release prompt once if need - fix: handle Youdao reqeust exceptional error - docs: update changelog - docs: update README - docs: update README and changelog - perf: only query text is a word, show search Eudic and Youdao action - feat: update raycast api to 1.38.0, use new icon - refactor: improve web translation action - feat: add deepL web translate action - perf: improve input query experience - perf: optimize code - fix: action button frequently flick when rendering - perf: remove action when input is empty - fix: cancel update translation when deleting all input text - docs: update README - Merge pull request #14 from kxxoling/patch-1 - Fix links related to Bob - chore: update github action - chore: update github action - chore: update github action - docs: update README - docs: update README - chore: update star notification action - chore: add github follower change notification action - perf: handle tencent translation not supported language - perf: improve the synergy of api and local language detect - perf: add more apple detect languages - perf: improve the sorting of translation results - chore: update SECURITY - perf: improve new release prompt - docs: update README - docs: update README - style: clean code - chore: add npm run build before git commit - docs: update changelog and release log - docs: update README - docs: update README - perf: change franc detect confirmed confidence from 0.6 to 0.8 - perf: improve translate error prompt - docs: update README - perf: support deepL pro key - perf: improve user type translation order - feat: support user set translation display order manually - perf: clean code - perf: improve deepL request error prompt - feat: add deepL translate 🎉 - refactor: separate the crypto and default api keys file - feat: test deepl translate api - fix: repeatedly read selected text when input text is deleted to empty - docs: update README - docs: update README - chore: use isfeng bot gmail to send email - feat: add open command preferences action - docs: update README - chore: clean code - chore: update action - chore: change star link - chore: fix env event name - chore: set environment variable - chore: use env.xxx to use - chore: change to use env event name - chore: update echo env use - chore: try action env - chore: use markdown link - chore: update star or fork notification action - chore: update star or fork notification action - Revert "chore: update star or fork notification action" - Revert "chore: update star or fork notification action" - Revert "chore: update star or fork notification action" - chore: update star or fork notification action - chore: update star or fork notification action - chore: update star or fork notification action - chore: update star or fork notification action - chore: update star or fork notification action - chore: update star or fork notification action - chore: update manual action - chore: update manual action - chore: update email username and password - chore: change to use gmail - chore: update actions - chore: update manual action - chore: update repo forked notification action - chore: update repo forked notification action - chore: add repo forked notification action - docs: update README - perf: improve input text query - fix: when input text is empty, need to cancel previous request - feat: add an Easter egg for using popclip to open easydict - docs: update README and changelog - perf: change assets image name, change git ignore case to false - perf: improve release info, action icons - docs: update README - docs: remove not used images - docs: update README - docs: update README and changelog - perf: clean code - docs: update changelog - fix: select target language action hide auto language - perf: optimize code, add shell exec return child process - perf: improve ActionRecentUpdate - perf: improve release markdown display - perf: improve new release prompt - refactor: optimize ListActionPanel function - feat(UI): add new release remind - perf: improve debug log - perf: adjust franc detect low confidence to 0.1 - fix: play result text sound alway paly query text bug - perf: improve local language detect, use local detect when API detect over time - perf: improve query selected text response speed - perf: improve language detect - perf: modify action titles, make more succinct and clear - perf: improve local language detect - perf: change franc detect criterion to confidence > 0.5 - fix: return wrong language id when use franc detect unconfirmed language - fix: correct Arabic franc id typo, ara -> arb - perf: improve local language detect when all API detect error - refactor: improve local language detect accuracy with franc - feat: add franc to detect language type - docs: update README - docs: update README - docs: update README - feat(UI): add list icons for different types of translations - perf: improve request error handle and toast - fix: apple translate error when input contain special char - fix: handle error of tencent translate not support language - perf: support apple translate auto detect supported language - perf: only download word audio when need play sound - fix: apple script param not allow single quote, replace with double quote - perf: set max length of text to download youdao tts audio, 20 - perf: improve say command - fix: when tencent language detect not support, use auto - perf: improve api detect language accuracy - perf: improve local chinese language detect - feat: use apple translate when enabled - perf: add file header annotaion, improve function comments - refactor: separate language detect function - feat: use apple language detect if enabled - perf: improve play text sound - perf: change to run shortcuts in background - perf: if tencet detect language is not preffered language, then try use local detect - fix: apple script parameter use escaped string - perf: when afplay audio error, use say command - perf: improve continuous input query, cancel previous request - perf: improve youdao translation query failed error prompt - fix: open youdao code url error - perf: improve detect languge speed - perf: improve local english text detect - feat: add cacluate axios request cost time automaticly - feat: add shortcuts apple translate - feat: add shortcuts detect language - perf: change to lower case query - refactor: optimize easydict.ts structure - chore: update workflows - chore: update workflows - chore: update workflows - chore: add test workflows - chore: update .github/workflows/greetings - Merge pull request #9 from tisfeng/tisfeng-patch-2 - chore: add manual.yml - Merge pull request #8 from tisfeng/tisfeng-patch-1-1 - chore: add greetings.yml - docs: update README - Create SECURITY.md - docs: update README - chore: add commitlint - style: ignore .DS_Store, Icon/r - chore: add husky and lint-stage - doc: update README - doc: update CHANGELOG - style: run prettier - fix: resolve warnings - chore: add .eslintrc and .prettierc, resolve errors - doc: update metadata screenshots - feat: change copy action title to "Copy Text" - fix: change maxLineLengthOfEnglishTextDisplay from 100 to 95 - style: clean code - feat: only show word one phonetic - fix: only English word use youdao web audio - feat: improve the voice playback mode of query text - fix: wrong word condition judgment - feat: improve word pronunciation, give priority to Youdao online pronunciation - feat: add word translation subtitle - feat: improve the display of multiple translation results of simultaneous query - feat: only automatic play audio when query text is word - refactor: change the request method of query input text - fix: enable automatic query selected text - feat: add preferences for automatic pronunciation after querying words - feat: change to use youdao api speakUrl to play sound - feat: use crypto-js instead of crypto - feat: change to use youdao audio - feat: use iciba pronunciation, remove bing - feat: add bing paraphrase - feat: modify phonetic text - feat: add iciba dictionary api - feat: add bing phrase - refactor: bing crawl parse - feat: use us-phonetic and us speech - feat: add bing crawl translate - feat: move open in Eudic to first action - fix: setTranslateDisplayResult called two times - refactor: improve update translate display result fuction - fix: hide list details when deleting input until empty - style: change function or variable names - feat: modify the judgment condition of long text translation - feat: change query clipboard text to query selected text - feat: use encrypted appId and key to avoid platform key leak warning - feat: show multiple translation result on the list detail - feat: add title for list detail markdown - feat: improved multi-line text translation display on list detail - feat: show list detail when transaltion text too long - feat: allow to turn on/off multiple translate APIs manually - fix: baidu translation request error handling - chore: remove @alicloud/alimt20181012 - refactor: optimize request error handling - fix: tencent detect languagd id may different from its language id - refactor: optimize multiple translation structure, add Tencent translate result - feat: add Tencent translate API - feat: gve priority to the Tencent language detect API to identify the input text language. - feat: add tencent language detect API - feat: according to the translation language, generate web translate link - feat: set maxInputTextLength=2000 - fix: incorrect way to save and query clipboard records - doc: update README - doc: update README - chore: run prettier - chore: remove react-devtools - Merge pull request #3 from tisfeng/dependabot/npm_and_yarn/follow-redirects-1.15.1 - chore(deps): bump follow-redirects from 1.14.7 to 1.15.1 - Create codeql-analysis.yml - Merge pull request #1 from tisfeng/dependabot/npm_and_yarn/minimist-1.2.6 - Merge pull request #2 from tisfeng/dependabot/npm_and_yarn/ansi-regex-3.0.1 - chore(deps): bump ansi-regex from 3.0.0 to 3.0.1 - chore(deps): bump minimist from 1.2.5 to 1.2.6 - doc: update README - chore: run npm, run prettier - feat: use new default Youdao app key and secret - doc: update README - feat: add README - feat: add extension screenshots in metadata - feat: remove translation section title localize - fix: correct the clipboard query interval from 1 minute to 10 minutes - doc: update package.json - refactor: adjust project code structure - feat: add the judgment that Caiyun token is empty - feat: add more request error prompts, such as app secret error - feat: add preferences of Baidu and Caiyun translate app secret or token - feat: remove preferece languages not supported by Baidu non-authenticated users - style: clean unused code - fix: get right request result error code - style: change languageId to youdaoLanguageId - feat: improve Details section title UI display - refactor: optimize request error code handling - feat: hide tooltip when displaying multiple translation types - feat: add request error handle - fix: handle Caiyun API not supported translation types - feat: supplement the language ID of Baidu translation - feat: use Use Chinese to display translation section titles when the preferred languages contain Chinese - feat: improve List.Item tooltip prompt - refactor: switch to new interface type; improve the UI of multiple translations - feat: display multiple translation results - feat: add Caiyun translate API - style: modify interface names to Youdao prefix - feat: add Baidu translate API - feat: automatically display open in Eudic action if installed - feat: add see educi translate results action - feat: modify play text sound action icon - feat: adjust feedback action order - feat: add see youdao translate results action - feat: change the default appId and appKey value - feat: modify request error prompt - feat: change preference appId and appKey type to password - feat: change language preferemce to optional, default Chinese-Simplified and English - feat: adjust the order of actions displayed in the action panel - feat: add preference to decide to display target translation language - feat: remove isAutomaticPaste preference - feat: remove delayFetchTranslateAPITime preference - feat: remove clipboardQueryInterval preference - style: alter title and placeholder - doc: alter preference descriptions - feat: change Feedback url to Raycast extensions issues - feat: change google translate from translate.google.com to translate.google.cn - feat: add prefence for querying clipboard time interval - style: alter descriptions - style: change extension names - feat: add List.Item icon tooltip, update @raycast/api to 1.35.1 - style: clean code - feat: add tooltips - feat: distinguish between WebTranslation and WebPhrase types - feat: modify delay translate time, from 400ms to 1000ms, defalut 600 - feat: optimize copy text when copy web result - feat: use diferent sound icon for light and dark mode - feat: optimize input text display and search request - feat: optimize the target language setting - feat: optimize fromLanguage type detection of input text - fix spell errors in some language names - feat: give priority to use English and Chinese as fromLanguage,and then auto - feat: use assets image as play sound icon - refactor: optimize code structure - feat: add word wfs, eg: goods,better,best - feat: add word exam types accessory - fix when text contain special char like "( cannot play sound - style: clean code - feat: set time interval for automatic query of the same clipboard word - feat: modify automatic query clipboard as optional, default true - style: clean up unused code - run prettier - feat: modify the say text truncate length from 16 to 40 - feat: change the default en-US say sound, from Alex to Samantha - feat: look up clipboard text when first enter - feat: make it easy to look up words in Eudic, simplify selected copy action - change names - feat: improve translation UI - feat: support to open in Eudic and search the queried text - change names - fork: Add Delay Fetch Translate API Time Options - modify name to Eudic - fork parrot-translate - Initial commit * fix: remove incorrect '|' in Chinese punctuation regex Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com> * chore: update changelog Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com> * refactor(DeepLX): remove unnecessary Promise wrapper Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com> * fix(dataManager): remove unnecessary duplicate error check Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com> * fix(dataManager): remove unnecessary duplicate error check Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com> * chore(mock): set `private` to `true` * fix(languages/DeepL): convert language codes to lowercase * fix: update package-lock to avoid using third-party registries * chore(changelog): remove PR references * fix(eslint): remove personalized rules * fix(lint): avoid short-circuit expressions * fix: typo * fix(eslint): remove `.eslintrc` * Update CHANGELOG.md and optimise images --------- Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com> Co-authored-by: raycastbot <bot@raycast.com>
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>
iHildy
added a commit
to iHildy/raycast-extensions
that referenced
this pull request
Jan 25, 2026
- fix(lint): remove unused useMemo import (raycast#47) - Merge pull request raycast#46 from iHildy/refactor/merge-ntfelix-and-improve-ux - refactor(activities): Extract useLastActivity and fix revalidation - refactor: integrate quick message form and improve session list ux - Merge pull request raycast#43 from iHildy/fix/changelog-and-preferences-interface - Merge pull request raycast#42 from iHildy/final-for-publish-2 - Merge pull request raycast#41 from iHildy/final-for-publish
raycastbot
added a commit
that referenced
this pull request
Feb 6, 2026
* Add jules-agents extension - chore: delete pnpm lockfile and reformat imports in list-sessions.tsx - feat: add empty state to session list; refactor: remove command subtitles - Merge pull request #40 from iHildy/finalize-for-publish - feat: add jules-agents metadata images - Merge pull request #39 from iHildy/feat/remove-todo-file-6250359568516323776 - refactor: Remove TODO.md file - feat: add code review page with diff parsing, file detail view, and PR actions - Merge pull request #35 from iHildy/fix-branch-launch - feat: Update BranchDropdown to use branch displayName for values, add id prop, and include name in GitHubBranch type. - remove launch image for future retake - docs: add launch session screenshot.docs: add launch session screenshot. - chore: update initial changelog entry details for publish - docs: update README features, adding AI summaries and media viewer, and refining existing descriptions. - Merge pull request #31 from iHildy/feat/expand-copy-actions-16439737926273651148 - chore: resolve merge conflicts - feat: add copy actions - Merge pull request #30 from iHildy/feat/default-activity-filter-14919614857441043627 - chore: resolve merge conflicts - feat: Add default activity filter preference and rename activity filter options. - Merge pull request #29 from iHildy/feature/bash-output-highlighting-2335402209823619386 - feat: improve bash output exit code formatting with N/A and success/failure emojis - Merge pull request #28 from iHildy/feat/media-view-9271202486108135820 - feat: Add large media view and refactor save media action with improved feedback and Finder integration. - feat: Expand Copy Actions - feat: Add preference for default activity filter - feat: Improve display of bashOutput artifacts - feat: Add dedicated view for media artifacts - feat: add session actions, state, and consistent title formatting to menu bar and session list - Merge pull request #25 from iHildy/feat/enhanced-menu-bar-actions-14777859912089807860 - Merge pull request #24 from iHildy/feat/plan-view-actions-18084592357480163770 - chore: resolve merge conflicts - Merge pull request #22 from iHildy/feat/ai-features-11910118265150615531 - Merge branch \'main\' into feat/ai-features-11910118265150615531 - feat: Use AI.ask for prompt refinement and enhance session summary generation by omitting artifacts, truncating content, and displaying in a detail view. - ran ray lint fix - Merge pull request #21 from iHildy/add-list-sources-command-14180347300047980930 - Merge branch \'add-list-sources-command-14180347300047980930\' of https://github.com/iHildy/jules-agents into add-list-sources-command-14180347300047980930 - Merge branch \'main\' into add-list-sources-command-14180347300047980930 - Merge branch \'main\' into add-list-sources-command-14180347300047980930 # Please enter a commit message to explain why this merge is necessary, # especially if it merges an updated upstream into a topic branch. # # Lines starting with \'#\' will be ignored, and an empty message aborts # the commit. - feat: Implement refresh actions for source and session lists, and allow pre-selecting source for new sessions. - Merge pull request #19 from iHildy/feat/branch-dropdown-857002017458243301 - Merge pull request #18 from iHildy/feat/activity-filtering-13456472570523024561 - fix: Provide default strings for undefined activity messages and session failure reasons - Merge pull request #23 from iHildy/feat/hide-session-id-details-15101675663783078513 - refactor: remove redundant metadata separators and created time label from session detail - feat: Enhance Menu Bar Actions - feat: Add approve and deny actions to plan detail view - refactor: make step index optional and reorder session actions - feat: Hide session ID from details view - feat: Add AI-powered features - feat: Add list-sources command - feat(launch-session): Replace branch text input with dropdown - feat: Add filtering to Activity Feed - feat: Add API function to fetch session activities and UI to decline or view plans. - feat: derive default starting branch from sources and show form loading state - feat: refactor `useSources` to fetch all sources using `usePromise` instead of paginated `useFetch`. - feat: implement detailed plan viewer with view/copy actions and improved plan activity markdown - docs: Add TODO list outlining planned features and refinements for the Jules Agents Extension. - feat: Add `requirePlanApproval` and `autoCreatePR` preferences and use them as default launch options. - feat: format and display human-readable session states in list view - feat: Add session filtering by status and repository, and reorder session detail metadata. - feat: enhance session display by formatting repository names and truncating session titles. - first commit * feat: Add `Detail` fallback when session is missing and display session title in navigation. * refactor: remove Preferences interface and its imports, and update changelog release date * remove manual ExtensionPreferences interface def Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com> * Update jules-agents extension - fix(lint): remove unused useMemo import (#47) - Merge pull request #46 from iHildy/refactor/merge-ntfelix-and-improve-ux - refactor(activities): Extract useLastActivity and fix revalidation - refactor: integrate quick message form and improve session list ux - Merge pull request #43 from iHildy/fix/changelog-and-preferences-interface - Merge pull request #42 from iHildy/final-for-publish-2 - Merge pull request #41 from iHildy/final-for-publish * Fix React warnings in launch-session command (#48) * fix: resolve key uniqueness and uncontrolled form errors (#49) * Update jules-agents extension - chore: update quick message icons (#53) - chore: apply task changes (#52) - fix: add missing icon to submit task action (#51) * Update * Update jules-agents extension - allow no_repo as a next time source - Merge branch \'main\' into feat/remember-last-source - feat: add no repo option for testing (#55) - respond to PR comments of #55 - feat: persist last selected source - Add "Built with Jules" badge to README.md (#54) - feat: add no repo option for testing * Update CHANGELOG.md and optimise images --------- Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com> Co-authored-by: Dhruv Suthar <intelligentjimmy@gmail.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
Typo, sorry!
Type of change
Screenshot
Checklist