28 Commits

Author SHA1 Message Date
david_bai 7a1ab18657 refactor(i18n): stabilize schema and restore locale translations
Align the next-intl message schema across components, hooks, and locale files so the frontend uses one canonical structure instead of compile-first workarounds. Restore Spanish, French, German, Japanese, and Korean translations to the new schema while narrowing clipboard hook dependencies to translation contracts.
2026-03-27 17:13:31 +08:00
david_bai 6c93b1d995 build(i18n): add next-intl routing infrastructure
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-03-27 14:04:28 +08:00
david_bai 57004b3a1f refactor(i18n): normalize translation keys
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-03-27 14:04:28 +08:00
david_bai 761921684c feat(ui): add 8s P2P slow-connect hint + i18n; document full connection feedback flows
- Hook (useConnectionFeedback):
      - Add SLOW_RTC_MS=8000 timer when entering negotiating
      - Foreground-only; pending while hidden; show once per negotiation attempt
      - Clear timers on connect/disconnect; reset attempt flags when leaving negotiating
      - Cleanup timers on unmount
  - i18n:
      - Add required key ClipboardApp.rtc_slow to types
      - Provide translations for zh, en, ja, es, de, fr, ko
  - Docs:
      - flows.zh-CN: add UI connection feedback state machine covering
        join_inProgress (immediate), join_slow (3s), join_timeout (15s),
        rtc_negotiating, rtc_slow (8s), rtc_connected, rtc_reconnecting, rtc_restored;
        document equivalent success signals and visibility gating
      - code-map.zh-CN: outline responsibilities/locations for useRoomManager (join slow/timeout)
        and useConnectionFeedback (negotiation slow, reconnect/restored)
2025-12-05 19:10:00 +08:00
david_bai 89a38936b6 feat(blog-i18n): localize blog UI & SEO; add tag pages to sitemap
- Add Messages.meta.blog and text.blog (BlogTexts) to types/messages
  - Update all locales with blog UI strings and meta.blog
  - Localize blog list, tag pages, and article detail (titles, labels, dates)
  - Pass messages to ArticleListItem; TableOfContents supports localized title
  - Use dictionary-based metadata; alternates cover all supported locales
  - Sitemap: include /[lang]/blog/tag/{tag} and set blog list lastModified to newest post
  - JSON-LD: hardcode site URL in getSiteUrl() for consistency
2025-11-22 10:37:29 +08:00
david_bai 5ca89d71ad chore(code):Add cache room ID feature, no need to manually input room ID 2025-10-23 20:47:49 +08:00
david_bai 95331cb8e6 chore:Remove the redundant safety save button; Use English comments 2025-09-14 23:25:16 +08:00
david_bai 8627544946 chore:Exit the room even if it is in transit 2025-09-13 20:01:02 +08:00
david_bai 6f8f4f65bb chore:Save directory settings UI tip uses internationalization translation 2025-09-10 23:54:35 +08:00
david_bai 8ff2302c14 code clear up 2025-09-08 00:12:02 +08:00
david_bai e385389e1d Fix the out-of-order file transfer issue for files saved in memory 2025-09-06 22:53:54 +08:00
david_bai ec6a18dfc0 fix:Adapting to Firefox browser, not yet completed 2025-09-05 00:19:33 +08:00
david_bai 0bcd2c0f97 chore:Random ID button added with simple ID switching function 2025-08-31 23:36:12 +08:00
david_bai d9894a3477 feat:Add a function to generate random-length IDs, enhancing room security 2025-08-25 00:22:00 +08:00
david_bai e15783aeff refactor:Refactored the useFileTransferHandler hook
Using zustand for state management, created frontend/stores/fileTransferStore.ts
2025-08-16 23:47:48 +08:00
david_bai 8f79a1ad16 fix:leave room button added to multiple languages. 2025-08-15 23:57:48 +08:00
david_bai 7ee9360b17 feat:Receiver adds a secure save button
Receiver adds a secure save button, used to save cache files during connection interruptions, making it convenient to resume transfers next time.
Button tooltip information added in multiple languages.
2025-08-15 23:49:24 +08:00
david_bai e83a95b354 chore(lang):Change 'Start Sending' displayed on the send button to 'Sync'
Meanwhile, the previous click status Sended is changed to Synced, making it easier for people to understand the characteristic that a connection can sustain transmission
2025-08-03 16:03:52 +08:00
david_bai 60c20fcfa6 feat(add features page):Added features page
Added features page.
Synchronously update SEO meta and corresponding international translations.
2025-07-24 23:32:16 +08:00
david_bai 7e055643c5 Added description of breakpoint resume feature 2025-07-22 00:59:28 +08:00
david_bai 34d1897093 Fix the issue where the sender and receiver (without requesting existing files) have inconsistent states in resumeable file transfer with broken connections 2025-07-21 23:06:32 +08:00
david_bai 522f567fb4 feat(transfer): implement resumable file uploads
This commit introduces support for resumable file transfers when using the 'Save to Directory' feature.

Key changes:
- The WebRTC protocol is updated to include an 'offset' in the 'fileRequest' message.
- 'FileReceiver' now checks for partially downloaded files in the selected directory. If a partial file is found, it requests to resume the transfer from the offset of the existing file size. It uses '{ keepExistingData: true }' to append to the file.
- 'FileSender' now handles requests with an 'offset' and uses 'file.slice(offset)' to send only the remaining data.
- Progress calculation is adjusted to reflect the resumed download state.

This provides a more robust user experience for large file transfers, allowing recovery from interruptions like network loss or accidental tab closure.
2025-07-16 22:50:55 +08:00
david_bai 26cb20f8f1 distinguish file choose tips and drag tips 2025-07-03 20:27:33 +08:00
david_bai f09452ac2a reformat all ts code via prettier 2025-06-22 21:34:54 +08:00
david_bai 8baf16ee8c translate finished 2025-06-22 10:13:47 +08:00
david_bai 3c4e15df93 格式化 2025-06-10 23:25:38 +08:00
david_bai 27ed495571 移动文件 2025-06-07 16:10:45 +08:00
david_bai 4d3eb551c7 前端备份 2025-05-23 22:41:56 +08:00