287 Commits

Author SHA1 Message Date
theluckystrike f5c9871d03 fix(i18n): add 10 English keys that render as raw keys
These keys are called with t() but are missing from public/locales/en.json, which is the fallback language, so the UI shows the key path instead of text.
2026-10-05 11:27:16 +07:00
amhsirak b9a08cac5b chore: cleaner proxy toasts 2026-09-30 13:44:11 +05:30
Karishma Shukla 80cd1e3f7a Merge pull request #1208 from jamalkamaladdin/feat/az-locale
feat(i18n): add Azerbaijani (az) translation
2026-09-16 20:03:02 +05:30
Karishma Shukla 5b4c899d34 Merge pull request #1210 from getmaxun/scrape-monitoring
feat: monitoring
2026-09-16 16:17:39 +05:30
amhsirak 0dfce13e49 chore: replace with email 2026-09-14 02:05:01 +05:30
amhsirak b4102253a4 chore: enable monitoring 2026-09-14 00:39:29 +05:30
amhsirak 5c95789b46 chore: rename robot settings to settings 2026-09-10 23:45:18 +05:30
Jamal 4d5ae89ef5 feat(i18n): add Azerbaijani (az) translation 2026-09-09 05:50:01 +04:00
Rohit Rajan 5fe3340ae3 fix: address run comparison review comments 2026-09-05 00:17:12 +05:30
Vinaywho 92aa2b49ce feat: add Hebrew language support
- New public/locales/he.json, full key parity with en.json
- 'he' added to supportedLngs and the NavBar language menu
- Document dir/lang follow the active language, so Hebrew renders RTL
- MUI theme direction follows suit, so components anchor correctly

Closes #1136
2026-08-13 23:10:37 +05:30
moduvoice 2ceeb4a0e9 feat(i18n): add Korean (ko) translation
Add full Korean translation for the UI (public/locales/ko.json, 405
keys, full parity with en.json) and register it:
- src/i18n.ts supportedLngs
- NavBar.tsx language menu (desktop + mobile)
- language_menu entries added to the other 6 locale files (en, es,
  ja, zh, de, tr) so each language's switcher can display 'Korean' in
  its own language, matching the existing convention.
2026-07-10 10:25:15 +07:00
amhsirak 9346198823 fix: welcome text 2026-06-10 22:53:21 +05:30
Rohit Rajan 926cdc1e19 feat: add openclaw integration 2026-04-10 22:35:11 +05:30
Karishma Shukla 74d55d4d4d Merge pull request #1028 from getmaxun/claude-skill
feat: add claude code integration
2026-04-10 22:12:47 +05:30
amhsirak e5c4668752 chore: claude svg 2026-04-10 22:11:53 +05:30
Rohit 46554d251b Merge branch 'develop' into fix/missing-i18n-translations 2026-04-10 22:08:13 +05:30
Smeet Agrawal 38bf3a861b fix: add missing i18n translation keys across all locales
- Add `runs_table.run_type_chips.sdk` to de, es, ja, tr, zh
- Add `right_panel.tooltips.capture_list_first` to tr

Fixes #651
2026-04-09 13:19:27 +05:30
Rohit Rajan d933533137 feat: add translation run status 2026-04-03 14:38:38 +05:30
Karishma Shukla 4d6e934149 Merge pull request #998 from ritam1303/master
fix: enforce unique robot names across all creation flows and edit
2026-03-24 20:23:06 +05:30
Karishma Shukla d0e3048c05 Merge pull request #999 from ritam1303/fix/recording-session-timeout
fix(recorder): auto-discard recording session after 10-minute timeout
2026-03-24 17:28:40 +05:30
ritamganguliac 95f40ffec7 fix(recorder): auto-discard recording session after 10-minute timeout
- Added RECORDING_TIMEOUT_MS and recordingTimeouts Map to track sessions
- Timer starts after browser is added to pool; emits recording-timeout
  socket event then destroys the remote browser after 1s delay (gives
  frontend time to handle the event before socket teardown)
- clearRecordingTimeout() exported and called in destroyRemoteBrowser
  and the /stop/:browserId route to cancel timer on normal save/discard
- RecordingPage listens for recording-timeout: broadcasts via
  BroadcastChannel then calls window.close(); falls back to
  navigate('/robots') if close is blocked by the browser
- PageWrapper (always mounted in original tab) listens on
  BroadcastChannel, navigates back to the page the recording was
  started from (stored in sessionStorage), and shows warning notification
- RobotCreate stores current pathname in sessionStorage before opening
  the recording tab so PageWrapper can navigate back on timeout
