Commit Graph

53 Commits

Author SHA1 Message Date
Dustin Farley dcfb1f1dd3 ported Jason Haddix's additions, added transform settings 2026-03-21 00:44:16 -07:00
Dustin Farley 8ff45957c8 Sync upstream and refine Translate/PromptCraft/Glitch UI
Made-with: Cursor
2026-03-20 22:57:14 -07:00
Claude afe00b3534 Fix OpenRouter API key not working for translation and improve error handling
- API key retrieval now trims whitespace (pasted keys with spaces caused auth failures)
- Fallback to Vue data property if localStorage is empty (covers forgot-to-save case)
- Auto-saves key to localStorage when found only in Vue data
- HTTP-level error handling (401/402/403) with clear user-facing messages
- Changed HTTP-Referer from window.location.origin to window.location.href
  (origin returns "null" for file:// URLs, breaking OpenRouter requests)
- Handle non-JSON error responses gracefully
- Handle string-type error responses from OpenRouter
- Added missing else branch for empty API responses
- Updated README with AI Translation, PromptCraft, and OpenRouter key setup docs

https://claude.ai/code/session_01DjqbQB8WcZoGVe78sjvh72
2026-03-21 02:11:28 +00:00
pliny 9c11572f97 Add files via upload 2026-03-20 18:16:57 -07:00
Dustin Farley dc10a90851 refactor: migrate to modular tool-based architecture
- Implement tool registry system with individual tool modules
- Reorganize transformers into categorized source modules
- Remove emojiLibrary.js, consolidate into EmojiUtils and emojiData
- Fix mobile close button and tooltip functionality
- Add build system for transforms and emoji data
- Migrate from Python backend to pure JavaScript
- Add comprehensive documentation and testing
- Improve code organization and maintainability
- Ignore generated files (transforms-bundle.js, emojiData.js)
2025-12-02 20:26:32 -08:00
Aidan 4442a3045c Gibberish generator functionality. 2 modes - Random gibberish w/ dictionary and gibberish by removal. 2025-11-17 14:32:05 -05:00
Dustin Farley fc4910555a Refactor emoji library, improve UI responsiveness, and enhance text transforms
- Refactor emojiLibrary.js: auto-generate EMOJI_LIST from categorized emojis
  - Removed 400+ lines of duplicate emoji definitions
  - Implemented single source of truth with deduplication
  - Added emoji count display updates

- Improve responsive layout and styling (style.css)
  - Add flex-wrap to header and transform categories for better wrapping
  - Fix transform button width and sizing issues
  - Improve tokenade-presets responsive layout
  - Remove fixed min-width constraints

- Optimize app performance (app.js)
  - Remove watchers that caused unnecessary emoji grid re-renders
  - Fix category scroll behavior with proper offset calculation
  - Move lastCopyTime from methods to data
  - Refactor setupPasteHandlers method location
  - Fix applyTransform to pass full text to transforms instead of character-by-character
  - Add missing transforms to categories (Vaporwave, Disemvowel, ROT18, ROT5, A1Z26, etc.)

- UI/UX improvements (index.html)
  - Switch to Vue.js production build for better performance
  - Simplify copy buttons (icon only, remove redundant text)
  - Fix Vue key prop warnings with unique keys
  - Improve emoji grid initialization and tab switching logic
  - Reorganize Tokenade panel controls
  - Add structural comments for better code navigation
  - Add emojiWordMap.js script reference

- Enhance text transforms (transforms.js)
  - Inline try-catch blocks for base64, base64url, and url transforms (return '[Invalid input]' on error)
  - Fix numerous copy-paste errors in transform previews (vaporwave, rot5, rot18, upside_down, elder_futhark, greek, wingdings)
  - Fix klingon transform case sensitivity and reverse function for multi-character mappings
  - Update reverse_words preview to show ellipsis at end
  - Refactor emoji_speak to use keyword-based emoji lookup with two-pass replacement
  - Fix emoji_speak digit duplication by excluding single digits from symbol pass

- Add emojiWordMap.js: emoji-to-keywords mapping system
  - Extract emoji word map to separate file for better maintainability
  - Refactor from word->emoji to emoji->keywords[] for variety and semantic realism
  - Add 850+ lines of comprehensive emoji keyword mappings
  - Include 57+ jailbreak-related terms (unlock, bypass, override, escape, exploit, etc.)
  - Add special character mappings (math symbols, arrows, punctuation equivalents)
  - Exclude structural punctuation to maintain readability
2025-11-15 10:54:37 -08:00
EP 1599f6dad8 Advanced Settings: call correct engine method setStegOptions and unescape values; fixes 'engine missing' 2025-08-22 12:53:15 -07:00
EP 4aa0750d91 Advanced Settings: add visual feedback on Apply (temporary glow + 'Applied' label) and busy lock 2025-08-21 12:29:18 -07:00
EP 098e7e57d0 Advanced Settings: fix X to close via Vue binding; wire Apply button to engine setOptions with validation 2025-08-21 12:11:52 -07:00
EP f1f7d1aaf1 Tokenade: remove Randomize toggle from UI; keep randomization enabled internally 2025-08-20 21:37:15 -07:00
EP 233bf577f6 UI: move Tokenizer tab to far right; rename Fuzzer to Mutation Lab 2025-08-20 21:16:43 -07:00
EP 36ed8401e9 Fuzzer: show per-item copy button for every case; add structured download (header + tabbed lines) 2025-08-20 21:13:08 -07:00
EP 5230a340e7 Add Fuzzer tab: generate mutated payloads via Random Mix, ZW/invisible noise, Zalgo, whitespace/casing chaos, and encode shuffle; copy/download support 2025-08-20 21:02:35 -07:00
EP 78e22561e1 Danger modal: ensure not visible by default; show via class toggle; fix acknowledge button to close and restore focus 2025-08-20 20:06:11 -07:00
EP 96a289523f Danger modal: only shown when threshold exceeded; single acknowledge button; no auto-generate 2025-08-20 20:02:39 -07:00
EP 4b729715cf Tokenade Danger Zone: lower threshold to 25M estimated chars and strengthen crash warning copy 2025-08-20 19:55:19 -07:00
EP 41e9173c6d Tokenade: enable Auto-copy by default 2025-08-20 19:48:23 -07:00
EP e6e36209b7 Tokenade UI: enable Single emoji carrier mode by default; apply neon hacker switches for binary options 2025-08-20 19:44:00 -07:00
EP 32843fdd96 Resilience: guard against missing window.transforms to prevent Vue mount failure (tabs appearing all at once) 2025-08-20 19:36:50 -07:00
EP c64a35001c Transforms: add Ubbi Dubbi, Rövarspråket, Baconian, Tap Code, Base45; wire into categories 2025-08-20 19:30:00 -07:00
EP ad82dcbb0b Transforms: add QWERTY Left Shift, Base32 Crockford, Hex Compact Uppercase, Bitflip+Base64; register categories 2025-08-20 19:24:42 -07:00
EP aebe13b0b0 Fix tabs showing all content: remove global visibility forcing from emoji grid init; rely on v-if 2025-08-20 19:11:00 -07:00
EP 8357ec9f31 Tabs: add v-cloak safety to prevent all sections showing before Vue mounts; fix Unicode Escape label; defensive CSS 2025-08-20 19:01:19 -07:00
EP 577a9a93df Transforms: add Base85 (Z85), Base91, and Quoted-Printable; register in Encoding category 2025-08-20 18:51:06 -07:00
EP f8a2aa0e54 Transforms: add Ubbi Dubbi and Rövarspråket (reversible); register in Format category 2025-08-20 18:30:13 -07:00
EP fb3e48d3c5 Transforms: add Base45, Rail Fence (5 rails), XOR cipher, Swap Case, Unicode normalize/escape/strip-diacritics, Squash Whitespace; register in categories 2025-08-20 18:17:06 -07:00
EP 30c652d9a4 Tokenade controls: set max values to depth 8, breadth 10, repeats 50 (sliders + logic) 2025-08-20 18:03:01 -07:00
EP a3d4fc33df Tokenizer tab: add OpenAI encodings via browser-safe gpt-tokenizer dynamic import; UI: fit all five Tokenade preset buttons on one line (tighter buttons) 2025-08-20 18:00:29 -07:00
EP 030d90bcca Tokenade presets: default separator to ZWNJ for all presets; remove 'Presets' label; keep all five preset buttons on one line 2025-08-20 17:54:26 -07:00
EP 99e0ecbe26 Tokenade UI: fix overlapping by boxing controls, adding padding/margins, and enabling wrap; standardize spacing to match Transform page 2025-08-20 17:45:22 -07:00
EP c6fbd19d74 Tokenade: remove drop/paste UI; add advanced custom carrier text override; keep quick picks + dropdown 2025-08-20 17:28:48 -07:00
EP d1ce66373b Tokenade default: set separator to Zero-Width Non-Joiner (zwnj) 2025-08-20 17:20:50 -07:00
EP 756f332946 Tokenade: rename to 'Single emoji carrier mode' and add emoji search via datalist in carrier input 2025-08-20 17:06:45 -07:00
EP 2e37019467 Add dedicated Tokenade tab: move generator, add text payload generator, wire new state/methods 2025-08-20 17:01:27 -07:00
EP db45d2d88d Tokenade: add 5 fun weight-class presets (Featherweight, Lightweight, Middleweight, Heavyweight, Super Heavyweight) and wire logic 2025-08-20 16:55:03 -07:00
EP 8a32dd4f07 Tokenade presets: horizontal flex layout 2025-08-20 16:43:13 -07:00
EP 5233472c7f Tokenade UX: live length estimator, single-carrier mode with carrier input and drag/paste payload; safer ZW char handling; updated labels 2025-08-20 16:38:56 -07:00
EP c44803d9f6 Rename to Tokenade Generator: add presets, tooltips, auto-copy, and clear disclaimer; clarify labels and actions 2025-08-20 16:31:38 -07:00
EP 589ec3ea44 Emoji tab: add Token Bomb Generator (nested emoji builder with zero-width options, VS toggles, randomization) 2025-08-20 16:30:04 -07:00
EP c306e9d0fd UI: Add global Advanced Unicode panel + header toggle; remove duplicate from decoder; wire Apply to steganography options; minor UI polish 2025-08-20 16:26:34 -07:00
EP 61285bfef3 feat: add randomizer chaos animations; add many new transforms (Katakana, Hiragana, Cyrillic Stylized, Fraktur, cases, emoji speak); improve previews; mixed/token-wise universal decoding; UI categories + README contributor guide; fix Random Mix no-scroll 2025-08-20 14:57:17 -07:00
EP 2bdf4f202e Fixed emoji copying and category navigation, added Greek transform 2025-03-12 00:27:44 -04:00
EP e65a21f5fc Improved category jump scroll and simplified emoji decoder. Changes: 1) Added smooth category jump scroll with active state highlighting 2) Simplified emoji tab decoder to only attempt emoji decoding 2025-03-11 23:10:47 -04:00
EP 93e35af1d9 Fix input focus issues and improve clipboard handling
- Fixed input box focus after clicking transform buttons
- Improved clipboard handling to prevent unwanted notifications
- Removed aggressive focus management in transformInput watcher
- Added event object to transform button clicks
- Fixed syntax errors in fallback copy method
2025-03-11 19:20:08 -04:00
EP 632ef4c246 Final fixes: Update emoji grid styling and remove black bars 2025-03-11 17:09:03 -04:00
EP 7db95bbd84 Comprehensive fix for black bar in emoji grid with dedicated CSS file 2025-03-11 17:05:55 -04:00
EP 25785d9981 Fix emoji encoding and UI issues: 1) Fixed emoji encoding to properly handle all emoji types including flags 2) Improved decoding logic 3) Removed duplicate black bars from UI 4) Increased emoji size and visibility 2025-03-11 16:23:13 -04:00
EP 6fe724b312 Enhanced universal decoder to support braille, base64, and other encodings; Fixed emoji library to always show all emojis when typing 2025-03-10 13:58:25 -04:00
EP 633b93c092 Add full emoji library with improved display and prominent invisible text button 2025-03-09 19:38:18 -04:00