- Added timeout_discarded translation key to all 6 locale files

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-22 20:35:54 +05:30
ritamganguliac de05e41bf2 fix: enforce unique robot names across all creation flows and edit
- Add isRobotNameTaken() helper with case-insensitive, trimmed comparison
  using lower(trim(recording_meta->>'name')) in Sequelize queries
- Add 409 uniqueness checks in POST /recordings/scrape, /llm, /crawl,
  /search, PUT /recordings/:id (edit), and POST /recordings/:id/duplicate
- Trim all robot names before uniqueness check and before saving
- Add DB migration: unique index robot_user_name_unique on
  ("userId", lower(trim(recording_meta->>'name')))
- Generator.ts: trim fileName, case-insensitive conflict check before
  creating new robot, emit fileSaved { actionType: 'nameExists' } on conflict
- Frontend API: re-throw server error messages for all create/update/
  duplicate functions so callers surface the conflict message
- RobotCreate: check for duplicate name before optimistic update + navigation
  for LLM robot flow; try-catch for scrape/crawl/search flows
- RobotEditPage: use error.message in catch to surface conflict
- RobotDuplicatePage: add Robot Name field (pre-filled, auto-updates with URL)
- SaveRecording: replace confirm-to-overwrite with hard block using
  case-insensitive trimmed check; handle nameExists socket action
- Add name_exists and robot_duplication name translations for all 6 locales

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-21 13:20:43 +05:30
Rohit Rajan 47fc6ddedc fix: add langgraph svg 2026-03-21 12:49:14 +05:30
Rohit Rajan 5c39fdec99 chore: modify en translation 2026-02-27 13:51:20 +05:30
amhsirak 657a65c7e4 chore: add svgs 2026-01-23 16:54:12 +05:30
amhsirak 18aa2bb6db chore: rename to target url 2026-01-19 13:12:19 +05:30
amhsirak c3a7c112c0 chore: rename to name 2026-01-19 13:07:43 +05:30
amhsirak 98aed6320e chore: rename to name 2026-01-19 13:07:29 +05:30
Rohit Rajan aa3b7672b7 fix: add run by sdk UI chip 2026-01-04 18:51:15 +05:30
amhsirak 5a18f61115 fix: rename to extracting data 2025-11-05 22:33:41 +05:30
Rohit b4ca34e857 Merge branch 'develop' into accord-fix 2025-09-10 12:44:40 +05:30
Karishma Shukla bba58e8cb3 Merge pull request #772 from getmaxun/record-fix
feat: prevent robot saving without capture actions
2025-09-10 12:31:17 +05:30
Rohit Rajan 61775c81e8 chore: add translations 2025-09-09 20:15:27 +05:30
Rohit Rajan 766ff4dab0 feat: add translations 2025-09-09 15:51:45 +05:30
Rohit Rajan 561c3e8570 feat: add translations for placeholders 2025-08-29 19:37:54 +05:30
Karishma Shukla 6bbb9ee634 Merge pull request #719 from getmaxun/config-pages
feat: modal to UI pages
2025-08-25 19:34:14 +05:30
Rohit 8287a81e02 feat: sync translations for all langs 2025-08-06 22:46:27 +05:30
Rohit 080c0790b3 feat: add translations for close button 2025-08-04 23:39:20 +05:30
Ömer AYDINOĞLU 714911687a fix: replaced ${error} with {{error}} in all locale files for i18next compatibility 2025-07-20 14:44:42 +03:00
Ömer AYDINOĞLU e97eff1f31 Added Turkish Language 2025-07-20 14:27:56 +03:00
amhsirak 5918837ac3 feat: remove navigating {{url}} 2025-07-09 20:25:59 +05:30
amhsirak 889fd938d0 feat: remove navigating {{url}} 2025-07-09 20:25:38 +05:30
amhsirak b58c3b459b feat: remove navigating {{url}} 2025-07-09 20:25:14 +05:30
amhsirak 5778beb14e feat: remove navigating {{url}} 2025-07-09 20:24:46 +05:30
amhsirak cce0cc40b5 feat: remove navigating {{url}} 2025-07-09 20:24:01 +05:30
Rohit ad687e525a feat: add mcp logo 2025-06-30 22:08:11 +05:30
Karishma Shukla a28b756635 fix(i18n): remove de 2025-06-22 19:14:02 +05:30
Karishma Shukla e2993d5938 feat(i18n): remove wait duration 2025-06-22 18:18:19 +05:30
Karishma Shukla 7456bedb95 feat(i18n): remove wait duration 2025-06-22 18:17:50 +05:30
Karishma Shukla b9a973f709 feat(i18n): remove wait duration 2025-06-22 18:16:55 +05:30